Данный пост является ответом на пост "Почему люди выбирают PHP, или почему миллиарды мух могут ошибаться". Надеюсь, мне удастся развеять миф о несостоятельности платформ вроде Ruby и Python, который активно распространяется PHP разработчиками, причем разработчиками т.с. нижнего сословия, которые кроме PHP больше ничего не видали. Конкретно в данной статье я формате вопрос-ответ расскажу о том, почему Ruby и Rails — реальные игроки, почему они популярны и можете ли вы их использовать для построения собственного бизнеса в интернете.
Метка «ruby» - 20
Почему многие выбирают Ruby, а не PHP
2012-04-19 в 11:01, admin, рубрики: php, rails, ruby, ruby on rails, метки: PHP, rails, rubyПишем тесты здесь и сейчас, иначе возникает большая вероятность откладывания на лучшие времена
2012-04-16 в 11:51, admin, рубрики: ruby, testing, Веб-разработка, тестирование, метки: ruby, testing, тест А чтобы тестировать не отходя от кассы нужен фреймворк который внедряется в код
но никак не влияет на его работу.
Именно это делает Spine — позволяет писать тесты рядом с кодом никак не влияя на работу приложения.
Почему Spine?
Потому что «Specs Inline» и потому что(imho) для рационального ПО, тесты играют роль позвоночника.
Многим это статья может показаться повтором и они будут отчасти правы,
так как данная статья основана на пятой части знакомства с Presto.
А сам Spine вырос из и стал на замену PrestoTest фреймворка.
И зачем повторять то что уже написано?
Просто Spine существенно отличается от PrestoTest и соответственно данная статья тоже отличается от предыдущей, процентов на 80.
Да и представлять новый гем в пятой части знакомства с Presto как-то не корректно.
И да, статья не претендует на большие плюсы. Если вам данная методология не по вкусу,
минусовать не зачем, просто игнорируйте её и используете ваш любимый тест-фреймворк. Спасибо.
Мотивация:
- Визуальный контакт. Я хочу писать спецификации одновременно с кодом
и чтобы они физически находились рядом, в том же файле или папке, но никак не в амбаре. - Простые вещи должны остаться простыми.
foo.should == bar
никак не заменитfoo == bar
- Я не хочу ни запоминать список синтетических заменителей простых вещей
ни работать с документацией под рукой. - Никаких хаков. Тестируемые объекты и базовые классы Ruby должны остаться в
первоначальном состоянии.
Строим биндинги из Ruby к C-библиотеке
2012-04-16 в 11:42, admin, рубрики: ffi, ftdi, ruby, метки: ffi, ftdi, rubyНа днях нужно было построить биндинги к библиотеке libftdi, которая обеспечивает взаимодействие с чипами FTDI, которые позволяют создавать различные USB-устройства.
Для создания биндингов я выбрал расширение FFI, которое позволяет загружать динамические библиотеки и строить биндинги к ним.
У FFI есть несколько достоинств, которые сыграли в его пользу:
- Поддержка интерпретаторов MRI Ruby 1.9, MRI Ruby 1.8, JRuby, поддержка платформы Windows, ограниченная поддержка Rubinius;
- Отсутствие необходимости компиляции биндингов;
- Удобный язык описания биндингов.
Используем Resque в Rails
2012-04-12 в 13:10, admin, рубрики: resque, ruby, ruby on rails, метки: resque, ruby, ruby on railsResque — ruby-библиотека для создания фоновых задач, составления очередей таких задач и их последующего выполнения. Задачи могут быть любым ruby-классом или модулем, содержащим метод perform. В ruby-сообществе Resque пришел на смену Delayed Job (не знаю, кстати, почему проект перестал развиваться, весьма удобная была вещь на мой взгляд) и обладает большим количеством различных преимуществ, таких как разделение задач по разным машинам, приоритеты задач, устойчивость к разным утечкам памяти и еще, и еще, и еще. На этом вступление для тех, кто не может самостоятельно перевести первый абзац из README прошу считать законченным.
В данной статье будет показано как использовать resque и resque-scheduler в rails-приложении.
Читать полностью »
Left brain needed
2012-04-10 в 8:32, admin, рубрики: ITmozg, mail.ru, python, ROR, ruby, Блог компании ITmozg, метки: ITmozg, mail.ru, python, ROR, rubyО том, куда пристроить левое полушарие вашего ITmozg'а.
Печатная реклама «Left Brain Right Brain, Einstein» принадлежит Shalmor Avnon Amichay/y&r Interactive Tel Aviv
Читать полностью »
То, что убило Smalltalk, может убить Ruby
2012-04-06 в 18:45, admin, рубрики: ruby, smalltalk, Программирование, метки: ruby, smalltalkНе так давно апологет ООП, автор «манифеста Agile», человек, сформулировавший принципы SOLID, Роберт Мартин сказал, что Ruby может умереть.
Роберт Мартин известен своими книгами (к примеру, выдающаяся «Rapid Software Development», которую я ставлю выше «Рефакторинга» Фаулера в личном top50 книг) и богатым вкладом в разработку ПО.
В одной из своих лекций он рассказывает о холиваре 70-80 годов прошлого века. В те годы smalltalker'еры противопоставляли себя C++ программистам, и не писали «быдлософт» (ERP, CMS). Потому что считали свой язык очень мощным и избранным.
Читать полностью »
Ruby стал стандартом ISO
2012-04-05 в 12:23, admin, рубрики: ruby, стандарт iso, метки: ruby, стандарт isoПосле четырех лет разработки, 31 марта этого года по результатам голосования (пресс-релиз на японском) Ruby был принят как стандарт ISO/IEC 30170.
Стандарт имеет статус 60.00, что по классификации ISO означает «в публикации».
Читать полностью »
На язык Ruby появился стандарт ISO
2012-04-05 в 12:23, admin, рубрики: ruby, стандарт iso, метки: ruby, стандарт isoПосле четырех лет разработки, 31 марта этого года по результатам голосования (пресс-релиз на японском) был принят стандарт ISO/IEC 30170 на язык Ruby.
Стандарт имеет статус 60.00, что по классификации ISO означает «в публикации».
Читать полностью »
Чего мне хотелось бы от будущих версий руби, и как я справляюсь сейчас
2012-03-31 в 12:40, admin, рубрики: ruby, ruby 2.0, workaround, Песочница, Программирование, метки: ruby, ruby 2.0, workaround Добрый день.
Я около года работаю с Ruby и хотел бы написать о некоторых вещах, которых лично мне там часто не хватает, и которые я хотел бы видеть встроенными в язык. Пожалуй лишь пара из этих пунктов являются действительно серьезными недоработками, с остальными можно легко справиться подручными средствами.
Вроде бы недоработки и мелочь, но они ощутимо осложняют работу — приходится писать собственные библиотеки вспомогательных методов, которые и в гем не выделишь — уж больно маленькие, и без них некомфортно. А порой открываешь чужой код — и видишь там точно такие же вспомогательные функции как у тебя. Это как мне думается знак, что стандартная библиотека языка недоработана. Что же, будем надеяться, кто-нибудь из разработчиков прочтет текст и закоммитит патч. ;-)
Итак, начнем по порядку:
- Перегрузка метода разными списками аргументов, как в C++
- Отобразить хэш и получить из него другой хэш, а не массив
- Преобразовать экземпляр класса в экземпляр его же собственного подкласса
- Разные рюшечки
Знакомство с Presto — Заключительная часть — Тестирование
2012-03-30 в 12:56, admin, рубрики: ruby, Веб-разработка, метки: ruby Начну с банального примечания — данная утилита является лишь дополнением к существующим тест фреймворком, а не их заменой.
И ничего особенного в ней нет, просто очень удобно работать.
Мотивация:
- Визуальный контакт. Я хочу чтобы спецификации физически находились рядом, в том же файле или папке, но никак не в амбаре.
- Умные браузеры. Когда я пишу спецификацию для определённого action-а, браузер должен определять адрес автоматически.
- Никаких хаков. Тестируемые объекты и базовые классы Ruby должны остаться в нетронутом состоянии.