გამოიწერე YouTube-ის არხიyoutube white icon svg გამოწერა

Val Do-ს ბლოგი

მოცემულ გვერდზე შეგიძლიათ გაეცნოთ ჩემს მიერ დაწერილ ბლოგებს, რომელიც ძირითად შემთხვევაში შეეხება ვებ-პროგრამირებას ან ინფორმაციულ ტექნოლოგიებს

პროექტის მენეჯმენტი, როგორ დავგეგმოთ პროექტი?
პროექტის მენეჯმენტი, როგორ დავგეგმოთ პროექტი?

სანამ თქვენს პირველ სამსახურს იპოვით, დეველოპმენტის სფეროში, აუცილებელია გამოიმუშავოთ რეალურ პროექტებთან მუშაობის უნარი, რაც გულისხმობს ჩვენი დროის და დავალებების მენეჯმენტს.

პირველი რაც ყველაზე მნიშვნელოვანია, აუცილებელია გავიაზროთ, რომ კომპლექსური პროექტები 1 დღეში არ კეთდება და მისი დეველოპმენტი ხანდახან ათწელეულებიც გრძელდება.

როდესაც წარმატებით დაასრულებთ პროგრამირების კურსებს ნებისმიერი პლატფორმის/ვიდეო გაკვეთილის დახმარებით დროა ნელ-ნელა მიეჩვიოთ პროექტის დაგეგმვას.

დღევანდელ ბლოგში შევეცდები აგიხსნათ თუ როგორ უნდა მოვახდინოთ პროექტის დაშლა მიკრო დავალებებად და მისი შესრულების თანმიმდევრობები.

შევარჩიოთ დავალებების მენეჯმენტის აპლიკაცია

სანამ ჩვენი პროექტის მიკრო დავალებებად დაშლას შევუდგებით აუცილებელია ავარჩიოთ აპლიკაცია, რომელიც დაგვეხმარება მის შემდგომ მართვაში.

ასეთი ე.წ. "task managment"-ის აპლიკაციები საკმაოდ ბევრია, მაგალითისთვის შემიძლია მოვიყვანო რამდენიმე მათგანი :

ზემოთ მოცემული სიის გარდა კიდევ უმრავი მსგავსი აპლიკაცია არსებობს, მაგრამ მე შევეცდები დღეს trello-ს მაგალითზე აგიხსნათ.

დაფების (board) ების შექმნა

ტრელოზე რეგისტრაციის გავლის შემდგომ აუცილებელია შევქმნათ ჩვენი პირველი ე.წ. "board" რომელიც იქნება პროექტის სპეციფიკაზე მორგებული, მაგალითად შეგვიძლია დავარქვათ "დეველოპმენტი".

დავალებების სიები

დავალებების სიების შექმნა

მას შემდეგვ რაც დავასრულებთ "board"-ის შექმნას, აუცილებელია შევქმნათ დავალების სიები, რომლებიც დაგვეხმარებიან მათ მენეჯმენტში.

თანამედროვე კომპანიების უმეტესობა, რომლებიც ბაზარზე პოზიციონირებენ, ძირითადად იყენებენ ე.წ. Agile მიდგომას კომპანიაში დეველოპმენტისთვის და არა მარტო...

პირადად მე ვიყენებ შემდეგი დავალებების სიებს:

  • backlog
  • to do
  • in progress
  • QA
  • QA failed
  • done

ქვემოთ ვეცდები აღვწერო თუ რომელი რაში გამოიყენება და როგორ მიმდინარეობს დეველოპმენტის პროცესი.

backlog დავალებების სია

მოცემულ სიაში აუცილებელია მაქსიმალურად ვეცადოთ ჩვენი პროექტი დავშალოთ პატარა ნაწილებად, მაგალითად წარმოვიდგინოთ, რომ გვაქვს ვებ-გვერდი, რომელიც შედგება 4 გვერდისგან:

  1. მთავარი გვერდი
  2. დეტალური გვერდი
  3. ძიების გვერდი
  4. კონტაქტის გვერდი

დასაწყისისთვის შეგვიძლია ბექლოგის სიაში დავამატოთ დავალებები ამ გვერდების შექმნის შესახებ იგივე თანმიმდევრობით.

მოცემულ სიაში ასევე ვამატებთ იმ ყველა იდეას ან სურვილს, რომელიც გვინდა პროექტში განვახორციელოთ, ასევე აუცილებელია ყველა დავალებას მივანიჭოთ შესაბამისი გონივრული ვადა და პრიორიტეტი.

to do დავალებების სია

კომპანიები თავისი მოთხოვნიდან გამომდინარე აწესებენ კონკრეტული დაველებებისთვის შესასრულებელ გონივრულ ვადებს, მაგალითისთვის წარმოვიდგინოთ, რომ 1 კვირის შუალედში დასასრულებელი გვაქვს მთავარი და დეტალური გვერდები.

სწორედ ამისთვის გამოიყენება to do სია. დაველებები რომლებზეც 1 კვირის განმავლობაში ვიმუშავებთ აუცილებელია გადავიდეს backlog-იდან to do სიაში.

in progress დავალებების სია

ბუნებრივია ერთდროულად არ შეგვიძლია 2 დავალებაზე მუშაობა, შესაბამისად, დავალება რომელზეც ამჟამად ვმუშაობთ, აუცილებელია გადავიტანოთ in progress სიაში.

მოცემული სია ასევე ეხმარება მენეჯმენტის გუნდს იმის გაგებაში, თუ რაზე მუშაობს დეველოპერი.

QA დავალებების სია

მას შემდეგ რაც დავალებას წარმატებით დავასრულებთ, აუცილებელია მისი ტესტირება, რომელსაც ტესტერი შეასრულებს.

დასრულებული დავალება გადადის QA სიაში და იწყება მისი ტესტირება.

QA failed დავალებების სია

იმ შემთხვევაში თუ  დავალებამ ვერ გაიარა ტესტირება, ტესტერი QA სიიდან დავალებას QA failed-ში გადმოიტანს და ჩვენ ვიწყებთ დავალების პრობლემის გამოსწორებას და ვიმეორებთ იგივეს, ანუ დავალება ისევ გადაგვაქვს QA სიაში.

done დავალებების სია

მოცემულ სიაში დავალებები გადადის იმ შემთხვევაში, თუ მან ტესტირება წარმატებით გაიარა და მზადაა რეალურ გარემოზე ასატვირთად.

როგორ წესი, done-ში დავალებები გადააქვს ტესტერს, რაც გულისხმობს იმას, რომ ჩვენი დავალება წარმატებით შევასრულეთ.

რა განსხვავებაა პარამეტრსა და არგუმენტს შორის ჯავასკრიპტში?
რა განსხვავებაა პარამეტრსა და არგუმენტს შორის ჯავასკრიპტში?

როდესაც ჯავასკრიპტს ან ნებისმიერი პროგრამირების ენას ვსწავლობთ, აუცილებელია კარგად ვერკვეოდეთ ტერმინოლოგიაში.

ამ ბლოგის დახმარებით გავარკვევთ თუ რა განსხვავებაა პარამეტრსა და არგუმენტს შორის ჯავასკრიპტში.

მაგალითისთვის ავღწეროთ ფუნქცია.

function myFunc(a, b) {
    return a + b;
}

როგორც ზემოთ მოცემულ მაგალითში გვაქვს ნაჩვენები აღწერილი გვაქვს ფუნქცია სახელად myFunc() მოცემული ფუნქცია ეთანხმება 2 პარამეტრს ესენია a და b სწორედ ამ სიმბოლოებს ეწოდება პარამეტრები.

ახლა კი განვიხილოთ არგუმენტის მაგალითი. იმისთვის რომ ჩვენი ფუნქცია შესრულდეს აუცილებელია მისი გამოძახება და შესაბამისი მნიშვნელობების გადაცემა, რათა შესრულდეს ფუნქცია და დაგვიბრუნოს 2 ციფრის ჯამი.

მაგალითი:

myFunc(5, 10);

