
PHP
А всё не так банально! Опыт использования дрона и к чему это привело

Приветствую, хабровчане!
Это повествование будет продолжением моей статьи, которую я писал ещё в ноябре 2020 года.
Тогда, купив дрон, я делился своими свежими впечатлениями и первыми шагами.
Сейчас же, прошёл почти год, и у меня накопилось много полезных знаний и умений. Очень хочу с вами поделиться. Тем, кто в теме – будет интересно!
Трюки в консоли. Крутые однострочники

Много говорилось об удовольствии, которое испытываешь при работе в консоли. Это не случайно: так задумано отцами-основателями Unix. Возникает странное ощущение, что это самый правильный способ взаимодействия с компьютером.
Более того, такое же приятное ощущение возникает при использовании горячих клавиш в любых приложениях, даже с графическим интерфейсом.
В чём же дело?
Хабру 15 лет. Экскурсия по коллегам
А сегодня Хабру исполняется аж 15 лет! Много это или мало? У всех разные линейки, но если усреднить, то большинство людей за такой отрезок времени успевают довольно много всего. Например, закончить школу или получить одно-два-три высших. Параллельно этому — прочитать сотни книг, освоить на высоком уровне любую технологию, сменить несколько автомобилей, завести семью, поставить на ноги детей, выплатить ипотеку. Что-то из перечисленного было и у меня — некоторое уже даже подзабыл. Зато отчётливо помню, как 10 лет назад я «зашёл в гости»… а дальше всё как в тумане.

Вот уже больше года мы работаем удалённо. В целом привык и даже нравится, но как только закрываю глаза, сразу флешбеки (нет) — наш уютный офис и любимые коллеги. В честь юбилея решил мысленно «пройтись по офису» и попросил коллег сказать пару слов по этому поводу.
Мутационное тестирование: как поможет и чем лучше воспользоваться

Насколько вы уверены в своих тестах? Покрывают ли они все ветки выполнения ваших функций? Можем ли мы доверять Code Coverage? Ответы на эти вопросы дает мутационное тестирование. Для того чтобы пролить свет на самые темные его уголки, мы поговорили с PHP девелопером Itransition Максом Рафалко.
Макс — разработчик фреймворка для мутационного тестирования в PHP, который называется Infection. А на конференции PHP Russia 2021 он будет выступать с докладом, который познакомит слушателей с методологией мутационного тестирования.
Всё, что мы хотели знать о коронавирусе, и не побоялись спросить

Перед выходом в офлайн команда Онтико устроила онлайн-квартирник и поговорила о коронавирусе с врачом Университетской клиники Хельсинки Ильёй Кирилкиным. Обсудили мифы вокруг коронавируса, узнали, какие меры защиты эффективны, а какие нет и когда можно ждать окончания пандемии. Илья не только поделился ссылками на статистику и исследования, но простым языком рассказал, о том, что творит коронавирус в организме человека, как действуют вакцины и лекарства от коронавируса.
Илья не связан напрямую с исследованиями вокруг коронавируса, но тема эта интересна ему с точки зрения пересечения фармакобизнеса, фундаментальной науки и организации медицины. Разнообразный опыт позволяет Илье посмотреть с разных точек зрения на историю самой крупной эпидемии за последнее столетие. 9 лет после окончания медфака ПетрГУ Илья посвятил научным исследованиям в области нейробиологии в лаборатории Хельсинкского университета и в компании, которая делает исследования для крупной фармы. С 2014 года Илья работает в Университетской клинике Хельсинки, где начинал как врач общей практики, а сейчас специализируется на судебной психиатрии.
Беседа получилась интересной: Илья сумел объяснить самые сложные вещи простым языком, через понятные образы.
Программное обеспечение для ракет и космических кораблей SpaceX

С самого своего начала полёты в космос зависели от компьютеров, как на земле, так и в самом космическом аппарате; SpaceX поднял этот принцип на новый уровень. Недавно мы поговорили с руководителем разработки ПО Dragon Стивеном Гердингом о сложных особенностях разработки программного обеспечения для различных миссий SpaceX.
23 апреля SpaceX и НАСА запустили на Международную космическую станцию вторую миссию Dragon (Crew-2), ставшую первой космической миссией на проверенных лётными испытаниями Falcon 9 и Dragon. Примерно 24 часа спустя Dragon автономным образом состыковался с МКС, благодаря чему к орбитальной лаборатории впервые оказались пристыкованными два Crew Dragon. Это ознаменовало начало новой эры SpaceX, теперь цель компании заключается в регулярной отправке астронавтов на МКС.
Работа Гердинга и других инженеров-ракетчиков над разработкой ПО в основном выполняется на языке C++, который является главной опорой для кода компании со времён её основания. Программное обеспечение считывает текстовые конфигурационные файлы. «Мы изобрели простые специализированные языки для описания такой информации, чтобы их могли настраивать другие инженеры компании, не занимающиеся разработкой ПО».
Математики во время Второй Мировой войны: интеллект важнее грубой силы

