Search
Write a publication
Pull to refresh
337
0
Роман Пронский @pronskiy

PHP

Send message

PHP Дайджест № 218 (13 – 27 декабря 2021)

Reading time4 min
Views11K


Подборка свежих новостей и материалов из мира PHP.

В выпуске: Composer 2.2, Cycle 2.0, обновления актуальных веток PHP и другие релизы; конкурс с подведением итогов года; пачка интересных статей, инструменты, видео и другие новости сообщества.

Приятного чтения!
Читать дальше →

История разработки фасетного поиска средствами PHP

Reading time13 min
Views15K

Как экспериментальный Pet Project дошел до production и на что способны современные версии языка PHP. Немного о проблематике фасетного поиска в части построения агрегатов.

Если ваша первая реакция: «Почему не на Sphinx/ElasticSearch/etc?», не торопитесь с выводами. Воспринимайте изложенное как интересный исследовательский опыт в области возможностей языка и его оптимизаций.

Спойлер: пришлось даже написать порт на GoLang, чтобы лучше понять пути оптимизации кода.

Читать далее

Стоит ли учить PHP в 2022 году

Reading time11 min
Views59K

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

В этой статье я поделюсь своим мнением насчет востребованности PHP, как современного языка программирования – актуален ли он на 2022 год или нет.Что из себя представляет PHP

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

Отличная производительность. Команда CORE PHP разработчиков выполнила гигантскую работу по оптимизации PHP и сделала его более производительным. Так, например, в своей статье Дмитрий Стогов приводит бенчмарк для версии PHP 7.0, где демонстрируется, что PHP обходит по производительности своих конкурентов, таких как Python и Ruby, и даже не сильно отстает от Java с выключенным  JIT.

Читать далее

Каким 2021 запомнится PHP-сообществу?

Reading time2 min
Views6K

Громкие уходы и обещанные релизы, полезные статьи и видео, крутые инструменты. Собираем картину уходящего года глазам сообщества во втором ежегодном опросе. Найди 5 минут, чтобы подвести итоги своего PHP-года — подробности под катом. 

Читать далее

Сам себе нотариус. Используем OpenSSH для подписи файлов и TLS для нотариального заверения веб-страниц

Reading time6 min
Views8.5K


Если нужно подписать файл, чтобы гарантировать его аутентичность, что мы делаем? Старый способ — запустить PGP и сгенерировать подпись, используя команду --sign. Цифровая подпись удостоверяет создателя и дату создания документа. Если документ будет как-то изменён, то проверка цифровой подписи это покажет. Одновременно нужно опубликовать в открытом доступе свой публичный ключ, чтобы любой желающий мог проверить подпись.

Но использовать PGP — не лучшая идея. Есть варианты получше. Например, теперь подписывать документы/файлы можно с помощью обычной утилиты OpenSSH.

Вообще, ключ SSH — очень удобная штука. Не только для подписи текстов и коммитов в Git, но и для авторизации на сайтах. А также для шифрования сообщений, которые сможет прочитать только один человек.
Читать дальше →

Что вы читали и комментировали в этом году

Reading time10 min
Views15K

Привет! До Нового года еще полторы недели, но мы решили подвести небольшие итоги уже сегодня. Во-первых, вряд ли в саму новогоднюю ночь вы будете читать подобный пост. Во-вторых, ещё менее вероятно, что 30 декабря мы бы осилили выгрузить статистику, чтобы 31-го написать пост. Так что — держите.

Самые читаемые посты за год

Disclaimer. Мы не стали включать в топ самых читаемых постов материалы от нашей редакции и из корпоративных блогов.

PS Но отдельная статистика по корпоративным блогам и редакции тоже есть в посте.

Читать далее

Повышаем производительность файлового I/O в JVM на Linux

Reading time19 min
Views7.5K