მოცემულ მაგალითში ჩანს, რომ გამოვიძახეთ ფუნქცია და გადავეცით 5-ის და 10-ის მნიშვნელობები, სწორედ ამ მნიშვნელობებს ეწოდებათ არგუმენტები.

შეჯამება:

პარამეტრი(ები) ეწოდება ცვლადებს, რომლებიც გამოიყენება ფუნქციის აღწერისას, რომლებიც აღიწერება () სიმბოლოებს შორის.

არგუმენტი(ები) ეწოდება მნიშნველობებს, რომლებიც გადაეცემა ფუნქციას გამოძახებისას.

სანამ პროგრამირების კურსს შეიძენთ
სანამ პროგრამირების კურსს შეიძენთ

დღევანდელ ბლოგში მინდა განვიხილო ერთ-ერთი ყველაზე დიდი იმედგაცრუების მიზეზები პროგრამირების კურსების შეძენის შემდგომ რეალობაზე.

საკმაოდ ხშირია შემდეგი ფრაზა “პროგრამირების კურსზე ჩავეწერე, მაგრამ მეც ერთ-ერთი მოტყუებული ვარ”.

სანამ პროგრამირების კურსს გავაკრიტიკებთ, ვფიქრობ, ჯერ ისევ ჩვენს თავში უნდა ვეძებოთ პრობლემა და დავსვათ კითხვები, ვიყავით თუ არა მზად კურსის შესაძენად და შემდეგ გასავლელად.

უმრავლეს შემთხვევაში პროგრამირების კურსის შეძენა და ჩაწერა ხდება კომპანიების მარკეტინგული აქტივობებიდან, საიდანაც ხშირად მოდის შემდეგი შეტყობინება “შეიძინე პროგრამირების კურსი ჩვენთან და გარანტირებულად დასაქმდი”

გავიაზროთ რისი გავლა მოგვიწევს პროგრამირების კურსის შეძენის შემდგომ

სანამ მსგავსს ტექსტებს წამოვეგებით აუცილებელია გავიაზროთ ის პასუხისმგებლობა, რომელიც კურსზე სწავლის დაწყებიდან დასაქმებამდე გვექნება.

კურსზე ჩაწერა არ ნიშნავს იმას რომ თუ თქვენ მხოლოდ კურსის მასალას გაივლით და იმაზე მეტს არაფერს არ მოიმოქმედებთ, რაც რომელიმე სილაბუსშია წინასწარ გაწერილი ეს არ გაქცევთ წარმატებულ დეველოპერად.

ასევე მინდა პირადი გამოცდილება გაგიზიაროთ.
პირადად მე ვასწავლიდი რამდენიმე აკადემიაში, მაგრამ სამწუხაროდ სტუდენტები, რომლებიც საკმაოდ დიდ თანხას იხდიდნენ კურსში, არ აკეთებდნენ სათანადოდ დავალებებს და რაც მე მათი დამოკიდებულებიდან დავინახე იყო ის, რომ პროგრამირების შესწავლა სულ რაღაც დღეში 1 საათის დათმობით უნდოდათ, ასევე სამწუხაროდ ზოგიერთი ამ 1 საათსაც კი არ უთმობდა…

კუსზე სწავლის დაწყებისას აუცილებელია სრული კოცენტრაცია, დავალებების მაქსიმალურად შესრულება და დამოუკიდებლად მუშაობის უნარის განვითარება, ასევე კარგად უნდა გვქონდეს გააზრებული, რომ მსოფლიოში ერთ-ერთ ყველაზე მოთხოვნად პროფესიას დღეში 1 საათის დათმობით ვერანაირად ვერ შეისწავლით და თქვენი დრო და ფინანსები უბრალოდ წყალში გადაყრილი გამოვა.

რატომ გვპირდებიან კომპანიები გარანტირებულ დასაქმებას?

პირველ რიგში ეს ყველაზე კარგი “სატყუარაა” კურსის გასაყიდად, მაგრამ იდეაში არც ტყუილი გამოდის ასე, რომ ვთქვათ უფრო კარგად შელამაზებული რეალობაა…

მოდი დავსვათ შემდეგი კითხვები თუ რა შემთხვევაში დასაქმდები თუ შენ რომელიმე კონკრეტულ კურსს გაივლი?

  • უნდა იშრომოთ მაქსიმალურად.
  • დაესწროთ და მოუსმინოთ ლექტორს/ჩანაწერს.
  • დასვათ შეკითხვები თემების გარშემო, რომელიც ბუნდოვანია.
  • გააკეთოთ სახლში ყველა დავალება, რომელსაც კურსი მოიცავს.
  • მაქსიმალურად ეცადოთ თქვენი თავისუფალი დრო მოახმაროთ განვლილი მასალის პრაქტიკული სავარჯიშოებით გამყარებას.
  • კურსის დასრულების შემდგომ აკეთოთ რეალური პროექტები.

მიუხედავად ზემოთ ჩამოთვლილი პუნქტებისა მაინც არ ნიშნავს, რომ შენ სამსახურს აუცილებლად კურსის დასრულების შემდგომ დაიწყებ, კურისის დასრულება მხოლოდ დიდი გასავლელი გზის პირველი ნაბიჯია.

რა უნდა გავაკეთო კურსის გავლის შემდგომ?

ალბათ ხშირად გსმენიათ ფრაზა “თუ მუშაობა ვერ დავიწყე გამოცდილებას როგორ დავაგროვებ ?” გახსოვდეს პროგრამირებაში გამოცდილების დაგროვება არ მოითხოვს აუცილებლად რომელიმე კომპანიაში თანამშრომლად გაფორმებას.

პროგრამისტის გამოცდილება განისაზღვრება ასევე მისი დასრულებული პროექტებით, ასე რომ, სანამ პირველი სამსახური გექნება, შეგიძლია გამოცდილება სახლიდან გაუსვლელად პროექტების კეთებით დააგროვოთ.

რა შემთხვევაში არ უნდა შეიძინო პროგრამირების კურსი?

თუ არ გაქვთ საკმარისი დრო პროგრამირების შესასწავლად ჯობს კურსი საერთოდ არ შეიძინოთ, პროგრამირებას დღეში 1-2 საათი მეცადინეობით ვერანაირად ვერ შეისწავლით ისეთ დონეზე, რომ პირველი სამსახური დაიწყოთ.

ამისთვის საჭიროა ხანდახან 6-დან 12 საათამდე მუშაობა და აქტიური მეცადინეობა, ასევე ძალიან რთულია სხვა სამსახურის შემდგომ პროგრამირების გაკვეთილების მოსმენა და დავალებების კეთება, მაგრამ არა შეუძლებელი.

აუცილებელია გახსოვდეთ, რომ პროგრამირებას 2-3 თვეში ვერ შეისწავლით, იმისთვის, რომ თქვენი პირველი სამსახური დაწიყოთ, ხანდახან რამდენიმე წელია საჭირო.

საბოლოო დასკვნა

ვერანაირი პროგრამირების კურსი ვერ იქნება იმის გარანტი, რომ თქვენ მისი გავლის შემდგომ სამსახურს გარანტირებულად დაიწყებთ, ამის ერთადერთი გარანტია არის მხოლოდ თქვენი თავი და მეტი არაფერი.

თუ თქვენ არ იშრომებთ და მაქსიმალურად არ მოინდომებთ ვერცერთი აკადემია/ლექტორი/კურსი ვერ ჩაგიდებთ იმ გამოცდილებას გონებაში, რომელიც მხოლოდ თქვენი შრომით გროვდება.

ყოველთვის ეცადეთ მაქსიმალურად სიღრმისეულად ჩაეძიოთ კურსზე ახსნილ თემებს დასვით შესაბამისი კითხვები, არ დატოვოთ რაიმე ბუნდოვნად.

აკეთეთ რეალურლი პროექტები მანამ სანამ თქვენ პირველ სამსახურს არ ნახავთ.


პ.ს. ასევე გააგზავნეთ თქვენი რეზიუმეები კომპანიების ვაკანსიებზე

როგორ დავაგროვოთ სამუშაო გამოცდილება?
როგორ დავაგროვოთ სამუშაო გამოცდილება?

