Итераторы PHP для прохода по структурам данных
В этом туториале рассказано про итераторы PHP и то, как использовать их для работы с различными структурами данных.
В этом туториале рассказано про итераторы PHP и то, как использовать их для работы с различными структурами данных.
DEV Community
PHP Iterators for walking through data structures – FastTips
PHP Iterators are essential tools for efficiently traversing and manipulating data structures like...
🔥5👍2🎉2😁1🥱1
🕸 7 HTML-трюков, которые вам нужно знать
Семь HTML-трюков, которые должны быть в арсенале каждого веб-разработчика. Эти приемы помогут вам создавать более удобные и визуально привлекательные сайты, улучшая взаимодействие с пользователями.
🔗 Читать статью
🔗 Зеркало
Семь HTML-трюков, которые должны быть в арсенале каждого веб-разработчика. Эти приемы помогут вам создавать более удобные и визуально привлекательные сайты, улучшая взаимодействие с пользователями.
🔗 Читать статью
🔗 Зеркало
👍1
Foundry
Библиотека-фабрика моделей для создания выразительных, автозаполняемых по требованию фич для разработки/тестирования с помощью Symfony и Doctrine.
Библиотека-фабрика моделей для создания выразительных, автозаполняемых по требованию фич для разработки/тестирования с помощью Symfony и Doctrine.
GitHub
GitHub - zenstruck/foundry: A model factory library for creating expressive, auto-completable, on-demand dev/test fixtures with…
A model factory library for creating expressive, auto-completable, on-demand dev/test fixtures with Symfony and Doctrine. - zenstruck/foundry
👍4👾1
Какая разница между MyISAM и InnoDB? В каких случаях и что лучше применять?
MyISAM и InnoDB — это два самых распространенных типа таблиц в MySQL. Отличия между ними заключаются в следующем:
1. Система хранения данных: MyISAM использует таблицы с фиксированной длиной строк, в то время как InnoDB использует таблицы с переменной длиной строк. Это означает, что MyISAM обычно быстрее при выполнении операций чтения, а InnoDB более эффективен при выполнении операций записи.
2. Транзакции и целостность данных: InnoDB поддерживает ACID-транзакции (Atomicity, Consistency, Isolation, Durability — Атомарность, Согласованность, Изолированность, Устойчивость). Это означает, что в случае сбоя данных, InnoDB может откатить все изменения, сохраняя целостность данных. MyISAM не поддерживает транзакции и не обеспечивает такую же уровень целостности данных.
3. Блокировка таблиц: MyISAM блокирует всю таблицу во время выполнения операции записи, в то время как InnoDB блокирует только строки, с которыми происходит операция. Это означает, что InnoDB обычно более подходит для многопользовательских приложений, где множество операций происходит одновременно.
4. Внешние ключи: InnoDB поддерживает внешние ключи (foreign keys), что облегчает поддержку связей между таблицами и обеспечивает целостность данных. MyISAM не поддерживает внешние ключи.
Итак, в каких случаях что лучше использовать:
🔸 Если нагрузка на базу данных состоит главным образом из операций чтения, то MyISAM может быть предпочтительнее из-за его более высокой производительности.
🔸 Если приложение требует поддержку транзакций (например, при обработке платежей или других критически важных операций), или имеется необходимость в внешних ключах для поддержания целостности данных, то InnoDB является более подходящим выбором.
В отличие от MyISAM, InnoDB также более рекомендуется при работе с многопользовательскими приложениями, где одновременно выполняется много операций записи и требуется высокий уровень целостности данных.
#вопросы_с_собеседований
MyISAM и InnoDB — это два самых распространенных типа таблиц в MySQL. Отличия между ними заключаются в следующем:
1. Система хранения данных: MyISAM использует таблицы с фиксированной длиной строк, в то время как InnoDB использует таблицы с переменной длиной строк. Это означает, что MyISAM обычно быстрее при выполнении операций чтения, а InnoDB более эффективен при выполнении операций записи.
2. Транзакции и целостность данных: InnoDB поддерживает ACID-транзакции (Atomicity, Consistency, Isolation, Durability — Атомарность, Согласованность, Изолированность, Устойчивость). Это означает, что в случае сбоя данных, InnoDB может откатить все изменения, сохраняя целостность данных. MyISAM не поддерживает транзакции и не обеспечивает такую же уровень целостности данных.
3. Блокировка таблиц: MyISAM блокирует всю таблицу во время выполнения операции записи, в то время как InnoDB блокирует только строки, с которыми происходит операция. Это означает, что InnoDB обычно более подходит для многопользовательских приложений, где множество операций происходит одновременно.
4. Внешние ключи: InnoDB поддерживает внешние ключи (foreign keys), что облегчает поддержку связей между таблицами и обеспечивает целостность данных. MyISAM не поддерживает внешние ключи.
Итак, в каких случаях что лучше использовать:
🔸 Если нагрузка на базу данных состоит главным образом из операций чтения, то MyISAM может быть предпочтительнее из-за его более высокой производительности.
🔸 Если приложение требует поддержку транзакций (например, при обработке платежей или других критически важных операций), или имеется необходимость в внешних ключах для поддержания целостности данных, то InnoDB является более подходящим выбором.
В отличие от MyISAM, InnoDB также более рекомендуется при работе с многопользовательскими приложениями, где одновременно выполняется много операций записи и требуется высокий уровень целостности данных.
#вопросы_с_собеседований
👍15🥱8
Поддержка HTML 5 в PHP 8.4
В PHP 8.4 появится парсер, совместимый с HTML 5. Также подчеркивается, что, несмотря на давние недостатки PHP и отсутствие надлежащей поддержки HTML 5, эта новая функция представляет собой значительное улучшение. Новый парсер полностью совместим с предыдущими версиями и расположен в новом пространстве имен под классом \Dom\HTMLDocument, в то время как старый класс \DOMDocument остается в основном без изменений, теперь расширяя абстрактный класс \Dom\Document.
Ключевые особенности нового парсера включают:
🔸Обратная совместимость: Старый класс \DOMDocument сохранен с незначительными изменениями, в то время как новый парсер, совместимый с HTML 5, представлен в отдельном классе.
🔸Статические конструкторы: Новая реализация использует статические конструкторы (например, createEmpty, createFromFile и createFromString), вместо вызова методов на вновь созданных объектах.
🔸Новые объекты DOM: Использование нового парсера приводит к созданию других типов объектов значений (например, \DOM\Node вместо \DOMNode), что отражает различия между старой и новой реализациями.
В PHP 8.4 появится парсер, совместимый с HTML 5. Также подчеркивается, что, несмотря на давние недостатки PHP и отсутствие надлежащей поддержки HTML 5, эта новая функция представляет собой значительное улучшение. Новый парсер полностью совместим с предыдущими версиями и расположен в новом пространстве имен под классом \Dom\HTMLDocument, в то время как старый класс \DOMDocument остается в основном без изменений, теперь расширяя абстрактный класс \Dom\Document.
Ключевые особенности нового парсера включают:
🔸Обратная совместимость: Старый класс \DOMDocument сохранен с незначительными изменениями, в то время как новый парсер, совместимый с HTML 5, представлен в отдельном классе.
🔸Статические конструкторы: Новая реализация использует статические конструкторы (например, createEmpty, createFromFile и createFromString), вместо вызова методов на вновь созданных объектах.
🔸Новые объекты DOM: Использование нового парсера приводит к созданию других типов объектов значений (например, \DOM\Node вместо \DOMNode), что отражает различия между старой и новой реализациями.
stitcher.io
HTML 5 support in PHP 8.4 - stitcher.io
PHP 8.4 adds a new HTML-5 compliant parser
🔥7👍2🎉2🥱2❤1
Open-source. Плюсы и минусы на примере MoonShine Laravel
Здесь автор делится опытом создания и развития open-source проекта MoonShine, полученным за два года существования проекта
Здесь автор делится опытом создания и развития open-source проекта MoonShine, полученным за два года существования проекта
Хабр
Open-source. Плюсы и минусы на примере MoonShine Laravel
Привет, коллеги! Сегодня хочу поделиться опытом создания и развития open-source проекта MoonShine , которому стукнуло уже 2 года. 🎉 Идея возникновения Всё началось с идеи в telegram-чате Laravel...
🔥12👍5⚡2🤔1
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍1
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #phpdevjob
Вакансии PHP разработчиков уровня Junior
▪️PHP Developer
Санкт-Петербург. KITFORT — производство и продажa бытовой техники нового поколения
Подробнее
▪️PHP-Developer
Воронеж. ОФИСМАГ — обеспечении потребителей товарами и услугами для работы и учёбы
Подробнее
Вакансии PHP разработчиков уровня Middle
▪️Backend разработчик PHP
Набережные Челны. PROFFIT GO — цифровая экосистема решений для управления автопарками
Подробнее
▪️PHP-разработчик
Самара. АИ Технолоджис — программные решения под индивидуальные запросы
Подробнее
Вакансии PHP разработчиков уровня Senior
▪️Разработчик PHP
Норильск. MACRO — разработка IT-решений для строительной отрасли
Подробнее
▪️PHP-программист
Удаленка. Alef — разработка ПО
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
Вакансии PHP разработчиков уровня Junior
▪️PHP Developer
Санкт-Петербург. KITFORT — производство и продажa бытовой техники нового поколения
Подробнее
▪️PHP-Developer
Воронеж. ОФИСМАГ — обеспечении потребителей товарами и услугами для работы и учёбы
Подробнее
Вакансии PHP разработчиков уровня Middle
▪️Backend разработчик PHP
Набережные Челны. PROFFIT GO — цифровая экосистема решений для управления автопарками
Подробнее
▪️PHP-разработчик
Самара. АИ Технолоджис — программные решения под индивидуальные запросы
Подробнее
Вакансии PHP разработчиков уровня Senior
▪️Разработчик PHP
Норильск. MACRO — разработка IT-решений для строительной отрасли
Подробнее
▪️PHP-программист
Удаленка. Alef — разработка ПО
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
spb.hh.ru
Вакансия Junior PHP Developer в Санкт-Петербурге, работа в компании KITFORT (вакансия в архиве c 6 сентября 2024)
Зарплата: не указана. Санкт-Петербург. Требуемый опыт: 1–3 года. Полная занятость. Дата публикации: 03.09.2024.
😁6❤1🤔1
🌟 Какой тренд в использовании языков программирования и ИИ-инструментов, по вашему мнению, стал самым значимым в последнее время? Напишите в комментариях, почему и как он повлиял на вашу работу или планы по развитию?
Anonymous Poll
8%
Взрывной рост популярности Rust
16%
Доминирование Python в сфере AI и машинного обучения
5%
Укрепление позиций TypeScript в веб-разработке
1%
Возрождение интереса к функциональным языкам (например, Haskell или Clojure)
25%
Рост Go в облачных и микросервисных архитектурах
30%
Массовое внедрение ИИ-ассистентов для написания и ревью кода
3%
Популяризация no-code/low-code платформ с ИИ-генерацией
3%
Тестирование с помощью ИИ-инструментов
9%
Другое (напишу в комментариях)
Улучшенная «ленивая» загрузка
Автор делится своими размышлениями о процессе создания ORM для своего фреймворка Tempest, над которым он работает уже два года. Он объясняет, что его подход к проектированию ORM сосредоточен на создании удобного и интуитивного интерфейса для пользователей, уделяя особое внимание статическому анализу кода и минимизации ручной конфигурации.
В Tempest используются типизированные свойства, чтобы упростить работу с отношениями между моделями. Например, тип свойства Author сам по себе указывает на отношение «принадлежит», а аннотация /** @var Chapter[] $chapters */ обозначает отношение «имеет много». Модели в этом фреймворке не связаны напрямую с базой данных, что позволяет сохранять их в различных форматах, таких как JSON, Redis или XML.
Важной частью проекта стал механизм отложенной загрузки данных (lazy loading). По умолчанию ORM не загружает отношения при извлечении данных, чтобы избежать проблем с производительностью, таких как проблема n+1 запросов. Если попытаться обратиться к незагруженному отношению, система выдаст ошибку вместо того, чтобы автоматически выполнять дополнительные запросы, как это делает Laravel.
Рассказ о реализации отложенной загрузки в PHP переходит к магическому методу __get(), который, однако, не вызывается при доступе к неинициализированным типизированным свойствам. Для решения этой задачи был использован трюк: неинициализированные свойства удаляются с помощью unset, что заставляет PHP вызвать __get() при первом обращении к свойству.
Завершая, разработчик размышляет о том, как новая функциональность, предложенная в Lazy Objects для PHP 8.4, может значительно упростить реализацию подобных механизмов в будущем.
Автор делится своими размышлениями о процессе создания ORM для своего фреймворка Tempest, над которым он работает уже два года. Он объясняет, что его подход к проектированию ORM сосредоточен на создании удобного и интуитивного интерфейса для пользователей, уделяя особое внимание статическому анализу кода и минимизации ручной конфигурации.
В Tempest используются типизированные свойства, чтобы упростить работу с отношениями между моделями. Например, тип свойства Author сам по себе указывает на отношение «принадлежит», а аннотация /** @var Chapter[] $chapters */ обозначает отношение «имеет много». Модели в этом фреймворке не связаны напрямую с базой данных, что позволяет сохранять их в различных форматах, таких как JSON, Redis или XML.
Важной частью проекта стал механизм отложенной загрузки данных (lazy loading). По умолчанию ORM не загружает отношения при извлечении данных, чтобы избежать проблем с производительностью, таких как проблема n+1 запросов. Если попытаться обратиться к незагруженному отношению, система выдаст ошибку вместо того, чтобы автоматически выполнять дополнительные запросы, как это делает Laravel.
Рассказ о реализации отложенной загрузки в PHP переходит к магическому методу __get(), который, однако, не вызывается при доступе к неинициализированным типизированным свойствам. Для решения этой задачи был использован трюк: неинициализированные свойства удаляются с помощью unset, что заставляет PHP вызвать __get() при первом обращении к свойству.
Завершая, разработчик размышляет о том, как новая функциональность, предложенная в Lazy Objects для PHP 8.4, может значительно упростить реализацию подобных механизмов в будущем.
🥱5❤4👍1
Добавление Swagger UI в ваше приложение Laravel
Пакет Swagger UI для Laravel упрощает доступ к файлу Swagger (JSON или YAML OpenAPI v3) вашего проекта через интерфейс Swagger UI прямо в вашем приложении Laravel. Всё, что вам нужно сделать, это поместить файл OpenAPI в директорию resources/swagger/openapi.json (это можно настроить) и перейти по пути /swagger в локальной среде проекта.
Пакет Swagger UI для Laravel упрощает доступ к файлу Swagger (JSON или YAML OpenAPI v3) вашего проекта через интерфейс Swagger UI прямо в вашем приложении Laravel. Всё, что вам нужно сделать, это поместить файл OpenAPI в директорию resources/swagger/openapi.json (это можно настроить) и перейти по пути /swagger в локальной среде проекта.
Хабр
Добавление Swagger UI в ваше приложение Laravel
Здравствуйте! В этой статье мы расскажем, как интегрировать Swagger UI в ваше приложение Laravel, чтобы вы могли легко просматривать и взаимодействовать с вашим Swagger (OpenAPI v3) файлом прямо в...
👍8🥱5
Привет, друзья! 👋
Мы готовим статью о производительности труда программистов и хотим узнать ваше мнение. Поделитесь своими мыслями, ответив на следующие вопросы:
Согласны ли вы с утверждением, что программирование — это на 9/10 мышление и только на 1/10 набор кода? 🤔
- Полностью согласен 💯
- Скорее согласен 👍
- Затрудняюсь ответить 🤷
- Скорее не согласен 👎
- Совершенно не согласен 🚫
Сколько времени в среднем вам потребуется, чтобы восстановить код, написанный за один рабочий день? ⏱️
- Менее 30 минут
- 30-60 минут
- 1-2 часа
- 2-4 часа
- Более 4 часов
Какие факторы, по вашему мнению, наиболее сильно влияют на производительность программиста? (выберите до 3 вариантов) 🚀
- Качество рабочей среды и инструментов 🛠️
- Ясность поставленных задач и требований 📝
- Возможность сосредоточиться без отвлечений 🧘
- Эффективная коммуникация в команде 🗣️
- Постоянное обучение и развитие навыков 📚
- Мотивация и интерес к проекту 💪
- Опыт и экспертиза в конкретной области 🏆
- Другое (укажите в комментариях) 💡
Поделитесь своими мыслями и опытом в комментариях! Как вы оцениваете соотношение «мышления» и «кодинга» в своей работе? Какие методы вы используете для повышения эффективности мыслительного процесса?
Мы готовим статью о производительности труда программистов и хотим узнать ваше мнение. Поделитесь своими мыслями, ответив на следующие вопросы:
Согласны ли вы с утверждением, что программирование — это на 9/10 мышление и только на 1/10 набор кода? 🤔
- Полностью согласен 💯
- Скорее согласен 👍
- Затрудняюсь ответить 🤷
- Скорее не согласен 👎
- Совершенно не согласен 🚫
Сколько времени в среднем вам потребуется, чтобы восстановить код, написанный за один рабочий день? ⏱️
- Менее 30 минут
- 30-60 минут
- 1-2 часа
- 2-4 часа
- Более 4 часов
Какие факторы, по вашему мнению, наиболее сильно влияют на производительность программиста? (выберите до 3 вариантов) 🚀
- Качество рабочей среды и инструментов 🛠️
- Ясность поставленных задач и требований 📝
- Возможность сосредоточиться без отвлечений 🧘
- Эффективная коммуникация в команде 🗣️
- Постоянное обучение и развитие навыков 📚
- Мотивация и интерес к проекту 💪
- Опыт и экспертиза в конкретной области 🏆
- Другое (укажите в комментариях) 💡
Поделитесь своими мыслями и опытом в комментариях! Как вы оцениваете соотношение «мышления» и «кодинга» в своей работе? Какие методы вы используете для повышения эффективности мыслительного процесса?
💯28👍11❤1🔥1🌚1
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
👍2🥱1
«Почему я предпочитаю функции массивов циклам»
Здесь обсуждается преимущество использования функций для работы с массивами в PHP вместо циклов foreach. Автор объясняет, что такие функции, как array_map, array_filter, и array_reduce, выполняют определённые операции для каждого элемента массива и возвращают новое значение.
Основные тезисы:
🔸Четкость намерений:
Использование функций для работы с массивами позволяет ясно понять намерения кода. Например, array_filter означает фильтрацию массива, array_map — преобразование каждого элемента, сохраняя структуру, а array_reduce — преобразование массива в новую структуру.
🔸Всё происходит внутри функции:
В цикле foreach некоторые переменные могут находиться вне самого цикла, что может привести к путанице, особенно после рефакторинга. В функции же всё выполняется внутри неё, что делает код более компактным и понятным.
🔸Меньше шансов на побочные эффекты:
В PHP можно использовать замыкания (closures) с синтаксисом fn($parameters), что снижает вероятность побочных эффектов, так как переменные, изменённые внутри функции, не влияют на те, что находятся вне её.
Здесь обсуждается преимущество использования функций для работы с массивами в PHP вместо циклов foreach. Автор объясняет, что такие функции, как array_map, array_filter, и array_reduce, выполняют определённые операции для каждого элемента массива и возвращают новое значение.
Основные тезисы:
🔸Четкость намерений:
Использование функций для работы с массивами позволяет ясно понять намерения кода. Например, array_filter означает фильтрацию массива, array_map — преобразование каждого элемента, сохраняя структуру, а array_reduce — преобразование массива в новую структуру.
🔸Всё происходит внутри функции:
В цикле foreach некоторые переменные могут находиться вне самого цикла, что может привести к путанице, особенно после рефакторинга. В функции же всё выполняется внутри неё, что делает код более компактным и понятным.
🔸Меньше шансов на побочные эффекты:
В PHP можно использовать замыкания (closures) с синтаксисом fn($parameters), что снижает вероятность побочных эффектов, так как переменные, изменённые внутри функции, не влияют на те, что находятся вне её.
BackEndTea
Why I prefer array functions over loops | BackEndTea
Improve readability and reduce bugs by using array functions over loops
😁12👍9❤1🌚1
#дайджест новостей по PHP за неделю:
🔎Выпущен CakePHP 5.0.1-RC2 — Улучшения включают: Базовые классы CakePHP теперь совместимы с PHPUnit 11. Заменено внутреннее использование md5 на xxh128. Это повлияло на хэши, используемые для групповых префиксов в Cache + многое другое!
🔎Поддержка лог-файлов Laravel в PhpStorm
🔎Новый помощник для работы со строками, утверждение Enums в AssertableJson и многое другое в Laravel 11.20 — На этой неделе команда Laravel выпустила версию 11.20, в которую вошли новый метод коллекционирования, метод дедупликации строк, возможность использования Enums в AssertableJson и многое другое.
🔎PHP 8.4.0 Alpha 4 доступен для тестирования — Команда PHP рада сообщить о выходе второго тестового релиза PHP 8.4.0, Alpha 4. Это продолжение цикла выпуска PHP 8.4, примерный план которого указан в PHP Wiki.
🔎Неделя Symfony #919 (5-11 августа 2024 года)
🔎Выпущен CakePHP 5.0.1-RC2 — Улучшения включают: Базовые классы CakePHP теперь совместимы с PHPUnit 11. Заменено внутреннее использование md5 на xxh128. Это повлияло на хэши, используемые для групповых префиксов в Cache + многое другое!
🔎Поддержка лог-файлов Laravel в PhpStorm
🔎Новый помощник для работы со строками, утверждение Enums в AssertableJson и многое другое в Laravel 11.20 — На этой неделе команда Laravel выпустила версию 11.20, в которую вошли новый метод коллекционирования, метод дедупликации строк, возможность использования Enums в AssertableJson и многое другое.
🔎PHP 8.4.0 Alpha 4 доступен для тестирования — Команда PHP рада сообщить о выходе второго тестового релиза PHP 8.4.0, Alpha 4. Это продолжение цикла выпуска PHP 8.4, примерный план которого указан в PHP Wiki.
🔎Неделя Symfony #919 (5-11 августа 2024 года)
👍2🎉2