Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
11.2K subscribers
1.39K photos
23 videos
26 files
4.09K links
Все самое полезное для пхпшника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/bca892d6

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
Forwarded from Библиотека программиста | программирование, кодинг, разработка
📖 ТОП-10 книг, без которых не обойтись ни одному программисту

Мы подготовили для вас подборку из 10 книг, без которых не обойтись ни одному профессионалу в IT. Эти книги станут для вас настольными на долгие годы.

🔗 Основной сайт
🔗 Зеркало
👍133
NativePHP — разработка настольных приложений с помощью PHP

Инструмент Марселя Посиота предоставляет простые API и инструменты для создания кроссплатформенных настольных приложений, как если бы вы создавали обычные веб-приложения.

За кулисами он использует либо Electron, либо Tauri, поэтому «Native» в названии может немного вводить в заблуждение. Но с точки зрения PHP-разработчика, все это красиво упаковано в знакомые инструменты и синтаксис.

Пока работает только с Laravel, но обещают реализовать адаптеры для других фреймворков и нативного PHP.

Вот пример приложения, созданного с помощью NativePHP — simonhamp/cronikl — простой инструмент для управления заданиями cron.
🍌74👍2
Создание PHP-расширения на Rust

Статья начинается с объяснения, что такое расширение PHP и как оно может быть полезно для дополнительной функциональности языка. Затем рассказывается про фреймворк PHPER (PHP Enjoy Rust), с помощью которого можно легко писать расширения на Rust, легко интегрирующиеся с PHP

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

Здесь также представлены примеры кода в виде создания расширения для работы с PDF-файлами
🔥151👍1
LM-nGram-с-php

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

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

Модель обучается на текстовом файле с 7 книгами о Гарри Поттере, сериализуется для будущего использования, а затем используется для создания новых предложений на основе вероятностей последовательностей слов в обучающих данных.
👍71
Еще один #дайджест новостей по PHP за неделю:

🔎 PHPSandbox — это веб-приложение, которое позволяет вам быстро создавать прототипы или делиться проектами PHP без настройки локальной среды.

🔎Вышла версия Filament v3, которая включает в себя множество новых функций, полностью обновленный пользовательский интерфейс, новый веб-сайт, поддержку Livewire 3 и многое другое!

🔎Вышел Symfony 6.2.14. Вот список наиболее важных изменений с момента выпуска 6.2.13

🔎A Week of Symfony #865 (24-30 июля 2023 г.)
👍4🔥21
Чем отличаются модульные тесты от интеграционных?

. Модульные тесты:
- Тестируют отдельные модули или функции программы, обычно на уровне кода.
- Пишутся программистами для проверки корректности работы отдельных компонентов программы.
- Могут быть автоматическими или ручными.
- Могут быть запущены независимо от других компонентов программы.
- Могут использовать заглушки (mocks) или подставные объекты (mock objects) для изоляции тестируемого модуля от зависимостей.

2. Интеграционные тесты:
- Тестируют взаимодействие между различными модулями и компонентами программы.
- Проверяют, что все компоненты взаимодействуют правильно и вместе выполняют заданную функциональность.
- Могут быть автоматическими или ручными.
- Требуют наличия всех зависимостей и окружения, необходимых для запуска тестируемой функциональности.
- Часто выполняются на уровне системы или её компонентов, а не только на уровне кода.

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

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

#вопросы_с_собеседований
👍162🏆1
Эксперимент: Замена Symfony DI на Laravel Container в ECS

Здесь подробно описываются причины, по которым проводится этот эксперимент, а также объясняются ключевые различия между DI контейнерами Symfony и Laravel. Далее определяются задачи, которые надо решить с помощью нового контейнера, и объясняется, как происходит замена контейнера.

В статье автор представляет некоторые проблемы, с которыми столкнулся при замене контейнера, и рассказывает о решениях, которые были найдены для этих проблем. Он также анализирует производительность и преимущества, которые были получены после замены контейнера.
👍7🤔4🍌21
Forwarded from Библиотека программиста | программирование, кодинг, разработка
#проектирование_систем 

