e0ne's comments

SQLAlchemy и значения по умолчанию

Published at February 23, 2014 ·  2 min read

Проблема пришла от туда, от куда не ждали. А именно от таких 5-ти строчек кода: class CustomModel(Base): tablename = ‘custom_model’ id = Column(Integer,) name = Unicode(100) datetime = Column(DateTime, default=datetime.now()) Когда-то давно я или неправильно понял доку, недочитал или прочитал не то, но был уверен в том, что этот код “компилируется” в примерно такой SQL (код приведен только в целях примера и может не работать:) ): CREATE TABLE custom_model (...

Enterprise vs OpenSource на примере Travis CI

Published at January 16, 2014 ·  1 min read

Выбор версии языка программирования, фреймворка - сложный вопрос, который всегда бурно обсуждался и будет обсуждаться. В enterprise мире часто, но не всегда, используют старые и проверенные инструменты. В то время как Python 2.7 все еще нет из коробки в RedHat/CentOS/др дистрибутивах, в некоторых уже используется Python 3.3, пусть и не в качестве системного. В мире opensource - наоборот, часто используют только самое-самое новое. Но это правило не относится к разным фреймворкам....

Снова о типах данных в Python: объекты, значения и типы (object, values and types)

Published at January 10, 2014 ·  3 min read

Если коротко, то типы в Python делятся либо на встроенные и пользовательские, либо на mutable и immutable (сразу так и не подобрал подходящего перевода на русский язык). Ну а если немного подробнее, то как-то так: Рассмотрим простой пример кода (здесь и далее примеры кода будут писаться и выполняться в ipython’е): In [1]: a =** 1000 In [2]: a Out[2]: 1000 In [3]: type(a) Out[3]: int** Здесь мы объявляем переменую создаем объект (object) a, со значением(value) 1000 типа(type) int....

О времени и выборе инструментов для разработки

Published at January 9, 2014 ·  2 min read

Безусловно, выбор языка программироания, текстового редактора, IDE, операционной системы и многого другого лежит на плечах каждого отдельно взятого разработчика. Даже если он работает в команде. По сути, всем все-равно в какой IDE пишете код, если он работает так, как надо и написан вовремя. Унификация средст разработки внутри компании/команды лишь облегчает жизть менеджерам, ИТ, новым членам команды и упрощает коммуникацию между разработчиками. Ведь на много легче один раз написать инструкцию по установки всего нужного для запуска проекта ПО, например, для Ubuntu 13....

Сборка mod_security для nginx под Ubuntu

Published at January 8, 2014 ·  1 min read

Всегда недолюбливал Apache из-за формата его конфига. Конфиг Nginx’а мне вседа было порще читать и писать. Да и статику им раздавать хорошо и быстро, поэтому от Apache я, по возможности, отказываюсь. Но частая проблема с nginx в том, что приходится собирать необходимые модули из исходников самому, со всемы вытикаюющими плюсами и минусами. И, как полагается любому популярному и быстро развивающемуся проекту, документация по сборке этих самих модулей не всегда полная и актуальная....

Мысли в слух о новых технологиях, фреймворках и time to market

Published at December 26, 2013 ·  5 min read

Как всегда, в рубрике “мысли в слух” звучит только исключительно мнение автора и может не соответствовать действительности. Безусловно, всем, ну ладно, почти всем, хочется писать только на самых последний версиях фреймворков, использовать самые новые технологии и навсегда забыть о так называемом legacy code. Но мало кто из разработчиков думает о том, когда и зачем это нужно, а когда - невозможно. Разберем пример выбора фреймворка Х на примере нескольких случаев. Случай #1....

Selenium Webdriver работает без Java

Published at November 22, 2013 ·  1 min read

Вот так неожиданно для себя узнал что Selenium Webdriver работает без Java. До этого всегда был уверен, что такого не может быть. Возможно, это произошло с релизом Selenium 2, возможно нет. Но мой мир уже не будет таким как прежде. Не поверил, пока сам не убедился в этом. Пришлось ставить виртуалку без Java и проверять следующий код: ...

Build succeeded, 156 warnings

Published at November 18, 2013 ·  2 min read

Запустил “make build” и получил 156 ворнингов:(… Хотя, достаточно быстро получил более радужное число - 69, что тоже не мало. Нужно фиксить дальше, а пока - немного очень IMHO на эту тему. Отключать или нет параметр “mark warnings as errors” (название может отличаться, но суть остается той же) - часто решают для конкретного проекта и/или команды. Иногда это не мешает работы продукта. Я бы сказал что в 98% случаев это не мешает, зато остаются 2%....

Параллельные билды в Jenkins

Published at November 15, 2013 ·  2 min read

Разберем ситуацию, ставшую достаточно распространенной в наше время. Есть распределенная команда, допустим в двух городах (А и Б), которая работает над одним крупным проектом. Сборка проекта происходит на Jenkins’е в городе А и длится, например 3 минут. Скачать готовый продукт из города А в город Б можно в среднем за 30 минут (в зависимости от времени суток, загрузки канала, фазы луны и т.д.). Итого: команде из города Б нужно ждать час(60 минут) чтобы запустить/протестировать свежий билд....

Как быстро поднять простой HTTP-сервер

Published at October 8, 2013 ·  1 min read

Скорее заметка для себя. Постоянно забываю об этом ключе. Иногда нужно очень быстро поднять HTTP-сервер с минимальным функционалом. Например, нужно проверить HTML+JavaScript, который работает только через веб-сервер. Я, конечно понимаю, что у меня под рукой всегда есть, как минимум nginx, и поднять на нем сайт, который будет раздавать статические фалы, делов на 5-10 минут. Но, во-первых, это долго, а во-вторых, этот самый nginx у меня находится на виртуалке, пусть и включенной в 90% времени на ноутбуке....



Archives

2018 (2)
2017 (3)
2016 (2)
2015 (3)
2014 (5)
2013 (17)
2012 (22)
2011 (35)
2010 (25)
2009 (35)
2008 (32)
2007 (2)