Обновить
27
0
Григорий Ситнин@gregor

Продуктолог и техдир

Отправить сообщение

Библиотека для упрощения HTTP-запросов

Время на прочтение1 мин
Охват и читатели152K
Requests — библиотека Python, которая элегантно и просто выполняет HTTP-запросы. Теперь не нужно осваивать urllib2 с излишне сложными программными интерфейсами.

Вот как выглядит HTTP-запрос с авторизацией с помощью requests:

>>> r = requests.get('https://api.github.com', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json'
Читать дальше →

Python-неизвестный

Время на прочтение4 мин
Охват и читатели28K
На Хабре уже есть несколько статей\переводов, в которых рассказывается о неизвестных фичах\тонкостях\возможностях Пайтона. Я буду пытаться не повторять их, а дополнять, но если уж так случилось, что вы это уже где-то видели — не огорчайтесь. Я уверен, что найдется что-то интересное и для вас.
Читать дальше →

Nginx получит полноценную поддержку HTTP/1.1 Keep-Alive соединений с бэк-эндами

Время на прочтение2 мин
Охват и читатели6.2K
На прошлой неделе Максим Дунин разместил в англоязычном списке рассылки разработчиков Nginx сообщение с просьбой потестировать патч, добавляющий полноценную (включая chunked-ответы) поддержку Keep-Alive соединений (при использовании upstream keepalive модуля) с http, fastcgi и memcached бэк-энд серверами.

Во избежание кривотолков, напомню, что Nginx обладает прекрасной поддержкой протокола HTTP 1.1 и Keep-Alive соединений с клиентами. Однако, постоянные соединения с http бэк-эндами не поддерживаются. На то были свои причины.
Читать дальше →

Разработка IFrame приложения для ВКонтакта

Время на прочтение9 мин
Охват и читатели18K
Несмотря на то, что данная социалка «горячо любима» аудиторией хабра, я всё же решил рискнуть и опубликовать небольшие заметки посвящённые разработке приложений на Джанге под неё.

Предупреждаю, некоторые из них вполне капитанские, а некоторые вообще не имеют отношения к Вконтакте или даже Джанге, в общем, не обессудьте.

Под катом:
  • django-vkontakte-iframe и vkontakte
  • Загрузка приложения на стену
  • Флеш-заглушка
  • Сессия в горячо любимом IE
  • Все «flashVars» передаются GET запросом
  • Работа во фрейме
  • Доступ к информации пользователя
  • Проверка валидности вёрстки
  • JSLint ваш друг и товарищ
  • Генерирование миниатюр
  • Модерация через прокси-модель
  • Импорт настроек
  • Оптимизация

На правах рекламы: Приложение называется «Коллекционер» и предназначено для людей занимающихся коллекционированием монет, марок, карт и других предметов. В данный момент наполнен лишь каталог карт MTG, но в будущем будут созданы и наполнены каталоги для других предметов. Разумеется, мы с радостью выслушаем все ваши предложения и конструктивную критику.
Читать дальше →

Я торгую в сети. Когда мне пора в реал?

Время на прочтение4 мин
Охват и читатели22K
После серии наших топиков про интернет-магазины, меня спросили: «Вот есть у меня свой магазин. Как понять, что всё, алес, нужно бросать основную работу и заниматься им по-полной, плюс искать место в городе под точку?».

Читать дальше →

Регистрация приложения в AppStore — мы сделали это!

Время на прочтение3 мин
Охват и читатели146K
Сегодня мы не будем рассказывать о том, как правильно платить налоги и отправлять декларации через интернет — про это мы расскажем как-нибудь в следующих публикациях.

Вместо этого мы поделимся нашим опытом проникновения в AppStore. Ежедневно в него попадают тысячи приложений, в карманы разработчиков (и Apple) текут зелёные реки хрустящих бумажек, а в программе разработчиков iOS developer регистрируются сотни новых программистов и компаний. Растущая популярность платформы iOS подтолкнула нас к мысли — почему бы не написать собственное приложение для iPhone? Кстати, наше приложение совершенно бесплатное :)

Мы не будем подробно останавливаться на всех перипетиях разработки приложения внутри команды, но наш опыт регистрации фирмы в программе разработчиков Apple может оказаться полезным. Распишем весь процесс подробно, по шагам и с картинками.
Читать дальше →

ConfigParser и Unicode

Время на прочтение3 мин
Охват и читатели17K
В Python есть очень удобный модуль для сохранения и чтения ini-подобных конфигурационных файлов, который называется ConfigParser.

У меня при его использовании возникла проблема, связанная с сохранением в файл Unicode-строк. В некоторых трудноуловимых случаях (например, у меня это проявилось при работе приложения под Windows XP) при чтении или записи таких параметров выскакивает ошибка конвертации строк.

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

Хочу предложить свое решение для тех, кто использует Python 2.X — оно довольно простое и помогает решить эту проблему.

Читать дальше →

И еще раз про ответственность

