Collection.next+JSON Hypermedia Format

სულ რამდენიმე წუთის წინ IANA.org – მა დაასრულა ჩემს მიერ შექმნილი ჰიპერმედია ფორმატის სპეციფიკაციის რეგისტრაცია.

ამ მომენტისთვის სულ ეს არის. დეტალებს, მაგალითებს, და ა.შ. შემოგთავაზებთ მოგვიანებით! B-)

script ტეგის სასარგებლო დეტალები 2

წინა პოსტში ლაპარაკი მქონდა 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 ან სხვა რაიმე გასაღები სიტყვა). რა პრაქტიკული დანიშნულება აქვს ამ მცირე აღმოჩენას?
სრულად »

ტეგები: , ,

script ტეგის სასარგებლო დეტალები

იცოდით თუ არა, რომ, script ტეგს შესაძლებელია განვუსაზღვროთ id ატრიბუტი? ის თუ იცოდით, რომ, ამავე ტეგის type ატრიბუტის მნიშვნელობა შესაძლებელია იყოს text/html გარდა ცნობილი text/javascript და text/vbscript ცნობილი მნიშვნელობებისა?

რაში შეიძლება დაგვჭირდეს აღნიშნული ტეგის ეს შესაძლებლობები? პასახად რეალურ მაგალითს მოვიყვან!

JavaScript აპლიკაციებზე მუშაობისას HTML დოკუმენტში ხშირად გვიწევს ისეთი ვიზუალური კომპონენტების გამოყენება რომლებიც რეალურად ატარებენ დამხმარე ხასიათს და სინამდვილეში არ უნდა განეკუთვნებოდნენ ძირითად HTML დოკუმენტს. ყველაზე მარტივ მაგალითად შეგვიძლია განვიხილოთ არასტანდარტული შეტყობინების დიალოგური ფანჯრები. განსხვავებით JavaScript – ის მშობლიური alert() ფუნქციისა რომელიც გვიჩვენებს სისტემური შეტყობინების ფანჯარას. მსგავს სისტემურ შეტყობინების ფანჯრებზე არ გაგვაჩნია არანაირი ვიზუალური კონტროლის მექანიზმები რაც იწვევს არასტანდარტული ვიზუალური კომპონენტების გამოყენების აუცილებლობას.
სრულად »

ტეგები: , ,

Apple vs Adobe and why Adobe SUCKS

ერთადერთი მიზეზი რამაც ამ პოსტის დაწერსკენ მიბიძგა გახლავთ ვიდეო რომელიც გამომამზეურა 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 დემოები ამის დასამტკიცებლად).

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

ტეგები: , , , ,

git log – მცირე მიმოხილვა

არც კი ვიცი როგორ დავიწყო პოსტის წერა :) მოკლედ მოცემული პოსტი არ ატარებს არავითარ შემეცნებით ხასიათს და მას ვწერ მხოლოდ და მხოლოდ იმისათვის რომ GIT – ის კონკრეტულ ბრძანებათა კომბინაციები არ დამავიწყდეს და საჭიროების შემთხვევაში მეც და სხვა დაინტერესებულმა GIT – ის მომხმარებლებსაც ისარგებლონ (პირველრიგში გეხება შენ @ირაკლი :) ).

პროექტში შეტანილი ცვლილების რეპოზიტარიუმში ფუშის გაკეთებამდე აკრიფე:

$ git log origin/master.. –name-status – ბოლო ფუშის შემდეგ გაკეთებული ყველა კომიტის სანახავად. რეზულტატი:

1
2
3
4
5
6
7
commit 2ae4ee6bcad8fd0d507c54872772789ff1225f06
Author: Ioseb Dzmanashvili <ioseb.dzmanashvili@*****.com>
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 – მიიღებ იგივე შედეგს სხვა ფორმატირებით:

