Борода бывшего программиста
184 subscribers
45 photos
2 files
112 links
Сейчас рук. отдела в Озоне, ранее директор по разработке idp.zyfra.com
leotsarev.ru
t.me/leotsarev
Много ссылок на статьи и нытья
Download Telegram
Посмотрел на экспорт статических сайтов из тильды.
Это огонь: он не статический. Не статический в том плане, что нельзя его залить на произвольный хостинг, который умеет отдавать статику вроде github pages и все бы работало.
Вернее, он статический при соблюдении условия «не использовать красивые URL /dir/page/page, использовать только стандартные тилдовские pageXXXXX.html»
Если использовал красивые URL, то редирект сделан через .htaccess, а так же на них не грузятся скрипты, картинки и css, нужно руками обрабатывать.

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

Было бы круто, если бы кто-то написал утилиту, которая умеет «компилить» результат экспорта сайт на тильде и превращать ее в действительно статический сайт.
В 2005 году Ян Хиксон из команды Opera разработал предложения Web Forms 2.0 идея была в том, чтобы посмотреть на самые распространенные контролы, которые делают на JS, и занести их прямо в браузер.
Тогда появились placeholder, required, input[type=number] и прочие штуки (да, дети, в наше время мы писали placeholder руками. Нет, я не забыл принять таблетки).

Естественно, мы воспользовались этим, чтобы делать ещё более сложные формочки, и опять оказалось, что кучу элементов надо писать руками. Это с одной стороны не так страшно (их же пишут внутри компонентов дизайн систем), но это противоречит декларативной природе HTML. Нам приходится перереализовывать кучу всего, что и так есть в браузере, это все работает в разных дизайн системах чутка по разному, ну и кучу JS надо грузить.

Проект Open UI ориентирован на то, чтобы проанализировать кучу текущих дизайн систем и на их основании дополнить веб платформу готовыми совместимыми реализациями, или иногда building blocks для них. Очевидно, что это не избавит нас от слоя абстракции дизайн систем совсем, но выравняет их в простейших базовых вещах (вернее в том, что мы считаем базовым на этом уровне развития технологий).

Коллеги занесли в веб платформу нормальные popover, аккордеон и обещают в следующем году затащить туда нативный combobox с нормальной стилизацией и поиском. What a wonderful time to be alive.

https://open-ui.org/
У нас на работе админы переименовали наконец всех пользователей в Jira/Confluence по русски.
Думаю это официальный конец «мы международная компания с офисом в Финляндии» вайб
Два раза за последние дни видел паттерн:
1. Устно что-то обещают
2. Оформить это сейчас по процессу по вполне разумным основаниям никак нельзя. Обычно нет решения какого-нибудь комитета
3. Устно просят продолжать работы
4. Ты просишь написать простое советское письмо. Или даже email
5. И в этот момент почему это никак нельзя сделать. Или можно, только не совсем про то. Или можно, но не совсем тому человеку.

В общем это письмо, оно, конечно, не гарантия. Но если его нет, вас абсолютно точно задумали кинуть
Общим местом является то, что внутреннее ИТ гигантских корпораций не способно к созданию конкурентных продуктов на внешний рынок. Есть этому куча разных причин, в том числе культура, механизмы постановке целей и финансирования.

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

Для начала, у большинства облаков продается 1 физ. ядро с включенным HT как 2 vCPU, и это в документах тихонько пропускается (впрочем я бы тоже так продавал).

Но интереснее вопрос. Положим, что у вас CPU request у вашего контейнера с равен 1. Что гарантирует, что он не окажется на одном физ ядре с кем-то, кто достаточно бодр, чтобы сожрать большую часть ядра? Как кубер это учитывает? Есть что почитать?
Антон прислал ссылку про то, как уебански считается load average в Linux

https://www.brendangregg.com/blog/2017-08-08/linux-load-averages.html

P.S. если хотите, чтобы Антон наконец завел свой канал ставьте звёздочки. Ну или огонечки, ладно
https://browser.engineering/index.html

Как написать свой браузер (полезно для общего понимания, что там вообще внутре)
А идет ли кто-то на Highload? Хочется там с кем-то тусануть.
Forwarded from В поисках подходящего названия...
- и по всем задачам проставьте статусы!
- так мы же только что отчитались, разработка завершена, все протестировано!
- ну так проставьте статусы что "готово"
- админ мой выйдет из отпуска в понедельник и проставит, ладно
- это не ждет до понедельника, проставьте сами!
- слушай, надо срочно 2 договора дотолкать и еще миллион дел, это блин точно задача админа
- ничего не знаю, надо проставить! для порядка и контроля!

и канистры нет...
Открываю документацию Кварца, а там такое.

https://www.quartz-scheduler.net/documentation/quartz-3.x/tutorial/advanced-enterprise-features.html#clustering

2/3 варнингов на этой странице появились в результате тикетов от нашей команды в Fortis. Такой приветик из прошлого.
.NET 9 вышел, а работающего плагина для PostgreSQL для EF Core 9 нет.
Его реально пилят те же программисты, что и EF Core и плагины для SQL Server/CosmosDB, но в свободное время
Сегодня я узнал про существование dotnet nuget why.
Раньше я копался в project.assets.json, а оказывается есть спецкоманда для этого.

Впрочем, как оказалось, загадку уязвимости в System.Private.Uri она решить все-таки не помогает из-за бага
https://github.com/NuGet/Home/issues/13718

И туда же — https://github.com/NuGet/Home/issues/7344 (потому что этот пакет, да и большая часть ссылающихся на него, на самом деле Supplied By Platform — лежат в внутри shared framework, и достается оттуда, а старые версии тупо игнорируются).
https://news.ycombinator.com/item?id=42122690

Очень криво рассказывают (зачем-то ругают Docker compose вместо того, чтобы ругать k8s), но по сути это слой абстракции "выше уровнем", аналогичный тому, что мы предоставляем для сервисов в рамках платформы ZIIoT (zifctl) или абстракции PaaS в рамках Авито Plato.

Посмотрим, что у них выйдет, звучит круто
Я нахожусь в убеждении, что наличие атрибутов куки SameSite=Lax и его дефолт в браузерах полностью отменяет всякую необходимость в CSRF-защите (ну вот все это положили в hidden поле идентификатор сессии и проверили при сабмите) для современных браузеров, и это уже вопрос доп. сложности, которую можно тянуть, чтобы защитить владельцев древних браузеров, а можно не тянуть (и хер с ним для части сайтов). Что думаете?
Иногда горит что-то такое про работу не техническое, но я не пишу в канал, неприлично. Да и не стоит.
А иногда есть вопрос, который в целом выглядит показательным для поста, но не хотелось бы давать повод коллегам выяснять в комментариях сиюминутное: при обсуждении какого вопроса это возникло, и кто из руководителей на какой позиции стоял. Придумал писать в будущее через год. Там сиюминутное будет не важно, а полезное останется. Кинул первый такой пост. Может он не доживёт, удалю. А может и доживёт.