IE8 Beta: M$ – ის ნაბიჯი წინ!

images_ie8betalogo.gif

გუშინ ჩემთვის ცნობილი გახდა რომ M$ – მა გამოუშვა IE8 Beta ვერსია, რომლის გადმოწერა შესაძლებელია ამ მისამართიდან.

სიმართლე ითქვას ძალიან გამეხარდა, მიუხედავად იმისა რომ დღესდღეობით არსებულ ბრაუზერებს შორის დომინირებენ IE6(სრული საძაგლობა) და IE7(შედარებით ნაკლები საძაგლობა), და მათ აღმოფხვრას წლები დასჭირდება მაინც ძალიან სასიხარულოა M$ – ის ასეთი პროგრესული ნაბიჯი.

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

ტეგები: ,

IE vs W3C event handling

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

მიუხედავად იმისა, რომ, W3C – ს მიერ საკმაოდ მკაფიოდ არის ჩამოყალიბებული ივენთ მენეჯმენტის მოდელი, IE როგორც სხვა, ასევე ამ შემთხვევაშიც მოწოდების სიმაღლეზეა და თავის განსაკუთრებულ და “უფრო სწორ” მიდგომას გვთავაზობს, რაც საბოლოო ჯამში იწვევს ორმაგი(მინიმუმ) კოდის წერის აუცილებლობას. სრულად »

ტეგები: ,

I'll be back B-)

მივესალმები ჩემი ბლოგის მცირერიცხოვან და ჩემგან უყურადღებოდ მიტოვებულ მკითხველს!

გარკვეული (პირადი)მიზეზების გამო საერთოდ ვეღარ ვუთმობ დროს ბლოგს და ჩემთვის ძალიან საინტერესო საქმიანობას. სულ ცოტაც და მე დავუბრუნდები ბლოგს ბევრი და საინტერესო მასალით :)

ყველას გთხოვთ მომიტევოთ უყურადღებობა, როგორც კომენტარების ავტორებს რომელთა მოდერირება ასე დამიგვიანდა, ასევე GeoKBD – ს მომხმარებლებს. სულ ცოტა ხანიც და ყველაფერი თავის ადგილზე დადგება :)

დიდი მადლობა კეთილი კომენტარებისათვის, I’ll be back B-)

ტეგები:

GeoKBD & WordPress

რამდენიმე ადამიანის თხოვნით ჩავატარე გარკვეული ტესტირებები GeoKBD – ს WordPress – თან ინტეგრაციაზე… მიუხედავად იმისა რომ WP იყენებს TinyMCE – ს ტექსტების ვიზუალური რედაქტირებისათვის აღმოჩნდა რომ GeoKBD – ს ინტეგრირება მაინც ვერ მოხერხდა.

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

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

რაც შეეხება ინსტალაციას. ეს პროცესი ტრადიციულად მარტივია, გახსენით geokbd-0-2.zip და მის შიგნით არსებული ფაილები გადაიტანეტ ქვემოთ ნაჩვენებ კატალოგში:

/[ROOT]/wp-includes/js/tinymce/plugins/geokbd

ცხადია geokbd კატალოგი წინასწარ უნდა შექმნათ.

შემდეგ გახსენით ფაილი:

/[ROOT]/wp-includes/js/tinymce/tiny_mce_config.php

და მასში მოძებნეთ შემდეგი სტრიქონი:

$plugins = array('inlinepopups', 'autosave', 'spellchecker', 'paste', 'wordpress');

ეს სტრიქონი დაახლოვებით 28-ე ხაზზეა. შემდეგ გადააკეთეთ იგი შემდეგნაირად:

$plugins = array('inlinepopups', 'autosave', 'spellchecker', 'paste', 'wordpress', 'geokbd');

ანუ პლაგინების ჩამონათვალის მასივში საჭიროა geokbd პლაგინის სახელის მითითება.

სულ ეს არის და ეს :)

ტეგები:

Ajax: HTML ფორმის სერიალიზაცია POST რიქვესტისთვის

ვაგრძელებ სერიალიზაციის თემას, და ამჯერად შევეხები HTML ფორმის სერიალიზაციას. HTML ფორმის სერიალიზაციაში იგულისხმება მისი ველების სახელებისა და მნიშვნელობების ჩვეულებრივ პარამეტრი/მნიშვნელობა(parameter/value) სტრიქონში გადაყვანა. ეს ფორმატი ყველასთვის კარგად არის ცნობილი და მას აქვს ტრადიცულად შემდეგი სახე:

param1=value1&param2=value2&param3=value3

ანუ პარამეტრი/მნიშვნელობა წყვილების ერთობლიობა, სადაც წყვილის გამოყოფად გამოიყენება & სიმბოლო.

