Протестировать свежую версию любимого фреймоврка. Запустить приложение со специфичным набором библиотек. Установить необходимые библиотеки по списку зависимостей. Как решить все эти задачи не затронув системные файлы? В этой статье речь пойдет об утилитах virutalenv и pip.
User
Стоит ли вам использовать Google AppEngine?
5 min
4.4KDisclaimer: Эта статья не о том, «какой я умный и какой Гугл тупой». Эта статья о некоторых неочевидных проблемах и особенностях Google AppEngine (GAE), о которых было бы неплохо знать тем, кто хочет начать работать с «империей зла» :-)

Гугл сделал много отличных вещей – поиск, почта без спама… Гугл получает кучу наших приватных данных, но мы продолжаем пользоваться им, потому что оно так классно работает…
Некоторое время в IT-шных кругах поднялось достаточно шума об AppEngine, и я решил попробовать поработать с ним в моём новом проекте.
Я выбрал Python с гугловским framework-ом чтобы получить наилучшую совместимость и скорость. Начал я с тестов производительности, и результаты были…
Гугл сделал много отличных вещей – поиск, почта без спама… Гугл получает кучу наших приватных данных, но мы продолжаем пользоваться им, потому что оно так классно работает…
Некоторое время в IT-шных кругах поднялось достаточно шума об AppEngine, и я решил попробовать поработать с ним в моём новом проекте.
Я выбрал Python с гугловским framework-ом чтобы получить наилучшую совместимость и скорость. Начал я с тестов производительности, и результаты были…
+80
Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое
16 min
40K
Введение
С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
Статья большая, так что будет поделена на логические блоки:
0. Зачем вообще что-то оптимизировать? 1. Оптимизация ОС (FreeBSD) 1.1 Переход на 7.х 1.2 Переход на 7.2 1.3 Переход на amd64 1.4 Разгрузка сетевой подсистемы 1.5 FreeBSD и большое кол-во файлов 1.6 Softupdates, gjournal и mount options 2. Оптимизация фронтенда (nginx) 2.1 Accept Filters 2.2 Кеширование 2.3 AIO 3. Оптимизация бэкенда 3.1 APC 3.1.1 APC locking 3.1.2 APC hints 3.1.3 APC fragmentation 3.2 PHP 5.3 4. Оптимизация базы данных 4.1 MySQL 4.1.1 Переход на 5.1 4.1.2 Переход на InnoDB 4.1.3 Встроеный кеш MySQL - Query Cache 4.1.4 Индексы 4.2 PostgreSQL 4.2.1 Индексы 4.2.2 pgBouncer и другие. 4.2.3 pgFouine 4.3 Разгрузка базы данных 4.3.1 SphinxQL 4.3.2 Не-RDBMS хранилище 4.4 Кодировки 4.5 Асинхронность Приложение. Мелочи. 1. SSHGuard или альтернатива. 2. xtrabackup 3. Перенос почты на другой хост 4. Интеграция со сторонним ПО 5. Мониторинг 6. Минусы оптимизации
+361
Как найти время на все
10 min
10KTranslation
Управление временем является одним из самых важных навыков, которому фрилансер может учиться. С хорошей системой управления временем вы можете найти время, чтобы сделать все те вещи, которые важны для вас, и в профессиональном и в личном плане.
Успешное управление временем может оказаться нелегкой задачей, особенно для новичков фрилансеров или тех, кто работает на самого себя. Когда у вас есть начальник, который вам говорит что нужно сделать и как нужно сделать, для вас будет достаточно легко проставить приоритеты и определить что нужно сделать и когда нужно это сделать. Но когда вы думаете не только о том, чтобы завершить проект в срок но также каждый день должны заботиться о всех аспектах собственного бизнеса, управление временем может стать трудной задачей.
Данная статья содержит 16 советов, которые помогут вам лучше распорядиться своим временем и найти время для нужд личного характера. Также представлены несколько других ресурсов, которые улучшат ваши навыки управления временем.
Успешное управление временем может оказаться нелегкой задачей, особенно для новичков фрилансеров или тех, кто работает на самого себя. Когда у вас есть начальник, который вам говорит что нужно сделать и как нужно сделать, для вас будет достаточно легко проставить приоритеты и определить что нужно сделать и когда нужно это сделать. Но когда вы думаете не только о том, чтобы завершить проект в срок но также каждый день должны заботиться о всех аспектах собственного бизнеса, управление временем может стать трудной задачей.
Данная статья содержит 16 советов, которые помогут вам лучше распорядиться своим временем и найти время для нужд личного характера. Также представлены несколько других ресурсов, которые улучшат ваши навыки управления временем.
+12
Для тех кто учит английский
1 min
4.5K
Это вовсе не очередная статья на тему «как я учил английский» и это даже не обзор, это скорее пара слов об очень интересном видеокурсе на который я наткнулся и всем рекомендую.
Наверняка, курсы BBC Learning English неоднократно описывались, но я нашел очень интересный курс, который заинтриговал меня с самого начала.
Этот видеокурс помогает освоить различные идиомы, которые очень интересно узнавать и нужно знать обязательно. Курс ведет профессиональный актер, который очень интересно показывает эти самые идиомы и не дает заскучать.
Даже мне, с моим «poor english» было все легко и понятно, а местами смешно. :)
Предлагаю ознакомиться самим.
+72
Реши задачку, используя один бит памяти 2: учитываем помехи
2 min
1.7K
Усложнённый вариант задачки про эльфийских зэков. Решение предыдущей задачки умещается в пять строчек комментария. Теперь вот придумали вариант посложнее.
1-го сентября 100 бессмертных эльфийских магаданских зэков (далее — эльфов) постоили на торжественную линейку и предложили им ускорить процесс своего освобождения.
Каждый день одного из них будут отводить в одиночную камеру для воспитательных работ. В камере есть абсолютно чистый стол, неспособный запачкаться и без тайников (впрочем, неважно), к тому же его периодически будут менять (впрочем, неважно).
На столе стоит настольная лампа. Каждый день эльф с охранником заходят в комнату, эльф садится, включает лампу, рисует, либо читает книгу, либо думает, либо делает что-либо еще (неважно). Далее по протоколу эльф обязан выключить лампу (должен, но иногда этого может не делать) и уйти с охраной. Охранник иногда проверяет и, если эльф не выключил лампу, он делает это за него (потому что был както в магаданской тюрьме инцидент). Охранник неаккуратный, ленивый, но иногда лампу он выключает (пусть и редко). Также иногда в тюрьме бывают перебои с электричеством, и в этот день никого в комнату не водят. В таких случаях лампочку переводят в положение «выключено». Эльфов выбирают абсолютно случайно. Каждый день водят не более одного.
У каждого заключенного тюремщик будет спрашивать: «А все ли твои товарищи тут были хотя бы раз?». Если он ответит «не знаю» («нет»), то игра продолжается. Если он ответит «да», и это неправда — высшая мера наказания для всех. Если каждый из сотни эльфов сказал «да», и это всегда была правда, всех всех выпускают на волю в тундру.
Примечание. Если эльф сказал «да», и это правда, его, как остальных, продолжают водить в эту камеру на общих правах.
Заключенные сидят в одиночных камерах и могут договориться только один раз — 1-го сентября на обеде после торжественной линейки. После этого они сидят в «одиночках» без окон, совсем не видят друг друга и лампочки.
Определить стратегию (не обязательно оптимальную — её я сам не знаю) поведения каждого заключенного с тем, чтобы их выпустили пораньше.
+18
Азбука WEB-разработчика
4 min
13KTranslation
Небольшой список, самых, на мой взгляд, полезных сайтов для любого WEB-разработчика, интересующегося сферой веб дизайна, верстки и программирования. Думаю каждый среди этого списка найдет для себя сайты, которые надолго войдут в его ленту RSS.

