Одержимый кодом🔥
214 subscribers
22 photos
14 links
Привет, разработчик! Я Данил Щуцкий (CutCode) backend PHP developer, одержимый своим делом! На этом канале публикую свои мысли и истории из личного опыта.
Youtube: https://www.youtube.com/@CutCodeRu
ЛС: @leeto_telegram
Download Telegram
Obsidian или Notion?

Использую Obsidian для заметок и планирования. Очень нравится скорость его работы, md-редактор и связи между заметками.👍
Но есть и минусы - сложно делится заметками и синхронизировать информацию между устройствами.

Знакомый посоветовал посмотреть Notion. Много готовых решений (шаблонов), фишки по автоматизации и возможности для командной работы.

А что вы используете для заметок и планирования личной жизни и работы?
❤‍🔥1
📢 Мой опыт разработки open-source проекта на примере MoonShine

Привет, коллеги! Написал еще одну статьей на Хабре, где я рассказываю о своем опыте разработки MoonShine. С какими я столкнулся проблемами и как их решал:
https://habr.com/ru/articles/833618

Буду рад вашим отзывам и комментариям! 🚀
👍9🔥5👏2🥰1
Pest vs PHPUnit: Моя история выбора🧐

История нашего знакомства с Pest началась с обзора на моем канале. Тогда я еще не вполне осознавал все преимущества этого подхода, но меня впечатлило отсутствие классов, что значительно сокращало тестовые файлы. Также привлекли удобный fluent-интерфейс для написания тестов, функциональный подход и возможность группировки тестов для удобного вызова.

Мы решили рискнуть и перевести нашу open-source админку MoonShine с PHPUnit на Pest. В процессе возникли вопросы, о которых поговорим позже, но мы решили идти до конца, полагая, что это дело привычки: нужно просто принять новый, красивый подход.

Не буду ходить вокруг да около и сразу скажу главную мысль итогового обзора:

Не стоит использовать библиотеку, с которой невозможно работать без вспомогательных плагинов для IDE.

Pest как раз такая библиотека, и сейчас вы поймете почему.

Мы используем динамические свойства внутри функций (под капотом магические __get, __set, но сути не меняет). Классов нет, но создаются свойства, которые IDE не может определить между тестовыми функциями. Даже с плагином свойства подсвечиваются как нечто инородное, что со временем начинает резать глаз.

Подход через fluent от функции expect в реальном проекте выглядит так (смотреть обложку поста).

Постоянно хочется разбить на несколько expect, но плагин настаивает на соблюдении концепции и использовании and.

Преимущество группировок и их быстрых вызовов утратило актуальность с появлением атрибутов с группами в новых версиях PHPUnit, что выглядит даже удобнее.

В итоге, лично для меня плюсов не осталось, а минусы очевидны: тесты сложнее читать, без плагина их невозможно писать и понимать, много костылей.

Мы решили вернуться к PHPUnit и отказаться от Pest. Я рад, что мой курс по изучению продвинутых методик Laravel на примере интернет-магазина, часть 2 (API), задержался, так как планировал делать его с Pest. Теперь понимаю, что не стоит.

Однако, несмотря на этот негативный опыт, я не жалею, что попробовал Pest. Любой опыт, даже неудачный, позволяет лучше понимать свои инструменты и делать более осознанный выбор в будущем. Подробнее мысли изложил в ролике - https://youtu.be/1tWhPTmLW34
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍123🔥1
Привет, коллеги!
Как всё успевать и не выгореть в хаосе задач? Я прошел путь от работы по найму, где моё время организовывали за меня, до самостоятельного управления множеством проектов.

Оформил статью на Хабре, в которой делюсь приемами тайм-менеджмента, которые помогают мне оставаться продуктивным и не терять мотивацию.

Прочитайте, если хотите узнать, как справляться с многозадачностью и находить баланс между работой и отдыхом:
https://habr.com/ru/articles/835572/
3👍18🔥43
Друзья, приветствую!
Как вы уже, наверное, знаете, Notion заблокировал аккаунты пользователей из России. И как назло, я только начал привыкать к этому удобному инструменту. 🙄 Выяснил все подробности у техподдержки, и вот что они сказали:

- Если вы всегда использовали Notion бесплатно и никогда не оплачивали подписку с российской карты, ваше Notion-пространство не будет удалено!
- Однако, если вы хоть раз оплачивали Notion с российской карты, ваше пространство будет удалено. В этом случае, вам стоит перенести свои данные на другой Notion-аккаунт, который всегда был бесплатным. (Завтра я напишу подробнее о том, как совершить переезд с одного аккаунта на другой.)
- Доступ к Notion для всех пользователей из России в будущем будет закрыт. Если вы пользовались бесплатной версией или не оплачивали с российской карты, то получите доступ снова, когда покинете страну или включите VPN.

