Как стать автором
Обновить
0
0
Вячеслав @niga

Пользователь

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

DevConf 2015: видео докладов секции PHP

Время на прочтение4 мин
Количество просмотров17K
Ежегодная конференция профессиональных веб-разработчиков DevConf проходит с 2010 года. Она состоит из нескольких секций, посвященных самым популярным языкам и технологиям веб-разработки. В 2015 году году компания Badoo взяла на себя важную миссию — записать видео выступлений, чтобы те, кто не смог посетить конференцию, могли посмотреть их в любое время.

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

Секция PHP конференции DevConf 2015

В первую очередь хотелось бы отметить доклад Дмитрия Стогова (Zend Technologies) «Релиз PHP 7: что нас ждет в октябре 2015». Не будем мучить вас переводом «чейнджлога» седьмой версии, а скажем просто: смотреть всем, кто имеет хоть какое-то отношение к PHP. Если вы за свою жизнь написали хотя бы строчку кода на PHP, то, скорее всего, уже слышали про сумасшедшую производительность, JIT и spaceship operator. JIT в PHP так и не появился, но оптимизации проведены масштабные. В докладе Дмитрий рассказывает много о внутренней кухне PHP, есть графики производительности разных версий PHP и HHVM на реальных приложениях. Badoo сейчас как раз в процессе перехода на PHP 7, нам пришлось сильно «перекопать» инфраструктуру тестирования и переписать кучу расширений, но мы на финишной прямой и можем подтвердить, что PHP 7 действительно показывает очень серьезный рост производительности. Какой именно получается прирост? Пока секрет. Ждите от нас отдельной статьи на эту тему, когда мы поборем последние косяки, отлавливаемые на продакшн-трафике.


Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии1

Почти настоящая многопоточность средствами php 5

Время на прочтение5 мин
Количество просмотров32K
В очередной раз читал про многопоточность в php точнее полное её отсутствие и всевозможные костыли в виде не блокируемых сокетов. Вот как раз там наткнулся на интересную статью в которой описывался очень простой и эффективный способ распараллеливания потоков. На основе этого материала написал небольшой класс что бы облегчить себе работу в будущем.
Читать дальше →
Всего голосов 73: ↑52 и ↓21+31
Комментарии59

На что обратить внимание ИТ-руководителю

Время на прочтение2 мин
Количество просмотров23K
Сегодня мы решили заглянуть в один из тредов на Hacker News и проанализировать тематическое обсуждение проблемы, связанной с переходом к управленческой работе ИТ-специалистов.

Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии15

Балансировка MySQL

Время на прочтение2 мин
Количество просмотров20K
Это краткая заметка как настроить отказоустойчевый кластер с балансировкой нагрузки из 2 MySQL серверов. Исходные данные 2 свежеустановленных MySQL сервера. Необходимо настроить работу таким образом, что бы в нормальной ситуации запросы балансируются между MySQL серверами, в случае выхода из строя одного из MySQL серверов все запросы идут ко второму.

Читать дальше →
Всего голосов 21: ↑13 и ↓8+5
Комментарии4

Rtorrent + PHP + MySQL

Время на прочтение2 мин
Количество просмотров1.5K
После первого моего знакомства с консольным торрент клиентом rtorrent меня не покидала мысль автоматизировать свою работу с торрентами.
Статей по работе с торрентами много, но того, что нужно именно мне, я не нашел.

В этой статье я расскажу и покажу на примере как работать с торрентами средствами php+mysql+rtorrent.
Читать дальше →
Всего голосов 13: ↑10 и ↓3+7
Комментарии5

Неочевидный способ борьбы с прокрастинацией

Время на прочтение3 мин
Количество просмотров32K
Наверняка, многие слышали о таком понятии, как “состояние потока”. Сейчас выходит много умных книжек и статей на эту тему. Но если не вдаваться в подробности и говорить простыми словами, то это такое состояние, в котором лучше всего работать. Концентрация и вовлеченность в таком состоянии максимальны, правильные решения приходят в голову быстро и естественно, ничто окружающее не отвлекает: ни захламленный рабочий стол, ни неудобное кресло, ни поздний час или голодный желудок.

Все это здорово, и каждый из нас, скорее всего, вспомнит что-то из своего опыта. Но проблема в том, что “перестроить” себя в такое состояние не просто, а вот “вывалиться” из него очень легко. Особенно, если речь идет о скучной или непонятной работе, в этом случае «инерция для входа” особенно высока. Размышляя недавно обо всем этом, я понял, что периодически неосознанно использовал один прием, которым и хочу поделиться.