A List Apart содержит лучшие советы и мнения от лидирующих умов индустрии.
A — A List Apart

A List Apart содержит лучшие советы и мнения от лидирующих умов индустрии.
+124
YouTube API, продолжение: редактирование, удаление, получение мета-данных
4 min
14KНесколько дней назад я опубликовал пост про загрузку видео на YouTube посредством API системы. Сегодня хочу представить продолжение, в котором будет рассказано про редактирование уже загруженных роликов, получение их статуса и удаление.
+19
Веб-аналитика: анализируй это! Часть 4. От статистики к аналитике
3 min
8.5KПрошу простить за большую паузу между выпусками рассылки: мне нужно было время на подготовку к проведению большого тренинга и разгребание новых материалов. Что ж, много времени прошло, многое изменилось — даже слово “Интернет” теперь нужно писать с большой буквы! Больше такого не повторится, так что продолжим наше путешествие. Напомню адреса прошлых выпусков:
Часть 1. Вступление.
Часть 2. Сбор данных.
Часть 3. Базовые метрики.
Перед тем, как перейти к описанию метрик и технологий анализа, хочу еще раз напомнить о том, зачем мы тратим на это своё время.
Часть 1. Вступление.
Часть 2. Сбор данных.
Часть 3. Базовые метрики.
Перед тем, как перейти к описанию метрик и технологий анализа, хочу еще раз напомнить о том, зачем мы тратим на это своё время.
+21
Релиз PyDev 1.5 или PyDev Extensions теперь с открытым кодом
1 min
1.6K
В новой версии:
- Продвинутая интерактивная консоль с авто-импортом,
- Анализ качества кода в реальном времени,
- Контекстно-независимое code-completion с авто-импортом,
- Иерархическая диаграмма классов,
- Консоль отладки с возможностью запуска удаленного дебаг-сервера.
Подробную информацию можно узнать на официальном сайте PyDev.org, а также в блоге Fabio Zadrozny.
+25
Привычка не думать
1 min
6K
До сих пор не знаю, насколько соответствует правилам Хабра публикация ссылок на внешние ресурсы, но, надеюсь, вы простите мне желание поделиться с думающей аудиторией очень ценным, на мой взгляд, ресурсом.
Автор блога — учитель математики в школе и много пишет о современном образовании. Но вообще темы очень разнообразны и, думаю, найдут отклик у многих. Его статьи всегда дают встряску для ума, заставляют проснуться сознание и приводят в порядок мысли.
Сложно в двух словах описать тематику статей — она, как я сказал, очень широка. Поэтому ниже просто приведу несколько тем, которые сохранил в закладки.
+162
Повышение работоспособности: как я делаю работу, которую делать не хочу
3 min
11K
В работе абсолютного большинства людей есть задачи, которые выполнять не хочется, но надо. Решается эта проблема (если решается) обычно методом «заставить себя», или «через не могу». Так происходит, потому что все мы приучены к этому с раннего детства. Поэтому мы всегда мучаем себя, делая то, что нам ненавистно. Сопровождается такой выход большим количеством негативных эмоций. А это наши нервы, и — как следствие — наше здоровье.
Так что же делать? Ответ я нашёл не так давно, и теперь хочу поделиться с Хабрасообществом.
+30
Сервис «Статистика поиска Google» теперь и на русском языке
2 min
4.2KСтатистика поиска Google позволяет сравнивать различные поисковые запросы, чтобы выявить наиболее популярные из них. Сравнение может проводиться за определенные периоды времени, по различным странам и регионам, а также в разных тематических категориях.
С помощью Статистики поиска вы можете определить, какие сообщения лучше всего привлекут пользователей.
С помощью Статистики поиска вы можете определить, какие сообщения лучше всего привлекут пользователей.
+13
Черная дыра рынка в диапазоне стоимости сайтов?
3 min
16KНа сегодняшний день диапазон цен на рынке веб-сайтов колеблется от 500 рублей до 50 000 евро и выше. Давайте разберемся, сколько стоит сайт и почему. Простой расчет поможет убедиться в справедливой стоимости профессионально выполненного сайта и наведет заказчиков на несколько полезных жизненных выводов. Выводы навеяны опытом работы и отзывами наших клиентов. Интервалы цен приведены, по большей части, для региона «Центр».
+61
Распознавание образов, рассуждения
3 min
17KВ общем случае задача распознавания образов до сих пор не решена. Поэтому поговорим сначала о тех методах, которые в некоторых случаях все же позволяют находить отдельные объекты на изображении, а затем порассуждаем о будущем.
Человеческий глаз имеет несколько блоков, способных распознавать свойства изображения. Человек быстро выхватывает из окружающей реальности наборы объектов и классифицирует их. Какими критериями он руководствуется? Их не так много:
Человеческий глаз имеет несколько блоков, способных распознавать свойства изображения. Человек быстро выхватывает из окружающей реальности наборы объектов и классифицирует их. Какими критериями он руководствуется? Их не так много:
+17
Нерекурсивная выборка всего дерева Adjacency List
4 min
4.1KВообще, чем мне не нравится Adjacency List, так это рекурсией, особенно, когда нужно выбрать дерево, без каких либо ограничений, например:
- Все дерево комментариев;
- Карта сайта;
- Навигационное меню;
- и т.д.;
+13
Пушкин, Гоголь, Джобс и «идеи»…
3 min
1.4KИзвестно, что Гоголь взял у Пушкина мысль «Ревизора» и «Мёртвых душ», но менее известно, что Пушкин не совсем охотно уступил ему своё достояние.
П. В. Анненков.
П. В. Анненков.
+67
Простой скрипт для рассылки СМС
1 min
8.7KЯ продолжаю изучать Питон. Язык красивый, меня радует что когда мой коллега — непрограммист, садится за мой код он его может прочитать и понять. Встала задача сделать СМС оповещение клиентов (ну о просрочке, новых услугах итд). Мы купили GSM модем Teleofis. Для работы с ним пошукали проги, не особо нашли, а уж бесплатного и тем более. Пришлось открыть мануалы и написать простенькую прогу под Винду, которая открывает COM порт, на котором сидит модем и пишет в него AT команды.
Сам скрипт требует pySerial для работы под виндоус.
Чтобы запустить скрипт, надо воткнуть в комп модем, установить дрова, открыть файлик sms_sender.py и отредактировать там строку 90:
Первый параметр — кортеж адресатов, второй — текст сообщения. Третий — номер порта. Остальные нам не нужны — это скорость и таймаут ожидания ответа.
А потом сделать из Командной строки вызов команды
python sms_sender.py
Вы увидите:
Это скрипт рассылает части вашего сообщения адресатам. Вот и все.
Сам скрипт доступен по ссылке. Ограничений на его использование никаких, он сильно простой и маленький чтобы как-то ограничивать его использование.
Сам скрипт требует pySerial для работы под виндоус.
Чтобы запустить скрипт, надо воткнуть в комп модем, установить дрова, открыть файлик sms_sender.py и отредактировать там строку 90:
a = Sender(('790864x0807',),u"Признанный критикой всего мира величайшим эпическим произведением новой европейской литературы, «Война и мир» поражает уже с чисто технической точки зрения размерами своего беллетристического полотна. Только в живописи можно найти некоторую параллель в огромных картинах Паоло Веронезе в венецианском Дворце дожей, где тоже сотни лиц выписаны с удивительною отчётливостью и индивидуальным выражением[источник не указан 91 день].",1,115200,2)
* This source code was highlighted with Source Code Highlighter.
Первый параметр — кортеж адресатов, второй — текст сообщения. Третий — номер порта. Остальные нам не нужны — это скорость и таймаут ожидания ответа.
А потом сделать из Командной строки вызов команды
python sms_sender.py
Вы увидите:
more PDU to go…
more PDU to go…
Это скрипт рассылает части вашего сообщения адресатам. Вот и все.
Сам скрипт доступен по ссылке. Ограничений на его использование никаких, он сильно простой и маленький чтобы как-то ограничивать его использование.
+29
Цикл статей по основам Software Configuration Management
5 min
24KПролог
Что такое управление конфигурацией в разработке ПО? Зачем оно нужно? Думаю, немногие способны полностью и внятно ответить на этот вопрос. Большинство обычно вспоминает системы контроля версий, которые сами используют. Кто-то упоминает багтрекинг. Кто-то считает вершиной CM отращивание веток в любимой системе контроля версий. А кто-то вообще уходит в сторону и начинает говорить про ITIL и про то, как он записывает в какую-нибудь базу параметры всего софта, который установлен у него в фирме.
Несколько странно и немного досадно наблюдать за этим. Дело в том, что я проработал в SCM в общем сложности около 5 лет, из них 3 года — интегратором в Motorola, на одном из проектов по разработке софта для сотовых телефонов. По ходу дела прочитал кучу материалов по этой теме и получил большой практический опыт — в том числе по работе с одной из мощнейших систем контроля версий IBM Rational ClearCase (см. linkedin в профиле). В итоге в голове сформировалась некоторая целостная картина того, что же это на самом деле — software configuration management.
+38
Здоровье для гиков и не только
5 min
4.8KВведение.
В последнее время на суд хабрасообщества были представлены несколько статей разных авторов в стиле «Здоровье для гиков, или как оторвать задницу от насиженного и родного с детства места». Упоминались также темы здорового питания, здорового сна, и несколько смежных. Последняя на данный момент публикация повествовала о такой дисциплине, как бодибилдинг. За это спасибо автору публикации sortafreel, к тому же, материал может оказаться полезным многим из нас. Но (и тут меня начнут пинать плюшевыми тапками, как обычно бывает) людям нужен совсем не спорт, им нужно развитие, развитие духовно-физическое. Так почему же не спорт, и что я могу предложить заинтересованному читателю?
Почему не спорт?
Слово «спорт» подразумевает соревнование: в скорости, выносливости, поднимаемом весе, силе толчка, длине прыжка. И пусть многие пнут меня хорошенько за эти слова, но другого спорта не существует. Да, конечно, многие люди занимаются чем-то ради собственного удовольствия. Кто-то бегает перед сном, кто-то играет в настольный теннис, быть может бадминтон, а кого-то воодушевляют формы собственного тела, которые продолжают улучшаться с каждой тренировкой. Но, в таком случае, конкретная дисциплина не приносит тех результатов, что могла бы, а приверженец того или иного вида спорта загоняет себя в рамки, не позволяющие ему развиваться. Спорт == ограничение, поскольку развитие, если оно происходит, осуществляется лишь в одном из множества направлений.
Куда более широкое понятие — «здоровый образ жизни». Но ведь никто не может точно сказать, как это? Здоровое питание, спорт, прогулки, движение — все эти слова конечно характеризуют понятие, но не определяют его. Хочется конкретики? Я предлагаю вам реальную дисциплину, имеющую свою историю, дисциплину современную, мощную и всестороннюю. Я говорю о естественном методе.
Что же это такое?
Естественный (натуральный) метод — всесторонняя дисциплина, созданная для комплексного развития человека, соблюдение которой культивирует потрясающие духовные и физические качества. Система, применявшаяся для подготовки военных, рожденная французским офицером, развитая и осмысленная современными практикующими. Интересно?
+46
Information
- Rating
- Does not participate
- Registered
- Activity