Feb. 19th, 2017

beldmit: (Программизм)
Сделал бету очередного микропроекта на 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, но читать его надо очень внимательно и осмыслять, что же тебе посоветовали — просто копирование кода скорее всего не поможет.
beldmit: (Манул)
Многие эту историю от меня слышали, но раз уж записал в ФБ — перенесу сюда, пусть будет.

С Вассерманом я проходил таможню несколько раз. Чаще всего это было в поезде с Украины в Москву в 2000-2001 годах. Это было, как правило, довольно скучно. Но один раз довелось это делать в аэропорту.

Итак. Баку. Утро. Прошедшие досмотр знатоки скучковались и смотрят, как Вассерман будет проходить таможню.

Вассерман скидывает жилетку на транспортёр для осмотра и проходит в рамку. Ко всеобщему удивлению не звенит.

Девочка-таможенница на своём конце транспортёра берёт жилетку двумя пальчиками. Пытается оторвать от транспортёра. Не получается.

Берёт жилетку, прикладывая усилия. Усилия для неё заметные, но она её поднимает и несёт. Видит ближайший стул. Вешает на спинку. Поворачивается к Вассерману.

В этот момент стул, на спинку которого повесили 4+ кило, с грохотом падает. Знатоки ржут. Девочка краснеет и пропускает Вассермана без дальнейшего досмотра.

Profile

beldmit: (Default)
Dmitry Belyavskiy

May 2025

S M T W T F S
    123
45678910
11121314151617
181920212223 24
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 18th, 2025 02:47 pm
Powered by Dreamwidth Studios