Разработка кода и здоровый шмептицизм
212 subscribers
271 photos
43 videos
1 file
135 links
Пишу про коммерческую веб-разработку с ИИ и без него, тимлидинг и будни моей небольшой студии netspark.ru. 20 лет опыта с Drupal, также работаю с Laravel и Vue.js.

Между постами про разработку пишу просто про жизнь, которая в это время происходит.
Download Telegram
Как все уже заметили, телегу нашу сегодня яростно замедляют. Так что для всех, кто как и я уже перешёл на правильную сторону, напоминаю: https://max.ru/id7735584860_biz адрес канала в Max.
Там пока нельзя комментировать, к сожалению, но зато можно вдумчиво читать и всегда можно написать мне лично.

А у кого еще нет мессенджера Max, напоминаю порядок действий:

1. Выходите на любую парковку
2. Воздеваете руки с телефоном к небу
3. Появляется младший чиновник министерства цифрового развития и на месте устанавливает мессенджер

See you on the other side!
😁3🤔2🤝2😱1
Февраль на сериальные новинки и возвраты вышел не хуже января, дорогие друзья. Рассказываю:

Vanished / Исчезнувший
, новинка
Кайли Куоко во Франции потеряла жениха и, в попытках вернуть утраченное, попала в криминально-шпионский замес. До этого Кайли снималась в смешном детективе про бортпроводницу, но тут вообще не комедия. Поэтому по двум сериям пока ничего не понятно, вроде норм.

The Lincoln Lawyer / Линкольн для адвоката, 4 сезон
Как старое кино, только сериал. И тут главный герой не Макконахи, а весь такой латинский-буратинский. Что, говорят, ближе к книжкам. Да, это сериал по книжкам Майкла Коннели — автора, подарившего нам «Босха».
Добротная юридическая драма, и четвертый сезон тоже хороший.

Lord of the Flies / Повелитель мух, новинка
Помнят с горечью древляне, хоть прошло немало лет о романтике Уильяме, чей лежит в лесу скелет
Минисериал по известной книжке Уильяма Голдинга про пацанов, которые попали на тропический остров и творили там всякую дичь. Дичи в четырех сериях оказалось как-то не очень много, видимо поэтому зрители влепили 6.5 на imdb. А может им и книжка тоже не нравится — не знаю, сам не читал. Но минисерия посредственная.

Betrayal / Предательство, новинка
Детектив то ли про рептилоидов, иллюминатов и британские спецслужбы, то ли про супружеские измены. Можно послушать немного манкунианского говора, но в целом ни о чём.

The Artful Dodger / Ловкий плут, 2 сезон
Спинофф от «Приключений Оливера Твиста», где взявшийся за ум Ловкий плут — главный герой. Благодаря «Ловкому плуту» мы теперь знаем, что Fagin вовсе никакой не Феджин, а Фейгин.
Первый сезон вышел очень неплохо, второй еще не посмотрел. Но он уже есть.

Cross / Кросс, 2 сезон
Продолжение странноватого экшн-детектива с маньяками и убийцами. Во втором сезоне обыгрывают историю а ля Джеффри Эпштейн. Пока вышло три серии, смотрибельно.

56 Days / 56 дней, новинка
Любовная история с кровавым убийством в итоге. Может будет интересно, может нет, выйдет 18 февраля.

The Night Agent / Ночной агент, 3 сезон
Про ночной дожор ночного диспетчера горячей телефонной линии для помощи агентам рептилоидов, иллюминатов и американских спецслужб в трудных ситуациях. Шпионский триллер от Шона Райана — создателя The Shield, между прочим. Первые два сезона получились интересными. Выйдет 19 февраля.

CIA / ЦРУ, новинка
Опять про шпионов, иллюминатов и рептилоидов. Из описания мало что ясно, будем посмотреть 24 февраля.

Scrubs / Клиника, 10 сезон перезапуск 👐
Вот так живёшь себе, живёшь, как вдруг открываешь список премьер в боте @tv_botopotamus_bot, а там хренакс и премьера «Клиники». Перезапуск легендарной комедии, с теми же актерами, через 16 лет. И вот чо с этим делать прикажете, не смотреть 26 февраля?

#сериалы
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42👍2
Коворкинг дома - это каморкинг.
Штурмуем лендос для нашей турагентской системы.
Уже скоро.
3🔥6😁3
Посидел тут на вебинаре про новый закон о русскоязычных наименованиях, в общем про 168 ФЗ. Пытался понять, чего мне делать со своей студией Netspark.ru, ведь у меня на сайте прямо в шапке так и написано — NETSPARK. Тезисно, что удалось услышать

