Как стать автором
Обновить
38
0

многорукий шива

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

Топ полезных SQL-запросов для PostgreSQL

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

Статей о работе с PostgreSQL и её преимуществах достаточно много, но не всегда из них понятно, как следить за состоянием базы и метриками, влияющими на её оптимальную работу. В статье подробно рассмотрим SQL-запросы, которые помогут вам отслеживать эти показатели и просто могут быть полезны как пользователю.

Читать далее
Всего голосов 83: ↑81 и ↓2+79
Комментарии15

Вычисляем по IP: как бороться со спамом в социальной сети

Время на прочтение19 мин
Количество просмотров40K
Спам в социальных сетях и мессенджерах — это боль. Боль и для честных пользователей, и для разработчиков. Как с ней борются в Badoo, рассказал Михаил Овчинников на Highload++, далее текстовая версия этого доклада.


О спикере: Михаил Овчинников работает в Badoo и последние пять лет занимается антиспамом.

В Badoo зарегистрировано 390 миллионов пользователей (данные на октябрь 2017). Если сравнивать размер аудитории сервиса с населением России, то можно сказать, что в нашей стране по статистике каждых 100 млн человек охраняет 500 тысяч полицейских, а в Badoo каждые 100 млн пользователей защищает от спама всего один сотрудник Антиспама. Но даже такое небольшое количество программистов способно защитить пользователей от разных неприятностей в интернете.
Всего голосов 76: ↑72 и ↓4+68
Комментарии50

Дженерики в PHP

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

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

Давайте поговорим о том, что такое дженерики, почему PHP их не поддерживает и что, возможно, нас ждёт в будущем.

Читать далее
Всего голосов 16: ↑9 и ↓7+2
Комментарии8

UX-текст на языке Шекспира: заповеди, грехи и табу

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

Изменив одно местоимение, можно на 90% увеличить показатель кликабельности (CTR) кнопки, которая приведет новых пользователей. Дописав одно предложение, можно увеличить количество оплаченных покупок и снизить нагрузку на саппорт. Поставив одну запятую, можно было бы сохранить 5 миллионов долларов. ОК, третий пример про договоры, но все равно показателен.


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


Исследование Nielsen Norman Group показало, что лаконичный, объективный (без маркетологического хвастовства) текст, который легко читается пользователем, увеличивает юзабилити сайта на 124%. Только текст. UX и навигацию не трогали.


В вашем продукте (сайте, программе, приложении и т.д.) есть английский текст, и вы хотите, чтобы он приносил вам выгоду, а не просто занимал место? Читайте статью дальше. Я расскажу, как писать по-английски нужно, и как не нужно.

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

Как работает крупнейший маркетплейс: что у него под капотом

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

Всем привет, я — Сергей Бобрецов, CTO в Wildberries. 

Сегодня Wildberries — самый большой маркетплейс в России и мы так часто заняты повседневным хайлоадом, что не всегда успеваем рассказать что за всем этим стоит: какие технологии и решения под капотом, как мы справляемся с адом черной пятницы и ужасами киберпонедельника.

Стоит начать с того, что основным генератором прогресса в WB с самого начала и по сей день является фактор роста. По бизнес-метрикам мы растем примерно х2 каждый год уже много лет, а по техническим (количестуву запросов / транзакций / трафику / объему данных и т. д.) — рост может быть даже быстрее, и это создает множество вызовов: технических, архитектурных и организационных. 

В итоге, чтобы запустить любую программу или систему в прод на мало-мальски долгий срок нужно обязательно учитывать кратный рост нагрузки, иначе совсем скоро придется вносить серьезные изменения в архитектуру или вообще все переделывать. Речь, конечно, не только про код – надо иметь стратегию масштабирования на уровне  железа, сети, данных, самого приложения, команды и т. д.

Сегодня я хочу рассказать немного про нашу инфраструктуру.

Читать далее
Всего голосов 69: ↑54 и ↓15+39
Комментарии54

Погружение в Helm Package Manager. Часть вторая

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

Helm — один из самых популярных пакетных менеджеров для Kubernetes, так что познакомиться с ним поближе стоит всем, кто сталкивается с задачами деплоя приложений. Эта статья завершает мое краткое, но достаточно полное введение в Helm.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии9

