Dec
02
2009
დიდი ხნის პაუზის შემდეგ მინდა წარმოგიდგინოთ ერთი ახალი პროექტი რომელზეც გარკვეული პერიოდია ვმუშაობ. ჯერჯერობით ეს არის პრივიუ რელიზი რომელიც მალე საბოლოო ფაზაში შევა და სრულ დოკუმენტაციასა და მაგალითებს შესაბამისად წარმოგიდგენთ. მანამდე კი მისი ნახვა და გადმოწერა შეგიძლიათ შემდეგი მისამართიდან: STL Library.
რა არის STL? როგორც სათაურმა მიგანიშნათ ეს არის PHP – ზე დაწერილი მარტივი და მოქნილი შაბლონების ენა და ამ ენის პროცესორი. STL არის მარტივად გამოყენებადი შაბლონების ენა რომელიც არის საკმაოდ მარტივად ასათვისებელი თუ თქვენ გაგაჩნიათ ნებისმიერ მსგავს შაბლონების ენასთან სულ მცირედი მუშაობის გამოცდილებაც კი. მისი სინტაქსი წააგავს Django, Jinja2, Smarty და სხვა მსგავსი შაბნოლენბის ენებს.
ბიბლიოთეკას არ აქვს არანაირი დამოკიდებულება სხვა გარე ბიბლიოთეკებზე და PHP – ს სპეციფიურ მოდულებზე. კი არის სრულად ე.წ. standalone და მისი გამოყენება შეგიძლიათ ნებისმიერ PHP პროექტში. სრულად »
ტეგები: PHP, RegExp, stl, template language
36 კომენტარი »
Nov
14
2009
მაშ ასე დასრულდა Google Code Jam 2009. წლევანდელი წელი იმით იყო აღსანიშნავი, რომ, 25 ფინალისტს შორის მოხვდა ქართველი პროგრამისტი ნიკა ჯიმშელეიშვილი.
პირველ რიგში თავად ეს ფაქტი იმსახურებს დიდი ყურადღებას და უდავოდ დიდი წარმატებაა, თუმცა, კიდევ ერთი სასიამოვნო ფაქტი არის ის რომ გუშინ შედგა ეს ფინალი და ნიკა მეექვსე ადგილზე გავიდა! ეს ჩემის აზრით ძალიან ძალიან ძალიან მნიშვნელოვანი ფაქტი იმსახურებს სათანადო ყურადღებასა და დაფასებას. ვულოცავ ამ უზარმაზარ წარმატებას ნიკას და ვუსურვებ სხვა უფრო ბრწყინვალე გამარჯვებებს ამ სფეროში და არა მარტო!
კიდევ ერთხელ ვულოცავ ნიკას!
იხ: წლევანდელი ფინალის რეზულტატები