დამწყებ პროგრამისტებში / დეველოპერებში ერთ-ერთი დიდი პრობლემა პირველ გასაუბრებაზე სამუშაო გამოცდილების არქონაა. დღევანდელ ბლოგში შევეცდები მოგცეთ რჩევები, რომელიც დაგეხმარებათ სამუშაო გამოცდილების დაგროვებაში სრულიად უფასოდ.

რატომ იკავებენ თავს გამოცდილების გარეშე სამსახურში აგიყვანონ?

სანამ უშუალოდ გამოცდილების დაგროვებაზე გადავალთ, აუცილებელია ვისაუბროთ იმ რეალობაზეც, რომელიც ნათელს მოფენს უშუალოდ პრობლემას და კომპანიების თვალით დაგანახებთ თქვენს კანდიდატურას.

კომპანია, როგორც მოგეხსენებათ, ყოველთვის დაინტერესებულია ბიზნესით და თქვენ გიყურებთ როგორც ბიზნესის კეთების ერთ-ერთ საშუალებას, კომპანიას აინტერესებს რაც შეიძლება დაბალ ფასად ნახოს თანამშრომელი, რომლის დაქირავების შემთხვევაშიც რაც შეიძლება მალე მიიღებს ფინანსურ სარგებელს.

როდესაც თქვენ ახალი დამთავრებული გაქვთ რაიმე კურსი ან თუნდაც უნივერსიტეტი ეს ძირითად შემთხვევებში ნიშნავს, რომ თქვენ გაქვთ უბრალოდ თეორიული ცოდნა და მაქსიმუმ 2 პროექტი, რომელზეც გიმუშავიათ სწავლის განავლობაში. ზუსტად აქ იწყება პირველი პრობლემა.

გამოცდილების არ ქონა

რეალურ ბიზნეს კომპანიაში სადაც თქვენ მოგიწევთ სამსახურის დაწყება, იქნება ე.წ. ველური გარემო თქვენთვის, ყველა ელოდება, რომ დავალება დათქმულ დროში ჩააბაროთ და მაქსიმალურად ნაკლები გადაცდენის ვადები გქონდეთ.

როდესაც თქვენი ცოდნა მხოლოდ რამდენიმე განვლილი კურსით შემოიფარგლება, ეს არ არის საკმარისი რეალური პროექტის საკეთებლად. სწორედ აქ არის საჭირო გამოცდილება და თქვენ თავადაც აღმოაჩენთ თურმე რამდენი რამე არ გცოდნიათ.

როგორ დავაგროვო სამსახურის გამოცდილება (სტაჟირება) უფასოდ ?

დეველოპმენტში და პროგრამირებაში, საბედნიეროდ, საქმე ბევრად მარტივად გვაქვს, განსხვავებით სხვა სამსახურებისგან, მაგალითად მოვიყვანოთ კბილის ექიმი.

კბილის ექიმს იმისთვის, რომ გამოცდილება დააგროვოს, სჭირდება რაიმე ფიზიკურ კლინიკაში სამსახურის დაწყება ან უფასო სტაჟირება. ყოველდღე დილით ადგომა, გარკვეული მანძილის დაფარვა, უფასოდ მუშაობა უშუალოდ პაციენტებთან და შემდეგ ისევ დამღლელი გზა სახლამდე...

დამწყები პროგრამისტების/დეველოპერების შემთხვევაში ეს ბევრად მარტივია.

გამოცდილების დაგროვება

დამწყებ პროგრამისტებს/დეველოპერებს ხშირად აქვთ პროტესტის გრძნობა, რომ ყველა კომპანია ითხოვს გამოცდილ კადრს, მაგრამ ამ გამოცდილებას ვერ დააგროვებ თუ სამსახური არ დაიწყე...

ზემოთ ხსნებული კბილის ექიმისგან განსხვავებით, ჩვენ სახლიდან შეგვიძლია დავიწყოთ გამოცდილების დაგროვება...

სტაჟირების სიმულაცია

პირველ რიგში, თქვენ უნდა მოახერხოთ კონცენტრაცია და თქვენს თავს აფიქრებინოთ, რომ ვითომ რომელიმე კომპანიაში ხართ უკვე ჯუნიორ პროგრამისტად/დეველოპერად და გიწევთ რეალურ პროექტზე მუშაობა.

აუცილებელია გამოყოთ დღის განმავლობაში სამუშაო საათები, კარგ ვარიანტში მინიმუმ 8 საათი, 1 საათიანი შესვენების შუალედით.

პროექტის განსაზღვრა

მას შემდეგ რაც წარმოიდგენ, რომ შენ უკვე ხარ სტაჟირებაზე, აუცილებელია საქმეს შეუდგე. ამისთვის სასურველია მოიფიქრო რაიმე რეალური პროექტი, ან თუნდაც რაიმე უკვე არსებული პროექტის ზუსტი ასლი.

პროექტის დაგემვა

პროექტის მოფიქრების შემდეგ აუცილებელია ამ პროექტის კარგად გააზრება და დაგეგმვა, იმისთვის, რომ ჩვენი სტაჟირება მაქსიმალურად გავდეს რეალურს.

პროექტის დაგეგმვის ეტაპზე აუცილებელია გამოვიყენოთ ე.წ. "თასქ მენეჯმენტ" საიტები ისეთები როგორებიცაა მაგალთად:

მოცემული საიტები საშუალებას მოგცემს მიკრო დავალებებად დაყო შენი პროექტი და ნაწილ-ნაწილ შეასრულო.

პროექტის ჩაბარების ვადები (დედლაინები)

ნებისმიერ პროექტს, რომელზეც მოგიწევს სამსახურში მუშაობა, აქვს ჩაბარების გონივრული ვადები, რასაც როგორც წესი (დედლაინს) უწოდებენ. სწორედ ამიტომ, მოგიწევს პროექტის დაწყებამდე ეცადო და დასვა მიახლოვებითი დრო, თუ როდის დაასრულებ მას.

დედლაინის განსაზღვირს შემდგომ აუცილებელია მაქსიმალუროად ეცადო ჩაეტიო პრეოქტის შესრულების ვადებში.

პროექტის დასრულება

მას შემდეგ რაც პროექტის საბოლოო ეტაპზე გვიწევს გადასვლა, როდესაც უკვე გამოკვეთილია ჩვენი პროექტის ძირითადი ხაზები აქ, როგორც წესი, იწყება პრობლემები და გვგონია, რომ პატარა ხარვეზების გამოსწორების გარეშეც პროექტი დასრულებულად შეგვიძლია ჩავთვალოთ, მაგრამ ძალიან ვცდებით...

პროექტი მხოლოდ მაშინ ითვლება დასრულებულად, როდესაც მას არ აქვს პატარა ხარვეზიც კი.

საბოლოო ხარვეზების გამოსწორება

როდესაც პროექტზე გვიწევს მუშაობა და რამდენიმე კვირის ან თვის განმავლობაში ერთსა და იმავეს ვუყურებთ, შესაძლებელია რაიმე ხარვეზი წინ გვქონდეს, მაგრამ ვერ ვხედავდეთ, ამის დანახვაში კი უცხო თვალი დაგვეხმარება.

სთხოვე მეგობარს ან ოჯახის წევრს აპლიკაციის გატესტვა მომხმარებლის თვალით, დამიჯერე, ის ძალიან ბევრ ხარვეზსს აღმოაჩენს. საბოლოო ხარვეზების შესწორების შემდგეგ პროექტი უკვე დასრულებულად შეგიძლია ჩათვალო.

საბოლოო ეტაპი

საბოლოო ეტაპზე აუცილებელია შენი კოდი მოახვედრო Github-ზე და გაუკეთო კარგი აღწერა ე.წ. Readme ფაილი. იმ შემთხვევაში თუ გასაუბრებაზე მოხვდები და გამოცდილებას შეგეკითხებიან,  უკვე გექნება რეალური პროექტი, რომელზეც გექნება ნამუშევარი და ამ პროექტის კოდიც კი შეგიძლია აჩვენო პოტენციურ დამკვეთს.

შეჯამება

