Пользователь
Темная сторона мобильного трафика
“Вы считаете, что работая с CPA агентствами вы приобретаете хоть сколько нибудь живой трафик? Вы верите в модель CPI? Угадаете долю живого трафика в подобных сетях? На самом деле, доля “серого” трафика намного больше, чем Вы могли подумать."
Интересно?
Как собрать WhatsApp за сутки. Часть 1
Здравствуйте, дорогие читатели Хабрахабра!
В этой серии статей я расскажу, как быстро и почти безболезненно поднять свой собственный WhatsApp под iOS. Статью делю на две части для вашего удобства:
- Создание проекта, простой UI, привязка к сервису мгновенных сообщений
- Делаем красивый UI, добавляем видео и аудио звонки, передачу фото и документов
К сожалению, пособие о том, как набрать 400 000 000 пользователей и продать сервис за 19 Инстаграмов, затерялось где-то на книжной полке. Постараюсь его найти, если кому интересно.
Заинтересовавшихся прошу под кат.
Отправка уведомлений Zabbix в скайп (звонки со скайпа — бонусом)
Случилось так что в компании, из-за перебоев электропитания, несколько раз падали сервера, а администраторы узнавали об этом только утром когда сотрудники не смогли приступить к работе.
Основной проблемой стало то, что все уведомления администраторам отправлялись по почте — которая, как можно с легкостью догадатся, тоже лягла.
Тогда у меня и зародилась идея — «А давайте админам звонить в критических ситуациях!»
За реализацией и скриптами — прошу под кат.
PHPCI: Система непрерывной интеграции для PHP-проектов
Совсем недавно вышла из бета-версии новая система непрерывной интеграции для PHP-проектов с открытым исходным кодом — PHPCI (текущая версия — 1.1.0), она вскользь упоминалась в дайджесте PHP №21.
Я уже какое-то время эксперементирую с этой системой, поэтому хочу представить вам небольшой ее обзор, тем более что на Хабре нет ни одной статьи о ней.
Функция reduce
Конкретно JavaScript обладает целым огородом камней. Подводным огородом.
На практике, подводные камни встречаются не так часто, напротив, хороший код склонен быть описанным в рамках здорового подмножества языка. Это также является и причиной, почему запомнить все заковырки языка достаточно сложно: они не являются необходимыми для каждодневной практики. Тем не менее, разнообразные граничные случаи использования языковых конструкций это отличная разминка для ума, а также стимул узнать язык немного лучше. Сегодняшний экземпляр попался мне на глаза в процессе прохождения JavaScript Puzzlers.
Меня заинтересовал вопрос номер 3:
Каков результат этого выражения (или нескольких)?
[ [3,2,1].reduce(Math.pow), [].reduce(Math.pow) ]
В качестве ответа авторами, на выбор, даются следующие варианты:
* ошибка
*
[9, 0]
*
[9, NaN]
*
[9, undefined]
Попробуйте и вы, без запуска интерпретатора, пользуясь только своим умом ответить на этот вопрос.
Несмотря на то, что пример достаточно отстранённый, аппликация функций и частично определённых функций к коллекциям это распространённая практика для JS, и, при здравом использовании, она способна сделать код чище, как в плане исполнения — избавить его от лишних замыканий, так и в визуальном плане — меньше скобочного мусора (вопрос использования препроцессоров оставим для другой статьи).
А в этой статье вы найдёте:
* Разбор задачки.
* JavaScript
reduce
с чисто практической точки зрения.* Несколько акробатических этюдов с
reduce
(reduce
с академической точки зрения).* Репозиторий с плюшками к статье.
* Несколько других
reduce
.Кросскомпиляция библиотек под iOS, делаем это правильно
Для этого библиотеку, которая понадобилась, нужно будет собрать для 5 архитектур: armv7, armv7s, arm64, i386, x86_64. С кросскомпиляцией есть много подводных камней, на которые не хотелось бы наткнуться, когда есть уже проверенные решения. В этом коротком посте я расскажу об автоматизации сборки библиотек на примере protobuf и sqlite3.
Практические рекомендации: устраняйте неполадки, используя команду 'Top' в Linux
Load average может представлять собой непростой для понимания показатель производительности сервера. В этой статье мы попытаемся дать некоторое представление о том, что означают те величины, которые можно найти в выводе команды «top» и в других linux-командах. В статье, также объясняются параметры специфичные для виртуального хостинга, которые обычно не отображается в стандартном выводе команды top.
Обзор конференций для основателей стартапов
Если вы создали стартап или только подумываете об этом, если вы хотите вложить средства в молодые перспективные компании, то этот пост для вас. В продолжение наших предыдущих обзоров различных специализированных конференций мы предлагаем вашему вниманию подборку материалов, которые будут полезны для основателей стартапов, инвесторов и менторов.
Долой оковы MongoDB
И вот уже кто-то возвращается к Постгресу с его частичной поддержкой JSON…
Но, к счастью, уже куется, уже спешит к нам полноценная замена Mongo, полноценная полу-структурированная Big Data СУБД AsterixDB. Этот проект возглавляет профессор UCI Michael Carey, ученик легендарного пионера СУБД Майкла Стоунбрейкера.
Проект стартовал просто как исследовательское начинание в области Big Data и изначально ориентировался на создание общего стэка для MapReduce и SQL. Но, буквально несколько лет назад, было принято решение построить Big Data JSON СУБД. По словам Майкла Кери, «AsterixDB is Mongo done right.» В чем же основные фишки AsterixDB?
Замолвим слово об отладке и профилировании [PHP]
Ускоряем PHP (с ReactPHP)
Новый сертификат ZCPE от Zend на основе PHP 5.5
3 октября 2013 года компания Zend объявила в своём блоге о доступности новой программы для сертификации девелоперов, основанную на языке PHP версии 5.5. На днях я успешно прошёл тестирование и стал третьим человеком в Украине, кто получил этот сертификат. Внутри я постараюсь рассказать подробнее о самом процессе тестирования и о подготовке к экзамену.
Архитектура BigData-инфраструктуры сервиса Pandorama и защита ее данных от сбоев
Если мантра Google звучит как “поиск всей информации в мире одним кликом”, то мантра молодого российского проекта Pandorama идет дальше: “найдем без клика всю интересную вам информацию”.
Приложение Pandorama предлагает своим пользователям “бесконечную” персонализированную ленту новостей, составленную на основе их личных информационных предпочтений, не требуя при этом от читателя работы с “тегами”, “категориями” или “лайками” друзей. Сначала нужно ответить на пару вопросов про несколько забавных панд, а потом нужно просто… читать предлагаемую ленту. Те новости, которые вы прочитали, будут автоматически анализироваться и обрабатываться системой, с тем, чтобы в дальнейшем такого рода новостей в ленте становилось все больше, а тех новостей, которые не вызвали у вас интереса – все меньше.
Pandorama уже объединяет более 40 тыс. пользователей по всему миру, и это число постоянно растет. В данной статье рассматривается BigData-инфраструктура этого проекта, функционирующая в режиме 24x7, механизмы обеспечения ее отказоустойчивости, и защита ее данных от сбоев, построенная с использованием Veeam Backup & Replication Cloud Edition.
Учим английский: фильмы, книги, словари
Не паникуй (перевод главы книги «Passionate Programmer» by Chad Fowler)
Почему эта книга заслуживает перевода
Хочу поделиться своим мнением с хабрасообществом о книге «Passionate Programmer», перевод одной из глав которой представлен ниже. Книга вышла в 2009 году, но среди российских программистов она не очень широко известна, тем не менее многие, кто познакомился с ней, считают её очень достойной. Чад Фаулер (автор книги) выложился очень хорошо, чтобы передать читателям свой богатый опыт (на данный момент он CTO 6Wunderkinder, имеет более 20 лет стажа разработки и в виду своего большого опыта и круга интересов он желанный гость на Ruby- и IT-конференциях). Да, уже и не помню как нашёл эту книжку, но помню, что именно предисловие от Кента Бека (идейный вдохновитель Test Driven Development и Extreme Programming) послужило причиной прочитать её.
В этой книге нет описания конкретных технологий, алгоритмов и т.п., но есть просто куча советов, касательно того, с чем порой сталкивается любой разработчик: отсутствие мотивации, выбор приоритетов, психология программирования, отношения с руководством и коллегами; по большому счёту даётся масса наставлений, о том как сделать яркую карьеру программиста. Конечно, опытные разработчики могут найти некоторые его идеи достаточно очевидными, но для тех, кто только в самом начале своей карьеры, чтение данной книги, определённо, будет хорошим вложением времени. Большой плюс, что книга читается очень легко и, если вы достаточно хорошо владеете английским, её реально прочитать всего лишь за несколько дней. Просто интересно, почему наши издательства ещё не перевели её на русский язык?
После прочтения книги я заинтересовался Чадом. Нашёл его блог в сети. Как оказалось, он начал выкладывать в нём главы из своей книги (на данный момент опубликовано 2 главы из 53). Я спросил разрешения на перевод для хабра, он ответил, что это хорошая идея, но только сначала мне надо отправить ему письмо с тем, что конкретно я хочу переводить (видимо это пожелание было как-то связано с тем издательством, где была опубликована книга). После моего ответа неделю было молчание, я отправил повторное письмо — ответа снова не было. Потом я получил от него приглашение на Wunderlist (сервис, за который он отвечает на данный момент). В общем, я посчитал, что если явного запрета не было, а эти главы уже и так находятся в свободном доступе, и он ещё не совсем про меня забыл, то делать перевод можно. В общем, если перевод сообществу окажется полезным, я продолжу переводить другие главы. В тексте возможны ошибки (делал вычитку несколько раз, но всё же вдруг), поэтому заранее прошу прощения и прошу сообщать мне обо всех проблемах через личные сообщения.
Не верьте своему мозгу
Ваш мозг обманывает вас постоянно. К примеру, большая часть представлений человека основана на том, что он помнит, а не на том, что он пережил на самом деле. Доказано, что мозг не различает воспоминания о пережитых событиях и рассказами других людей. Разберем основные проблемы.
Память обманчива
Сегодня человеческий мозг пытается сфокусироваться на множестве проблем ежедневно, но он не готов к этому. Не так давно человека волновали дикие животные, которые могли его съесть, а не переполненная электронная почта. Именно поэтому внимание рассеивается и сложно концентрироваться на действительно важных вещах. С возрастом память ухудшается, становится все сложнее запоминать.
Прокачка debian/ubuntu сервера для маленьких
О плясках с бубенчиком я бы хотел описать тут в подробностях.
Всё в этом посте было собрано на просторах интернета, доработано, разжевано и скинуто в одну статью.
Выбор пал на https://account.nt-vps.ru/register/ из-за низких цен и неплохой стабильности за эти деньги(правда 2 дня были серьезные проблемы с сетью). Был взят VPS за 5 рублей в сутки(или за 150р в месяц) с небольшими конфигурациями ОЗУ 128mb и 10Гб на диске.
В автоматическом режиме был установлен Debian 7.0 x86-64 Wheezy и VPS была готова к работе.
64 битная сиcтема была выбрана лишь для моих личных нужд, а вам же советую, на этом VPS, ставить x86.
Проблема инициализации объектов в ООП приложениях на PHP. Поиск решения при помощи шаблонов Registry, Factory Method, Service Locator и Dependency Injection
Сегодня речь пойдет о том, какие проблемы могут возникнуть с инициализацией объектов в ООП приложении и о том, как можно использовать некоторые популярные шаблоны проектирования для решения этих проблем.
4 шага на пути в Google, не имея высшего образования
Как получить должность инженера в Google, не имея высшего образования?
Вот вам небольшая история.
Информация
- В рейтинге
- Не участвует
- Откуда
- Сайгон, Dong Nam Bo, Вьетнам
- Дата рождения
- Зарегистрирован
- Активность