Dec
02
2010
წინა პოსტში ლაპარაკი მქონდა script ტეგის id ატრიბუტისა და მისი გამოყენების შესახებ. ცოტაოდენი ექპსერიმენტების შემდეგ კიდევ ერთი სასარგებლო გამოყენება ვუპოვე ამ ატრიბუტს.
მაგალითისათვის განვიხილოთ რეალური კოდი:
1 2 3 4
| <script type="text/javascript" id="widget">
var script = document.getElementById("widget");
console.log(script);
</script> |
კოდის შესრულების შედეგად კონსოლი გამოგვიტანს DOM ობიექტს რომელიც რეალურად არის ის script ელემენტი რომლის შიგნითაც სრულდება ნაჩვენები კოდი.
ერთი შეხედვით ბანალური კოდია… თუმცა მიაქციეთ ყურადღება რომ script ტეგის შიგნით კოდიდან “მშობელ” ელემენტზე წვდომა ხდება getElementById() მეთოდის მეშვეობით, რადგან, სხვა ალტერნატიული გზა არ არსებობს(მაგ. this ან სხვა რაიმე გასაღები სიტყვა). რა პრაქტიკული დანიშნულება აქვს ამ მცირე აღმოჩენას?
სრულად »
ტეგები: JavaScript, JavaScript DOM, JavaScript WTF
7 კომენტარი »
Nov
24
2010
იცოდით თუ არა, რომ, script ტეგს შესაძლებელია განვუსაზღვროთ id ატრიბუტი? ის თუ იცოდით, რომ, ამავე ტეგის type ატრიბუტის მნიშვნელობა შესაძლებელია იყოს text/html გარდა ცნობილი text/javascript და text/vbscript ცნობილი მნიშვნელობებისა?
რაში შეიძლება დაგვჭირდეს აღნიშნული ტეგის ეს შესაძლებლობები? პასახად რეალურ მაგალითს მოვიყვან!
JavaScript აპლიკაციებზე მუშაობისას HTML დოკუმენტში ხშირად გვიწევს ისეთი ვიზუალური კომპონენტების გამოყენება რომლებიც რეალურად ატარებენ დამხმარე ხასიათს და სინამდვილეში არ უნდა განეკუთვნებოდნენ ძირითად HTML დოკუმენტს. ყველაზე მარტივ მაგალითად შეგვიძლია განვიხილოთ არასტანდარტული შეტყობინების დიალოგური ფანჯრები. განსხვავებით JavaScript – ის მშობლიური alert() ფუნქციისა რომელიც გვიჩვენებს სისტემური შეტყობინების ფანჯარას. მსგავს სისტემურ შეტყობინების ფანჯრებზე არ გაგვაჩნია არანაირი ვიზუალური კონტროლის მექანიზმები რაც იწვევს არასტანდარტული ვიზუალური კომპონენტების გამოყენების აუცილებლობას.
სრულად »
ტეგები: JavaScript, JavaScript DOM, JavaScript WTF
5 კომენტარი »
May
03
2010
ერთადერთი მიზეზი რამაც ამ პოსტის დაწერსკენ მიბიძგა გახლავთ ვიდეო რომელიც გამომამზეურა Adobe – მ Flash – ის თაჩსკრინიანი მოწყობილობებისათვის მზაობის დასამტკიცებლად, მაგრამ, ჩემის აზრით მათ მხოლოდ თავის მორიგ უსუსურობას გაუსვეს ხაზი. სულ ეს იყო სტივ ჯობსის ღია წერილისადმი პასუხი?
ამონარიდი აღნიშნული გვერდიდან:
Everyone who actually programs in Flash knows that there is now full multi-touch and gesture support available. Unfortunately, some people still like to make claims to the contrary in an effort to make Flash appear behind the times. It is fortunately very easy to prove them wrong. Below is a great example built by StruckAxiom that showcases the new APIs that we have made available in Flash Player 10.1.
ჩემი განრისხება(:D) გამოიწვია ფლეშ პლეიერის ვერსიამ – 10.1. რა არის ასეთი უცნაური ამ ვერსიაში და რატომ იმოქმედა ამ ვიდეო რგოლმა ასე უარყოფითად? პასუხი მარტივია: რადგან დღეს არის 2010 წლის 3 მაისი და სტივ ჯობსის ღია წერილის პასუხად ადობი მსგავსი უსუსური დემო ვიდეოებით ცდილობს თავის მართლებასა და პასუხის გაცემას, მაშინ, როდესაც ადობის მსგავსი დემო(და შესაბამისად დასრულებული პროდუქტიც) უნდა დაედო არაუგვიანეს 2007 წლისა რადგან პირველი iPhone – ს პრეზენტაცია შედგა 2006 წლის დეკემბერში.
3.5 წელი არის უზარმაზარი დრო რომელსაც რატომღაც არავინ(ძირითადად Flash და ე.წ. Open ტექნოლოგიების ქომაგები) არ აქცევს დიდ ყურადღებას და თურმე სტივ ჯობსი არის “ბუა” რომელმაც აკრძალა ფლეში iTouch(iPode Touch/iPhone/iPad) ოჯახის მოწყობილობებზე.
მათთვის ვისაც არ გახსოვთ(ან არ იცით, ან არ გინდათ რომ გახსოვდეთ, ან არ გინდათ დანახვა და ა.შ.) რამდენიმე მნიშვნელოვან ფაქტს(ძირითადად კრიტიკას) შეგახსენებთ რომელიც iPhone – ს გამოჩენას სდევდა თან:
- Java დეველოპერთა და ქომაგთა ურიცხვმა არმიამ ეფლი და მისი მესვეურნი მონათლეს სულელებად მობილურ მოწყობილობებში უკვე “გამოცდილი” პლატფორმის იგნორირებისათვის. მიზეზი გახლდათ ეფლის მიერ მისივე საკუთარ ტექნოლოგიებზე – ObjectiveC + Cocoa Touch გაკეთებული ფსონი. იყო უამრავი ცინიკური გამონათქვამი რომ ამ ტექნოლოგიების მეშვეობით არავინ არ დაწერდა აპლიკაციებს, არავინ აპირებდა ამ ეფლის მიერ ძალით “შემოგდებული” ტექნოლოგიების ათვისებას და ა.შ და ა.შ. შედეგი? დღევანდელი მონაცემებით უკვე 200000 – მდე აპლიკაციაა დაწერილი სწორედ ამ ტექნოლოგიების მეშვეობით.
- Flash – ის იგნორირების გამო ამ ტექნოლოგიის ქომაგებმა ცხადია შეაჩვენეს ეფლი, რამეთუ, ფლეშის ურიცხვი დეველოპერები დაკარგა თურმე ეფლმა. შედეგი? დღევანდელი მონაცემებით უკვე 200000 – მდე აპლიკაციაა დაწერილი სწორედ ამ ტექნოლოგიის გამოყენების გარეშე.
- აპლიკაციების დამოწმების კაბალური პროცესი(ეს მართლაც ასეა და ამის უარყოფას აზრი არ აქვს) ასევე წინასწარ გამოცხადდა ეფლის ფიასკოდ. შედეგი? ისევ და ისევ დაახლოვებით 200000 აპლიკაცია.
3.5 წელი საკმარისზე მეტი დროა რათა გავაკეთოთ გარკვეული ანალიზი და ვთქვათ(დავინახოთ და ვაღიაროთ?), რომ:
- Flash – ის არ არსებობა iTouch პლატფორმაზე სინამდვილეში არავითარი დანაკლისი არ არის.
- თურმე Flash – ის გარეშეც იწერება კარგი აპლიკაციები.
- თურმე ვიდეოს ყურება ონლაინ რეჟიმში არ საჭიროებს Flash – ს.
- …
- და თურმე ძალიან ბევრი რაღაცის გაკეთება შიძლება Flash – ის გარეშე.
სად იყო ადობი მთელი ამ წლების მანძილზე? რატომ არ მოახდინა სათანადო რეაგირება ტექნოლოგიურ ცვლილებებსა და ძვრებზე? თუ რადგან იმ პერიოდისთვის რეალური ალტერნატივა არ გააჩნდა ჰქონდა მოდუნების საფუძველი? რამდენადაც უარყოფითი არ უნდა იყოს ეფლის როლი ამ დრამაში ერთადერთი დამნაშავე არის ზუსტად ადობი თავისი უმოქმედობის გამო. მოთქმა გოდება იმ პლატფორმის მხარდაჭერის უარყოფაზე რომელიც რეალურად არ არსებობს და არ არსებობს უკვე მეოთხე წელია არის უბრალოდ სასაცილო და საკუთარი შეცდომებისა და უუნარობის სხვაზე გადაბრალების მცდელობა. თავისი უმოქმედობით ადობიმ: ა) დაკარგა ეფლის მობილური მოწყობილობების ბაზარი; და ბ) დაკარგა ეს M$ – ის ფონზე რომელსაც გააჩნია ფლეშის რეალური ალტერნატივა და დიდი ალბათობით Windows Mobile 7 – ზე ფლეშს ვერასოდეს ვერ ვიხილავთ.
ახლა რაც შეეხება სტივ ჯობსის მიერ ფლეშის ალტერნატივად გამოცხადებულ HTML5 – ს რომელიც ერთის მხრივ ეფლის პროდუქტების “ექსპერტებმა” მძაფრად დაიხვიეს ხელზე და აღტაცებულები გაიძახიან ამ ბაზვორდად ქცეულ აბრევიატურას რადგან ეს თქვა სტივმა(იმჰოტეპმა?) ხოლო მეორეს მხრივ ფლეშის გულდათუთქული ქომაგნი რომელიც წარმადობას უწუნებენ HTML5 – ს(ცხადია ამ შემთხვევაში მოიაზრება HTML5/CSS/JavaScript კომპლექსურად) – . მაგრამ არცერთი მხარე არ უშვებს იმ აზრს რომ HTML5 არ არის Flash – ის რეალური ალტერნატივა, არა! და შეუძლებელია რომ გახდეს უახლოვეს მომავალში. ეს არის რაციონალური კომპრომისი რომელიც გაცილებით უფრო ნატურალურია ბრაუზერის კონტექსტში ვიდრე სხვა(Flash, Silverlight, Java FX) არსებული ტექნოლოგიები თუმცა გარკვეულწილად ნაკლებეფექტური. მიუხედავად ამისა არსებობს უამრავი დეტალი რაც ამ “ტექნოლოგიას” მეტად ეფექტურად გამოყენების საშუალებას იძლევა(რაც სხვათაშორის დიდწილად მხოლოდ Webkit – ის დამსახურებაა):
- ტეგების მდიდარი სემანტიკური და სტრუქტურული არსენალი
- ვებ ფორმები
- CSS3 + CSS3 Transformations & Animations
- Canvas 2D გრაფიკასთან სამუშაოდ
- SVG ინტერაქტიული 2D გრაფიკისთვის
- შედარებით დახვეწილი და საკმარისად სწრაფი JavaScript
- ვიდეო და აუდიო
- …
- და დაამატეთ ამას კონტენტის ინტეროპერაბელურობის ხარისხი არა მხოლოდ ბრაუზერების დონეზე(!)
არ უვარგა HTML5 – ს წარმადობა? არ არის პრობლემა… როგორც აქამდე არ არსებობდა Java და Flash ამ პლატფორმისთვის და მიუხედავად ამისა უამრავი შესანიშნავი პროდუქტი შეიქმნა ასევე შეიქმნება უამრავი შესანიშნავი პროდუქტი სწორედ დაბალი წარმადობის მქონე HTML5 – ის მეშვეობით(იხ. თუნდაც iAd დემოები ამის დასამტკიცებლად).
დარწმუნებული ვარ ამ პოსტის წამკითხავი ანტი ეფლისტები ტროლინგში და ეფლის ფანბოიზმში დამდებენ ბრალს თუმცა ცოტა საკითხისადმი რაციონალური მიდგომა და დამოკიდებულება არც თქვენ გაწყენთ რადგან მეორე მხრიდან თქვენ არ აღმოჩნდეთ იგივე როლში
ტეგები: Adobe, Apple, Flash, iPad, iPhone
16 კომენტარი »
Mar
15
2010
არც კი ვიცი როგორ დავიწყო პოსტის წერა
მოკლედ მოცემული პოსტი არ ატარებს არავითარ შემეცნებით ხასიათს და მას ვწერ მხოლოდ და მხოლოდ იმისათვის რომ GIT – ის კონკრეტულ ბრძანებათა კომბინაციები არ დამავიწყდეს და საჭიროების შემთხვევაში მეც და სხვა დაინტერესებულმა GIT – ის მომხმარებლებსაც ისარგებლონ (პირველრიგში გეხება შენ @ირაკლი
).
პროექტში შეტანილი ცვლილების რეპოზიტარიუმში ფუშის გაკეთებამდე აკრიფე:
$ git log origin/master.. –name-status – ბოლო ფუშის შემდეგ გაკეთებული ყველა კომიტის სანახავად. რეზულტატი:
commit 2ae4ee6bcad8fd0d507c54872772789ff1225f06
Author: Ioseb Dzmanashvili
Date: Thu Mar 11 12:00:16 2010 +0400
changed exception handling logic
M uroute.lib.php
თუ –name-status ოპციას შეცვლი –stat – ით:
$ git log origin/master.. –stat – მიიღებ იგივე შედეგს სხვა ფორმატირებით:
commit 2ae4ee6bcad8fd0d507c54872772789ff1225f06
Author: Ioseb Dzmanashvili
Date: Thu Mar 11 12:00:16 2010 +0400
changed exception handling logic
uroute.lib.php | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
ასევე –since ოპციის მეშვეობით შესაძლებელია დროის შუალედითის მითითება:
$ git log –since=”2 days ago” – ბოლო ორი დღის განმავლობაში გაკეთებული ცვლილებების ნახვა.
ეს არის და ეს “ფუშის” და “კომიტის” გამო მომიტევეთ სხვა უკეთესი შესატყვის არ მომდის თავში
ტეგები: git, github
კომენტარები »
Dec
02
2009
დიდი ხნის პაუზის შემდეგ მინდა წარმოგიდგინოთ ერთი ახალი პროექტი რომელზეც გარკვეული პერიოდია ვმუშაობ. ჯერჯერობით ეს არის პრივიუ რელიზი რომელიც მალე საბოლოო ფაზაში შევა და სრულ დოკუმენტაციასა და მაგალითებს შესაბამისად წარმოგიდგენთ. მანამდე კი მისი ნახვა და გადმოწერა შეგიძლიათ შემდეგი მისამართიდან: STL Library.
რა არის STL? როგორც სათაურმა მიგანიშნათ ეს არის PHP – ზე დაწერილი მარტივი და მოქნილი შაბლონების ენა და ამ ენის პროცესორი. STL არის მარტივად გამოყენებადი შაბლონების ენა რომელიც არის საკმაოდ მარტივად ასათვისებელი თუ თქვენ გაგაჩნიათ ნებისმიერ მსგავს შაბლონების ენასთან სულ მცირედი მუშაობის გამოცდილებაც კი. მისი სინტაქსი წააგავს Django, Jinja2, Smarty და სხვა მსგავსი შაბნოლენბის ენებს.
ბიბლიოთეკას არ აქვს არანაირი დამოკიდებულება სხვა გარე ბიბლიოთეკებზე და PHP – ს სპეციფიურ მოდულებზე. კი არის სრულად ე.წ. standalone და მისი გამოყენება შეგიძლიათ ნებისმიერ PHP პროექტში. სრულად »
ტეგები: PHP, RegExp, stl, template language
38 კომენტარი »
Nov
14
2009
მაშ ასე დასრულდა Google Code Jam 2009. წლევანდელი წელი იმით იყო აღსანიშნავი, რომ, 25 ფინალისტს შორის მოხვდა ქართველი პროგრამისტი ნიკა ჯიმშელეიშვილი.
პირველ რიგში თავად ეს ფაქტი იმსახურებს დიდი ყურადღებას და უდავოდ დიდი წარმატებაა, თუმცა, კიდევ ერთი სასიამოვნო ფაქტი არის ის რომ გუშინ შედგა ეს ფინალი და ნიკა მეექვსე ადგილზე გავიდა! ეს ჩემის აზრით ძალიან ძალიან ძალიან მნიშვნელოვანი ფაქტი იმსახურებს სათანადო ყურადღებასა და დაფასებას. ვულოცავ ამ უზარმაზარ წარმატებას ნიკას და ვუსურვებ სხვა უფრო ბრწყინვალე გამარჯვებებს ამ სფეროში და არა მარტო!
კიდევ ერთხელ ვულოცავ ნიკას!
იხ: წლევანდელი ფინალის რეზულტატები

ტეგები: პროგრამირება, Google Code Jam
15 კომენტარი »