Все кто хоть раз касался разработки I/O интенсивных приложений, наверное, задумывался о повышении их производительности. Особенно когда у проекта много внешних хранилищ и они находятся по всему миру. Давайте разберем какие есть инструменты с их плюсами и минусами и как их лучше использовать на примере конкретного проекта, в котором принимал участие Дмитрий Бундин, старший Big Data-разработчик в Grid Dynamics.

Читать далее

PHP Дайджест № 217 (1 – 13 декабря 2021)

Reading time4 min
Views8.3K


Подборка свежих новостей и материалов из мира PHP.

В выпуске: PHP теперь использует GitHub для трекинга багов; вышел PhpStorm 2021.3; закончена поддержка PHP 7.3, а 7.4 — в режиме только секьюрити фиксов; для PHP 8.2 снова обсуждается перегрузка операторов — теперь с новым ключевым словом.

Также в выпуске полезные статьи, пачка инструментов, видео и другие новости сообщества.

Приятного чтения!
Читать дальше →

Строим эффективный сетевой обмен в PHP-микросервисах

Reading time13 min
Views22K

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

Я техлид в команде Авито в проекте SLA. Сегодня расскажу, как мы оптимизировали сетевые вызовы, чтобы избежать проблем с сетью при переходе в микросервисный мир. Разговор будет про оптимизацию CURL-запросов, деградацию сервисов и FAIL-FAST-подходы.

Читать далее

Самые заметные изменения языка php за последние годы

Reading time9 min
Views19K

Я начинал работать с php, когда еще не потерял популярность его 4 выпуск, с тех пор произошли огромные изменения. На мой взгляд, последние несколько лет преобразили разработку на нем.  Кстати php продолжает быть серьезно востребованным, например, сейчас “Рексофт” развивает на нем несколько проектов. В одном из них работаю и я.  Но перейдем к делу. Делюсь с вами самыми интересными изменениями в php, прошедшими с 5 до версии 8.1.

Одним из самых распространенных классов в веб-разработке я бы назвал сущность User, предназначенную для работы с пользователями. В парадигме MVC ее можно назвать моделью пользователя, которая хранит данные (свойства) и предоставляет доступ к ряду методов работы с ними, а также бизнес-логику, связанную с областью применения класса. На примере такого класса я и хочу посмотреть сам и показать тебе, читатель, как изменился язык php за последнии годы.

Для удобного изменения кода, и чтобы в дальнейшем проще было отслеживать, что в каком порядке менялось, я создал репозиторий на гитхаб. Ссылка на репозиторий: https://github.com/ZhukMax/php-evo. Отразил в коммитах каждый шаг, который ниже постараюсь подробно описать.

Читать далее

Вышел PhpStorm 2021.3

Reading time10 min
Views11K


В этом релизе мы полностью поддержали PHP 8.1, улучшили обработку дженериков, реализовали drag-and-drop для перемещения классов и пространств имен, обновили HTTP-клиент, повысили удобство процесса развертывания и управления версиями, а также добавили новые возможности удаленной разработки.

Под катом подробный разбор всех изменений и новых возможностей с кучей гифок.

Скачать PhpStorm можно на сайте или через приложение Toolbox App.

Как и раньше, студентам, преподавателям и тем, кто занимается опенсорс-проектами, JetBrains предоставляет бесплатные лицензии. Стартапам доступна скидка 50%.

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

Новый бум производства чипов «made in America»

Reading time9 min
Views36K

Производители потребительской электроники уже год страдают от растущего дефицита чипов. Во время пандемии возрос спрос на смартфоны, ноутбуки, настольные компьютеры, «умные» телевизоры и устройства, подключенные к интернету. Нехватка компьютерных микросхем больно ударила по таким отраслям, как автопроизводство и производство медицинского оборудования.
На данный момент ведущими производителями полупроводников являются Taiwan Semiconductor Manufacturing Company (TSMC) и Samsung. Первая занимает 54% рынка, вторая — 17%.

Сенат Конгресса США летом 2021 г. одобрил законопроект о выделении из бюджета 250 млрд. долл. на решение проблемы с нехваткой микрочипов. 52 млрд долл. ушли на развитие производства полупроводников в стране для «борьбы с зависимостью от китайских компаний и технологий».

