Как стать автором
Обновить
60
0
Богдан Рыхаль @ganjar

Web программист

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

Пробуем preload (PHP 7.4) и RoadRunner

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


Привет, Хабр! 

Мы часто пишем и говорим о производительности PHP: как мы ей занимаемся в целом, как мы сэкономили 1 млн долларов при переходе на PHP 7.0, а также переводим разные материалы на эту тему. Это вызвано тем, что аудитория наших продуктов растёт, а масштабирование PHP-бэкенда при помощи железа сопряжено со значительными затратами — у нас 600 серверов с PHP-FPM. Поэтому инвестирование времени в оптимизацию для нас выгодно.

Прежде мы говорили в основном об обычных и уже устоявшихся способах работы с производительностью. Но сообщество PHP не дремлет! В PHP 8 появится JIT, в PHP 7.4 — preload, а за пределами core-разработки PHP развиваются фреймворки, подразумевающие работу PHP как демона. Пора поэкспериментировать с чем-то новым и посмотреть, что это может нам дать.

Так как до релиза PHP 8 ещё далеко, а асинхронные фреймворки плохо подходят для наших задач (почему — расскажу ниже), сегодня остановимся на preload, который появится в PHP 7.4, и фреймворке для демонизации PHP — RoadRunner.

Это текстовая версия моего доклада с Badoo PHP Meetup #3. Видео всех выступлений мы собрали в этом посте.
Читать дальше →
Всего голосов 114: ↑111 и ↓3+108
Комментарии52

Расти, Team Leader, большой и маленький

Время на прочтение9 мин
Количество просмотров5.6K
Настало то замечательное время, когда компания, где вы работаете, начала расти, и команда стала настолько большой и неповоротливой, что потеряла гибкость. Старые подходы постепенно перестают работать, и вы понимаете, что пора что-то менять. Первым приходит логичное решение: давайте разделим людей на команды, во главе поставим Team Leader (TL) и заживем счастливо и весело, как раньше. Так давайте разберемся, где найти такого зверя, как TL. И, конечно, не забываем, что времени у нас нет, так как компания требует роста и развития бизнеса.

image
Читать дальше →
Всего голосов 21: ↑11 и ↓10+1
Комментарии5

Разбор задачи с собеседования Google: поиск соотношения

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


Добро пожаловать в очередную из серии статей с разбором задачек, которые я задавал на собеседованиях в Google, прежде чем их запретили после утечки. С тех пор я оставил работу инженера-программиста в Google и перешёл на должность менеджера по разработке в Reddit, но у меня всё ещё осталось несколько замечательных тем. К настоящему моменту мы разобрали динамическое программирование, возведение матриц в степень и синонимичность запросов. На этот раз совершенно новый вопрос.
Читать дальше →
Всего голосов 47: ↑41 и ↓6+35
Комментарии73

Очень много YouTube-каналов для прокачки английского языка для программистов

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

С помощью YouTube можно ощутимо и сравнительно быстро улучшить английский.
Понимание на слух как минимум. Истина не нова, но мало кто смотрит английский YouTube, потому что легко потеряться в бесконечности каналов. Но для вас я собрал самые стоящие каналы!

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

Поучить английский


AJ Hoge. На его канале есть всё: от базовых слов до размышлений о важности языка тела в общении. Чувак пилит видосы уже много лет, материальчик накопился.

EngVid. Если бы можно было выбрать что-то одно для улучшения английского, то это оно. Разные преподы и тематики, постоянное обновление, бездонный ресурс. Ещё сайт одноимённый крутой, с удобной навигацией — можно найти очень узкую тему по интересам.
Читать дальше →
Всего голосов 59: ↑52 и ↓7+45
Комментарии19

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

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

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

Приступим!

Учить лексику


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

ЛеоПереводчик

С этим плагином удобно переписываться с коллегами. Он автоматически переводит непонятные слова и выражения. Незаменимый инструмент, когда нет времени на доскональные переводы и нужен срочный ответ.
Читать дальше →
Всего голосов 45: ↑39 и ↓6+33
Комментарии13

Sampler. Консольная утилита для визуализации результата любых shell команд

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

