Создание поддерживаемых PHP-приложений: чрезмерное или недостаточное проектирование
Здесь обсуждается концепция «over-engineering» (чрезмерное проектирование) и «under-engineering» (недостаточная инженерия) в контексте программирования.
В первом примере (over-engineered) показано создание класса для обработки запроса на регистрацию нового пользователя. Код включает в себя использование различных зависимостей, типизацию и применение различных паттернов и принципов проектирования. Автор утверждает, что такой код, хотя и может показаться избыточным на первый взгляд, на самом деле написан для облегчения поддержки и изменений в будущем, когда бизнес-правила и процессы станут более сложными.
Во втором примере (under-engineered) показано простое создание нового пользователя без использования отдельного класса для обработки этой задачи. Код написан прямо в контроллере и не использует никаких паттернов или принципов проектирования. Автор указывает, что такой подход может быть приемлемым для небольших проектов, но в больших и сложных приложениях он может привести к проблемам с поддержкой и изменениями в будущем.
Здесь обсуждается концепция «over-engineering» (чрезмерное проектирование) и «under-engineering» (недостаточная инженерия) в контексте программирования.
В первом примере (over-engineered) показано создание класса для обработки запроса на регистрацию нового пользователя. Код включает в себя использование различных зависимостей, типизацию и применение различных паттернов и принципов проектирования. Автор утверждает, что такой код, хотя и может показаться избыточным на первый взгляд, на самом деле написан для облегчения поддержки и изменений в будущем, когда бизнес-правила и процессы станут более сложными.
Во втором примере (under-engineered) показано простое создание нового пользователя без использования отдельного класса для обработки этой задачи. Код написан прямо в контроллере и не использует никаких паттернов или принципов проектирования. Автор указывает, что такой подход может быть приемлемым для небольших проектов, но в больших и сложных приложениях он может привести к проблемам с поддержкой и изменениями в будущем.
Davor Minchorov
Building Maintainable PHP Applications: Over-engineering vs under-engineering
👍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
🏖️ Чек лист идеального отдыха: 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 рассчитывает цикломатическую сложность для заданной области метода.
Здесь рассматривается цикломатическая сложность, метрика, используемая для измерения сложности структуры управления программы. Цикломатическая сложность рассчитывается на основе количества узлов, рёбер и выходных узлов в графе управления программой. В статье предоставляется формула для расчета цикломатической сложности и объясняется, как она используется для выявления сложного кода, который может быть сложен в поддержке.
Автор представляет проект под названием Phanalist, статический анализатор для PHP, который предназначен для расчета цикломатической сложности PHP-кода. Его мы уже упоминали.
Также объясняется, как Phanalist реализует формулу для расчета цикломатической сложности, используя структуру с именем Graph, которая содержит переменные для количества узлов, рёбер и выходных узлов. Далее предоставлены фрагменты кода, демонстрирующие, как Phanalist рассчитывает цикломатическую сложность для заданной области метода.
DEV Community
How I made it impossible to write spaghetti code.
This is part 2 of a series of my static analyzer for PHP. If you did not read part 1, I suggest you...
👍2
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #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
Санкт-Петербург. АэроТур — агентство на рынке пассажирских перевозок
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
Вакансии 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
Санкт-Петербург. АэроТур — агентство на рынке пассажирских перевозок
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
hh.ru
Вакансия Junior Fullstack разработчик (php/python/js) в Москве, работа в компании Райт Электроникс (вакансия в архиве c 22 февраля…
Зарплата: от 60000 до 80000 ₽ за месяц. Москва. Требуемый опыт: не требуется. Полная занятость. Дата публикации: 19.02.2024.
🤔5❤3🥱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 контроллерах и формах.
👩💻 Примеры использования:
Включение/выключение списка ожидания в зависимости от текущей необходимости.
Эксперименты с новыми функциями без перезагрузки кода.
Здесь описано, как добавить функциональность флагов функций (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 контроллерах и формах.
👩💻 Примеры использования:
Включение/выключение списка ожидания в зависимости от текущей необходимости.
Эксперименты с новыми функциями без перезагрузки кода.
dkarlovi.github.io
Adding feature flags to your Symfony app - dkarlovi.github.io
Adding feature flags to your Symfony app was never easier than with Gitlab and Unleash Symfony bundle
👏2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🤔 Как нестандартно войти в АйТи
Многие IT-специалисты приходят в эту сферу нестандартным путем — кто-то начинал как самоучка, а кто-то стал программистом случайно. Был ли у вас необычный старт карьеры в IT?
Расскажите нам свою историю! Ваш опыт может вдохновить тех, кто мечтает о переменах, но пока не решается начать.
❤️ С нетерпением ждем ваших комментариев!
Многие IT-специалисты приходят в эту сферу нестандартным путем — кто-то начинал как самоучка, а кто-то стал программистом случайно. Был ли у вас необычный старт карьеры в IT?
Расскажите нам свою историю! Ваш опыт может вдохновить тех, кто мечтает о переменах, но пока не решается начать.
❤️ С нетерпением ждем ваших комментариев!
❤1👍1
Что такое сериализация и десериализация?
Сериализация и десериализация — это процессы преобразования данных из их структурированного формата (например, объекты, массивы) в последовательность байтов (обычно в виде строки) и обратно. В PHP для этих целей используются функции serialize() и unserialize().
Сериализация:
Определение: Сериализация — это процесс преобразования структурированных данных (например, объектов, массивов) в строку, которую можно сохранить или передать.
Функция в PHP: serialize() — принимает переменную и возвращает её строковое представление.
Десериализация:
Определение: Десериализация — это процесс восстановления структурированных данных из их строкового представления.
Функция в PHP: unserialize() — принимает строку, созданную с помощью serialize(), и возвращает восстановленные данные.
Применение сериализации и десериализации:
Хранение данных: Сериализация может использоваться для сохранения состояния объектов или массивов в файле или в базе данных.
Передача данных: Сериализация может быть полезной при передаче данных между разными частями приложения, например, при работе с сетью или сохранении состояния сеанса.
Важно отметить, что не все данные могут быть сериализованы. Например, ресурсы (resource), некоторые типы объектов и замыкания не могут быть корректно сериализованы и десериализованы в PHP.
#вопросы_с_собеседований
Сериализация и десериализация — это процессы преобразования данных из их структурированного формата (например, объекты, массивы) в последовательность байтов (обычно в виде строки) и обратно. В 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 с самоподписанными сертификатами.
Статья предоставляет краткий набор команд для настройки сервера с PHP 8.3 и Nginx на Ubuntu Server 22.04. Она предполагает базовый уровень знаний Linux и командной строки.
Руководство включает следующие шаги:
🛠️ Установка Nginx и настройка брандмауэра.
📦 Установка PHP 8.3 из PPA Ondřej Surý.
🕵️ Проверка версии PHP и запуск процесса PHP.
⚙️ Установка общих расширений PHP, настроенных для Laravel.
🛣️ Настройка конфигурации сервера для сайта «welcome».
🔒 Дополнительно: настройка SSL с самоподписанными сертификатами.
DEV Community
Quickstart commands for setting up PHP 8.3 with Nginx on Ubuntu Server 22.04
Quickstart commands for setting up PHP 8.3 with Nginx on Ubuntu Server 22.04 ...
👏3👍2🥰1💯1
Руководитель просит быть всегда на связи, так еще и работать бесплатно на выходных. Ваши действия?
Anonymous Poll
67%
Скажу ему об этом, попробую решить проблему
4%
Пойду советоваться с коллегами, чтобы знать как поступить
3%
Буду терпеть, а дома бить стены и метать тарелки
5%
Я всё это хаваю, у меня нет выбора
21%
«Сегодня, в последний день уходящего века, я ухожу в отставку»
👍4😁4
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
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 запрещена на территории РФ
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
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 фото
🔐Хэширование — 🔑 важная концепция безопасности, которую должен знать каждый веб-разработчик. Оно позволяет нам сохранять пароли безопасно в базах данных.
Ручное хэширование значений модели
Обычно вы делали что-то подобное в своем коде Laravel для ручного хэширования значения, как на первой картинке
Автоматическое хэширование значений модели
Однако, что если мы хотим автоматически хэшировать поле пароля для нашей модели пользователя, не выполняя ручное хэширование каждый раз?
Для этого мы можем использовать хэшированное приведение модели, которое предоставляет Laravel и было добавлено в Laravel v10.10 Это автоматически хэширует значение поля, прежде чем оно будет сохранено в базе данных.
Представьте, что мы хотим обновить наш пример кода сверху и удалить ручное хэширование поля пароля. Сначала нам нужно указать в нашем классе App\Models\User, что мы хотим использовать хэшированное приведение модели для поля пароля. Мы можем сделать это, обновив свойство casts модели, как показано на 2 фото
🥰11👍2
Forwarded from Библиотека джависта | Java, Spring, Maven, Hibernate
🎮👨💻 15 игр, которые научат программированию
А также помогут подготовиться к техническому собеседованию, развить алгоритмическое мышление и просто провести свободное время с пользой.
Читать статью
А также помогут подготовиться к техническому собеседованию, развить алгоритмическое мышление и просто провести свободное время с пользой.
Читать статью
🔥2
PHP и Laravel дайджест новостей за январь 2024 года
Краткий обзор новостей из мира PHP и Laravel за январь 2024 г.
Краткий обзор новостей из мира PHP и Laravel за январь 2024 г.
Хабр
PHP и Laravel дайджест новостей за январь 2024 года
Всем привет! Краткий обзор новостей из мира PHP и Laravel за январь 2024 года от CutCode . PHP Дайджест Вышли PHP 8.2.15 и PHP 8.3.2 ? Выпуски с исправлениями ошибок вышли по расписанию. The PHP...
👍6🥱4
Forwarded from Библиотека питониста | Python, Django, Flask
💸 Рост или падение? Изменение зарплат в IT за 2023 год
Чтобы разобраться в этом вопросе, «Библиотека программиста» решила провести опрос среди читателей издания. Мы хотим понять, выросли ли ваши зарплаты в 2023 году и если да, то на сколько процентов. Или может быть наоборот — ваши доходы снизились на фоне кризисных явлений в экономике?
Примите участие в нашем коротком опросе и поделитесь своим мнением! Вместе мы проанализируем текущую ситуацию на рынке труда в IT-сфере и поймем, что ждёт эту отрасль дальше. Ждём ваших ответов!
Опрос займёт у вас примерно 4 минуты.
👉 Ссылка на опрос
Чтобы разобраться в этом вопросе, «Библиотека программиста» решила провести опрос среди читателей издания. Мы хотим понять, выросли ли ваши зарплаты в 2023 году и если да, то на сколько процентов. Или может быть наоборот — ваши доходы снизились на фоне кризисных явлений в экономике?
Примите участие в нашем коротком опросе и поделитесь своим мнением! Вместе мы проанализируем текущую ситуацию на рынке труда в IT-сфере и поймем, что ждёт эту отрасль дальше. Ждём ваших ответов!
Опрос займёт у вас примерно 4 минуты.
👉 Ссылка на опрос
Как анализ вашей кодовой базы может сэкономить вам время и деньги
📚Это своего рода руководство по обнаружению и предотвращению горячих точек в кодовой базе проекта. Она основана на концепциях, представленных в книге «Ваш Код как Место Преступления» Адама Торнхилла и содержит практические советы и инструменты для разработчиков.
🎯Что такое горячая точка?
Как в мире преступлений, места, где происходят проблемы в коде, часто следуют определенным паттернам. В коде это могут быть области, требующие особого внимания.
🔍 Как найти горячие точки в проекте?
Используйте инструменты, такие как CodeCity и CodeScene, для визуализации и анализа вашей кодовой базы. Это поможет выделить области с высокой сложностью или частыми изменениями.
🛡️ Превентивные меры
Чтобы избежать проблем, внедрите качественные ревью кода, парное программирование, статический анализ и обмен знаниями в команде. Эти меры помогут создать стабильный и поддерживаемый код.
✨ Помните, что предотвращение проблем лучше, чем их исправление!
📚Это своего рода руководство по обнаружению и предотвращению горячих точек в кодовой базе проекта. Она основана на концепциях, представленных в книге «Ваш Код как Место Преступления» Адама Торнхилла и содержит практические советы и инструменты для разработчиков.
🎯Что такое горячая точка?
Как в мире преступлений, места, где происходят проблемы в коде, часто следуют определенным паттернам. В коде это могут быть области, требующие особого внимания.
🔍 Как найти горячие точки в проекте?
Используйте инструменты, такие как CodeCity и CodeScene, для визуализации и анализа вашей кодовой базы. Это поможет выделить области с высокой сложностью или частыми изменениями.
🛡️ Превентивные меры
Чтобы избежать проблем, внедрите качественные ревью кода, парное программирование, статический анализ и обмен знаниями в команде. Эти меры помогут создать стабильный и поддерживаемый код.
✨ Помните, что предотвращение проблем лучше, чем их исправление!
nicolae.tech
How analyzing your codebase can save you time and money | nicolae.tech
A comprehensive guide about hotspots in your codebase, cognitive complexity and avoiding disasters by being proactive. An article inspired by the book "Your Code as a Crime Scene" by Adam Tornhill with practical examples.
👍4