Dmitry Belyavsky (beldmit) wrote,
Dmitry Belyavsky
beldmit

Category:

Змея запускаю

Сделал бету очередного микропроекта на python. Проект пока не публичный, если станет таковым — похвастаюсь.

Собственно, python там оказался (полу)случайно — альфу клиентской версии я сделал на Java, а когда мне заказчик сказал, что нужна серверная, я представил, как я бьюсь лбом о порог вхождения в экосистему Java на сервере и решил, что расшибу я тот лоб гораздо раньше. А со скриптовыми языками всё сравнительно просто, и пример того, что мне надо сделать, написанный на python, заработал с первого раза именно так, как мне требовалось. (На perl аналогичные модули работают несколько не так). Нина выбор тоже горячо одобрила. Я писал на python до того один раз 7 лет назад и воспоминания у меня были скорее положительные.

Некоторое время повозился с Django. Команд у manage.py больше, чем у git-а, документация в сети есть, но при гуглении есть шанс нарваться на какую-нибудь версию 1.4 (Cookbook-а для более новой версии я не нашёл, а удобнее всего для освоения с нуля именно он). Но типовые web-вещи там решаются просто и лучше, чем я бы написал с нуля, а учитывая, что мне нужно было всего-то пара страниц и раздача статики, то всё прошло идеально, хотя головой об стенку я побился. В Debian доступен 1.7.11, в upstream версия сейчас 1.10, а версия 1.7 значится на сайте как не поддерживаемая, я в итоге плюнул и поставил свежую версию через pip install. И прочие пакеты ставил так же, нарушая тем самым чистоту ленинских идей и отказываясь от менеджера пакетов.

Python я взял 2.7 (блин, посмотрел в предыдущие записи по тегу python — и осознал, что прошло 7 лет, а python 3 так и не завоевал мир). Из-за этого мне пришлось повоевать с указанием кодировок и, видимо, явной конвертацией в utf-8 в скрипте.

Финальным аккордом стала отладка cron-скрипта. То есть как нормальный скрипт он делал всё, что надо, а из cron-а он выдавал первое из серии диагностических сообщений, а затем падал с какой-то невнятицей. Через некоторое время нагуглилось, что надо выставлять переменную PYTHONIOENCODING=utf_8, и после этого всё заработало.

Вывод простой. Современные развитые скриптовые языки позволяют написать содержательный код без особого знания синтаксиса языка. Ну то есть я знал минимальные вещи, типа выравнивания пробелами и оформления циклов и управляющих конструкций, за чем-то сложнее лазил в учебник. И да, in stackoverflow we trust, но читать его надо очень внимательно и осмыслять, что же тебе посоветовали — просто копирование кода скорее всего не поможет.

This entry was originally posted at http://beldmit.dreamwidth.org/810616.html. Your comment? (comment count unavailable comments)
Tags: python, компьютерное, программирование
Subscribe

  • Пасхальные каникулы

    В четверг выпил местного зелёного пива. Такой вот предпасхальный специалитет в Зелёный Четверг. Кому интересно про пасхальные традиции — в чешскую…

  • Про то, как я учу чешский

    Эпиграф. Японец хвастается: — Я много лет уцил русский язык! Тысяцу слов уцил-уцил! Две тысяци слов уцил-уцил! Все они у меня тут (стучит себя по…

  • Зубы, начало

    Познакомился со здешней стоматологией. Чистка зубного камня. Ну надо иногда, согласен. И даже инструкции буду какое-то время выполнять. Во рту…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 10 comments

  • Пасхальные каникулы

    В четверг выпил местного зелёного пива. Такой вот предпасхальный специалитет в Зелёный Четверг. Кому интересно про пасхальные традиции — в чешскую…

  • Про то, как я учу чешский

    Эпиграф. Японец хвастается: — Я много лет уцил русский язык! Тысяцу слов уцил-уцил! Две тысяци слов уцил-уцил! Все они у меня тут (стучит себя по…

  • Зубы, начало

    Познакомился со здешней стоматологией. Чистка зубного камня. Ну надо иногда, согласен. И даже инструкции буду какое-то время выполнять. Во рту…