Привет, меня зовут Андрей.

Я разработчик с 17 годами опыта промышленного программирования. В данный момент я живу в Мюнхене.

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

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

Последние блог-посты

Вайб-кодинг синхронизатора календарей

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

Reboot

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

Итоги года

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

По следам WWDC 2012

Как и многие, почитал трансляцию с WWDC. Интересно, что в отличие от прошлых таких ивентов некоторые сайты не стали делать страницы трансляций, а вместо этого стали писать в твиттер. Скорее всего это связано с неспособностью нормально держать нагрузку: в прошлые годы у многих таких сайтов были перебои, да и сейчас на том же AppleInsider включен режим трансляции и ничего кроме трансляции посмотреть нельзя, а в шапке сайта красным цветом крупно написано, что “Во время онлайн-трансляции обновление страницы происходит автоматически” :)

Будущее зависит от меня

Четвертого октября был последний день моей работы в ОАО “Связьтранснефть”. Я проработал там почти четыре года, за которые:

  • так или иначе позанимался разработкой почти всех модулей нашей системы управления предприятием (“Документооборот”, “Бюджетирование”, “Договорная работа” и т.д.)
  • разрабатывал и дорабатывал базовые классы и компоненты системы
  • разрабатывал инструменты, автоматизирующие отладку, тестирование и прочие операции
  • администрировал часть инфраструктуры, используемой при разработке
  • переводил проект на новые компоненты, версии IDE, систему контроля версий
  • выступил на конкурсе молодых специалистов, где защитил нашу общую работу по автоматизации бюджетирования и занял первое место.

Настало время двигаться дальше. С пятого октября я работаю в столичном филиале “Мегафона”, где занимаюсь разработкой портала на Django/Oracle, систем сбора статистики и еще рядом задач.

Virtualenv

Есть куча способов установки питоновских пакетов. Какие-то более удобны, какие-то менее, в зависимости от ситуации. Опишу способ, который мне оказался удобен в большинстве случаев.

Для его использования не нужно ничего, кроме собственно virtualenv и pip. Для каждого проекта я использую отдельную среду со своим набором пакетов - мне так удобнее управлять зависимостями.

Для создания окружений я использую небольшую функцию в ~/.profile:

mkenv() {
  VENV_PATH="$HOME/.python-envs`pwd`"
  virtualenv --no-site-packages -p `which python` $VENV_PATH
  echo "VIRTUALENV_PATH=$VENV_PATH" > .venv
  source $VENV_PATH/bin/activate
}

Окружения создаются в скрытой папке ~/.python-envs/<путь_к_папке_с_проектом>, а путь к окружению пишется в папку проекта в скрытый файл .venv. В принципе, путь можно и вычислять, но я уже пару раз менял место для новых окружений, а так нет необходимости переносить старые.