← All posts tagged Ruby

demiazz

*питер *заметки А еще, на днях познакомился с замечательной семейной парой. Не буду вдаваться в подробности кто они, лишь скажу, что ребята очень заняты на своих не менее стартаперских проектах. И занялся очень интересный разговор, в течении которого, собрав свои наблюдения пришли к удивительным фактам относительно распределения питонистов, рубистов и фронтендщиков. В Москве как оказалось, найти питониста не так уж и сложно, и их довольно много, и уровень зарплат там очень даже крутой, что я не могу сказать о Питере. Питонисты хорошие и здесь есть, но их конечно поменьше будет, да и зарплата пониже (хотя это все таки не от направления зависит, а от города). Но удивительно, что по направлению Ruby — все как раз наоборот. Такое ощущение, что рубисты начинают концентироваться в большинстве своем в Питере. Это из интересного. А из прескорбного. Был константирован факт, что найти толкового фронтендщика, сложно не только в Питере (вспоминается и старая работа, и текущая и другие команды тоже такими вещами озабочены), но и в Москве. Откуда такой вот вопрос всплывает — куда все фронтендщики подевались? Учитывая дефицит, зарплаты для них растут как на дрожжах, рабочих мест в классных и крутых конторах на самых интересных проектах — куча, а где люди? Почему нет бума на фронтенд разработку, когда есть такой просто бешеный спрос?

На сим откланиваюсь, мой пятиминутный перерыв кончился. И да. Если @wyldrodney заявится в сеть, ткните его, чтобы мне написал.

demiazz

И да. Вопрос. Ну почему на Python нет таких классных приложений, какие можно покопавшись, найти на Ruby? Язык старее, популярнее, в каком-то смысле местами и круче, но таких инструментов я просто не видел >_>

demiazz

На Ruby что не говорите, чертовски классные инструменты. Задача: разработка клиентского приложения на JS. Тесты: конечно же Jasmine, особенно то, что он идет с backbone.js хорошо, и у него крутые расширения. Пишем на CoffeeScript и SASS + Compass. Ок. Вызов принят. Надо автоматически компилить и запускать тесты.
Рецепт прост:
1) Берем cake, и пишем Cakefile;
2) Привязываем guard-shell на изменение исходников, и вызываем команду компиляции спеков, библиотек и прочего.
Получили автоматическую сборку во время разработки.
Идем дальше. Ну лень же постоянно перезагружать страницу.
Пишем очееень маленькое приложение на Sinatra для сервинга скомпилированных спеков и кода (по сути в Cakefile можно прописать пути куда компилить и билдить). На изменение файлов в директории сервера разработки привязываем guard-livereload. Ставим в браузер livereload расширение и вуаля. Изменили спеку или файл, он нам его собрал, и перезагрузил страничку в браузере.

Теперь вот хочу не переключаться в браузер. Хочу чтобы он мне notify показывал. И да. Решение только в Chrome/Chromium будет работать, другие браузеры не умеют. Решение лишь в небольшом написании хелпера-обертки вокруг вызова runner'а Jasmine тестов, и все. Если все получится. Написал код, оно тебе собрало его, и перезагрузило страницу. Тесты пошли работать, как только отработали, наш скрипт отлавливает изменения в отчете и выдает notify, которое десктопное. И если прокатит — это будет шикарно )))

demiazz

Навеяно с Хабра. Вот смотрим на Ruby. В Ruby очень много различных инструментов тестирования. Я бы сказал, это эталоны того, как можно тестировать, и очень правильный подход. И соответственно, на Ruby преобладает TDD и BDD. У Python таких инструментов нет (вру, они есть, и полные аналоги почти), но они не так красивы и приятны. Ок. Зато на Python есть Sphynx и doc-tests (последние правда лично я не юзал, так как довольно сложно понять, как их правильно юзать, пока это в моей голове плохо укладывается). К чему это я. Почему на Python еще не стал главенствующим подход DDD (Documentation Driven Development)? Ведь и подход есть, и весьма не плохой. И Sphinx это просто RSpec + Сucumber для Python.

