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

Val Do-ს ბლოგი

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

მითები პროგრამირებაზე
მითები პროგრამირებაზე

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

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

დღევანდელ ბლოგში ვეცდები განვიხილო ტოპ 10 ყველაზე გავრცელებული მითი პროგრამირებაზე.

უმაღლესი მათემატიკის ცოდნა.

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

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

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

ძლიერი კომპიუტერი.

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

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

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

პროგრამირების შესწავლა დღეში 1-2 საათით.

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

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

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

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

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

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

პროგრამირება მხოლოდ კაცებისთვისაა.

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

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

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

პროგრამირება გენიოსებისთვისაა.

საკმოდ ბევრჯერ მაქვს მოსმენილი ფრაზა, “მაგას მე ვერ ვისწავლი, პროგრამირება გენიოსებისთვისაა”.

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

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

მალე გამდიდრება.

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

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

პროგრამისტები ინტროვერტები არიან.

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

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

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

AI ჩაანაცვლებს პროგრამისტებს.

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

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

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

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

აუცილებელია ყველა ენის შესწავლა.

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

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

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

მთავარია იყოთ კარგი პროფესიონალი.

დასკვნა.

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

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

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

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

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

1. სწავლის დაწყება ფინანსების გარეშე.

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

თქვენ მარტივად შეგიძლიათ უფასო რესურსებით დაიწყოთ, მაგალითად youtube.com-ზე ან თუნდაც val-do.com-ზე არსებული უამრავი ვიდეო გაკვეთილით.

სწავლის დასაწყებად მთავარია თქვენი მონდომება.

2. სამსახურის დასაწყებად არ გჭირდებათ დიპლომი.

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

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

3. მოქნილი სამუშაო გრაფიკი.

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

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

4. საინტერესო საქმე.

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

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

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

5. მომავლის პროფესია.

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

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

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

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

6. მარტივი შესასწავლად.

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

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

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

7. საერთაშორისო ბაზარზე მუშაობის შესაძლებლობა.

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

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

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

8. მაღალი ანაზღაურება.

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

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

9. თვით განვითარება.

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

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

10. პრობლემების გადაჭრის უნარის გამომუშავება.

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

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

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

დასკვნა.

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

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

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

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

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

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

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

ვეცდები მოკლედ მიმოვიხილო სწავლის დანებების ტოპ 10 მიზეზი.


1. მოთმინების ნაკლებობა.

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

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

2. სირთულის შეგრძნება.

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

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

3. არარეალური მოლოდინები.

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

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

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

4. წარუმატებლობის შიში.

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

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

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

5. მკაფიო მიზნის არ ქონა.

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

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

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

6. პრაქტიკის ნაკლებობა.

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

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

7. სხვებთან შედარება.

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

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

8. ინტერესის ნაკლებობა.

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

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

9. ცუდი სასწავლო რესურსები.

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

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

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

10. მხარდაჭერის არარსებობა.

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

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


დასკვნა.

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

წერტილი თუ ფრჩხილი? ობიექტებთან მუშაობის ძირითადი წესები
წერტილი თუ ფრჩხილი? ობიექტებთან მუშაობის ძირითადი წესები

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

მაგალითი:

const user = { name: "Val Do" };

