Как стать автором
Поиск
Написать публикацию
Обновить
337
0
Роман Пронский @pronskiy

PHP

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

НЕкостыль: gRPC-клиент на PHP в продакшене

Время на прочтение4 мин
Количество просмотров16K
Привет! Я хочу показать, что завести gRPC на PHP — это нормальное боевое решение, которое пишется быстро, легко разворачивается и может быть для вас проще, чем сокеты.


Читать дальше →

Space: публичный релиз командной среды от JetBrains

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

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

Мы рады представить публичную версию Space — универсального и расширяемого инструмента для командной работы, разработки ПО, общения, управления проектами и командами.

В этом посте мы расскажем о том, что включает в себя Space на этапе релиза, и поделимся планами на будущее.

Релиз публичной версии Space состоялся 9 декабря, и ниже вы можете посмотреть запись нашей презентации.

Читать далее

Нужна ли нам замена языка C?

Время на прочтение5 мин
Количество просмотров25K
Язык программирования C даже сегодня находится в списке наиболее популярных используемых языков, несмотря на то, что он был выпущен аж в 1972 году и по современным стандартам имеет довольно много ограничений и изъянов.


Популярность языков программирования в 2020 по индексу TIOBE

И это основная причина, по которой C нужно заменить. На C/C++ написано слишком много критически важного ПО, что имеет обширные последствия. Один из примеров — баги в библиотеках наподобие OpenSSL. Язык C печально известен возникновением таких проблем, как переполнения буфера. C — это язык, позволяющий выстрелить себе в ногу слишком большим количеством способов.
Читать дальше →

Датчики давления в шинах автомобиля: пробуем провести DoS-атаку

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


Датчики TPMS (Tire-pressure monitoring system, системы мониторинга давления в шинах) активно изучались множество лет назад. Они периодически передают давление в шинах, температуру и уникальный ID, которым можно злоупотреблять для слежения за транспортным средством. Однако существует и ещё один аспект: современные датчики TMPS также имеют приёмник, который обычно используется для включения передачи данных, когда в автомобиле появляется новый датчик TPMS («процедура обучения»).

У нас в Европе датчики TPMS обычно передают сигналы в диапазоне 433 МГц (предназначенном для ISM — промышленности, науки и медицины). Приёмник работает на частоте 125 кГц, очень близкой к LF RFID. Проще всего использовать приёмник, поискав наличие несущей частоты 125 кГц, а затем включив передачу данных. Современные датчики обычно более совершенны и используют модулированную несущую, содержащую пакеты команд; передача данных включается, только если получена правильная команда.

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

Миграция production сервиса из одного ЦОД в другой

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

В современных реалиях существует много стартапов, которые постепенно так или иначе сливаются с крупными компаниями. В итоге перед инженерами стоит задача перенести сервис из одного дата-центра в другой. Причем чаще всего нужно, чтобы сервисы переехали без даунтайма. Михаил Кобзев — ответственный за предоставление сервиса по модели SaaS в Rambler Group. В своем докладе на конференции «DevOps Live 2020» он подробно рассказал про типичные ошибки при миграции и поделился действенными лайфхаками.

Читать далее

PhpStorm 2020.3: PHP 8, атрибуты, PHPStan и Psalm, Xdebug 3, Tailwind CSS и совместная разработка

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


Рады представить финальный мажорный релиз PhpStorm в этом году! Под катом подробный разбор всех изменений и новых возможностей.

Освобождаем свои данные из корпоративного рабства. Концепция личного хранилища

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

Автор программы Mathematica Стивен Вольфрам около 40 лет ведёт цифровой лог многих аспектов профессиональной и личной жизни

Сейчас практически всем стала понятна сущность некоторых интернет-корпораций, которые стремятся получить от людей как можно больше личных данных — и заработать на этом. Они предлагают бесплатный хостинг, бесплатные мессенджеры, бесплатную почту — лишь бы люди отдали свои файлы, фотографии, письма, личные сообщения. Наши данные приносят огромные деньги, а люди стали продуктом. Поэтому техногиганты Google и Facebook — самые крупные корпорации в истории человечества. Это неудивительно, ведь в их распоряжении миллиарды единиц бесплатного «сырья», то есть «пользователей» (кстати, этим словом users называют людей только в двух областях: наркоиндустрии и индустрии программного обеспечения).

Настало время положить этому конец. И вернуть данные под свой контроль. В этом суть концепции личных хранилищ данных (personal data services или personal data store, PDS).
Читать дальше →
Вы идеально выполнили тестовое задание, прошли собеседование, обойдя всех конкурентов, и стали новым дата-сайентистом современного банка. Теперь придётся хорошенько поломать голову, найти закономерности там, где кажется, что их нет, а самое главное — не облажаться. Прямо как в хорошем детективе, но охотиться предстоит за данными.
Поработаем?

