Привет всем! 🚀
Я Данил Щуцкий. Бэкенд-разработчик, основатель проекта CutCode (канал YouTube и Laravel-комьюнити), создатель open-source админ-панели MoonShine.
Добро пожаловать на мой Telegram-канал, который я создал с целью вести свой личный блог, делиться и обсуждать с вами свои наблюдения, мысли и идеи.
Здесь я буду публиковать свои заметки, размышления и наблюдения о жизни, работе, технологиях и многом другом.
Я Данил Щуцкий. Бэкенд-разработчик, основатель проекта CutCode (канал YouTube и Laravel-комьюнити), создатель open-source админ-панели MoonShine.
Добро пожаловать на мой Telegram-канал, который я создал с целью вести свой личный блог, делиться и обсуждать с вами свои наблюдения, мысли и идеи.
Здесь я буду публиковать свои заметки, размышления и наблюдения о жизни, работе, технологиях и многом другом.
⚡6
Одержимость не приобретается, это часть характера
В этом посте речь пойдёт об одержимости любимым делом. Важно чтобы оно было именно любимым, но этого не всегда достаточно для успеха, давайте расскажу поподробнее.
Меня часто спрашивают и удивляются: как мне удается работать, брать дополнительные проекты, записывать контент для канала, вести блог на хабре, контрибьютить в open source и при этом оставлять энергию на личную жизнь?
Я и сам удивлялся, за счет чего мне это удается? Ответ прост - я одержим свои делом! И это придаёт мне сил.💪
Наверное, у вас возникает вопрос: "А как приобрести эту одержимость? Ведь я тоже люблю писать код, думаю это мое призвание. Но при этом меня хватает только на работу в найме, и к концу дня я обычно выжат как лимон. А на выходных и смотреть на код не могу, да и в целом часто выгораю."🤷♀️
Ответ также прост, либо вы себя обманываете и это не ваше любимое дело, либо одержимость вам не дана от природы.
Давайте объясню на себе. В юности я занимался рэпом, обожал делать музыку, гулял и сочинял текст в голове, складывал строки перед сном, просыпался и что-то записывал, был одержим, я мог заниматься этим бесконечно. Но ведь у меня были и другие увлечения - я также занимался спортом, катался на велосипеде, рисовал, играл в футбол: все эти занятия мне нравились, но я не был ими одержим.
Прошло время. Я повзрослел, интересы стали меняться и юношеское желание каждый день заниматься рэпом, перешло в желание работать с кодом!
Конечно же я не подразумеваю под работой с кодом печатание функций и строк в редакторе - я имею ввиду профессию разработчика, работа над большими, интересными и значимыми проектами, которые приносят пользу: CutCode (обучение разработке на Laravel), книга Ninja guide, open-source MoonShine. По аналогии с рэпом, я постоянно вовлечен в процесс - фиксирую в телефонных заметках интересные мысли когда гуляю, часто в голове пишу код, а перед сном строю планы по разработке на завтра.
*️⃣ Как вывод:
Любимое дело меняется, а одержимость остается - это часть личности.
Любимое дело*Одержимость=Бесконечная энергия. ♾
А что думаете вы по поводу любимого занятия и одержимости?
В этом посте речь пойдёт об одержимости любимым делом. Важно чтобы оно было именно любимым, но этого не всегда достаточно для успеха, давайте расскажу поподробнее.
Меня часто спрашивают и удивляются: как мне удается работать, брать дополнительные проекты, записывать контент для канала, вести блог на хабре, контрибьютить в open source и при этом оставлять энергию на личную жизнь?
Я и сам удивлялся, за счет чего мне это удается? Ответ прост - я одержим свои делом! И это придаёт мне сил.
Наверное, у вас возникает вопрос: "А как приобрести эту одержимость? Ведь я тоже люблю писать код, думаю это мое призвание. Но при этом меня хватает только на работу в найме, и к концу дня я обычно выжат как лимон. А на выходных и смотреть на код не могу, да и в целом часто выгораю."
Ответ также прост, либо вы себя обманываете и это не ваше любимое дело, либо одержимость вам не дана от природы.
Давайте объясню на себе. В юности я занимался рэпом, обожал делать музыку, гулял и сочинял текст в голове, складывал строки перед сном, просыпался и что-то записывал, был одержим, я мог заниматься этим бесконечно. Но ведь у меня были и другие увлечения - я также занимался спортом, катался на велосипеде, рисовал, играл в футбол: все эти занятия мне нравились, но я не был ими одержим.
Прошло время. Я повзрослел, интересы стали меняться и юношеское желание каждый день заниматься рэпом, перешло в желание работать с кодом!
Конечно же я не подразумеваю под работой с кодом печатание функций и строк в редакторе - я имею ввиду профессию разработчика, работа над большими, интересными и значимыми проектами, которые приносят пользу: CutCode (обучение разработке на Laravel), книга Ninja guide, open-source MoonShine. По аналогии с рэпом, я постоянно вовлечен в процесс - фиксирую в телефонных заметках интересные мысли когда гуляю, часто в голове пишу код, а перед сном строю планы по разработке на завтра.
Любимое дело меняется, а одержимость остается - это часть личности.
Любимое дело*Одержимость=Бесконечная энергия. ♾
А что думаете вы по поводу любимого занятия и одержимости?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2
Докер стал недоступен 30 мая 2024 г. Что известно?
При открытии сайта появляется надпись:
403 Forbidden
Since Docker is a US company, we must comply with US export control regulations. In an effort to comply with these, we now block all IP addresses that are located in Cuba, Iran, North Korea, Republic of Crimea, Sudan, and Syria. If you are not in one of these cities, countries, or regions and are blocked, please reach out to https://hub.docker.com/support/contact/
России в абзаце с пояснением проблемы не указано. Написал в техподдержку. Ответ:
Hi there,
Thank you for contacting Docker Support.
At this time we are no longer doing business with Russian or Belarusian companies and have removed the ability to purchase subscriptions from these countries.
https://www.docker.com/blog/dockers-response-to-the-invasion-of-ukraine/
Since Docker is a US company, we must comply with US export control regulations. In an effort to comply with these, we now block all IP addresses that are located in Cuba, Russia, Iran, North Korea, Republic of Crimea, Sudan, and Syria.
Best regards,
Docker Support
Получается что доступ к Docker России и Беларуси ограничили.
В настоящий момент у меня на Docker завязано много проектов, и есть довольно большая зависимость от этого сервиса. Что можно сделать сегодня для дальнейшего использования Docker?
У меня получилось создать новый аккаут Docker с использованием VPN. Протестировано на Голландии.
Давайте обсудим ситуацию! Если есть проверенные варианты решения проблемы - поделитесь!
При открытии сайта появляется надпись:
403 Forbidden
Since Docker is a US company, we must comply with US export control regulations. In an effort to comply with these, we now block all IP addresses that are located in Cuba, Iran, North Korea, Republic of Crimea, Sudan, and Syria. If you are not in one of these cities, countries, or regions and are blocked, please reach out to https://hub.docker.com/support/contact/
России в абзаце с пояснением проблемы не указано. Написал в техподдержку. Ответ:
Hi there,
Thank you for contacting Docker Support.
At this time we are no longer doing business with Russian or Belarusian companies and have removed the ability to purchase subscriptions from these countries.
https://www.docker.com/blog/dockers-response-to-the-invasion-of-ukraine/
Since Docker is a US company, we must comply with US export control regulations. In an effort to comply with these, we now block all IP addresses that are located in Cuba, Russia, Iran, North Korea, Republic of Crimea, Sudan, and Syria.
Best regards,
Docker Support
Получается что доступ к Docker России и Беларуси ограничили.
В настоящий момент у меня на Docker завязано много проектов, и есть довольно большая зависимость от этого сервиса. Что можно сделать сегодня для дальнейшего использования Docker?
У меня получилось создать новый аккаут Docker с использованием VPN. Протестировано на Голландии.
Давайте обсудим ситуацию! Если есть проверенные варианты решения проблемы - поделитесь!
Прощай Spatie/Ignition!😐
С версии 11.9, Spatie/ignition больше не входит в коробку Laravel. Это означает, что в режиме дебага нас теперь будет ждать более компактная версия с минимальным набором информации.
Spatie/ignition был важным инструментом в Laravel, предоставляя подробную информацию об ошибках и помогало разработчикам быстро находить и исправлять проблемы. Видимо, с новым обновлением, Laravel идет в сторону упрощения и минимализма.
Но не стоит печалиться и ностальгировать по старой доброй (и более подробной) странице с ошибками. Есть хорошая новость - вы можете продолжить пользоваться привычным инструментом! Просто установите spatie/laravel-ignition в свой проект:
, или добавьте зависимость:
А что бы вы убрали из коробки Laravel?
С версии 11.9, Spatie/ignition больше не входит в коробку Laravel. Это означает, что в режиме дебага нас теперь будет ждать более компактная версия с минимальным набором информации.
Spatie/ignition был важным инструментом в Laravel, предоставляя подробную информацию об ошибках и помогало разработчикам быстро находить и исправлять проблемы. Видимо, с новым обновлением, Laravel идет в сторону упрощения и минимализма.
Но не стоит печалиться и ностальгировать по старой доброй (и более подробной) странице с ошибками. Есть хорошая новость - вы можете продолжить пользоваться привычным инструментом! Просто установите spatie/laravel-ignition в свой проект:
composer require spatie/laravel-ignition
, или добавьте зависимость:
"spatie/laravel-ignition": "^2.4"
А что бы вы убрали из коробки Laravel?
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😱7🔥2❤1
Законтрибьютил сахара ребятам в Buggregator/trap https://github.com/buggregator/trap/releases/tag/1.8.0
Кстати рекомендую Buggregator! После обзора вошел в мой повседневный dev рацион🪲
Кстати рекомендую Buggregator! После обзора вошел в мой повседневный dev рацион
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
Release v1.8.0 · buggregator/trap
1.8.0 (2024-05-29)
What's Changed
Add tr() and td() functions by @roxblnfk in #102
Add trap()->code() sugar by @lee-to in #103
Change release generation type to Github API by @lotyp in #106...
What's Changed
Add tr() and td() functions by @roxblnfk in #102
Add trap()->code() sugar by @lee-to in #103
Change release generation type to Github API by @lotyp in #106...
👍5❤🔥1🔥1
Век живи - век учись. Или случаи когда интуиция подводит.
Пост о моих наблюдениях по объекту реквеста Laravel и небольшие заметки. Итак, я всегда думал, что
и
это одно и то же, но в процессе разработки MoonShine было замечено странное поведение (на самом деле с объектом реквеста Ларавел такое было часто). Пришлось заглянуть под капот и удивится.
Первый вариант это сбор всего с реквеста и обращение по ключу, вот такой “красивый” код:
Второй же вариант еще более красивый, и под капотом мы не дергаем тот же самый метод get, а обращаемся к магическому __get (редко встречаются такие вызовы):
Который, в свою очередь, работает через класс Arr и позволяет обращаться к параметрам реквеста через точку (для вложенности). При этом если ничего не найдет, то дополнительно поищет в параметрах роута. Это намного тяжелее и результат может быть непредсказуемым. На самом деле меня и смутило, что мы еще лезем в роут, в объекте реквеста еще есть сессии (не удивился бы, если бы полезли сразу и туда)
На заметку. Есть еще
Который также через Arr::get соберет все параметры, но не полезет в роут
Ну и всегда был отдельный метод для получения исключительно параметров с роута
Как раз его вызов я и не ожидал, когда дергал request(‘key’).
Тот случай, когда сахар вреден и легко запутаться.
Не перестаю удивляться решениям в реквесте Laravel и все чаще заглядываю под капот, когда речь идет о взаимодействии с Laravel.
В итоге:
request(‘key’) лучше не использовать. Я думаю врядли вам потребуется получать значение отовсюду откуда только можно.
request()->get(‘key’) нормально, но без вложенности через точку.
request()->input(‘parent.key’) наверное, идеально подойдет для подобных манипуляций, плюс вложенность.
request()->route(‘key’) параметр с роута.
Пост о моих наблюдениях по объекту реквеста Laravel и небольшие заметки. Итак, я всегда думал, что
request(‘key’)
и
request()->get(‘key’)
это одно и то же, но в процессе разработки MoonShine было замечено странное поведение (на самом деле с объектом реквеста Ларавел такое было часто). Пришлось заглянуть под капот и удивится.
Первый вариант это сбор всего с реквеста и обращение по ключу, вот такой “красивый” код:
return $this->query->all()[$key];
return $this->request->all()[$key];
Второй же вариант еще более красивый, и под капотом мы не дергаем тот же самый метод get, а обращаемся к магическому __get (редко встречаются такие вызовы):
$value = app('request')->__get($key);
Который, в свою очередь, работает через класс Arr и позволяет обращаться к параметрам реквеста через точку (для вложенности). При этом если ничего не найдет, то дополнительно поищет в параметрах роута. Это намного тяжелее и результат может быть непредсказуемым. На самом деле меня и смутило, что мы еще лезем в роут, в объекте реквеста еще есть сессии (не удивился бы, если бы полезли сразу и туда)
public function __get($key)
{
return Arr::get($this->all(), $key, fn () => $this->route($key));
}
На заметку. Есть еще
request()->input(‘key’)
Который также через Arr::get соберет все параметры, но не полезет в роут
Ну и всегда был отдельный метод для получения исключительно параметров с роута
request()->route(‘key’)
Как раз его вызов я и не ожидал, когда дергал request(‘key’).
Тот случай, когда сахар вреден и легко запутаться.
Не перестаю удивляться решениям в реквесте Laravel и все чаще заглядываю под капот, когда речь идет о взаимодействии с Laravel.
В итоге:
request(‘key’) лучше не использовать. Я думаю врядли вам потребуется получать значение отовсюду откуда только можно.
request()->get(‘key’) нормально, но без вложенности через точку.
request()->input(‘parent.key’) наверное, идеально подойдет для подобных манипуляций, плюс вложенность.
request()->route(‘key’) параметр с роута.
🔥12❤🔥5❤1🤔1🍓1