Как найти удаленную работу в США с прицелом на релокацию: описания виз, списки ~1000 компаний, полезные инструменты

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

Поиск работы в американских компаниях, особенно с прицелом на будущий переезд – это всегда актуальная тема. Я сам живу в США уже более пяти лет, прошел все стадии профессиональной эмиграции, запустил здесь не один бизнес и нанял немало людей. 

В этой статье я собрал материалы для тех, кто задумывается о поиске сначала удаленной работы в США, а затем и о переезде. В тексте есть описания виз, списки компаний, нанимающих на remote, инструменты для подготовки к собеседованиям. Надеюсь, будет полезно!

Читать далее
Всего голосов 42: ↑28 и ↓14+14
Комментарии11

Сравнение php-fpm, nginx-unit и laravel-octane

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

Сравнение производительности php-fpm, nginx-unit и laravel-octane - что выбрать для разработки микросервисов.

Читать далее
Всего голосов 46: ↑45 и ↓1+44
Комментарии34

3 главных Data-профессии: обзор компетенций и зарплат

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

Data Science выходит в массы. Настолько, что пора напомнить основы, почти что на пальцах. Скоро вполне может появиться множество вакансий c Data Science в заголовке, явно заниженной зарплатой и требованиями к начинающему аналитику, поэтому давайте внесём ясность.

Если вы слышите о Data Science из каждого мегафона и утюга — и окончательно запутались, гуглите "Data Science в Excel", или всё понимаете и хотите объяснить науку о данных кому-то простыми словами, эта статья тоже для вас. А для продвинутых и знающих людей у нас есть другие материалы о практической стороне вопроса.

Читать далее
Всего голосов 17: ↑13 и ↓4+9
Комментарии1

Как достичь объективности в субъективном? Калибровка в performance review

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

Процессом performance review сейчас сложно удивить. В нашей отрасли это уже достаточно распространенное явление. Несколько лет назад было модно рассказывать о том, как устроено performance review в конкретной компании. Со временем процессы у всех обтесались, выровнялись и стали очень похожи друг на друга. Мы обязательно расскажем о некоторых особенностях, присущих performance review в Юле, но сегодня я хотел бы затронуть мало описанный этап — калибровку.

Читать далее
Всего голосов 18: ↑17 и ↓1+16
Комментарии27

А нужен ли Redis или хватит PostgreSQL

Время на прочтение3 мин
Количество просмотров18K
image

Есть проверенная архитектура, которую я видел много раз для поддержки ваших веб-сервисов и приложений:

  • PostgreSQL для хранения данных
  • Redis для координации очередей фоновых заданий (и некоторых ограниченных атомарных операций)

Redis — это фантастика, но что, если бы я сказал вам, что его наиболее распространенные варианты использования этого стека на самом деле могут быть достигнуты с использованием только PostgreSQL?

Сценарий 1: очередь заданий


Пожалуй, наиболее частое использование Redis, которое я видел, — это координация отправки заданий из вашего веб-сервиса в пул фоновых воркеров. Идея состоит в том, что вы хотите записать желание выполнить какое-то фоновое задание (возможно, с некоторыми входными данными) и гарантировать, что только один из многих ваших фоновых воркеров выполнит его. Redis помогает в этом, поскольку предоставляет богатый набор атомарных операций для своих структур данных.
Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии10

Обфускация данных для тестов производительности

Время на прочтение20 мин
Количество просмотров10K
Пользователи ClickHouse знают, что его главное преимущество — высокая скорость обработки аналитических запросов. Но как мы можем выдвигать такие утверждения? Это должно подтверждаться тестами производительности, которым можно доверять. О них мы сегодня и поговорим.



Такие тесты мы начали проводить в 2013 году, задолго до того, как продукт стал доступным в опенсорсе. Как и сейчас, тогда нас больше всего интересовала скорость работы данных сервиса Яндекс.Метрика. Мы уже хранили данные в ClickHouse с января 2009 года. Часть данных записывалась в базу с 2012 года, а часть — была переконвертирована из OLAPServer и Metrage — структур данных, которые использовались в Яндекс.Метрике раньше. Поэтому для тестов мы взяли первое попавшееся подмножество из 1 миллиарда данных о просмотрах страниц. Запросов в Метрике ещё не было, и мы придумали запросы, больше всего интересные нам самим (всевозможные виды фильтрации, агрегации и сортировки).

