Одержимый кодом🔥
213 subscribers
21 photos
13 links
Привет, разработчик! Я Данил Щуцкий (CutCode) backend PHP developer, одержимый своим делом! На этом канале публикую свои мысли и истории из личного опыта.
Youtube: https://www.youtube.com/@CutCodeRu
ЛС: @leeto_telegram
Download Telegram
Привет коллеги!
Все не было времени, но и наконец-то добрался до разбора интервью с 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
Laravel World
🔥 Laravel Telemetry 🔥 Команда Laravel объявляет о включении во фреймворк Telemetry — нового модуля для сбора анонимной статистики об использовании фреймворка. Это поможет анализировать популярные фичи, оптимизировать производительность и сделать Laravel ещё…
Laravel Telemetry 😎

В этот раз первоапрельская шутка вокруг Laravel закрутилась вокруг телеметрии и сбора информации. Сразу кажется, что это дикость для open source, а самое интересное, что вчера я смотрел крутой подкаст Кирилла Мокевнина https://youtu.be/OY62kYMdM4M?si=BQGelEVw8Ysq8U25, где также затрагивался вопрос, почему сбор информации в open source как практика не применяется. А почему бы и нет, в конце концов? Надо добавить в MoonShine 😄
Please open Telegram to view this post
VIEW IN TELEGRAM
Проблемы с доступом — тестируем решение

В ноябре’2024 я делал пост что у многих пользователей наблюдалась проблема с доступом к сайтам CutCode и MoonShine.

Мы продумали решение и следили за развитием ситуации. И вроде бы всё стабилизировалась, и жалоб не поступало. Но вот в марте опять начались проблемы. Видимо, ТСПУ (технические средства противодействия угрозам) уходили в зимнюю спячку.😅

Итак, настроен прокси-сервер в СНГ, через который перенаправляются запросы на наши проекты. Наблюдаем, как будет работать! Если будут сбои - обязательно пишите!
Всем спасибо за участие в изучении проблемы и в поиске решения!

🙋‍♂️Если будет интересно, то могу оформить кейс.
🔥8
🚀 Как случайный коммит сломал мне `git subtree`

Если вы, как и я, новичок в монорепозиториях и git subtree — вот реальная история, которая может сэкономить вам пару часов жизни.

В MoonShine мы используем монорепу, и каждый пакет (`src/UI`, src/Core и т.д.) синхронизируем с внешними репами через subtree.

Как-то я по-быстрому поправил README прямо в split-репозитории (`moonshine-software/ui`) — и после этого CI перестал работать. git subtree push начал падать, subtree pull выкидывал конфликты. Почему? Потому что история коммитов в split-репо разошлась, и subtree отказался это мержить.

🤕 Недавно ситуация повторилась: по определенной причине (привет, Dependabot) в split-репо снова появился внешний коммит — и всё сломалось.

В этот раз я быстро вспомнил, что делать:

🛠 Решение: просто сплитим содержимое в ветку и форсим пуш (сделал себе готовый скрипт):


#!/bin/bash

set -e

REPO_NAME=$1
FOLDER_NAME=$2

REMOTE_REPO="git@github.com:moonshine-software/${REPO_NAME}.git"
REMOTE_BRANCH="3.x"
LOCAL_PREFIX="src/${FOLDER_NAME}"
TMP_BRANCH="repair-split-${REPO_NAME}"

git subtree split --prefix="$LOCAL_PREFIX" -b "$TMP_BRANCH"
git push --force "$REMOTE_REPO" "$TMP_BRANCH:$REMOTE_BRANCH"
git branch -D "$TMP_BRANCH"



📚 Выводы:

1. 🛡 Если split-репо — read-only, защитите ветку от ручных пушей
2. 🤖 Делайте sync только из монорепы через subtree split + push --force
3. subtree pull — это минное поле. Лучше не использовать в CI.


Надеюсь, кому-то это сэкономит время ✌️
👍123😱3
🧯 Laravel: Сначала хайп, потом откат — как не обжечься на свежем сахаре.

Иногда релизы Laravel напоминают сериал: каждый эпизод — с неожиданным поворотом.

Как весело иной раз наблюдать за релизами в Laravel 😅
В релизе 12.9 появилась фича для транзакций — новый колбек onFailure, который сработает при ошибке. Встречен был с бурей восторгов и опубликован во всех пабликах мира. Вот он, красавец:
🔗 https://github.com/laravel/framework/pull/55338. Может кто-нибудь успел затащить на прод 🤕

Сел я глянуть, что под капотом, но в 12.15 уже нет такой фичи 🧐

Как выяснилось, Тейлор в релизе 12.15 удалил эту фичу — без pull request'а и даже без описания реверта в changelog'е:
🔗 https://github.com/laravel/framework/commit/62a313a79b1aadbdb431e8db23b67733e0d8d34d

Спустя 6 релизов он всё-таки понял, что это breaking change (см. скриншот).

Можно ещё найти вот такой PR с багом:
🔗 https://github.com/laravel/framework/pull/55607
Который сначала смержили, а чуть позже всё же решили глянуть, разобраться в коде и сделать откат:
🔗 https://github.com/laravel/framework/pull/55690

Так что не спешите пользоваться новым «сахаром» сразу после релиза — подождите пару месяцев откатов 🍿
👌5👍3😁2🔥1🤡1
BuilderAI: как "Наташа" оказалась сотнями индусов

Стартап BuilderAI ($1,5 млрд оценка) работу индийских разработчиков, которые вручную выполняли запросы пользователей, выдавал как многофункциональную нейросеть под именем «Natasha».

Инвесторы, включая Microsoft и SoftBank, вложили в проект сотни миллионов, пока расследование WSJ не раскрыло обман, заметив "человеческие" ошибки в ответах.

Стало понятно почему при вайб-кодинге так часто получаешь ерунду.
😁17🤔3🌚1
Please open Telegram to view this post
VIEW IN TELEGRAM
Есть ли жизнь внутри вашей клавиатуры?

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

Вообще считаю: если рабочее место грязное, то и код чистым быть не может, даже если вы читали одноимённую книжку. Бардак на рабочем столе как рентген — сквозь него видно, как у тебя с контекстом в голове.

А вы чистите девайсы? Как часто?
🤔4🔥1🥰1