Время на прочтение4 мин
Охват и читатели1.5K
Как давно всем известно, что «все песни про любовь», так я уверен, что все статьи и книги на тему менеджмента, так или иначе, про ответственность. Но, как песни не стихают, так и труды по менеджменту все пишутся и пишутся. Вот и я решил еще раз «проехать» по этой теме и рассказать печальную, но поучительную историю про менеджера Андрея: о том, что с ним приключилось и какие выводы он из этого сделал.
Читать дальше →

Автоматический анализ текста без модераторов

Время на прочтение3 мин
Охват и читатели13K
Недавно на Хабре появилась статья об автоматическом реферировании статей. Так случайно получилось, что я тоже занимаюсь автоматическим анализом текстов и добился в этом некоторых успехов.

Мне удалось добиться того, чтобы алгоритм находил повторяющиеся и близкие по содержанию тексты. Также он автоматически определяет близость текста к определенным тематикам и выделяет из общей массы те тексты, которые составляют некоторый мэйнстрим. То есть, читателю не придется просеивать всю информацию, чтобы понять главное. С увеличением объема анализируемых текстов автоматически будет отсеяно все некачественное, неинтересное, нецензурное, неактуальное, и т.п.
Читать дальше →

Делаем шифрование в Dropbox Mac (совместимо с Linux)

Время на прочтение3 мин
Охват и читатели6.9K

За последний месяц было несколько публикаций на Хабре о безопасности хранения информации на Dropbox. И, судя по всему, информацию там, действительно, хранить не совсем безопасно.
К ней могут получить доступ как минимум сотрудники Dropbox, а как максимум даже не хочу думать кто. Я активно использую хранилище для синхронизации домашнего ноута с рабочим компьютером.
Читать дальше →

Как не обидеть человека, если он совершил ошибку?

Время на прочтение1 мин
Охват и читатели5.3K
Добрый день, хабражители!

Я зафиксирую мысль, которую даже не стоит расписывать на несколько абзацев и прятать под кат. В какой-то мере это лайфхак, так как помогает обойти вещи, которые ранее вызывали у меня чувство дискомфорта.

Если произошла неприятная ситуация и конфликта уже не избежать, то ваше обращение должно быть направлено не на человека, а на его роль в проекте. Причем таким образом, чтобы он смог не только понять, почему он поступил плохо, но еще и сделать выводы, как нужно поступать правильно. Акцент на роли позволит вам оставаться беспристрастным, но вместе с тем вернет разговор в конструктивное русло.

Обычно бывает так: «ну почему ты не уследил за подрядчиком, Иван?! Компания влетела на стоимость целого этапа, как это объяснять спонсору?». Правильно: «хороший менеджер всегда знает, что предпримет его подрядчик на следующем этапе и успеет перехватить инициативу в свои руки. Как считаешь, что нужно сделать, чтобы выровнять затраты на следующих этапах?».

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

Ядерный реактор – дома с нуля

Время на прочтение4 мин
Охват и читатели462K
Некоторое время назад я публиковал статью о самодельных микропроцессорах, сегодня же мы затронем более сложную и щекотливую тему (особенно в свете событий на Фокусиме) – создание ядерного реактора, способного генерировать энергию в домашних условиях. И перед тем как вы начнете волноваться, вспоминая о негативных опытах в прошлом (см. Радиоактивный бойскаут – наковырявший прилично амерция-241 из детекторов дыма) заранее скажу, что все что описано в этой статье – относительно безопасно (по крайней мере не опаснее работы с фтороводородной кислотой дома), но крайне не рекомендуется к повторению. Перед любыми действиями проконсультируйтесь со своим адвокатом — законы разные в разных странах. Много кто уже сидит.
Читать дальше →

Gitimmersion — Курс фундаментальных основ Git

Время на прочтение1 мин
Охват и читатели3.4K
image
Парни из EdgeCase создали сайт gitimmersion.com, посетив который вы сможете познать фундаментальные азы Git, там предлагается пройти курс из 52 шагов, в каждом из которых описываются разные аспекты использования Git. Так, переходя от простого к сложному, можно влиться в число активных пользователей этой VCS.

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

Знай откуда пришел пользователь

Время на прочтение2 мин
Охват и читатели18K
Когда вы открываете свой проект вы начинаете писать о нем везде, в том числе и на хабре.

Сервисы статистики типа Google Analytics дадут вам общую оценку трафика, а именно сколько посетителей пришло с какого ресурса. Можно настроить цели(goals) и отследить регистрации или покупки, но этого часто бывает недостаточно.

А что если вам нужна статистика о том откуда идут более активные пользователи или пользователи которые создали больше всего тем на форуме за какой-то промежуток времени, или сделали больше всего покупок в вашем интернет магазине. Вариантов может быть много и такие данные сервисы аналитики уже дать нет смогут.

Читать дальше →

Серверный редирект на мобильную версию сайта

