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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🏔 Эпикфейл: карьера катится к чертям

🤦‍♂️ У всех нас случались провалы в карьере, о которых не хочется распространяться. Неловкий момент на собеседовании, провал проекта из-за глупой ошибки, конфликт с начальством — такие ситуации хочется поскорее забыть. Однако часто именно они дают нам самые ценные уроки и закаляют как профессионалов.

📝 Поделитесь своей историей карьерного провала в нашем новом опросе и расскажите, к чему он привел в итоге. Быть может, эта ошибка позволила вам пересмотреть свой путь и выбрать более подходящую профессию? А может, вы сделали правильные выводы и сейчас добились успеха?

👉 Поделиться историей
😁31
Хостинг статичных Laravel-приложений

Недавно компания Spatie выпустила новый пакет под названием laravel-export, который упаковывает ваше приложение Laravel в статический сайт, который можно хостить. Это отличное дополнение к экосистеме Laravel, поскольку это открывает целый новый способ размещения приложений Laravel.

Этот метод размещения идеально подходит для веб-сайтов, таких как:

🟠блоги
🟠портфолио
🟠посадочные страницы

Которые не зависят от запросов к серверу бэкенда, а отображают статическую информацию.

Здесь показано, как использовать laravel-export для развертывания блога на Cloudflare Pages, Netlify и Vercel.
👍4🤔3
Laravel трюки: автоматическое подключение каналов логирования

В статье представлен метод автоматического подключения каналов логирования в Laravel через использование механизма сервис-контейнеров (DI). Подробно описаны шаги этого метода, начиная с обзора функционала логирования в Laravel и проблемы, связанной с прямым использованием конкретных каналов в классах.

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

Также представлен альтернативный вариант с использованием автопровязывания (Autowiring), где логгер передается в метод класса как аргумент, и определяется правило для сервис-контейнера в AppServiceProvider.
😁8👍2
😺🐙💡 Как сделать креативный профиль на GitHub

Расскажем, как представить свои навыки, опыт и пет-проекты так, чтобы на профиль обращали внимание потенциальные работодатели и единомышленники.

👉 Читать статью
👉 Зеркало
😁8👍1
Что такое Zend Engine?

Zend Engine — это механизм выполнения на языке C с открытым исходным кодом, который интерпретирует язык программирования PHP. Он был изначально разработан Анди Гутмансом и Зеевом Сураcки, когда они были студентами Технического университета Израиля.

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

Одним из важных вкладов Zend Engine в эволюцию PHP стало внедрение Zend Extension API (ZE), позволяющего разработчикам создавать собственные расширения на C или C++, чтобы расширить функциональность PHP. Эти расширения могут использоваться для интеграции PHP с внешними библиотеками, добавления новых возможностей или оптимизации производительности.

#вопросы_с_собеседований
👍21🥰1🥱1
Создание поддерживаемых PHP-приложений: чрезмерное или недостаточное проектирование

Здесь обсуждается концепция «over-engineering» (чрезмерное проектирование) и «under-engineering» (недостаточная инженерия) в контексте программирования.

В первом примере (over-engineered) показано создание класса для обработки запроса на регистрацию нового пользователя. Код включает в себя использование различных зависимостей, типизацию и применение различных паттернов и принципов проектирования. Автор утверждает, что такой код, хотя и может показаться избыточным на первый взгляд, на самом деле написан для облегчения поддержки и изменений в будущем, когда бизнес-правила и процессы станут более сложными.

Во втором примере (under-engineered) показано простое создание нового пользователя без использования отдельного класса для обработки этой задачи. Код написан прямо в контроллере и не использует никаких паттернов или принципов проектирования. Автор указывает, что такой подход может быть приемлемым для небольших проектов, но в больших и сложных приложениях он может привести к проблемам с поддержкой и изменениями в будущем.
👍6
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🍋 Подборка лучших статей «Библиотеки программиста» за январь: сохраняй в заметки, чтобы не пропустить #самыйсок

