Перейти к контенту

Последние статьи

7
Июл
2014

Видеозаписи докладов конференции Golang Moscow

21-го июня в Москве на площадке Digital October состоится очередная встреча московского сообщества разработчиков на языке программирования Go. О своём опыте его промышленного использования расскажут докладчики из Яндекса, Openstat (Spylog) и sports.ru.

Доклады на мероприятии были следующие:

- 0:00:00 Вячеслав Бахмутов из Яндекса рассказал про опыт использования Go в своей компании в облачной платформе Cocaine. «В Яндексе нет вакансий на gophers, берут питонистов, а потом говорят — будешь писать на Go»

- 0:21:00 Артём Андреенко из Openstat (Spylog) рассказал про опыт использования Go в своей компании в режиме реального времени.

- 0:43:00 Александр Орловский из sports.ru рассказал про очереди сообщений (и в частности NSQ).

Права на видео и оригинал принадлежат Digital October

Залил для удобства просмотра. Все права принадлежат Digital October. Видео под катом. Подробнее →

17
Июн
2014

[GO] Установка User-Agent в http запросе

Пришлось мне на днях писать парсер для одного известного сайта, и возникла проблема, сайт периодически блокировал меня, не давая нормально отпарсить их контент. В процессе анализа выяснил, что идёт проверка по связке User-Agent плюс IP адрес. Под катом находится пример того, как можно отправить запрос с изменённым User-Agent‘ом, да и вообще с любым хедером используя стандартный пакет net/http из языка программирования GO.

Подробнее →

13
Июн
2014

[GO] Краткий пересказ Effective Go на русском языке

Если вам хочется ознакомиться с синтаксисом языка Go, настоятельно рекомендую прочитать краткий пересказ Effective Go на русском языке. Отличительные черты языка:

  • Строгая статическая типизация (утиная типизация в случае интерфейсов);
  • Полноценная поддержка юникода;
  • Java/Python/Haskell-подобный сборщик мусора;
  • Прочие фишки функционального программирования — лямбды, замыкания и тп;
  • В Go есть указатели, но над ними нельзя выполнять арифметические операции, как в C/C++/D;
  • Так называемые goroutines — легковесные потоки, для управления которыми и взаимодействия между которыми в Go предусмотрены удобные средства;
  • Отсутствие ООП-фанатизма, по большому счету Go является процедурным языком с поддержкой интерфейсов;
  • Нет поддержки исключений, вместо них предлагается использовать интерфейс error и возможность функций возвращать несколько значений;
  • Язык является интерпретируемым и компилируемым, при разработке Go особое внимание уделялось скорости компиляции;
  • Разработан в Google, проектированием занимались Кен Томпсон, Роб Пайк и Роберт Гризмер, если эти имена вам о чем-то говорят;

Подробнее →

19
Апр
2014

Руководство (Гайд) по технике пилотирования PMDG 737-700 + 2 упражнения

Данный гайд позволит в кротчайшие сроки освоить управление крафтом серии PMDG 737. Я долго искал такой подробный гайд и в итоге наконец нашёл его. Внимание — очень много фото (хотя и маленьких). Подробнее →

25
Мар
2014

9,5 правил ведения безопасного IT-бизнеса в России

1. Держите серверы за границей

Почему так? Далеко за примерами ходить не надо, а случай не единичный.

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

Да даже если ваш скромный интернет-магазин никому не нужен, где гарантия, что когда будут трахать вашего хостера, не вырубят ваш сервер, даже бекапы не дав сделать. Да, и делайте бекапы регулярно. Любое серьезное изменение — бекап на локальную машину или сервер в датацентре, не связанном с тем, где хостится ваш сайт. А то обычно оказывается, что и бекапы все были на той же машине. Подробнее →

17
Мар
2014

Просмотр SOP в Linux

А все началось с того, что канал “Спорт” не показывает многие матчи ЧМ по хоккею в прямом эфире. Полез на livetv.ru, а там есть некий протокол SOP (SOPcast) [Streaming over P2P (Streaming Direct Broadcast System)] для телевещания, основанный на P2P. Как же его крутить в Linux? Подробнее →

17
Мар
2014

[PHP] Pattern Registry – «Реестр»

Данный паттерн, как и Singleton, редко вызывает положительную реакцию со стороны разработчиков, так как порождает те же самые проблемы при тестировании приложений. Тем не менее, ругают, но активно используют. Как и Singleton, шаблон Реестр встречается во многих приложениях и, так или иначе, значительно упрощает решение некоторых задач.

Подобно Одиночке, паттерн Registry вводит объект в глобальную область видимости, позволяя использовать его на любом уровне приложения. О глобальной области видимости в PHP я уже писал в заметке о паттерне Singleton, ввиду чего предлагаю ознакомиться с ней, прежде чем продолжить читать дальше. Там вы найдете ответы на большую часть возможных вопросов.
Паттерн Registry получил распространение в двух вариантах реализации. Одну из них нередко называют «чистым реестром», вторую – «реестр одиночка» (Singleton Registry).

Рассмотрим оба варианта по порядку. Подробнее →

17
Мар
2014

[PHP] Pattern Singleton – «Одиночка»

Паттерн Singleton (одиночка) многие ругают, зачастую, называя его анти паттерном. Тем не менее, он достаточно популярен и я пока не встречал крупных программных систем, где он не был бы реализован. Прежде всего, можно отметить фреймворки, где Singleton нередко выступает основой приложения. Также его часто наследуют компоненты, реализующие взаимодействие с конфигурационными данными или механизмом событий, например. Подробнее →

31
Янв
2014

Разбор параметров командной строки в Python

python post top Разбор параметров командной строки в Python

Как вы, наверное, знаете, все программы можно условно разделить на консольные и использующие графический интерфейс (сервисы под Windows и демоны под Linux не будем брать в расчет). Параметры запуска, задаваемые через командную строку, чаще всего используют консольные программы, хотя программы с графическим интерфейсом тоже не брезгуют этой возможностью. Наверняка в жизни каждого программиста была ситуация, когда приходилось разбирать параметры командной строки, как правило, это не самая интересная часть программы, но без нее не обойтись. Эта статья посвящена тому, как Python облегчает жизнь программистам при решении этой задачи благодаря своей стандартной библиотеке argparse.

В дальнейшем все примеры я буду приводить с расчетом на Python 3.3, но практически все то же самое можно использовать и в Python 2.7, хотя для запуска на Python 2.7 примеры придется исправить, в основном добавить символ «u» перед началом строк. Подробнее →

27
Дек
2013

Работа Arduino Nano с сетевым контроллером ENC28J60

arduino nano ethernet Работа Arduino Nano с сетевым контроллером ENC28J60

Добрый день сегодня хочу представить вашему вниманию схему подключения сетевого контроллера ENC28J60 (HanRun HR911105A — в моём случае) к платке Arduino nano. Из всех библиотек больше всех понравилась библиотека ETHER_28J60 автора Simon Monk. Подробнее →