არქივი ივლისი, 2008

Cuil(a.k.a cool) vs Google Competition

დღეს Techcrunch – ზე გაჟღერდა ამ უცნაური სახელის მქონე ახალი საძიებო სისტემის შესახებ სახელად Cuil!

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

მაგრამ, როგორც დავად Cuil – ის ( :D ) საიტზე წერია:

Welcome to Cuil—the world’s biggest search engine. The Internet has grown. We think it’s time search did too.

ეს არის მსოფლიოს უდიდესი საძიებელი სისტემა… თუ ცოტა ხანი გაეთამაშებით მას, მიუხედავად სიმპატიურად დალაგებული რეზულტატებისა მას საკმაოდ ბევრი რამ აკლია :) თუმცა, ზოგადად, რამდენად მნიშვნელოვანია ეს მომენტი?

ჩემი პირადი აზრით და ღრმა რწმენით საჭიროა ისეთ მაღალხარისხიან მონსტრსაც ჰყავდეს კონკურენტი როგორიც არის ყველასათვის კარგად ცნობილი და “საყვარელი” Google. ალბათ კონკურენციის შანსები რეალურია რადგან ეს სისტემა სწორედ ექს გუგლერების მიერ არის შექმნილი!

Enjoy Cuil B-)

Updated: Cuil – ის ავტორი

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

ტეგები:

Beyond REST? Building data services with XMPP

ძალიან საინტერესო და დამაინტრიგებელი პრეზენტაცია XMPP – სა და ReST – ის შესახებ.

არ ვიცი რამდენად ხართ დაინტერესებული ვებ სერვისებით და კონკრეტულად ReST – ით(SOAP Definitely SUCKS), მაგრამ დიდი ენთუზიაზმით განვიხილავდი ამ თემას თქვენთან ერთად :)

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

ასევე გადახედეთ del.icio.us – ის ავტორის მოსაზრებებს ამ თემაზე: Beyond rest

ტეგები:

საინტერესო JavaScript ტესტი meebo.com – ზე

ეხლახანს meebo.com – ზე შევიარე, და რატომღაც ვაკანსიების განყოფილებას გადავხედე, დამაინტერესა რა პოზიციებზე აქვს ვაკანსიები ამ კომპანიას… ერთერთი აღმოჩნდა javascript engineer (javascript ninja) და რატომღაც გადავხედე :P

პოსტში, ვაკანსიის აღწერის გარდა მითითებულია რამდენიმე JavaScript – თან დაკავშირებული შეკითხვა, და შევეცადე პასუხები გამეცა, ჩემის აზრით ეს დაგაინტერესებთ სრულად »

ტეგები: ,

PHP: nl2p(aragraph) vs nl2br

როგორ იქცევით ისეთ შემთხვევაში, როდესაც საჭიროა HTML textarea ელემენტიდან მიღებული ტექსტის, HTML დოკუმენტში უცვლელად გამობეჭვდაა საჭირო ანუ ტექსტის ფორმატირების გათვალისწინებით?

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

მაგალითად ასეთი ტექსტი:

ეს არის ჩვეულებრივი აბზაცი.

ეს არის შემდეგი აბზაცი...

და კიდევ ერთი აბზაცი..

ამ შემთხვევაში ტექსტის გამოსაბეჭდად გამოვიყენე <pre> ტეგი, რომელიც ტექსტს ახალი სტრიქონის სიმბოლოების გათვალისწინებით ბეჭდავს და არ უკარგავს მას ფორმატირებას. თუმცა, <pre> სრულიად გამოუსადეგარია ბლოგ პოსტის ან ამ ბლოგის მომხმარებლების მიერ დაპოსტილი კომენტარების გამოსატანად.

PHP – ს გააჩნია ფუნქცია სახელად nl2br რომელსაც ყოველი ახალი სტრიქონის სიმბოლო გადაჰყავს <br /> ტეგში, თუმცა არც ეს არის დიდი ხეირი რადგან,
როგორც HTML სპეციფიკაცია გვეუბნება, აბზაცების ფორმატირებისათვის უნდა გამოვიყენოთ <p> ტეგი, თუმცა PHP – ს ასეთი ფუნქცია არ გააჩნია.

