Архив за 05 августа 2014 - 7

Badoo PHP Code Formatter. Теперь в open source! Несколько лет назад компания Badoo начала значительно расти по числу сотрудников, с 20 до 100 и более. Это потребовало серьезной перестройки многих процессов, касающихся разработки. Одна из проблем, с которой мы столкнулись, — как заставить всех разработчиков следовать единому стандарту кодирования, чтобы весь наш код выглядел единообразно и был легко поддерживаемым?

Для решения этой задачи мы решили внедрить инструмент для форматирования кода, который умел бы следующее:

  1. выводить сообщения о несоответствии стандарту форматирования в виде списка, не трогая сам файл;
  2. автоматически исправлять все найденные проблемы с форматированием;
  3. уметь форматировать только часть файла (нам не нужно переформатировать репозиторий сразу целиком, чтобы не потерять историю).

Мы рассматривали два проекта, которые можно было бы взять за основу для написания такого инструмента — PHP Beautifier и PHP Code Sniffer. Первый умел форматировать код, но не умел печатать диагностику, а второй — наоборот, умел печатать диагностику, но не умел форматировать файлы. К сожалению, оба этих проекта, по нашей оценке, были не слишком пригодны для того, чтобы добавить в них недостающую нам функциональность, поэтому была написана новая утилита — phpcf (PHP Code Formatter). Уже в течение двух лет она работает как git pre-receive hook, настроенный на отклонение (!) изменений, которые не оформлены по нашему стандарту кодирования.

Наконец настало время открыть исходные тексты нашей утилиты для широкой публики: github.com/badoo/phpcf/
Читать полностью »

В отношении вещей я человек довольно таки консервативный, поэтому использую все «до конца», пока вещи выполняют свои функции и пытаюсь получить от них все, на что они способны. Так и с компьютерной техникой, поэтому тема «разгона» мне всегда была интересна и практиковалась на всем, что использовалось. Одним из последних приобретенных гаджетов стал ноутбук HP ProBook 4530s в комплектации Intel Core i3/AMD Radeon HD 6490M. Этот рассказ о том, что и как я сделал, чтобы видеокарта от AMD потребляла меньше и работала быстрее.

image
Читать полностью »

image

В своем рассказе хочу поведать о своем опыте в области интернет торговли. На Хабре уже лет 5, почерпнул много полезного для себя за это время.

И, пожалуй, настало мое время внести капельку пользы для других.

История моего опыта в интернет коммерции началась в 2011 году, когда я «дорос» до ведения достаточно трудоемкого проекта. Опыт создания и верстки сайтов визиток и сайтов на CMS-ках приобрел еще в 2003 году, тогда пару раз делал клансайты для War3TFT, после этого делал еще 5-6 сайтов на Joomla, в основном тоже для гильдий и кланов. Конечно, это нельзя назвать полноценным ресурсом, но минимальные нужные знания, перед открытием своего интернет-магазина, уже имелись.

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

Под катом хочу рассказать о том, как этих ошибок избежать.
Читать полностью »

Бизнес архитектура систем взимания платы с автомобилей с использованием данных спутниковой навигации
Французские реднеки жгут порталы контроля системы Ecotaxe. Фото Europe1.fr

С момента последней публикации на тему систем взимания платы с использованием спутникового геопозиционирования прошло больше года. За это время многое поменялось, и поменялось концептуально. Вышли новые отраслевые стандарты, изменилась бизнес-логика организации сбора платы. Так часто случается в новых областях. Поэтому, прежде чем продолжить рассказ о технических нюансах, хотелось бы вкратце рассказать о новой бизнес-модели и о предпосылках ее появления.
Читать полностью »

Данная статья является переводом, оригинал можно найти тут — 10 Alternative Android App Stores

От переводчика:

Данная статья родилась совершенно случайно, после того, как я в попытках продвинуть свое приложение задался вопросом: "А все ли Android пользователи пользуются исключительно Google Play?" Как оказалось, нет, среди друзей нашлось немало тех, кто использует Amazon Appstore или Samsung Galaxy Apps и т.д. Поэтому я и решил поискать альтернативы. И, как оказалось, — их немало. Забегая вперед, хочу сказать, что эти агрегаторы приложений действительно имеют активную аудиторию, это сразу стало заметно после публикации моей игрушки.

Вы только что завершили работу над большим Android приложением и уже готовы заработать на нем. Как же это сделать? Наиболее распространенный путь, вероятно, заплатить $25, чтобы получить аккаунт разработчика и добавить приложение на Google Play. Однако, есть много альтернатив, каждая со своей собственной аудиторией, которая может принести вам еще больше загрузок.

Некоторые из этих магазинов приложений создавались для маленьких аудиторий, в то время как другие носили вообще локальный характер. Большинство из них не берут плату за добавление приложения. Таким образом, мы получаем возможность дешево опубликовать свое приложение и привлечь дополнительные установки в нескольких магазинах приложений.
Читать полностью »

Proof of Concept

Из такого заголовка довольно сложно понять, «а кому оно вообще нужно?», а потому для начала краткое предисловие.