Время на прочтение2 мин
Охват и читатели37K
image
Предлагаю вашему вниманию простое и дешевое (по ресурсам) решение для перенаправления пользователей мобильных устройств на легкую версию сайта. Решение ориентировано на highload сайты, оптимизация которых основана на кешировании гостевых запросов.
Проверка, является ли клиент мобильным устройством, производится веб-сервером nginx и в случае успеха клиент перенаправляется на поддомен или локейшн. Это существенно экономит ресурсы и позволяет добиться большей масштабируемости по сравнение с PHP методами.
Читать дальше →

Модуль ustats: статистика запросов к бэкендам

Время на прочтение5 мин
Охват и читатели8.6K
Приветствую!

В этой статье речь пойдет о новом модуле для nginx'а, цель которого — сбор и предоставление пользователю статистики обращений сервера к бэкендам. Под катом — подробности, примеры использования, скриншоты, ссылки, а также история создания.

Читать дальше →

Видео с HighLoad++: Петр Зайцев — Диагностика и исправление проблем производительности MySQL

Время на прочтение1 мин
Охват и читатели9.5K
Добрый день,

Вот и последний обещанный видеодоклад с HighLoad:

Петр Зайцев — Диагностика и исправление проблем производительности MySQL

Часть 1 (30:56): video.mail.ru/corp/miftahetdinova/5/6.html

Часть 2 (28:35): video.mail.ru/corp/miftahetdinova/5/7.html

Часть 3 (28:33): video.mail.ru/corp/miftahetdinova/5/8.html

Часть 4 (28:29): video.mail.ru/corp/miftahetdinova/5/9.html

Часть 5 (28:13): video.mail.ru/corp/miftahetdinova/5/10.html

Часть 6 (28:10): video.mail.ru/corp/miftahetdinova/5/11.html

Часть 7 (28:13): video.mail.ru/corp/miftahetdinova/5/12.html

Часть 8 (22:50): video.mail.ru/corp/miftahetdinova/5/13.html

Часть 9 (16:01): video.mail.ru/corp/miftahetdinova/5/14.html

Часть 10 (15:02): video.mail.ru/corp/miftahetdinova/5/15.html

Также мы постараемся до конца года выложить доклады с HighLoad++ в Power Point.

Хорошего вам дня!

UPD. Уважаемые хабраюзеры! Мы хотим еще раз извиниться за невысокое качество видео, которое, тем не менее, решили выложить, т.к. знали, что темы HighLoad-a для вас крайне важны и интересны и наряду с негативным фидбеком получили очень много позитива, благодарностей и просьб продолжать выкладку докладов.

Завтра, 29 декабря, как мы уже обещали, на «Хабре» также будут выложены презентации всех докладов в PPT. В хорошем качестве ;)

Спасибо за терпение и фидбек!

7 основных приемов навигации в Emacs

Время на прочтение3 мин
Охват и читатели9.1K
В этой статье мы рассмотрим 7 приемов навигации по тексту в программе Emacs
1. Построковая
2. Поэкранная
3. Перемещение по словам
4. Особая
5. По параграфам
6. Поиск
7. Перемещение из командной строки
Читать дальше →

Настройка и оптимизация MySQL сервера

Время на прочтение9 мин
Охват и читатели322K
В этой статье будут описаны различные настройки MySQL, преимущественно те, которые влияют на производительность. Для удобства все переменные разделены по разделам (базовые настройки, ограничения, настройки потоки, кэширование запросов, тайминги, буферы, InnoDB). Сначала уточним имена некоторых переменных, которые изменились в версии 4 MySQL, а в сети продолжают встречаться и старые и новые варианты имен, что вызывает вопросы.
Читать дальше →

Еще раз об архитектуре сетевых демонов

Время на прочтение13 мин
Охват и читатели20K
Во многих статьях, в том числе на хабре, упоминаются и даже описываются разные способы построения архитектуры сетевых сервисов (демонов). При этом мало у кого из авторов есть реальный опыт создания и оптимизации демонов, работающих с десятками тысяч одновременных соединений и/или гигабитным трафиком.

Так как большинство авторов не удосуживается хотя бы залезть в документацию, то обычно в таких статьях вся информация базируется на неких слухах и пересказах слухов. Эти слухи бродят по сети и поражают википедию, хабрахабр и другие уважаемые ресурсы. В результате получаются опусы вроде "Вы наверное шутите, мистер Дал, или почему Node.js" (пунктуация автора сохранена): она, в основном, верная по сути, но изобилует неточностями, содержит ряд фактических ошибок и изображает предмет с какого-то непонятного ракурса.

Мне было сложно пройти мимо статьи, изобилующей фразами вроде «эффективные реализации polling'а на сегодняшний день имеются лишь в *nix-системах» (как будто poll() есть где-то, кроме некоторых *nix). Этот пост начинался как комментарий, разъясняющий уважаемому inikulin ошибки в его статье. В процессе написания оказалось, что проще изложить предмет с самого начала, что я собственно и делаю отдельным постом.
В моем очерке нет срыва покровов или каких-то неизвестных трюков, здесь просто описываются преимущества и недостатки разных подходов человеком, который проверял, как всё это работает на практике в разных операционных системах.
Для желающих просветиться — добро пожаловать под кат.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность