e0ne's comments

Подводные камни при использовании Fabric(SSH) и Jenkins

Published at September 16, 2013 ·  2 min read

Или мне так не везет, или для всех это совершенно очевидные вещи, но я, при выполнении простой fabric task’и копирования содержимого директорий, столкнулся на ряд проблем, которые хоть и казались простыми и распростаренными, но были описаны в найденных мной блогах и мануалах в плной мере. Проблема #1 - неправильный пользователь Не всегда бывает что имя локального пользователя совпадает с удаленным. Ситуация распространенная и описанная всеми, кому не лень. Решение простое - указывем нужного пользователя в переменной env....

Настройка PHP+Nginx для 'Hello, world'

Published at September 6, 2013 ·  1 min read

Иногда приходится делать удивительные и неожиданные для себя вещи. Например, писать что-то на PHP. Но написать мало - надо еще проверить что написанный код работает. В моем случае приложение было немного сложнее классического “hello, world”, но все-равно требовалось проверить его работоспособность. Т.к. это всего-лишь тестовая версия/PoC или что-то такое, интересовала самая простая схема его запуска. Apache не виртуалке c Ubuntu не стоял, под руку попал Nginx. Далее все происходило так:...

MacOS Case-Sensitive FIle System

Published at January 13, 2013 ·  1 min read

Какое-то время назад, для меня было удивительно, что в Mac OS X, в отличии от Linux, стоит Case-Insensitive файловая система. Т.е. файловая система не чувствительная к регистру файлов и директорий. В большинстве случаев, это не причиняет вреда, но иногда приносит достаточно досадные проблемы. Что бы избавиться от этого можно либо создать раздел с Case-Sensitive файловой системой, либо создать временный (или не очень) виртуальный диск. Плюс второго способа в том, что этот диск будет храниться одним файлом и, при необходимости, если легко будет удалить....

Типы проектов со стороны разработчика

Published at January 12, 2013 ·  1 min read

Суббота, вечер, пишу очень IMHO. Мнение атора может не совпадать с мнениями других и действительностью. С моей точки зрения, как разработчика проекты делятся на:  Outsourcing - вроде все понятно, самый популярный вид разработки в наших краях, но бывает разный - product development - когда вся разработка происходит тут, у нас, менеджмент тоже свой, но заказчик кто-то из вне. Собственно заказчик, со всемы вытикающими отсюда плюсами и минусами, единственное, что отличает этот пункт, от пункта “own product - “классический аутсорс” (не знаю как правильно называется) - когда заказчик возводится чуть ли не до уровня Бога, а мы для него становимся просто дешовой рабочей силой, которая должна молча, быстро и хорошо выполнять задачи, которые меняются по срокам, целям и приоритетам по неизвестной для нас причине....

TestFixtures - маленькая, но очень полезная библиотека

Published at January 11, 2013 ·  1 min read

Давно решил не писать отзывы к библиотекам/фреймворкам, но эта поражает меня уже второй раз так, что в твиттере не помещается вся мысль. Давно решил не писать отзывы к библиотекам/фреймворкам, но эта поражает меня уже второй раз так, что в твиттере не помещается вся мысль. TestFixtures (http://packages.python.org/testfixtures/) - приятное дополнение, а в некоторых случаях, и замена Mock. То, что она умеет делать mock’и объектов - этим никого не удивишь. Вся прелесть TestFixtures в том, что в ней уже из коробки доступны те самые вещи, которые часто приходится писать самому, тем самым изобретать свой велосипед:(....

Немного о внутренностях DNS (Domain Name Service)

Published at January 10, 2013 ·  3 min read

Проводя небольшой рефакторинг кода, свазаного с работой DNS, решил больше узнать о нем и поделиться со всеми полезной (или не очень) информацией. DNS (Domain Name Service) - служба доменных имен. С ним (DNS) все сталкивались, но далеко не все знают как он работает и что может. В простейшем случае - это сервис, который переводит доменное имя в IP адрес, а вот что у него внутри - читайте ниже. Как и большинство протоколов, DNS имеет свою спецификацию, описанную в RFC 1035 и RFC 1706....

Django 1.5 Release Candidate

Published at January 9, 2013 ·  2 min read

4 января вышел релиз кандидат fullstack-фрейморка для разработки веб-приложения Django. Обзоры, наверено, не писали/читали только ленивые. Но пишут, в основном, про мажорные фичи, из-за которых и выпускают релиз. Я перевел свой небольшой прототипчик одного приложения на Django 1.5 RC и поюзал некоторые минорные нововведения, о которых пишут мало, но которые почти делают каждый релиз тем, из-за чего часто хочется использовать именно его. Из того, что мне понравилось - это: - изменения в template engine: теперь True, False, None воспринимаются так же, как и в python; - дополнительные батарейки для работы с временными зонами - мелочь, а очень приятно; - исправленна ошибка OutOfMemory при использовании команды dumpdata - особенно полезно на небольших хостингах; - mod_wsgi auth handler - для тех, кто все еще использует Apache и Basic авторизацию; - в debug конфигурации приложения логи дополнительно выводятся в консоль; - user_login_failed событие - понятно что это такое, +1 к секьюрити: легче блокировать ботов от перебора паролей и плюс к защите от DDoS; - loaddata имеет опцию для игнорирования колонок, которых больше нет в модели - просто в восторге от этой фичи, имхо, она для меня теперь станет неаменимой при разработке, кода модель активно меняется, а django south использовать еще рано (в момент разработки, а не при выходе в production)....

Больше велописедов, хороших и разных

Published at January 8, 2013 ·  1 min read

Читая серию заметок Кости Данилова “Облака ‘на коленке’” подумалось: велосипеды - это хорошо. Но, что б это было хорошо, они должны соответствовать таким требованиям (1 или более): - выполнять роль прототипа (PoC); - **создаваться для того, что бы разобраться с каким-то фреймворком и/или технологией;** - удаляться при первом же понимании того, что кто-то это уже сделал. Если ни одно из вышеперечисленных правил не выполняется, то: - разрабочик чего-то не знает...

GIT: некоторые полезные команды

Published at January 7, 2013 ·  1 min read

Надоело постоянно гуглить одно и то же, решил записать в отдельную заметку.   Установить значения username/email: $ git config –global user.email “e0ne@e0ne.info” $ git config –global user.name “e0ne” через .gitconfig это делать не всегда удобно, т.к. иногда нужно разные name/email для разных upstream repos Установить upstream branch: $ git branch –set-upstream master upstream/master Поменять последний коммит: $ git commit –amend -a Поменять автора нескольких коммитов: $ git filter-branch –commit-filter ‘...

Network namespace - виртуальный сетевой стек в linux

Published at January 6, 2013 ·  3 min read

Почему-то, информации на тему “что такое network namespace” я практически не нашел, что в очередной раз доказыват: английский - основной язык для ИТ. Почему-то, информации на тему “что такое network namespace” я практически не нашел, что в очередной раз доказыват: английский - основной язык для ИТ. Network namespace - это логически отделенный от других стек сетевых протоколов в Linux. Такая себе контейнерная виртуализация для сетевых интервейсов, когда chroot LXC и нужна виртуализация только сетевых интерфейсов....



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)