Математика — царица наук, она находит применение в физике, химии, географии… В том числе в вооруженных конфликтах. Ход иногда войн во многом определялся размером армии, технологиями, деньгами, природными и людскими ресурсами стран-участниц.
Но иногда главным оказывается совсем другое — интеллект. Во время второй мировой войны математики не только участвовали в разработке вооружений, но и активно помогали решать весьма специфические задачи. Иногда математика и ученые наоборот, натыкалась на непонимание военных чиновников и государственную политику. Рассмотрим некоторые эпизоды, связанные с математикой и событиями Второй мировой войны: как математики помогали выигрывать битвы или, совершенно несправедливо, попадали под пресс политических репрессий.
Математика в Гитлеровской Германии
В течение первых двух десятилетий 20-го века Германия была центром международного исследовательского сообщества в области математики. Во многом это заслуга Давида Гильберта, крупнейшего после смерти Анри Пуанкаре математика-универсала. Помимо вклада в самые разные области (теорию инвариантов, общую алгебру, математическую физику, интегральные уравнения, основания математики), Гильберт известен формулировкой списка из 23 математических проблем, который определил вектор развития математики в 20 веке. Гёттингенский университет, в котором помимо Гильберта, работали такие известные математики, как Феликс Клейн, Герман Минковский, Дирихле, Рихард Дедекинд стал математической меккой, продолжая традиции математической школы, заложенной Гауссом и Риманом.
Мир изменился — CQRS и ES встречаются в PHP чаще, чем кажется

Генри Форд чуть не прогорел на своей фразе про пятьдесят оттенков черного. General Motors стала предлагать разноцветные модели Chevrolet, Pontiac, Buick, Oldsmobile и Cadillac — и не прогадала. Глядя на это, даже упрямый Форд изменил свое мышление — и разработал новый Ford A, вернувший его на автомобильный Олимп. Бывают времена, когда парадигма мышления должна стать новой — ибо человек умирает тогда, когда перестаёт меняться ©Генри Форд.
Пришло время и для разработчиков. Command Query Responsibility Segregation (CQRS) и Event Sourcing (ES) уже не миф — они реально работают. Конечно, не для всех задач — как и классический черный цвет Форда, PHP никуда не исчез и нужен по-прежнему. Но теперь уже есть задачи, где мы встречаемся с CQRS и ES чаще, чем нам кажется. Антон Шабовта на PHP Russia 2021 расскажет, как смена парадигмы и взгляд с другой стороны помогают разработчикам. А перед конференцией мы расспросили Антона подробнее о его новых взглядах на разработку, PHP и, конечно, о CQRS и ES.
Обзор Prisma ORM: как забыть об SQL и сосредоточиться на данных

Это статья-обзор о Prisma ORM.
ORM (англ. Object-Relational Mapping — «объектно-реляционное отображение или преобразование») — технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных».
Работа с базами данных (моделирование данных, изменение схем, формирование запросов и т.п.) — одна из наиболее сложных задач, возникающих при разработке приложений. Prisma предлагает решение, позволяющее сосредоточиться на данных вместо SQL.
Что такое Prisma?
Как утверждают разработчики, Prisma представляет собой «открытую ORM нового поколения для Node.js и TypeScript», реализующую «новую парадигму объектно-реляционного отображения».
Поддерживаемые языки программирования:
- JavaScript
- TypeScript
- Go (в разработке)
Практики при работе с PHPUnit

Не секрет, что чем больше проект, тем с большим количеством проблем он сталкивается даже в самых элементарных аспектах. В продукте Plesk, над которым я работаю, PHP является одним из основных языков, и количество кода на нем превышает 1 миллион строк. Соответственно, мы активно используем PHPUnit для тестирования. Кроме большого объема кода, поддержка двух платформ (Linux и Windows) доставляет нюансы, как и тот факт, что поддерживается несколько бранчей с приличной разницей возраста (крупные релизы), а активно вносят правки несколько десятков инженеров. В статье я хочу поделиться некоторыми практиками, которые мы используем при работе с PHPUnit.
Markdown в науке

Интернет и эпоха Web 2.0 существенно изменили метод подготовки научных публикаций. Сейчас мы читаем статьи с экранов компьютеров, смартфонов и электронных книг, а не только с бумаги. Крайне желательно, чтобы работа над текстом по превращению журнальной статьи в энциклопедическую вики-справку, в презентацию, или же в содержимое сайта, не требовала чрезмерных усилий. Далее мы рассмотрим решение означенной проблемы с помощью текстовой разметки Markdown и попробуем представить себе дальнейшее развитие технологий.
Мифы об асинхронном PHP: он не по-настоящему асинхронный