Многие штаты и города в Америке увидели в этом для себя возможность того, что усилия по резкому увеличению производства микросхем в Соединенных Штатах приведут к появлению завода по производству микросхем на их «заднем дворе». Один из таких городов — Тейлор, в штате Техас, с населением 17 000 человек, расположенный в 40 минутах езды к северо-востоку от Остина. Власти штата и города заполучили завод Samsung на 17 миллиардов долларов, который компания планирует построить в США в начале следующего года.

А Intel в сентябре начала строительство двух заводов в Аризоне и объявит о месте планируемого производственного кампуса к концу года.
Читать дальше →

Уникальная ВКС-камера от Yealink — оптимальное решение для ZOOM/Skype/Teams

Reading time6 min
Views7.7K

В этой статье речь пойдёт о PTZ-камере Yealink UVC84, которая имеет разрешение 4K, 12-кратное оптическое увеличение и беспрецедентные возможности по интеграции.

Прошло немало лет с тех пор, как Yealink зарекомендовал себя в роли производителя качественных систем видеоконференцсвязи. Аппаратные SIP/H.323-терминалы Yealink стали достойной альтернативой решений Polycom, Cisco и прочих кодеков ВКС.
В совокупности с собственным программным решением Yealink Meeting Server, терминалы Yealink обеспечивают оптимальный баланс по стоимости и функционалу системы видеоконференцсвязи.

Но, за последние 2 года рынок видео коммуникаций ещё больше развернулся в сторону программных терминальных решений, использующих в качестве клиента обычный персональный компьютер. Для таких решений, как Skype, ZOOM, Teams и прочих облачных сервисов, как правило требуется USB-периферия, а не SIP/H.323-кодеки.

Для удовлетворения этой потребности рынка Yealink начал расширять модельный ряд своих решений сразу в трёх направлениях:

Терминалы "из коробки" для Teams и ZOOM

Универсальные терминалы SIP/H.323 + USB-режим

Камеры и спикерфоны с USB-подключением для ПК

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

Универсальным терминалам, работающим по протоколам SIP или H.323, но имеющим возможность превращаться в 1 клик в USB-камеру/микрофон/динамик для ПК, уже посвящена целая статья Работа SIP/H.323-терминала ВКС с ZOOM и Skype в USB-режиме для ПК

В этой статье мы остановимся на третьем направлении решений Yealink: USB-периферия. В частности нас интересует камера Yealink UVC84.

Что уникального в этом решении Yealink?

PHP Дайджест № 216 (15 – 30 ноября 2021)

Reading time5 min
Views10K


Подборка свежих новостей и материалов из мира PHP.
В выпуске: вышел PHP 8.1, создана организация PHP Foundation с целью развития и поддержки PHP, критическая уязвимость в doctrine/dbal, в PHP 8.2 будут объявлены устаревшими динамические свойства, вышли Symfony 6 и Symfony 5.4.
Также в выпуске полезные статьи, видео и другие новости сообщества.

Приятного чтения!
Читать дальше →

Больше чем ZOOM: мессенджер, видеоконференцсвязь и стенограмма в одном решении для видеоконференцсвязи IVA MCU

Reading time11 min
Views22K

Резидент ОЭЗ «Иннополис» компания IVA Technologies разрабатывает телекоммуникационное оборудование и программное обеспечение для унифицированных коммуникаций.

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

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

Унифицированные коммуникации подойдут для организации в онлайн-­режиме переговоров, совещаний, деловых встреч, собеседований, планерок, дистанционных занятий и вебинаров, лекций и семинаров, лабораторных и экзаменов.

В качестве клиентских устройств сервер IVA поддерживает:

- Аппаратные SIP/H.323-терминалы
- Программные клиенты Windows, MacOS и Linux
- Мобильные устройства на Android и iOS
- Работа через браузер по WebRTC
- Работа через браузер по FLV over HTTP