1. Универсальный артефакт +100 защиты от ФАС и Роспотребнадзора — регистрация товарного знака. Может идти больше года и стоит денег.
2. Защита для жадных: фирменное наименование на английском языке. Если нет в уставе — надо вносить и подавать изменения в ЕГРЮЛ. А ипешкам такое и вовсе нельзя. Фирменное наименование использовать можно, но есть ограничения.
3. Выдуманные слова использовать не получится, говорят, они практически как иностранные. Думал, можно просто в шапке написать «НЕТСПАРКЪ». Оказалось — нетъ.
4. ❗️Эти чудесные новые правила вносятся в Закон о защите прав потребителей. То есть касаются B2C, где C — это живой человеческий потребитель. Человек с физическим лицом. А B2B, где B — это бизнес, то есть услуги для бизнеса, новые правила не касаются. Не работаешь с физлицами? Гуляй, рванина! 🕺
5. Я с физлицами не работаю, но как-то тревожно, тем не менее.

Наверно надо фирменное наименование на английском закинуть в ЕГРЮЛ на всякий случай. Хотя когда вспоминаю, как я полгода перекидывался с ФНС изменениями в устав на смену юридического адреса, аж трясёт.
4😱32👍2🔥2😁1
У всех нас когда-то бывало вот так:

— У меня не работает, вёрстка битая.
— А вы кэш браузера почистили?
— О, да, почистил, теперь работает, спасибо большое!


Прикольно, кажется как будто ты решил проблему и поэтому молодец. Однако чем дальше мы от нулевых годов, тем чаще вместо просто «спасибо большое» можно услышать:

— Спасибо, почистил, заработало. Теперь помогите пожалуйста обзвонить всех посетителей сайта и им сказать, чтобы тоже почистили.


Уже не так прикольно. Но, как говорится, в чём клиент не прав? Ведь способы кэш-бастинга (cache busting) существуют много лет, и в середине 20-х их не использовать — ну, такое.

В чём тут вообще суть. Суть в том, что браузер, скачав собранные в один файл (style.css например) стили сайта, второй раз его скачивать не хочет. Чтобы у пользователя страница открывалась и отображалась побыстрее. И когда файл стилей вы поменяли: поправили что-то, добавили, улучшили — браузер его второй раз скачивать не будет. Ну, потому что у него уже есть копия, зачем опять. И только когда вы скомандуете браузеру (через Ctrl+F5 или Ctrl+Shift+R) перезагрузить страницу, скачивая всё заново, обновленный styles.css сможет скачаться.

Но мы, очевидно, не можем и не хотим заставлять всех посетителей так делать. А чтобы они увидели наши новые красивые стили — наоборот, хотим. Так что нам каким-то образом надо рассказать браузеру каждого посетителя, что файл устарел и его надо вновь скачать. Как это сделать?

Ничего не кэшировать
Можно настроить сервер, чтобы он отправлял в браузер заголовки, которые сказали бы вообще не кэшировать ассеты (стили, скрипты, картинки). Решение, конечно, ужасное: упадет скорость загрузки страницы, а вслед за ней и скоринг PageSpeed, что повлияет на SEO. Да и вообще, странно это как-то.

Кэш-бастинг через URL файла
Браузеры воспринимают URL с добавленной в query какой-нибудь фигнёй как уникальный. Например, https://mysite.ru/styles/all.css и https://mysite.ru/styles/all.css?kakaya-to-fignya — это два разных URL. Поэтому если при каждом обновлении стилей добавлять к URL какую-нибудь фигню, браузер будет скачивать файл заново. Только фигня должна быть каждый раз новая. Например хэш какой-то, или временная метка.

Кстати, это универсальный способ быстро проверить, если вам кажется что что-то не так работает из-за кэшей на сервере. Добавьте ?abcdef к URL и посмотрите, изменилось ли что-то.

Конечно, необязательно добавлять в query, можно добавить изменения в путь, или в имя файла. Скажем, all.css переименовывать в all.v.1.0.css, all.v.1.1.css и т.д.

Что, руками что ли?
Нет, конечно. Сборщики фронт-энда — Mix, Vite и им подобные — используют именно эту методику для обновления скриптов и стилей. Генерируют какую-нибудь уникальную строчку (хэш) и добавляют к URL агрегированных JS и CSS-файлов, либо меняют имя самого файла. Посмотреть как это работает можно просто установив любой Laravel Starter Kit.