В последнее время было достаточно много обсуждений производительности в PHP. И даже несмотря на то, что у нас есть PHP8, JIT и куча других улучшений, многие по-прежнему продолжают жаловаться на то, что PHP "недостаточно производительный". Что PHP - это язык, подходящий только для модели запрос-ответ. Что PHP слишком медленный и его не нужно использовать для высоконагруженных систем. С одной стороны от части всё это правда. Если мы строим какую-то систему, для которой вопрос производительности критичен, то использовать классический блокирующий PHP явно не стОит. Большая часть функций и библиотек PHP созданы для работы в традиционном блокирующем окружении, что уже подразумевает собой не самую высокую производительность. Однако PHP может работать быстро, более того, он может работать очень быстро. Как? Обычно у нас может быть две причины, из-за чего будет проседать производительность: мы либо совершаем какие-то сложные вычисления, либо у нас есть блокирующй ввод-вывод. Первое к сожалению (или к счастью) мы не можем решить в PHP. Но блокирующий ввод-вывод для PHP совсем не проблема. В PHP-сообществе есть люди, которые пишут асинхронный код уже на протяжении несколько лет. Конечно одновременно с этим бОльшая часть сообщества по-прежнему считает асинхронный PHP - дикостью. Я часто слышал: "Ты наверно совсем отчаянный, если собираешься писать что-то асинхронное на PHP". По правде говоря, у нас у всех есть это предубеждение, что PHP не подходит для подобного рода задач. И в большинстве случаев это предубеждение основано на неверных представлениях о самой "асинхронности". Неверные предубеждения в свою очередь ведут к неправильным ожиданиям, что в свою очередь приводит к разочарованию и обвинениям в том, что PHP "не по-настоящему асинхронный".
Работа с частичными моками в PHPUnit 10

В этом году должен выйти PHPUnit 10 (релиз планировался на 2 апреля 2021 года, но был отложен). Если посмотреть на список изменений, то бросается в глаза большое количество удалений устаревшего кода. Одним из таких изменений является удаление метода MockBuilder::setMethods(), который активно использовался при работе с частичными моками. Этот метод не рекомендуется использовать с версии 8.0, но тем не менее он описан в документации без каких-либо альтернатив и упоминания о его нежелательности. Если почитать исходники PHPUnit, issues и пул-реквесты на GitHub, то станет понятно, почему так и какие есть альтернативы.
В этой статье я освещу этот нюанс для тех, кто не обращал на него внимания раньше: расскажу про частичные моки, проблемы, возникающие при работе с setMethods, пути их решения, а также затрону вопрос миграции тестов на PHPUnit 10.
Ты приходишь в проект, а там легаси…

Привет, сегодня я хочу поговорить об ужасной кодовой базе, с которой вы скорее всего прямо сейчас имеете дело. Есть проект и вы нужны, чтобы добавлять новые фичи и фиксить баги. Но вы открываете IDЕ, делаете пул репозитория с проектом — хочется плакать. Кажется, что с этим кодом невозможно работать.
Давайте отбросим эмоции. И посмотрим, что можно быстро предпринять, чтобы облегчить страдания.
Сколько стоят ваши социальные данные?

Человек — это то, что он потребляет. Данное высказывание в современном мире теперь относится не только к еде. Человек жив благодаря не только хлебу насущному. Мы каждый день потребляем гигабайты информации, за один день мы перерабатываем её столько, сколько в средние века люди не получали и за всю жизнь. Только проснулись и сразу проверяем уведомления электронной почты, пока завтракаем пролистываем ленту вКонтакте или любой другой соцсети, в свободное время время смотрим ролики на YouTube и т.д. и т.п. Этими действиями мы не только потребляем, но и создаем информацию. Каждый наш шаг в Интернете, любой наш клик, все перемещения из сайта в сайт фиксируются и записываются. Это называется социальными данными пользователя. Именно они составляют нашу виртуальную личность. И у этой нашей с вами личности есть своя цена, за которую готовы платить большие деньги.
Открытый бета-тест новой версии Хабра

Что нового полезно знать про базы данных?

В СУБД растут объемы данных и нагрузки. А это значит, что нужно держать нос по ветру и узнавать больше об инструментах и методах взаимодействия с базами данных. Чтобы этого добиться, лучше всего сходить на профильную конференцию (было бы странно, если бы мы не дали вам этот совет, правда?), или хотя бы почитать о самых актуальных проблемах области.
Какие тренды последних лет усиливаются в PostgreSQL прямо сейчас? Как не устроить highload на ровном месте? Где почитать про мифы и реальность СУБД в облаках? Об этом и многом другом мы поговорили с Николаем Самохваловым.
Николай — член программного комитета конференции HighLoad++, куратор секции Базы данных, а также основатель Postgres.ai и #RuPostgres.
Information
- Rating
- Does not participate
- Location
- Харьков, Харьковская обл., Украина
- Registered
- Activity