ზემოთ მოყვანილ ბლოგში, მოკლედ ვეცადე ჩემი გამოცდილება და რჩევები გამეზიარებინა, რომელიც ვფიქრობ გამოგადგებათ პირველი სამსახურის დაწყებაში.

 

Linux-ის ბნელი მხარე
Linux-ის ბნელი მხარე

დღევანდელ ბლოგში მინდა განვიხილო გამოცდილება ჩემი და ლინუქსის ურთიერთობის შესახებ. თუ თქვენ ჩემი არხის გამომწერი ხართ, კარგად გეცოდინებათ რამდენად დიდი სიმპატიით ვარ განმსჭვალული ამ ოპერაციული სისტემის მიმართ, მაგრამ დღეს მინდა მისი ნაკლოვანებები მკაფიოდ დაგანახოთ, რომელიც ბოლო რამდენიმე თვეში გადამხდა.

როგორც იცით რამდენიმე თვის უკან გადავწყვიტე შემეძინა პერსონალური კომპიუტერი რათა დავბრუნებოდი ლინუქსის ოპერაციულ სიტემას დიდი განშორების შემდეგ.

კომპიუტერის არჩევისას მაქსიმალურად გავითვალისწინე ამეწყო AMD-ის პროცესორით და ვიდეობარათით, რადგან როგორც ფორუმებზე მქონდა წაკითხული არ შემექმნებოდა დრაივერებთან დაკავშირებული პრობლემები Nvidia-სგან განსხვავებით, ასე რომ, ჩემი კომპიუტერი ავაწყე შემდეგ პროცესორზე და ვიდეო ბარათზე:

  • AMD Ryzen 5600G
  • RX 580 Nitro

Ubuntu-ს დისტრიბუცია

ჩემი პირველი ურთიერთობა ლინუქსთან დებიან დისტრიბუციის, კერძოდ Ubuntu-სთან შეხებით იყო. Ubuntu ჯერ კიდევ სტუდენტობის ასაკში მქონდა დაყენებული ჩემს პირად ლეპტოპზე და ჩემი მთავარი ოპერაციული სისტემა დაალხოვებით 2-დან 5-წლამდე იყო, სანამ MacOS-ზე გადავიდოდი.

ახალი პერსონალური კომპიუტერის შეძენის შემდგომ გადავწყვიტე ისევ Ubuntu დამეყენებინა მთავარ ოპერაციულ სისტემად და პრობლემებიც დაიწყო...

ინსტალაციის შემდეგ, რა თქმა უნდა დავიწყე სამუშაო გარემოს გამართვა, როგორც პროგრამირებისთვის, ასევე YouTube-სთვის. პროგრამირების მხრივ პრობლემა ნამდვილად არაფერზე შემქნია, პირიქით, ლინუქსზე დეველოპმენტი ერთი დიდი სიამოვნებაა, მაგრამ YouTube-ისთვის გარემოს გამართვაში ჩაფლავდა...

როგორც მოგეხსენებათ Adobe და Linux დიდად ვერ მეგობრობენ შესაბამისად ვიდეოს მონტაჟისთვის ვიყენებ Davinci Resolve აპლიკაციას, რომელსაც ასევე აქვს Linux-ის მხარდაჭერა, მაგრამ როგორც აღმოჩნდა არ ირთვებოდა.

მიუხედავად რამდენიმე კვირიანი ინტერნეტში ქექვა და ფორუმების გადატრიალება არ აღმოჩნდა საკმარისი, იმისთვის რომ მე ეს სამონტაჟო პროგრამა დამეყენებინა, შესაბამისად მოვნახე გამოსავალი და ე.წ. dualboot-ში დავაყენე Windows-ის ოპერაციული სიტემა, რომელზეც გადაღებულ გაკვეთილს/ვიდეოს ვამონტაჟებდი.

OBS-ის პრობლემები

ასევე ჩაფლავდა OBS, რომელიც რატომღაც ყოველგვარი გაბრთხილების გარეშე ითიშებოდა იმ შემთხვევაში თუ ვეცდებოდი მისი პარამეტრების შეცვლას, როგორც ფორუმებიდან წავიკითხე ეს ძალიან გავრცელებული პრობლემა იყო...

WIFI-ის პრობლემები

ასევე WIFI-ზე დაკავშირებული პრობლემა, რომლის დროსაც კომპიუტერი WIFI-ს ჩვეულებრივ იღებდა, მაგრამ ქონდა წყვეტები, იმისთვის, რომ სიგნალი აღმდგარიყო მიწევდა პარამეტრებიდან WIFI-ის ჩართვა და უბრალოდ გამორთვა...

Bluetooth-ის პრობლემები

ასევე პრობლემა ქონდა Bluetooth-ს რომესაც ქონდა საოცარი წყვეტები. ადაპტერი უბრალოდ 1 ჩართვაზე მუშაობდა 2-ზე არა.


Arch დისტრიბუცია

ჩემი ბოლო შეხება იყო უშუალოდ Arch ლინუქსი, რომელიც საკმაო პოპულარულობით სარგებლობს advanced მომხმარებლებში.

რამდენიმე ცდის შემდეგ როგორც იქნა Arch დავაყენე archinstall სკრიპტის დახმარებით, რომელიც როგორც აღმოჩნდა დიდი შეცდომა იყო.

Arch-ზე ინსტალაციის შემდგომ კიდევ ბევრი რამის გამართვა დამჭირდა იმისთვის, რომ სისტემა დეველოპმენტისთვის გამოსადეგი ყოფილიყო, მაგალითად სისტემას არ მოყვება ინტერნეტ კავშირი და გიწევს შენით ჩართო მისი სერვისი რა თქმა უნდა ტერმინალის დახმარებით, ასევე საბედნეროდ წყვეტების გარეშე ამუშავდა OBS და ვიდეოს გადაღების დროს პრობლემები აღარ მქონდა.

Shutdown, Restart-ის პრობლემები

პირველი პრობლემა რაც შევამჩნიე ეს იყო გათიშვის და დარესტარტების პრობლემა, როდესაც დღის ბოლოს ვცადე ოპერაციული სისტემის გათიშვა ის უბრალოდ შავ ეკრანზე გადადიოდა და სისტემური ბლოკი (პროცესორს რომ ვეძახით) აღარ ითიშებოდა.

საბედნიეროდ რამდენიმე საათიანი ძიების შემდეგ პრობლემა მოვაგვარე და ეს პრობლემა აღარ მაწუხებდა.

WIFI-ის პრობლემები

WIFI-ს პრობლემა გაგრძელდა Arch-ზეც, სანამ ამ დიაგნოზს დავსვავდი ახალი WIFI ადაპტერიც კი ვიყიდე და პრობლემა პრობლემად დარჩა, WIFI-ს ისევ დიდი drop-ები ქონდა.

შემდეგ როგორც ფორუმზე წავიკითხე მსგავსი პრობლემის წინაშე საკმაოდ ბევრი ადამიანი იდგა და მისი მიზეზი ლინუქსის ერთ ერთი განახლება იყო.

Bluetooth-ის პრობლემები

ანალოგიურად ვერც Bluetooth-ს მოვუხერხე ვერაფერი, მიუხედავად იმისა რომ ამ პრობლემეის მოგვარებას ძალიან დიდი დრო და ენერგია დავახარჯე ფორუმების ინფორმაცია სამწუხაროდ არ გამომადგა.

Partition-ის პრობლემები

როგორც ზემოთ ავღნიშნე Arch დავაინსტალირე archinstall სკრიპტის დახმარებით, რომელიც საბოლოო ჯამში ცუდი გადაწყვეტილება აღმოჩნდა იმის გამო რომ, ავტომატურად root დირექტორიას მხოლოდ 20GB მეხსიერება გამოუყო და შემდგომში აპლიკაციის დასაყენებლად უბრალოდ ადგილი აღარ მქონდა, სწორედ ამის გამო მიწევდა ტერმინალიდან partition-ების გაყოფა რაც რამდენიმე ცდით არ გამომივიდა...

მიუხედავად იმისა, რომ მივყვებოდი ფორუმების პასუხებს რატომღაც ვერაფერი გავაწყე და მივხვდი, რომ უბრალოდ ძალიან დიდ დროს ვუთმობდი ოპერაციული სისტემის გამართვას.