🏖️ Чек лист идеального отдыха: 5 психологических техник расслабления
👨‍💻 Особенности работы в ИТ: информация из первых рук
🎉 Python и неопытные программисты: наши лучшие статьи за 2023 год
🏖️ Синдром упущенного отпуска: почему так опасно игнорировать заслуженный отдых
😺🐙📄 Как разместить резюме на GitHub Pages
💣 Кем вы видите себя через 5 лет: как отвечать на странные и неудобные вопросы на собеседовании
🏖️ Синдром упущенного отпуска: почему так опасно игнорировать заслуженный отдых
🤖 Итоги недели в мире ИИ и обзоры новых сервисов: новые модели для генерации впечатляющих видео
🏅 Решаем 5 олимпиадных задач на Python
📈 9 главных трендов в разработке фронтенда в 2024 году
🔤 Азбука SQL в примерах. Часть 3. Обрабатываем результаты и делаем сложные запросы
🐍 Создаем игру «Виселица» на Python:
👉 Часть 1. Командная строка
👉 Часть 2. Графический интерфейс на PySimpleGUI
💰⬆️ 10 факторов, влияющих на зарплату программиста
🐻‍❄️ Быстрее Pandas в 10 раз: Polars — высокопроизводительная библиотека для анализа больших данных на Python
👨‍💻🧩 Психология и ИТ: 17 личностных качеств, необходимых для успешной карьеры
🏃 Самоучитель по Go для начинающих:
👉 Часть 5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
👉 Часть 6. Функции и аргументы. Области видимости. Рекурсия. Defer
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
2
«Как я сделал невозможным написание спагетти-кода»

Здесь рассматривается цикломатическая сложность, метрика, используемая для измерения сложности структуры управления программы. Цикломатическая сложность рассчитывается на основе количества узлов, рёбер и выходных узлов в графе управления программой. В статье предоставляется формула для расчета цикломатической сложности и объясняется, как она используется для выявления сложного кода, который может быть сложен в поддержке.

Автор представляет проект под названием Phanalist, статический анализатор для PHP, который предназначен для расчета цикломатической сложности PHP-кода. Его мы уже упоминали.

Также объясняется, как Phanalist реализует формулу для расчета цикломатической сложности, используя структуру с именем Graph, которая содержит переменные для количества узлов, рёбер и выходных узлов. Далее предоставлены фрагменты кода, демонстрирующие, как Phanalist рассчитывает цикломатическую сложность для заданной области метода.
👍2
#дайджест #phpdevjob

Вакансии PHP разработчиков уровня Junior

▪️Junior Fullstack разработчик
Москва. Райт Электроникс — полный спектр услуг в области контрактного производства электроники
Подробнее

▪️Junior PHP разработчик
Москва, Convergent — информационные технологии, системная интеграция
Подробнее

Вакансии PHP разработчиков уровня Middle

▪️Middle PHP разработчик
Москва. Ит-Финанс — разработка ПО для лидогенерации и fintech компаний
Подробнее

▪️Middle PHP Wordpress разработчик
Москва, Студия Oxem — разработка цифровых продуктов
Подробнее

Вакансии PHP разработчиков уровня Senior

▪️Senior Back-end разработчик
Москва. TextMagic — платформа для обмена SMS-сообщениями
Подробнее

▪️PHP Developer
Санкт-Петербург. АэроТур — агентство на рынке пассажирских перевозок
Подробнее

Понравились вакансии?
❤️ — да
🤔 — нет
🤔53🥱3
#хочу_спросить

Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Добавление feature flags в ваше приложение Symfony

Здесь описано, как добавить функциональность флагов функций (feature flags) в Symfony приложение с использованием Gitlab и Symfony Bundle под названием Unleash Symfony bundle.

🚀 Цель: Контроль скорости регистрации новых пользователей в приложении Remembase.

🔍 Проблема: Необходимо контролировать скорость регистрации новых пользователей и предотвратить перегрузку системы.

🛠️ Решение: Внедрение флагов функций (feature flags) с помощью Gitlab и Unleash Symfony bundle.

🚦 Что такое флаги функций?: Флаги функций позволяют изменять поведение приложения без изменения кода.