В общем случае с помощью shell команды можно получить любую метрику, без написания кода и интеграций. А значит в консоли должен быть простой и удобный инструмент для визуализации.


Sampler


Наблюдение за изменением состояния в базе данных, мониторинг размера очередей, телеметрия с удаленных серверов, запуск деплой скриптов и получение нотификации по завершению — конфигурируется за минуту простым YAML файлом.


Код доступен на гитхабе. Инструкции по установке — для Linux, macOS и (экспериментально) Windows.

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

Манипуляция сознанием. Почему так просто?

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


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

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

Здесь приведено 14 распространенных манипуляций. Анализируя свою жизнь, я могу сказать, что ощущал в разное время воздействия каждой из них, а некоторые методы «промывки мозгов» по отношению ко мне были по-настоящему эффективны. Думаю, это всем хорошо знакомые атаки. Я упорядочил их в некий список и попытался описать механизмы и причины, почему они, несмотря на тривиальность, являются довольно эффективными.

Я не рассматриваю элементарные воздействия такие, как подкуп, шантаж и запугивание. В этой статье меня интересуют лишь атаки, заставляющие нас жить в иллюзии.

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

Это не статья по психологии и не статья по философии, хотя бы потому, что в этой статье не будет приведено ни одной ссылки.
Читать дальше →
Всего голосов 114: ↑96 и ↓18+78
Комментарии485

Решение задания с pwnable.kr 05 — passcode. Перезапись таблицы связей процедур через уязвимость форматной строки

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

В данной статье разберем: что такое глобальная таблица смещений, таблицей связей процедур и ее перезапись через уязвимость форматной строки. Также решим 5-е задание с сайта pwnable.kr.

Организационная информация
Специально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:

  • PWN;
  • криптография (Crypto);
  • cетевые технологии (Network);
  • реверс (Reverse Engineering);
  • стеганография (Stegano);
  • поиск и эксплуатация WEB-уязвимостей.

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

Такие удивительные семафоры

Время на прочтение9 мин
Количество просмотров139K
От переводчика: Джефф Прешинг (Jeff Preshing) — канадский разработчик программного обеспечения, последние 12 лет работающий в Ubisoft Montreal. Он приложил руку к созданию таких известных франшиз как Rainbow Six, Child of Light и Assassin’s Creed. У себя в блоге он часто пишет об интересных аспектах параллельного программирования, особенно применительно к Game Dev. Сегодня я бы хотел представить на суд общественности перевод одной из статей Джеффа.

Поток должен ждать. Ждать до тех пор, пока не удастся получить эксклюзивный доступ к ресурсу или пока не появятся задачи для исполнения. Один из механизмов ожидания, при котором поток не ставится на исполнение планировщиком ядра ОС, реализуется при помощи семафора.

Раньше я думал, что семафоры давно устарели. В 1960‑х, когда еще мало кто писал многопоточные программы, или любые другие программы, Эдсгер Дейкстра предложил идею нового механизма синхронизации — семафор. Я знал, что при помощи семафоров можно вести учет числа доступных ресурсов или создать неуклюжий аналог мьютекса, но этим, как я считал, область их применения ограничивается.
Читать дальше →
Всего голосов 38: ↑37 и ↓1+36
Комментарии1

PHP в 2019: лучше, чем вы о нём думаете

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


Помните некогда популярную публикацию: «PHP: фрактал плохого дизайна»? Я, когда впервые её прочитал, работал в дурацком месте с большим количеством устаревших PHP-проектов. Она заставила меня задуматься: должен ли я уйти и заняться чем-то совершенно другим, нежели программирование.

К счастью для меня, вскоре я смог сменить место работы, и, что более важно, PHP сумел «немного» развиться со времён 5.* версий. А сегодня посредством этой статьи я хочу обратиться к людям, которые либо больше не программируют на PHP, либо застряли в устаревших проектах.
Читать дальше →
Всего голосов 95: ↑86 и ↓9+77
Комментарии99

Шпаргалки по безопасности: Docker

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