📝 Наглядная демонстрация распространенных алгоритмов балансировки нагрузки

🔹 Статические алгоритмы

1️⃣ Round Robin, или алгоритм кругового обслуживания, представляет собой перебор по круговому циклу: первый запрос передаётся одному серверу, затем следующий запрос передаётся другому и так до достижения последнего сервера, после чего всё начинается сначала.

📌 Недостаток алгоритма в том, что в нём не учитывается количество активных на данный момент подключений

2️⃣ Sticky Round Robin — вариация алгоритма Round Robin. Если первый запрос Алисы отправляется к сервису А, то и последующие запросы также отправляются к сервису А.
3️⃣ Weighted Round Robin — вариация алгоритма Round Robin. Каждому серверу присваивается весовой коэффициент в соответствии с его производительностью и мощностью.
4️⃣ Хэш — алгоритм, который применяет хэш-функцию к IP-адресу или URL-адресу входящих запросов. Запросы направляются в соответствующие экземпляры на основе результата хэш-функции.

🔹 Динамические алгоритмы

5️⃣ Least connections — алгоритм, при котором новое подключение передается на сервер, на который в данный момент установлено наименьшее число соединений.
6️⃣ Least response time — алгоритм, который учитывает не только количество соединений, но и среднее время. Тогда первым в списке будет сервер с наименьшим количеством подключений и наименьшим временем ответа.

🔗 Источник
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72🔥2
25 вопросов, которые стоит задать HR-менеджеру на интервью

В этой статье разберемся, что спросить у работодателя, чтобы получить оффер.
😁3👍21
8 вредных привычек у разработчиков Laravel

Статья освещает важные проблемы и плохие привычки, с которыми разработчики Laravel могут сталкиваться при написании кода. Автор статьи рассматривает восемь распространенных ошибок и плохих практик, которые разработчики часто допускают при использовании Laravel:

Не отделять валидацию от контроллеров

Несоблюдение принципа SRP

Неиспользование промежуточного ПО

и другие.
👍621🔥1
🔎Какой сертификат вы бы посоветовали получить?⬇️⬇️⬇️
🍌3
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы

☕️Java

Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🧠C++

Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие профильные каналы

Библиотека фронтендера
Библиотека шарписта
Библиотека Go разработчика
Библиотека мобильного разработчика
Библиотека хакера
Библиотека питониста
Библиотека devops’a
Библиотека тестировщика
Библиотека пхпшника

💼Каналы с вакансиями

Вакансии по питону, Django, Flask
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии по C#, .NET, Unity
Вакансии по Go
Вакансии по PHP, Symfony, Laravel
Вакансии по DevOps & SRE
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
😁32🍌2🤩1
Почему после PHP 5 идет сразу 7, куда делась 6?

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

11 марта 2010 команда разработчиков приняла решение об отмене выпуска PHP 6 в текущем его виде. В результате транк с PHP 6 был перенесён в бранч, а в транке образовалась новая версия — 5.4, в которую разработчики перенесли все наработки из PHP 6, кроме юникода.
👍201
✍️«Библиотека программиста» собирает кейсы использования нейросетей

Какие самые необычные задачи вы выполняли с помощью нейросетей? Может быть, вы просили ИИ пройти тестирование по правилам безопасности или писали с его помощью заявление на увольнение?

Заполняйте форму — лучшие истории появятся в нашей подборке по теме.

👉Ссылка тут👈
3
Подготовьтесь к Symfony 6.4 и Symfony 7.0

Здесь подробно описывается как подготовить свои проекты к новым версиям, которые выходят в ноябре 2023 года.

В первую очередь рассказывается про устаревание - При внесении изменений в функцию Symfony сохраняет старое поведение (помечая его как устаревшее) и добавляет поддержку нового поведения, и то, в каких версиях оно будет, а также описывается шаги для подготовки к обновлению своего проекта новую версию
11🔥5