Что касается меня, я не платил за Notion российской картой и надеюсь, что мне повезет и буду дальше пользоваться аккуратненько. Но на всякий случай, лучше сделать резервную копию своих данных ближе к 9 сентября.

А вы как относитесь к этой ситуации? Переезжаете с Notion? Делитесь своим опытом и мнением в комментариях! 💬
13🤔2
Кому слона?
Привет, коллеги!

Появилась возможность заказать маскотов PHP - слонов со скидкой! 🐘

Как на фотке, но в реальности они еще красивее и на ощупь пушистые. 🙏 Не забываем, что скоро новый год, и слоник - отличный подарок.

Цена будет 2000 рублей за слона (если наберем от 50 штук). Заявки оставляйте в комментариях к этому посту.

Все говорят, купи слона. А ты возьми и купи.
Please open Telegram to view this post
VIEW IN TELEGRAM
5🐳2
Привет, друзья!

Заметил уже несколько обзоров прошедшей "Подлодки" от коллег и решил также поделиться своими ощущениями.

Сразу хочу заметить, что с годами всё сложнее найти для себя что-то новое на таких мероприятиях, чтобы после просмотра замотивироваться, как раньше, и на пару месяцев уйти в разработку или изучение чего-то нового.

Сейчас я больше оцениваю как подготовлены доклады, смотрю на подачу, харизму, фишки. Думаю, что можно применить в своих проектах или развить какие-то идеи на своём канале.

Также невесёлые наблюдения после "Подлодки" заключаются в том, что свободного времени становится всё меньше. Из всех докладов удалось в прямом эфире от начала и до конца посмотреть только ребят из FartTime (наверное сыграло роль что эта тема наиболее близка мне).

Что в итоге понравилось?
Доклад про Roadrunner, но не сам рассказ о том, как переходили, а rules для Rector. Сразу после доклада решил проверить в MoonShine и нашёл ошибку. Недолго думая, законтрибьютил исправление: https://github.com/Kaspiman/rector-longrunning-rules. В общем, думаю, имеет право на существование.

Лучшими, на мой взгляд, были ребята из FartTime, и тут как раз речь именно о продукте. Сам контент я уже видел много раз у них на стримах, но доклад был сделан на высшем уровне. Конечно, местами было заметно, как Паша спешит, чтобы уложиться в час вместо традиционных трёх, но вышло круто. Ребята растут на глазах.

Последний доклад про K8s также был отличным продуктом, особенно для тех, кто не знаком с темой.

В заключение
Что-то новое для себя узнать не удалось, но мероприятие качественное, доклады как продукт очень интересные. Надеюсь посмотреть следующую "Подлодку".

А вы были на Podlodka? Как вам?
👍106🥰6🎉5🔥3👏2🤩1👌1
Мой первый слоник PHP прибыл и уже украшает стол! Есть вероятность что продуктивность вырастет в двое! Спасибо @saundefined за подгон 🤟
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14
Привет коллеги!
Все не было времени, но и наконец-то добрался до разбора интервью с Taylor Otwell на канале ThePrimeTime. И знаете что? Оно оказалось неожиданно интересным для меня и очень показательным. Taylor рассказал, куда движется Laravel и почему был выбран именно этот путь.

В итоге расписал на целую статью, которую запилил на Хабр. Кратко содержание:
- Почему создатель Laravel считает себя "too dumb for React"
- Кто проверяет PR в репозиторий Laravel
- Почему Laravel не будет конкурировать с Symfony
- И какие планы вынашивает Taylor

Я выбрал слегка ехидный тон в обзоре, но на самом деле я уважаю Taylor и его вклад в PHP-сообщество. Laravel сильно изменил жизнь многих разработчиков к лучшему. Но иногда полезно посмотреть на вещи с небольшой долей здоровой критики 😊

👉 Читайте обзор, ну и давайте чтоли похейтим Laravel! 😁
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥63
План Б - путь к поражению? Моя история принятия сложного решения 🤔

Друзья, хочу поделиться с вами личной историей и важным решением, которое я недавно принял. Возможно, кто-то из вас находится в похожей ситуации или задумывается о подобном выборе.

Немного предыстории

