Jump to content

Search the Community

Showing results for tags 'პროგრამისტი'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • ფორუმი
    • ფორუმი
    • ზოგადი დისკუსიები
    • ტუტორიალი/Tutorial
    • მათემატიკა
    • ბიბლიოთეკა
    • კრიპტოგრაფია
    • კიბერ უსაფრთხოება
    • ელექტროინჟინერია
  • პროგრამები
    • დიზანის & 3D მოდელირება
    • პროგრამები/ software
    • დაცვა
  • Visual Studio
    • Visual Studio
    • C#
    • C და C++
    • ASP.NET/WPF/MVC
    • WCF
    • Quick Basic / Visual Basic
  • Web Development
    • HTML & CSS
    • Bootstrap
    • PHP & MySQL
    • Javascript
    • AngularJS
    • სხვადასხვა
    • SEO
    • ძრავების მიმოხილვა
  • Development
    • JAVA
    • Perl
    • Python
    • ბაზები
    • Other
    • Game Developer
    • მობილურის დეველოპერი
  • IT-Support
    • Unix/Linux
    • MS Windows
    • Apple /MAC
    • Android
    • Network
    • კომპიუტერის არქიტექტურა
  • ყიდვა-გაყიდვა/შეკვეთები
    • ყიდვა-გაყიდვა
    • შეკვეთები

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


ლოკაცია


ინტერესები