Docker контейнеры — самая популярная технология для контейнеризации. Изначально она использовалась в основном для dev и test окружений, со временем перешла и в production. Docker контейнеры начали плодиться в production среде, как грибы после дождя, однако мало из тех, кто использует данную технологию, задумывался о том, как же безопасно публиковать Docker контейнеры.

Основываясь на OWASP, мы подготовили список правил, выполнение которых позволит значительно обезопасить ваше окружение, построенное на Docker контейнерах.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии5

[Перед понедельником] Синдром сухого глаза

Время на прочтение2 мин
Количество просмотров36K
В 1933 году шведский офтальмолог H. Sjogren впервые описал синдром «сухого глаза» при одноименном синдроме Шегрена (аутоиммунное заболевание, при которой снижается секреция слюнных, слезных и др. желез). Это так называемый первичный синдром «сухого глаза», который наблюдается у 1% населения. Развитие современных технологий позволило в 1995 году выделить вторичный синдром «сухого глаза» которым, по разным данным, страдает до 20% населения, и до 48% офисных работников.

Что же это за болезнь?


Когда мы моргаем, мы не только смачиваем роговицу глаза слезой, но и оставляем на ней «слезную пленку». В норме она сохраняется на глазу от 10 до 45 секунд, потом лопается. Мы моргаем снова и процесс повторяется.



Каждый слой слезной пленки очень важен: липидный препятствует испарению и удерживает ее на роговице, водный — увлажняет, питает роговицу, обеспечивает иммунную защиту, муциновый слой — уменьшает поверхностное натяжение слезы. Нарушение выработки одного из компонентов слезной пленки влияет на ее качество. Она начинает быстрее лопаться, появляется чувство дискомфорта и симптомы «сухого глаза».
Читать дальше →
Всего голосов 57: ↑55 и ↓2+53
Комментарии57

Эксплуатация подписанных загрузчиков для обхода защиты UEFI Secure Boot

Время на прочтение7 мин
Количество просмотров43K
English version of this article.

Введение

Прошивки современных материнских плат компьютера работают по спецификации UEFI, и с 2013 года поддерживают технологию проверки подлинности загружаемых программ и драйверов Secure Boot, призванную защитить компьютер от буткитов. Secure Boot блокирует выполнение неподписанного или недоверенного программного кода: .efi-файлов программ и загрузчиков операционных систем, прошивок дополнительного оборудования (OPROM видеокарт, сетевых адаптеров).
Secure Boot можно отключить на любой магазинной материнской плате, но обязательное требование для изменения его настроек — физическое присутствие за компьютером. Необходимо зайти в настройки UEFI при загрузке компьютера, и только тогда получится отключить технологию или изменить её настройки.

Большинство материнских плат поставляется только с ключами Microsoft в качестве доверенных, из-за чего создатели загрузочного ПО вынуждены обращаться в Microsoft за подписью загрузчиков, проходить процедуру аудита, и обосновывать необходимость глобальной подписи их файла, если они хотят, чтобы диск или флешка запускались без необходимости отключения Secure Boot или добавления их ключа вручную на каждом компьютере.
Подписывать загрузчики у Microsoft приходится разработчикам дистрибутивов Linux, гипервизоров, загрузочных дисков антивирусов и программ для восстановления компьютера.

Мне хотелось сделать загрузочную флешку с различным ПО для восстановления компьютера, которая бы грузилась без отключения Secure Boot. Посмотрим, как это можно реализовать.
Читать дальше →
Всего голосов 67: ↑65 и ↓2+63
Комментарии94

Пентест приложений с GraphQL

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


В последнее время GraphQL набирает всё большую популярность, а вместе с ней растёт и интерес со стороны специалистов информационной безопасности. Технологию используют такие компании, как: Facebook, Twitter, PayPal, Github и другие, а это значит, что пора разобраться, как тестировать такое API. В этой статье мы расскажем о принципах этого языка запросов и направлениях тестирования на проникновение приложений с GraphQL.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии11

Ловушка (тарпит) для входящих SSH-соединений