ClickHouse тестировался в сравнении с похожими системами, например, Vertica и MonetDB. Для честности тестирования его проводил сотрудник, который до этого не был разработчиком ClickHouse, а частные случаи в коде не оптимизировались до получения результатов. Похожим образом мы получили набор данных и для функциональных тестов.

После того, как ClickHouse вышел в опенсорс в 2016 году, к тестам стало больше вопросов.

Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии11

Автоматическая проверка кода за 5 минут

Время на прочтение6 мин
Количество просмотров7K
Данная инструкция показывает как автоматизировать проверку на code style в вашем php проекте.

Давайте посмотрим как будет выглядеть настройка в новом проекте.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии1

Почему Kafka такая быстрая

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


За последние несколько лет в сфере архитектуры ПО произошли огромные изменения. Идея единственного монолитного приложения или даже нескольких крупных сервисов, разделяющих общий массив данных, практически стерта из умов и сердец инженеров-практиков во всем мире. Преобладающими инструментами в создании современных бизнес-ориентированных приложений стали автономные микросервисы, событийно-ориентированная архитектура и CQRS. Вдобавок быстрый рост количества подключаемых устройств (мобильных, IoT) многократно увеличивает объем событий, которые система должна оперативно обрабатывать.


В статье рассказываем, за счет чего Apache Kafka работает достаточно быстро для современных проектов.

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

Botsman: новая платформа для разработки Telegram-ботов

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

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

Для тех же, кому уже захотелось ознакомиться с Botsman (но не очень хочется много читать) — вот ссылка, милости прошу: https://bots.mn/. Главное, о чём стоит помнить — платформа только-только запустилась, и (пока что) не стоит переносить на неё что-то серьёзное и масштабное.

Читать далее
Всего голосов 35: ↑35 и ↓0+35
Комментарии13

60+ чатов и ютуб-каналов для PHP-разработчика, которые советуют ребята из сообщества

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


В середине лета мы начали крутить идею создания сайта со всеми PHP-активностями России, Украины и Беларуси. Зачем? Их стало так много в разных форматах, что пора бы уже агрегировать для удобства в одном месте. Сайт запилили, а еще расспросили организаторов городских комьюнити по PHP, какими ресурсами они пользуются каждый день. Собрали в подробный список, чтобы всегда был под рукой.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии4

Docker is deprecated — и как теперь быть?

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

Kubernetes объявил Docker устаревшим и планирует прекратить его использование примерно через год, в версии 1.22 или 1.23. Эта новость вызвала много вопросов и непонимания. В блоге Kubernetes появилось целых две статьи, разъясняющих смысл записи в Changelog (раз и два). Если все обобщить, то для разработчиков (те, которые Dev) ничего не меняется — они все так же могут продолжать использовать docker build для сборки своих контейнеров, а вот для инженеров, ответственных за эксплуатацию кластера (Ops), пришла пора разобраться и освоить несколько новых инструментов.

Читать дальше
Всего голосов 105: ↑98 и ↓7+91
Комментарии81

Пора обновить ваш монитор

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

Иллюстрация: Юлия Прокопова

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

Поэтому я оптимизирую настройки, чтобы показывать действительно, действительно хорошие буквы. Для этого необходим хороший монитор. Не просто нужен, а ОБЯЗАТЕЛЕН. А под «хорошим» я имею в виду настолько хороший, насколько это возможно. Это мои мысли, основанные на моём собственном опыте того, какие мониторы лучше подходят для программирования.
Читать дальше →
Всего голосов 181: ↑148 и ↓33+115
Комментарии991

OPA и SPIFFE — два новых проекта в CNCF для безопасности облачных приложений

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


В конце марта у фонда CNCF, помогающего развивать Open Source-проекты для облачных (cloud native) приложений, случилось двойное пополнение: в «песочницу» были добавлены OPA (Open Policy Agent) и SPIFFE (Secure Production Identity Framework For Everyone), которых роднит тема безопасности. Для чего же они могут пригодится?
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии0

Информация

В рейтинге
Не участвует
Откуда
Luxembourg, Luxembourg, Люксембург
Зарегистрирован
Активность