demiazz

github.com Ускорение HAML. Довольно сильное ускорение должен сказать. Кстати. Хорошая мысль была высказана в комментах на reddit, что HAML хорош в роли прекомпилера ERB шаблонов, как CoffeeScript или SASS для своих областей. Но тут один недочет: 1) он не умеет этого 2) нужна реальная поддержка такой штуки не просто в виде умения компиляции.

К слову. Клон HAML на Python, именуемый HamlPy работает именно в сторону прекомпиляции Django Template'ов, помимо возможности компиляции просто HTML. Но зато тут другой бред. Какие-то умники вместо того, чтобы крутить его как плагин прекомпиляции, крутят его как шаблонизатор вместо тех же Django Template'ов или в совместительстве с ними, что смотрится страшно и вообще не должно так быть.

demiazz

*внезапно Внезапно, а Django умеет подхватывать обратные связи o2m, m2m и так далее. Однако с каким синтаксисом это делается, мне честно говоря дико не привычно. А еще ни хрена не понятно, что она собственно делает, и какие запросы там шлет ( Вот блин. Делают джангу уже сколько лет. У них 1 ORM, главная. Неужели так трудно блин сделать dev-консоль как у Rails которая будет выводить статистику и логи по запросам и скорости обработки рендеринга, запросов и прочего. Чтобы не ставить каждый раз django-debug-tools. Ну это звездец товарищи, но средства для разработки не входят в стандартную поставку. Это звездец звездец (((((((( А вы еще про магию рельсов говорите.

demiazz

Octopress юзает по умолчанию Pygments (да, те что питонячьи и вкуснейшие). Сейчас бандлю все это дело. Тут проскакивает rubypython. У меня rubypython головного мозга начался. Кажется последний раз когда видел сей гем — это был прикол. Неужели сваяли какой-то гейт между языками?

demiazz

Забрел понекрофилить на комменты к новости о релизе Ruby 1.9.3. Как же заебали эти школьницы в чулочках, так громко бросающиеся своим радужным дерьмом в друг друга. Руби красивый, нет питон красивый, нет у вас отступы, нет у вас end'ы с begin'ами.

Гребанная школота. >_< На кол, в печи и вообще. Подвергать уничтожению в биореакторе. Никакой адекватной оценки инструментов, только метание говна про астральную лаконичность, и какие-то совершенно тупые и непонятные претензии по синтаксису. А ЧСВ при этом такое, что крышу рвет.

P.S. Пишу на обоих языках, и обожаю оба языка. И не могу вообще понять, как можно их сравнивать? И главное зачем?

demiazz

Ах да. Руби таки перевели с GPLv2 на BSD и Ruby лицензии. Не знаю как кого, а меня радует. Не люблю как коммерческое анальное огораживаение, так и наоборот. Но в некоторых ситуациях они нужны да, но это вообще другая история.

demiazz

Чего то я как-то того самого. Забыл совсем про рельсы и руби. А тут и 1.9.3 вкупе с 3.1 (да они давно вышли). Надо бы взяться снова, хотя бы для себя, да ради удовольствия покодить. А то нечего блин сидеть на жопе ровно )

demiazz

Самое тупые доводы в пользу PHP, которые я слышал:

1. В Ruby все — объекты, что очень неудобно.
2. На PHP написан Facebook, Vkontakt и вообще 90% всех сайтов!
3. PHP намного старше Ruby, Ruby сильно сырой.
4. Я могу вставлять PHP прямо в HTML код и все это будет сьедено
интерпретатором, а в Ruby для это необходимо использовать
шаблонизаторы.
5. В PHP встроена поддержка HTTP.

P.S. не мое

demiazz

X: "Рубисты они как рок-звёзды программирования."
Y: Рок-звёзды бухают и употребляют вещества (амплуа у них такой, что поделать). И соответственно ведут себя.
Z: У этих обычно вместо веществ руби, рельсы, куча гемов и несколько проектов разной степени завершенности.