Как расшифровать 644 в правах на файл в Linux?
В Linux права доступа к файлам и директориям обычно представлены в восьмеричной системе счисления. Каждый набор из трех цифр представляет собой комбинацию прав доступа для владельца файла, группы и остальных пользователей.
Права доступа к файлу представлены тремя группами: для владельца (user), для группы (group) и для остальных (others). Каждая группа состоит из трех битов, представляющих права на чтение (read), запись (write) и выполнение (execute).
Теперь, чтобы расшифровать число 644:
🔸Первая цифра (6) относится к правам владельца файла.
🔸Вторая цифра (4) относится к правам группы.
🔸 цифра (4) относится к правам остальных пользователей.
Теперь преобразуем эти числа в бинарный вид:
🟢6 = 110 в двоичной системе (rw-)
🟢4 = 100 в двоичной системе (r--)
🟢4 = 100 в двоичной системе (r--)
Таким образом, права доступа для файла 644 в Linux будут следующими:
✔️Владелец файла имеет права на чтение и запись (rw-)
✔️Группа имеет право только на чтение (r--)
✔️Остальные пользователи также имеют право только на чтение (r--)
#вопросы_с_собеседований
В Linux права доступа к файлам и директориям обычно представлены в восьмеричной системе счисления. Каждый набор из трех цифр представляет собой комбинацию прав доступа для владельца файла, группы и остальных пользователей.
Права доступа к файлу представлены тремя группами: для владельца (user), для группы (group) и для остальных (others). Каждая группа состоит из трех битов, представляющих права на чтение (read), запись (write) и выполнение (execute).
Теперь, чтобы расшифровать число 644:
🔸Первая цифра (6) относится к правам владельца файла.
🔸Вторая цифра (4) относится к правам группы.
🔸 цифра (4) относится к правам остальных пользователей.
Теперь преобразуем эти числа в бинарный вид:
🟢6 = 110 в двоичной системе (rw-)
🟢4 = 100 в двоичной системе (r--)
🟢4 = 100 в двоичной системе (r--)
Таким образом, права доступа для файла 644 в Linux будут следующими:
✔️Владелец файла имеет права на чтение и запись (rw-)
✔️Группа имеет право только на чтение (r--)
✔️Остальные пользователи также имеют право только на чтение (r--)
#вопросы_с_собеседований
👍11❤3😁1
Недавний релиз Laravel 11.4 ввел фасад Exceptions, упрощающий проверку исключений в обработчике исключений. Теперь вместо withoutExceptionHandling() можно использовать Exceptions::fake(). Это избавляет от необходимости ручного захвата исключений при проверке.
👍11😁6👾2❤1🎉1
Forwarded from Библиотека джависта | Java, Spring, Maven, Hibernate
🗺️💼 Из Москвы в Дублин: опыт российского разработчика из Amazon
В этой статье я расскажу о культурных и профессиональных отличиях, с которыми мне пришлось столкнуться, переезжая из России в Латвию, а затем и в Ирландию. Надеюсь, мой опыт поможет вам понять, чего можно ожидать от такого серьезного шага.
Читать статью
В этой статье я расскажу о культурных и профессиональных отличиях, с которыми мне пришлось столкнуться, переезжая из России в Латвию, а затем и в Ирландию. Надеюсь, мой опыт поможет вам понять, чего можно ожидать от такого серьезного шага.
Читать статью
👍4😁3🎉2
Улучшите свои запросы в Laravel Eloquent с помощью Tappable Scopes
Статья об использовании «tappable scopes» в Laravel объясняет, как этот паттерн может упростить и абстрагировать сложные запросы. Вместо использования обычных методов областей запросов, автор предлагает использовать «tappable scopes» для более чистого и повторного использования кода.
Первоначально объясняется базовое использование «tappable scopes» на примере опубликованных записей и комментариев. Затем автор демонстрирует, как добавить параметры в «tappable scopes», что делает их более гибкими.
Наконец, представляется более сложный пример, где «tappable scope» используется для запроса последних опубликованных записей с автором и количеством комментариев. Это уменьшает сложность запроса и делает его легко настраиваемым для разных частей приложения.
Статья об использовании «tappable scopes» в Laravel объясняет, как этот паттерн может упростить и абстрагировать сложные запросы. Вместо использования обычных методов областей запросов, автор предлагает использовать «tappable scopes» для более чистого и повторного использования кода.
Первоначально объясняется базовое использование «tappable scopes» на примере опубликованных записей и комментариев. Затем автор демонстрирует, как добавить параметры в «tappable scopes», что делает их более гибкими.
Наконец, представляется более сложный пример, где «tappable scope» используется для запроса последних опубликованных записей с автором и количеством комментариев. Это уменьшает сложность запроса и делает его легко настраиваемым для разных частей приложения.
DEV Community
Elevate Your Laravel Eloquent Queries with Tappable Scopes
In this article, I want to go over how to use tappable scopes in Laravel. I’ve used similar patterns...
🥱10❤4🤔2👍1
💬 Куда вы предпочитаете обращаться за подсказками, если нужно сделать что-то новое?
❤️ — YouTube-туториалы
👍 — документация
#интерактив
❤️ — YouTube-туториалы
👍 — документация
#интерактив
👍117❤12
10 лучших фреймворков для тестирования на 2024 год
Это обширный обзор различных PHP-фреймворков для тестирования, их преимуществ и сферы применения. Подчеркивается важность выбора фреймворка на основе требований проекта и выделяет десять популярных PHP-фреймворков для тестирования, включая как популярные PHPUnit, Codeception, Selenium, так и менее популярные, но заслуживающие внимания.
Фреймворки оцениваются на основе таких факторов, как удобство использования, поддержка структуры кода, эффективность тестирования, избежание дублирования кода и анализ покрытия тестами.
Это обширный обзор различных PHP-фреймворков для тестирования, их преимуществ и сферы применения. Подчеркивается важность выбора фреймворка на основе требований проекта и выделяет десять популярных PHP-фреймворков для тестирования, включая как популярные PHPUnit, Codeception, Selenium, так и менее популярные, но заслуживающие внимания.
Фреймворки оцениваются на основе таких факторов, как удобство использования, поддержка структуры кода, эффективность тестирования, избежание дублирования кода и анализ покрытия тестами.
DEV Community
Top 10 PHP Testing Frameworks for 2024
A framework is a collection or set of tools and processes that work together to support testing and...
😁3👍1🔥1🥱1
Какова цель сервис провайдеров в Ларавеле?
В Laravel, сервис-провайдеры отвечают за загрузку различных аспектов приложения, таких как регистрация маршрутов, регистрация слушателей событий и регистрация миграций базы данных.
Сервис-провайдеры определяются в каталоге app/Providers и регистрируются в файле config/app.php.
Это пример сервис-провайдера, который регистрирует маршрут
#вопросы_с_собеседований
В Laravel, сервис-провайдеры отвечают за загрузку различных аспектов приложения, таких как регистрация маршрутов, регистрация слушателей событий и регистрация миграций базы данных.
Сервис-провайдеры определяются в каталоге app/Providers и регистрируются в файле config/app.php.
Это пример сервис-провайдера, который регистрирует маршрут
#вопросы_с_собеседований
🌚11👍7🥱3
Переосмысление моков: DIY подход против фреймворков на примере PHP и TypeScript
Здесь обсуждается выбор между использованием собственных моков и моков, созданных с помощью фреймворков при тестировании программного обеспечения. Моки необходимы для обеспечения надежности кода, но их неправильное использование может усложнить тестовые наборы.
Также рассматриваются различные типы тестовых двойников и обсуждаются преимущества и недостатки двух методов мокирования. Авторы рекомендуют использовать собственные моки для повышения устойчивости и простоты тестирования в долгосрочной перспективе.
Здесь обсуждается выбор между использованием собственных моков и моков, созданных с помощью фреймворков при тестировании программного обеспечения. Моки необходимы для обеспечения надежности кода, но их неправильное использование может усложнить тестовые наборы.
Также рассматриваются различные типы тестовых двойников и обсуждаются преимущества и недостатки двух методов мокирования. Авторы рекомендуют использовать собственные моки для повышения устойчивости и простоты тестирования в долгосрочной перспективе.
Kamil Ruczyński
Rethinking Mocking - DIY Approach vs. Frameworks on examples in PHP and Typescript
In the landscape of software testing, the choice between a do-it-yourself (DIY) approach to mocking or utilizing mocking frameworks is a pivotal decision for programmers. While mocking is indispensable for code reliability, its overuse or incorrect implementation…
❤5👍2🤔2🔥1
👩💻Функция Str::mask в Laravel может использоваться для замены конфиденциальной информации, например номера кредитной карты, на символы-заменители. Это позволяет сохранять безопасность конфиденциальных данных клиентов.
🔸Эта функция заменяет после 4 символов и оставляет последние 4 символа в строке на символы «*». Таким образом, конфиденциальная информация остается скрытой, но при этом сохраняется достаточно информации, чтобы использовать ее для нужных действий, например для проверки транзакций.
🔸Эта функция заменяет после 4 символов и оставляет последние 4 символа в строке на символы «*». Таким образом, конфиденциальная информация остается скрытой, но при этом сохраняется достаточно информации, чтобы использовать ее для нужных действий, например для проверки транзакций.
🔥16👍4❤1
#хочу_спросить
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
❤🔥1
TransformersPHP
Инструментарий для PHP-разработчиков, позволяющий легко добавлять возможности машинного обучения в свои проекты. Пост-интро.
Инструментарий для PHP-разработчиков, позволяющий легко добавлять возможности машинного обучения в свои проекты. Пост-интро.
GitHub
GitHub - CodeWithKyrian/transformers-php: Transformers PHP is a toolkit for PHP developers to add machine learning magic to their…
Transformers PHP is a toolkit for PHP developers to add machine learning magic to their projects easily. - GitHub - CodeWithKyrian/transformers-php: Transformers PHP is a toolkit for PHP developer...
❤🔥5👍2
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #phpdevjob
Вакансии PHP разработчиков уровня Junior
▪️Разработчик PHP
Тюмень. Восток.Софт — разработка ПО
Подробнее
▪️PHP-программист
Удаленка. Офис в Барнауле. ИНЛАЙН — разработка и развитие интернет-сервисов в сфере B2B
Подробнее
Вакансии PHP разработчиков уровня Middle
▪️PHP-разработчик
Удаленка. Офис в Ульяновске. Дион Софт — разработка и развитие медицинской информационной системы
Подробнее
▪️PHP разработчик
Удаленка. Офис в Москве. Restaurant Guru — ресурс, в котором собраны лучшие заведения со всех частей света
Подробнее
Вакансии PHP разработчиков уровня Senior
▪️PHP-разработчик
Удаленка. Офис в Москве. АЙТИ.СПЕЙС — разработка, внедрение и сопровождение ПО
Подробнее
▪️Ведущий разработчик PHP
Удаленка. Офис в Москве. Dex — разработка мобильных приложений и web-сервисов
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
Вакансии PHP разработчиков уровня Junior
▪️Разработчик PHP
Тюмень. Восток.Софт — разработка ПО
Подробнее
▪️PHP-программист
Удаленка. Офис в Барнауле. ИНЛАЙН — разработка и развитие интернет-сервисов в сфере B2B
Подробнее
Вакансии PHP разработчиков уровня Middle
▪️PHP-разработчик
Удаленка. Офис в Ульяновске. Дион Софт — разработка и развитие медицинской информационной системы
Подробнее
▪️PHP разработчик
Удаленка. Офис в Москве. Restaurant Guru — ресурс, в котором собраны лучшие заведения со всех частей света
Подробнее
Вакансии PHP разработчиков уровня Senior
▪️PHP-разработчик
Удаленка. Офис в Москве. АЙТИ.СПЕЙС — разработка, внедрение и сопровождение ПО
Подробнее
▪️Ведущий разработчик PHP
Удаленка. Офис в Москве. Dex — разработка мобильных приложений и web-сервисов
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
tyumen.hh.ru
Вакансия Разработчик PHP (junior) в Тюмени, работа в компании Восток.Софт (вакансия в архиве c 28 мая 2024)
Зарплата: не указана. Тюмень. Требуемый опыт: 1–3 года. Полная занятость. Дата публикации: 27.05.2024.
😁7👍4🥱3🔥1
Финализация классов
Здесь обсуждается значимость применения ключевого слова final в классах PHP для повышения безопасности и автоматизации процесса их окончательной реализации.
Сначала обсуждается преимущества применения ключевого слова final в классах, а также проблем, с которыми сталкиваются инструменты статического анализа кода, такие как Rector, при попытке автоматизировать процесс финализации классов. Затем переходит к обсуждению необходимости автоматизации этого процесса, особенно в случае больших проектов с большим количеством классов.
Далее представлен инструмент Swiss Knife, который позволяет автоматически обнаруживать и финализировать классы в проекте, учитывая различные сценарии, такие как классы-родители, сущности Doctrine, классы, которые могут быть промокированы в тестах, и т. д.
Здесь обсуждается значимость применения ключевого слова final в классах PHP для повышения безопасности и автоматизации процесса их окончательной реализации.
Сначала обсуждается преимущества применения ключевого слова final в классах, а также проблем, с которыми сталкиваются инструменты статического анализа кода, такие как Rector, при попытке автоматизировать процесс финализации классов. Затем переходит к обсуждению необходимости автоматизации этого процесса, особенно в случае больших проектов с большим количеством классов.
Далее представлен инструмент Swiss Knife, который позволяет автоматически обнаруживать и финализировать классы в проекте, учитывая различные сценарии, такие как классы-родители, сущности Doctrine, классы, которые могут быть промокированы в тестах, и т. д.
Tomasvotruba
Finalize Classes - Automated and Safe
Final classes have [many](https://ocramius.github.io/blog/when-to-declare-classes-final/) [great](https://tomasvotruba.com/blog/2019/01/24/how-to-kill-parents) [benefits](https://matthiasnoback.nl/2018/09/final-classes-by-default-why/) for future human readers…
❤2
ComposerRequireChecker
Инструмент CLI для проверки того, использует ли конкретный пакет composer импортированные символы, которые не входят в его прямые зависимости от composer.
Инструмент CLI для проверки того, использует ли конкретный пакет composer импортированные символы, которые не входят в его прямые зависимости от composer.
GitHub
GitHub - maglnet/ComposerRequireChecker: A CLI tool to check whether a specific composer package uses imported symbols that aren't…
A CLI tool to check whether a specific composer package uses imported symbols that aren't part of its direct composer dependencies - maglnet/ComposerRequireChecker
👍4
Как реализовать паттерн проектирования «Адаптер» на PHP, и какие распространенные случаи его использования?
В PHP вы можете реализовать паттерн «Адаптер», чтобы обеспечить работу несовместимых интерфейсов вместе.
В нашем примере:
Adaptee — класс с несовместимым интерфейсом.
Target — интерфейс, ожидаемый клиентом.
Adapter — класс, который адаптирует Adaptee к интерфейсу Target.
Распространенные случаи использования паттерна Адаптер включают:
🟢Интеграция с легаси-кодом: Когда у вас есть старый код с другим интерфейсом, который нужно использовать в новой системе.
🟢Использование сторонних библиотек: Когда вы хотите использовать стороннюю библиотеку, которая не соответствует требуемому интерфейсу.
🟢Мокирование объектов при тестировании: Когда нужно создать мок-объекты, которые реализуют определенный интерфейс для целей тестирования.
🟢Масштабируемость системы: Когда нужно переключаться между различными реализациями функциональности без изменения кода клиента.
#вопросы_с_собеседований
В PHP вы можете реализовать паттерн «Адаптер», чтобы обеспечить работу несовместимых интерфейсов вместе.
В нашем примере:
Adaptee — класс с несовместимым интерфейсом.
Target — интерфейс, ожидаемый клиентом.
Adapter — класс, который адаптирует Adaptee к интерфейсу Target.
Распространенные случаи использования паттерна Адаптер включают:
🟢Интеграция с легаси-кодом: Когда у вас есть старый код с другим интерфейсом, который нужно использовать в новой системе.
🟢Использование сторонних библиотек: Когда вы хотите использовать стороннюю библиотеку, которая не соответствует требуемому интерфейсу.
🟢Мокирование объектов при тестировании: Когда нужно создать мок-объекты, которые реализуют определенный интерфейс для целей тестирования.
🟢Масштабируемость системы: Когда нужно переключаться между различными реализациями функциональности без изменения кода клиента.
#вопросы_с_собеседований
🔥16👍8❤1
Фасады Laravel
В статье:
— Обсуждается использование фасадов Laravel и оспаривает утверждение, что они не являются настоящими фасадами, а скорее являются прокси. Она утверждает, что при правильном использовании фасадов можно добиться чистого и тестируемого кода. Автор приводит примеры того, как использовать фасады в реальном времени для упрощения тестирования и сделать код более поддерживаемым.
— В первом примере показано, как переработать вызов статического метода в вызов обычного метода с использованием фасадов в реальном времени, что облегчает тестирование без необходимости дополнительных интерфейсов или изменений кода.
— Рассматривается концепция «горячей заменяемости», используя пример диспетчеризации заданий с различными реализациями для тестирования и производственной среды. Показано, как фасады могут упростить переключение между реализациями и сделать код более адаптивным.
В статье:
— Обсуждается использование фасадов Laravel и оспаривает утверждение, что они не являются настоящими фасадами, а скорее являются прокси. Она утверждает, что при правильном использовании фасадов можно добиться чистого и тестируемого кода. Автор приводит примеры того, как использовать фасады в реальном времени для упрощения тестирования и сделать код более поддерживаемым.
— В первом примере показано, как переработать вызов статического метода в вызов обычного метода с использованием фасадов в реальном времени, что облегчает тестирование без необходимости дополнительных интерфейсов или изменений кода.
— Рассматривается концепция «горячей заменяемости», используя пример диспетчеризации заданий с различными реализациями для тестирования и производственной среды. Показано, как фасады могут упростить переключение между реализациями и сделать код более адаптивным.
blog.oussama-mater.tech
Laravel Facades - Write Testable Code
Laravel relies heavily on Facades. Some might think they are anti-patterns, but I believe that if they are used correctly, they can result in clean and testable code. Let's see how.
👍6
PHP/FI 1. Personal Home Page Tools/Forms Interpreter
История PHP начинается не с полноценного языка программирования, а с набора CGI-скриптов на C, известного как PHP/FI 1. Здесь мы возвращаемся к истокам PHP, рассматривая его первую версию, её компиляцию и функциональность.
История PHP начинается не с полноценного языка программирования, а с набора CGI-скриптов на C, известного как PHP/FI 1. Здесь мы возвращаемся к истокам PHP, рассматривая его первую версию, её компиляцию и функциональность.
Хабр
PHP/FI 1. Personal Home Page Tools/Forms Interpreter
Путь от набора CGI-скриптов до одного из самых популярных языков веб-разработки История зарождения PHP История PHP начинается не с полноценного языка программирования, а с набора CGI-скриптов на C,...
👍7