Как стать автором
Обновить
0
Sergei @sshilkoread⁠-⁠only

Backend Developer

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

Aсинхронный PHP

Время на прочтение14 мин
Количество просмотров51K
Десять лет назад у нас был классический LAMP-стек: Linux, Apache, MySQL, и PHP, который работал в медленном режиме mod_php. Мир менялся, а с ним и важность скорости. Появился PHP-FPM, который позволил значительно увеличить производительность решений на PHP, а не срочно переписывать на чем-то побыстрее.

Параллельно велась разработка библиотеки ReactPHP с применением концепции Event Loop для обработки сигналов от ОС и представления результатов для асинхронных операций. Развитие идеи ReactPHP — AMPHP. Эта библиотека использует тот же Event Loop, но поддерживает корутины, в отличие от ReactPHP. Они позволяют писать асинхронный код, который выглядит как синхронный. Возможно, это самый актуальный фреймворк для разработки асинхронных приложений на PHP.



Но скорости требуется всё больше и больше, инструментов уже не хватает, поэтому идея асинхронного программирования в PHP — одна из возможностей ускорить обработку запросов и лучше утилизировать ресурсы.

Об этом и поговорит Антон Шабовта (zloyusr) — разработчик в компании Onliner. Опыт больше 10 лет: начинал с десктопных приложений на С/С++, а потом перешел в веб-разработку на PHP. «Домашние» проекты пишет на C# и Python 3, а в PHP экспериментирует с DDD, CQRS, Event Sourcing, Async Multitasking.
Всего голосов 60: ↑60 и ↓0+60
Комментарии104

Железо или оптимизация? Badoo, Авито и Мамба — о производительности PHP

Время на прочтение18 мин
Количество просмотров14K
Вопрос производительности PHP-кода для Badoo один из самых важных. От качества PHP-бэкенда напрямую зависят количество ресурсов, которые мы тратим на разработку и эксплуатацию, скорость работы сервиса и впечатление, которое он производит на пользователей.

Поэтому темой третьей встречи сообщества PHP-разработчиков в нашем офисе мы сделали производительность бэкенда и пригласили к обсуждению коллег из Авито и «Мамбы».



Читайте под катом расшифровку дискуссии, в которой мне повезло быть модератором: как устроена инфраструктура трёх компаний, как мы измеряем производительность и на какие метрики ориентируемся, какие инструменты используем, как делаем выбор между железом и оптимизацией.

А 15 февраля приходите на следующий Badoo PHP Meetup: обсудим легаси.
Всего голосов 40: ↑40 и ↓0+40
Комментарии20

Коронавирусы: от SARS к 2019-nCoV

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

Disclaimer: Я высказываю свое субъективное мнение на базе доступных данных. Мнение профессиональных вирусологов и эпидемиологов может отличаться от моего. В любой непонятной ситуации обращайтесь к материалам ВОЗ.

Привет, коллеги. Чем больше роюсь в данных по вспышке коронавируса 2019-nCoV, тем меньше мне нравится происходящее, с учетом предыдущих вспышек аналогичных вирусов. Предлагаю пробежаться по истории прошлых эпидемий и попробовать спрогнозировать дальнейшее течение.
Всего голосов 213: ↑205 и ↓8+265
Комментарии1974

Процессорные войны. История синего зайца и красной черепахи

Время на прочтение46 мин
Количество просмотров61K
Современная история противостояния Intel и AMD на процессорном рынке ведёт свой отсчет еще со второй половины 90-х. Эпоха грандиозных преобразований и выхода в мэйнстрим, когда Intel Pentium позиционировался как универсальное решение, а Intel Inside стал чуть ли не самым узнаваемым слоганом в мире, ознаменовалась яркими страницами в истории не только синих, но и красных – начиная с поколения K6, AMD неустанно соперничали с Intel во многих сегментах рынка. Однако именно события чуть более позднего этапа – первой половины нулевых – и сыграли важнейшую роль в появлении легендарной архитектуры Core, до сих пор лежащей в основе процессорной линейки Intel.

Немного истории, истоков и революции


