LINUX.ORG.RU

Rybu on rails or django or ...

 , ,


2

1

Навеяно.
Java (+фреймворки) - основной рабочий язык, в основном server side. Хочу развиваться дальше в этом направлении.
Python (фремворков не знаю) - использую в основном для больших скриптов.
Grails - был опыт написания небольшого сайта - понравилось

Часто бывает, знакомые просят написать простой сайт:
- регистрация
- не сложный дизайн (но и не полное уг)
- пара ролей
- etc

Все делал на java в лучших традициях жирного ентерпрайза. Времени уходит не мало. Но все работает хорошо. Но подход не самый оптимальный.

Хочеться изучить что-то новое для быстрого написания не больших/простых сайтов.

Погулил выбор упал на RoR и Django. Пока присматриваюсь в RoR. Может кто-то стоял перед подобным выбором. Посоветуйте, что стоит изучить для написания небольших сайтов, возможно, фриланса.



Последнее исправление: CYB3R (всего исправлений: 3)

Ответ на: комментарий от provaton

Я тоже считаю пип чуть проще в работе (читай удобнее). Но незначительно. Он явно не уступает bundler, но и похвастаться чем-то мега удобным - не его стиль. Здесь просто всё работает.

menangen ★★★★★
()
Ответ на: комментарий от windofchange

Если понравился Rails - конечно попробуй, но сейчас лучше смотреть в сторону Coffee Script и NodeJS + Express.

menangen ★★★★★
()
Ответ на: комментарий от windofchange

Не распарсил, но на всякий случай порадуюсь за вас.

Deleted
()
Ответ на: комментарий от menangen

Что будут делать рубисты? Они будут искать гемы для скрапинга, но таких по мощности и удобству не найдут.

Пойду всем расскажу.

Для этого есть ряд причин: рельсы отлично скопированы рядом других платформ. А именно: Java, JavaScript

WAT??

Я работаю на одеск, и там интерес к Ruby on Rails заметно падает. Все переходят на JavaScript

WAT???

Вы хотите сказать, что прекрасный Ruby с его волшебной обьектной моделью, хуже, чем убогое поделие JS??

Alve ★★★★★
()
Ответ на: комментарий от iVS

От себя: pip не знаю

Ну вот, а если бы знал, то знал бы, что пип тоже разруливает зависимости и поддерживает чтение требований из файла.

Вообще, это у рубистов тренд такой, ругать софт, который они вообще в глаза не видели. Не удивлюсь, что скоро скажут, что питон не является тюринг-полным языком.

provaton ★★★★★
()
Ответ на: комментарий от menangen

Вы правы, просто я пытаюсь разговаривать с троллями на их языке :) Иначе они просто не понимают, а так хоть какой-то процент моей мысли до них дойдет...

provaton ★★★★★
()
Ответ на: комментарий от fenris

Любишь пофапать на циферки?

Да, люблю использовать Emacs 24 вместо 23-го, vlc 2.0, последние кеды. То есть, всё то, что есть в дебиан Sid, тогда как Sid у дебианщиков - это пороховая бочка.

iVS ★★★★★
()

Погулил выбор упал на RoR и Django. Пока присматриваюсь в RoR.

Бери Django или Flask. Лучше конечно Flask.

А что касается руби - то это для тех красноглазых, кто желает тратить время на убогий синтаксис.

Siado ★★★★★
()

Тут уже что больше нравится: python или ruby.

C1nde
()
Ответ на: комментарий от iVS

24 есть и в stable. Но до очень обидно, когда что-нибудь запилили хорошое, а у тебя нету.
// Sid

anonymous
()

Для рельсы же памяти надо чуть ли ни как для жабы, или я не прав.

А ещё она тормозит, ололо.

ritsufag ★★★★★
()
Последнее исправление: ritsufag (всего исправлений: 1)
Ответ на: комментарий от special-k

Скажи, на сколько по-твоему далеко от этого пип, бесконечно?

pip-review # checks PyPI and reports available updates pip-dump # dumps the exact versions of installed packages in your active environment to your requirements.txt