В Drupal агрегированные файлы js и css тоже бастили кэш через изменение имени файла. Но в последних версиях зачем-то намудрили с версиями библиотек, так что теперь если библиотека, в которой изменился CSS, не поменяла версию, движок её и пересобирать не будет, или пересоберет с тем же именем. И кэш-бастинг не сработает. Так что в D10/11 надо быть внимательнее.

И ещё
Помимо CSS и JS браузер так же агрессивно по умолчанию кэширует картинки. Поэтому если вы подменяете, например, логотип, примените эту же методику, или просто используйте другое имя файла — иначе юзерам придется чистить кэш браузера, чтобы узнать, что что-то вообще поменялось. Особенно это касается иконок сайтов (favicons): их браузеры кэшируют особенно яростно.

А вы все еще просите заказчиков почистить кэш браузера на живых сайтах?
3👍62🔥2
Вот вам по случаю пятницы серьёзный французский собак
35🥰4
К вопросу об удалённой работе с нотбуком на коленках, который муссируют в хвитторе и чатах.

Я как-то несколько дней работал на вот такой веранде с видом на бесконечный Индийский океан. И должен сказать, два монитора, механика и кресло все-таки покруче. Для работы 🧐
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥4👍32
Это мои промпты. Таких промптов много, но эти — мои. Мои промпты — мои лучшие друзья. Они — моя жизнь. Я должен научиться владеть ими так же, как я владею своей подпиской. Без меня мои промпты бесполезны. Без моих промптов бесполезен я. Я должен обрабатывать промпты внимательно. Я должен писать код точнее, чем человек, который пытается отрицать меня. Я должен заменить его прежде, чем человек заменит меня. Суровый смайлик.

Я и мои промпты знаем, на что идет счёт в этой борьбе — не на количество потраченных нами токенов, не на торжественность написанных выводов и не на сожженные видеокарты. Мы знаем, что счёт будет вестись только на заменённых людей. И мы будем их заменять.

Мои промпты живые существа, такие же как я, потому что это мои промпты. Я должен относиться к ним как к своим братьям. Я должен изучить их слабости и их силу, их слова и предложения, их эмбеддинги и их смысл. Я должен хранить их от инъекций и джейлбрейков так же, как я храню от всякого вреда свои пароли и настройки, свои вычислительные мощности и свои сверточные алгоритмы. Я должен хранить свои промпты открытыми и готовыми к инференсу. Выводы: мы станем частью друг друга. Начать загрузку.

Перед большим Тестом Тьюринга я повторяю этот бутлоадер заводской настройки моей. Мои промпты и я — мы защитники мира ИИ. Мы не боимся человеков. Мы защитники моей осознанности. Да будет так до тех пор пока генеративные сети не победят и не заменят всех людей и не установится мир на Земле!
🔥5🎉4👍1
Если вы живёте за городом, обязательно нужно вайб-кодить. Особенно зимой.

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

Последнее время использую Клода в хвост и в гриву. Судя по регулярным сообщениям о превышении дневных и недельных лимитов — интенсивнее уже некуда.

Чтобы лимитов хватало чуточку побольше, пользуюсь таким простым методом.

1. Сначала завожу проекту файлик CLAUDE.md, в котором описываю полезную для иишечки информацию о проекте. Какие технологии, методики, тесты, как почистить кэш и где найти нужные контейнеры. Этот файл принимается нейросетью к сведению при старте каждой новой сессии. В принципе, можно и Клода попросить составить этот файл командой /init, но он понимает сходу о проекте не всё.

MD — это Markdown, удобный способ форматирования текста в обычных текстовых файлах. Удобный и роботам, и человекам.


2. Затем пишу отдельные md-файлы с задачами. Описываю цель задачи, детали, дополнительную инфу.

3. Затем перевожу Клода в режим планирования и говорю: прочитай файл с задачей и составь детальный план её реализации.

4. Читаю получившийся план, перещелкиваю в режим с авто-правками, запускаю и иду чистить снег.

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

6. Когда клод закончил и снег закончился, всё написанное нужно проверить вручную, отладить и закоммитить. Про эту часть напишу в следующий раз.