Found 2 results

  1. მოკლედ მინდა მოგიყვეთ ჩემი პროფესიის შესახებ, და იმის შესახებ თუ ვინ არის პროგრამისტი, ჩემი არც თუ ისე დიდი გამოცდილების და გადმოსახედის მხრიდან.. პროგრამირება ეს ძალიან საინტერესო და სააზროვნო თემატიკაა ჩემი აზრით, ზოგისთვის ეს შეიძლება იყოს ჰობი (როგორც ჩემს შემთხვევაში იყო ჰობი და გახდა ჩემი ყოველდღიური სამუშაო) და ამით ღებულობდეს დადებით ემოციებს და სიამოვნებას. პროგრამირება ჩემი აზრით ეს არის ხელოვნების ნაწილი, რადგან პროგრამისტი თავისი არსით არის ადამიანი ვინც "არაფრისგან" ქმნის საინტეროსო "რაღაცას" (რომელსაც შემდეგ სხვები იყენებენ თავიანთ სფეროში და საქმიანობაში, ამ ყველაფრისგან ღებულობენ დადებით ემოციებს ან სამუშაო დროს უმცირებს, მაგრამ ბევრჯერ არ იციან თუ ვის უნდა უმადლოდენ), მაგრამ როგორც ყველა ხელოვანი ადამიანი როცა ქმნის თავის შედევრს, ის ქმნის ხელოვნების მორიგ ნიმუშს მუზის გავლენის ქვეშ, და არა ისე რომ ვთქვათ გაიღვიძა და გაიფიქრა რომ დღეს მე უნდა შევქმნა ეს და ჰოპ და შექმნა ეს ყველაფერი, ესეა პროგრამისტიც ის ქმნის შედევრებს მუზის გავლენის ქვეშ,ან როცა ის ამ ყველაფრისგან ღებულობს სიამოვნებას, და არაა რაღაც "ჩარჩოებში" მოქცეული და შებოჭილი. თუ გადავხედავთ პროგრამისტების მიერ შექმნილ შედევრებს 90% შექმნილია მაშინ როცა ის იყო მუზის გავლენის ქვეშ, ქმნიდა თავისთვის და ღებულობდა უბრალო სიამოვნებას, დადებით ემოციებს და არა ისე რომ ვიღაცამ დაიქირავა და უხდიდა რაღაც თანხას და ის ჰოპ და ქმნიდა შედევრებს (ესეთი მაგალითებიც არის მაგრამ ძალიან ცოტა) :-) ეს რაც შეეხებოდა ზოგადად პროგრამისტის არს თუ რას წარმოადგენდა. ეხლა უშუალოდ განვიხილოთ თუ ვინ არის პროგრამისტი. მე ვერ ვიტყვი რომ პროგრამისტი არის პიროვნება ვინც დაამთავრა გამოყენებითი მათემატიკა და კიბერნეტიკის ფაკულტეტი, ისწავლა სკრიპტების წერა და ის წავლა თუ რა არის if/then/esle. ჩემი შეხედულებით პროგრამისტი ეს არის ადმიანი ვისაც შეუძლია ფიქრი (ლოგიკურად მსჯელობა და ანალიტიკურად აზროვნება ) გაანალიზება დასმული ამოცანის და მიზნის მიხედვით ზუსტი ნაბიჯების ჩამოყალიბება, რომლის გავლის შემთხვევაშიც მიიღწევა სასურველი მიზანი. პროგრამისტი უნდა კითხულობდეს თვითგანვითარების მიზნით წიგნებს და არ უნდა იდგეს ერთ ადგილას, მუდმივად სიახლის და განვითარების ძებნაში უნდა იყოს. პროგრამისტმა უნდა იცოდეს თუ რა რესურსი გააჩნია, საიდან დაიწყოს, როგორ უნდა გააგრძელოს და საბოლაო ჯამში უნდა ხედავდეს საბოლაო რეზულტატი როგორ მიიღწევა (მიზანი), თვითონ კოდის წერა კიდევ ამ ყველაფრის ნაწილია (შეიძლება იცოდე კოდის წერა, მაგრამ თუ შენ არ იცი, რა რესურსი გჭირდება, როგორ დაიწყო, საიდან დაიწყო, რა არქიტექტურა მიცე ამ ყველაფერს უბრალოდ კოდის წერის ცოდნით შორს ვერ წახვალ) ამ ყველაფერთან ერთად აქვე უნდა ავღნიშნო ისიც რომ პროგრამისტისთვის აუცილებელია მათემატიკის ცოდნა, მათემათიკა ეს განუყოფელი და შემადგენელი ნაწილია შემოქმედებითი პროცესის, მათემატიკური აზროვნება გიყალიბებს თვისებას ისწავლო წიგნებიდან ესა თუ ის მომენტები, გაანალიზო ეს ყველაფერი და გაიგო მთელი ამ ყველაფრის შინაარსი. პროგრამისტი უნდა წვდებოდეს აუცილებლად დავალების და ამოცანის შინაარს და არა პროსტა "ტუპად" წერდეს კოდს ( "ტუპად" კოდს კი დაწერს მაგრამ როგორ იმუშავებს ეს ყველაფერი უკვე სხვა მომენტია). როცა შინაარს ჩაწვდება პროგრამისტი მხოლოდ მაშინ იქმნება სწორი და კარგი კოდი. ეხლა უკვე უშუალოდ შევეხოთ პროგრამისტის მიერ პროექტის(აპლიკაციის) შექმნის მთავარ მომენტებს, თუ რა არის ამ ყველაფრისთვის საჭირო. 1. ტექნიკური დავალება. 2. პლატფორმის შერჩევა ტექნიკური დავალების მიხედვით. 3. Try დაწყება პროექტის. 4. Catch(Debug) პროექტის ბაგებზე შემოწმება და გასწორება ამ ყველაფრისგან. 5. პროექტის დასრულება/ჩაბარება. ტექნიკური დავალება. ტექნიკური დავალების შედგენა მოცემა ხდება მომხმარებლის მიერ (ანუ ვინც შემდეგში უნდა ისარგებლოს ამ სისტემით), მაგრამ 99% შემთხვევაში ეს დავალება არასრულია, რადგან თვითონ არ იციან თუ რა უნდათ ბოლომდე და ამაში პროგრამისტმა უნდა დაეხმაროს (გადახედოს რა პროცესის ავტომატიზაცია ხდება ან რა პროცესი უნდა აისახოს და ამის მიხედვით ჩამოაყალიბოს დავალება). 99% პროცენტი იმიტომ რომ მხოლოდ 1% იცის თუ რა სურს და რა შედეგის მიღწევა უნდათ და როგორც წესი 1% თვითონ პროგრამისტები არიან :-) პლატფორმის(ენის) შერჩევა. ცოტა გადაუხვევ პლატფორმის არჩევის პუნკტს :-). სტატისტიკურად თუ გადავხედავთ ყველა დამწყებ პროგრამისტს უჩნდება შეკითხვა თუ რომელი ენის შესწავლით არის კარგი დაწყება. რაზედაც მე ყველას ვპასუხობ და უპასუხებ კიდეც პასკალს, რადგან პასკალში არის ყველა ის მომენტები და ასპეკტები პროგრამირების რაც შემდეგში დაჭირდება პროგრამისტს. პასკალში ის გაიგებს არს პროგრამირების. ბევრმა პროგრამისტმა არ იცის თუ როგორ და რანაირად სუნთქავს ესა თუ ის მომენტი პროგრამირებაში. მართალია ცოტათი რთულია პასკალით დაწყება მაგრამ პროგრამისტისთვის როგორც უკვე ავღნიშნე მთავარია გაერკვეს და ერკვეოდეს შინაარსში ამათუ იმ მომენტის. და ეს ყველაფერი არის პასკალში. ბევრი იტყვის და ურჩევს რომ დაიწყე C# ან Java უფრო მაგარიაო, არ დაუჯეროთ ესეთ მრჩეველებს, რადგან მათ უკვე გაიარეს საფეხურები სწავლის და ზემოდან გირჩევენ საბოლაოდ რა ჯობია მაგრამ დასაწყისისთვის რა ჯობია მაგაზე არ ფიქრობენ. მაგალითად ავიღოთ C# ან Java, გახსნი აიდეს, აიღებ ღილაკს დააგდებ ფორმაზე, ორჯერ დააკლიკებ (ან ლისენერს დაასმევ) და დაწერ თუ რას უნდა აკეთებდეს კოდის მონიშნულ მონაკვეთში და უალა მივიღეთ რაღაც პროგრამა ხომ? მაგრამ ეხლა შეხედეთ ამას რომ დამწყები აკეთებს აზრზე არ არის როგორ ხდება ეს ყველაფერი, ანუ როგორ ხვდება სისტემა რომ ეს ღილაკია, როგორ ხვდება სისტემა რომ ღილაკს დაეჭირა და არა სხვა რამეს, როგორ იქმნება ღილაკი, აი ესეთ წვრილმანებში იმალება არსი მთელი პროგრამირების, და ეხლა დამწყები რომ ეგრე ზედაპირულად გადახედავს ყველაფერს როგორ ფიქრობთ რთულ პროექტს დაწერს ან ააწყობს? პასკალი ამიტომ არის კარგი რომ ეს ყველაფერი იქ არ არის, ხელით გიწევს შექმნა გავლა და გაიასნება თუ როგორ იქმნება ღილაკი თვითონ წერ სისტემას რომ აღიქვას სისტემამ ეს ღილაკად, რომ დაეკლიკა ღილაკს და რომ შენს მიერ მითითებული კოდი უნდა შესრულდეს. C# ,Java , Delphi და სხვა მრავალი ამას მზამზარეულს გაძლევს და თითქოს მარტივად აკეთებ ყველაფერს მაგრამ საბოლაო ჯამში უკან სისტემაში რა ხდება არ იცი, შესაბამისად რთულ პროექტში ეგეთი მიდგომით შორს ვერ წახვალ, ვერ დააპტიმიზირებ კოდს და გაიჭედები როგორც ეს ბევრს მოსვლია თავის დროზე. მცნება კარგი პროგრამისტი თავის თავში მოიაზრებს ადამიანს ვისაც შეუძლია ამოცანის და მიხედვით პლატფორმის(ენის) შერჩევა, აქ საუბარია სწორად შერჩევაზე. იმის მტკიცება კიდე პროგრამისტის მხრიდან რომ ესა თუ ის ენა მაგარია ან ესა თუ ის პლატფორმა თანამედროვეა და მაგაზე წერა კარგია ვიდრე სხვაზე რადგან ეს სხვა მოძველდაო, მცდარია ამ ყველაფრის მტკიცება. რადგან საბოლაო ჯამში მომხმარებელს ვისთვისაც ეს ყველაფერი იქმენება არ აინტერესებ თუ რა ენაზე დაწერ ან რა ბაზას აირჩევ, მისთვის მთავარია საბოლაო რეზულტატი, რომ ეს ყველაფერი გაკეთდეს სწრაფად მაქსიმალურად ეფექტურად და მუშაობდეს სწრაფად და შეუფერხებლად და არა ის რომ ენები და ტექნოლოგიები გამოიყენე ან რა სინტაქსით წერე (ეს შემდეგში სამეგობრო წრეში შეგიძლია განიხლო, თუ რატომ ესა თუ ის არჩევანი), საბოლაო ჯამში კარგ პროგრამისტს უნდა შეეძლოს ისე შეარჩიოს პლატფორმა(ენა) რომელზეც დასმულ ამოცანას მაქსიმალურად ეფექტურად და სწრაფად გააკეთებს, ბიზნეს მოთხოვნებს დააკმაყოფილებს. მთავარია გაითავისო რომ ენას არ აქვს ბევრად არსებითი მნიშვნელობა, მთავარია გაიაზრო თუ სად გააკეთებ დასმულ ამოცანას მაქსიმალურად სწრაფად, ეფექტურად, კარგად და უმტკივნეულოდ. პრექტის დაწყება. აქ უკვე ყველაფერი შედარებით მარტივად ჩანს, რადგან პლატფორმა ტექნოლოგიები და ესეთი რამეები უკვე შერჩეულია და უშუალოდ კოდის წერაზეა საქმე, მაგრამ აქაც არის მთავარი მომენტები და ასპეკტები, როცა იწყებ ახალი პროექტის წერას გიხარია გსიამოვნებს, მაგრამ მთავარი არ უნდა დაივიწყო რომ სახლი რომ კარგად იდგეს საჭიროა მყარი ფუნდამენტი, ამიტომ "მყარი ფუნდამენტი" უნდა ჩაყარო პროექტში თავიდანვე, რომ შემდგომ არ გაგიჭირდეს. ძალიან ხშირად არასწორად ირჩევენ მიდგომას კლიენტ დბ სერვერულ სისტემებში, როცა ირჩევენ ბაზას თუ რომელ ბაზას გამოიყენებენ მთლიან ლოგიკას "თხრიან" კლიენტის მხარეს (ეს გამართლებულია კომერციულ პროექტებში რომლის გაყიდვაც გინდა რომ ამით ამბობ რომ შენ არ ხარ დბზე დამოკიდებული), როცა არის საშუალება რომ ლოგიკა ჩადონ ბაზის მხარეს, ამ ყველაფრის მხარდაჭერა შემდეგ უკვე თქვენთვისვე ადვილი იქნება, რადგან უმეტეს ნაწილს ცვლილებებისა შეგაქ ბაზის მხარეს და კლიენტის ნაწილს არ ეხები (თან იყენებ ბაზას მაქსიმალური დატვირთვით). ამის უარმყოფელი სასტავიც ჩითავს რომ რაუნდა ბიზნეს ლოგიკას ბაზის მხარეს მაგრამ კლიენტისთვის სულ ერთია სად ჩათხრი მთავარია რეზულტატი, და შენთვის მხარდასაჭერად კარგია ლოგიკა ბაზის მხარეს და თან ბაზას იყენებ მაქსიმალური ეფექტურობით. პროექტის გამართვა ეს ყველაზე რუტინული და არა სასიამოვნო საქმეა რადგან ბაგებისგან გიწევს პროექტის გასუფთავება და გასწორება. მართალია ყველა ბაგს ეგერევე ვერ გაასწორებ და ნახავ მაგრამ მაინც :-) პროექტის დასრულება/ჩაბარება ეს კიდე ყველაზე სასიამოვნო ნაწილია როცა ამთავრებ პროექტს და აბარებს. განსაკუთრებით მაშინ როცა ფულს ელოდები ამ ყველაფერში :-) მგონი სულ ეს იყო :-) თუ რამე გამომრჩა შემდეგში დავამატებ. ან თუ რამე შეცდომა იპოვეთ მითხარით და გავასწორებ.
  2. დონალდ კნუტი (Donald Ervin Knuth)სტენფორდის უნივერსიტეტის პროფესორი - პროგრამირება არის ხელოვნება (The Art of Computer Programming) ეს წიგნი ეხება ინფორმატიკაში გამოყენებად უმნიშვნელოვანესს ალგორითმებს. დევიდ გრის (David Gries) კორნელის უნივერსიტეტის პროფესორი (Cornell University), - პროგრამირება არის მეცნიერება (The Science of Programming) წიგნი პროგრამირების მეცნიერების შესახებ. იან სომერვილი (Ian Sommerville) შოტლანდიის წმინდა ანდრიას უნივერსიტეტის პროფესორი ( Univesity of St Andrews , Schotland), - პროგრამირება არის ინჟინერია (software engineering) ) წიგნი პროგრამული უზრუნველყოფის იჟინერიის შესახებ. პროგრამული უზრუნველყოფის თანამედროვე ტექნოლოგიები •ინფორმატიკის არჩევით თქვენ აირჩიეთ მეცნიერებისა და ტექნიკის ყველაზე სწრაფად განვითარებადი ნაწილი, 50 წლის წინ წარმოუდგენელი იყო ინფორმატიკაზე საუბარი როგორც მეცნიერებაზე, დღეს კი წარმოუდგენელია უნივერსიტეტი ინფორმატიკის ან კომპიუტერულ მეცნიერებათა ფაკულტეტის გარეშე; •პროგრამული უზრუნველყოფის გარეშე წარმოუდგენელი იქნებოდა კონტინენტებს შორის ფრენები და ფაქტიურად ვერც იარსებებნენ თანამედროვე ლაინერები, თანამედროვე ავტომობილები, მატარებლები და სხვა მრავალი. რადგანაც მათი პროექტირება ითხოვს საკმაოდ რთულ პროგრამულ უზრუნველყოფას. •პროგრამული უზრუნველყოფის გარეშე ფოთოაპარატით გადაღებული სურათი უნდა ყოფილიყო გამჟღავნებული, და შემდგომ დაბეჭდილი არ იარსებებდა კომპიუტერული თამაშები არ იარსებედბებდა Ipod , Iphone, Skype, GPS და ნებისმიერი ანგარიშის თუ დოკუმენტის აკრეფისათვის დაგჭირდებოდათ საბეჭდი მანქანა; •მრავალი ადამიანი ითვისებს ცოდნას ინფორმატიკის საფუძვლებზე თუმცა პროფესიონალური პროგრამირება წარმოადგენს ხელოვნების უფრო მაღალ დონეს; •საბაზო სასკოლო ცოდნით შესაძლებელია მარტივად მათემატიკური გამოთვლების წარმოება ხუთნიშნა რიცხვებზე თუმცა თუ თქვენ გადაწყვიტეთ გახდეთ ფიზიკოსი, ინჟინერი, ან პროგრამისტი სასკოლო მომზადება მათემათიკაში არასაკმარისი გახდება თქვენთვის; • ფაქტორები რომლებიც განასხვავებენ პროფესიონალური პროგრამირება მოყვარული პროგრამირებისაგან არის მოცულობა, ხანგრძლივობა და ცვალებადობა . პროფესიონალურ პროგრამირებაში აუცილებელია ისეთ პროგრამებთან შეხება რომლებიც შეიცავენ მილიონობით კოდის ტრიქონს, რომლებსაც მოუწევთ რამოდენიმე წლის ან ათწლეულის განმავლობაში მუშაობა და ამ დროის განმავლობაში განიცდიან არაერთ ცვლილებას. ბევრი პრობლემა არის უმნიშვნელო მართივ პროგრამებში თუმცა დი პროგრამებში მსგავსი პრობლემები სავალალო შედეგს იწვევს; •იმისათვის რომ გახდეთ პროფესიონალები თქვენ დაგჭირდებათ არა ერთი კურსის გავლა და მრავალი წიგნის დამუშავება, აუცილებელია სპეციალური მრავალწლიანი სასწავლო გეგმის გავლა სადაც მათემატიკური საფუძვლების გარდა იქნება მონაცემთა სტრუქტურები, ალგორითმების თეორია, ოპერაციული სისტემები, ხელოვნური ინტელექტი, მონაცემთა ბაზები, გამოთვლითი თექნიკა, კომპიუტერული ქსელები, პროექტების მართვა, გამოთვლითი მატემატიკა, გრაფიკა და სხვა მრავალი საგანი. •აუცილებელია პროგრამული უზრუნველყოფის ტექნოლოგიების საფუძვლიანი ცოდნა; •ბოლო წლებში აქტუალური გახდა ორი იდეა ხარისხიანი პროგრამული უზრუნველყოფის შემუშავებაში ობიექთ -ორიენტირებული კონსტრუირება და ფორმალური მეთოდები; •პროგრამული უზრუნველყოფის ობიექტ-ორიენტირებული აწყობა ხდება იმ იდეებიდან გამომდინარე რომ აუცილებელია მრავალჯერ მაღალი ხარისხის ელემენტების გამოყენება, ობიექტ-ორიენტირებული მიდგომა განსაზღვრავს რა ფორმის უნდა იყოს ესა თუ ის კომპონენტი განსაზღვრული. ნებისმიერი კომპონენტი უნდა იყოს დაფუძნებული ობიექტების გარკვეულ ტიპზე, ტერმინი ობიექტი ასახავს არამხოლოდ საგნობრივ არეებს როგორიცაა სამკუთხედი, მრავალკუთხედები არამედ უმნიშვნელოვანეს შიდა სისტემურ რესურს მაგალითად სიებს. •ობიექტ-ორიენტირებულმა მიდგომამ მკვეთრად შეცვალა პროგრამული უზრუნველყოფის ინდუსტრია, შესაბამისად მისი შესწავლა არის მომგებიანი; ფორმალური მეთოდები •ფორმალური მეთოდები წარმოადგენს ისეთი სახის მეთოდებს რომლებიც დაფუძნებულია მატემატიკური ლოგიკაზე და რომელთა გამოყენება საშუალებას იძლევა მივიღოთ ხარისხიანი პროგრამული უზრუნველყოფა; •პროგრამირების ერთ - ერთ სერიოზულ გამოწვევად შეიძლება ჩაითვალოს პროგრამული შეცდომები; •ფორმალური მეთოდების მიერ შესაძლებელია სიტუაციის საგრძნობლად გაუმჯობესება რასაც ჩვენ დავინახავთ მოცემულ კურსში; •პროექტირება კონტრაქტით განიხილება როგორც სისტემის სხვადასხვა მოდულებს შორის არსებული საკოტრაქტო ურთიეთობების რეალიზაცია. აბსტრაქცია •პროგრამა შესდგება მოდულებისგან რომელთაც გააჩნიათ განსხვავებული ინტერფეისი, სწორედ ეს ინტეფეისების განსხვავება წარმოადგენს აბსტრაქციას; პროგრამირებიდან პროგრამების ინჟინერიამდე •პროგრამირება - არის პროგრამების ინჟინერიის გული, მაგრამ არ არის სრულად პროგრამების ინჟინერია, რადგანაც ინჟინერიის კონცეფციები მიმართულია დიდი მოცულობის სისტემების შესაქნელად.
×