შეჯამება

მიუხედავად ჩემი დიდი სიყვარულისა ლინუქსის მიმართ, უბრალოდ ამ პრობლემების მოგვარების დრო ნამდვილად აღარ მქონდა და გადავწყვიტე ისევ პერსონალურ კომპიუტერზე Windows დამეყენებინა.

გადამწყვეტი ფაქტორი Windows-ზე გადასვლის იყო WIFI-ს პრობლემა რომელსაც მინიმუმ 1 თვე ვებრძოლე, მაგრამ მიუხედავად უამრავი ინფორმაციისა ლინუქსის ფორუმებზე არცერთი პასუხი არ გამომადგა...

საბოლოო ჯამში მაინც მივედი იმ დასკვნამდე, რომ დეველოპმენტისთვის და ასევე YouTube-არხზე ვიდეოების ასატვირთად და დასამონტაჟებლად იდეალური სისტემა არის MacOS, რომელსაც ერთნაირად აქვს კარგი წარმადობაც და აპლიკაციების ხელმისაწვდომობაც.

მაკის ერთადერთ მინუსად მხოლოდ იმას ჩავთვლი, რომ მასზე ვიდეო თამაშებს ვერ ითამაშებ.

როგორ დავრჩეთ მოტივრებული ?
როგორ დავრჩეთ მოტივრებული ?

დღევანდელ ბლოგში ვისაუბრებ, თუ როგორ დავრჩე მოტივირებული ვებ პროგრამირების შესწავლის დროს.

თუ დამწყები დეველოპერი ხართ, ალბათ ხშირად გამოგიცდიათ დემოტივაცია გარკვეული კურსის თუ პროგრამირების ენის შესწავლისას, მინდა გითხრა, რომ მარტო არ ხართ და ყოველდღიურად, როგორც დამწყებ დეველოპერებს, ისევე გამოცდილებსაც გვაქვს მსგავსი სახის დემოტივაცია.

ახლა გაგიზიარებთ საკუთარ გამოცდილებას, თუ როგორ ვებრძვი მას და ვრჩები მოტივირებული.

მოტივაცია, მოგეხსენებათ, ყველასთვის სხვადასხვანაირად აღიქმება, ამიტომ დიდი შანსია ჩემი გამოცდილება თქვენს პერსონაზე არ მოქმედებდეს.
ალბათ გქონიათ შემთხვევა, როდესაც გაქვთ რაიმე დავალება, ე.წ. “თასქი” ან თუნდაც დაგეგმილი გაკვეთილი გაქვთ, მაგრამ ძალიან გეზარებათ და ვერანაირად ფოკუსირდებით.

დემოტივაციის დაძლევის საპირისპირო ძალა არის მოქმედება და მხოლოდ მოქმედება… არ აქვს მნიშვნელობა რამდენად პატარაა ქმედება, უბრალოდ ადექით და რამე გააკეთეთ, ამ დროს ხშირად ვიყენებ ჩემს საყვარელ წინადადებას 0-ს ყოველთვის სჯობს 1 ასევე 0-ს სჯობს 0.00001-იც.

ეცადეთ თქვენი საქმე დაყოთ უმცირეს ნაწილებად და ისე მოახერხოთ მისი დასრულება. დამიჯერეთ, როგორც არ უნდა უმოტივაციოდ იყოთ, როგორც კი პატარა დავალებას მაინც შეასრულებთ, ის უკვე დადებითად იმოქმედებს თქვენს მოტივაციაზე და ყოველი პატარა, თუნდაც მიზერული შესრულებული საქმე ნელ-ნელა დაგმუხტავთ დადებითი ენერგიით და წინ გაგიძღვებათ დემოტივაციის დაძლევაში.

მოტივაცია, უხეშად რომ ვთქვათ, არის კუნთივით და მისი გამომუშავება შესაძლებელია.

ასევე არის მომენტები, როდესაც მოტივაციას რაიმე რთული პროგრამირების დავალება გვაკარგინებს. ვუზივართ, ვცდილობთ ამოვხსნათ არსებული პრობლემა, მაგრამ არაფერი გამოგვდის, ამ დროს ხშირად ვვარდებით ე.წ. თვით გვემაში და თავი დედამიწის ზურგზე ყველაზე სულელი გვგონია…
დამიჯერეთ თქვენ მარტო არ ხართ… მსგავს შემთხვევას პირადად მე ხანდახან კვირაში ან დღეში რამდენჯერმეც კი ვაწყდები, მაგრამ საბედნიეროდ უკვე გამოვიმუშავე უნარი, რომელიც მეხმარება მარტივად ვფოკუსირდე და ისევ ახალი მოტივაციით შევუდგე საქმეს, ახლა კი ვისაუბროთ თუ როგორ დავამარცხოთ ეს პრობლემა.

ზემოთ ხსენებული პრობლემის დასამარცხებლად, ხანდახან უბრალოდ უნდა ადგე და ჰაერზე გახვიდე, რამენაირად უნდა სცადო შენი გონება დააკავო განსხვავებული საქმით, უბრალოდ ადექით და ჰაერზე გადით. 5-10 წუთი გასეირნება ან უბრალოდ კომპიუტერიდან ადგომა და შინაური ცხოველის მოფერებაც კი დაგეხმარებათ იმაში, რომ თქვენი გონების განახლების ღილაკს მიწვდეთ და განაახლოთ ის :) “დაარეფრეშოთ”.

მოდი ამ აბზაცის ქვემოთ განვიხილოთ უკიდურესი შემთხვევა, როდესაც ყველანაირად ცდილობ კონცენტრაციას, მოტივაციას, მაგრამ მაინც არაფერი გამოგდის… ამ დროს მინდა საკუთარ თავს დაუსვათ კითხვა როგორ გამოვიძინე?

ძალიან ნაცნობი შემთხვევაა როდესაც დატვირთული გრაფიკის ან თუნდაც უბრალოდ კარგი გართობის გამო ზედიზედ რამდენიმე დღე გვიან დაიძინე და შენს სხეულს ძილი ძალიან აკლია, ასეთ შემთხვევაში დამიჯერეთ არაფერი გიშველით ისე, როგორც კარგად გამოძინება და ახალი ენერგიით დამუხტული მთებსაც კი გადადგავთ.

დღევანდელ ბლოგში მიმოვიხილე პირადად ჩემი გამოცდილება, რომელიც სწავლის ან უბრალოდ სამსახურში ყოფნის დროს მოტივაციას ეხებოდა, დანარჩენს კი ჩემს YouTube არხზე ვიდოს სახით მოგახსენებთ

როგორ ვისწავლო პროგრამირება?
როგორ ვისწავლო პროგრამირება?

პროგრამირების შესწავლა არც თუ ისე მარტივი საქმეა. ეს პროცესი მოითხოვს ძალიან დიდ შრომას და თავდადებას, იმისთვის რომ დაიწყოთ თქვენი პირველი საოცნებო სამსახური.

ჩემი კარიერის მანძილზე ძალიან ბევრჯერ ვცადე სხვადასხვა მიდგომა ახალი პროგრამირების ენის შესასწავლად და მხოლოდ რამდენიმე მეთოდმა თუ გაამართლა. დღევანდელ ბლოგში ვაპირებ სწორედ ამ მიდგომებზე ვისაუბრო, რომელიც რა თქმა უნდა ჩემს შემთხვევაში ამართლებდა.

როგორ დავაღწიოთ თავი Tutorial hell-ს?

როდესაც პროგრამირების შესავლას YouTube-ის ვიდეოებით იწყებთ ძალიან მარტივია მოხვდეთ ე.წ. Tutorial hell-ში რაც გულისხმობს იმას, რომ თქვენ უყურებთ უამრავ ვიდეოს სადაც სხვადასხვა მეთოდით გასწავლიან გამოცდილი დეველოპერები და საბოლოო ჯამში იმდენად ბევრ ინფორმაციას იღებთ, რომ იკარგებით და ვეღარც თავს, ვეღარც ბოლოს ვერ უგებთ თუ რას სწავლობთ.