Знаете эту популярную мысль о том, что наличие плана Б - это заранее спланированное поражение? Я слышал её много раз, но только сейчас по-настоящему осознал её глубину.

С самого начала моей карьеры разработчика я постоянно пытался создать свой продукт. Сделать свой проект, который будет приносить стабильный доход, а работать на себя - это моя мечта. Но всегда это было "параллельно" с основной работой. План Б (работа в найме) неизменно оставался:
- Основным источником дохода
- Главным пожирателем энергии
- Якорем, держащим в зоне комфорта

Момент истины

И вот недавно случилось то, что я называю "разговором со вселенной" 🌌 (да-да, можете посмеяться, но я верю в знаки). Проект, который долгое время был моим планом Б, неожиданно закрылся.

Первая реакция была предсказуемой - надо срочно искать новую работу.

Поворотный момент

Но пока я готовил резюме и просматривал вакансии, начал замечать нечто интересное. Вселенная будто кричала: "Смотри, сколько ты уже достиг! Какие уже большие проекты CutCode и MoonShine. Сколько возможностей перед тобой открыто!"

И тут я понял главное: все эти годы план Б съедал ресурсы, которые могли пойти на развитие собственного проекта. В частности на MoonShine, релиз третьей версии которой задерживается.

Решение

Я принял, возможно, самое важное решение в своей карьере:
- Удалил резюме
- Прекратил поиск работы
- Решил полностью сфокусироваться на развитии CutCode и MoonShine

Теперь у меня больше нет плана Б. Только движение вперёд, только полная отдача любимому делу. Посмотрим, к чему это приведет!

Что дальше?

Честно признаюсь - немного страшно. Но одновременно чувствую небывалый прилив энергии и ясность мысли. Наконец-то все ресурсы будут направлены в одно русло.

А вы сталкивались с подобным выбором? Как относитесь к идее полного отказа от плана Б? Делитесь своими историями в комментариях! 💭
🔥20👍87👏4❤‍🔥2
Логично😄
Please open Telegram to view this post
VIEW IN TELEGRAM
😁12🤣42
Западный хостинг vs российский интернет: неожиданные проблемы и как с ними жить 🤔

Привет, друзья!

В начале ноября много стало поступать жалоб о проблемах с доступом к сайту MoonShine. На скринах из браузера была ошибка что адрес не резолвится (ERR_NAME_NOT_RESOLVED).

Спойлер: оказалось, всё намного сложнее.
Первым делом я, конечно, полез в настройки домена. Попробовал разные ns-сервера - вроде даже помогло!
Но недавно произошло то, что заставило меня серьезно насторожиться: я сам не смог зайти на сайт MoonShine без VPN. И я начал разбираться глубже.

Что же выяснилось?
Оказывается, проблема гораздо масштабнее, чем казалось изначально. С начала ноября 2024 года многие пользователи из России сталкиваются с проблемами доступа к сайтам на популярных западных хостингах:
- Hetzner
- Cloudflare
- Akamai
- CDN77

Вот несколько материалов из поиска:
раз
два
три

У меня несколько проектов на Hetzner, и картина везде одинаковая:
- Из Европы - всё ок, доступность 100% 👍
- Из России - доступность скачет от 50% до 90% и меняется со временем в разных регионах 📉

Проверял тут:
https://ping-admin.com/index.sema

Какой предварительно вывод:
- Официально IP-адреса не заблокированы
- Проблема, похоже, связана с работой ТСПУ (технические средства противодействия угрозам) 🔧

Я сейчас активно исследую различные варианты решения этой проблемы. Думаю о разных сценариях:
1. Переезд на российский сервер (хотя очень привык к Hetzner)
2. Настройка прокси для пользователей из России
3. Использовать CDN (но уверенности что поможет нет)

Что дальше?
Пока я в процессе принятия решения, но уже понятно, что придётся что-то делать. Ведь недоступность моих проектов из России очень печалит.

Уверен, что у нашего комьюнити тоже есть указанная проблема. Есть какие-нибудь реализованные решения или идеи?

#hetzner #хостинг #cutcode #moonshine
😱18🤔21😭1
CutCodeTv прибыли на конференцию! Фотографироваться не умеем, но надеюсь снимаем видео по лучше😄!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23😁87🤯1
Уникальное интервью с Александром Макаровым в уникальный микрофон в виде слона🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
😁12🎉6🥰54🔥4👍3🤩3👏2
Еще и power bank выиграл! Не зря я Php выбрал! Или он меня
🔥17👍2😁2
🌟 PHP Russia 2024. Сколково и живое общение 🌟