Современные накопители очень быстры, но плохие API это не учитывают

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


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

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

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

Вот самые распространённые примеры таких заблуждений:

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

Однако если изучить спецификации современных NVMe-устройств, то мы увидим, что даже в потребительском классе это устройства с задержками, измеряемыми в единицах микросекунд, и пропускной способностью в несколько ГБ/с, поддерживающие несколько сотен тысяч произвольных IOPS. Так в чём же нестыковка?
Читать дальше →

Когда Cron подводит

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

Привет!

У нас есть огромные ночные отчёты по продуктовым метрикам, которые с утра попадают их владельцам. Пару лет назад они собирались обычным Cron'ом, но это оказалось очень нестабильной историей. Cron требует учёта определенных нюансов и дисциплины: если отчёт не собрался, то нужно перезапустить скрипт. А не собраться он может по многим причинам: одна из MySQL-баз не ответила, или не ответил опрашиваемый сервис, или сервер, на котором работает Cron, ночью перезагружался или вышел из строя. В большинстве своём такие отчеты создавались аналитиками, которые обычно всего этого не учитывали. Потому что они аналитики и это не их задача. Поэтому мы начали искать варианты, которые упростят жизнь всем.

И нашли.

В финальном решении используется планировщик Airflow с его возможностью взаимодействия с кластером Kubernetes. Система получилась гибкая и надежная и упрощает жизнь конечным потребителям. Для разработки таких систем есть мы, техническая команда из четырёх человек, называемая Data Team, а конечные потребители – аналитики, продакт-менеджеры и техлиды.

Читать далее

Крушение Intel состоялось

Время на прочтение6 мин
Количество просмотров159K
Если посмотреть на историю Intel, то она сделала полный круг. В ХХ веке компания произвела настоящую революцию на рынке микроэлектроники. Затем большая корпорация решилась на смелые шаги, чтобы выжить в эпоху подрывных инноваций. Но теперь всё-таки попала под каток. Сейчас в 2020 году приходится лишь с сожалением смотреть, как она медленно тонет, и ничего не может с этим поделать. Поезд ушёл.

Бывший исполнительный директор Intel Энди Гроув говорил, что «Дилемма инноватора. Как из-за новых технологий погибают сильные компании» Клайтона Кристенсена стала самой важной книгой из всех, что он прочитал за десять лет. На обложке Forbes в 1999 году — автор книги Клайтон Кристенсен и Энди Гроув.

Действительно, Энди Гроув был живым примером того, как большой компании выжить в эпоху подрывных инноваций. Один из самых знаменитых примеров — когда Intel решилась на то, что компании редко осмеливаются сделать: выпустить низкоприбыльный продукт, который съедает её собственные высокоприбыльные продукты. Но Intel сделала это. Речь о выпуске процессора Celeron в 1998 году. Он реально съел «Пентиумы» и захватил 35% всего рынка процессоров. Но самое главное, что он выполнил свою задачу — отсёк потенциальных конкурентов снизу. Это был гениальный ход.
Читать дальше →

PHP-Дайджест № 193 (16 – 30 ноября 2020)

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

Парад релизов: обновление языка — PHP 8.0, а также Xdebug 3, DBAL 3.0, Bref 1.0, Symfony 5.2, Flysystem 2.0. Первый принятый RFC для PHP 8.1, долгосрочная поддержка PHPUnit, порция полезных инструментов, подкасты, стримы, статьи.

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


TV Box или Smart TV?

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

Приветствую вас, хабровчане!

Накануне выходных и в связи с наступлением серых, осенних будней – мы поговорим про увеселительные гаджеты. Речь пойдёт о том, что же лучше – TV Box или Smart TV?
Для кого-то ответ очевиден, а кто-то только подумывает – какой же выбрать TV Box себе/маме/бабушке.

В статье мы поговорим о противостоянии и популярности определённых моделей, удобстве использования и многом другом. Устраивайтесь поудобнее.
Читать дальше →

Разработка должна ориентироваться на продакшен, всё остальное — чушь

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


За мою карьеру у меня выработались определённые мнения. Некоторые из них оставили особенно глубокий след, подкреплённый годами опыта. Я попытался сформулировать, что же у них есть общего. Общее заключается в мысли о том, что единственное, что важно — это код в продакшене. Обкатка не важна, код на твоём ноутбуке не важен, QA не важен, важен только продакшен. Всё остальное — это технический долг.

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

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