1
2
3
4
5
6
7
8
commit 2ae4ee6bcad8fd0d507c54872772789ff1225f06
Author: Ioseb Dzmanashvili <ioseb.dzmanashvili@gmail.com>
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” – ბოლო ორი დღის განმავლობაში გაკეთებული ცვლილებების ნახვა.

ეს არის და ეს “ფუშის” და “კომიტის” გამო მომიტევეთ სხვა უკეთესი შესატყვის არ მომდის თავში :)

ტეგები: ,

STL: Simple Template Language Preview

დიდი ხნის პაუზის შემდეგ მინდა წარმოგიდგინოთ ერთი ახალი პროექტი რომელზეც გარკვეული პერიოდია ვმუშაობ. ჯერჯერობით ეს არის პრივიუ რელიზი რომელიც მალე საბოლოო ფაზაში შევა და სრულ დოკუმენტაციასა და მაგალითებს შესაბამისად წარმოგიდგენთ. მანამდე კი მისი ნახვა და გადმოწერა შეგიძლიათ შემდეგი მისამართიდან: STL Library.

რა არის STL? როგორც სათაურმა მიგანიშნათ ეს არის PHP – ზე დაწერილი მარტივი და მოქნილი შაბლონების ენა და ამ ენის პროცესორი. STL არის მარტივად გამოყენებადი შაბლონების ენა რომელიც არის საკმაოდ მარტივად ასათვისებელი თუ თქვენ გაგაჩნიათ ნებისმიერ მსგავს შაბლონების ენასთან სულ მცირედი მუშაობის გამოცდილებაც კი. მისი სინტაქსი წააგავს Django, Jinja2, Smarty და სხვა მსგავსი შაბნოლენბის ენებს.

ბიბლიოთეკას არ აქვს არანაირი დამოკიდებულება სხვა გარე ბიბლიოთეკებზე და PHP – ს სპეციფიურ მოდულებზე. კი არის სრულად ე.წ. standalone და მისი გამოყენება შეგიძლიათ ნებისმიერ PHP პროექტში. სრულად »

ტეგები: , , ,

Google Code Jam 2009 და ქართველი ფინალისტი!

მაშ ასე დასრულდა Google Code Jam 2009. წლევანდელი წელი იმით იყო აღსანიშნავი, რომ, 25 ფინალისტს შორის მოხვდა ქართველი პროგრამისტი ნიკა ჯიმშელეიშვილი.

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

კიდევ ერთხელ ვულოცავ ნიკას!

იხ: წლევანდელი ფინალის რეზულტატები

ტეგები: ,

WebKit Patch: ჩემი მცირე წვლილი ბრაუზერების განვითარების ისტორიაში

რამდენიმე თვის წინ აღმოვაჩინე რომ FireFox – ის მორიგ განახლებაში დაუმატებიათ ახალი ფუნქციონალობა. კერძოდ კი JavaScript – ის String ობიექტს დაამატეს trim(), trimLeft() და trimRight() მეთოდები. ნებისმიერი პროგრამისტისთვის ცნობილია ამ მეთოდების დანიშნულება და მათი აუცილებლობა სტრიქონული ტიპის მონაცემებთან სამუშაოდ, შესაბამისად არც მე შეგაწყენთ მათი დეტალური განხილვით თავს :)

ECMAScript 5 სპეციფიკაციში განსაზღვრულია ახალი trim() მეთოდი, თუმცა Mozilla – ს გუნდი უფრო შორს წავიდა და დაამატა ორი ახალი, არასტანდარტული მეთოდი: trimLeft() და trimRight().

ამ მეთოდების აღმოჩენისა და გარჩევის შემდეგ შევეცადე მეპოვნა იგივე მეთოდები სხვა ბრაუზერებში და აღმოვაჩინე, რომ, იმ მომენტისათვის სხვა არცერთ ბრაუზერში მსგავსი რამ არ არსებობდა მათ შორის არც WebKit – ზე დაფუძნებულ ბრაუზერებში(Safari, Chrome). გამომდინარე იქედან რომ WebKit მიმაჩნია საუკეთესო ბირთვად დავინტერესდი შევძლებდი თუ არა ჩემით მსგავსი ფუნქციონალობის რეალიზებას. რამდენიმე საათიანი წვალების შემდეგ მივაღწიე იმას რომ უკვე ხელთ მქონდა WebKit – ის ე.წ. custom build რომელიც აღჭურვილი იყო მოზილას მსგავსი ფუნქციონალობით.

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