anonymous
()
Ответ на: комментарий от iVS

Вот ruby-2.0 можно собрать руками вообще без проблем (+ rbenv). Но зачем?

Deleted
()
Ответ на: комментарий от Alve

Я хочу сказать, что интерес к RoR заметно падает на западе. И JavaScript сейчас наиболее интересен основной массе веб-разработчиков. Так же, RoR удачно скопирован другими фреймворками на Scala, Groovy, JavaScript и даже python (смотрите web2py). На гитхабе каждую неделю появляется по 2-3 фреймворка на JavaScript - так что будущее именно за ним.

menangen ★★★★★
()
Ответ на: комментарий от menangen

каждую неделю появляется по 2-3 фреймворка на JavaScript - так что будущее именно за ним.

ok)

kelyar ★★★★★
()

Все делал на java в лучших традициях жирного ентерпрайза. Времени уходит не мало.

думаешь на всех этих недофреймворках будет быстрее?

stevejobs ★★★★☆
()
Ответ на: комментарий от menangen

JavaScript прикручивается и к рельсам (во всех рельсах, не только рор). Сказать то же самое про node.js наверное не получится :3

На гитхабе каждую неделю появляется по 2-3 фреймворка на JavaScript - так что будущее именно за ним.

он позволяет быстро писать дегенератские хоумпейджи. У него будущее в том месте, где раньше был пхп. Это точно та сфера, с которой стоит связываться?

stevejobs ★★★★☆
()
Ответ на: комментарий от Alve

Вы хотите сказать, что прекрасный Ruby с его волшебной обьектной моделью, хуже, чем убогое поделие JS??

для хоумпейджей — да, хуже. Типичный веб-дизайнер не асиливает даже описания рора :3 Какая к черту «объектная модель»? Все мои попытки перевести дизайнеров на LESS/SASS/Stylus/etc, которые очевидно упрощают их же собственную область, потерпели EPIC FAIL. Когда дизайнер видит .scss, первейший рефлекс — стереть всё нафиг и переписать на CSS, даже если это потребует скажем анального реверсинжиниринга сгенеренного исходника. Более продвинутые вещи вообще лесом-полем.

stevejobs ★★★★☆
()
Ответ на: комментарий от special-k

Ты говоришь так, как будто 90% времени рулишь внешними зависимостями, причем каждый раз в самой извращенной форме.

zz ★★★★
()
Ответ на: комментарий от stevejobs

Типичный веб-дизайнер не асиливает даже описания рора

Изначально ошибочный подход, пришёдший от PHPшников, где один школьник и код пишет и архитектуру приложения планирует и «дизайн» натягивает. И в ворованном фотошопе макеты рисует. Дизайнер должен рисовать, front-end программист - программировать.

Все мои попытки перевести дизайнеров на LESS/SASS/Stylus/etc, которые очевидно упрощают их же собственную область, потерпели EPIC FAIL.

Ага. Потому путаете дизайнера и front-end девелопера. Так и дальше будут фейлы.

Когда дизайнер видит .scss, первейший рефлекс — стереть всё нафиг и переписать на CSS

Хреновый дизайнер, может быть.

Alve ★★★★★
()
Ответ на: комментарий от menangen

На гитхабе каждую неделю появляется по 2-3 фреймворка на JavaScript - так что будущее именно за ним.

будущее именно за ним.