Начало 2000-х годов во многом связывают с несколькими этапами в развитии процессоров – это и гонка за заветной частотой 1 ГГц, и появление первого двухъядерного процессора, и ожесточение борьбы за первенство в массовом десктопном сегменте. После безнадежного устаревания Pentium, и выхода на рынок Athlon 64 X2 Intel представила процессоры поколения Core, ставшие в итоге поворотной точкой в развитии индустрии.

image

Первые процессоры Core 2 Duo были анонсированы в конце июля 2006 года – более чем через год после выхода Athlon 64 X2. В работе над новым поколением Intel руководствовалась в первую очередь вопросами архитектурной оптимизации, добившись высочайших показателей энергоэффективности уже в первых поколениях моделей на базе архитектуры Core под кодовым названием Conroe – они превосходили Pentium 4 в полтора раза, и при заявленном теплопакете в 65 Вт стали, пожалуй, самыми энергоэффективными процессорами на рынке на тот момент. Выступая в роли догоняющей (что бывало нечасто), Intel реализовала в новом поколении поддержку 64-битных операций с архитектурой EM64T, новый набор инструкций SSSE3, а также обширный пакет технологий виртуализации на базе х86.

image
Кристалл микропроцессора Core 2 Duo

Читать дальше →
Всего голосов 85: ↑84 и ↓1+107
Комментарии111

«50 оттенков коричневого» или «Как мы до этого докатились»

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

Дисклеймер: данный материал содержит только субъективное мнение автора, наполненное стереотипами и вымыслами. Факты в материале отображены в виде метафор, метафоры могут быть искажены, гипертрофированы, приукрашены или же и вовсе выдуманы


image


ASM


До сих пор идут споры о том, кто же положил начало всему этому. Да-да, я говорю о том как люди перешли от обычного общения с людьми на человеческих языках, к общению… с животными :)

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

Программист-фанатик. Как сохранить конкурентные преимущества и стать заметным?

Время на прочтение5 мин
Количество просмотров13K
Нужно ли продвигать себя? Почему и как это лучше грамотно сделать? Как лучше планировать карьеру? Как сделать, чтобы понимали на работе? Об этом и многом другом в конспекте этой книги.

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

Психологическая муть про Новый год

Время на прочтение24 мин
Количество просмотров20K
Совсем немного осталось времени до главного праздника страны. И всем нам обязательно нужно отпраздновать его как следует, обеспечить, чтобы всё было как у людей.


Металлическая(?) белая(?!) крыса(?) желает счастья всем хабраюзерам в Новом Году. Перешлите картинку десяти друзяшкам, не прерывайте цепочку! Источник: [1]

Поисковая выдача «Гугла» пестрит полезными советами «экспертов», готовых научить нас, неразумную аудиторию правильным моделям поведения в этот радостный день:
Как встречать Новый 2020, чтобы не обидеть покровительницу Белую Крысу? Конечно же, придать торжественный вид интерьеру, приготовить подарки для близких, устроить большой праздник. В меню должны быть самые вкусные, сытные блюда. Чего уж точно не терпит хозяйка Нового года – это голод. Значит, на столе должны быть разнообразные продукты, напитки, фрукты с овощами. Нужно от души накормить животное мясом разных сортов, рыбой, выпечкой, курицей, орехами, шоколадом, коктейлями и компотами. Она попробует все и, наверняка, останется довольна такому щедрому угощенью.[1]

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

Глубокое погружение в инвестиции Илона Маска

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

Мы много слышим об Илоне Маске как великом СЕО своего времени. Но мало кто знает, что Илон — инвестор, причём, жесткий и рациональный. Анализу этой его стороны и посвящена данная статья.


Примечания: (1) статье чуль меньше полутора лет (и потому, например, нет анализа StarLink), но весьма примечательная подходом, (2) в оригинале статья большущая и местами нудная, поэтому я привожу около 80% наиболее читабельного контента.

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

Golang: на что рассчитывать специалисту по Go в море IT-специальностей?

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

В апреле на Хабре публиковалась статья «Зачем вам учить Go», в которой подробно освещались возможности языка и его преимущества.
 
Ну а сейчас — самое время поговорить о разработчиках Golang, пороге входа в эту отрасль и о том, чего может ожидать Go-разработчик от работодателей как в плане условий работы, так и размера заработной платы. Разобраться во всем этом «Моему кругу» поможет преподаватель курса Golang в GeekBrains Сергей Кручинин, за что ему огромное спасибо.
Читать дальше →
Всего голосов 20: ↑14 и ↓6+16
Комментарии14