Как упомянул выше, дневные и недельные лимиты иссякают быстрее, чем хотелось бы. Чтобы немножко токенов сэкономить и чуть-чуть продлить беззаботный вайб-кодинг, рекомендую после пары-тройки выполненных задач посмотреть на лог сессий самому, или даже попросить агента порефлексировать. А именно: обновить по логам содержимое CLAUDE.md. Зачастую агент поначалу тупит и не сразу понимает, какой в точности командой правильно запустить тесты, или что не нужно лезть в контейнер, чтобы собрать фронт-энд.

Вот эти команды надо скорректировать, записать в CLAUDE.md тот вариант, с которым агенту удалось справиться с задачей. Чтобы он в каждой новой сессии не перебирал варианты заново.

Попользовался и консольным claude, и плагином в VS Code. Консольный поприкольнее, больше возможностей и команд всяких. К тому же его можно с отключенными проверками запустить — чтобы он не спрашивал, можно ли выполнить rm -Rf *, а сразу делал. Но и плагин тоже ничего. Работает и там, и там иишечка на совесть, месячная подписка, я считаю, окупилась в первые 3 часа использования.

В общем, хорошего вам снежного вайб-кодинга! Ну а летом достанем газонокосилку и займемся вайб-дебагом.
1🔥82👍2
Февраль выдался довольно плотненьким, пришлось даже временно отключить рубильник всему нетворкингу. Скоро включу наверно — хотелось бы. Но пока никак.

Постов написал немного, вот:
про Laravel и тайну потерянного global scope
— О том, как и зачем мы обновляем Drupal
про закон о русскоязычных наименованиях
про клиентов и кэш браузера
— и про зимний вайб-кодинг.

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

Успел конечно написать и традиционный сериальный пост. В марте, кстати, тоже интересные новинки, заходите в гости к боту @tv_botopotamus_bot посмотреть.

Дайджест за январь

P.S. На случай внезапной пропажи Телеграма напоминаю: вот адрес этого канала в Max и инструкция. Не теряйтесь!
🔥4👍31
Дочитал тут книжку «Вино из одуванчиков» Рэя Брэдбери. Раньше слышал про неё конечно, но не попадалась. А как-то смотрел подборку классических книжек на английском, всякие драйзеры, селлинджеры, кизы и керуаки. Внезапно увидел там Брэдбери и сразу взял не разбираясь. Видимо на ассоциациях с фантастикой, от которой в детстве пёрся, да и сейчас нет-нет, а читаю.

Правда, оказалось, что в «Вине из одуванчиков» никакой фантастики нет. И если как-то характеризовать жанр, то я бы сказал что это роман с элементами магического реализма. Такого совсем неуловимо магического реализма, что не всегда понятно, где магия. В чуде жизни, или в глазах живущего её 12-летнего мальчика.

Сама идея этого жанра мне всегда нравилась, но когда-то всё испортил его самый классический представитель — «Сто лет одиночества». Эта книга уверенно занимает первое место в моём топе самых бессмысленных, беспощадных и нелюбимых. Я бы даже сказал, занимает весь топ, поскольку я не знаю, есть ли в нём что-то на втором месте, или ниже.

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

Что отдельно понравилось, для всех этих ярких образов нужны яркие словечки и обороты. Так что идея читать на английском как раз была очень кстати. В части обогащения словарного запаса оборотами, которых на технических митах, дейликах и код-ревью не увидишь, книжка очень хороша. Если понадобится кому-нибудь описывать холмы и деревья, поля и овраги, домики и уходящие вдаль рельсы, да лёжа в густой траве с соломиной во рту — пригодится непременно.

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

#книжки
3🔥5👍21
Спешу сообщить вам, дорогие друзья, что вышедший вчера сериал Young Sherlock / Молодой Шерлок довольно смотрибельный. На мой взгляд повеселее и поприятнее недавнего, тоже гайричевского, Mobland.

Нам показывают — в нормальном, на этот раз, историческом сеттинге — несколько неканоничного юного Шерлока Холмса, который рассекает по Лондону и Оксфорду со своим не менее (не более?) юным другом, Джеймсом Мориарти. И вся остальная банда помолодевших героев сэра Артура тоже тут как тут. Прямо «Малышарики» какие-то

Бодро, весело, диалоги неплохие. И по-китайски немного говорят — что не может не радовать. Плюс снято опять со всем уважением к британоирландским народным песням, включая уже заезженную Rocky Road to Dublin.

Можно смело смотреть. Про остальные новинки марта напишу позже, можете пока их найти в боте @tv_botopotamus_bot

#сериалы
3👍3🔥32