4 поста с таг jruby

Jan 31

Както написах предишната седмица съм решил всяка седмица да събирам малко линкове и да ги описвам тук. За съжаление за поредна седмица нямах време да довърша някои от дълбоко замразените постове. Но мисля, че следващата ще ми е по-свободна.

Понеделник 25.01.2010

Yehuda’s – evented programming with jQuery – това се явява като (макар и само косвено) продължение на Creating UI Elements With Low-Coupling And Conditional Event Handling, за което писах миналата седмица. Което за пореден път ми показва, че май javascript компонентите на там са се насочили.

In praise of git’s index – много добра статия за git index-ите.

Вторник 26.01.2010

The Path to Rails 3: Approaching the upgrade и rails-upgrade: Automating a portion of the Rails 3 upgrade process. Rails 3 е почти готов след малко повече от година разработка. И от където и да го погледнеш си е огромна стъпка на пред, даже няколко. В постовете се обяснява за проблеми и съвети при преминаването към Rails 3.

JRuby за Аndroid – време беше. Как ви се струва едно ruby приложение за телефон през JRuby за Android, през MacRuby за iPhone и … (не че някой ще ползва windows mobile), но IronRuby за Windows Мobile. Преди време си бях говорил с познати за такава идея и че на теория е възможно (а според тях на практика не). Но това е още една стъпка в тази посока. Въпреки че анатомиите на iPhone / Android приложенията са доста различни, все повече си мисля, че е възможно да стане нещо такова.

Answering Baranovskiy’s JavaScript quiz – Явно Вторник е бил доста мързелив ден.  Nicholas C. Zakas показва отговорите на js теста на Dmitry  Baranovskiy. Аз с радост мога да се похваля, че само за единия въпрос се подвоумих малко (на този с arguments[2] = 10).

Сряда 27.01.2010

Put that data-* attribute away, son…You might hurt someoneDan Webb е страшно уважаван от мен дивелопър. Беше част от PrototypeJs Core и беше работил по един от първите Rails плъгини за Unobtrusive JavaScript. Да не говорим колко идеи почерпих от неговата LowPro за моя CD3.Behaviors.  За нещастие, доколкото разбрах, вече работи главно с jquery.

Но да се върнем на темата, че малко се отнесох. Тук той обяснява за data-атрибутите и че колкото и да са яки, не трябва да се използват прекомерно. Поста му се явява като отговор на Yehuda’s – evented programming with jQuery.

Четвъртък 28.01.2010

Emile.js talk (video & slides)Thomas Fuchs обяснява неговия mini css animation framework – Emile.js. Който е само 51 реда (+ празните редове и Copyright-а :) ). Много полезно и абсолютно задължително за тези, които не искат цял живот само да ползват неща, които не разбират.

Why Arel – ActiveRecord 3.0 ( който е част от Rails 3 ) е изграден върху Аrel. Като наскоро  излезе и Active Record Query Interface 3.0. Но какво е Arel, ами Relational Algebra (и моята първа реакция като го чух беше – ЪЪъъ). В поста се обясняват мотивите за написването на Аrel. Важно е да се каже, че Arel е напълно отделно от Rails и може се ползва независимо.

The HTML 5 sandbox Attribute Improves iFrame Security – Една от критиките към html5 е, че не помага на този етап за сигурността на мрежата. Това е една малка стъпка напред. Жалко, че май никой не е чувал за <module> тага предложен от Douglas Crockford още в далечната вече 2006.

New ActionMailer API in Rails 3.0 – Голямото пренаписване в Rails 3 върви с пълни сили и сега ActionMailer си намери майстора. (Все пак май ActionMailer си е като недоносеното дете в Rails пакета).

Петък 29.01.2010

По-рано през седмицата Apple обявиха така дългоочаквания iPad. И общо взето никой не го харесва. Като за мен си е просто играчка. На който ако и бяха сложили просто MacOsX щяха да разбият всички, но такъв е живота. Общо взето в Петък имах много работа и нищо интересно не ми попадна. Само 2-3-4… статии за iPad. Всичките еднакви от една страна Apple хейтърите го нареждат от всякъде, Аpple феновете леко разочаровани, поради големите очаквания и само неутралните наблюдатели с положителни оценки (леко резервирани, но положителни като цяло).

Бонус

Седмицата беше много изморителна и затова нямах много време да си прегледам Google Reader-a (все още имам към 200 не прочетени статии). Затова чак днес видях серия от 3 поста от Amix, създателят на Todoist и Plurk, и първият блог, който започнах да следя.

Накрая ще сложа едно футболно клипче, на което попаднах тази седмица, за голове вкарани чрез отборна игра:

Jan 24

Преди една година (ехе толкова ли много време мина от тогава) бях започнал да пиша за интересни неща, които съм видял през изминала седмица и които според мен не са получили подобаващото им се медийно представяне. Само че с времето спрях тази традиция, още преди да се превърне в такава даже. Но тъй като съм решил тази година да отделям малко повече на блога. Ще започвам да по съживявам някои стари идеи и да видим какво ще стане :)

По принцип идеята ми е петък да ги пускам тези постове, обаче тази седмица имах изпит и за това малко се отложи поста.

Понеделник 18.01.2010

A successful Git branching modelОт доста време вече ползвам само git и съм супер доволен от него. Въпреки това все още ползвам само една малка част от възможностите му.  Затова този пост ми беше много полезен.

Jemini – В Понеделник попаднах и на Jamini това е (J)Ruby famework за правене на игри. Нещо което ми беше мечта когато за пръв път започнах да пиша код.

Вторник 19.01.2010

