Добрый день уважаемые слушатели. Представляем новый выпуск подкаста RWpod. В этом выпуске:
Метка «ruby» - 8
Rwpod. 16 выпуск 01 сезона. Релиз Rails 4.0.0rc2, разбираемся с GIL, плейлист редактор на JS, scala.js и прочее
2013-06-16 в 15:56, admin, рубрики: javascript, ruby, web-разработка, Веб-разработка, подкасты, метки: javascript, ruby, web-разработка, подкастыAssembler для Brainfuck
2013-06-09 в 12:54, admin, рубрики: Brainfuck, compiler, ruby, translator, ассемблер, брейнфак, компилятор, компиляция, ненормальное программирование, Песочница, руби, трансляция, метки: brainfuck, compiler, ruby, translator, ассемблер, брейнфак, компилятор, компиляция, руби, трансляция Одним холодным майским днем от скуки решил я таки приступить к изучению этого удивительного языка — Brainfuck'a.
Его интерпретаторы публиковали на Хабре уже очень много раз.
Но мне хотолось изучить поглубже сам язык и алгоритмы на нем, а не писать очередной интерпретатор. Поэтому было решено сделать из мухи слона компилятор какого-нибудь высокоуровневого языка в brainfuck.
Однако очень быстро начался реальный brainfuck: отсутствие оператора if, отсутствие произвольного доступа к ячейкам и куча других проблем сразу свалилась на меня. Пришлось повременить с высокоуровневым языком и сделать для начала ассемблер, в который и будет компилироваться высокоуровневый язык.
О реализации ассемблера под катом.
Читать полностью »
Frontline — веб приложение для работы с веб приложениями
2013-05-29 в 14:16, admin, рубрики: ruby, web-разработка, метки: ruby, web-разработкаEspresso Framework обзавёлся ещё одним полезным инструментом по имени Frontline.
Данное добро позволяет быстро и эффективно работать с вашими веб приложениями прямо из браузера.
По сути это фронтенд для Enginery. То есть можно делать всё что делает Enginery но в «визуальном режиме».
Большой плюс в том что все части приложения доступны для визуализации и редактирования прямо в браузере.
Подробности под катом.
ActiveRecord Hacks
2013-05-27 в 16:14, admin, рубрики: activerecord, ruby, ruby on rails, метки: activerecord, ruby, ruby on railsСегодня я поделюсь своим набором не всегда очевидных функций и возможностей Active Record, с которыми я столкнулся в процессе разработки Ruby on Rails приложений или нашел в чужих блогах.
Используем потоки в Ruby
2013-05-24 в 7:03, admin, рубрики: jruby, resque, rubinius, ruby, ruby on rails, unicorn, метки: jruby, resque, rubinius, ruby, ruby on rails, unicornМногие Руби-разработчики игнорируют потоки (threads), хотя это очень полезный инструмент. В данной статье мы рассмотрим создание IO потоков в Руби и покажем как Руби справляется с потоками в которых происходит много вычислительных операций. Попробуем применить альтернативные имплементации Руби, а так же узнаем, каких результатов можно добиться при помощи модуля DRb. В конце статьи посмотрим, как эти принципы используются в различных серверах для аппликаций на Ruby on Rails.
IO потоки в Руби
Рассмотрим небольшой пример:
def call_remote(host)
sleep 3 # симулируем долгий запрос к серверу
end
Если нам надо обратитьcя к двум серверам, например, чтобы очистить кэш, и мы дважды последовательно вызовем эту функцию:
call_remote 'host1/clear_caches'
call_remote 'host2/clear_caches'
то наша программа будет работать 6 секунд.
Мы можем ускорить исполнение программы, если будем использовать потоки, например, так:
threads = []
['host1', 'host2'].each do |host|
threads << Thread.new do
call_remote "#{host}/clear_caches"
end
end
threads.each(&:join)
Мы создали два потока, в каждом потоке обратились к своему серверу и командами #join сказали, что главной программе (главному потоку) надо подождать их завершения. Теперь наша программа успешно выполняется в два раза быстрее, за 3 секунды.
Читать полностью »
Ruby on Rails. Установка, настройка, начало работы
2013-05-22 в 16:06, admin, рубрики: ruby, ruby on rails, настройка, начало, установка, метки: ruby, ruby on rails, настройка, начало, установкаЗачем.
В этой маленькой статье, которую с удовольствием прочитал бы сам неделю назад, я попытался собрать все вещи, которые понадобились бы человеку, задумай он «с нуля» написать приложение на RoR. То есть не углубляясь ни в одну из областей, описать необходимый минимум действий, чтобы установить, настроить и написать своё первое приложение.Здесь собрано, как мне кажется, всё, что нужно и я надеюсь этот текст сэкономит кому-нибудь несколько часов поиска в интернете). Сам изучаю RoR вторую неделю, так что не судите строго).
Установка.
Просто и быстро ror ставится через rvm c rvm.io/.
>curl -L https://get.rvm.io | bash -s stable --rails --autolibs=enabled
Запустить rvm:
>source /Путь_к_домашней_директории*/.rvm/scripts/rvm
*$HOME в дальнейшем.
После этого в $HOME/.bash_profile должна появиться строчка:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
и при каждом открытии консоли rvm будет подгружаться, но у меня этого не случилось — пришлось ещё в $HOME/bashrc прописывать:
. ~/.bash_profile
Теперь всё точно должно быть хорошо.
Устанавливаем нужную(скорее всего это будет самая последняя) версию руби (сколько их и в чём отличие можно посмотреть сдесь -http://www.ruby-lang.org).
>rvm install 1.9.3
Проверка на успешность создания
>ruby -v
должна вернуть более подробную информацию, вроде
ruby 1.9.2p320 (2012-04-20 revision 35421) [x86_64-linux].
В процессе установки я случайно установил несколько версий, что потом доставило некоторые неприятности). Посмотреть список установленных версий руби можно так:
>rvm list
Если версий несколько, то текущая будет помечена "=>", дефолтная — "*", а текущая и дефолтная — "=*". Поменять на нужную используемую версию можно так:
>rvm use ruby-1.9.2-p320 (любая нужная версия)
Чтобы поменять дефолтную версию руби пишем:
>rvm use ruby-1.9.2-p320 --default
Чудесное введение в программирование
2013-05-22 в 8:05, admin, рубрики: ruby, ооп, Песочница, Программирование, метки: ruby, ооп, ПрограммированиеДоброго времени суток хабр.
Хотел бы преподнести на суд общественности перевод одной чудесной статьи, в которой описаны базовые принципы программирования. Пару слов о том — зачем собственно это все и кому это надо? Отвечаю — последние несколько месяцев я, сам начинающий программист, активно пытаюсь переквалифицировать свою девушку из ее никому не нужной не перспективной экономической специальности в нашу развивающуюся IT-сферу. В этом нелегком труде мне приходится шерстить интернет в поисках в первую очередь интересных материалов, чтобы разбить ее стереотипы насчет того что код — это скучно и нудно. К моему глубокому сожалению, таких материалов не так уж много. Я уверен, есть огромное количество новичков, которые регулярно читают хабр и эта статья будет им крайне интересна и полезна.
Читать полностью »
Наступает особый день подготовки к DevConf 2013 — активное голосование за доклады
2013-05-13 в 11:56, admin, рубрики: android development, javascript, php, python, ruby, Блог компании DevConf, Веб-разработка, конференция веб-разработчиков, Разработка под android, метки: android development, javascript, PHP, python, ruby, конференция веб-разработчиков
Коллеги! Помогите выбрать интересные доклады DevConf 2013, уже 77 заявок — и надо выбрать полезные
для WEB и мобильных разработчиков
devconf.ru/offers/
В отличие от других конференций — наша конференция сообществ разработчиков — кому дать право голоса решаем только мы ;-)
Если у вас идет вся команда разработчиков — голосуйте коллегиально и/или индивидуально.
Отличный повод собраться и определить — какие из направлений для развития интересны вашей команде.
Обновление Windows Azure: point-to-site подключения и другие улучшения виртуальных машин и сетей, облачных сервисов и выпуск Ruby SDK
2013-04-29 в 6:46, admin, рубрики: cloud services, DNS, Git, linux, Mercurial, open source, powershell, rdp, ruby, sql server, ssh, vpn, windows azure, Блог компании Microsoft, системное администрирование, метки: Cloud services, dns, Git, linux, mercurial, open source, powershell, rdp, ruby, sql server, ssh, vpn, windows azureКоллеги разработчики и ИТ-профессионалы, спешу поделиться подробностями об очередном обновлении облачной платформы Windows Azure. 26 апреля Скотт Гатри представил в своем блоге очередную порцию новинок, которые касаются работы виртуальных машин и сетей, а также других облачных сервисов. Кроме того, в анонсе был представлен долгожданный обновленный набор инструментов Ruby SDK, который позволит приложениям на Ruby легко интегрироваться с облачными сервисами Windows Azure. Ниже вы найдете более подробное описание этих, а так же других, не описанных у Скотта Гатри нововведениях.
Point-to-Site подключения к виртуальным сетям
Основным нововведением данного обновления платформы можно смело назвать новый функционал виртуальных сетей для обеспечения взаимодействия типа Point-to-Site, то есть без необходимости в VPN-устройстве на стороне клиента!
Что это означает? Это означает, что теперь к виртуальной сети в Windows Azure можно подключаться из обычного ПК вне корпоративной сети. Такие возможности открывают огромное число новых сценариев применения облачной платформы и виртуальных сетей.
Rear — полноценный backend интерфейс для ActiveRecord, DataMapper и не только
2013-04-17 в 10:30, admin, рубрики: ruby, web-разработка, админ, админка, Веб-разработка, интерфейсы, метки: ruby, web-разработка, админ, админкаОчень часто, почти всегда, хочется сократить до максимума время/усилия на создание «админки».
Тем более когда уже все модели в строю и хочется дать клиенту возможность работать с ними,
добавлять записи, редактировать, удалять, редактировать зависимости итд.
Обычно на рутинный процесс создания этого интерфейса уходит непростительно много времени/ресурсов.
Кроме случая когда используются уже готовые наработки.
Именно к таким наработкам относится и Rear.
С его помощью можно создать полноценный админ интерфейс одной строкой — include Rear
Согласен, звучит как SEO-шное заявление, но тем не менее это так.
Полный разбор полёта под катом.
А для нетерпеливых — смотрим демо