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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
Самые полезные каналы для программистов в одной подборке!

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

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
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
🎮👨‍💻 15 игр, которые научат программированию

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

Читать статью
🔥2
💸 Рост или падение? Изменение зарплат в IT за 2023 год

Чтобы разобраться в этом вопросе, «Библиотека программиста» решила провести опрос среди читателей издания. Мы хотим понять, выросли ли ваши зарплаты в 2023 году и если да, то на сколько процентов. Или может быть наоборот — ваши доходы снизились на фоне кризисных явлений в экономике?

Примите участие в нашем коротком опросе и поделитесь своим мнением! Вместе мы проанализируем текущую ситуацию на рынке труда в IT-сфере и поймем, что ждёт эту отрасль дальше. Ждём ваших ответов!

Опрос займёт у вас примерно 4 минуты.

👉 Ссылка на опрос
Как анализ вашей кодовой базы может сэкономить вам время и деньги

📚Это своего рода руководство по обнаружению и предотвращению горячих точек в кодовой базе проекта. Она основана на концепциях, представленных в книге «Ваш Код как Место Преступления» Адама Торнхилла и содержит практические советы и инструменты для разработчиков.

🎯Что такое горячая точка?
Как в мире преступлений, места, где происходят проблемы в коде, часто следуют определенным паттернам. В коде это могут быть области, требующие особого внимания.

🔍 Как найти горячие точки в проекте?
Используйте инструменты, такие как CodeCity и CodeScene, для визуализации и анализа вашей кодовой базы. Это поможет выделить области с высокой сложностью или частыми изменениями.

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

Помните, что предотвращение проблем лучше, чем их исправление!
👍4
Пользовательские карты Laravel Pulse

Статья о том, как создать пользовательскую карточку в приложении Pulse для отслеживания количества запросов на каждую машину. Используя базовый компонент Livewire Pulse, мы создаем новый компонент, который отображает данные о запросах. Мы также настраиваем запись метрик через глобальный middleware и отображаем результаты в нашей кастомной карточке на дашборде Pulse. Это позволяет нам получить информацию о запросах и отобразить ее в удобном формате на дашборде.
🥰4👏1
Git. Что такое stash и зачем он нужен?

Stash в Git — это механизм, который позволяет временно сохранить изменения в рабочей директории, чтобы потом вернуться к ним позже. Обычно он используется в следующих случаях:

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

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

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

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

Для использования stash в Git можно воспользоваться командой git stash. Эта команда сохраняет текущие изменения в стеке stash. Позже, когда вам потребуется, вы можете применить эти изменения с помощью команды git stash apply или git stash pop. git stash apply применяет изменения, не удаляя их из stash, в то время как git stash pop применяет изменения и сразу удаляет их из stash.

#вопросы_с_собеседований
6
ИИ для PHP: как автоматизировать модульное тестирование с помощью AI Assistant?

JetBrains предлагает использовать искусственный интеллект для автоматизации процесса тестирования, представляя новый инструмент JetBrains AI Assistant. С помощью этого инструмента разработчики могут автоматически генерировать каркасы тестовых сценариев на основе имеющегося кода.

Статья приводит пример использования AI Assistant для создания модульных тестов в PHP проекте, демонстрируя, как инструмент генерирует черновой вариант теста, который можно дополнить и настроить по своему усмотрению. Также обсуждаются некоторые ограничения инструмента и перспективы его дальнейшего развития.
8🥱8👍1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🤔 Остаться или уйти? Оптимальный срок работы на одном месте

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

Многие опытные айтишники сталкиваются с такой дилеммой. С одной стороны, текущее место работы устраивает. С другой — хочется разнообразия, новых задач и знаний.

Должен ли современный IT-специалист менять работу чаще, чем раз в 5 лет? Или лучше наращивать экспертизу в рамках одной компании? А может дело совсем не в сроках, а в качестве задач и развитии карьеры?

👉 Расскажите о своём опыте в нашем новом опросе 👈
1
Фишки, которые способствуют развитию PHP

Здесь обсуждается процесс определения наиболее востребованных и ожидаемых возможностей в PHP, которые стимулируют проекты переходить на более современные версии языка. Для этого проводится аудит и линтинг 51 современного проекта на PHP 8.0 и 7.4. Затем анализируются ошибки синтаксиса, возникающие при использовании новых фишек на старых версиях PHP.