В каких странах и городах разработчики зарабатывают больше, если учесть налоги и стоимость жизни?

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


Если сравнить зарплату разработчика программного обеспечения квалификации middle в Москве, Лос-Анджелесе и Сан-Франциско, взяв данные по зарплатам, которые оставляют сами разработчики на специализированных сервисах по мониторингу зарплат, то увидим: 

  • В Москве зарплата такого разработчика на конец 2019 года составляет 130 000 руб. в месяц (по данным сервиса зарплат на moikrug.ru)
  • В Сан-Франциско — 9 404 долларов США в месяц, что примерно равно 564 000 руб. в месяц (по данным сервиса зарплат на glassdoor.com).

На первый взгляд, разработчик в Сан-Франциско получает более чем в 4 раза большую зарплату. Чаще всего на этом сравнение заканчивают, делают печальный вывод о колоссальном разрыве в уровне зарплат и вспоминают поросёнка Петра.
Читать дальше →
Всего голосов 147: ↑74 и ↓73+45
Комментарии848

Шесть рецептов для начинающего тимлида: как всё успевать и развивать команду

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


Привет! Меня зовут Дмитрий Ли, я тимлид одной из команд разработки бэкенда в Badoo.

Когда я впервые стал тимлидом, я стал активно посещать конференции и читать умные книги об управлении командой. Однако в моей работе после этого менялось немногое. Я читал о том, каким я должен быть, в чём должен развиваться, но мне было неясно, что конкретно для этого нужно делать.

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

Рецепты, которыми я хочу поделиться, в большей степени пригодятся начинающим тимлидам: я записал их как своеобразное наставление себе самому несколько лет назад. Эта статья написана по мотивам моего доклада на TeamLeads Conf.
Всего голосов 68: ↑62 и ↓6+76
Комментарии16

Как создать RESTful API на Symfony 5 + API Platform для проекта на MODX

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


Из этого урока Вы узнаете как можно быстро создать RESTful API для любого сайта на любой CMS, MODX — это только пример.


Для создания API я буду использовать:


Читать дальше →
Всего голосов 6: ↑4 и ↓2+6
Комментарии12

Школа магии PHP

Время на прочтение18 мин
Количество просмотров27K
Что такое магия в PHP? Обычно под этим подразумевают методы вроде _construct() или __get(). Магические методы в PHP — это лазейки, которые помогают разработчикам выполнять удивительные вещи. В сети полно инструкций по их использованию, с которыми вы наверняка знакомы. Но что если мы скажем, что вы даже не видели настоящую магию? Ведь, чем больше вам кажется, что вы знаете все, тем больше магии ускользает от вас.



Давайте отбросим установленные рамки правил ООП и сделаем невозможное возможным в школе магии PHP. Главный и первый волшебный преподаватель школы — Александр Лисаченко (NightTiger). Он научит магическому мышлению и, возможно, вы полюбите магические методы, нестандартные способы доступа к свойствам, изменение контекстов, аспектно-ориентированное программирование и потоковые фильтры.

Всего голосов 47: ↑43 и ↓4+54
Комментарии14

Го в Go! Как команда PHP взялась писать микросервисы

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

Всем привет! Меня зовут Алексей Скоробогатый, я системный архитектор в Lamoda. В феврале 2019 года я выступал на Go Meetup еще на позиции тимлида команды Core. Сегодня хочу представить расшифровку своего доклада, который вы также можете посмотреть.


Наша команда называется Core неспроста: в зону ответственности входит все, что связано с заказами в e-commerce платформе. Команда образовалась из PHP-разработчиков и специалистов по нашему order processing, который на тот момент представлял собой единый монолит. Мы занимались и продолжаем заниматься декомпозицией его на микросервисы.


image

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

А вы уверены, что пользуетесь микросервисами?

Время на прочтение7 мин
Количество просмотров9.6K
Привет, Хабр!

Практика показывает, что при сохраняющейся актуальности микросервисной парадигмы нет недостатка в ее трактовках, критике и даже развенчании. Поэтому, возвращаясь к нашим переводным публикациям, мы решили поговорить именно о микросервисах, вернее, рассмотреть развернутый ответ на вопрос, вынесенный в заголовок статьи.
Читать дальше →
Всего голосов 17: ↑13 и ↓4+14
Комментарии5

