artalog @artalog Channel on Telegram

artalog

@artalog


Развернутые ответы на вопросы в чатах, мысли от рабочих процессов.
Вопросы - @artalar.

artalog (Russian)

artalog - это канал на Telegram, который предлагает развернутые ответы на вопросы в чатах и мысли от рабочих процессов. Если вас интересует обсуждение темы и получение глубоких и информативных ответов, то artalog идеальное место для вас. Здесь вы можете найти подробные разъяснения и анализы по самым разнообразным темам. Главная идея канала - обогащать и расширять понимание пользователей, предоставляя им полезную информацию. Если у вас возникли вопросы или хотите узнать больше о какой-то теме, обратитесь к @artalar и получите качественные ответы и размышления. Присоединяйтесь к artalog и погрузитесь в мир интересных дискуссий и полезной информации!

artalog

20 Nov, 19:29


Как же я люблю инжинирить, не важно в чем!

Простая в изготовлении и обслуживании ветрозащита для спиртовки, повышающая ее эффективность и могущая, на крайний случай, работать как щепочница: https://vk.com/artalar?w=wall768599538_295%2Fall

artalog

20 Nov, 07:45


Дебажу утечки памяти первый раз в жизни с дебагером, а не просто пристальным взглядом 😬
Оказывается в снапшоте есть только поиск по имени класса, пришлось в протекающие данные засунуть созданный для теста пустой TestClass. Тупо, но работает.

Но что важнее - это "Distance". Возможность узнать количество скоупов или свойств объекта через которые до объекта можно дотянуться через глобальную область видимости. И в "Retainers", собственно, это можно сделать как будто инспектируя обычный json. Очень полезно! Хотя, опять же, не хватает блэк боксинга (скрытия) скриптов (скоупов) либ.

artalog

19 Nov, 07:45


Не функциональные требования

"Бизнес не готов платить за тесты"? Или, что действительно входит в самостоятельность сеньора? Помимо технических и социальных навыков, самостоятельность обязательно включает в себя аналитические способности соотносить желания бизнеса и долгосрочное качество их реализации. Качество обеспечивают следующие характеристики технического решения:

- производительность - загрузка и рантайм
- надежность - обработка ошибок
- безопасность - недопущение ошибок и их обработка
- удобство использования - UX
- масштабируемость - количество протекаемых данных
- поддерживаемость и расширяемость кода

Это еще не все!

Тема невероятно обширная и важная. Но главное, в концепции своей она очень простая - ВЫ несете базовую ответственность за все эти (и многие другие!) пункты. Это значит, что пока вам явно не доказали, что на что-то из стандартных не функциональных требований (и хороших практик их реализации) нужно забить - на них забивать нельзя!

Не соблюдение этих требований лично я считаю багом.

Хороший разработчик умеет вальсировать балансировать между функциональными требованиями бизнеса и не функциональными требованиями качества. Т.е. каждое что, разработчик сам решает как делать.

Эти решения - эта ответственность именно то, что позволяет расти профессионалу и качественно подниматься по карьерной лестнице ;)

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

artalog

17 Nov, 20:23


Чем больше реакт компайлер ускоряет приложение, тем больше это говорит о скиле разработчиков этого приложения 🤷‍♂

artalog

15 Nov, 19:19


Концовка наших стримов, всем огромное спасибо, кто был с нами эти два дня 🎤

artalog

15 Nov, 17:14


@holyjs_channel все ❤️

Программная сетка в этот раз особенно порадовала 👀

Очень ждал этой конфы, встреч! Были большие надежды на доклад. Оцениваю, что у меня все прошло плохо 😅 Будем объективны, хотя это не приятно... Я очень уставший / заболевший, не знаю.
Обидно.
Но хочется сделать какой-то позитивный вывод.
- успел получить несколько инсайдов с нетворкинга
- построил планы на будущее
- накоплено много материала, работаем с ним дальше
+ пол сотни подписчиков на канале 🤗
- не буду больше пропускать зал, всем здоровья!