ამ ფაქტმა ძალიან გამახარა იმიტომ, რომ, აქედან მოყოლებული ნებისმიერი ბრაუზერი რომელიც იყენებს აღნიშნულ ბირთვს(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/

Code.ge Presents: Internet Explorer 6 Must Die!

კიდევ ერთხელ მოგესალმებით ყველას. ამჯერად წარმოგიდგენთ ერთ მინი პროექტს რომლის განცხორციელებაც დაგეგმილი მქონდა გასული წლის დეკემბერში მაგრამ გარკვეულ თუ გაურკვეველ მიზეზთა გამო ვერ გამოვნახო სულ რამდენიმე საათი რათა ამ იდეისთვის ხორცი შემესხა :D . თუმცა რამდენიმე დღის წინ არსაიდან აღმოცენებულმა Google – ს პროექტმა Chrome Frame კვლავ გამიღვიძა ამის სურვილი.

პროექტი Internet Explorer 6 Must Die! მიმართულია ინტერნეტის მომხმარებელთა შორის Internet Explorer 6.0 – ის შემცირებისა და ამ ბრაუზერის სიკვდილის( :D ) დასაჩქარებლად. მიუხედავად ყველაფაფრისა ამ ბრაუზერს ინტერნეტ ბაზრის 25% უკავია რაც ყოვლად დაუშვებელი და მიუღებელია, მითუფრო რომ Microsoft – მა ბოლო წლების მანძილზე გამოუშვა ორი, გაცილებით უკეთესი ბრაუზერი Internet Explorer 7 და Internet Explorer 8.

Internet Explorer 6 Must Die! არის მცირე ზომის სკრიპტი, რომელიც უნდა ჩასვათ თქვენს ვებ გვერდში. ხოლო თუ მომხმარებელი თქვენს გვერდს გახსნის Internet Explorer 6 – ის მეშვეობით დაინახავს მსგავს შეტყობინებას:

Picture 16

ნაჩვენები შეტყობინება მთლიანად დაფარავს გვერდს ისე რომ მომხმარეელი მხოლოდ გამჭვირვალე ფონის მიღმა შეძლებს გვერდის კონტენტის დანახავს. მომხმარებელს შეუძლია არჩევანი გააკეთოს და ძირითადი 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>

დანარჩენს კი სკრიპტი თავად გააკეთებს!

LinGEO – Now on iTunes!

LinGEO Dictionary Initial View აღესრულა! დღეს დილიდან ლაშამ ძალიან კარგი ამბავი შემატყობინა, ჩვენმა აპლიკაციამ Apple – ს კაბალური შემოწმების პროცესი წარმატებით გაიარა და დღეიდან უკვე LinGEO ოფიციალურად არის დამატებული Apple AppStore – ში, შესაბამისად ვისაც გაქვთ iTunes ანგარიში თამამად შეგიძლიათ გადმოწეროთ აპლიკაცია და დააინსტალიროთ თქვენს iPhone – ზე. კიდევ ერთხელ განასკუთრებული მადლობა ლაშას აპლიკაციის დასრულებისა და მისი გაუმჯობესებისათვის, ასევე იმ რთული პროცესის წარმატებით გავლისათვის რასაც აპლიკაციის AppStore – ში განთავსებას ახლავს თან! ასევე დიდი მადლობა Toto – ს შესანიშნავი რჩევებისა და გაუმჯობესებებისათვის და გიორგი(Flyer) კვიჟინაძეს ლოგოს შექმნისათვის!

ტეგები: , ,