Я просто оставлю это здесь. https://www.youtube.com/watch?v=vdQIZg6mFg4
Вроде как очередная история как чувак зазвездился и не вывез, но учитывая что это происходило на моих глазах, то прямо сурово долбануло. Когда ты типа весь такой постироничный, но в реальности готов любого обосрать и кинуть, даже своих корешей
Оффтопный вопрос: зачем люди вообще к Саньку ходят?)
Вроде как очередная история как чувак зазвездился и не вывез, но учитывая что это происходило на моих глазах, то прямо сурово долбануло. Когда ты типа весь такой постироничный, но в реальности готов любого обосрать и кинуть, даже своих корешей
Оффтопный вопрос: зачем люди вообще к Саньку ходят?)
YouTube
Погряз в долгах и заруинил свою жизнь | ТРЕЩИМ с Филом Ранжиным
Подари своему проекту мощность и качество с 15% кэшбэком: https://aeza.net/ru/virtual-servers/?ref=ilyin
Фил Ранжин — программист, IT-предприниматель и соведущий подкаста «Мы обречены». Фил набрал долгов на $300 000. Поговорили с ним про то, как изменилась…
Фил Ранжин — программист, IT-предприниматель и соведущий подкаста «Мы обречены». Фил набрал долгов на $300 000. Поговорили с ним про то, как изменилась…
🤡5👍1💩1
Forwarded from Sandbox
Дорогие друзья, вот и пришло время двигаться дальше.
Я открыт к поиску новой работы.
У меня за плечами более 6 лет опыта лет опыта разработки бекенда.
Рассматриваю вакансии в аккредитованных IT-компаниях РФ со стеками: C#, Java, Go
Связаться со мной можно в телеграм: @LarymarTwit. Буду рад вакансиям или вашим реферальным ссылкам
Спасибо, что читаете лайкаете и комментируете.
Репостам я тоже буду благодарен.
Nudosos son los caminos del Milagro
Я открыт к поиску новой работы.
У меня за плечами более 6 лет опыта лет опыта разработки бекенда.
Рассматриваю вакансии в аккредитованных IT-компаниях РФ со стеками: C#, Java, Go
Связаться со мной можно в телеграм: @LarymarTwit. Буду рад вакансиям или вашим реферальным ссылкам
Спасибо, что читаете лайкаете и комментируете.
Репостам я тоже буду благодарен.
Nudosos son los caminos del Milagro
💩8🤓4
Обновляли сегодня зависимости и локфайлы?
Значит получили к себе на машину очередную криптофигню, так как затронуты очень популярные пакеты:
https://github.com/debug-js/debug/issues/1005#issuecomment-3266868187
Лучше всё же откатиться назад или запинить точно "безопасные" версии зависимостей
Значит получили к себе на машину очередную криптофигню, так как затронуты очень популярные пакеты:
ansi-styles@6.2.2
debug@4.4.2
chalk@5.6.1
supports-color@10.2.1
strip-ansi@7.1.1
ansi-regex@6.2.1
wrap-ansi@9.0.1
color-convert@3.1.1
color-name@2.0.1
is-arrayish@0.3.3
slice-ansi@7.1.1
color@5.0.1
color-string@2.1.1
simple-swizzle@0.2.3
supports-hyperlinks@4.1.1
has-ansi@6.0.1
chalk-template@1.1.1
backslash@0.2.1
https://github.com/debug-js/debug/issues/1005#issuecomment-3266868187
Лучше всё же откатиться назад или запинить точно "безопасные" версии зависимостей
🤡16🤯3😱3💩1
Андруша пишет код
Обновляли сегодня зависимости и локфайлы? Значит получили к себе на машину очередную криптофигню, так как затронуты очень популярные пакеты: ansi-styles@6.2.2 debug@4.4.2 chalk@5.6.1 supports-color@10.2.1 strip-ansi@7.1.1 ansi-regex@6.2.1 wrap-ansi@9.0.1…
Криптошейхам и тем кто гоняет крипту посвящается. То бишь что именно случилось. https://jdstaerk.substack.com/p/we-just-found-malicious-code-in-the
Substack
Anatomy of a Billion-Download NPM Supply-Chain Attack
A massive NPM supply chain attack has compromised foundational packages like Chalk, affecting over 1 billion weekly downloads. We dissect the crypto-stealing malware and show you how to protect your projects immediately.
😱4💩2❤1🤡1
ts в последнее время выбешивает отсутсвием спеки. 2 истории у меня про это:
История первая. Дженерики.
Короч, как вы знаете у TS есть условия на типах, которые выглядят как
Этот механизм позволяет пилить довольно суровую наркоманию по типу той, которая находится на скриншоте. Однако эта штука не только суровая, забористая, так что её нормально не смогли спроектировать перед добавлением даже ребята из MS.
Мы имеем на проекте styled-components(SC), react-select(RS), react-hook-form(RHF) и собственную логику для стилизации этих селектов(далее L). И наш код выглядит как-то так:
В итоге, так как RHF и RS имеют долбанутые дженерики в своей логике, то TS в какой-то момент превращает тип
Как это решать? Я пока выработал одно правило. Если ты пишешь декораторы, то под ними желательно не иметь дженериков в принципе. А если они нужны, то хотя бы избегать условий в них, чтобы в неожиданный момент эти условия не схлопнулись.
Для избегания условий можно поступать в стиле golang и писать что-то в стиле
Да, получается шумно, но оно хотя бы работает
История первая. Дженерики.
Короч, как вы знаете у TS есть условия на типах, которые выглядят как
type A<T> = T extends string ? T : number;
Этот механизм позволяет пилить довольно суровую наркоманию по типу той, которая находится на скриншоте. Однако эта штука не только суровая, забористая, так что её нормально не смогли спроектировать перед добавлением даже ребята из MS.
Мы имеем на проекте styled-components(SC), react-select(RS), react-hook-form(RHF) и собственную логику для стилизации этих селектов(далее L). И наш код выглядит как-то так:
RHF(L(SC(RS()))). Т.е. декораторы, которые декораторами погоняют, то бишь обычный код для дизайн системы.В итоге, так как RHF и RS имеют долбанутые дженерики в своей логике, то TS в какой-то момент превращает тип
type X<T> = T extends true ? string : number просто в string | number. Потому что походу вычисления достаточно сложные и, так как нет спеки, можно и захачить костыль, из-за чего весь код превращается в единую семантическую ошибку.Как это решать? Я пока выработал одно правило. Если ты пишешь декораторы, то под ними желательно не иметь дженериков в принципе. А если они нужны, то хотя бы избегать условий в них, чтобы в неожиданный момент эти условия не схлопнулись.
Для избегания условий можно поступать в стиле golang и писать что-то в стиле
type SingleSelect<OT> = ReactSelect<OT, false>;
type MultiSelect<OT> = ReactSelect<OT, true>;
Да, получается шумно, но оно хотя бы работает
🤡14💩9
https://www.nvidia.com/en-us/products/workstations/dgx-spark/
Сейчас в мире домашнего запуска ЛЛМ происходит забавная драма.
Nvidia около года назад анонсировала свой Project Digits - железка, которая строится на "революционном G10 чипе", имеющая 1Tflops и 128 гигов unified памяти(Т.е. её может использовать как CPU, так и GPU). И это офигенное на бумаге предложение, так как видеопамять сейчас стоит не просто дорого, а архидорого.
Но потом начинается веселье:
Сначала обнаруживается, что эта память - LPDDR5. Т.е. та, которую вы можете просто купить в любом магазине. Даже не быстрая GDDR6 или выше, которая ставится, к примеру, в игровые консоли и видеокарты. Это первый звоночек, так как скорость работы с памятью архиважна для работы с ЛЛМками
Второе веселье обнаружилось позже. Нвидиа имеет 2 варианта своего апи - для домашних пользователей и для серверов. Т.е. если вы ставите драйвера для дома, то вы получаете преимущество в играх, всяких видеоредакторах и всём таком. Для серверов же ситуация обратная - очень быстрый компью и поддержка всяких нативных fp4 вычислений.
И вот у "Digits" поддержка апи именно для домашних пользователей. И все высокопроизводительные вычисления идут в пень. Отличный способ не каннибализировать продажи собственных видеокарт за десятки тысяч долларов!
Третье: цена поделки от Nvidia - 4к баксов. Цена же mac studio m4 max на 128гб ОЗУ - 3.5к баксов. А по тестам слив идёт даже по сравнению с M1 Max 4летней давности(См. тесты. Фото 2)
Итог: полный слив на фоне решений от эпла, которые и стоят дешевле, и содержит не только видюху но и норм проц. Полный провал со стороны PR у нвидии.
P.S. Да, возможно в обучении нейронок и всего такого спарк и лучше, но пока что в моём пузыре людей, которые просто запускают нейронки куда больше, чем тех кто тренирует.
Сейчас в мире домашнего запуска ЛЛМ происходит забавная драма.
Nvidia около года назад анонсировала свой Project Digits - железка, которая строится на "революционном G10 чипе", имеющая 1Tflops и 128 гигов unified памяти(Т.е. её может использовать как CPU, так и GPU). И это офигенное на бумаге предложение, так как видеопамять сейчас стоит не просто дорого, а архидорого.
Но потом начинается веселье:
Сначала обнаруживается, что эта память - LPDDR5. Т.е. та, которую вы можете просто купить в любом магазине. Даже не быстрая GDDR6 или выше, которая ставится, к примеру, в игровые консоли и видеокарты. Это первый звоночек, так как скорость работы с памятью архиважна для работы с ЛЛМками
Второе веселье обнаружилось позже. Нвидиа имеет 2 варианта своего апи - для домашних пользователей и для серверов. Т.е. если вы ставите драйвера для дома, то вы получаете преимущество в играх, всяких видеоредакторах и всём таком. Для серверов же ситуация обратная - очень быстрый компью и поддержка всяких нативных fp4 вычислений.
И вот у "Digits" поддержка апи именно для домашних пользователей. И все высокопроизводительные вычисления идут в пень. Отличный способ не каннибализировать продажи собственных видеокарт за десятки тысяч долларов!
Третье: цена поделки от Nvidia - 4к баксов. Цена же mac studio m4 max на 128гб ОЗУ - 3.5к баксов. А по тестам слив идёт даже по сравнению с M1 Max 4летней давности(См. тесты. Фото 2)
Итог: полный слив на фоне решений от эпла, которые и стоят дешевле, и содержит не только видюху но и норм проц. Полный провал со стороны PR у нвидии.
P.S. Да, возможно в обучении нейронок и всего такого спарк и лучше, но пока что в моём пузыре людей, которые просто запускают нейронки куда больше, чем тех кто тренирует.
👍10💩5🤡2
Андруша пишет код
https://www.nvidia.com/en-us/products/workstations/dgx-spark/ Сейчас в мире домашнего запуска ЛЛМ происходит забавная драма. Nvidia около года назад анонсировала свой Project Digits - железка, которая строится на "революционном G10 чипе", имеющая 1Tflops…
https://www.apple.com/newsroom/2025/10/apple-unleashes-m5-the-next-big-leap-in-ai-performance-for-apple-silicon/
Второй этап драмы - это сегодняшние анонсы эпла, где эпол бьёт по самым больным точкам текущей поделки от нвидии:
- рост перфа на 20-30%
- рост пропускной сопосбности памяти на 20-30%
Через полгода поделка от нвидии вообще может никому быть не нужной, так как разрыв по ОЗУ будет катастрофическим
Чот нвидиа засиделась в своём монополизме и совсем не видит рынок
Второй этап драмы - это сегодняшние анонсы эпла, где эпол бьёт по самым больным точкам текущей поделки от нвидии:
- рост перфа на 20-30%
- рост пропускной сопосбности памяти на 20-30%
Через полгода поделка от нвидии вообще может никому быть не нужной, так как разрыв по ОЗУ будет катастрофическим
Чот нвидиа засиделась в своём монополизме и совсем не видит рынок
🤡11💩8👍6❤1🙏1
Тут ребята сделали неплохую поделку, которая проливает свет на то как именно давать данные ЛЛМ, чтобы не засирать полностью контекст.
https://github.com/toon-format/toon
Но печально, что именно эта тема стала поводом для шуток, что зумеры в очередной раз изобрели фигню, потому что ребята реально подошли с умом и тестируют формат не только н размер, на который не плевать, конечно, но и на то насколько ЛЛМ может ориентироваться в данных.
И тут, кмк, у них победа. Они не только сократили контекст, но и повысили видимость данных.
Но с PR'ом провал полнейший. Почти все мои знакомые увидели шутки и сразу прошли мимо, как "хайпится очередная фигня".
https://github.com/toon-format/toon
Но печально, что именно эта тема стала поводом для шуток, что зумеры в очередной раз изобрели фигню, потому что ребята реально подошли с умом и тестируют формат не только н размер, на который не плевать, конечно, но и на то насколько ЛЛМ может ориентироваться в данных.
И тут, кмк, у них победа. Они не только сократили контекст, но и повысили видимость данных.
Но с PR'ом провал полнейший. Почти все мои знакомые увидели шутки и сразу прошли мимо, как "хайпится очередная фигня".
👍9💩5🤡2❤1
https://www.githubstatus.com
Сегодня день падений.
И если падение клаудфлера во многом мешало развлекаться, то сейчас упал гитхаб
UPD: вернулся
Сегодня день падений.
И если падение клаудфлера во многом мешало развлекаться, то сейчас упал гитхаб
UPD: вернулся
🤬3💩1🤡1
Андруша пишет код
Сегодня решил чуток повайбкодить и опять обделался, так как приходится включать мозг( Особенно разочаровало то, что дизигнеры всё же нужны и не отправляются в отдел кадров. Запрос к чатгпт или же гуглу простой: Нарисуй схематическое упражнение "rope press…
А новая моделька по генерации картинок неплоха. Походу наконец-то появился инструмент, который позволит качественно всякие схемы несложные визуализировать быстро.
Модель: gemini-3-pro-image-preview
Запрос:
Правда вот цена - это капец: $0.134 за картинку.
Попробовать тута: https://aistudio.google.com/
Модель: gemini-3-pro-image-preview
Запрос:
Draw a schematic illustration of the rope press-down exercise. The diagram should feature a muscular man. The man is on the left, and the machine is on the right. The man's triceps should be highlighted in red, since they are working during the exercise. The biceps should not be highlighted.
Правда вот цена - это капец: $0.134 за картинку.
Попробовать тута: https://aistudio.google.com/
🔥9🤡2❤1💩1
Тут хочется поздравить человечество, что мы опять в жопе как и в 2020-2022, но в данный момент дефицит не чипов, а модулей памяти.
Причём во всём виноваты все те же нейронки. https://www.tomshardware.com/pc-components/dram/openais-stargate-project-to-consume-up-to-40-percent-of-global-dram-output-inks-deal-with-samsung-and-sk-hynix-to-the-tune-of-up-to-900-000-wafers-per-month. До 40% всего спроса на чипы памяти обеспечивает одна OpenAI. А ещё есть всякие амазоны, гуглы, твиттеры и прочие ребята, которые хотят построить кучу датацентров.
Чтобы понять насколько ситуация шизовая - память HBM3 продаётся дешевле чем DDR4. А hbm3 в нормальном рынке была раз в 15 дороже чем DDR. https://www.techpowerup.com/343074/nvidia-demand-may-double-lpddr5x-and-server-dram-prices-in-2026
Так что если есть желание купить готовое решение по типу ноутбука или же какого-нибудь стационарного компьютера, по типу макмини, то лучше это делать пока есть сток и цена на него не меняется. А уже следующие ревизии железок будут учитывать цену памяти и рост может быть очень неприятным. А учитывая, что резервы openai до конца 2026 года, то дороговизна с нами спокойно может быть год, а то и дольше.
Причём во всём виноваты все те же нейронки. https://www.tomshardware.com/pc-components/dram/openais-stargate-project-to-consume-up-to-40-percent-of-global-dram-output-inks-deal-with-samsung-and-sk-hynix-to-the-tune-of-up-to-900-000-wafers-per-month. До 40% всего спроса на чипы памяти обеспечивает одна OpenAI. А ещё есть всякие амазоны, гуглы, твиттеры и прочие ребята, которые хотят построить кучу датацентров.
Чтобы понять насколько ситуация шизовая - память HBM3 продаётся дешевле чем DDR4. А hbm3 в нормальном рынке была раз в 15 дороже чем DDR. https://www.techpowerup.com/343074/nvidia-demand-may-double-lpddr5x-and-server-dram-prices-in-2026
Так что если есть желание купить готовое решение по типу ноутбука или же какого-нибудь стационарного компьютера, по типу макмини, то лучше это делать пока есть сток и цена на него не меняется. А уже следующие ревизии железок будут учитывать цену памяти и рост может быть очень неприятным. А учитывая, что резервы openai до конца 2026 года, то дороговизна с нами спокойно может быть год, а то и дольше.
👍7💩2🤡1
Я тут последний месяц 100% времени посидел на опенаишном codex. И, это провал полный.
Если очень вкратце:
- Нет архитект мода. Ты не можешь сначала порассуждать о плане выполнения задачи, а потом запустить выполнение. Это архинеудобно
- Переключение reasoning в процессе работы слишком геморное. Сначала надо выбрать модель, а потом уже качество ризонинга.
Причём место настолько неочевидное, что я его не сумел загуглить нормально, и узнал о нём только из комментов.
- codex как и claude code позволяет остановить работу в любом месте и докинуть исправление в промпт. Но это тупо не работает. Клиент тебя игнорирует и попросту продолжает свой изначально построенный план
- claude code умеет в офигенную фишку: если ты в какой-нибудь директории сделаешь CLAUDE.md, то клиент прочтёт этот файл, если ему нужен какой-либо ресурс из этой директории. Это позволяет удобно бить документацию по пакетам. В codex же подобного нет. Есть только центральный AGENTS.md, остальное игнорируется. В итоге часть промпта занимает описание этого поведения, который иногда игнорится.
- codex не умеет ходить по вебу. У него попросту нет встроенных для этого тулов.
И если взять подписку на chatgpt, то ты получаешь работу и в codex. Однако есть нюансы:
- у anthropic есть подписки 3 уровней: 20/100/200. А у openai только 20/200. Ну, вот для меня 200 слишком дорого, а лимитов на 20 тупо не хватает. Ценовая политика по сравнению с конкурентами, увы, проигрывает
- claude code может не устраивать людей по качеству, но это не проблема. Можно взять альтернативные клиенты, по типу opencode, которые возьмут твою подписку и будут работать по-другому, что может больше тебе подходить. Я сам лично знаю таких людей.
Но с codex история другая. Они проверяют абсолютно все аргументы на сервере. Послал не ту куку? Пока. Послал не то название клиента? Покедова. И тут самое главное: послал другой системный запрос? Тоже работать не будет.
В итоге я могу продолжить платить антропику, даже если мне не нравятся его продукты. А вот с openai ты гвоздями прибит к их плохому софту.
Выводы неутешительные: openai сейчас не может предложить тупо ничего программисту, что не было бы покрыто антропиком. антропик тупо во всём лучше, причём за те же деньги
Если очень вкратце:
- Нет архитект мода. Ты не можешь сначала порассуждать о плане выполнения задачи, а потом запустить выполнение. Это архинеудобно
- Переключение reasoning в процессе работы слишком геморное. Сначала надо выбрать модель, а потом уже качество ризонинга.
Причём место настолько неочевидное, что я его не сумел загуглить нормально, и узнал о нём только из комментов.
- codex как и claude code позволяет остановить работу в любом месте и докинуть исправление в промпт. Но это тупо не работает. Клиент тебя игнорирует и попросту продолжает свой изначально построенный план
- claude code умеет в офигенную фишку: если ты в какой-нибудь директории сделаешь CLAUDE.md, то клиент прочтёт этот файл, если ему нужен какой-либо ресурс из этой директории. Это позволяет удобно бить документацию по пакетам. В codex же подобного нет. Есть только центральный AGENTS.md, остальное игнорируется. В итоге часть промпта занимает описание этого поведения, который иногда игнорится.
- codex не умеет ходить по вебу. У него попросту нет встроенных для этого тулов.
И если взять подписку на chatgpt, то ты получаешь работу и в codex. Однако есть нюансы:
- у anthropic есть подписки 3 уровней: 20/100/200. А у openai только 20/200. Ну, вот для меня 200 слишком дорого, а лимитов на 20 тупо не хватает. Ценовая политика по сравнению с конкурентами, увы, проигрывает
- claude code может не устраивать людей по качеству, но это не проблема. Можно взять альтернативные клиенты, по типу opencode, которые возьмут твою подписку и будут работать по-другому, что может больше тебе подходить. Я сам лично знаю таких людей.
Но с codex история другая. Они проверяют абсолютно все аргументы на сервере. Послал не ту куку? Пока. Послал не то название клиента? Покедова. И тут самое главное: послал другой системный запрос? Тоже работать не будет.
В итоге я могу продолжить платить антропику, даже если мне не нравятся его продукты. А вот с openai ты гвоздями прибит к их плохому софту.
Выводы неутешительные: openai сейчас не может предложить тупо ничего программисту, что не было бы покрыто антропиком. антропик тупо во всём лучше, причём за те же деньги
👍14💩6❤4🤡2
В последнее время я часто слышу про
Если очень вкратце, то это более эффективный шорткат для git clone, который работает локально.
И вроде с момента появления прошло очень очень много времени(команда появилась в 2015 году), но нормальной поддержки со стороны редакторов тупо нет.
И по идее специальная поддержка особо не требовалась. Нет никаких проблем просто переключить проект, но не после 2022 года, когда все редакторы начали тащить к себе AI.
Вы попросту не можете переключаться между проектами, так как все агенты, все процессы и т.п. тупо привязаны к дикетории: при её смене всё окружение теряется.
Я сейчас полностью сижу на Cursor ради теста и вижу, что там ребята вообще не запариваются насчёт пользовательского опыта:
- Всё то же отсуствие поддержки git worktree на уровне редактора. Хочешь посмотреть в другой инстанс? Перезапускай редактор.
- Хочешь запустить ЛЛМку? Ну, у тебя нет такой возможности. Да, мы недавно выпустили 2.0, но мы там сами создадим за тебя worktree. И пофигу, что у тебя там могут быть какие-то нестандартные init скрипты, без которых код не работает и не имеет смысла
С конкурентом в виде webstorm ситуация не лучше. Я не проверял их jetbrains ai сейчас, но при переключении воркспейсов через плагин "git worktree" у меня так же сбросиласи история старых запросов от времён, когда подписка была активной.
Что до cli(claude code/codex): там нет особо проблем в этой ситуации. Я постоянно переключаюсь между разными терминалами и поэтому нет проблем продолжить переключаться между ники. А вот с GUI создаётся очень большое когнитивное неудобство.
P.S. пока по неполному опыту тестирования Cursor складывается впечатление, что его пилят не программисты, а вайбкодеры, так как там столько незавешенных, а то и просто кривых фич, которые работают не до конца. Но об этом чуть позже, когда у меня будет хотя бы месяц полноценного использования.
git worktree повсюду, поэтому решил разобраться шо это за зверь.Если очень вкратце, то это более эффективный шорткат для git clone, который работает локально.
И вроде с момента появления прошло очень очень много времени(команда появилась в 2015 году), но нормальной поддержки со стороны редакторов тупо нет.
И по идее специальная поддержка особо не требовалась. Нет никаких проблем просто переключить проект, но не после 2022 года, когда все редакторы начали тащить к себе AI.
Вы попросту не можете переключаться между проектами, так как все агенты, все процессы и т.п. тупо привязаны к дикетории: при её смене всё окружение теряется.
Я сейчас полностью сижу на Cursor ради теста и вижу, что там ребята вообще не запариваются насчёт пользовательского опыта:
- Всё то же отсуствие поддержки git worktree на уровне редактора. Хочешь посмотреть в другой инстанс? Перезапускай редактор.
- Хочешь запустить ЛЛМку? Ну, у тебя нет такой возможности. Да, мы недавно выпустили 2.0, но мы там сами создадим за тебя worktree. И пофигу, что у тебя там могут быть какие-то нестандартные init скрипты, без которых код не работает и не имеет смысла
С конкурентом в виде webstorm ситуация не лучше. Я не проверял их jetbrains ai сейчас, но при переключении воркспейсов через плагин "git worktree" у меня так же сбросиласи история старых запросов от времён, когда подписка была активной.
Что до cli(claude code/codex): там нет особо проблем в этой ситуации. Я постоянно переключаюсь между разными терминалами и поэтому нет проблем продолжить переключаться между ники. А вот с GUI создаётся очень большое когнитивное неудобство.
P.S. пока по неполному опыту тестирования Cursor складывается впечатление, что его пилят не программисты, а вайбкодеры, так как там столько незавешенных, а то и просто кривых фич, которые работают не до конца. Но об этом чуть позже, когда у меня будет хотя бы месяц полноценного использования.
👍13💩6❤3🤡2💯1
Почему всё так сложно?
Сейчас я пилю один мелкий ленивый проект и в очередной раз сталкиваюсь с тем, что для простейших действий надо иметь 50 всевышних образований, просто для того, чтобы всё хоть как-то работало.
Дело было так. Захожу я в админку и вижу сабж с картинки. В нём нет ничего криминального, кроме одной непонятной строки: percent cached 6.28%. И это странно, потому что
а) сайт полностью статичный. В нём буквально 0 динамики: только html и css, ничего более
б) все эти файлики напрямую грузятся в cloudflare pages, т.е. клаудфлер знает когда эти файлы загружены и что делать с кешами.
в) ситуация максимально тупая:
Т.е. если запросы идут напрямую в pages, то данные берутся с ближайшего для меня CDN(AKX), а вот если на кастомный домен(который подключен через интерфейс клаудфлера) - данные улетают во Франкфурт.
А теперь сюр: мало того, что оно почему-то не работает из коробки, так и нагуглить проблему невозможно. Ты или попадаешь на нейроговно, которое сделано только для кликов, или же на форумы cloudflare, где вопросы просто висят в воздухе и закрываются, так как на них не получены результаты. chatgpt, claude, гуглы и прочие гроки тоже дают очень умный, красивый и полностью бесполезный текст.
Но если же вы считаете, что у AWS, Digital Ocean или других провайдеров лучше, то пересчитайте. Эти ребята тоже разраслись донельзя, что на их админку без выпученных глаз(и 50 всевышних диссертаций) не взглянуть.
И, увы, есть только одно решение, которое смотрит не только на функциональность, но и на удобство - Vercel. Жутко не рекомендую, потому что эти ребята делают Next, захватили React и творят прочие безобразия, но для хостинга для дебилов с хлебушком вместо мозга, по типу меня - это самое то. Там просто всё работает(за кучу денег в дальнейшем, конечно же, но это совершенно другая история).
Сейчас я пилю один мелкий ленивый проект и в очередной раз сталкиваюсь с тем, что для простейших действий надо иметь 50 всевышних образований, просто для того, чтобы всё хоть как-то работало.
Дело было так. Захожу я в админку и вижу сабж с картинки. В нём нет ничего криминального, кроме одной непонятной строки: percent cached 6.28%. И это странно, потому что
а) сайт полностью статичный. В нём буквально 0 динамики: только html и css, ничего более
б) все эти файлики напрямую грузятся в cloudflare pages, т.е. клаудфлер знает когда эти файлы загружены и что делать с кешами.
в) ситуация максимально тупая:
curl -I https://pickyouragent.dev | grep "cf-ray" возвращает FRAcurl -I https://pickyouragent-dev.pages.dev | grep "cf-ray" же - AKXТ.е. если запросы идут напрямую в pages, то данные берутся с ближайшего для меня CDN(AKX), а вот если на кастомный домен(который подключен через интерфейс клаудфлера) - данные улетают во Франкфурт.
А теперь сюр: мало того, что оно почему-то не работает из коробки, так и нагуглить проблему невозможно. Ты или попадаешь на нейроговно, которое сделано только для кликов, или же на форумы cloudflare, где вопросы просто висят в воздухе и закрываются, так как на них не получены результаты. chatgpt, claude, гуглы и прочие гроки тоже дают очень умный, красивый и полностью бесполезный текст.
Но если же вы считаете, что у AWS, Digital Ocean или других провайдеров лучше, то пересчитайте. Эти ребята тоже разраслись донельзя, что на их админку без выпученных глаз(и 50 всевышних диссертаций) не взглянуть.
И, увы, есть только одно решение, которое смотрит не только на функциональность, но и на удобство - Vercel. Жутко не рекомендую, потому что эти ребята делают Next, захватили React и творят прочие безобразия, но для хостинга для дебилов с хлебушком вместо мозга, по типу меня - это самое то. Там просто всё работает(за кучу денег в дальнейшем, конечно же, но это совершенно другая история).
1👍12💩7🤡4😁3
Андруша пишет код
Я тут последний месяц 100% времени посидел на опенаишном codex. И, это провал полный. Если очень вкратце: - Нет архитект мода. Ты не можешь сначала порассуждать о плане выполнения задачи, а потом запустить выполнение. Это архинеудобно - Переключение reasoning…
https://pickyouragent.dev
https://github.com/XaveScor/pickyouragent-dev/
Тут по мотивам решил оформить пост в отдельный кривой навайбкоженный сайт, где пытаюсь расписывать зачем нужна та или иная фича и есть ли она в том или ином агенте.
Возможно, получится собрать набор must-have и nice-to-have фич, которые должны быть в идеальном клиенте.
А пока планирую прыгать по популярным агентам, чтобы понять какие фичи выделяют их на рынке и реально ли они полезны в работе. До конца месяца пока мучаю cursor, потом пойду на windsurf.
https://github.com/XaveScor/pickyouragent-dev/
Тут по мотивам решил оформить пост в отдельный кривой навайбкоженный сайт, где пытаюсь расписывать зачем нужна та или иная фича и есть ли она в том или ином агенте.
Возможно, получится собрать набор must-have и nice-to-have фич, которые должны быть в идеальном клиенте.
А пока планирую прыгать по популярным агентам, чтобы понять какие фичи выделяют их на рынке и реально ли они полезны в работе. До конца месяца пока мучаю cursor, потом пойду на windsurf.
👍13💩8❤5🔥2🤡2
Приятно иметь небольшой проект, на котором можно потренировать разные скиллы.
ТЛДР:
https://pickyouragent.dev - оптимизированная версия
https://pickyouragent-dev.pages.dev - неоптимизированная.
Желательно проверять в хромиуме.
Так же можете глянуть как работает https://v1000.reatom.dev. Супер стейт менеджер, всем рекомендую, но документация не оптимизирована на кеши(это важно будет ниже).
В этот раз мне захотелось разобраться как сделать максимально эффективную работу с кешами в браузере, чтобы пользователь получал данные максимально быстро.
Дано: статический сайт. В идеале - всё должно кешироваться максимально. В идеале: браузер загрузил должен грузить каждый ресурс максимум 1 раз и больше на сервер не ходить.
Что же получилось:
Слой нулевой. Сборка. Всё кроме .html переименовываем по шаблону
Слой первый. CDN.
Тут всё просто:
- Говорим Clodflare(далее CF) что надо кешировать все файлы на 1 год на своём уровне(так называемый Edge level) и игнорировать GET параметры в урле(/a?a=1 и /a?b=2 считаются одним и тем же адресом). А так же генерировать для каждого файла свой Etag(об этом чуть позже).
В итоге первый запрос на CDN будет создавать кеш, а уже следующие запросы будут не ходить к вам на сервер, а браться напрямую с CDN. И это позволит человеку из Австралии тратить не 2 секунды на установку соединения, а за 200-500мс брать файл с ближайшего CDN
Слой второй. Браузер. HTTP-кеш
- Для всех файлов кроме .html ставим
Так же не забываем о значении
Ещё небольшая экономия на пересылке контента.
- Кешировать .html на 1 год мы не можем, так как, вспоминаем шаг 0, имена .html в браузерном кеше всегда одинаковые. Но если мы хотим обновлять содержимое сайта, то надо заставить клиент перекачивать .html. Поэтому мы не можем ставить большой
И тут возникает проблема: пользователь готов ждать первую загрузку и это незаметно для него. Но лаги во время переходов между страницами будут бесить.
Для сокращения лагов во время переходов придумали отдельный механизм: префетчинг. Но, увы, он не работает везде. В хромиумах лучше всего. В FF только если
Поэтому, для .html ставим
ТЛДР:
https://pickyouragent.dev - оптимизированная версия
https://pickyouragent-dev.pages.dev - неоптимизированная.
Желательно проверять в хромиуме.
Так же можете глянуть как работает https://v1000.reatom.dev. Супер стейт менеджер, всем рекомендую, но документация не оптимизирована на кеши(это важно будет ниже).
В этот раз мне захотелось разобраться как сделать максимально эффективную работу с кешами в браузере, чтобы пользователь получал данные максимально быстро.
Дано: статический сайт. В идеале - всё должно кешироваться максимально. В идеале: браузер загрузил должен грузить каждый ресурс максимум 1 раз и больше на сервер не ходить.
Что же получилось:
Слой нулевой. Сборка. Всё кроме .html переименовываем по шаблону
<name>_<hash>.js. Это позволит нам очень эффективно инвалидировать файлы. Если контент файла изменился, то мы просто ссылаемся на другой файл(потому что хеш нового контента будет другим), которого уже нет в кеше.Слой первый. CDN.
Тут всё просто:
- Говорим Clodflare(далее CF) что надо кешировать все файлы на 1 год на своём уровне(так называемый Edge level) и игнорировать GET параметры в урле(/a?a=1 и /a?b=2 считаются одним и тем же адресом). А так же генерировать для каждого файла свой Etag(об этом чуть позже).
В итоге первый запрос на CDN будет создавать кеш, а уже следующие запросы будут не ходить к вам на сервер, а браться напрямую с CDN. И это позволит человеку из Австралии тратить не 2 секунды на установку соединения, а за 200-500мс брать файл с ближайшего CDN
Слой второй. Браузер. HTTP-кеш
- Для всех файлов кроме .html ставим
max-age в 1 год. Этот заголовок говорит браузеру, что можно безопасно читать файл с дискового кеша вместо похода на сервер. А если страницы сайта реюзают разные файлы, то переходы по страницам будут куда быстрее.Так же не забываем о значении
must-revalidate. Это позволит браузеру включать ранее полученный ETag в запросы, а серверу смотреть поменялся ли Etag и отвечать 200, если контента файла нет у клиента, или же 304, если контент уже есть.Ещё небольшая экономия на пересылке контента.
- Кешировать .html на 1 год мы не можем, так как, вспоминаем шаг 0, имена .html в браузерном кеше всегда одинаковые. Но если мы хотим обновлять содержимое сайта, то надо заставить клиент перекачивать .html. Поэтому мы не можем ставить большой
max-ageИ тут возникает проблема: пользователь готов ждать первую загрузку и это незаметно для него. Но лаги во время переходов между страницами будут бесить.
Для сокращения лагов во время переходов придумали отдельный механизм: префетчинг. Но, увы, он не работает везде. В хромиумах лучше всего. В FF только если
max-age != 0. А в сафари вообще надо костылить через fetch. Больше инфы тут: https://github.com/withastro/astro/issues/10464#issuecomment-2104238799Поэтому, для .html ставим
max-age=1. Если честно, то нет разницы какой мы ставим max-age, потому что CF так же посылает заголовок Age. Он означает сколько секунд файл валяется на конкретной ноде CDN. И, max-age работает, учитывая Age. Можете поразмыслить почему кеш или всегда будет протухшим, или же мешать нам запрашивать новые данные.pickyouragent.dev
Pick Your Agent - Compare AI Coding Agents
A feature-by-feature comparison of AI coding agents for developers
👍15💩4❤3🤡1