Linux дистрибутивы для ноутбуков
Короткий обзор 10 дистрибутивов с плюсами и минусами.
https://losst.ru/luchshij-linux-dlya-noutbuka-2016
#linux #os
Короткий обзор 10 дистрибутивов с плюсами и минусами.
https://losst.ru/luchshij-linux-dlya-noutbuka-2016
#linux #os
Single Responsibility Principle
Прикольное объяснение принципа единственной ответственности из SOLID.
https://habr.com/ru/post/454290/
#solid
Прикольное объяснение принципа единственной ответственности из SOLID.
https://habr.com/ru/post/454290/
#solid
🔥2👍1
Организация рабочего пространства
Magnet - программа для MacOS, которая позволяет быстро расставлять программы на экране для удобства.
Я несколько месяцев назад установил эту программу и теперь могу сказать своё мнение - очень удобная штука.
Особенно если привыкнуть к сочетаниям клавиш, которые к слову довольно интуитивные.
Помимо горячих клавиш, окна можно расставлять перетаскиванием или через меню, но горячие клавиши конечно самый кайф.
https://magnet.crowdcafe.com
#tools #macos
Magnet - программа для MacOS, которая позволяет быстро расставлять программы на экране для удобства.
Я несколько месяцев назад установил эту программу и теперь могу сказать своё мнение - очень удобная штука.
Особенно если привыкнуть к сочетаниям клавиш, которые к слову довольно интуитивные.
Помимо горячих клавиш, окна можно расставлять перетаскиванием или через меню, но горячие клавиши конечно самый кайф.
https://magnet.crowdcafe.com
#tools #macos
Наконец началась рабочая неделя
Надеюсь вы тоже рады взяться за работу и готовы как следует потрудиться эти 3 дня.
Если нет, то эта композиция поможет поднять настроение: https://music.yandex.ru/album/2426871/track/21225455
#music
Надеюсь вы тоже рады взяться за работу и готовы как следует потрудиться эти 3 дня.
Если нет, то эта композиция поможет поднять настроение: https://music.yandex.ru/album/2426871/track/21225455
#music
Совет дня от дядюшки Макса
При использовании транзакций и блокировок в работе с базой данных старайся получать записи в одинаковом порядке для избежания взаимной блокировки (Deadlock).
Например, мы разрабатываем кошелек, где у пользователей есть финансовые счета (accounts). Пользователь может совершать разные операции со счётом: пополнять (deposit), переводить другому пользователю (transfer) или выводить средства со счёта (payout).
Во всех этих операциях скорее всего нужно будет использовать транзакции и блокировки, чтобы другая параллельная транзакция не могла изменять эти записи в базе данных в тот же момент.
Так вот, в каждой такой транзакции нужно получать записи из базы в одинаковом порядке, чтобы не получился замкнутый круг из блокировок (deadlock).
Пример ошибки: в одной транзакции мы сначала получили и заблокировали счёт (account), а потом получили и заблокировали пополнение (deposit). В другой транзакции мы сделали тоже самое, но наоборот - сначала заблокировали deposit, а потом account. Если обе транзакции запустятся одновременно, то одна сначала заблокирует счёт, а вторая пополнение, затем первая попытается заблокировать пополнение, но оно уже заблокировано второй транзакцией, которая в этот момент пытается заблокировать счёт, который в свою очередь уже заблокирован первой транзакцией.
В такой ситуации успешно завершится только одна из транзакций, а вторая завершится с ошибкой.
Документация на примере PostgreSQL:
https://www.postgresql.org/docs/current/explicit-locking.html#LOCKING-DEADLOCKS
Ставь лайк, если полезно 👍 делись своим опытом в комментариях!
#db #deadlock #tip
При использовании транзакций и блокировок в работе с базой данных старайся получать записи в одинаковом порядке для избежания взаимной блокировки (Deadlock).
Например, мы разрабатываем кошелек, где у пользователей есть финансовые счета (accounts). Пользователь может совершать разные операции со счётом: пополнять (deposit), переводить другому пользователю (transfer) или выводить средства со счёта (payout).
Во всех этих операциях скорее всего нужно будет использовать транзакции и блокировки, чтобы другая параллельная транзакция не могла изменять эти записи в базе данных в тот же момент.
Так вот, в каждой такой транзакции нужно получать записи из базы в одинаковом порядке, чтобы не получился замкнутый круг из блокировок (deadlock).
Пример ошибки: в одной транзакции мы сначала получили и заблокировали счёт (account), а потом получили и заблокировали пополнение (deposit). В другой транзакции мы сделали тоже самое, но наоборот - сначала заблокировали deposit, а потом account. Если обе транзакции запустятся одновременно, то одна сначала заблокирует счёт, а вторая пополнение, затем первая попытается заблокировать пополнение, но оно уже заблокировано второй транзакцией, которая в этот момент пытается заблокировать счёт, который в свою очередь уже заблокирован первой транзакцией.
В такой ситуации успешно завершится только одна из транзакций, а вторая завершится с ошибкой.
Документация на примере PostgreSQL:
https://www.postgresql.org/docs/current/explicit-locking.html#LOCKING-DEADLOCKS
Ставь лайк, если полезно 👍 делись своим опытом в комментариях!
#db #deadlock #tip
👍14
Метод
Например, можно добавить общий UUID для всех логов в рамках запроса, чтобы потом было удобнее их фильтровать.
Log::shareContext()позволяет указать общие (контекстные) данные, которые будут добавлены во все логи в рамках текущего запроса.
Например, можно добавить общий UUID для всех логов в рамках запроса, чтобы потом было удобнее их фильтровать.
VPN включен по-умолчаиню
Заметил, что теперь у меня наоборот - VPN работает постоянно, но иногда отключаю, если какой-то сайт НЕ открывается ))) Как у тебя?
Заметил, что теперь у меня наоборот - VPN работает постоянно, но иногда отключаю, если какой-то сайт НЕ открывается ))) Как у тебя?
Предыдущий пост был бестолковый. Исправляюсь.
Несколько лет использую программу Todoist для ведения своих личных задач (список дел).
Однако Todoist так же позволяет создавать отдельные проекты, показывать задачи в виде Kanban-доски и даже работать там совместно с другими людьми.
Таким образом можно использовать эту программу для управления задачами в небольшом проекте (есть приложухи на комп и телефон).
Не реклама. Пишу о том, чем пользуюсь сам. Реально просто и удобно.
https://todoist.com
#tools
Несколько лет использую программу Todoist для ведения своих личных задач (список дел).
Однако Todoist так же позволяет создавать отдельные проекты, показывать задачи в виде Kanban-доски и даже работать там совместно с другими людьми.
Таким образом можно использовать эту программу для управления задачами в небольшом проекте (есть приложухи на комп и телефон).
Не реклама. Пишу о том, чем пользуюсь сам. Реально просто и удобно.
https://todoist.com
#tools
🔥6
Несколько TailwindCSS в одном проекте
Задача
1. У нас есть сайт с панелью администратора на TailwindCSS.
2. В CSS-файле админки НЕ должно быть классов от основного сайта (и наоборот).
Проблема
1. В TailwindCSS есть крутая функция, которая оставляет только CSS-классы из нашей вёрстки.
2. Вопрос - как разделить конфигурацию TailwindCSS для админки и основного сайта, чтобы они НЕ пересекались?
Решение
1. Мы можем указать TailwindCSS какой файл конфигурации использовать в каждом случае.
2. При использвании LaravelMix мы просто передаём название файла конфигурации отдельно для основного сайта и админки.
На скринах 2 отдельные конфигурации TailwindCSS для основного сайта (tailwind-app.config.js) и админки (tailwind-admin.config.js), а так же пример их сборки через LaravelMix с указанием конкретного конфига.
Полезно? Сделай репост! 👍
#tailwind #tools #mix
Задача
1. У нас есть сайт с панелью администратора на TailwindCSS.
2. В CSS-файле админки НЕ должно быть классов от основного сайта (и наоборот).
Проблема
1. В TailwindCSS есть крутая функция, которая оставляет только CSS-классы из нашей вёрстки.
2. Вопрос - как разделить конфигурацию TailwindCSS для админки и основного сайта, чтобы они НЕ пересекались?
Решение
1. Мы можем указать TailwindCSS какой файл конфигурации использовать в каждом случае.
2. При использвании LaravelMix мы просто передаём название файла конфигурации отдельно для основного сайта и админки.
На скринах 2 отдельные конфигурации TailwindCSS для основного сайта (tailwind-app.config.js) и админки (tailwind-admin.config.js), а так же пример их сборки через LaravelMix с указанием конкретного конфига.
Полезно? Сделай репост! 👍
#tailwind #tools #mix
🔥15👍10
Ничего себе вчера народу подписалось 😃 Всем привет! 👋 В закрепе есть наш чат, где можно потрещать, если что 🤝 Велком!
👍2