Ни для кого не секрет, что интернет-провайдеры весьма агрессивно смотрят на малый бизнес. Условия обслуживания физических и юридических лиц примерно те же, а вот цена весьма существенно разнится. Ситуация монополии в какой-то мере исправилась с приходом таких стандартов, как LTE и 4G, но условия обслуживания и сейчас остаются весьма далекими от гуманности. Итак, это статья посвящается тем, кто по тем или иным условиям вынужден взаимодействовать с провайдером, который предоставляет внешний IP адрес, но не дает возможности редактировать соответствующие обратные DNS записи.

Наверняка многим известно, что в качестве требования к почтовым серверам, помимо DKIM записей и прочих проверок, предъявляется еще и обязательное наличие обратной DNS записи. В противном случае, письма либо не будут доходить вовсе, либо будут попадать в папку «Спам». С вышеозначенными фактами далее мы и будем разбираться.

Основная идея

Какие варианты остаются? Во-первых это сервисы прозрачного SMTP проксирования. Но в этом случае клиенту будут приходить письма со стороннего домена, что, вполне естественно, может вызвать недоверие клиента к вашему ресурсу. Во вторых это магия. В сторону последней и будем думать.

Идея в том, чтобы избавиться от вашего IP, как от начального релея. В этом нам помогут службы Gmail Hosted. Процедура настройки вашего домена для использования Gmail Hosted довольно проста и хорошо задокументирована. За всеми подробностями сюда: Google Apps для бизнеса.

Настроив свой домен для работы со службами Gmail Hosted и зарегистрировав соответствующий почтовый ящик для связи с клиентами (предположим это noreply@yourdomain.com), очень хочется автоматически из кода вашего ресурса оповещать своих клиентов о событиях. Но если же в такой конфигурации попытаться воспользоваться учетной записью noreply@yourdomain.com, как релеем, то получим то же, от чего уходили. Нанимать сотрудника, который бы входил в веб-интерфейс и отправлял оповещения — неразумно.
Читать полностью »

Назваться любителем командной строки будет для меня как-то чересчур, скорее, я стал им добровольно-принудительно, т.к. после обновления OS X 10.7 на 10.8 перестала работать программа, которая до того вполне неплохо проставляла геотеги на отснятые фотографии. Здесь надо сделать отступление: на написание этой заметки меня сподвиг более или менее «соседний» материал под названием «Как сэкономить на фотоаппарате с GPS». В моём случае имеет место несколько менее извращённый подход к получению координат посещённых мест, а именно — запись трека GPS-навигатором, остальное же выполняется с помощью ExifTool.

Пожалуй, можно опустить получение удобоваримого формата трека, т.к. это вряд ли сопоставимо с темой заметки, а вот проставление геотегов — одна из задач, которую ExifTool чудесно выполняет.Читать полностью »

По данным, которые публикует источник, китайская компания THL вывела на рынок новый смартфон с поддержкой LTE — L969. В конфигурацию новинки вошел модем LTE с поддержкой FDD-LTE 2600 МГц, что делает аппарат пригодным для использования за пределами Китая, поэтому географию продаж изделия обещает быть широкой.

THL L969

Читать полностью »

Уж простите меня, уважаемые Хабрапользователи, но для начала небольшой disclaimer:

Несмотря на «многообещающий» тэг, вещей вроде unboxing'a с последующей разборкой и демонстрацией внутренностей квадрокоптера, собранного на ламповом Arduino и распечатанного на 3D-принтере под управлением скрипта в 30 строк, в данном посте, к сожалению, не будет.

В посте изложена история поиска наиболее приемлемого способа претворения в жизнь задумок человека, который возжелал странного, а именно решил скрестить свои смартфон и автомобиль, и которому в связи с этим пришлось некоторое время потратить на создание своими руками колхозного оригинального варианта автомобильного держателя для смартфона, а заодно и найти неожиданное применение вещам, предназначенным, казалось бы, совсем для другого. К сожалению, в то недалекое прошлое мысль запечатлеть во всей красе, ну, или хотя бы на фото этот извращённый процесс мне в голову как-то не пришла (лавры Тинто Брасса оставляли меня равнодушным, к тому же, честно говоря, я не был уверен в том, что из этой затеи что-нибудь вообще получится). Так или иначе кому это показалось интересным, прошу под кат.
Читать полностью »

Продолжаем тему распределения активов для пенсионного портфеля. Обычно Великие Гуру Финансовых Рынков финансовые консультанты в этом месте подробно показывают, почему инвестирование в недвижимость-золото-биткойн и прочие вечные ценности в чистом виде не решает проблему долгосрочных инвестиций. Мы это оставим на потом, а сейчас перейдем сразу к десерту. Судя по вопросам в предыдущем топике, не все сразу осознали силу и величие ребалансировки. Так что цитирую:

Ребалансировка возвращает портфель к первоначальным пропорциям распределения активов. Ребалансировка необходима, т.к. с течением времени какие-то из ваших инвестиций могут выбиться из выбранного вами распределения активов. Вы можете обнаружить, что некоторые из ваших вложений будет расти заметно быстрее, чем другие. Например, что вы решили, что инвестиции в акции будут составлять 60% от вашего портфеля. Однако после недавнего роста фондового рынка, доля акций увеличилась до 80% от состава портфеля. Вы должны будете либо продать часть из ваших акций, или докупить те виды активов, вес которых уменьшился, либо сделать и то, и другое, чтобы восстановить изначальные пропорции распределения активов…
Enlarge your pension 2: Ребалансировка. Добавим риска для снижения риска!Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js