artalog

15 Nov, 13:18


А вот и "слайды"

artalog

15 Nov, 10:20


Ох что сейчас будет

artalog

15 Nov, 07:43


🥳

artalog

14 Nov, 07:45


error TS2742: The inferred type of '...' cannot be named without a reference to...

Противная ошибка, возникающая при кривом описании зависимостей в импортируемых библиотеках. Например, в github.com/artalar/react-router-typed-object используется тип RouteObject, который react-router импортирует, но не экспортирует из @remix/router. Из-за этого в некоторых ситуациях (дупликация пакетов) на таком простом коде может возникать эта ошибка:

export const ROUTER = createRouter([
/* полторы тысячи строк кода */
])
// error TS2742: The inferred type of 'ROUTER' cannot be named without a reference to...


Интересно эту проблему предлагает решить клод:
- три разных варианта как написать ROUTER: Router (т.е. убить инферинги)
- обновить тайпскрипт
- ну и, конечно, ROUTER: any

АИ все еще туповат 🙃

Я же пытался пересобрать модули правильным образом, благо react-router-typed-object - мой пакет, чекал версии и дедупил их. Но по какой-то причине в IDE все нормально работало, а вот в CI базель собирал как-то все так, что ошибка снова проявлялась.

В очередную итерацию дебага, вместо копания в базеле решил еще раз вникнуть в причину ошибки.

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

export const ROUTER = createRouter([
/* полторы тысячи строк кода */
]) satisfies Router;


Все заработало! И ошибка ушла, и инферинги остались. Ооо как мне нравится satisfies, не первый раз меня спасает.

Сейчас еще подумал, возможно можно было написать так:

const CONFIG = [
/* полторы тысячи строк кода */
]) as const;
export const ROUTER = createRouter(CONFIG) as Router & InferRoute<typeof CONFIG>

artalog

14 Nov, 06:31


Привет всем кто на holyjs.ru 😉
Я приеду только завтра утром 🥲
Завтра будет очень много сообщений в канале 😅

artalog

12 Nov, 07:46


О рекламе в канале

На момент написания этого поста у канала уже 3 675 подписчиков, и для меня это большое достижение — спасибо вам! Примерно треть подписчиков с telegram premium, а посты читает больше половины. То есть, это действительно активная и живая аудитория — очень круто!

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

Хочу сейчас провести четкую границу: не пишите мне, пожалуйста, с предложениями о рекламе. Но вы всегда можете поделиться чем-то интересным в привязанном чате — @JentlemanS.

Я хочу сохранить аутентичность канала и то, с чего всё начиналось — регулярные технические заметки и мысли на моем пути программиста. Всем хардкора! <3

artalog

11 Nov, 07:45


В дискорде ollama говорят для локального автосаджеста сейчас топ - ollama run qwen2.5-coder:1.5b (https://qwenlm.github.io/blog/qwen2.5-coder/)

Но я не смог завести ее с https://docs.continue.dev/autocomplete/model-setup#local-offline--self-hosted-experience. То ли сам тупой, то ли wsl шалит (кажется, ollama зависает).

Мб кто-то попробует у себя? Очень интересно, на сколько быстрая и рабочая вещь вообще. Ну и 7b как для автокомплита, если у вас ОЗУ куча?

P.S. совсем скоро еще 3b модель появится!
UPD: подвезли

artalog

08 Nov, 11:09


Очень много всего происходит, много чего есть интересного рассказать, но нет времени на оформление этой информации в посты. Простите 🫢

Пока, предложу посмотреть интересное интервью с @opensource_findings: https://www.youtube.com/watch?v=097tW0c3Aec

artalog

05 Nov, 11:18


В @reatom/[email protected] появилась поддержка path параметра для searchParams.lens и withSearchParams
https://www.reatom.dev/package/url/#search-parameters

artalog

05 Nov, 11:18


А есть еще какие-то роутеры с такой фичей?