მარტივი რეგულარული გამოსახულების დახმარებით მივიღე ასეთი ფუნქცია, რომელიც აღწერილ პრობლემას მარტივად და სწრაფად აგვარებს:

[php]
function nl2p($input) {
return preg_replace(‘~^s*(.*?)s*$~smx’, ‘

$1

‘, $input);
}
[/php]

თუ ამ ფუნქციას გამოვიყენებთ ზემოთ მოყვანილი ტექსტის დასამუშავებლად, მივიღებთ ასეთ შედეგს:

<p>ეს არის ჩვეულებრივი აბზაცი.</p>
<p>ეს არის შემდეგი აბზაცი...</p>
<p>და კიდევ ერთი აბზაცი..</p>

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

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

$regex = '~
    ^            # 1) შევამოწმოთ სტრიქონის დასაწყისი
    s*          # 2) ნებისმიერი რაოდენობის უხილავი სიმბოლო
    (.*?)        # 3) ნებისმიერი რაოდენობის ნებისმიერი სიმბოლო
    s*          # 4) ნებისმიერი რაოდენობის უხილავი სიმბოლო
    $            # 5) შევამოწმოთ სტრიქონის დასასრული
~smx'            # 6) smx - გამოსახულების მოდიფიკატორები

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

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

. – წერტილი, რეგულარულ გამოსახულებაში ნიშნავს ნებისმიერ სიმბოლოს ახალი სტრიქონის სიმბოლოს გარდა. ხოლო s მოდიფიკატორი გამოსახულების ბოლოს წერტილს უცვლის მნიშვნელობას და იგი უკვე სხვა ნებისმიერ სიმბოლოსთან ერთად ახალი სტრიქონის სიმბოლოებსაც მოიცავს.

m მოდიფიკატორი თავის მხრივ ცვლის ტექსტის დასაწყისისა(^) და ტექსტის დასასრულის($) სიმბოლოების ქცევას. რაც ნიშნავს იმას, რომ, ეს სიმბოლოები მიუთითებენ არა მთლიანი ტექსტის დასაწყისსა და დასასრულს არამედ ახალი ხაზის სიმბოლოთი გამოყოფილ სტრიქონის დასაწყისსა და დასასრულს.

გამოსახულებაში ასევე მნიშვნელოვანია მეორე და მეოთხე პუნქტები. გამოსახულება უბრალოდ აღნიშნავს ნებისმიერი რაოდენობის უხილავ სიმბოლოს(უხილავ სიმბოლოებს განეკუთვნება ახალი სტრიქონის სიმბოლოც). გამოსახულების ეს ნაწილია საჭიროა იმისათვის რომ ტექსტში არსებულ ერთზე მეტ ახალი სტრიქონის სიმბოლოებს გავუკეთოთ იგნორეირება რათა არ მივიღოთ ცარიელი <p>p</p> ტეგების კომბინაცია.

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

ტეგები: ,

RoR – ის მამა PHP – აქებს?

ძალიან უცნაური, მოულოდნელი და საინტერესო ბლოგ პოსტი(მადლობა გიორგის) წავიკითხე…

ბევრი წერით არ შეგაწყენთ თავს. უბრალოდ ვიტყვი რომ ეს პოსტი ეკუთვნის თავად David Heinemeier Hansson ცნობილი ფრეიმვორკის Ruby on Rails – ის ავტორს!

The immediacy of PHP

I’ve been writing a little bit of PHP again today. That platform has really received an unfair reputation. For the small things I’ve been used it for lately, it’s absolutely perfect.

I love the fact that it’s all just self-contained. That the language includes so many helpful functions in the box. And that it managed to get distributed with just about every instance of Apache out there.

For the small chores, being quick and effective matters far more than long-term maintenance concerns. Or how pretty the code is. PHP scales down like no other package for the web and it deserves more credit for tackling that scope.

ჩემის აზრით ფრიად საინტერესო და საღი დამოკიდებულებაა PHP – სადმი :D

ტეგები: