Как стать автором
Обновить
114
0
Вадим @WASD42

Backend-программист

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

Тестирование в Badoo «с высоты птичьего полёта»

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


Мы много раз рассказывали о том, как мы пишем автотесты, какие технологии используем, как помогаем разработчикам с производительностью юнит-тестов и так далее. А вот про стратегию всего процесса тестирования, включая ручное, ещё ни разу не писали. Пришло время восполнить этот пробел.

Читать дальше →
Всего голосов 75: ↑75 и ↓0+75
Комментарии30

300 потрясающих бесплатных сервисов

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


Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly.com Domain: Конструктор веб-сайтов.
  • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
  • Withoomph: Мгновенное создание логотипов (англ.).
  • Hipster Logo Generator: Генератор хипстерских логотипов.
  • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
  • Invoice to me: Бесплатный генератор счета.
  • Free Invoice Generator: Альтернативный бесплатный генератор счета.
  • Slimvoice: Невероятно простой счет.

Читать дальше →
Всего голосов 341: ↑325 и ↓16+309
Комментарии107

Как распознавать манипуляции и быстро обезвреживать их

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


Не так давно общаясь с директором одной крупной ИТ-компании мы как раз обсуждали эту тему. И он высказал мысль, что отрасль IT — это отрасль, где люди больше всего общаются друг с другом. Несмотря на, казалось бы, большое количество времени, которое мы проводим наедине с компьютером, много времени мы проводим и в общении: с коллегами по команде, коллегами из других городов и стран, заказчиками и т.д. Пообщаться за один день с ребятами из Новосибирска, Москвы, Питера, Санта Клары, Шанхая и Бангалора — в порядке вещей. Причем и письменно, и устно, и на совещаниях и в чатах — как хочешь. Сплошные переговоры. Это, вероятно, и объясняет столько плюсов в постах по этой теме.

Сегодня мы решили продолжить эту тему и опубликовать главу из новой книги Дмитрия Коткина «Переговорная книга быстрых рецептов».

Как распознавать манипуляции и быстро обезвреживать их

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

Обзор мозгокомпьютерного интерфейса Emotiv Epoc

Время на прочтение9 мин
Количество просмотров95K
Вот тут давно сокрушались, что нет героя в отечестве, который бы купил какой-нибудь нейрокомпьютерный интерфейс, помучил бы его на благо сообщества и поделился с окружающими результатами мучений. Собственно есть. Я его купил и попытался использовать. Подробности с картинками под катом.

Читать дальше →
Всего голосов 159: ↑159 и ↓0+159
Комментарии172

Танец роботов Nao от Aldebaran Robotics на выставке Шанхай Экспо 2010

Время на прочтение1 мин
Количество просмотров7.1K
Французская фирма «Aldebaran Robotics» представила на выставке World Expo 2010 в Шанхае новое поколение талантливых роботов NAO. Они могут не только ходить, наклоняться, брать в руки разные предметы, вставать из положения сидя и лежа, но и танцевать под музыку.

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

Всего голосов 98: ↑80 и ↓18+62
Комментарии79

Парни, нам нужно поговорить

Время на прочтение4 мин
Количество просмотров128K
От переводчика: на оригинальный пост меня навёл EugeneOZ, за что ему отдельное спасибо.
Если кто-то найдёт какой-то косяк — я буду рад репортам в ЛС.


Парни, нам нужно поговорить


Мои дорогие задроты, гики, хакеры, дизайнеры, создатели, сборщики и очумельцы — с нашей культурой происходит что-то очень и очень странное.

Мы ведём себя как настоящие козлы по отношению друг к другу.

Нет, скажете вы, это вовсе не так, верно? Гики помогают друг другу! Ну, хм, может, иногда мы и помогаем, но большую часть времени мы являемся частью самого жестокого, критично настроенного и безразличного сообщества из всех, что я знаю. Сколько сайтов за день мы поливаем дерьмом? Скольким клиентам мы желаем отправиться в ад? Сколько мы глумимся над кривым фотошопом?
Читать дальше →
Всего голосов 324: ↑277 и ↓47+230
Комментарии208

Ускорение загрузки Windows for fun and profit

Время на прочтение4 мин
Количество просмотров803K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Всего голосов 532: ↑516 и ↓16+500
Комментарии365

50 цитат о программировании всех времён

Время на прочтение6 мин
Количество просмотров159K
Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.

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

49. Lisp — это не язык, а строительный материал.
— Alan Kay

48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
Читать дальше →
Всего голосов 344: ↑336 и ↓8+328
Комментарии136

Оптимизация сайта для планшетов

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

Ускорение набора текста с помощью добавления спецсимволов


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

Читать дальше →
Всего голосов 105: ↑97 и ↓8+89
Комментарии24

Использование ncurses в PHP

Время на прочтение9 мин
Количество просмотров20K
Как программист и веб-разработчик, вы наверное время от времени пишете программы на php для администрирования сайта из консоли. Средствами языка можно сделать только выводящую/читающую из консоли программу, но с помощью библиотеки ncurses можно создать консольную утилиту с довольно сложным внешним видом, которая будет одинаково выглядеть в разных видах терминалов.

PHP очень гибок и расширяем, с его помощью можно создавать скрипты, которыми можно заменить аналогичные на других языках (Perl/bash-скрипты и прочее). Функциональность ncurses поразительна и действительно выводит возможности работы с терминальным php-приложением на новый уровень.

Предназначение статьи — дать вам «толчок» в сфере написания консольных утилит на php, которые будут использовать возможность этой библиотеки. Я собираюсь показать только самое важное, относящееся к самой библиотеке, и надеюсь дать вам базу для использования ncurses в вашем приложении.

Для кого предназначена статья

Материал предназначен для опытных php-программистов, заинтересованных в создании консольных php-приложений с пользовательским интерфейсом. (прим. переводчика: материал пригодится разработчику любого уровня, здесь нет ничего сложного).
Читать дальше →
Всего голосов 85: ↑77 и ↓8+69
Комментарии21

Load average

Время на прочтение2 мин
Количество просмотров94K
Наблюдая выводы таких команд, как top, htop, uptime, w и, возможно, других, пользователь наверняка обращал внимание на строку load average:

Linux program top

Читать дальше →
Всего голосов 166: ↑151 и ↓15+136
Комментарии58

«Острова» Яндекса: техническая сторона и API

Время на прочтение5 мин
Количество просмотров42K
16 мая на конференции YaC/m Яндекс объявил о запуске новой поисковой платформы «Острова». Уже в первые две недели после анонса вебмастера создали около 1000 островов для своих сайтов. Но новая платформа вызывает и множество вопросов. Мы уже рассказывали на Хабре о том, как Острова выглядят и почему они визуально устроены именно так.

Меня зовут Олег Левчук, я работаю менеджером в команде «Островов» и отвечаю за интерактивные ответы в результатах поиска Яндекса. Так что сегодня я хочу поговорить подробнее о том, как работают интерактивные ответы и на каких принципах они основаны. Давайте начнем с того, как вообще появилась эта идея — это поможет вам лучше понять результат.



От сниппетов к островам


Яндекс последовательно развивал представление поисковых результатов. С одной стороны, мы работали с результатами «органической» выдачи, с другой — делали специализированные ответы, которые назвали колдунщиками.
Читать дальше →
Всего голосов 81: ↑72 и ↓9+63
Комментарии90

Responsive Email Design, или Как прочитать письмо на холодильнике

Время на прочтение9 мин
Количество просмотров26K
image Для нас, как и для большинства социальных сетей, очень важны email-рассылки. Одной из интересных и сложных технических задач является корректное отображение писем на мобильных устройствах. Сейчас около 23% писем Badoo открывается именно на них, и это число постоянно увеличивается. А возможно, кто-то прямо сейчас читает наше письмо на своем интернет-холодильнике.
Сегодня мы расскажем, каких правил придерживаться в разработке электронных писем, как сохранить их юзабилити на мобильных устройствах, а также поделимся своими хитростями, накопленными в процессе работы.

Требования


С какими проблемами мы столкнулись и какие требования предъявляются к нашим письмам:

  • письма должны корректно отображаться в множестве разных почтовых клиентов и браузеров;
  • они должны быть оптимизированы под различные устройства на платформах iOS и Andriod (смартфоны с большим, средним и малым разрешением экрана; планшетные компьютеры);
  • нужна обязательная поддержка Outlook 2003/2007/2010, т.к. он занимает большой сегмент использования;
  • редактирование компонентов, которые применяются еще в 50 шаблонах писем;
  • необходимо создавать универсальные блоки, которые будут подстраиваться под ситуацию, т.к. в письмах данные имеют динамическую структуру (например, письма переводят на 44 языка, в них меняются размеры блоков, изображений, размер текста).
Читать дальше →
Всего голосов 92: ↑81 и ↓11+70
Комментарии26

Что такое RTB: новые технологии интернет-рекламы

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


В последнее время в рунете появляется статей про технологию аукциона в реальном времени – Real-time Bidding (RTB). Пока эта тема больше обсуждается на специализированных ресурсах, поэтому я буду одним из первых, кто расскажет о ней на Хабре. Это подлинная, в том числе и технологическая инновация на рынке интернет-рекламы, с которой пора знакомить с ней тех, на кого она собственно нацелена: рекламодателей, покупающих рекламу в интернете, и площадки, зарабатывающие на продаже медийной рекламы и трафика (Habrahabr.ru, например :).

По прогнозам, расценки на медийную рекламу в интернете в 2013 году вырастут на 14 процентов, в то время как в среднем реклама подорожает на 10 процентов. Медийная реклама обгонит и другие инструменты интернет-рекламы – к примеру, контекстная реклама вырастет всего на 13%. На мой взгляд, драйвером этого роста станет именно RTB.
Читать дальше →
Всего голосов 74: ↑64 и ↓10+54
Комментарии67

Конкурс уязвимостей, или Ломай меня полностью!

Время на прочтение9 мин
Количество просмотров40K
19 марта мы объявили о начале месяца поиска уязвимостей «Проверь Badoo на прочность». Сегодня нам хочется подвести первые итоги и поделиться с вами промежуточными результатами, рассказать, как мы готовились к проверке на прочность, рассмотреть самые интересные уязвимости и сделать «фейспалм».

И для начала немного статистики:
  • за первые две недели участники прислали нам почти 500 заявок с потенциальными уязвимостями;
  • около 50 заявок оказались дубликатами;
  • каждая десятая заявка содержала в себе реальную уязвимость (самые опасные были исправлены в течение нескольких часов);
  • Более 150 заявок составили ошибки, не связанные с безопасностью сайта, и около 10% из них относятся к платформам, не участвующим в конкурсе.
  • большинство уязвимостей пришлось на самый главный компонент системы ― профиль (как только участники конкурса не издевались над аккаунтами пользователей: удаляли и загружали фотографии, манипулировали комментариями, интересами, личными данными и адресами электронной почты).
  • Более половины присланных уязвимостей ― различные CSRF, в основном затрагивающие загруженный или написанный пользователями контент (удаление и загрузка фото и комментариев, работа с чёрным списком, избранным и т.д.).
Читать далее
Всего голосов 124: ↑113 и ↓11+102
Комментарии26

Проблемы «долгих» скриптов PHP

Время на прочтение3 мин
Количество просмотров23K
Иногда возникает необходимость писать скрипты, работа которых занимает продолжительное время. Например, скрипты создания/развертывания бэкапов, установки демо-версии какого-то приложения, агрегирования больших объемов данных, импорта/экспорта данных и т.п. Для того, чтобы такие скрипты не прекращали свою работу в неожиданный момент, нужно знать и помнить о некоторых вещах.
Читать дальше →
Всего голосов 37: ↑19 и ↓18+1
Комментарии34

Работа с памятью (и всё же она есть)

Время на прочтение13 мин
Количество просмотров106K
Существует распространенное мнение, что «рядовому» PHP разработчику практически не нужно заботиться об управлении памятью, однако «заботиться» и «знать» всё же немного разные понятия. Попытаюсь осветить некоторые аспекты управлению памятью при работе с переменными и массивами, а также интересные «подводные камни» внутренней оптимизации PHP. Как вы сможете убедиться, оптимизация это хорошо, но если не знать как именно она «оптимизирует», то можно столкнуться с «неочевидными граблями», которые могут вас заставить изрядно понервничать.

Читать дальше →
Всего голосов 235: ↑224 и ↓11+213
Комментарии90

Clustered index в InnoDB и оптимизация запросов

Время на прочтение7 мин
Количество просмотров18K
В последнее время в сети часто пишут про clustered index в InnoDB и таблицах MySQL, но, несмотря на это, на практике используют довольно редко.
В данной статье мы покажем на двух реальных примерах, как мы оптимизировали достаточно сложные системы Badoo, основываясь на понимании принципов работы clustered index.

Clustered index – форма организации таблицы в файле. В InnoDB данные хранятся в дереве, в таком же, в котором лежат обычные B-TREE ключи. Таблица InnoDB сама по себе уже является большим B-TREE. В качестве значений ключа используется clustered index. Согласно документации, в качестве clustered index выбирается PRIMARY KEY. Если PRIMARY KEY отсутствует – выбирается первый UNIQUE KEY. Если и такого нет, то используется внутренний 6-тибайтный код.

Что же вытекает из такой организации данных на диске?
Читать дальше →
Всего голосов 78: ↑65 и ↓13+52
Комментарии41

Пять способов ускорить запросы API Facebook на практике

Время на прочтение7 мин
Количество просмотров14K
Ни для кого не секрет, что самым узким местом веб-приложений чаще всего являются HTTP-запросы к внешним серверам. Так, время загрузки данных запроса API много больше чем время, необходимое для выполнения большинства самых сложных скриптов веб-приложения.

За время работы с API Facebook я накопил несколько рецептов оптимизации запросов: как увеличить скорость работы скриптов, уменьшить их количество и ресурсоёмкость.



Способы, изложенные в этой статье, работают только с API Facebook. Но я не исключаю, что они могут быть применимы и в других сервисах, предоставляющих API.
Читать дальше →
Всего голосов 84: ↑81 и ↓3+78
Комментарии27

Email маркетинг: plain/text

Время на прочтение3 мин
Количество просмотров11K
Доброго времени суток,

В продолжение темы хотелось бы заострить внимание на такой части email рассылок, как plain/text версия.

Прежде всего, что же такое plain/text? Википедия гласит:
Те́кстовые данные (также текстовый формат) — это последовательность символов в компьютере, в строгом смысле этого термина соответствующая MIME-типу «text/plain».

Под катом речь пойдет о том, как эффективно и грамотно вести рассылку для получателей писем в данном формате.
Читать дальше →
Всего голосов 13: ↑7 и ↓6+1
Комментарии1
1

Информация

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