Время на прочтение4 мин
Количество просмотров38K
Не секрет, что интернет — очень враждебная среда. Как только вы поднимаете сервер, он мгновенно подвергается массированным атакам и множественным сканированиям. На примере ханипота от безопасников можно оценить масштаб этого мусорного трафика. Фактически, на среднем сервере 99% трафика может быть вредоносным.

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

Чаще всего тарпиты применяют для защиты. Технику впервые разработали для защиты от компьютерных червей. А сейчас её можно использовать, чтобы испортить жизнь спамерам и исследователям, которые занимаются широким сканированием всех IP-адресов подряд (примеры на Хабре: Австрия, Украина).
Читать дальше →
Всего голосов 86: ↑84 и ↓2+82
Комментарии66

Радиация: источники

Время на прочтение17 мин
Количество просмотров46K
В предыдущем посте я рассказал о единицах измерения ионизирующей радиации. А теперь поговорим об источниках излучения.

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


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

iRobot Scooba: опыт использования и решение часто встречающихся проблем моющего робота-пылесоса

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

iRobot Scooba (модели 5800, 380 и аналоги выглядят практически идентично)

Когда я впервые услышал о роботе-пылесосе, мне сразу же захотелось такой приобрести, чтобы опробовать в “полевых условиях”. Прочитал я о них где-то в 2010, и через некоторое время мне удалось исполнить свою маленькую мечту. Тогда я случайным образом познакомился с менеджером компании-дистрибьютора продукции iRobot, и мне предложили с хорошей скидкой забрать стендовый Scooba 5800.

Недолго думая, я согласился, привез новинку домой, опробовал и … робот полностью оправдал мои ожидания. Он мыл полы просто идеально, во всяком случае, гораздо лучше, чем это делаю я, даже когда очень стараюсь. Под катом — еще немного воспоминаний, опыт работы с роботом и решение нескольких распространенных среди всех Scooba «железных» проблемы, которые приводят к неработоспособности устройства.
Всего голосов 32: ↑32 и ↓0+32
Комментарии28

Я провел сто собеседований, отказал сотне людей — и только потом научился собеседовать

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

Не желал бы я вам попасть ко мне на собеседование года два назад. Я провел их около сотни, и за все время взял может человек четырех. Не знаю почему, но эйчары считали, что это круто. Слава строгого интервьюера шла впереди меня. Знакомые звали меня собеседовать для чужих команд, и даже для чужих компаний, о которых вы слышите каждый день. И везде — не проходил никто.
Читать дальше →
Всего голосов 253: ↑228 и ↓25+203
Комментарии431

Про одного парня

Время на прочтение14 мин
Количество просмотров192K
История реальная, я все видел своими глазами.

Несколько лет один парень, как и многие из вас, работал программистом. На всякий случай напишу так: «программистом». Потому что он был 1Сником, на фиксе, производственной компании.

До этого он пробовал разные специальности – 4 года во франче программистом, руководителем проектов, умел закрывать по 200 часов, одновременно получая процент с проекта, за руководство и немного занимаясь продажами. Пробовал самостоятельно разрабатывать продукты, был начальником IT-отдела в большой компании, численностью 6 тысяч человек, примерял разные варианты применения своей кавычечной профессии – программиста 1С.

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

Этому парню стало интересно, как можно зарабатывать больше денег, не занимаясь продажами и не создавая свой собственный бизнес.
Читать дальше →
Всего голосов 272: ↑239 и ↓33+206
Комментарии247

Персональный городской телепортатор

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


Весной 2018 года я купил легкий электросамокат, за лето проехал 2500 км и на личном опыте ощутил преимущества. Благодаря самокату, я не спускался в метро и не стоял в пробках в душных автобусах — заменив их на ветер в лицо, крики чаек и панорамы петербургских набережных. На проезде (включая такси) за четыре месяца я сэкономил 20.000р — половину месячного дохода.

Теперь электросамокатом мало кого удивишь. Но если люди непосвященные видят это «как факт» — изнутри электро-сообщества было видно, как этот процесс последние два года развивался по экспоненте.

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

Транспорт будущего уже здесь, только вы этого еще не поняли.
Читать дальше →
Всего голосов 66: ↑63 и ↓3+60
Комментарии896

Информация

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