Надеюсь конец света случится раньше, больше надеяться не на что:(

Alve ★★★★★
()
Ответ на: комментарий от Alve

Ага. Потому путаете дизайнера и front-end девелопера. Так и дальше будут фейлы.

в маленьких компаниях из 2-3 человек весь фронтенд рисует и делает «условный дизайнер» (именно дизайнер, а не художник, художник на самый крайняк в аутсорс). Так же как и весь бизнес делает один «условный директор», и всё проганье и админинг - один «условный программист»

если почитать что пишут про стартапы, это максимум 10 человек, в среднем 3-5. Т.е. можно разделить задачу дизайна и кодинга фронт-енда, но т.к. это обе задачи по духу «дизайнерские», то при лимите в 5 человек кажется нецелесообразным, лучше еще одного бизнесмена взять на продажи

stevejobs ★★★★☆
()
Ответ на: комментарий от Alve

Хреновый дизайнер, может быть.

очень хорошие разработчики фронт-енда так делали. Причем именно ведлеленные разработчики фронт-енда, на которых не висит вся остальная нагрузка типа дизайна.

просто у людей слишком мало времени, чтобы изучать что-то новое. А пользоваться тем, что не изучено — страшно, т.к. за свои поступки отвечаешь своими деньгами и своими клиентами.

а еще часто бизнесмены таких людей специально нанимают — чтобы сразу всё знали. Т.е. если на собеседовании скажешь что-то типа «попрофилируем и посмотрим» тебя тут же пошлют, т.к. не интересно гадать (гадание занимает время), интересно чтобы человек сразу знал набор готовых рецептов. Ну и таких людей с «готовыми рецептами» скапливается критическая масса, и это стает стилем мышления. Т.е. SASS это плохо уже просто потому, что это что-то другое/новое.

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

просто у людей слишком мало времени, чтобы изучать что-то

новое.

Вот оно, в чём главная ошибка. К счастью, подобные конторы мне пока не встречались. У нормальных людей не составляет проблемы выучить что-то, что впоследствии им же облегчит работу и нормальный руководитель знает, что обучение это часть правильно поставленного рабочего процесса. В общем, соболезную.

Alve ★★★★★
()
Ответ на: комментарий от Alve

К счастью, подобные конторы мне пока не встречалис

эээ забиваешь в поиск на любом джоб-сайте что-нибудь типа «php» или «java web» по какой-нибудь столице аутсорса типа Новосибирска или Киева, и фильтруешь middle-вакансии. Там будет куча таких, выбирай не хочу. Продажник ищет аутсорсный заказ, исполнители фигачат, манагер ужом вьется чтобы заказчик не убежал к дешевым индусам. Если ты потеряешь значительное время на внедрение новой технологии, которое очевидно не выльется в непосредственные $$$, по голове никто не погладит, «занимайся этим в свободное время». Попробуй доказать, что использование нового рора, например, на том же проекте даст больше $$$ чем копипаст уже готового обкатанного жава-ынтерпрайза

stevejobs ★★★★☆
()
Ответ на: комментарий от zz

Ты говоришь так, как будто 90% времени рулишь внешними зависимостями, причем каждый раз в самой извращенной форме.

Просто нет никакой извращенной формы. Но да, испытание новых библиотек и новых версий библиотек проходит на столько быстро, на сколько это возможно - просто взял и поехал, типа: «о, кто-то решил эту проблему, ну-ка посмотрим.» Понравилось - оставил, не понравилось убрал из Gemfile и забыл. А не свистопляска с «текущим» репозиторием библиотек.

special-k ★★★
()
Ответ на: комментарий от provaton

Ну вот, а если бы знал, то знал бы, что пип тоже разруливает зависимости

Он не разруливает! Обнови-ка библиотеку так, чтобы зависимые библиотеки тоже одновременно обновились до нужных версий - не можешь, вот и не ври.

Как обезьяна прописываешь сначала команду установки/обновления, потом вносишь строчку в requirements.txt - делай, питонщики должны страдать.

Создаешь окружение под каждый проект вводишь команды в обязательно нужной директории - молодец, внимательный мальчик.

Вообще не используешь пип, а юзаешь системное старье, молясь на мантейнеров - это и есть питон вей.

special-k ★★★
()
Последнее исправление: special-k (всего исправлений: 1)
Ответ на: комментарий от special-k

Алгоритм у пипа конечно не самый наилучший, но он

1. Устанавливает все зависимости.

2. При апгрейде рекурсивно все зависимости обновляет.

Ты похоже ни одного реального проекта на питоне в глаза не видел, поэтому твои представления о работе в питоновском окружении очень далеки от действительности.

Ты олигофренически упоротый тролль, наверное единственный на ЛОРе, с кем вообще невозможно разговаривать. Занесу тебя в игнор, ибо душевный покой дороже. Пока.

provaton ★★★★★
()
Последнее исправление: provaton (всего исправлений: 1)
Ответ на: комментарий от menangen

Напомню, что Scrapy и Twisted асинхронные фреймворки.

Да ты открыл америку, лол. Я тебе процитирую хабр, наш дорогой Колумб..

Такая новая архитектура стала «мейнстримом» после появления Node.js’а. Node.js написан на C++, и основывает свой событийный цикл на Сишной библиотеке «libev». Однако Яваскрипт здесь не является каким-то избранным языком: при наличии у языка библиотеки «неблокирующего» ввода/вывода, для него тоже можно написать подобные «фреймворки»: у Питона есть Twisted и Tornado, у Перла – Perl Object Environment, у Руби – EventMachine (которой уже лет пять). На этих «фреймворках» можно писать свои серверы, подобные Node.js’у. Например, для Явы (на основе java.nio) написаны Netty и MINA, а для Руби (на основе EventMachine) – Goliath (который ещё и пользуется преимуществами Fibers).

Вот так вот, ни у одного питона асинхроность внезапно, а у руби еще и фиберы есть.

рельсы отлично скопированы рядом других платформ

Уж точно не питоном, да и вообще никем. Еще раз говорю, голый проект раилс состоит из примерно ста библиотек, ничего подобного не существует. Все что существует - это монолитные куски, модули к которым писать очень затруднительно, да и собирать весь этот хлам потом.. не в радость. Какие-то общие моменты скопированы, но что ты будешь делать со всей инфраструктурой, где аналоги device, например - это все вычисляется буквально перебором популярных решений для рельсов, моментально становится понятен статус пародии у аналога. Все что выходит путного, на самом деле, - это что-то очень простое (и потому типа «понятное») беспомощное.

special-k ★★★
()
Ответ на: комментарий от provaton

Алгоритм у пипа конечно не самый наилучший, но он

Можно скачивать архивы, выполнять setup.py, удалять лишнее когда станет не нужно, алгоритм не очень хороший, но вполне рабочий.. и заняться будет чем.

При апгрейде рекурсивно все зависимости обновляет.

млять, да он вообще не работает

13-09-04 2:31 2.0.0-p247 special-k@runo:~/ Django==1.4.6
Downloading/unpacking Django==1.4.6
  Running setup.py egg_info for package Django
    
    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
  [b]Requested Django==1.4.6, but installing version 1.5.2[/b]
WTF?! Т.е. оно само будет решать что мне ставить.. вещь отвратительно тупая, но, видимо, умнее всех питонщиков, раз тех все устраивает. Что ты там говорил... Django gevent gunicorn psycopg2 ? Successfully installed Django
13-09-04 2:36 2.0.0-p247 special-k@runo:~/ _ pip uninstall gevent
Cannot uninstall requirement gevent, not installed
где? че я вообще себе поставил.. где зависимости, нет нихрена, полная туфта, и ты этот хлам сравниваешь с божественным gem, который все разруливает в одну команду, и еще говоришь, что это удобнее - да ты напрочь невменяемый.

Хватит, этот беспомощный пип, это постоянное вранье что все работает - это уже порядком раздражает. Если б оно работало, то такой здоровенный проект как джанга не состоял бы из 4 либ. Это курам на смех. Нет в питоне инструментов по управлению библиотеками, и вряд ли появится.

special-k ★★★
()
Последнее исправление: special-k (всего исправлений: 2)
Ответ на: комментарий от special-k

Он не разруливает! Обнови-ка библиотеку так, чтобы зависимые библиотеки тоже одновременно обновились до нужных версий - не можешь, вот и не ври.

pip install -U название # обновить одну

pip-review --auto # обновить все

pip-review --interactive # обновляет библиотеку, и спрашивает подошло или нет. Если нет - откатывает на старую.

anonymous
()
Ответ на: комментарий от stevejobs

Полностью с вами согласен. Одна из проблем этого мира :-(

menangen ★★★★★
()
Ответ на: комментарий от special-k

«Уж точно не питоном, да и вообще никем.»

Можешь и дальше быть в заблуждении, что архитектура RoR уникальна и прекрасна. А в свободное время посмотри к примеру Grails. Scaffolding, Active Record, MVC - всё уже давно слизано и работает из коробке у кучи фреймворков. Выбирай - не хочу.

Про 100 библиотек в голом проекте на раилс - без комментариев. Я не хочу 100 библиотек юзать в пустом проекте.

menangen ★★★★★
()
Ответ на: комментарий от anonymous

О, либа появившаяся год назад, еще менее официальная, чем пип)) - без шуток похвально.

