Блоги
NetBeans 6.5 | Rails | Linux
чт, 23/04/2009 - 18:24 — 3a60pЗадача:
Установить среду разработки NetBeans 6.5
Процесс:
Скачал последний NetBeans () и хотел было установить, но для работы ему нужен JDK.
Скачал последний JDK-6u12 () и установил.
Далее установил NetBeans и все, казалось бы, хорошо. Однако некоторый функционал отказывался работать.
Долго искал, что нужно сделать, что заработал тот же "Generate.." и оказалось. что последний апдейт дает вот такие баги и нажен JDK-6u11.
Выбрать любую версию продуктов JavaSun можно тут: .
Импровизированный XML Parser
пн, 23/03/2009 - 13:02 — 3a60pИсходные данные:
XML файлик - data.xml примерно такого содержания:
<data>
<film_name>Romper Stomper</film_name>
<author>2</author>
<category>11</category>
<film_length>44 мин.</film_length>
<film_year>1999</film_year>
<film_lang>русский</film_lang>
<film_comment>Фильм о скинах.камм.</film_comment>
<film_descriptipn>Фильм о скинах.опись.</film_descriptipn>
<film_actors>Разные лысики</film_actors>
</data>
Задача:
Вытянуть из него данные для дальнейшей обработки.
Решение:
txt = IO.read("data.xml")
data = txt.scan(/<data>(.*?)<\/data>/im).flatten[0]
hash = {}
data.scan(/<([^>]*?)>(.*?)<\/[^>]*?>/im){|i| hash[i[0]] = i[1].strip}
Как определить версию сервис пака под windows
чт, 11/12/2008 - 18:04 — spineЗадача состоит в следующем - операционная система WindowsXP, необходимо из скрипта на Ruby определить версию установленного Service Pack.
Решил путем чтения соответствующего ключа из реестра Windows:
def getServicePackString
Win32::Registry::HKEY_LOCAL_MACHINE.open('SOFTWARE\Microsoft\Windows NT\CurrentVersion') do |reg|
reg_typ, reg_val = reg.read('CSDVersion')
return reg_val
end
end
puts getServicePackString #=> Service Pack 2
Что такое Rails Edge и как с ним жить
вт, 02/12/2008 - 02:07 — vetaRails Edge - это не стабильная, самая свежая версия rails. Для того чтобы переключится с джемов на edge воспользуйтесь командами:
rake rails:update
После этого в ваш проект будут выкачен rails edge и вы сможете им пользоваться. Чтобы убедиться, что edge установлен корректно, выполните команду:
Еще больше подробностей по теме установки rails edge можно прочитать на официальном сайте ror --
Всем спасибо, удачи!
Черновик перевода страницы Libraries официального сайта Ruby
ср, 12/11/2008 - 20:59 — spineС недавних пор я вхожу в команду по переводу на русский язык и мне был поручен перевод раздела . Первичный, черновой вариант приведен ниже, приветствуется здравая критика и комментарии к переводу.
Ruby FTP, копирование файла на FTP
чт, 06/11/2008 - 15:06 — spineПонадобилось из Руби скрипта положить файл на FTP Server, вот как я это оформил:
# Устанавливаес соединение с FTP сервером
session = Net::FTP.new( ftp_server, ftp_login, ftp_password )
# Указываем, что файлы надо воспринимать как бинарные
session.binary = true
# Переводим клиента в пассивный режим
session.passive = true
# Перемещаемся в заданный каталог на FTP сервере
files = session.chdir( 'ruby ftp example' )
# Отправляем файл на сервер
session.putbinaryfile('file_name')
# Закрываем соединение
session.close
Возможно кому-то пригодится. net/ftp это стандартный модуль, дополнительных библиотек не требуется.
А ведь Ruby мог быть назван другим именем
чт, 30/10/2008 - 20:37 — spineЗабавный факт тут выяснился, оказывается когда придумывали название для Visual Basic, создателей посетила мысль назвать его Ruby, почему они передумали написано
Сохранение Hash в формате XML и наоборот
ср, 22/10/2008 - 02:38 — spineВместо того что бы тратить время на написание своего собственного метода для конвертирования Hash в XML, воспользуйтесь готовым решением из фрейморка Ruby On Rails. ActiveSupport gem уже располагает всем необходимым функционалом.
Необходимо подключить следующие модули:
require 'active_support'
Для записи Hash в XML:
Для чтения ранее сохраненного Hash из XML:
Удачи!)
Ruby Юнит тесты и Continuous Integration
пт, 17/10/2008 - 11:25 — spineИз коробки с Ruby идет великолепный модуль для написания тестов для ваших программ:
Test::Unit - Ruby Unit Testing Framework
Вот как выглядит самый простой теcт:
class TC_Sample < Test::Unit::TestCase
def test_It
assert( false )
end
end
Результаты выполнения тестов печатаются на экран и по коду возврата можно узнать о том были ли ошибки, этого уже достаточно что бы подцепить запуск тестов к Continuous Integration серверу, например к CruiseControl, веб сайт проекта --
Что можно улучшить?
Деструктор объекта в Ruby (define_finalizer)
ср, 15/10/2008 - 13:53 — spineЗа удаление объектов в Ruby отвечает сборщик мусора. Момент когда будет уничтожен объект не известен, но произойдет это только после того как не останется ни одной ссылки на данный объект. Исходя из этого, прямой поддержки деструктора, в типичном его проявлении, в Ruby нет.
Однако мы можем подписаться на удаление любого объекта посредством метода ObjectSpace#define_finalizer, передав объект класса Proc, который будет вызван после уничтожения объекта.
Вот как мог бы выглядеть деструктор в Ruby