რა საჭიროა ფორმის ველებისა და მნიშნველობების ასეთი ფორმატში გადაყვანა? ეს მნიშვნელოვანი და აუცილებელია XMLHttpRequest (XHR) კონტექსტში. ცნობილია რომ ე.წ. “Ajax” აპლიკაციებში ფართოდ სწორედ ეს ობიექტი გამოიყენება, და უშუალოდ მისი მეშვეობით ხორციელდება ასინქრონული რიქვესტები(მოთხოვნები?) სერვერზე. გამომდინარე იქედან რომ XHR სერვერვთან კომუნიკაციისათვის იყენებს ჩვეულებრივ HTTP პროტოკოლს, მისი მეშვეობით სევერზე მონაცემების გაგზავნა შეგვიძლია ტრადიციულად ან POST ან GET მეთოდით.

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

რაც შეეხება POST მეთოდს, იგი გამოიყენება ისეთ შემთხვევაში როდესაც სერვერზე გასაგზავნი ინფორმაციის ოდენობა არის დიდი. გამომდინარე იქედან რომ GET მეთოდისაგან განსხვავებით ამ ინფორმაციის გაგზავნა სერვერზე ხდება არა URI – ს მეშვეობით არამედ ის იდება უშუალოდ HTTP – ს ტანში ეს შეზღუდვა გარკვეულწილად იხსენბა.

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

ტეგები: ,

JavaScript: ობიექტის JSON სერიალიზაცია

JSON (JavaScript Object Notation) – ნოტაცია დღესდღეობით ფართოდ გამოყენებადი და ძალიან მოხერხებული საშუალებაა ინფორმაციის გაცვლისათვის. გამომდინარე იქედან რომ იგი არის ჩვეულებრივი სტრიქონი, იგი არ არის დამოკიდებული არც ენაზე და არც პლატფორმაზე.

JSON თანაბარი წარმატებით გამოიყენება ისეთი მაღალი დონის ენებში როგორიც არის: Java, PHP, Ruby, C#, JavaScript და ა.შ. გარდა ამისა იგი არის ერთერთი შეუცვლელი ნაწილი თანამედროვე Ajax აპლიკაციებისა და ფართოდ გამოიყენება კლიენტსა და სერვერს შორის ინფორმაციის მიმოცვლისათვის. სრულად »

ტეგები: ,

რატომ არ ბლოგერობენ ქართველი დეველოპერები?

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

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

დღეს ვეძებდი და სულ თითზე დასათვლელი ტექნიკური ტიპის ბლოგები ვიპოვე:

  • http://www.code.ge/ – თქვენი მონა მორჩილის ბლოგი;
  • http://www.way2web2.com/ – რომელიც სულ ახლახანს გაიხსნა;
  • http://www.tutorials.ge/ – რომელიც გარკვეული პერიოდია არსებობს და ჩემის აზრით დამწყებთათვის კარგი ადგილია გარკვეული ცოდნის მისაღებად;
  • http://www.freshblurbs.com/ – ძალიან მაღალი დონის ბლოგია, თუმცა არაქართულენოვანი;
  • http://www.about.ge/blog/ – ზოგადი ტექნიკური ბლოგი
  • http://blog.gogelia.ge/ – ბლოგი Apple – ს შესახებ

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

მაშ რატომ არ ბლოგერობენ ქართველი დეველოპერები? ალბათ ამის არგუმენტი იქნება დრო რომელიც ასე ძვირი ღირს… მაგრამ მერწმუნეთ თვეში სამი/ოთხი პოსტის გაკეთება არცთუ დიდი დროს მოითხოვს :)

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

ტეგები:

GeoKBD 0.3.1 – მორიგი გაუმჯობესებები

პირველ რიგში დიდი მადლობა სკრიპტის მომხმარებლებს აღმოჩენილი პრობლემებისა და გაუმჯობესებების შემოთავაზებისათვის!

ეს მცირე განახლება მოიცავს შემდეგ გაუმჯობესებებს:

დაიხვეწა GeoKBD.map() მეთოდის გამოყენების მექანიზმი და აგრეთვე გაფართოვდა მისი შესაძლებლობი.

  • ამ მეთოდის გამოყენება შეიძლება უპარამეტროდ, კერძოდ კი თუ მას არ გადავცემთ არცერთ პარამეტრს, კლავიატურის მიბმა მოხდება დოკუმენტში არსებული ყველა ფორმის ყველა ტექსტურ ველზე. ამის მისაღწევად საკმარისია შემდეგი კონსტრუქცია:
        GeoKBD.map();
    
  • მეთოდს პირველ პარამეტრად შეგვიძლია გადავცეთ არა უბრალოდ ფორმის სახელი სტრიქონის მეშვეობით, არამედ ფორმის დასახელებების მასივი:
        GeoKBD.map(['my_form_1', 'my_form_2']);
    

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

        GeoKBD.map('my_form_1');
        GeoKBD.map('my_form_2');
    
  • დაიფიქსა შეცდომა როდესაც პარამეტრად გადაცემული ფორმის არ არსებობის შემთხვევაში სკრიპტი აგდებდა შეცდომებს;
  • დაიფიქსა WYSIWYG რედაქტორებზე მიბმის დროს აღმოჩენილი შეცდომა Alt და Ctrl კლავიშებთან დაკავშირებით. ამჯერად ეს კლავიშები მუშაობს;