ტეგები: პროგრამირება, Google Code Jam
10 კომენტარი »
Oct
13
2009
რამდენიმე თვის წინ აღმოვაჩინე რომ FireFox – ის მორიგ განახლებაში დაუმატებიათ ახალი ფუნქციონალობა. კერძოდ კი JavaScript – ის String ობიექტს დაამატეს trim(), trimLeft() და trimRight() მეთოდები. ნებისმიერი პროგრამისტისთვის ცნობილია ამ მეთოდების დანიშნულება და მათი აუცილებლობა სტრიქონული ტიპის მონაცემებთან სამუშაოდ, შესაბამისად არც მე შეგაწყენთ მათი დეტალური განხილვით თავს
ECMAScript 5 სპეციფიკაციში განსაზღვრულია ახალი trim() მეთოდი, თუმცა Mozilla – ს გუნდი უფრო შორს წავიდა და დაამატა ორი ახალი, არასტანდარტული მეთოდი: trimLeft() და trimRight().
ამ მეთოდების აღმოჩენისა და გარჩევის შემდეგ შევეცადე მეპოვნა იგივე მეთოდები სხვა ბრაუზერებში და აღმოვაჩინე, რომ, იმ მომენტისათვის სხვა არცერთ ბრაუზერში მსგავსი რამ არ არსებობდა მათ შორის არც WebKit – ზე დაფუძნებულ ბრაუზერებში(Safari, Chrome). გამომდინარე იქედან რომ WebKit მიმაჩნია საუკეთესო ბირთვად დავინტერესდი შევძლებდი თუ არა ჩემით მსგავსი ფუნქციონალობის რეალიზებას. რამდენიმე საათიანი წვალების შემდეგ მივაღწიე იმას რომ უკვე ხელთ მქონდა WebKit – ის ე.წ. custom build რომელიც აღჭურვილი იყო მოზილას მსგავსი ფუნქციონალობით.
ამ ფაქტით გამხნევებულმა გავარჩიე დოკუმენტაცია მოვამზადე პატჩი და გავუგზავნე WebKit – ის გუნდს. რა თქმა უნდა ამ ფაქტს მოყვა შესაბამისი განხილვა და კოდის უამრავი მოდიფიკაცია, საბოლოო ჯამში მივიღეთ სრულებით სახეცვლილი კოდი რომელიც რამდენიმე თვის დაგვიანების შემდეგ როგორც იქნა ჩადეს WebKit – ის ძირითად კოდში. მართალია ჩემი უყურადღებობისა თუ სხვა მიზეზების გამო კოდის ამ განახლებაში ჩემი სახელი და გვარი არ ფიგურირებს თუმცა ცვლილებას თნ აქვს დართული მთელი დისკუსია შესაბამისი კოდებით რაც მაძლევს იმის თქმის უფლებას რომ WebKit – ში ამ ფუნქციონალობის დამატება ჩემი დამსახურებაა და ნამდვილად არ მეთაკილება ამის თქმა
ამ ფაქტმა ძალიან გამახარა იმიტომ, რომ, აქედან მოყოლებული ნებისმიერი ბრაუზერი რომელიც იყენებს აღნიშნულ ბირთვს(Safari, Chrome, iPhone Safari, Android Browser და სხვა) ყველა აღჭურვილი იქნება იმ ფუნქციონალობით რომელშიც წვლილი მიმიძღვის, ჩემთვის როგორც დეველოპერისთვის ეს ფაქტი ძალიან მნიშვნელოვანია და იმედია არ დამზრახავთ ამ სიხარულისთვის!
კოდში შეტანილი ცვლილებები: http://trac.webkit.org/changeset/49423
დისკუსია პატჩის გარშემო: https://bugs.webkit.org/show_bug.cgi?id=26590
WebKit – ის ბილდი აღწერილი ფუნქციონალობით: http://nightly.webkit.org/
13 კომენტარი »
Sep
27
2009
კიდევ ერთხელ მოგესალმებით ყველას. ამჯერად წარმოგიდგენთ ერთ მინი პროექტს რომლის განცხორციელებაც დაგეგმილი მქონდა გასული წლის დეკემბერში მაგრამ გარკვეულ თუ გაურკვეველ მიზეზთა გამო ვერ გამოვნახო სულ რამდენიმე საათი რათა ამ იდეისთვის ხორცი შემესხა
. თუმცა რამდენიმე დღის წინ არსაიდან აღმოცენებულმა Google – ს პროექტმა Chrome Frame კვლავ გამიღვიძა ამის სურვილი.
პროექტი Internet Explorer 6 Must Die! მიმართულია ინტერნეტის მომხმარებელთა შორის Internet Explorer 6.0 – ის შემცირებისა და ამ ბრაუზერის სიკვდილის(
) დასაჩქარებლად. მიუხედავად ყველაფაფრისა ამ ბრაუზერს ინტერნეტ ბაზრის 25% უკავია რაც ყოვლად დაუშვებელი და მიუღებელია, მითუფრო რომ Microsoft – მა ბოლო წლების მანძილზე გამოუშვა ორი, გაცილებით უკეთესი ბრაუზერი Internet Explorer 7 და Internet Explorer 8.
Internet Explorer 6 Must Die! არის მცირე ზომის სკრიპტი, რომელიც უნდა ჩასვათ თქვენს ვებ გვერდში. ხოლო თუ მომხმარებელი თქვენს გვერდს გახსნის Internet Explorer 6 – ის მეშვეობით დაინახავს მსგავს შეტყობინებას:

