Aug
18
2010
Yuki (Yugui) Sonoda zapowiedział, że właśnie pojawiła się wersja stabilna ruby 1.9.2. Wersja ta przechodzi testy w 98% i mimo, że zwiększenie wydajności w porównaniu do 1.9.1 jest nieznaczna, to różnica do linii 1.8 jest już spora.
Jeżeli chcemy zainstalować to najprościej skorzystać z RVM:
rvm update --head && rvm reload && rvm install 1.9.2 && rvm 1.9.2 --default
no comments | tags: Ruby, RVM | posted in Programowanie
Aug
5
2010
Jeżeli korzystacie z RVM to warto zapoznać się z gemem RVM-Completion. Podpowiada on nam zansstalowane wersje interpretatora lub gemsety.
Szczegóły można poznać na stronie projektu.
no comments | tags: bash, Ruby, RVM | posted in Tips&Tricks
Jul
16
2010
Apliacja, którą piszę w RubyOnRails idzie tak wolno i wymaga tyle refaktoringu, że postanowiłem ją przepisać w Rails3. Na szczeście projekt jest w początkowej fazie a większość pracy dotyczyła samego wyglądu aplikacji więc przenosić się można.
Podczas przygotowywania środowiska jednak napotkałem na jeden problem. Gem, którego chętnie używam do testowania – Pickle – nie za bardzo chciał współpracować z rails 3. Problemem były generatory, których składnia w nowych railsach trochę się zmieniła. Znalazłem jednak rozwiązanie, polecane nawet przez samego autora. Otóż należy użyć forka projektu zrobionego prze codegrama, który rozwiązał ten problem. Jak to zrobić?
1. W pliku Gemfile, wskazać repozytorium git, z którego korzystamy podczas instalacji.
gem 'pickle', :git => "git://github.com/codegram/pickle.git"
2. Zainstalowanie gemów z bundlera.
3. Uruchomienie generatów Pickle:
rails g pickle:skeleton --path --email
Atrybuty
--path i --email
są opcjonalne, ale polecam ich użycia.
no comments | tags: Cucumber, Pickle, Rails, Rails3, Ruby, TDD | posted in Programowanie
Jul
7
2010
Aplikacje działające w systemie MacOS X charakteryzują się specyficznym modelem dystrybucji. Otóż aplikacje takie są spakowane jako obraz dysku typu DMG. Taki obraz montuje się jako zewnętrzny nośnik i dopiero widzimy co jest w środku. Dodatkowo folder widoczny po zamontowaniu możemy w dowolny sposób upiększyć. Można dowolnie ustawić tło okienka i jego wielkość, można zmienić domyśle położenie ikonki i programu i jej wielkość. Wszystko po to, aby system nie był taki “suchy i jednolity”. Dodatkowo tak przygotowany obraz dysku umieszczamy gdzieś w sieci aby był dostępny do pobrania. Wszystko to musimy jednak robić ręcznie …chyba, że korzystamy z narzędzia ChocTop.
ChocTop jest specjalnie przygotowanym instalatorem działającym z lini poleceń, który przygotowany jest jako gem ruby’ego.
Pierwszym krokiem jest zainstalowanie ChocTop i inicjalizacja w folderze projektu;
sudo gem install choctop
install_choctop /sciezka/do/naszego/projektu
Wykonanie powyższych komend spowoduje utworzenie w folderze naszego projektu pliku Rakefile. uruchomienie tego pliku spowoduje wykonanie wszystkich czynności. Edytując ten plik ustalimy poszczególne ważne dane dla instalatora.
ChocTop::Configuration.new do |s|
s.host = 'fajnyprogram.com'
s.base_url = 'http://fajnyprogram.com/beta'
s.remote_dir = '/projekty/fajnyprogram/beta'
s.background_file = "background.png"
s.volume_icon = 'Icon.icns'
s.app_icon_position = [106, 83]
s.applications_icon_position = [422, 83]
end
Kolejno mamy zdefiniowane:
- nazwę hosta naszej aplikacji ,
- bezpośredni link do niej,
- folder, do którego jest kopiowany spakowany obraz,
- plik użyty jako tło folderu,
- ikonki ,
- pozycja ikonki aplikacji,
- pozycja ikonki folderu aplikacji.
Jeżeli korzystamy ze menadżera aplikacji Sparkle, możemy także dodać pliki niezbędne do współpracy z tym frameworkiem. Umożliwi to powiadomienie użytkowników naszej aplikacji o pojawieniu się nowej wersji.
Jeżeli wszystko zostało poprawnie skonfigurowane uruchamiamy
i zostanie utworzony nowy obraz dysku.
Jeżeli chcemy aby jednocześnie utworzony obraz dysku został skopiowany do zdalnego folderu wskazanego w konfiguracji uruchamiamy:
To wszystko, mam nadzieję, że komuś się przyda.
no comments | tags: ChocTop, Cocoa, MacOS X, MacRuby, Ruby | posted in Programowanie
Mar
5
2010
Idąc za ciosem postanowiłem wydłubać własny szablonik do startu z aplikacjami. Jest on dostępny na githubie i można śmiało z niego korzystać.
Co robi szablonik?
- inicjuje repozytorium Git, dodaje niektóre miejsca i pliki do ignore’a po czym zatwierdza resztę.
- instaluje platformę testową RSpec, RSpec-Rails, Cucumber, Factory_Girl i Webrat.
- instaluje authologic i declarative_authorization,
- tworzy model do dodawania artykułów oraz cruda do niego.
- tworzy model użytkownika, ról i sesji
- tworzy widoki dla artykułów, panel logowania i edycja profilu.
- tworzy dwie początkowe role: user i admin.
- nadaje uprawnienia:
- gość może czytać artykuły, założyć konto i się zalogować,
- użytkownik może się wylogować, dodać artykuł, edytować lub usunąć własny artykuł, edytować swój profil,
- admin może wszystko.
Planuję jeszcze nad kilkoma dodatkami, ale nie wiem jeszcze dokładnie co i jak. Muszę to przemyśleć. Jak na razie szablon tworzy to, co w prawie każdej aplikacji istnieje. Modele można rozbudować wg własnych potrzeb ale mamy już dobry punkt początkowy.
Zapraszam do testowania i wyrażania swoich uwag.
no comments | tags: github, Rails, rails templates, Ruby | posted in Programowanie, WebDeveloping
Dec
12
2009
Jeżeli tworzymy kilka aplikacji w ruby on rails, to przeważnie początkowe etapy są do siebie bardzo podobne. Np. inicjalizacja kontroli wersji (np. w sposób jaki jest opisany w poprzednim artykule), instalacja ulubionych pluginów, usuwanie zbędnych plików, Czy też inne operacje. Na szczeście do pomocy przychodzą nam Templates, które zostały wprowadzone w rails 2.3. Teplate to nic innego niż plik ruby, w którym wpisujemy komendy w przygotowanym do tego języku domenowym (DSL). Po przygotowaniu takiego szablonu inicjujemy projekt rails z parametrem -m ścieżka_do_szablonu.rb. Rails od razu po wykonaniu inicjacji projektu od razu uruchomi podany plik.
rails my_app -m ~/szablon_startowy.rb
tak samo jak URI, możemy uzywać URL:
rails my_app -m http://marioosh.5dots.pl/szablon.txt
(powyższy plik nie istnieje więc nie testujcie
)
ostatnim sposobem jest inicjacja szablonu przed odpowiednie zadanie rake z ustawienie zmiennej LOCATION:
rake rails:template LOCATION=~/szablon_startowy.rb
› Continue reading
no comments | tags: Rails, rails templates, Ruby | posted in Programowanie, WebDeveloping
Dec
11
2009
Za każdym razem, gdy rozpoczynam pracę z projektem, muszę skonfigurować Git, aby repozytorium nie zawierało zbędnych plików.
Cała operacja jest wykonywana w kilku krokach, gdzie pierwszym z nich będzie stworzenie nowej aplikacji rails na naszym komputerze. Następnie musimy zaiinicjować kontrolę wersji.
$ rails my_app
$ cd my_app
$ git init
$ git status
...
# Untracked files:
# (use "git add ..." to include in what will be committed)
#
# README
# Rakefile
# app/
# config/
# db/
# doc/
# log/
# public/
# script/
# test/
› Continue reading
no comments | tags: GIT, Rails, Ruby, SCM | posted in Programowanie
Jul
2
2009
Ostatnio szperając po sieci, natrafiłem na ciekawy aczkolwiek nie nowy projekt. Aż dziwne, że nie znalazłem go do tej pory. Projekt Euler bo o nim mowa przedstawia problemy, z którymi musimy się zmierzyć jako programiści. Problemy ułożone na granicy matematyki, kombinatoryki czy tam innej “yki” nie są w możliwe do rozwiązania bez komputera (no chyba, że przez jakiegoś geniusza) Jako programiści mamy zadanie napisać program, który nam to zadanie rozwiąże. Sam projekt nie ocenia jakości naszego kodu bo podajemy tylko wynik i ten jest sprawdzany. Wiadomo jednak, że najlepiej jest się uczyć od innych albo na gotowych zadaniach, więc dla mnie projekt to jest strzał w 10-tkę. Zwłaszcza, że każdy problem (obecnie jest ich ponad 250) ma oddzielny topic na forum i można z innymi programistami podzielić się uwagami i wspólnie zoptymalizować kod, do najkrótszego/najlepszego. Co prawda w javie programuję, już prawie 10 lat, ale akurat zacząłem pisać kod w Ruby’m więc projekt będzie jak znalazł do potrenowania nowych technik.
no comments | tags: Euler, Java, Ruby | posted in Programowanie