Завершаю эту серию заметок парой картинок про СУБД.
MySQL расёт в Китае, Корее и Мексике, теряет популярность в остальном мире.
PostgreSQL полностью противоположно - рост по всему миру (особенно РФ, понятно почему), кроме Китая и Кореи.
Что там случилось с MySQL в Азии, почему такая популярность, кто знает?
Относительно языков программирования: PHP программисты плотно сидят на MySQL, а рубисты на PostgreSQL.
В целом, если полистать эту часть опроса про СУДБ - рулит PostgreSQL.
MySQL расёт в Китае, Корее и Мексике, теряет популярность в остальном мире.
PostgreSQL полностью противоположно - рост по всему миру (особенно РФ, понятно почему), кроме Китая и Кореи.
Что там случилось с MySQL в Азии, почему такая популярность, кто знает?
Относительно языков программирования: PHP программисты плотно сидят на MySQL, а рубисты на PostgreSQL.
В целом, если полистать эту часть опроса про СУДБ - рулит PostgreSQL.
🔥8👍4❤1
Какой замечатльный лонгрид про раскалдки клавиатур и, в частности, про раскладку для Moonlander! Не мог пройти мимо и не поделиться ссылкой: https://optozorax.github.io/p/my-keyboard-layout/
optozorax.github.io
Раскладка Ильи Шепрута — Блог optozorax'а
Моя раскладка, история прихода к ней и объяснение каждого дизайнерского решения.
👏4🤮3💩2🤨2❤1
Forwarded from phpinfo();
📺 Запись оффлайн/онлайн митапа сообщества Live PHP, проходившего 23 ноября 2023 года в г. Санкт-Петербург
https://www.youtube.com/watch?v=b1NE20DD2cc
Доклады:
👉 Применение SOLID при разработке на PHP
Эмиль Лимаренко, разработчик
Обновим знания о принципах SOLID на примерах PHP. Подумаем зачем и когда нам это нужно. Разберёмся наконец где заканчивается Dependency Injection и начинается Dependency Inversion.
👉 ИИ за место крыс
Иван Романов, аспирант лаборатории эволюции органов чувств ИЭФБ РАН
Расскажу о пространственной навигации, а именно, об участниках процесса и об использовании ИИ в научных изысканиях посвящённых этой теме.
👉 PHP/Symfony/Doctrine: Создание и mapping сущностей, Enums, ValueObjects, etc
Станислав Ракчаев, [Software Developer]
Рассмотрим подходы "проектирования сущностей", варианты создания. Для чего могут быть полезны ValueObjects, Enums и стоит ли их использовать.
👉 Рефакторинг крупного монолита без архитектуры
Дмитрий Алин, тимлид
Монолит разрабатывался 15 лет, оброс клиентами и является одним из ведущих в своей сфере. Как спланировать, организовать и запустить процессы. Что и как настроть с наименьшим риском для бизнеса.
https://www.youtube.com/watch?v=b1NE20DD2cc
Доклады:
👉 Применение SOLID при разработке на PHP
Эмиль Лимаренко, разработчик
Обновим знания о принципах SOLID на примерах PHP. Подумаем зачем и когда нам это нужно. Разберёмся наконец где заканчивается Dependency Injection и начинается Dependency Inversion.
👉 ИИ за место крыс
Иван Романов, аспирант лаборатории эволюции органов чувств ИЭФБ РАН
Расскажу о пространственной навигации, а именно, об участниках процесса и об использовании ИИ в научных изысканиях посвящённых этой теме.
👉 PHP/Symfony/Doctrine: Создание и mapping сущностей, Enums, ValueObjects, etc
Станислав Ракчаев, [Software Developer]
Рассмотрим подходы "проектирования сущностей", варианты создания. Для чего могут быть полезны ValueObjects, Enums и стоит ли их использовать.
👉 Рефакторинг крупного монолита без архитектуры
Дмитрий Алин, тимлид
Монолит разрабатывался 15 лет, оброс клиентами и является одним из ведущих в своей сфере. Как спланировать, организовать и запустить процессы. Что и как настроть с наименьшим риском для бизнеса.
👍20🔥5🥱3❤1
Как быстро запустить PHPStan из PhpStorm?
(не из консоли, а через интегрированный интерфейс PhpStorm - мы же в IDE работаем в конце концов)
Шаг 1: подключить PHPStan к PhpStorm через Settings -> PHP -> Quality Tools -> PHPStan = ON
Теперь непосредственно в редакторе кода будут подсвечены проблемные места – это отрабатывает новый Inspection, наличие которого можно проверить в Settings -> Editor -> Inspections -> поиск по слову «phpstan» -> PHPStan validation галочка.
Шаг 2: как проверить все файлы в проекте? Меню: Code -> Analize Code -> Run Inspection by Name… (обратие внимание в меню на незапоминаемый хоткей) – далее в поиске набрать название нашего Inspection = «phpstan»
Шаг 3: а можно без длинных меню и сложных хоткеев?
Да, есть несколько вариантов, которые я перепробовал, вот самый быстрый: ⚡
3.1 Settings -> Editor -> Inspections -> создать новый Profile, назвав его, например, «PHPStan Only»
3.2 На Toolbar добавить новую иконку: кликнуть правой кнопкой по Toolbar -> Customize Toolbar… -> кнопка в виде плюса «Add Action…» -> поиском найти действие «Inspect Code…» - таким образом на панели кнопок будет быстрая кнопка эквивалентная меню Code -> Inspect Code…
3.3 Особенность диалога Inspect Code… в том, что он предлагает выбрать профиль, по которому нужно проверить проект, и далее он запоминает выбранный в последний раз профиль! Именно для этого мы создали профиль «PHPStan Only» - выбрав один раз, следующий запуск сведётся до двух кликов. Впрочем, можно и удобный хоткей для вызова этого диалога настроить: Settings -> Keymap -> в поиске набрать «Inspect Code» и назначить хоткей. Этот способ немного удобнее того, что я описал как «Шаг 2» - теперь нам не нужно вводить название инспекции «phpstan», теперь есть профиль и он уже выбран по умолчанию в диалоге «Inspect Code…»
(не из консоли, а через интегрированный интерфейс PhpStorm - мы же в IDE работаем в конце концов)
Шаг 1: подключить PHPStan к PhpStorm через Settings -> PHP -> Quality Tools -> PHPStan = ON
Теперь непосредственно в редакторе кода будут подсвечены проблемные места – это отрабатывает новый Inspection, наличие которого можно проверить в Settings -> Editor -> Inspections -> поиск по слову «phpstan» -> PHPStan validation галочка.
Шаг 2: как проверить все файлы в проекте? Меню: Code -> Analize Code -> Run Inspection by Name… (обратие внимание в меню на незапоминаемый хоткей) – далее в поиске набрать название нашего Inspection = «phpstan»
Шаг 3: а можно без длинных меню и сложных хоткеев?
Да, есть несколько вариантов, которые я перепробовал, вот самый быстрый: ⚡
3.1 Settings -> Editor -> Inspections -> создать новый Profile, назвав его, например, «PHPStan Only»
3.2 На Toolbar добавить новую иконку: кликнуть правой кнопкой по Toolbar -> Customize Toolbar… -> кнопка в виде плюса «Add Action…» -> поиском найти действие «Inspect Code…» - таким образом на панели кнопок будет быстрая кнопка эквивалентная меню Code -> Inspect Code…
3.3 Особенность диалога Inspect Code… в том, что он предлагает выбрать профиль, по которому нужно проверить проект, и далее он запоминает выбранный в последний раз профиль! Именно для этого мы создали профиль «PHPStan Only» - выбрав один раз, следующий запуск сведётся до двух кликов. Впрочем, можно и удобный хоткей для вызова этого диалога настроить: Settings -> Keymap -> в поиске набрать «Inspect Code» и назначить хоткей. Этот способ немного удобнее того, что я описал как «Шаг 2» - теперь нам не нужно вводить название инспекции «phpstan», теперь есть профиль и он уже выбран по умолчанию в диалоге «Inspect Code…»
🔥19👍5👀2👎1
В продолжение предыдущего поста: как узнать, есть ли возможность настроить ту или иную функцию в PhpStorm? А какие варианты вообще бывают, чтобы выбрать наиболее удобный для себя?
Раньше я гуглил. У JetBrains достаточно подробная документация, зачастую находятся нужные ссылки, но дальше нужно вчитываться.
Удача, если конкретно мой вопрос кто-то уже задал на StackOverflow или в YouTrack (багтрекер для всех продуктов JetBrains) - можно найти конкретный рецепт по шагам.
Последние несколько месяцев я задаю подобные вопросы в ChatGPT. Поскольку документация публичная и она проиндексирована в базе знаний ChatGPT, то обычно получаю достаточно сфокусированные ответы на конкретный вопрос.
Вчера попробовал для этих целей непосредственно AI Assistant в PhpStorm. Под капотом он отправляет запросы всё в тот же API OpenAI (по сути в ChatGPT), но теперь это выглядит как "справка по программе здорового человека". У меня есть вопрос к PhpStorm, я его пишу непосредственно в PhpStorm и получаю конкретный ответ.
Выводы: если вы пишете софт и к нему есть подробная документация, которая, будучи проиндексированной, могла бы стать пищей для ума AI, то попробуйте подключить в свой софт "справочный центр" на базе ChatGPT (или аналогов)!
Раньше я гуглил. У JetBrains достаточно подробная документация, зачастую находятся нужные ссылки, но дальше нужно вчитываться.
Удача, если конкретно мой вопрос кто-то уже задал на StackOverflow или в YouTrack (багтрекер для всех продуктов JetBrains) - можно найти конкретный рецепт по шагам.
Последние несколько месяцев я задаю подобные вопросы в ChatGPT. Поскольку документация публичная и она проиндексирована в базе знаний ChatGPT, то обычно получаю достаточно сфокусированные ответы на конкретный вопрос.
Вчера попробовал для этих целей непосредственно AI Assistant в PhpStorm. Под капотом он отправляет запросы всё в тот же API OpenAI (по сути в ChatGPT), но теперь это выглядит как "справка по программе здорового человека". У меня есть вопрос к PhpStorm, я его пишу непосредственно в PhpStorm и получаю конкретный ответ.
Выводы: если вы пишете софт и к нему есть подробная документация, которая, будучи проиндексированной, могла бы стать пищей для ума AI, то попробуйте подключить в свой софт "справочный центр" на базе ChatGPT (или аналогов)!
👍17🔥5👎2❤1
Решил попробовать запустить Qodana на своём проекте 😱🤦😭
(что такое Qodana: https://www.jetbrains.com/ru-ru/qodana/)
(что такое Qodana: https://www.jetbrains.com/ru-ru/qodana/)
🔥17😁4
Я попросил DALL-E нарисовать PHP. И сделать его лучшим языком программирования. Ещё лучше! PHP Best of the Best на все времена! PHP - язык, который преисполнился всей вселенной!
😁32👏29🤡5👍1🔥1
Вчера узнал, что внутри Яндекса есть анонимный imageboard под названием ячан (не уверен как пишется, возможно на английском yachan). И по этическим соображениям треды удаляются черз 3 дня - классика 😂 Интересно, есть ли международных крупных корпорациях внутренние анонимные имаджборды? GoogChan? MicroChan? FaceChan? AmazChan?
😁19🤯2
Forwarded from Russian Association of Software Architects (Sergey Baranov)
Какая прекрасная штука вот теперь появилась и в MySQL
https://blogs.oracle.com/mysql/post/mysql-82-transparent-readwrite-splitting
https://dev.mysql.com/doc/mysql-router/8.2/en/router-read-write-splitting.html
https://blogs.oracle.com/mysql/post/mysql-82-transparent-readwrite-splitting
https://dev.mysql.com/doc/mysql-router/8.2/en/router-read-write-splitting.html
Oracle
MySQL 8.2 – transparent read/write splitting
In MySQL 8.2, a significant enhancement has been introduced to MySQL Router. This improvement enables MySQL Router to intelligently differentiate between read and write queries and efficiently route them based on their nature.
😁2
Forwarded from PHP of By (Community Org)
42 - это не только ответ на "Главный вопрос жизни, вселенной и вообще", но и порядковый номер митапа PHPofBy, который состоится 19 Декабря в 19.00 (+3).
На завершающем митапе в этом году Игорь Филиппов покажет нам бельгийское кунг-фу и научит готовить Laravel в стиле Spatie
Дмитрий Джумагалиев скомбинирует доклад с воркшопом и научит использовать PACT для контрактного тестирования
Ну а Кирилл Несмеянов покажет, что на самом деле мы не знаем PHP :)
Страница митапа тут: https://wearecommunity.io/events/phpofby-meetup-42
Ссылка на трансляцию тут: https://www.youtube.com/watch?v=lt2jbzTbPxM
Читайте подробное описание, и регистрируйтесь - нам как всегда важно понимать, сколько вас будет :)
На завершающем митапе в этом году Игорь Филиппов покажет нам бельгийское кунг-фу и научит готовить Laravel в стиле Spatie
Дмитрий Джумагалиев скомбинирует доклад с воркшопом и научит использовать PACT для контрактного тестирования
Ну а Кирилл Несмеянов покажет, что на самом деле мы не знаем PHP :)
Страница митапа тут: https://wearecommunity.io/events/phpofby-meetup-42
Ссылка на трансляцию тут: https://www.youtube.com/watch?v=lt2jbzTbPxM
Читайте подробное описание, и регистрируйтесь - нам как всегда важно понимать, сколько вас будет :)
❤9👏1
Заглянул в репозиторий https://github.com/php/php-langspec и обнаружил, что обновлений в master почти нет, а среди веток только PHP-5.6 и PHP-7.0. Выходит у PHP нет актуальной версии спецификации, есть только спека уровня 7.0 (или чуть выше) и набор RFC принятых поверх? 🧐
🤔11