2-3 декабря, в Сколково прошла конференция PHP Russia 2024, которую я посетил. Вместе с Сергеем Пантелеевым и Алексеем Гагариным мы записывали контент с обзором мероприятия.

Делюсь своими впечатлениями! Атмосфера была невероятной! Мероприятие получилось очень масштабным. Каждый участник привнес что-то свое, и это создало особую атмосферу.

Познакомился вживую с многими старожилами PHP. В нашем комьюнити много специфичных, при этом уникальных, интересных и крутых личностей.
Для меня конференция такого масштаба была в первый раз и отмечу что оффлайн формат мероприятия оказался гораздо круче, чем онлайн встречи в которых я регулярно участвую.

Живое общение, обмен идеями и опытом — это то, что действительно вдохновляет и заряжает энергией. Надеюсь, таких встреч будет больше!

Особая благодарность Александру Макарову, Кириллу Несмеянову и Валентину Удальцову за возможность попасть на это событие.🙌

Подробный виде обзор конференции в работе, а пока можно посмотреть короткую нарезку:
https://youtube.com/shorts/fGnMgdQCKww?feature=share
👍17🔥11
Тяжёлые будни демки MoonShine 😅

Недавно с нами приключилась комичная история. Мы обновили демо-версию MoonShine до третьей версии, но забыли заблокировать возможность удаления администратора.

Ошибка, казалось бы, небольшая, но последствия были впечатляющими. И немного комичными

Один внимательный и настойчивый пользователь заметил эту уязвимость и решил наказать нас за невнимательность! И удалил администратора. Таким образом он заблокировал доступ к админке для всех остальных.

Сайт с демкой MoonShine рефрешит данные каждые 15 минут, восстанавливая все по умолчанию (и соответственно, возвращая учётку админа). Но этот человек, не теряя энтузиазма, регулярно заходил в админку на протяжении суток(!) и снова удалял администратора.

С одной стороны, спасибо за такой дотошный тестинг. Проблему увидели и пофиксили. С другой стороны, мы были поражены, сколько свободного времени и какое устойчивое желание напакостить есть у некоторых людей. 🙃

Вот такаю рождественская пасхалочка случилась с нами. Уверен эта история немного подняла вам настроение.

#MoonShine #CutCode
😁20🤣14👏3👍2
🔥 Вайб-кодинг: новый тренд или путь в никуда? 🔥

Сегодня наткнулся на ролик от ThePrimeagen с реакцией на статью и твит Андрея Карпати. И понял, что то, чем занимается большинство современных новичков, — это вайб-кодинг! 😃

💡 Суть вайб-кодинга — получать готовый код от ИИ и бездумно его применять, не пытаясь ни в чём разобраться. Современные инструменты, такие как Cursor, позволяют вообще не использовать клавиатуру — автор твита пишет, что просто диктует код 🤯.

📌 Можно вообще не думать о коде?
В какой-то мере я и сам недавно занимался вайб-кодингом: писал JS-тесты на Jest для MoonShine, и мне кажется, ИИ идеален для задач, которые нужны, но в которые не хочется погружаться (или просто нет времени). Однако мой опыт показал, что полностью довериться ИИ не получается. Были ошибки, приходилось долго фиксить полоумные тесты 🤦‍♂️. Но ИИ дал каркас и признаюсь: без ИИ я бы даже не взялся за эту задачу. В итоге получился полувайб-кодинг.

⚙️ Полувайб-кодинг открывает новые горизонты.

Недавно передо мной встала задача сделать MoonShine-инсталлер — бинарник, который задаст все нужные вопросы, установит Laravel, нужные пакеты и настроит всё под пользователя. Я изучил, как это реализовано в Laravel (Laravel-аппка, упакованная в бинарник с консольными командами), но показалось, что это несовременно.

В итоге взял Rust и сгенерировал код с ИИ. Итог:
10 минут на генерации кода
🔧 30 минут на доводку

Без ИИ я бы повторил путь Laravel, а с ним нашёл альтернативное решение и сэкономил время.

🎯 Вывод

На мой взгляд, ИИ даёт отличные возможности — это супер-инструмент для специалистов! Но, к сожалению, в большинстве случаев он становится убийцей нового поколения разработчиков, лишая их возможности развиваться.

🤔 А вы сталкивались с вайб-кодингом? Как относитесь к тому, что код можно писать без погружения? Какие плюсы и минусы видите?
👍52👎1
Париж. Башня. MoonShine.
Официальная партия MoonShine доставлена в Париж
🔥1812🥰4