ამ შეცდომების აღმოჩენისათვის განასკუთრებულ მადლობას ვუხდი Rocko – ს და ლევანჩოს :)

ტეგები:

Firefox & Google – ქებამ აწყინათ? სირცხვილია!

firefoxlogo2.png მოგეხსენებათ სულ ახლახანს Google – მ მომხმარებლებისათვის ნელნელა დაიწყო GMail – ის ახალი ვერსიის გააქტიურება. სიმართლე ითქვას განსაკუთრებული არაფერი გხვდება თვალში, თუმცა გარკვეული დეტალები დახვეწილია და პრინციპში სასიამოვნოდ. როგორც თავად მწარმოებელი აცხადებს ძირითადი ცვლილება მოხდა JavaScript – ის არქიტექტურაში… არ ვიცი მე პირადად ასეთი რა შეცვალეს მაგრამ ასევე გვამცნეს რომ თუ გვინდოდა GMail – ის ახალი ვერსიით სარგებლობა უნდა გაგვეთიშა FireBug, რამეთუ ეს უკანასკნელი GMail – ის მუშაობას ხელს უშლის და ანელებს.

გასაგებია რომ ასეთი რამ შესაძლებელია… და დავუშვი მეც ეს აზრი მაგრამ… გუშინ საღამოთი Rocko – მ მითხრა რომ GMail მის FireFox – ს ქრეშავს… მე პირადად მართლა არაფერი შემიმჩნევია მსგავსი… მაგრამ ამ დიალოგის შემდეგ გადავამოწმე GMail და მართლა დამიქრეშა FF… ჩემთვის ეს ხდება იმ შემთხვევაში თუ სხვა ექაუნთში შესვლას ვცდილობ (მოგეხსენებათ რომ GMail გვაძლევს ერთდროულად მრავალი ექაუნთის კონფიგურაციის საშუალებას). არადა ორი დღის წინ მართლა არ სჭირდა მსგავსი რამ!

მომენტალურად დამებადა კითხვა, საერთოდ რა შუაშია FireBug? Google – ს ქებულ JavaScript დეველოპერებს დაავიწყდათ წერა? ან ასეთი რა შეცვალეს “არქიტექტურაში”? ნამდვილად არ მესმის… და არც ვაპირებ გავიგო…

ეხლა ერთი ორი ტკბილი სიტყვა Firefox – ის შესახებ. ვინც მიცნობს ყველამ იცის რამდენად დიდ პატივს ვცემ ამ ბრაუზერს, და რამდენად შეუცვლელია ის ჩემთვის(და არამარტო) დეველოპმენტში. მაგრამ მარტო დეველოპმენტით ხომ არ შემოიფარგლება ინტერნეტთან ურთიერთობა? 2.0.0.8 ვერსიის მერე ენით აუწერელი სისულელეები სჭირს ამ ბრაუზერს…

  1. მეხისერებას ჭამს უსაზღვროდ, გუშინ მაგალითად მთელი დღის მუშაობის მერე 700mb - ზე მეტი ეკავა;
  2. 2.0.0.9 ვერსიის გამოსვლის შემდეგ გაურკვეველი პრობლემები გაუჩნდა FireBug – ს. და პროექტის გარკვეულ პეიჯებზე იგი არ მუშაობს(იგივე ქცევა შეინიშნება ვინდოუსზეც და მაკინტოშსზეც)
  3. რამდენიმე დღის წინ მაკზე, მუშაობისას FF – მა ამაყად განმიცხადა რომ გამოვიდა HTML ვალიდატორის განახლება… ტრადიციულად განვაახლე ეს დამატება… და რა მივიღე საბოლოო ჯამში? ნახევარი FF გადიზეიბლებული დამხვდა… მხოლოდ გვერდს ხსნიდა და მეტს არაფერს არ აკეთებდა!! ბოლოს გავარკვიე რომ ამ ვალიდატორისთვის Leopard აღმოჩნდა “Not Supported Platform”

არ ვიცი… რა დასკვნის გაკეთება შეიძლება? M$ + Google + Apple + Mozilla Foundation ყველა ერთად SUCKS!

ტეგები:

GeoKBD – TinyMCE Dedicated Plugin 0.1

tinymce.gif მაშ ასე, ვაგრძელებ GeoKBD – სთან თამაშს :) ამჯერად შევქმენი ცნობილი WYSIWYG რედაქტორის TinyMCE – ს პლაგინი. მართალია GeoKBD – ს მასზე მიბმა არ წარმოადგენს არც პლაგინის გარეშე პრობლემას, მაგრამ როგორც ჩანს პლაგინის არსებობა გარკვეულწილად უფრო კომფორტულს ხდის ამ სკრიპტის მოხმარებადობას.

პლაგინის დაარქივებული ვერსიის გადმოწერა შესაძლებელია SVN რეპოზიტორიდან.

რაც შეეხება ინსტალაციას… სრულად »

ტეგები: ,