ნაჩვენები შეტყობინება მთლიანად დაფარავს გვერდს ისე რომ მომხმარეელი მხოლოდ გამჭვირვალე ფონის მიღმა შეძლებს გვერდის კონტენტის დანახავს. მომხმარებელს შეუძლია არჩევანი გააკეთოს და ძირითადი 6 ბრაუზერიდან აირჩიოს ერთერთი.
ჩემის აზრით თითოეული ჩვენგანის აქტიურობა და მცდელობა იმისა რომ თუნდაც რამდენიმე ერთეულით შევამციროთ Internet Explorer 6 გარკვეული დროის შემდეგ მნიშნველოვან შედეგს გამოიღებს. ეს კი პირველ რიგში იმ ადამიანებისთვის არის მნიშნვნელოვანი რომლებიც ქმნიან ვებ საიტებს/აპლიკაციებს და რომლებიც უამრავ დროს ხარჯავენ Internet Explorer 6 – თან გაუთავებელ ბრძოლაში.
პროექტის საწყისი კოდი განთავსებულია GitHUB – ზე. მისი გამოყენებისათვის საკმარისია გადმოწეროთ სკრიპტის ბოლო ვერსიის zip არქივი შემდეგი მისამართიდან: http://github.com/ioseb/ie6mustdie/downloads.
გახსნათ არქივი თქვენთვის სასურველ დირექტორიაში ხოლო თქვენს ვებ გვერდში BODY ტეგის დახურვამდე მიუთითოთ შემდეგი JavaScript კოდი:
1
| <script type="text/javascript" src="path/to/ie6mustdiefolder/ie6mustdie.js"></script> |
დანარჩენს კი სკრიპტი თავად გააკეთებს!
40 კომენტარი »
Sep
26
2009
აღესრულა! დღეს დილიდან ლაშამ ძალიან კარგი ამბავი შემატყობინა, ჩვენმა აპლიკაციამ Apple – ს კაბალური შემოწმების პროცესი წარმატებით გაიარა და დღეიდან უკვე LinGEO ოფიციალურად არის დამატებული Apple AppStore – ში, შესაბამისად ვისაც გაქვთ iTunes ანგარიში თამამად შეგიძლიათ გადმოწეროთ აპლიკაცია და დააინსტალიროთ თქვენს iPhone – ზე. კიდევ ერთხელ განასკუთრებული მადლობა ლაშას აპლიკაციის დასრულებისა და მისი გაუმჯობესებისათვის, ასევე იმ რთული პროცესის წარმატებით გავლისათვის რასაც აპლიკაციის AppStore – ში განთავსებას ახლავს თან! ასევე დიდი მადლობა Toto – ს შესანიშნავი რჩევებისა და გაუმჯობესებებისათვის და გიორგი(Flyer) კვიჟინაძეს ლოგოს შექმნისათვის!
ტეგები: Apple, LinGEO, Objective-C/Cocoa
11 კომენტარი »
Sep
25
2009
რამდენიმე დღის წინ Google – მ გაახმაურა თავისი ახალი პროექტი სახელად Google Chrome Frame. ეს არის პლაგინი InternetExplorer – ისთვის რომელის ინსტალაციის შემდეგაც საიტები თუ მათ გააჩნიათ შესაბამისი META ტეგი, ჩაიტვირთებიან არა IE – ს ძრავის არამედ Google Chrome – ს ძრავის მეშვეობით. ეს ნიშნავს იმას რომ ყოველგვარი არათავსებადობის პრობლემა(რომელსაც 99% შემთხვევებში იწვევს IE) საერთოდ აღარ შეაწუხებს მომხმარებელს. როგორც აღმოჩნდა გუგლის ეს ნაბიჯი განპირობებული იყო მისი ახალი პროდუქტის – Google Wave გამო რომელიც ხელმისაწვდომი მომავალი კვირიდან გახდება. საინტერესო არის ის, რომ, გუგლმა IE – ს ყველა ვერსიის მხარდაჭერაზე განაცხადა უარი რადგანც ამ ბრაუზერებს არ აქვთ JavaScript – ისა და HTML5 – ის ახალი შესაძლებლობების მხარდაჭერა.

მაგრამ Wave – ს გამო შექმნილი პლაგინის გაოყენებაში არანაირად არ ვართ შეზღუდული და იგი შეგვიძლია გამოვიყენოთ ნებისმიერი ვებ საიტისთვის, რისი მაგალითიც არის ჩემი ბლოგი
თუ ამ გვერდს გახსნით IE6 – ის მეშვეობით მაშინათვე დაინახავთ Google Chrome Frame – ს ინსტალაციის შემოთავაზებას და იმ შემთხვევაში თუ დააინსტალირებთ პლაგინს თქვენს კომპზე არსებული IE6, IE7 და IE8 ავტომატურად იმუშავებს Chrome Frame რეჟიმში
ტექნიკურად ეს საკითხე გვარდება ძალიან მარტივად. პირველ რიგში საიტის HEAD სექციაში უნდა დავამატოთ შემდეგი META ტეგი:
1
| <meta http-equiv="X-UA-Compatible" content="chrome=1" /> |
თუ Google Chrome პლაგინი უკვე დაინსტალირებული აქვს მომხმარებელს ყველა ვერსიის IE იმუშავებს Google Chrome – ს ძრავით ისე რომ ამის შესახებ მომხმარებელს არაფერი ეცოდინება. სრულად »
ტეგები: browsers, chrome, google, IE Sucks
9 კომენტარი »