იმისთვის, რომ ამ პროცესს თავი დავაღწიოთ, აუცილებელია პირველ რიგში, მოვძებნოთ ისეთი კურსი, რომელიც დასაწყისიდან დასასრულამდე მოგვცემს სრულფასოვან ცოდნას ენის საფუძვლების შესახებ.

მოცემული კურსები შესაძლოა ავარჩიოთ მომხმარებლის შეფასებებიდან გამოდინარე ან მეგობრის რეკომენდაციით.

აუციელბელია კურსი დავასრულოთ მთლიანად და არ შევწყვიტოთ მისი მოსმენა შუა გზაში, ასევე უნდა ვაკეთოთ კურსის ინსტრუქტორის მითითებები ზედმიწევნით.

როგორ ვსწავლობ პროგრამირების ენას (ჩემი მეთოდი)

ახლა კი მოგიყვებით ჩემს მიდგომაზე, თუ როგორ ვსწავლობ პროგრამირების ახალ ენას ვიდეო გაკვეთილების დახმარებით.

მას შემდეგ რაც ავარჩევ კურსს რომელიც უნდა შევისწავლო ვიწყებ მის ყურებას და უბრალოდ მოსმენას, მაქსიმალურად ვცდილობ ვიყო ყურადღებით და თუ რაიმე არ მესმის ან მიჭირს გაგება, არ ვაიგნორებ, არამედ გარკვეულ მონაკვეთს მანამ ვუკირკიტები, სანამ 100%-ით არ ვიქნები დარწმუნებული, რომ ყველაფერი კარგად გავიგე.

ასევე, თუ თქვენი კურსი არის ინგლისურ ენაზე და არ მესმის კარგად რასაც საუბრობს ლექტორი, ვრთავ ე.წ. ტიტრებს და ისე ვაგრძელებ მოსმენას და თუ მაინც ისეთი სიტყვა ვიპოვე, რომელიც აქამდე არ ვიცოდი ვიყენებ გადათარგმნის ონლიან სერვისებს ისეთებს, როგორებიცაა: translate.google.com ან translate.ge

მოცემული მეთოდი მეხმარება გაკვეთილის პირველად ყურებისას გავიაზრო თუ რის გაკეთებას ცდილობს ლექტორი და რა პროექტი თუ ამოცანები უნდა გადაჭრას მოცემულ გაკვეთილში.

აუცილებელი მოთხოვნაა, პირველად გაკვეთილის მოსმენისას არ დავიწყო მასთან ერთად კოდის წერა და უბრალოდ გულდასმით ვუსმინო კურსის ბოლომდე.

პროგრამირების შესწავლის მეორე საფეხური

მას შემდეგ რაც გაკვეთილს ბოლომდე მოვისმენ, უკვე მექმნება წარმოდგენა თუ როგორ მუშაობს მთლიანად ენა, როგორ ხდება ცვლადების აღწერა, მონაცემების გაცვლა და ა.შ.

როდესაც მეორედ ვიწყებ გაკვეთილის მოსმენას უკვე ლექტორთან ერთად ვცდილობ ავაწყო ზუსტად ის პროექტი, რასაც თავად ლექტორი აკეთებს, სწორედ ამ პროცესის გავლისას უკვე გონებაში ნელ-ნელა ჯდება ის განვლილი პროგრამირების თეორია, რომელიც პირველად მოვისმინე.

აუცილებელია მეორედ მოსმენის დროს არ გავჩერდეთ და აუცილებლად მივაღწიოთ კურსში განვლილი პროექტის ფინალურ ფაზას, ანუ უნდა ავაწყოთ ზუსტად ის რასაც ლექტორი გვასწავლის.

პროგრამირების შესწავლის ფინალური ფაზა.

შესწავლის ფინალური ფაზა წარმოადგენს ჩემს პროექტს, რომელსაც ვცდილობ ავაწყო აღნიშნულ ტექნოლოგიაზე, მაგრამ მაინც ვცდილობ პროექტის თემატიკა ძალიან არ განსხვავდებოდეს კურსში არსებული პროექტის თემატიკისგან, ანუ ვცდილობ მივამატო ახალი ფუნქციონალი, რომელიც გაკვეთილში იყო გამოყენებული, უბრალოდ ვცდილობ მცირე მოდიფიკაცია გავუკეთო და დამოუკიდებლად ვცადო კურსში განხილული თემების პრაქტიკაში გამოყენება.

არსებული მიდგომა მეხმარება პრობლემის შემთხვევაში დავუბრუნდე კურსის იმ ქვეთავს, რომელსაც კარგად ვერ ვიგებ და გავიხსენო ლექტორის მიერ ახსნილი მასალა.

პროგრამირების შესწავლის ფინალური ფაზა უკვე პროექტის სრულიად დამოუკიდებლად აწყობის მცდელობაა, მაგრამ არ უნდა დაგავიწყდეთ, რომ არ ხართ შეზღუდული განვლილი მასალის გადამეორებაში.

გახსოვდეთ როდესაც რაიმეს ვერ გაიგებთ, აუცილებელია გადახედოთ განვლილ მასალას ან ჩაიხედოთ პროგრამირების ენის დოკუმენტაციაში.

პროგრამირების უფასო კურსები ქართულად

 

ლინუქსის შორთქათები პროგრამირებისთვის
ლინუქსის შორთქათები პროგრამირებისთვის

თუ ჩემი გამომწერი ხართ ალბათ გეცოდინებათ, რომ შევიძინე მეორადი პერსონალური კომპიუტერი პროგრამირებისთვის და ზოგადად არხის მეტად განვითარებისთვის.

ასევე გეცოდინებათ ჩემი დამოკიდებულება ლინუქსის ოპერაციულ სისტემაზე და რა თქმა უნდა ახალი კომპიუტერის მთავარ ოპერაციულ სისტემადაც ლინუქსი ავირჩიე, კერძოდ დებიან დისტრიბუცია Ubuntu.

მას შემდეგ რაც სისტემაზე დავაყნე პროგრამირებისთვის საჭირო პროგრამები დავიწყე ე.წ. შორთქათების შესწავლა, რომელიც რუტინულ ოპერაციებს გამიმარტივებდა, სწორედ ამ ღილაკების კომბინაციებს ასევე გაგიზიარებთ თქვენ და იმედი მაქვს დაგეხმარებათ დეველოპმენტის აჩქარებაში

ღილაკის კომბინაცია რა ფუნქციას ასრულებს
Alt+Tab აქტიურ ფანჯრებს შორის ნავიგაცია
Super+H აქტიური ფანჯრის ჩაკეცვა
Ctrl+W აქტირუ ფანჯრის გათიშვა
Super+Shift+left arrow აქტიური ფანჯრის მარცხნივ ეკრანზე გადატანა
Super+Shift+right arrow აქტიური ფანჯრის მარჯვნივ ეკრანზე გადატანა
Alt+Esc აქტიურ ფანჯრებს შორის გადართვა პირდაპირი მეთოდით
Ctrl+Super+D ყველა აქტიური ფანჯრის დამალვა
Super+up arrow აქტიური ფანჯრის მთელ ეკრანზე გადიდება
Super+left arrow მარცხნივ გახსნა სპლიტ ფანჯრის
Super+right arrow მარჯვნივ გახსნა სპლიტ ფანჯრის
Super+L ეკრანის დაბლოკვა
Super+A ყველა აპლიკაციის ნახვა
Ctrl+Alt+T ტერმინალის გახსნა
Super+V შეტყობინებების პანელის გახსნა

Super ღილაკი წარმოადგენს კლავიატურაზე ე.წ. Win (Windows) ღილაკს

Firefox-ის ღილაკების კომბინაციები
Firefox-ის ღილაკების კომბინაციები

დღევანელ  ბლოგში განვიხილავთ mozilla firefox-ის ღილაკების კომბინაციებს, რომლებიც გაგვიმარტივებენ ვებ-დეველოპმენტს და პროცესს მინიმუმ 10-ჯერ უფრო სწრაფს გახდიან.

🔴 მნიშვნელოვანი ინფორმაცია ‼️