console.log(user.name); // დაიბეჭდება Val Do
console.log(user["name"]; // დაიბეჭდება Val Do

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

წერტილით წვდომა (Dot Notation).

სინტაქსი: object.property

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

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

მაგალითი:

const obj = { name: 'John' };
console.log(obj.name); // დაიბეჭდება: John

კვადრატული ფრჩხილებით წვდომა (Square Brackets Notation)

სინტაქსი: object["property"]

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

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

მაგალითი 1: დინამიური წვდომა

const key = 'name';
const obj = { name: 'John' };
console.log(obj[key]); // დაიბეჭდება: John

მაგალითი 2: ობიექტზე წვდომა, რომელის თვისებაც შეიცავს სიცარიელეს

const obj = { 
    'first name': 'John',
    age: 30
};
console.log(obj['first name']); // დაიბეჭდება: John

მაგალითი 3: ობიექტზე წვდომა, რომლის თვისებაც იწყება რიცხვითი მნიშვნელობით

const obj = { '123abc': 'value' };
console.log(obj['123abc']); // დაიბეჭდება: value

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

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

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

რა არის Garbage collection (GC) JavaScript-ში
რა არის Garbage collection (GC) JavaScript-ში

პროგრამირებაში ერთ-ერთი მთავარი მცნებაა Garbage collector (GC) (ნაგვის შეგროვება) რაც გულისხმობს კომპიუტერის მეხსიერების მენეჯმენტს.

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

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

აუცილებელია გვქონდეს კარგი წარმოდეგენა თუ როგორ მუშაობს ჯავასკრიპტის Garbage collection, რათა ავიცილოთ მეხსიერების გაჟონვები (memory leaks).

მეხსიერების გამოყოფა (Allocation in JavaScript)

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

const x = 456; // გამოყოფს მეხსიერებას რიცხვისთვის
const t = "ტექსტი"; // გამოყოფს მეხსიერებას სტრინგისთვის

const obj = {
  c: 2,
  d: null,
}; // გამოყოფს მეხსიერებას ობიექტისთვის და მასში არსებული მნიშვნელობებისთვის

// გამოყოფს მეხსიერებას მასივისთვის და მასში არსებული მნიშვნელობებისთვის
const arr = [2, null, "ტექსტი2"];

function g(c) {
  return c * 3;
}

someElement.addEventListener(
  "click",
  () => {
    someElement.style.backgroundColor = "red";
  },
  false,
);

მეხსიერების გამოყოფა ფუნქციის გამოძახებით

ზოგიერთი ფუნქციის გამოძახება გამოყოფს მეხსიერებას

const t = new Date(); // გამოყოფს Date ობიექტს
const el = document.createElement("span"); // გამოყოფს DOM ელემენტს

ასევე ზოგიერთი მეთოდის გამოყენებით

const str = "ტექსტი";
const str2 = str.substr(0, 4); // str2 არის ახალი სტრინგი

const arr1 = ["დიახ დიახ", "არა არა"];
const arr2 = ["გენერაცია", "არა არა"];
const arr3 = arr1.concat(arr2);
// ახალი მასივი 4 ელემენტით,
// რომელიც წარმოადგენს arr1 და arr2 ელემენტების გაერთიანებას.

მეხსიერების გათავისუფლება, როდესაც ის აღარ არის საჭირო

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

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

მაღალი დონის ზოგიერთი ენა, როგორიცაა JavaScript, იყენებს ავტომატური მეხსიერების მართვის მექანიზმს, რომელიც ცნობილია როგორც ნაგვის შემგროვებელი (Garbage Collector - GC). ნაგვის შემგროვებლის მიზანია მეხსიერების მონიტორინგი, განსაზღვრა, როდის აღარ არის საჭირო გამოყოფილი მეხსიერების ბლოკი და მისი დაბრუნება.

Nginx-ის ინსტალაცია Macintosh-ზე
Nginx-ის ინსტალაცია Macintosh-ზე

როგორც იქნა საბოლოოდ დავემშვიდობე Windows ოპერაციულ სისტემას და სამუშაო პერსონალური კომპიუტერი Mac mini M2 სისტემით ამოვცვალე, ასევე ლეპტოპიც Macbook მაქვს, დღევანდელ ბლოგში მოგიყვებით თუ როგორ გავმართე ლოკალური ვებსერვერი nginx-ით.

Homebrew-ს ინსტალაცია

სანამ nginx-ის ინსტალაციას დავიწყებთ აუცილებელია მაკზე დავაყენოთ ე.წ. package manager სახელად homebrew, რომელიც საშუალებას გვაძლევს terminal-ის დახმარებით დავაინსტალიროთ როგორც nginx ასევე სხვა მრავალი აპლიკაცია.

Homebrew-ს ინსტალაციისთვის უბრალოდ საჭიროა გადავიდეთ მოცემულ ბმულზე და მივყვეთ ინსტრუქციას ან უბრალოდ ჩვენს ტერმინალში ჩავწეროთ მოცემული ბრძანება sudo პრივილეგიით

sudo /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Nginx-ის ინსტალაცია

მას შემდეგ რაც Homebrew-ს დავაყენებთ, terminal-ის დახმარებით მარტივად ერთი ბრძანებით შეგვიძლია nginx-ის ინსტალაცია.

ინსტალაციისთვის ტერმინალში უნდა ჩავწეროთ შემდეგი ბრძანება

brew install nginx

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

Nginx-ის გაშვება, გადატვირთვა

ინსტალაციის შემდგომ აუცილებელია nginx-ის სერვისის გაშვება, რომელიც შეგვიძლია გავუშვათ შემდეგი ბრძანებით

brew services start nginx

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

sudo nginx -s reload

Nginx-ის კონფიგურაციის მისამართი

nginx-ის კონფიგურაციის მისამართია:

/opt/homebrew/etc/nginx

რა თქმა უნდა ე.წ. absolute path-ით

WWW დირექტორია

nginx-ის ინსტალაციის შემდგომ აუცილებელია გადამოწმება სწორად მუშაობს თუ არა ის. nginx ეშვება 8080 პორტზე შესაბამისად ბრაუზერში უნდა ჩავწეროთ შემდეგი მისამართი http://localhost:8080/ წარმატებით გახსნის შემდგომ გამოვა შესაბამისი შეტყობინება

დირექტორია, რომელსაც nginx უყურებს, ანუ სამუშაო ფაილები მდებარეობს შემდეგ მისამართზე: 

/opt/homebrew/var/www

(absolute path)

მოცემულ დირექტორიაში შეხვდებით ასევე nginx-ის ე.წ. welcome screen-ის html ფაილსაც.

ახალი პროექტის დამატება nginx ვებ სერვერზე

მას შემდეგ რაც დაამატებთ ახალ პროექტებს /opt/homebrew/var/www დირექტორიაში თქვენ უკვე შეგიძლიათ დაიწყოთ nginx-ის კონფიგურაციით მანიპულაცია თუ რომელ მისამართზე გაიხსნას თქვენი პროექტი.

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

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

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

რატომ არის ინგლისური საჭირო ენა პროგრამირებირებისათვის?

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

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

გლობალური თანამშრომლობა და საზოგადოების ჩართულობა

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

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

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

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

გარდა ამისა, ონლაინ ფორუმები, ბლოგები და კოდირების თემები ძირითადად იყენებენ ინგლისურს, როგორც კომუნიკაციის საშუალებას. ამ პლატფორმებში ჩართვა პროგრამისტის სასწავლო პროცესის მნიშვნელოვანი ნაწილია.    პროგრამირების შესწავლა უფასოდ შეგიძლიათ  ისეთ ონლაინ კურსებზე და პროექტებზე როგორებიცაა: Codecademy, Udemy, Khan Academy, Code, FreeCodeCamp და სხვა.

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

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

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

მონაწილეობა ტექნიკურ კონფერენციებსა და ქსელურ ღონისძიებებში

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

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

ღია კოდის და პროფესიული ქსელის აშენება

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

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

როგორ ვისწავლოთ ინგლისური?

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

სახლში სწავლება

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

ონლაინ სწავლება

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

სასწავლო ცენტრები

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

 სასაუბრო ინგლისურის კურსები უფასოდ

ციფრული ეპოქა და ტექნიკური მხარდაჭერა საშუალებას გვაძლევს გავიუმჯობესოთ ინგლისურის ცოდნა დამხმარე აპლიკაციების სხვადასხვა პლატფორმების დახმარებით, როგორებიცაა:  Duolingo, Babbel, Hello English, Memrise, Cambly Kids,  BBC Learning English, Busuu, HelloTalk  და სხვა.

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

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

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

როგორ ავაჩქაროთ საიტი, loading ატრიბუტის დახმარებით
როგორ ავაჩქაროთ საიტი, loading ატრიბუტის დახმარებით

ვებგვერდების წონის დიდი ნაწილი, დაახლოებით 80%-ზე მეტი, სურათებზე მოდის. მაგალითად, თუ საიტის კოდი 1 მეგაბაიტია, სურათების ზომა შეიძლება მინიმუმ 5-ჯერ მეტი იყოს.

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

საჭიროება

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

თუ საიტზე 10 სურათია, მაგრამ ჩვენი ეკრანიდან ჩანს მხოლოდ 3, დანარჩენი 7 სურათი ტყუილად ჩაიტვირთება. ეს ანელებს საიტის ჩატვირთვას და სერვერს 7 დამატებითი, უაზრო მოთხოვნა მიაქვს, რომლებიც ჩვენ საერთოდ არ გვჭირდება.

პრობლემის გადაწყვეტა

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

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

მაგალითი:

<img src="img.1" loading="lazy">
<img src="img.2" loading="lazy">
<img src="img.3" loading="lazy">
<img src="img.4" loading="lazy">
<img src="img.5" loading="lazy">
<img src="img.6" loading="lazy">

loading ატრიბუტი ავტომატურად ხვდება არის თუ არა ჩვენი ფოტო viewport-ში, ან მასთან ახლოს და ამის მიხედვით იგზავნება სერვერზე მოთხოვნა ფოტოს ჩამოტვირთვასთან დაკავშირებით.

საყურადღებო ინფორმაცია

იმისთვის რომ loading="lazy" ატრიბუტმა ისე იმუშაოს, როგორც ზემოთ ავღნიშნეთ ასევე CSS-ით ჩარევაცაა საჭირო ჩვენს კოდში. კონკრეტულად კი img თეგს, რომელსაც loading="lazy" ატრიბუტი აქვს აუცილებელია ქონდეს წინასწარ განსაზღვრული სიმაღლე  ან height თვისებით, ან aspect-ratio-თი

img {
    height: 300px; 
    /* ან */
    aspect-ratio: 16 / 9;
}

მოცემულ ატრიბუტს აქვს ორი მნიშნველობა ესენია:

  • eager
  • lazy

eager-ის შემთხვევაში, საიტზე ყველა ფოტო აუცილებლად ერთდროულად იწყებს ჩამოტვირთვას. ეს img თეგის ე.წ. "default" მნიშვნელობაა

დამატებითი რესურსები

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

*viewport - საიტის ხილული ნაწილი ბრაუზერის ფანჯარაში

nginx-ის კონფიგურაცია (ჩემი ჩანაწერები)
nginx-ის კონფიგურაცია (ჩემი ჩანაწერები)

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

nginx წარმოადგენს ღია კოდის პინციპზე დაფუძნებულ პროგრამულ უზრუნველყოფას, რომელიც შექმნილია Igor Sysoev-ის მიერ.

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

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

nginx-ის ინსტალაცია

როგორც მოგეხსენებათ სერვერების 90%-ზე მეტი linux ოპერაციულ სისტემაზეა, შესაბამისად არ დავწვრილმანდები მისი ინსტალაციით, უბრალოდ დაგიტოვებთ მზა რესურსებს, რომლის დახმარებითაც შეძლებთ თქვენს სისტემაზე, Windows, Linux, Mac OS-ზე დააყენოთ nginx.

nginx-ის გამშვები ბრძანებები

nginx -s stop - გათიშვა
nginx -s quit - გამოსვლა
nginx -s reload - გადატვირთვა
nginx -s reopen - ხელახლა გახსნა ლოგ ფაილების

სახელების შეთანხმებები და ტერმინოლოგია

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

მაგალითი 1

http {
		server {
		}
}

მოცემული მაგალითი წარმოადგენს ბლოკებს, ანუ ბლოკები გამოიყოფა {} სიმბოლოებით, მაგალითში http არის ბლოკი, ასევე ამ ბლოკში მოთავსებულია
server ბლოკი

მაგალითი 2

server {
	listen 8080;
	root /data/mysite;
}

მაგალითი 2-ში წარმოსახული გვაქვს server ბლოკი, რომელშიც წერია შემდეგი რამ listen 8080, ერთ ხაზზე ჩაწერილი სიტყვა listen შემდეგ ე.წ. ჰარი (გამოტოვება) და 8080
ამ ჩანაწერს ეწოდება დირექტივები.

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

მაგალითი 3

server {
	listen 8080;
	root /data/mysite;
}

იმ შემთხვევაში თუ ბლოკში ანუ {} ფრჩხილებში გვაქვს 1 დირექტივა მაინც მაშინ მას ეწოდება კონტექსტი, მესამე მაგალითში server-ს დავუძახებთ არა ბლოკს,
არამედ server კონტექსტს

ზუსტი დამთხვევები url-ებში და location კოტექსტი

ზუსტი დამთხვევებისთვის ე.წ. exact match-ისთვის გამოიყენება ტოლობის ნიშანი

მაგალითი 1

location = / {...}

ამ შემთხვევაში nginx შემომავალ მოთხოვნას გაუშვებს root მისამართზე ან პროექტზე, ანუ მაგალითად val-do.com-ზე ხოლო შიდა მისამართები შეგვიძლია საერთოდ
სხვა პორტზე ან პორექტზე გავუშვათ (შიდა მისამართებში იგულისხმება root-ის შემდეგი გვერდები, მაგალითად val-do.com/contact, val-do.com/courses)

მაგალითი 2

location / {...}

მაგალით 2-ში ყველა შემომავალი მოთხოვნა root მისამართზე, ანუ თუ ჩვენ გვაქვს საიტი მაგლითად val-do.com შემომავალი მოთხოვნა გაეშვება val-do.com-ზე
და ასევე ყველა შემდეგი მისამართი, ანუ val-do.com/contact, val-do.com/courses და ა.შ.

alias დირექტივა

გამოიყენება მაშინ, როდესაც გვინდა სტატიკური ასეტები კონკრეტულ url-ზე მიმართო.
მაგალითად თუ სერვერზე სტატიკური ასეტები გვაქვს შემდეგ დირექტორიაში /var/www/myproject/assets

პირობითად კოდში გვაქვს შემდეგი სურათი <img src="/assets/logo.png"/>, პროდაქშენზე გაშვებისას alias -ით შეგვიძლია
logo.png სერვერს წავაკითხინოთ /var/www/myproject/assets საქაღალდიდან

მაგალითი 1

location /assets {
	alias /var/www/myproject/assets
}

proxy_pass დირექტივა

გამოიყენება კონკრეტული url-ის გადამისამართებისთვის. მაგალითისთვის წარმოვიდგინოთ რომ სერვერზე გვაქვს რამდენიმე ლოკალჰოსტი გაშვებული სხვადასხვა პორტზე, მაგალითისთვის მთავარი პროექტი ეშევება localhost:3000 პორტზე, ამ დროს გაჩნდა საჭიროება, რომ localhost:3000/test  მისამართზე ჩავტვირთოთ საერთოდ სხვა პროექტი, რომელიც პირობითად localhost:4000 პორტზეა გაშვებული

მაგალითი 1

location /test {
	proxy_pass http://localhost:4000;
}

ამ მაგალითის მიხედვით მოხდება გადამისამართება localhost:3000/test-დან http://localhost:4000 პორტზე გაშვებულ პროექტზე

რა არის srcset ატრიბუტი და რესპონსიული სურათები?
რა არის srcset ატრიბუტი და რესპონსიული სურათები?

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

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

რატომ რესპონსიული სურათები?

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

პირველ მაგალითში განვიხილოთ შემთხვევა, რომლის დროსაც სიატის დიზაინში გათვალისწინებულია desktop მოწყობილობებზე, ე.წ. ულტრა განიერი ფოტო რეზოლუციით 2560×1080. მობილურში კი  ფოტო, რომელიც აღარაა ულტრა განიერი და პროპორციებით არის 4/3-ზე 320x240 პიქსელზე სიგანით.

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

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

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

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

პრობლემის გადაჭრაში დაგვეხმარება HTML-ის 2 ატრიბუტი - srcset და  - sizes, რომელთა დამხარებითაც ჩვენ შევძლებთ მივუთითოთ ბრაუზერებს თუ რა ზომის ფოტო ჩამოტვირთონ ჩვენთვის სასურველ რეზოლუციაზე.

მაგალითი:

<img srcset="img-small.jpg 500w, img-large.jpg 800w" sizes="(max-width: 600px) 500px, 800px" src="img-800w.jpg" alt="srcet example" />

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

srcset ატრიბუტი

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

მაგალითში მოცემული გვაქვს სურათი img-small.jpg რომელიც არის ფაილის სახელი. ასევე თუ დავაკვირდებით ფაილის დასახელების და ჰარის შემდეგ მას მოსდევს 500w, რომელიც აღნიშნავს ფოტოს ზომას.

size ატრიბუტი

მოცემული ატრიბუტის დახმარებით ჩვენ შეგვიძლია მივუთითოთ ბრაუზერს, თუ რა ეკრანის ზომაზე რომელი ზომის ფოტო ჩამოტვირთოს. (max-width: 600px) 500px იგივეა რაც ვუთხრათ ბრაუზერს "როდესაც viewport-ის სიგანე არის 600 ან ნაკლები პიქსელი"

მუშაობს თუ არა srcset ატრიბუტი ძველ ბრაუზერებში?

ბრაუზერებში, რომლებსაც არ აქვთ srcset ატრიბუტის მხარდაჭერა ჩაიტვირთება სტანდარტულ src ატრიბუტში მითითებული სურათი ხოლო srcset ატრიბუტი უბრალოდ დაიგნორდება

Windows 11-ის უპირატესობები.
Windows 11-ის უპირატესობები.

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

Windows 11: ოპერაციული სისტემების ახალი ერა

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

განახლებულია სტარტ მენიუ და სამუშაო პანელი:

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

ფანჯრების განლაგება და დაჯგუფება:

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

Microsoft Store ძირეული განახლება:

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

პოპულარული ოპერაციული სისტემების შედარება

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

Windows 10

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

macOS

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

Linux

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

Windows 11: უდაო უპირატესობები

Windows 11-ზე განახლების დამაჯერებელი მიზეზების განხილვისას მნიშვნელოვანია აღინიშნოს მნიშვნელოვანი მახასიათებლები, რომლებიც ამ ოპერაციულ სისტემას გამოარჩევს:

1. განახლებული სათამაშო გამოცდილება:

Windows 11-ს გვთავაზობს თამაშების გაუმჯობესებას ისეთი ფუნქციებით, როგორიცაა DirectStorage და Auto HDR უფრო სწრაფი ჩატვირთვის დროისთვის და უფრო ღრმა ვიზუალური გამოცდილებისთვის. მოყვარული მოთამაშეებისთვის, ეს შეიძლება იყოს სრულიად ახალი გამოცდილება და  Windows 11-ზე განახლების მაცდური წინადადება.

2. ოპტიმიზირებულია უკეთესი ფუნქციონირებისთვის:

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

3. უსაფრთხოების განახლებები:

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

4. მომავალი მზად არის Windows განახლებებით:

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

დასკვნა:

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

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

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

პირველი რაც ყველაზე მნიშვნელოვანია, აუცილებელია გავიაზროთ, რომ კომპლექსური პროექტები 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-ში დავალებები გადააქვს ტესტერს, რაც გულისხმობს იმას, რომ ჩვენი დავალება წარმატებით შევასრულეთ.