Но она не делает того, что я попросил -_-

обновились до нужных версий

Тут не _нужные_ версии - тут спонтанные версии. пип вообще не умеет доунгрейдить. Если одна библиотека будет требовать старую версию, а другая новую версию третей библиотеки, я сомневаюсь, что он справится, он вообще работает как-то через раз.

Блин, я понимаю, что как-то вы все же барахтаетесь, но только не надо говорить, что это сравнимо с gem, или лучше чем gem. Использовать окружение - неудобно, у меня может быть полно прикладных библиотек, которые никак не связаны с проектом, но которые могут мне пригодиться даже в рамках его директорий. Которые я не захочу помещать в requirements.txt. Не знаю, есть ли у вас костыль на случай «каждый раз ставить».

special-k ★★★
()
Ответ на: комментарий от special-k

обновились до нужных версий

pip install -U package==version уже не канает?

полно прикладных библиотек, которые никак не связаны с проектом, но которые могут мне пригодиться даже в рамках его директорий

И они не пригодятся в продакшене? И виртуальное окружение не отменяет системного.

anonymous
()
Ответ на: комментарий от anonymous

pip install -U package==version уже не канает?

Во-первых у меня еще ниразу не сработало, пишет все время «Requested X==Y, but installing version Y+Z». Во-вторых мне же больше нечем заняться кроме как вводить либы по одной, ну для питона, допустим это нормально -_-. Вводить либы по одной, вносить изменения в requirements.txt... это нормально, питонщики должны страдать))

