Я профессионально работаю над веб-приложениями уже более десяти лет, и за это время пришлось научиться использовать множество различных систем и инструментов. В процессе обучения я обнаружил, что официальная документация, как правило, оказывается наиболее полезной.
За исключением… Postgres. Дело не в том, что официальная документация не является выдающейся (она такая и есть!) — она просто огромна. Для текущей версии (17 на момент написания статьи), если распечатать её в виде стандартного PDF на бумаге формата A4, она занимает 3,024 страницы. Это не то, что может просто сесть и прочитать от начала до конца любой начинающий инженер.
Поэтому я хочу попытаться собрать воедино те моменты, которые мне хотелось бы, чтобы кто-то просто рассказал перед началом работы с базой данных Postgres. Надеюсь, это облегчит жизнь следующему человеку, отправляющемуся в путешествие, подобное моему.
Обратите внимание, что многие из этих вещей могут быть применимы и к другим системам управления базами данных (СУБД) SQL или к другим базам данных в целом. Но я не так хорошо с ними знаком, поэтому не уверен, что к ним относится, а что нет.
#DataBase #Postgres #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
При написании тестов PestPHP вы, скорее всего, будете использовать
$this, что не очень хорошо для автозаполнения IDE и может потребовать добавления PHPDoc. Чтобы избежать этого, используйте в тестах хелпер test(), возвращающий текущий экземпляр Test Case #Laravel #PestPHP #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
CSS переменные можно использовать, чтобы сделать цвета темнее, когда они отображаются на светлом фоне, и светлее, когда они отображаются на тёмном, что делает их более яркими в обоих случаях.
Часто, когда речь идёт о светлом и тёмном режимах, подразумевается полная смена цветов. Светлый цвет становится темным и наоборот. Такова сущность ситуации!
Но подумайте об оранжевом. О розовом. Зелёном и голубом. Это цвета, имеющие приличные шансы работать хорошо как в тёмной, так и в светлой теме.
#Frontend #CSS #ColorScheme #DarkMode #LightMode
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Заголовки могут быть полезны. Например, глобальный user agent может помочь идентифицировать запросы вашего приложения в других сервисах или сторонних API. Laravel уже поддерживает middleware для запросов и ответов, позволяющие делать именно это
#Laravel #HTTP #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2😁1
Большинство баз данных имеют определённые типы данных, но SQLite значительно отличается от других систем баз данных. В статье рассказывается о динамической системе типов SQLite и различных типах данных для тех, кто только начинает работать с SQLite.
SQLite — популярная, лёгкая система баз данных, хранящая данные в одном файле. Её простоте способствует гибкая, динамическая система типов, отличающаяся от статических, жёстких типов, используемых в других системах баз данных, таких как MySQL, PostgreSQL или SQL Server, требующих указания типов данных при создании таблиц.
#DataBase #SQLite #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
rawColumn`В Laravel v11.32 появился новый метод
rawColumn. Теперь, вместо использования DB::statement, когда грамматика не поддерживает обновление или создание колонки, можно использовать метод rawColumn #Laravel #Migration #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Понимание различных типов SSH ключей
Ключи Secure Shell (SSH) неотъемлемая часть современной защиты серверов и сетей. Они позволяют аутентифицировать пользователей и устройства, не полагаясь на пароли, уязвимые для попыток взлома. В статье рассмотрим различные типы ключей SSH и способы их эффективного использования.
🖥 Читать статью
📱 @dev_notes_ru
#DevOps #SSH
Ключи Secure Shell (SSH) неотъемлемая часть современной защиты серверов и сетей. Они позволяют аутентифицировать пользователей и устройства, не полагаясь на пароли, уязвимые для попыток взлома. В статье рассмотрим различные типы ключей SSH и способы их эффективного использования.
#DevOps #SSH
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Вам когда-нибудь требовалось выполнить
EXPLAIN для запроса Eloquent, чтобы проверить, используется ли индекс? Хотя можно вручную извлечь необработанный запрос и выполнить на нем EXPLAIN, можно добавить в цепочку метода explain, чтобы сделать именно это#Laravel #Eloquent #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
#[RouteParameter]В этой статье вы узнаете о PHP атрибуте
#[RouteParameter], который используется в Laravel для доступа к моделям, связанным с маршрутом, в классах запросов форм. Мы подробно рассмотрим, как применять этот атрибут и какие проблемы он решает.#Laravel #Attribute #RouteParameter
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Начиная с Laravel v11.31, можно обеспечить HTTPS для всех генерируемых URL без необходимости указывать схему HTTPS в запросе
#Laravel #URL #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Хотите определить, есть ли у элемента переполнение или он прокручивается? Это возможно с помощью анимации, управляемой прокруткой! Кроме того, эту информацию можно хранить в переменной на уровне
:root и делать с ней всё что угодно (например, стилизовать элементы на странице).:root {
timeline-scope: --scroll;
animation: --scroll forwards;
animation-timeline: --scroll;
container-name: --scroll;
}
.box { /* соответствующий элемент */
overflow: auto; /* или hidden */
scroll-timeline: --scroll;
}
@keyframes --scroll {
0%,to{--scroll: 1;}
}
@container --scroll style(--scroll: 1) {
/* CSS, когда .box переполнен
можно нацелиться на любой элемент на странице!
*/
}
/* Да, вы можете использовать --scroll везде! */Измените размер элемента
.box в демонстрационном примере на Использование запроса стиля не обязательно, и можно использовать более простую версию, если необходимо нацелиться на соответствующий элемент.
.box {
overflow: auto; /* или hidden */
animation: scrolling forwards;
animation-timeline: scroll(self);
}
@keyframes scrolling {
0%,to{
/* CSS, применяемый к .box, когда в нём есть переполнение */
}
}Или дочерний элемент
.box {
overflow: auto; /* или hidden */
}
.box .child {
animation: scrolling forwards;
animation-timeline: scroll(); /* он будет считать, что у предка overflow: auto/hidden */
}
@keyframes scrolling {
0%,to{
/* CSS, применяемый к .child, когда у .box есть переполнение */
}
}Пример на
#CSS #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Рассмотрим как решить распространённую ошибку Git: "refusing to merge unrelated histories" при объединении репозиториев с несвязанными историями.
Ошибка Git "refusing to merge unrelated histories" возникает, когда Git пытается объединить ветки или репозитории без общей истории коммитов. Это может быть случай, когда кто-то пытается объединить два независимых репозитория, объединить два проекта или даже синхронизировать локальный проект с новым удалённым репозиторием.
#Git #Merge #Error
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Prohibitable` В большинстве приложений Laravel зачастую присутствуют локальные или зависящие от окружения команды, которые не должны выполняться в других местах. Чтобы предотвратить такие случаи, используйте трейт
Prohibitable и вызывайте метод prohibit #Laravel #Prohibitable #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
defer() в LaravelУзнайте, как функция Laravel
defer() может улучшить время отклика, выполняя фоновые задачи, такие как отправка электронной почты, очистка файлов и ведение логов после отправки ответа.В современной веб-разработке скорость и отзывчивость — это главное. Медленная загрузка сайта или приложения может стать разницей между удовлетворением и разочарованием пользователей. Функция Laravel
defer() — новое дополнение, призванное решить эту проблему, позволяя выполнять фоновые задачи без усилий, не влияя на время отклика.В статье мы рассмотрим, почему
defer() является фантастическим дополнением к Laravel, а также рассмотрим практические варианты её использования с примерами кода.#Laravel #Defer
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Запуск миграций или стирание БД в продакшене может привести к катастрофическим последствиям. Начиная с Laravel v11, можно запретить все деструктивные команды DB, вызвав метод
prohibitDestructiveCommands #Laravel #DB #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Понимание нового синтаксиса атрибутов импорта и причин, по которым нельзя полагаться только на расширения файлов.
В ES2025 JavaScript получает новую функцию, делающую импорт модулей более явным и безопасным. Атрибуты импорта добавляют способ передачи метаданных о любом импортируемом модуле — будь то JSON, JavaScript или другие типы модулей.
#JavaScript #ES2025 #Import
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
CSS постоянно развивается — недавно у него появился новый логотип, и за последний год было выпущено множество новых функций, не получивших должного внимания. Мы говорим о таких вещах, как возможность центрировать
div, не сходя с ума, более лёгкая работа с темным режимом, анимация скрытых элементов или использование CSS для решения математических задач. Кажется, что теперь можно делать больше с меньшими хлопотами, так что давайте рассмотрим некоторые из новых возможностей CSS, появившихся в последнее время.#Frontend #CSS #feature
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1