Основными особенностями IVA MCU являются: поддержка распознавания речи и протоколирования мероприятий, видео звонки через приватные и групповые чаты, а также широкие возможности управления правами и раскладками пользователей.

Обзор функционала и интерфейса

Однопоточный JavaScript и многопоточная Java: что быстрее?

Reading time7 min
Views19K

Асинхронное выполнение на Java и JavaScript


При необходимости в JavaScript можно запускать дополнительные потоки. Но обычно в Node.js или в браузерах весь код на JavaScript выполняется в одном потоке. В браузерах один и тот же поток рендерит содержимое веб-страницы на экран. По сути, один поток выполнения занимается всеми задачами, потому что приложения JavaScript пользуются преимуществами асинхронного выполнения. Для асинхронного выполнения задача помещается в очередь задач. Задачи из очереди одна за другой выполняются единственным потоком. Например, вторая строка кода выполняет планирование асинхронной задачи, которая запускается после завершения текущей задачи:

console.log("1");
setTimeout(()=>console.log("2"));
console.log("3");

Результатом работы кода будет 1 3 2.

В Java API под асинхронным выполнением обычно подразумевается, что задача выполняется в новом выделенном потоке. Например, представленный ниже код при помощи метода supplyAsync() планирует асинхронную задачу:

System.out.println("current thread: " + Thread.currentThread().getName());
var future = CompletableFuture.supplyAsync(() -> Thread.currentThread().getName());
System.out.println("current thread: " + Thread.currentThread().getName());
System.out.println("task thread: " + future.get());

Результат работы программы показывает, что текущий поток создал новый поток для выполнения задачи:

current thread: main
current thread: main
task thread: ForkJoinPool.commonPool-worker-1

Проблема множественных потоков заключается в том, что Java runtime не может создавать бесконечное их количество. Когда все запущенные потоки ожидают, а новые потоки создать нельзя, приложение тоже ничего не будет делать.
Читать дальше →

Regex for lazy developers

Reading time9 min
Views24K

Регулярные выражения для ленивых людей?!

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

Читать далее

PHP Дайджест № 215 (1 – 15 ноября 2021)

Reading time4 min
Views11K
Картинка: Gabriel Nunes.

Подборка свежих новостей и материалов из мира PHP.
В выпуске: последний релиз кандидат PHP 8.1 перед финальным релизом, бенчмарки PHP 8.1; в PHP 8.2 планируется задепрекейтить динамические свойства — добро или зло?; про перенос багов с bugs.php.net на GitHub; немного обновлен PSR-16.
Также в выпуске полезные статьи, видео и другие новости сообщества.

Приятного чтения!
Читать дальше →

Сделать статический анализ умным — полдела, потом его надо делать глупым

Reading time6 min
Views7.7K

Одна из проблем статического анализа в том, что его легко сделать умнее, чем надо. В результате он начинает выдавать предупреждения в таком коде, который человеку кажется нормальным. И так и хочется сказать анализатору «Отстань, зануда! Сильно умный что ли?»


Я в очередной раз почувствовал вкус всего этого, когда работал над поиском константных выражений для Kotlin. Ранее такой анализ был для Java, но для Kotlin он впервые появится только в следующей версии IntelliJ IDEA 2021.3. Инспекция базируется на анализе потока данных и находит в коде выражения, которые всегда равны одному и тому же. Изначально такая инспекция на Java сообщала только о логических выражениях, которые всегда равны true или false. Потом мы осторожно расширили её, и она стала сообщать ещё и о выражениях, которые всегда равны null или 0. Было решено проделать тот же путь для Kotlin.

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

Три проигрывателя винила в сегменте «до 60 тысяч рублей», на которые вполне можно обратить внимание

Reading time2 min
Views13K

Продолжаем серию компактных обзоров примечательных вертушек [1, 2, 3, 4, 5, 6, 7, 8]. На этот раз в фокусе — тройка моделей от Yamaha, Denon и TEAC.

Читать далее

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Registered
Activity