⚙️ Использование с Gitlab: Gitlab поддерживает флаги функций с использованием протокола Unleash, что позволяет управлять ими централизованно.

🛠️ Интеграция с Symfony:
Установка и настройка Unleash Symfony bundle.
Использование флагов функций в Twig шаблонах, Symfony контроллерах и формах.

👩‍💻 Примеры использования:
Включение/выключение списка ожидания в зависимости от текущей необходимости.
Эксперименты с новыми функциями без перезагрузки кода.
👏2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🤔 Как нестандартно войти в АйТи

Многие IT-специалисты приходят в эту сферу нестандартным путем — кто-то начинал как самоучка, а кто-то стал программистом случайно. Был ли у вас необычный старт карьеры в IT?

Расскажите нам свою историю! Ваш опыт может вдохновить тех, кто мечтает о переменах, но пока не решается начать.

❤️ С нетерпением ждем ваших комментариев!
1👍1
Что такое сериализация и десериализация?

Сериализация и десериализация — это процессы преобразования данных из их структурированного формата (например, объекты, массивы) в последовательность байтов (обычно в виде строки) и обратно. В PHP для этих целей используются функции serialize() и unserialize().

Сериализация:

Определение: Сериализация — это процесс преобразования структурированных данных (например, объектов, массивов) в строку, которую можно сохранить или передать.
Функция в PHP: serialize() — принимает переменную и возвращает её строковое представление.

Десериализация:

Определение: Десериализация — это процесс восстановления структурированных данных из их строкового представления.
Функция в PHP: unserialize() — принимает строку, созданную с помощью serialize(), и возвращает восстановленные данные.

Применение сериализации и десериализации:

Хранение данных: Сериализация может использоваться для сохранения состояния объектов или массивов в файле или в базе данных.
Передача данных: Сериализация может быть полезной при передаче данных между разными частями приложения, например, при работе с сетью или сохранении состояния сеанса.

Важно отметить, что не все данные могут быть сериализованы. Например, ресурсы (resource), некоторые типы объектов и замыкания не могут быть корректно сериализованы и десериализованы в PHP.

#вопросы_с_собеседований
🥱6👍5
Команды для настройки PHP 8.3 с Nginx на сервере Ubuntu 22.04

Статья предоставляет краткий набор команд для настройки сервера с PHP 8.3 и Nginx на Ubuntu Server 22.04. Она предполагает базовый уровень знаний Linux и командной строки.

Руководство включает следующие шаги:

🛠️ Установка Nginx и настройка брандмауэра.
📦 Установка PHP 8.3 из PPA Ondřej Surý.
🕵️ Проверка версии PHP и запуск процесса PHP.
⚙️ Установка общих расширений PHP, настроенных для Laravel.
🛣️ Настройка конфигурации сервера для сайта «welcome».
🔒 Дополнительно: настройка SSL с самоподписанными сертификатами.
👏3👍2🥰1💯1
Самые полезные каналы для программистов в одной подборке!

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

🔥Для всех

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

#️⃣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-разработчиков

👾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++

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

Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика

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

Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
👍2🔥1🥱1
Автоматическое хеширование значений модели Laravel

🔐Хэширование — 🔑 важная концепция безопасности, которую должен знать каждый веб-разработчик. Оно позволяет нам сохранять пароли безопасно в базах данных.

Ручное хэширование значений модели
Обычно вы делали что-то подобное в своем коде Laravel для ручного хэширования значения, как на первой картинке

Автоматическое хэширование значений модели
Однако, что если мы хотим автоматически хэшировать поле пароля для нашей модели пользователя, не выполняя ручное хэширование каждый раз?

Для этого мы можем использовать хэшированное приведение модели, которое предоставляет Laravel и было добавлено в Laravel v10.10 Это автоматически хэширует значение поля, прежде чем оно будет сохранено в базе данных.

Представьте, что мы хотим обновить наш пример кода сверху и удалить ручное хэширование поля пароля. Сначала нам нужно указать в нашем классе App\Models\User, что мы хотим использовать хэшированное приведение модели для поля пароля. Мы можем сделать это, обновив свойство casts модели, как показано на 2 фото
🥰11👍2