И виртуальное окружение не отменяет системного.

Т.е. оно все свалится в requirements.txt, я правильно понимаю?

special-k ★★★
()
Последнее исправление: special-k (всего исправлений: 4)
Ответ на: комментарий от anonymous

И виртуальное окружение не отменяет системного

Да и права на установку наверно разные?

special-k ★★★
()

Rybu

Что?

anonymous
()
Ответ на: ЧЯДНТ? от zz
11:39 $ pip install Django gevent gunicorn 
Successfully installed gevent gunicorn greenlet
11:39 $ pip uninstall gevent
Successfully uninstalled gevent
zz ★★★★
()
Ответ на: комментарий от menangen

Под тот же NodeJS есть хорошие годные фреймворки, разработка в разы проще, чем на RoR, удобней и быстрей.

Хорошая шутка. Особенно про фреймворки понравилось.

Vit ★★★★★
()

Жабаскрипт предлагали? Для больших проектов я бы десять раз подумал, но для хелловордов нормально прокатит.

Ну и лохиклиенты будут хорошо вестись - типа, в тренде, модно, и всё такое. Правда, первый месяц колбеки вгоняют в ступор даже опытных программистов :)

Vit ★★★★★
()
Ответ на: комментарий от Vit

Кстати, что там под ноду есть сейчас годного посмотреть? Пока я ее использую для верстки HTML чтобы апач не поднимать)

stevejobs ★★★★☆
()

А чем Play Framework не угодил? Жаву же знаешь. Те же рельсы, только в профиль. Да и все плюшки, типа кучи либ и хот код сваппинг сразу. Последнего руби вроде не умеет.

dtm
()
Ответ на: комментарий от stevejobs

Без понятия. Я ж не евангелист и не упоротый фанбой. Если есть конкретный вопрос, «как сделать то и это» - попробую ответить.

Vit ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.