Общая совместимость с PHP 7.4 и 8.0 также была оценена. Оказалось, что около 35% проектов поддерживают совместимость с PHP 7.4, а примерно 40% — с PHP 8.0. Остальные проекты имеют определенные проблемы с совместимостью, что может занимать до 14% кодовой базы.

Наиболее часто используемые возможности в PHP 8.0 включают enum (45%), readonly свойства (35%), callable (22%), intersectional type (22%) и другие.

В PHP 7.4 самыми популярными оказались promoted properties (66%), named parameters (42%), throw as expression (27%) и mixed type (24%).

Исследование позволяет выявить, какие функции в PHP являются наиболее важными и ожидаемыми для разработчиков, и какие из них могут стимулировать переход на более современные версии языка.
👍92🥱1
#дайджест #phpdevjob

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

▪️PHP-программист
Москва. РусВент — производственная компания
Подробнее

▪️PHP-программист
Москва. Флюид-Лайн — поставки промышленного оборудования
Подробнее

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

▪️Web - разработчик
Москва. TBG Computers — крупнейший ритейлер по продаже ноутбуков
Подробнее

▪️Разработчик PHP
Москва. Восток.Софт — разработка ПО
Подробнее

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

▪️Senior PHP Developer
Москва. Курьерист — курьерская служба
Подробнее

▪️PHP developer
Санкт-Петербург. ОРЦ — международная компания-разработчик нестандартных платёжных решений
Подробнее

Понравились вакансии?
❤️ — да
🤔 — нет
7🤔4
Моя слабая сторона это...
🎉4
Убедитесь, что режим отладки Laravel отключен в рабочей среде.

Статья обсуждает важность безопасности при разработке приложений на Laravel и как можно использовать инструменты, такие как пакет spatie/laravel-health и сервис Oh Dear, чтобы обеспечить безопасность приложения. Особое внимание уделяется угрозе, связанной с включением режима отладки (APP_DEBUG) в Laravel, что может привести к раскрытию конфиденциальной информации и отключению некоторых функций безопасности.

Предложены следующие шаги для обеспечения безопасности:

Установка Laravel Health в приложение Laravel: Пакет spatie/laravel-health позволяет отслеживать состояние здоровья вашего приложения, включая режим отладки.

Добавление проверки состояния здоровья в приложение: Это позволяет Oh Dear отправлять уведомления в случае изменения значения APP_DEBUG.

Создание конечной точки для проверки состояния здоровья в вашем приложении: Это необходимо для Oh Dear, чтобы проверить состояние вашего приложения.

Конфигурирование проверки состояния здоровья в Oh Dear: Настройка URL-адреса и секретного ключа для взаимодействия с вашим приложением.

Завершение напоминает о том, что Oh Dear также предлагает проверку запланированных задач и что использование таких инструментов помогает обнаруживать различные проблемы в работе приложения, а не только включение режима отладки.
4🥱4
Что вам известно о шаблонах, которые применяются в ORM?

В контексте Object-Relational Mapping (ORM), шаблоны (или паттерны) играют важную роль в проектировании и организации работы с базой данных. Вот несколько распространенных шаблонов, используемых в ORM:

Шаблон ActiveRecord: Этот шаблон описывает объект, который инкапсулирует как данные, так и поведение для работы с этими данными. Обычно каждая запись в базе данных представляется объектом ActiveRecord. Он обеспечивает прямое соответствие между объектами и записями в базе данных.

Шаблон Repository: Repository предоставляет абстракцию для работы с коллекциями объектов. Он предоставляет методы для поиска, сохранения, удаления и запросов к данным. Репозиторий инкапсулирует логику доступа к данным и предоставляет интерфейс для работы с этими данными.

Шаблон Identity Map: Этот шаблон обеспечивает глобальное отображение идентичности объектов в приложении. Он гарантирует, что каждый объект в приложении имеет только один экземпляр в памяти, даже если он загружен из базы данных несколько раз. Это помогает избежать проблем с непоследовательностью данных и улучшает производительность.

Шаблон Unit of Work: Этот шаблон отслеживает изменения, сделанные с объектами в рамках одной транзакции базы данных. Он обеспечивает согласованность данных и управляет коммитом или откатом изменений. Шаблон Unit of Work также может использоваться для оптимизации работы с базой данных, пакетного сохранения изменений и управления транзакциями.

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

#вопросы_с_собеседований
21👍5