Creating UI Elements With Low-Coupling And Conditional Event Handling – Не използвам jQuery, но понякога от там излизат доста полезни неща. Този пост на Ben Nadel като цяло е много полезен. Основната идея да се използва нещо като MCV и event архитектура и така да се правят компоненти които взаимодействат по между си, но без да знаят, че го правят. Като от личен опит мога да кажа, че правенето на компоненти които взаимодействат само с custom event-и по между си е страшно яко.

За развитие на темата бих препоръчал и да се гледа Satyen Desai — A Widget Walkthrough, от yahoo винаги са правили страхотни видеота.

Cappuccino On Rails – това не е от Вторник, но тогава го видях. А Cappuccino ( и  SproutCore ) са два проекта, който следя с особен интерес. Още повече интеграцията им с Ruby става все по-лесна :)

Сряда 20.01.2010

Stanford’s Entrepreneurship Corner: David Heinemeier Hansson -  От Stanford Entrepreneurship Corner винаги са вадили интересни материали ( все пак са Stanford ). Забавно беше и началото, един монотонен глас съобщи – “Този запис, може да съдържа език не подходящ за всеки” :D

Интересно беше да го слушаш това и да учиш за поредния безсмислен изпит.

Четвъртък 21.01.2010

Четвъртък го прескочих, все пак учих за изпит, или поне се опитвах. Въпреки това:

Firefox 3.6 is here! – новата версия е тук. Като потребител това което ми харесва е че се усеща колко по-бърза. Също така все повече почва да свиквам с това че като дадеш “open in new tab”  табулацията се отваря до сегашния ти там. Като разработчик няма как да не се зарадвам на CSS3 градиентите, Drag and Drop и File API -то.

Петък 22.01.2010

Fuseboxjdalton направи серия от четири видеота за това какво представляват sandboxed natives и как той ги е реализирал. Като в края на седмицата пусна и самия Fusebox, което е част от от FuseJs, за която все още няма много информация освен че скоро ще се появи. И като гледам списъка с хората които работят ще е нещо добро.

И на края искам да сложа едно видео на Louis CK – “Everythings amazing nobody is happy” ( което го видях от презентацията на Dion Almaer от JSConf – Future of the Web )

Jul 14

Ruby e страшно красив и мощен език. Но основаната виртуална машина на която ползва Ruby1.8 се води малко бавничка. Но тъй като езика има голям потенция вече се появяват различни имплементации на езика под различни виртуални машини и интерпретатори. Вече има има дузина такива:

JRuby (Java) , за него вече писах тук а и още доста ще го споменавам, защото е една от най-добрите (според мен) имплементации.
IronRuby (C#), мисля че във Silverlight го поддържат но не съм сигурен.
CRuby (C), това си е стандартната имплементация
HotRuby (JavaScript),  Работещ в Браузър и може би под Rhino.
Rubinius ( Ruby) – малко странно, че Ruby подкарва Ruby но наскоро те даже подкараха и Rails.
Ruby1.9 (C) – това се води като новата версия Ruby.

Поне за момента това са най-развитите и работещи. Въпреки че очаквам да имам доста такива имплементации, като следните ми идват наум:

FRuby (Flash/Flex Ruby
LRuby (Lisp)
SmaryRuby (PHP Smarty)
PRuby (PHP or Python)
GRuby (Groovy)
ObjectRuby (Objective-C)

Наскоро ще има стандартизация на езика за Ruby1.9 защо е явно, че независимо под коя Ruby имплементация се ползва, основните Ruby скиптове трябва да работят така както се очаква от тях(особенно Rails).

Jul 12

JRuby представлява JAVA имплементация на езика Ruby. Някои друг път ще пиша по-подробно защо хората правят такива неща и дали има смисъл от тях.

Как се инсталира JRuby за  Windows XP, много лесно :) . Въпреки че за хората който са свикнали да е само next -> next -> ok! няма да е толкова лесно.

  1. Слагате системната променлива JAVA_HOME, ако  я нямате дефинирана вече. Това става като дадете:
    My Computer -> Properties -> Advanced -> Environment Variables
    Давате New (като решите дали искате тази променлива да я има само за вашия акаунт или да я има за всичките възможни)
    Variable name: JAVA_HOME
    Variable value: пътя до JDK -a ви ( в моя случай е C:\Program Files\Java\jdk1.5.0_14 )
    ( не затваряйте
    Environment Variables панела, защото пак ще имаме работа в него)
  2. Изтегляте си от http://dist.codehaus.org/jruby/ последната версия на JRUBY ( за момента е тази http://dist.codehaus.org/jruby/jruby-bin-1.1.2.zip.
  3. Разахивирате съдържанието на изтегления архив в избрана от вас директория. Примерно C:\JRuby.
  4. Отворете Environment Variables панела (или се върнете от него ако не се го затворили при стъпка 1):
    My Computer -> Properties -> Advanced -> Environment Variables
  5. Добавете нова променлива:
    Variable name: JRUBY_HOME
    Variable value: директорията в която разархивирахте JRuby ( Примерната
    C:\JRuby)
  6. Променете вече съществуващата променлива PATH като добавите в нея пътя до папката bin на JRuby(C:\JRuby\bin). (пътищата там се разделят с ‘;’)
  7. Записвайте и затваряйте Environment Variables.

Това е!

Сега един бърз тест. Направете един файл което се казва test.rb в C: и напишете в него това:

include Java

import javax.swing.JFrame
import javax.swing.JLabel

frame = JFrame.new 'My first application';
frame.get_content_pane.add JLabel.new('JRuby works!')
frame.set_default_close_operation JFrame::EXIT_ON_CLOSE
frame.pack
frame.visible = true

Стартирайте cmd-то и напишете:
>jruby C:\test.rb