ჩემი სემინარი თსუ-ში 2: ვებ სერვისები (SOAP, REST)

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

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

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

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

ჩემი სემინარი თსუ-ში: ვებ აპლიკაციის უსაფრთხოება

რამდენიმე თვის წინ თბილისის სახელმწიფო უნივერსიტეტის კომპიუტერული მეცნიერების მიმართულების სტუდენტებმა ერთ საინტერესო წამოწყებას ჩაუყარეს საფუძველი : D

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

მაგალითად აქამდე ჩატარდა სემინარები:

  • HTML5-სა და HTML4–ს შორის განსხვავება და ახალი API–ები (ნინო ლომინეიშვილი)
  • HTML5: Drag & Drop (მარიამ ხუნჯგურუა)
  • HTML5 Web Storage (შოთა ბაკურაძე, არჩილ ვარშანიძე)
  • Mobile Device Game Architecture (გიორგი აბელაშვილი)
  • Introduction to Android development (ირაკლი მანაგაძე)
  • Facebook for developers (დავით თვალჭრელიძე, გიორგი მაისურაძე)

სემინარების შესახებ ინფორმაცია ქვეყნდება ხოლმე facebook-ზე.

ამ შაბათს, ანუ 22 იანვარს (როგორც ყოველთვის 17:00 საათზე ბიოლოგების კორპუსის 421-ე აუდიტორიაში) იქნება ჩემი სემინარი 😀

რომელიც ვებ აპლიკაციის უსაფრთხოებას შეეხება.

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

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

შევეხები თემებს: Injecting OS commands / SQL / scripting languages, Directory traversal, Remote file inclusion, Persistent / Non-persistent XSS attack, Cross-site tracing და საშიში HTTP მეთოდები,  DDoS attack, Brute force, და კიდევ რამდენიმე, თუ არ გამომაგდეს აუდიტორიიდან 😀

ესეც ანონსი..

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

Trip to Google

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

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

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

შთაბეჭდილებების გაზიარება არც ისე კარგად გამომდის ხოლმე 🙂 ამიტომ რამდენიმე ფოტო…

google

google

teo_rachvela_lekva

teo_rachvela_lekva

lekva_elle_rachvela

ეეეი.. ეხლა დავინახე თითები უკან

 

better not be late :)

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

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

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

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

რამდენიმე წლის წინ ბროწეული გახმა. მოვჭერით და ყოველთვის როცა მომჟავო და მოთეთრო ბროწეულს მივირთმევ, მახსენდება, როგორ არ ვაფასებ იმას რაც მაქვს 😀

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

Who dares, wins :D

რას მივუძვნიდი ამ პოსტს, თუ არა ჯეოლიმპს 🙂

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

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

სამ დღეს თუ გადაცდა ეს პროცესი, სასტიკად მძულს ის ამოცანა და ამოხსნა კი არა, გახსენებაც აღარ მინდა : ))

ჯეოლიმპში ის მომწონს, რომ საჩემო ამოცანებიც არის 😀 ჩემს ჭიასაც უხარია, როცა ნოლზე არ ვრჩები.

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

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

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

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

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

(თვითონ ხომ კარგს არ დაწერენ თავის თავზე.. :D)

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

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

ჰოდა, რომ მეუბნებით ხოლმე ზოგიერთები ტრასაზე როდის დავდგეთო, 😀 მობრძანდით კვირას (19-ში) და ამ არენაზე შევეჯიბროთ. its more fun.  მე დიდი ამომხსნელი არ ვარ, მაგრამ მაინც სახალისოა.

”ჯეოლიმპი” თბილისის სახელმწიფო უნივერსიტეტში
”ჯეოლიმპი” თბილისის სახელმწიფო უნივერსიტეტში