Читать дальше →
Всего голосов 164: ↑156 и ↓8+148
Комментарии104

Карьерный рост в ИТ глазами карьериста

Время на прочтение4 мин
Количество просмотров5.1K
Вступление

Целевой аудиторией являются молодые специалисты, которые только начинают свой путь в сфере ИТ. Хочется помочь людям обойти ошибки, которые допустил сам в процессе карьерного роста. А так же получить конструктивную критику от других хабра-пользователей.
image

* картинка взята с этого сайта
Читать дальше →
Всего голосов 69: ↑50 и ↓19+31
Комментарии44

API Яндекс.Карт: Адрес внутри/за МКАД, расстояние от МКАД

Время на прочтение4 мин
Количество просмотров40K
Понадобилось для очередного проекта сделать расчет доставки. Схема такая: если адрес внутри МКАД, то цена фиксированная, если за МКАД, то цена складывается из фиксированной и стоимости за каждый километр удаления от МКАД.

Поиск готовых решений практически не дал результатов, кроме одной публикации в клубе API Яндекс.Карт. В принципе, идея лежит на поверхности: определяем принадлежность адреса к области внутри МКАД, если адрес за МКАД, то прокладываем до него маршрут и считаем расстояние. В публикации товарищи решают проблему «в лоб», они в ручную сравнивают координаты границ МКАД и адреса. Я решил сделать более универсально и использовать только API Яндекс.Карт.

Читать дальше →
Всего голосов 41: ↑35 и ↓6+29
Комментарии28

Может ли SSD улучшить производительность Adobe Lightroom?

Время на прочтение8 мин
Количество просмотров22K
Похоже, что ни одна неделя не проходит без еще одного вопроса об использовании SSD для улучшения производительности Lightroom. Подобные вопросы так же регулярно появляются на форуме пользователей Lightroom на сайте Adobe. К сожалению, на этот вопрос нельзя ответить однозначно. Эта статья поможет раскрыть некоторые аспекты влияющие на производительность. А в конце я сравню общую производительность Lightroom на обычном жестком диске и SSD.
Читать дальше →
Всего голосов 8: ↑6 и ↓2+4
Комментарии16

Обзор зарядного устройства TechnoLine BC-700, или мой опыт восстановления Ni-MH аккумуляторов

Время на прочтение6 мин
Количество просмотров313K
Опыт восстановления Ni-MH аккумуляторов, или обзор зарядного устройства Techno Line BC700

Так случилось, что после двух лет активного увлечения фотографией я немного подзабил на всё это дело. И, вот, спустя год, недельки 3 назад, меня «пробило» на фото. Достал фотоаппарат, аккумуляторы, побежал на радостях фотографировать. Сделал 2 фотки, получил сообщение: «Замените аккумуляторы». «С кем не бывает, захватил случайно разряженный комплект», подумал я. Поставил другой комплект — одна-две фотки и фотоаппарат просит новые батарейки. Так со всеми моими четырьмя парами аккумуляторов. Не въехав в ситуацию, пошел, воткнул их в зарядку, пока читал на ночь хабр, заметил, что от момента установки на зарядку не прошло и пяти минут, а светодиод зарядного устройства уже оповещает о полной зарядке. С этого момента и началась история. Добро пожаловать под кат!
Читать дальше →
Всего голосов 133: ↑125 и ↓8+117
Комментарии188

Яндекс.Склонятор

Время на прочтение2 мин
Количество просмотров25K
Яндекс выпустил XML-склонятор русских имен. Сервис по адресу export.yandex.ru/inflect.xml?name=Вася%20Пупкин берет имя и выдает его склонения в такой форме:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <inflections>
  3.   <original>&#1042;&#1072;&#1089;&#1103; &#1055;&#1091;&#1087;&#1082;&#1080;&#1085;</original>
  4.   <inflection case="1">&#1042;&#1072;&#1089;&#1103; &#1055;&#1091;&#1087;&#1082;&#1080;&#1085;</inflection>
  5.   <inflection case="2">&#1042;&#1072;&#1089;&#1080; &#1055;&#1091;&#1087;&#1082;&#1080;&#1085;&#1072;</inflection>
  6.   <inflection case="3">&#1042;&#1072;&#1089;&#1077; &#1055;&#1091;&#1087;&#1082;&#1080;&#1085;&#1091;</inflection>
  7.   <inflection case="4">&#1042;&#1072;&#1089;&#1102; &#1055;&#1091;&#1087;&#1082;&#1080;&#1085;&#1072;</inflection>
  8.   <inflection case="5">&#1042;&#1072;&#1089;&#1077;&#1081; &#1055;&#1091;&#1087;&#1082;&#1080;&#1085;&#1099;&#1084;</inflection>
  9.   <inflection case="6">&#1042;&#1072;&#1089;&#1077; &#1055;&#1091;&#1087;&#1082;&#1080;&#1085;&#1077;</inflection>
  10. </inflections>