Инструменты для очистки своей цифровой истории в интернете

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

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

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

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

Funkwhale: наконец-то нормальный децентрализованный музыкальный сервис

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


Grooveshark уже пять лет как закрыт. За это время появились десятки проектов поменьше с той же идеей — но на базе децентрализованных сетей. Проблема Grooveshark была в его централизации, которая позволила правообладателям завалить компанию исками, в итоге потопившими её. С тех пор любая музыкальная платформа с пользовательским контентом обязательно включает в слоганы «децентрализацию», «peer-to-peer», «криптографию» и конечно, блокчейн. У всех общие проблемы: несмотря на использование федеративных сетей и модных протоколов, всё управление стартапом сосредоточено в одном офисе. Пока платформа слишком мала чтобы её заметили, она слабо развивается. Стоит ей дорасти до более-менее крупной пользовательской базы, и через несколько месяцев она тонет под напором DMCA и судебных исков.
Читать дальше →

Почему донат — это будущее, если всё сделать правильно

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

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

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

Читать далее

Как оптимизировали экономику СССР и что из этого вышло

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

Я работаю специалистом по обработке и анализу данных (data scientist), поэтому большая часть моей работы включает в себя подбор оптимизируемых метрик и размышления о том, как выполнять процессы с максимальной эффективностью. Недавно я обнаружил совершенно удивительную книгу об экономических проблемах в СССР и о коллективе экономистов и компьютерных учёных, стремившихся решить их на основе данных. Книга называется Red Plenty. На самом деле она написана в жанре романа, что странно, однако представляет собой точную экономическую историю СССР. Автор активно заимствует информацию из книги 1973 года под названием Planning Problems in the USSR, которую я тоже приобрёл. При чтении этих книг я не мог не обратить внимания на параллели с планированием в любой современной организации. Факт, который покажется сегодня знакомым каждому data scientist: во второй книге есть цитата исследователя, жалующегося на то, что 90% своего времени он потратил на очистку данных, и только 10% — на само моделирование!

Кроме проведения интересных параллелей с современными data science и методами исследований технологических операций, эти книги помогли мне многое понять об интересных аспектах, о которых ранее я почти ничего не знал, например, о линейном программировании, ценовом равновесии и истории Советского Союза. В этом посте я расскажу о том, что узнал.
Читать дальше →

CrowdSec — современная альтернатива Fail2Ban и коллективный иммунитет для Интернета

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

CrowdSec

Инструмент Fail2Ban хорошо известен админам. Программа анализирует логи на сервере и подсчитывает количество попыток доступа с конкретных IP-адресов по указанным протоколам. В случае нарушения правила данный IP-адрес блокируется на заданный отрезок времени. Например, джейл для авторизации по SSH включён с дефолтными настройками 5 попыток авторизации за 10 минут, после чего происходит бан IP-адреса на 10 минут. Отличный способ отфильтровать мусорный трафик от разных сканеров и защита от DDoS.

Fail2Ban и SSHGuard — лучшие инструменты в своей области. Однако новый опенсорсный проект CrowdSec представляется интересной альтернативой. Это локальная замена Fail2Ban, а потенциально нечто большее — глобальная база репутации IP-адресов типа иммунной системы интернета.
Читать дальше →

VINTEO Server — корпоративная видеоконференцсвязь высшего класса. Установка, настройка, полное описание

Время на прочтение57 мин
Количество просмотров30K
В прошлой статье, Обучение, переговоры, консультации удалённо — Часть 2: Vinteo Server — 3 месяца бесплатной видеоконференцсвязи, я немного описал особенности и функционал уникального российского решения ВКС Vinteo Server.
Эта статья является подробным руководством по установке и настройке сервера Vinteo на Вашей аппаратной платформе. Если Ваша компания в период принудительной удалёнки отчаялась в выборе оптимального корпоративного сервиса видеоконференцсвязи, то самое время протестировать российское решение ВКС премиального уровня Vinteo.

К тому же, продолжается акция «3 месяца бесплатной видеоконференцсвязи», описанная в прошлой статье.

Сервер Vinteo – это программное ядро системы видеоконференцсвязи и коммуникаций. Решение поддерживает все открытые стандарты связи, включая H.323, SIP и WebRTC, и обеспечивает протокольную и функциональную совместимость с доступным на рынке оборудованием ВКС от ведущих вендоров в данной области. Vinteo позволяет не только организовать сеть конференцсвязи с нуля, но также расширить возможности уже имеющейся в инфраструктуре системы ВКС любого вендора.

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

Информация

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