LINUX.ORG.RU

Аналог режима PHP для Python/Ruby


0

2

Знаю, на ЛОРе не любят PHP (я собственно его тоже не люблю), но у него есть классная фишка - отсутсвие необходимости перезагружать сервер. То есть отредактированный файл тут же подхватывается - никакой задержки ни при разработке, ни пре деплоее.

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

Я сейчас использую bottle.py - у него есть ощутимая (хотя и не долгая) задержка при перезагрузке сервера. Может у других фреймворков с этим лучше?

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

я с него сбегу на что-то более подходящее.

Да, питон не панацея, с этим не поспоришь. Каких-то особых киллерфич просто нет.

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

Вобщем если бы ты запостил код твоего базового класса, его наслденика для таблицы, и так ты с ним обращаешся к бд. Порт в питон думаю был бы 50% короче.

И, да. whatever.set_group_id(1) вместо whather.group = group_instance это рак, и какой это вобще oRM, если ты айди руками суеш

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

отсутствие любителей велосипедить свои странные орм

Да нет, думаю, их даже больше. Ощущение всевластья на начальном этапе изучения гораздо сильнее.

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

И, да. whatever.set_group_id(1) вместо whather.group = group_instance это рак, и какой это вобще oRM, если ты айди руками суеш

Вообще-то, _id намекает на то, что это именно _id. Целочисленный индекс.

и какой это вобще oRM

Задача записи класса в ORM — это 0.1% случаев :) И он в общем случае не унифицируется, так как в классе может быть только один id объекта другого класса, может быть имя_класса+id_объекта, может быть уникальный_числовой_идентификатор_класса+id (скажем, для очень объёмных записей, типа поисковых индексов).

В общем же случае это будет не set_group(1), а set_group($group); А уже этот метод пропишет group_id.

Но обычно никаких set_group() нет, так как львиная доля таких операций — в формах, обрабочик форм этим всем занимается сам. Лично я ручками set_some() пишу относительно редко :)

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

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

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

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

Прекрасно. Значит по этому критерию, PHP — «нормальный динамический язык» :)

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

разговор слепого с глухонемым

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

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

для себя, ессно

Да, именно так. Я исповедую принцип «лучше день потерять, зато за 5 минут долететь» и часто ради экономии пяти минут в разработке могу потратить день на реализацию новой фичи. Пусть даже по времени оно и за пару лет работы не окупится, но зато в другой раз позволит рутиной заниматься не 5 минут, а минуту. А я очень, очень ленив в отношении рутины.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73
>>> def array(*a, **kwa):
...    arr = {}
...    for n, i in enumerate(a): arr[n] = i
...    arr.update(kwa)
...    return arr
...
>>> x = array(
...    'id',
...    'username',
...    'user_nick',
...    'group_id',
...    login='username',
...    user_title='title',
...    # ...
...    )
...
>>> x
{0: 'id', 1: 'username', 2: 'user_nick', 3: 'group_id', 'login': 'username', 'user_title': 'title'}
>>> 

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

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