Пользуйтесь на здоровье :)

Склонятор стал 17-м мини-проектом сборника Яндекс.Нано.

P. S. Обнаружил на Хабре единственную девушку-участницу разработки проекта :)
Всего голосов 118: ↑114 и ↓4+110
Комментарии64

Гибкое время прихода на работу ч.2

Время на прочтение7 мин
Количество просмотров4.9K
Месяц назад я написал небольшую заметку про время прихода на работу. Она вызвала неожиданно большой интерес в интернете. И даже попала в top30 на Яндексе самых обсуждаемых тем в блогосфере.
Та заметка была написана на чистых эмоциях, без каких-то статистических данных или исследований, без примеров и писалась она для рядовых IT-специалистов. И именно им эта заметка понравилась больше всего и собрала множество комментариев тут и тут.
Подавляющее большинство комментаторов на хабре согласны, что гибкий график — это то, о чем они мечтают и как хотели бы работать. Это подтверждается и статистическими данными: "94% работников хотели бы иметь гибкий рабочий график; 78% работающих европейцев готовы сменить работу в обмен на гибкие условия работы".
Однако врядли та заметка могла в чем-то убедить менеджеров или владельцев компаний. Для них нужна совсем другая статья.
Сейчас я попробую написать статью, которая будет интересна именно менеджерам и руководителям компаний, которые, собственно, и принимают решения о введении гибкого графика работ. Эти люди рискуют своими деньгами и не готовы к необдуманным экспериментам.
Я собрал несколько исследований и статей на эту тему и они меня, честно говоря, удивили.

Читать дальше →
Всего голосов 101: ↑94 и ↓7+87
Комментарии122

Миниатюрный внешний накопитель от Freecom

Время на прочтение1 мин
Количество просмотров1.3K
Компания Freecom объвила о выходе на рынок серии внешних накопителей Mobile Drive XXS. В Freecom утверждают, что их портативный винчестер форм-фактора 2,5 дюйма на 27% меньше по габаритам, чем ближайшие конкуренты.

Габариты нового Mobile Drive XXS составляют 109,8×79,5×13,5 мм, вес — 155 граммов. Кроме того, девайс еще и симпатичный (мне лично строгость в дизайне только импонирует).

В линейке Mobile Drive XXS насчитывается три модели. На 160, 250 и 320 Гб. В продаже накопители появятся в августе текущего года. Стоимость 160-гигабайтной модели будет равна 80 евро, 250-гигабайтной — 90 евро. А за диск объемам 320 Гб пользователю придется заплатить 100 евро.

via Engadget
Всего голосов 14: ↑12 и ↓2+10
Комментарии17

Как я храню свои пароли

Время на прочтение2 мин
Количество просмотров11K

Недавно на «Хабре» вышла пара статей, касающихся паролей и удобства работы с ними. Авторы предлагали алгоритмы создания «легкозапоминающихся» или «удобонабираемых паролей». Я предлагаю иной способ и удобный инструмент.