ქვემოთ მოცემულ ბრძანებებში command ღილაკი Windows და Linux სისტემებზე ნიშნავს ctrl ღილაკს

დეველოპერის ხელსაწყოები

ბრძანება ღილაკის კომბინაცია
დეველოპერის პანელი (inspect element) command + alt + I
ვებ კონსოლი (web console) command + alt + K
ინსპექტორი (inspector) command + alt + C
სქრინშოტის გადაღება command + shift + S
ქსელის პანელი (network) command + alt + E

სხვა და სხვა

ბრძანება ღილაკის კომბინაცია
ფოკუსირება ULR-ის ბარზე command + L
მთელ ეკრანზე გადიდება/დაპატარავება command + shift + F
ძიება გვერდზე command + F
საძიებო სისტემის ფოკუსი და ძიება command + K

ფანჯრები და ტაბები

ბრძანება ღილაკის კომბინაცია
ჩანართის დახუვა (tab) დახურვა command + W
ფანჯრის დახურვა command + shift + W
ბრაუზერის დახურვა command + Q
ახალი ჩანართის გახსნა command + T
ახალი ფანჯრის გახსნა command + N
ახალი პივატული ფანჯრის გახსნა command + shift + P
ბოლი გათიშული ჩანართის აღდგენა command + shift + T
ბოლო გათიშული ფანჯრის აღდგენა command + shift + N
აქტიური ჩანართის გადართვა მარჯვნივ 1-ით command + shift + [
აქტიური ჩანართის გადართვა მარცხნივ 1-ით command + shift + ]
რა არის web safe ფონტები HTML, CSS-ში
რა არის web safe ფონტები HTML, CSS-ში

თუ ერთხელ მაინც მიგიბავთ გუგლის ფონტი თქვენს საიტზე ალბათ შემჩნეული გექნებათ ფონტის მთავარი სახელის შემდეგ sans-serif, serif ან სხვა ჩანაწერი.

დღევანდელ ბლოგში და ასევე ვიდეოში, რომელიც YouTube-ზე უკვე დევს ვისაბუბრებ web safe და browser safe-ფონტებზე.

არსებობენ სტანდარტული ფონტები, რომლებიც მოყვება ნებისმიერ ოპერაციულ სისტემას და არ აქვს მნიშვნელობა თუ რომელი სისიტემაა ის, იქნება ეს Windows, Mac os თუ Linux-ის ნებისმიერი დისტრიბუცია.

web safe ფონტებს ძირითადად ორი გამოყენება აქვთ, პირველი ის, რომ თუ ჩვენ მხოლოდ მათ გამოვიყენებთ დარწმუნებული ვიქნებით, რომ ჩვენი ფონტი ნებისმიერ ოპერაციულ სისტემაში ზუსტად ისე გამოჩნდება, როგორც ჩვენს ეკრანზე.

რაც შეეხება მეორე ვერსიას, web safe ფონტები ასევე გამოიყენება იმ შემთხვევისთვის თუ ჩვენი ე.წ. (custom) ფონტი სწორად არ ჩაიტვირთება, ამ შემთხვევაში მოერე ვერსიად ასევე შეიძლება გვქონდეს web safe ფონტი.

 

როგორი კომპიუტერი მჭირდება პროგრამირების დასაწყებად?
როგორი კომპიუტერი მჭირდება პროგრამირების დასაწყებად?

სანამ პროგრამირების სწავლას გადავწყვეტთ, აუცილებელია გვქნოდეს კომპიუტერი, რომელიც დააკმაყოფილებს ჩვენს მინიმალურ მოთხოვნილებებს, რომლებიც უშუალოდ კოდის წერის დროს დაგვჭირდება.

დამწყებებს ხშირად აქვთ არასწორი წარმოდგენა, რომ კომპიუტერი აუცილებლად უნდა იყოს ძალიან ძლიერი და უმკლავდებოდეს ყველაზე რთულ პროცესებსაც კი, მაგრამ მინდა გითხრათ, რომ ვებ პროგრამირების შესწავლის დასწყებად არაა აუცილებელი ე.წ. სუპერკომპიუტერი.

რა მოთხოვნებს უნდა აკმაყოფილებდეს კომპიუტერი?

სანამ უშუალოდ კომპიუტერის მონაცემებზე გადავალთ, მოდი ჩამოვთვალოთ იმ პროგრამების მიახლოვებითი სია, რომლებიც  სწავლისთვის დაგვჭირდება.

როგორც ზემოთ ჩამოთვლილში ხედავთ, ვებ პროგრამირების შესწავლის დასაწყებად ძალიან ცოტა პროგრამაა საჭირო, შესაბამისად ის წარმოდგენები, რომ ჩვენ აუცლებელია შევიძინოთ ე.წ. სუპერკომპიუტერი და შედარებით ბიუჯეტური კომპიუტერით არ გამოგვივა პროგრამირება, არის მცდარი.

რა მინიმალური მონაცემები უნდა ქონდეს კომპიუტერს?

მოდი განვსაზღვროთ მინიმალური მოთხოვნები კომპიუტერისთვის, რომელიც უნდა გავითვალისწინოთ შეძენის დროს. ამის გასარკვევად აუცილებელია კომპიუტერი აკმაყოფილებდეს პროგრამების გაშვებისთვის საჭირო მოთხოვნებს.

მაგალითისთვის, რომ გავუშვათ chrome-ის ბრაუზერი, როგორც მათ საიტზე ვკითხულობთ, აუცილებელია მინიმუმ კომპიუტერის პროცესორს ქონდეს 2GHz-ზე მეტი სიხშირე, ხოლო რაც შეეხება ოპერატიულ მეხსიერებას, სასურველია იყოს მინიმუმ 4GB და მყარი დისკის მოცულობა იყოს მინიმუმ 256GB

ასევე, აღსანიშნავია რომ თუ გამოვიყენებთ კოდის წერისთვის თანამედროვე IDE-ებს როგორიცაა მაგალითად Web Storm, მათ საკმაოდ უყვართ დიდი რაოდენობის ოპერატიული მეხსიერების გამოყენება, ისევე როგორც ჩვენს ბრაუზერებს, ამიტომ გაითვალისწინეთ, რომ თუ თქვენ მინიმალური მონაცემების კომპიუტერს იყიდით დეველოპმენტის დრო შესაძლოა გაგიგრძელდეთ, კომპიუტერის სისწრაფიდან გამომდინარე.

რომელი ოპერაციული სისტემა უნდა მქონდეს?

ვებ პროგრამირების სწავლის დაწყებისას ამას არ აქვს მნიშვნელობა, მთავარია თქვენ სად გრძნობთ თავს კომფორტულად იქნება ეს Windows, Mac OS თუ Linux, მაგრამ, მე, ჩემი გამოცდილებით, Linux-ს და Mac OS-ს მივანიჭებდი უპირატესობას, რადგანაც ისინი დაშენებულია UNIX-ზე

საიდან დავიწყოთ ვებ პროგრამირების შესწავლა?

ვებ პროგრამირების შესასწავლად უამრავი ინგლისურენოვანი ინტერნეტ რესურსი არსებობს, მაგრამ თუ თქვენთვის ინგლისური ბარიერს წარმოადგენს, შეგიძლიათ val-do.com-ზე ან Val Do-ს YouTube არხზე შეისწავლოთ 0-დან, საიტზე მოცემულია შემდეგი უფასო კურსები:

რა რჩევებს მივცემდი ჩემს თავს პროგრამირების სწავლის დაწყებამდე?
რა რჩევებს მივცემდი ჩემს თავს პროგრამირების სწავლის დაწყებამდე?

მოგეხსენებათ პროგრამირების შესწავლა არც ისე მარტივი საქმეა და ის ძალიან დიდ შრომას და დროს მოითხოვს.

არის მომენტები, როდესაც ძალიან მარტივი საქმის გაკეთებას დიდ დროს ანდომებ ვინაიდან არ გაქვს საკმარისი გამოცდილება და მიდგომა საქმის მიმართ. სწორედ ამიტომ, გადავწყვიტე დღევანდელი ბლოგის დაწერა რათა მოგიყვეთ რა რჩევებს მივცემდი საკუთარ თავს მაშინ, როდესაც პროგრამირების შესწავლას ვიწყებდი.

