მოცემულ გვერდზე შეგიძლიათ გაეცნოთ ჩემს მიერ დაწერილ ბლოგებს, რომელიც ძირითად შემთხვევაში შეეხება ვებ-პროგრამირებას ან ინფორმაციულ ტექნოლოგიებს
თუ გაინტერესებთ როგორ მუშაობს ინტერნეტი და ზოგადად ვებ სამყარო მაშინ სწორ ადგილას მოხვდი, დღევანდელი ბლოგით შევეცდები მარტივად, თქვენთვის გასაგებ ენაზე ავხსნა მისი საფუძვლები და მუშაობის პრინციპები. მაგალითისთვის მოვიყვანოთ https://val-do.com, ანუ რა გზას გადის საიტი თქვენს ბრაუზერში მოხვედრამდე და რამდენი ოპერაციის გავლაა საჭირო.
სანამ უშუალოდ პროცესის ახსნაზე გადავალთ აუცილებელია ვიცოდეთ სახელების შეთანხმებები, თუ რა რას ნიშნავს.
კლიენტი იგივე აპლიკაციაა რომელიც ჩვენს ლოკალურ მანქანაზეა გაშვებული, მაგალითად ჩვენი ბრაუზერი, არ აქვს მნიშვნელობა რა ტიპის ბრაუზერი იქნება ეს, ქრომი, მოზილა, საფარი თუ სხვა. კლიენტის მთავარი მიზანია ინტერნეტის/ქსელის დახმარებით გააგზავნოს მოთხოვნა სერვერთან, მიიღოს სერვერიდან მოსული პასუხი მოახდინოს მისი დეკოდირება და გვაჩვენოს საიტი ისეთ მდგომარეობაში როგორსაც ჩვეულებრივ ბრაუზერში ვხედავთ ხოლმე.
სერვერი არის კომპიუტერი რომელიც ჩართულია ინტერნეტის გლობალურ ქსელში და მას ასევე გააჩნია საკუთარი უნიკალური მისამართი IP. განსხვავებით ჩვენი ლოკალური კომპიუტერისგან, სერვერზე არის სპეციალური პროგრამული უზრუნველყოფა, რომელიც განკარგავს შემოსულ მოთხოვნებს ჩვენი კომპიუტერიდან. ძირითადი სერვერის ფუნქციაა შეინახოს ვებ-გვერდები მის საინფორმაციო საცავში, ასევე დაამუშაოს ჩვენი გაგზავნილი მოთხოვნები და გაუგზავნოს კლიენტს დამუშავებული მოთხოვნები.
იშიფრება როგორც Internet Protocol Address (ინტერნეტ პროტოკოლის მისამართი). IP მისამართი არის უნიკალური მაიდენტიფიცირებელი რიცხვითი მისამართი (კომპიუტერის, სერვერის, პრინტერის, როუტერის და ა.შ.) IP მისამართი შედგება 4 დანაყოფისგან რომელიც წერტილებით არის გამოყოფილი მაგ: (244.155.65.2)
Hyper-text Transfer Protocol. პროტოკოლი რომელსაც იყენებენ ვებ ბრაუზერები და სერვერები ერთმანეთთან საკომუნიკაციოთ ინტერნეტის დახმარებით
Internet Service Provider, ინტერნეტის სერვისის პროვაიდერი, არის ინტერნეტ კომპანია რომელიც დგას ჩვენს და სერვერს შორის, მაგალითისთვის საქართველოში ეს კომპანიებია მაგთი და სილქნეტი, ასევე მობილური ოპერატორები.
როდესაც ჩვენ ბრაუზერში ჩავწერთ val-do.com-ს ამ დროს ISP ვალდებულია მიაკითხოს DNS (Domain Name Systems), რომელიც val-do.com-ს გადათარგმნის სერვერის IP მისამართად და გააგზავნის მოთხოვნას კონკრეტულ სერვერთან.
DNS:
Domain Name System. ეს არის უხეშად რომ ვთქვათ მონაცემთა ბაზა რომლის მიზანიცაა კონკრეტული სერვერების IP მისამართებს მიანიჭოს შესაბამისი სახელი, მაგალითად google.ge-ის ამ დროინდელი სერვერის IP მისამართია 142.250.69.196
URL:
Uniform Resources Locator. URL-ის დახმარებით შეგვიძლია სერვერზე მივაკითხოთ კონკრეტულ რესურსებს როგორებიცაა მაგალითად კონტაქტის გვერდი, მთავარი გვერდი და ა.შ.
როდესაც ჩვენ ბრაუზერში ავკერფთ მისამართს, ამ დროს იგზავნება მოთხოვნა, რომელიც მიდის ჯერ ჩვენს ლოკალურ ISP-სთან შემდეგ ჩვენი ISP მიაკითხავს DNS სერვერს. DNS სერვერი ჩვენს მოთხოვნას გაგზავნის შესაბამისი IP მისამართის სერვერზე
ჩვენი ვებ-გვერდის მომხმარებლის მაღალი ინტერესიდან და მოთხოვნიდან გამომდინარე გადავწყვიტე val-do.com-ზე გავაკეთო ფასიანი კურსები, რომლის ფარგლებშიც შეისწავლით Angular “ფრეიმვორქს”.
ლექციები ჩატარდება კვირაში 3 დღე და მისი ხანგრძლივობა იქნება 1 საათიდან 2 საათამდე, შევხვდებით ონლაინ, ტელეგრამის საშუალებით, ასევე ჩავიწერ ყველა ლექციას Full HD ფორმატში და გამოგიგზავნით ლექციის დასრულების შემდგომ.
კურსის ხანგრძლივობა შეადგენს 2 თვეს, რომლის ფარგლებშიც შეისწავლით Angular “ფრეიმვორქის” საფუძვლებს, არქიტექტურის დაგეგმვას და რაც ყველაზე მთავარია, მოგიწევთ რეალურ API-სთან მუშაობა.
ჩემი მიზანია მაქსიმალურად მივაჩვიო სტუდენტი “ფრეიმვორქთან” მუშაობას და ვასწავლო მისი ყველა უპირატესობა.
კურსის დასრულების ბოლოს თქვენ გექნებათ გამოცდილება რეალურ API-სთან მუშაობის და შექმნით val-do.com-ის მსგავს საიტს, რომელშიც შევა:
კურსზე რეგისტრაციისთვის აუცილებელი წინაპირობაა გავლილი გქონდეს val-do.com-ზე დამატებული კურსები:
*კურსის დასაწყებად აუცილებელია დარეგისტრირდეს მინიმუმ 5 სტუდენტი.
ℹ️ თუ გაქვს შეკითხვები შეგიძლია მოგვწერო ჩვენს ტელეგრამ 👉🏻 ჯგუფში
ლექცია 1
ლექცია 2
ლექცია 3
ლექცია 4
ლექცია 5
ლექცია 6
ლექცია 7
ლექცია 8
ლექცია 9
ლექცია 10
ლექცია 11
ლექცია 12
ლექცია 13
ლექცია 14
ლექცია 15
ლექცია 16
ლექცია 17
ლექცია 18
ლექცია 19
ლექცია 20
ლექცია 21
ლექცია 22
ლექცია 23
ლექცია 24
პ.ს. ფასიანი კურსების გამოცხადება არ ნიშნავს იმას, რომ მე შევწყვეტ უფასო პროგრამირების გაკვეთილების გადაღებას.
მოეცმულ სტატიაში მინდა ჩამოვწერო ჩემს მიერ ყველაზე ხშირად გამოყენებული ბრძანებები git
-ზე
მას შემდეგ რაც git-ს დავაყენებთ ლოკალურ მანქანაზე საჭიროა მისი კონფიგურაცია ჩვენი მონაცემებით, რომელიც გითის კომიტში მოახდენს ჩვენს იდენტიფიკაციას
გავხსნათ ტერმინალი და ჩავწეროთ შემდეგი ბრძენებები
git config --global user.name "სახელი გვარი"
მოცემული ბრძანებით მივუთითებთ ჩვენს სახელს და გვარს
git config --global user.email "MY_NAME@example.com"
მოცემული ბრძანებით მივუთითებთ ჩვენს ელფოსტას
მას შემდეგ რაც შევქმნით კოდის repository-ის github-ზე საჭიროა კონკრეტული რეპოზიტორის კლონირება (ჩამოტვირთვა) ლოკალურ გარემოში, სწორედ ამისთვისაა git clone
ბრძანება
git clone <https://repourl>
remote
გარემოზეgit push -u <remote> <branch-name>
git
-ზე ლოკალურ გარემოშიgit checkout -b <branch-name>
remote
გარემოზეremote გარემო წარმოადგენს მაგალითად github-ს. ქვემოთ მოცემული ბრძანება საჭიროა გაეშვას ერთჯერადად, ანუ ის საჭიროა მხოლოდ მაშინ, როდესაც გვიწევს ლოკალური branch-ის ფიზიკურად ატვირთვა remote გარემოზე
git push --set-upstream origin <branch-name>
მას შემდეგ, რაც დავაყენებთ git-ის რეპოზიტორის და დავიწყებთ მუშაობას საჭიროა ჩვენი ნამუშევარი ფაილების და კოდების ატვირთვა გითზე, ამისთვის საჭიროა ტერმინალიდან შევიდეთ დირექტორიაში, რომელშიც გითი (git) უკვე ინციალიზებულია.
მას შემდეგ რაც დავდგებით კონკრეტულ დირექტორიაზე არსებული ფაილები საჭიროა მოვამზადოთ გითის კომიტისთვის სწორედ ამისთვის გამოიყენება git add .
ბრძანება
git add .
მოცემული ბრძანება მოამზადებს ჩვენს მიერ მოდიფიცირებულ/დამატებულ/წაშლილ ფაილებს კომიტისთვის
დასაკომიტებლად გამოიყენება შემდეგი გითის ბრძანება
git commit -m "თქვენი კომიტის შეტყობინება"
როგორც ზემოთ ბრძანებაში ჩანს ორმაგ ბრჭყალებში მოცემულია ტექსტი, რომელშიც შეგიძლიათ ჩაწეროთ მოკლე ინფორმაცია თქვენი კომიტის შესახებ, მაგალითად: bug fix
მას შემდეგ რაც ჩვენს პირველ კომიტს გავაკეთებთ, იმისთვის რომ ჩვენი კომიტი მოხვდეს გითზე აუცილებელია კოდის ე.წ. "დაფუშვა" git push
git push
მოცემული ბრძანება საშუალებას გვაძლევს ჩვენი კომიტი აიტვირთოს გითზე.
მოცემულ ბლოგში აღწერილი იქნება ხშირად გამოყენებული ბრძანებები, რომელიც საჭიროა mongodb-ს ბაზასთან სამუშაოდ
mongosh
ტერმინალის დახმარებითuse dbname
show collections
db.collectionName.drop()
წაშლის მთლიან კოლექციას// ვირჩევთ მონაცემთა ბაზას
use dbName
// ვირჩევთ კოლექციას და ვარედაქტირებთ მრავალ დოკუმენტს
db.collectionName.updateMany({}, {$set: {isFavorite: false}});
.updateMany()
მეთოდს გადაეცემა 2 პარამეტრი, პირველი ფილტრი, ხოლო მეორე დასარედაქტირებელი მონაცემები
await Reviews.updateOne({ _id: req.body.courseId }, {
$set: {
isPublished: req.body.isPublished
}
})
ზემოთ მოცემულ კოდში Reviews
არის mongoose
-ის მოდელი updateOne
-ნიშნავს რომ განვაახლებთ მხოლოდ 1 ჩანაწერს კოლექციაში, _id: req.body.courseId
ნიშნავს, რომ Reviews კოლექციაში ვეძებთ გადმოცემული id
-ის მიხედვით.
$set
ოპერატორი განაახლებს მხოლოდ isPublished
თვისებას req.body.isPublished
-ის მნიშვნელობით
ჯერ კიდევ 2011 წლის ბოლო, როდესაც მის შესახებ ჯერ არავინ იცოდა რატომღაც ვცადე vs code-ის გამოყენება და ძალიან მომეწონა, იმ დროს ყველაზე პოპულარული ედიტორი sublime text იყო, მაგრამ ჯერ კიდევ code-ის ბეტა ვერსიაზე ძალიან მომეწონა code-ში მუშაობა.
დღეს უკვე მის შესახებ თითქმის ყველამ იცის, დღევანდელ ბლოგში მინდა მოგიყვეთ რამდენიმე საინტერესო ღილაკის კომბინაციაზე, რომელიც საკმაოდ შეგიმცირებთ ედითორში მუშაობის დროს.
სანამ დეველოპმენტის შესწავლის აქტიურ ფაზაზე გადახვალთ ჩემი აზრით საჭიროა ვიცოდეთ რამდენიმე ყველასთვის გამოსადეგი კლავიატურის კომბინაცია, რომელიც საკმაოდ დაგვიზოგავს ედითორში მუშაობის დროს.
შესაძლოა ეს ძალიან მარტივი ბრძანებები უკვე კარგად იცი, მაგრამ მაინც მინდა მოკლე სია გავაკეთო
ctrl+c (command+c)
ctrl+v (command+v)
ctrl+x (command+x)
კოდის წერისას ხშირად დაგვჭირდება რომელიმე ხაზის ან რამდენიმე ხაზი კოდის დაკომენტარება სწორედ ამისთვის არსებობს ქვემოთ მოცემული ბრძანებები
ctrl+/ (command+/)
alt+shift+a
ხშირად გვჭირდება პროექტში რაიმე კონკრეტული ფაილის მოძებნა, რაც არც ისე მარტივია, როდესაც ჩვენი პროექტი უკვე საკმაოდ ბევრი ფაილისგან შედგება ამისთვის არსებობს ბრძანება
ctrl+p (command+p)
რომელზე დაჭერის შემთხვევაშიც გამოდის ჩასაწერი ველი, რომელშიც უნდა მივუთითოთ სასურველი ფაილის დასახელება
ctrl+z (command+z)
ctrl+shift+z (command+shift+z)
ctrl+s (command+s)
ctrl+a (command+a)
ctrl+f (command+f)
ctrl+shift+f (command+shift+f)
ხშირად კოდის წერისას გვჭირდება რომელიმე ხაზის ზემოთ ან ქვემოთ ჩამოტანა სწორედ ამისთვის არსებობს ბრძანებები
alt+arrow up
alt+arrow down
როდესაც კოდში გვიწევს ერთნაირი ტექსტების ამოცვლა, იმის მაგივრად, რომ ყველა ტექსტური ელემენტი ცალ-ცალკე შევცვალოთ შეგვიძლია მოვნიშნოთ ფაილში ყველა ერთნაირი ელემენტი. ამისთვის საჭიროა მოვნიშნოთ კონკრეტული ტექსტი და დავკლიკოთ ctrl+d
-ზე, რამდენჯერაც დავკლიკავთ იმდენი მსგავსი ელემენტი მოინიშნება
ctrl+d (command+d)
ctrl+shift+k (command+shift+k)