Я не беспокоюсь об удобстве запоминания или набора паролей, предпочитаю держать голову свободной от таких вещей. У меня почти 150 паролей (почты, аськи-шмаськи, хостинги, статистики, сервисы), и ни один из них не повторяется. Сами пароли выглядят примерно так: 96DtL`yL\,B C#@2w'QEP

Читать дальше →
Всего голосов 78: ↑68 и ↓10+58
Комментарии236

Руководство для маленьких, или как Василий Бубликов стал начальником

Время на прочтение6 мин
Количество просмотров5.6K
Что из себя представляет руководство на самом деле, или каким оно должно быть?
К сожалению в наших реалиях хороший руководитель — большая редкость. Возможно, некоторые мысли помогут некоторым «свежеиспеченным» руководителям не наступить на старые ржавые грабли. Тем кто не связан с руководством — поможет понять в чем заключается работа руководителя. А, умудренные руководящим опытом, я надеюсь, выскажутся в комментариях, и поделятся своим опытом.

В этой статье не пойдет речи об организации процессов. Здесь будет затронута только тематика рабочих взаимоотношений.
Читать дальше →
Всего голосов 60: ↑51 и ↓9+42
Комментарии81

Изобретая велосипед или поиск отсутствующего значения ID в MySQL таблице

Время на прочтение2 мин
Количество просмотров34K
Разработчики и администраторы систем основанных на sql данных, наверняка, сталкивались с задачей — получить отсутствующее (пропущенное) значение в ряде id записей таблицы. Например номер договора, порядковый номер документа, телефонный номер, айпи-адрес и т.п. При работе с MySQL эта тривиальная задача непропорционально ресурсоемка.
Читать дальше →
Всего голосов 20: ↑13 и ↓7+6
Комментарии37

Настройка централизованного логирования с LogAnalyzer и Rsyslog

Время на прочтение6 мин
Количество просмотров108K


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

В качестве ОС я выбрал Ubuntu 12.04.

Адреса тестовых вебнод:
192.168.1.51 (loganalyzer-mysql.ip) — Rsyslog-сервер, на этом хосте также будет проинсталлирован LogAnalyzer
192.168.1.50 (loganalyzer-mongo.ip) — Rsyslog-клиент, который будет отсылать логи на сервер loganalyzer-mysql.ip

Настраиваем серверную часть, для чего добавим репозиторий от разработчика Rsyslog:

...
# Adiscon stable repository
deb http://ubuntu.adiscon.com/v7-stable precise/
deb-src http://ubuntu.adiscon.com/v7-stable precise/
...

# apt-key adv --recv-keys --keyserver keyserver.ubuntu.com AEF0CF8E
# gpg --export --armor AEF0CF8E | sudo apt-key add -
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии71

Правильная интеграция Doctrine в CodeIgniter

Время на прочтение7 мин
Количество просмотров5.3K
Здравствуйте, на днях занялся интеграцией популярного PHP-ORM Doctrine с не менее популярным PHP-фрэймворком CodeIgniter и обнаружил, что официальный способ интеграции, озвученный в кукбуке Doctrine и на вики CodeIgniter вызывает у меня, по меньшей мере, негодование.
Почему ?
Всего голосов 41: ↑36 и ↓5+31
Комментарии31

Кэширование фронтэнда: Flask, Nginx+Memcached+SSI

Время на прочтение7 мин
Количество просмотров17K
Достаточно давно мне на глаза попались следующие статьи по этой тематике:

С PHP я дружу, поэтому попробовал примеры и убедился, что это работает. Но всё это имело «фатальные недостатки» :) — PHP, а я фанат Python и по работе занимаюсь в основном бэкендом. Серьёзно говоря, применить на практике это не представлялось возможным.

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

В первую очередь было реализовано черновое решение для моего любимого фрэймворка Flask использующее для кэширования стек Varnish+ESI. Это заработало и даже показало неплохие результаты. Позже пришло понимание, что возможно Varnish «лишний игрок» и всё тоже и даже гибче можно получить на связке Nginx+Memcached+SSI. Был сделан и этот вариант, по производительности особых отличий замечено не было, но последний показался более гибким и управляемым.

Тот проект не вырулил даже на взлетную полосу, или вырулил но без меня. Подумав, я решил «причесать код» и выложить его в OpenSource и на суд общественности.
Читать дальше →
Всего голосов 31: ↑28 и ↓3+25
Комментарии30

Derby.js — новый взгляд на веб-разработку

Время на прочтение2 мин
Количество просмотров26K


Вы веб-разработчик?

Для вас есть новости.

В чем собственно проблема?


Все веб-фреймворки можно разделить на группы. У каждой из этих групп есть свои достоинства и недостатки.

Сервер-ориентированные

Например: RoR, Django, Asp Net, Express.js
Генерируют html на сервере.
Такой подход хорош для статических страничек.
Но как только вы хотите сделать что-то интерактивное, то начинаете утопать в jQuery-коде.

Клиент-ориентированные

Например: Backbone.js, Knockout.js, Ember.js, Batman.js
Генерируют html прямо на клиенте из темплейтов. Код на клиенте структурирован.
Хорошо для интерактивных сайтов.
Не отменяет необходимость использовать сервер-ориентированный фреймворк, что ведет к дублированию кода (модели, валидация и т.д.)

Кросс-компилируемые

Например: GWT, Cappuccino
Позволяют писать всё на одном языке.
Очень большой уровень абстракции.
Шаг вправо, шаг влево — расстрел.

Так же ни один из фреймворков не имеет механизмов синхронизации данных между клиентом и сервером и оставляет реализацию этого на нашу совесть.
Читать дальше →
Всего голосов 22: ↑13 и ↓9+4
Комментарии30
1
23 ...

Информация

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