გამოყავი სწავლისთვის სპეციალური საათები

პირველი შეცდომა პროგრამირების შესწავლისას იყო არა თანმიმდევრულობა და ფოკუსირება.

პროგრამირების შესწავლას ვიწყებდი მაშინ როდესაც მინდოდა ხან დილის 11 საათზე ხან საღამოს 5 საათზე, ხან 2 დღე ჩავაგდებდი და ბოლოს თავში ძალიან დიდი არეულობა მქონდა.

თუ თქვენ მიზნად დაისახავთ პროგრამირების შესწავლას აუცილებლად გამოყავით სწავლისთვის მკაცრად განკუთვნილი დრო, მაგალითად დღეში 6 საათი დილის 10-დან 4-მდე და მაქსიმალურად ფოკუსირდით სწავლაზე.

პროგრამირების შესწავლის ყველაზე რთული ნაწილი არის თანმიმდევრულობა და სწავლაზე დიდი ხნის განმავლობაში ფოკუსირება.

გაიცანი შენი კოდის ედითორი

სანამ კოდის წერაზე გადავალთ აუცილებელია ჩვენი ფავორიტი ედითორის ძირითადი მახასიათებლები და სწრაფი ღილაკების კომბინაციების შესწავლა.

შესაძლოა ეს რჩევა არა საჭიროდ მოგეჩვენოთ, მაგრამ დამიჯერეთ დეველოპმენტს მინიმუმ 10-ჯერ ააჩქარებთ თუ კლავიატურის ღილაკების კომბინაციებით შეასრულებთ ისეთ რუტინულ საქმეებს როგორიცაა, მაგალითად დაკოპირება ხაზების წაშლა და ა.შ.

აუცილებელია იცოდეთ თქვენი ფავორიტი ედითორის ის მხარეები, რომლებიც რუტნიული ოპერაციების დროს მაქსიმალურად დაგიზოგავთ და ნაკლებად დამოკიდებული იქნებით "მაუსზე"

დაიწყეთ საფუძვლებით

პირველი მთავარი პრობლემა არის, ის რომ დამწყებები ყოველთვის ვცდილობთ რაც შეიძლება რთული საიტები ან პროგრამები დავწეროთ და ამ პროცესში პროგრამირების ენის ძირითადი საფუძვლები კარგად არ გვესმის.

ხშირად ვიწყებთ ისეთი დავალების კეთებას რომელსაც უბრალოდ იმის გამო ვერ ვაკეთებთ, რომ ენის საფუძვლები კარგად არ ვიცით, შესაბამისად აუცილებელია ენის ყველა ძირითადი საფუძველი ვიცოდეთ მანამ სანამ პროექტის კეთებას დავიწყებთ.

შეისწავლე უცხო ენა (ინგლისური)

მაშინ როდესაც კოდთან პირველი შეხება მქონდა ძალიან მიჭირდა და დოკუმენტაციის შესწავლა ინგლისურიდან და ვინაიდან მაშინ კარგად არ ვიცოდი ინგლისური ძალიან ვწვალობდი თარგმნაში.

თუ ინგლისური კარგად იცით ეს უკვე ძალიან დიდი წინ გადადგმული ნაბიჯია პროგრამირების შესასწავლად, ვინაიდან ნებისმიერი პროგრამირების ენა, ეს იქნება ჯავასკრიპტი, ტაიპსკრიპტი თუ სხვა არის ინგლისურ ენაზე და მოგიწევთ ინგლისურენოვან დოკუმენტაციასთან მუშაობა.

თუ გაქვთ იმის საშუალება, რომ პარარელურად მოემზადოთ ინგლისურშიც დამიჯერეთ, როგორც პროგრამირების სწავლაში ასევე სხვა საქმეშიც ძალიან გამოგადგებათ, ვინაიდან თქვენ გზას გაიხსნისთ ინფორმაციის უწყვეტ მარაგებთან და არ დაელოდებით რაიმე დოკუმენტაციის ქართულ ენაზე თარგმანს.

ისწავლე დოკუმენტაციასთან მუშაობა

ჩემი ყველაზე დიდი შეცდომა პროგრამირების შესწავლისას იყო ის, რომ ვცდილობდი კოდი მესწავლა მხოლოდ ე.წ. "თუთორიალებით" და არ ვკითხულობდი დოკუმენტაციას.

დოკუმენტაცია არის ის ერთადერთი წყარო ინფორმაციის რომელიც არის 100%-ით ზუსტი და გაძლევთ საშუალებას უშუალოდ ენის შემქმნელებისგან ისწავლოთ ამა თუ იმ ენის საფუძვლები, ხოლო "თუთორიალები" არის უბრალოდ ამ ენით რაიმე პატარა პროგრამის აწყობის გაკვეთილები, რომლებიც მიუხედავად იმისა, რომ კარგი სანახავია და მარტივი ენით წერია არ მოგცემთ პროგრამირების ენაზე სრულ სურათს.

დაიწყეთ ყველაზე მარტივი პროექტებით

მას შემდეგ რაც საფუძვლების თეორიულ ნაწილს შეისწავლით გეგონებათ, რომ ამ ენაზე უკვე ყველაფერი იცით და CV-შიც ამაყად ჩაწერთ, რომ ჯავასკრიპტის დეველოპერი ხართ.

დამიჯერეთ პროგრამირება ის სფეროა სადაც მხოლოდ თეორია არ კმარა და აუცილებელია პრაქტიაკში გამოიყენოთ ყველა ფუნქცია ან მეთოდი რომელიც თეორიაში შეისწავლეთ. სწორედ ამიტომ აუცილებელია დაიწყოთ ნამდვილი პროექტების კეთება, თუნდაც უმარტივესად გეჩვენებოდეთ.

დაიწყეთ უმარტივესი პროექტით რომელსაც აუცილებლად მიიყვანთ ბოლომდე და სრულიად იფუნქციონირებს ყოველგვარი ხარვეზების გარეშე. ასევე ეცადეთ ყოველი შემდეგი პროექტი იყოს წინაზე რთული.

ისწავლე google-თან მუშაობა

პროგრამისტის და არა მარტო პროგრამისტის ერთერთი მთავარი უნარი არის საჭირო ინფორმაციის მოძიება.

დღეს ალბად უკვე აღარაა ისეთი შეკითხვა რომელზეც პასუხი არ გაცემულა და რომელიც ინტერნეტში არ იქნება გამოქვეყნებული, სწორედ ამიტომ აუცილებელია მივეჩვიოთ საძიებო სისტემის მაქსიმალურად ეფექტურად გამოყენებას.

პროგრამისტის ერთერთი სუპერ ძალა უნდა იყოს ნებისმიერი ინფორმაციის მოძიება უმოკლეს ვადებში.

შეურეთდი პროგრამისტების საზოგადოებებს

ყოველთვის გახსოვდეთ, რომ მას შემდეგ, რაც თქვენ მიაღწევთ თქვენს პირველ მიზანს და დაიწყებთ რომლიმე კომპანიაში სტაჟირებას ან სამსახურს აუცილებლად მოგიწევთ გუნდთან მუშაობა, არ არსებობს კომპანიები სადაც მხოლოდ 1 პროგრამისტზე იქნება დამოკიდებული მთელი პროექტი.

მაქსიმალურად ეცადეთ შეუერთედ ისეთ ფორუმებს, ჩათებს, ჯგუფებს სადაც დამწყები დეველოპერები არიან და ხშირად დახმარებასაც ითხოვენ, არ დაგეზაროთ სხვისი დახმარება თუ რა თქმა უნდა შეგიძლიათ.

განიხილეთ თქვენთვის საინტერესო თემები გააკეთეთ გამოწვევბი გაარჩიეთ ერთმანეთის კოდი. ეს მოგცემთ სუპერ უნარს რათა მარტივად ადაპტირდეთ სხვა ჯგუფებში და გაიგოთ სიახლეები და განიხილოთ სიღრმისეულად.