История видеопроцессоров, часть 2: 3Dfx Voodoo

Время на прочтение22 мин
Количество просмотров24K
Часть 1: 1976 — 1995 годы

3Dfx Voodoo: смена правил игры


Выпущенная в ноябре 1996 года графическая карта 3Dfx состояла из платы только для 3D, которой требовался VGA-переходник к отдельной 2D-карте, подключаемой к дисплею.

Карты продавались множеством компаний. Orchid Technologies первой вышла на рынок с Orchid Righteous 3D стоимостью 299 долларов. Эта плата примечательна тем, что имела механические реле, которые «щёлкали», когда чипсет был в работе. В последующих версиях, как и в устройствах других поставщиков, уже применялись твердотельные реле. За этой картой последовали Diamond Multimedia Monster 3D, Colormaster Voodoo Mania, Canopus Pure3D, Quantum3D, Miro Hiscore, Skywell (Magic3D) и 2theMAX Fantasy FX Power 3D.

Voodoo Graphics почти за один день совершила революцию в графике для персональных компьютеров, превратив в устаревшие множество других устройств, в том числе широкий диапазон карт, предназначенных только для 2D. Рынок 3D в 1996 году благоволил S3, завоевавшей почти 50-процентную долю. Но вскоре всё должно было измениться. Подсчитано, что на пике популярности Voodoo компания 3Dfx захватила 80-85% рынка 3D-ускорителей.


Diamond Multimedia Monster 3D (3dfx Voodoo1 4MB PCI)
Всего голосов 39: ↑39 и ↓0+39
Комментарии21

Простые числа — насколько велико наше бессилие?

Время на прочтение9 мин
Количество просмотров44K
Представьте, что вас окружает бесконечно высокая стена, а о том, что находится за стеной абсолютно ничего неизвестно. Теперь представьте, что олицетворением данной стены является вот это уравнение:

image

Эту метафору будет проще понять, если провести аналогию с черной дырой: мы не знаем, что находится под ее горизонтом событий, и чтобы это узнать нам нужно придумать способ, как туда добраться. Нечто подобное существует в мире математики. Данное уравнение — это настоящая «формула» простого числа, но чтобы ею пользоваться, нам нужно придумать, как искать подходящие {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, w, v, x, y, z}.

Черная дыра и данное уравнение — это предельные состояния чего-то реального и абстрактного. И, если о первом существует достаточно догадок и представлений, то о втором, практически ничего не известно. Но, что если это действительно «математическая» черная дыра? Разве вам не интересно что может произойти, если мы попадем под горизонт?
Под горизонт.
Всего голосов 154: ↑154 и ↓0+154
Комментарии82

PHP-Дайджест № 168 (5 – 25 ноября 2019)

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

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4 RC6, Symfony 5.0 и 4.4, WordPress 5.3 и другие релизы, об обновлении PSR-стандартов, RFC предложения из PHP Internals, порция полезных инструментов, митапы, видеозаписи, подкасты и многое другое.

Приятного чтения!


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

Как сделать ваш HTML отзывчивым, добавив одну строку кода на CSS

Время на прочтение4 мин
Количество просмотров64K
Привет, Хабр! представляю вашему вниманию перевод статьи «How to make your HTML responsive by adding a single line of CSS» автора Per Harald Borgen.



В этой статье я научу вас, как использовать CSS Grid для создания крутой сетки изображений, которая изменяет количество столбцов в зависимости от ширины экрана или окна браузера.

Самое крутое, что для добавления отзывчивости потребуется написать одну строчку кода на CSS
Читать дальше →
Всего голосов 79: ↑69 и ↓10+59
Комментарии38

10 лет на удаленке и что из этого вышло

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

Содержание


1. Первая работа
2. Первый экономический кризис и первая удаленка
3. Год за два
4. Покоряем Москву, не выходя из дома в провинции
5. Второй (валютный) экономический кризис
6. А в это время в России
7. А что сейчас?
8. Выводы/Плюсы/Минусы
9. ЧаВО
Читать дальше →
Всего голосов 131: ↑120 и ↓11+109
Комментарии90

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность