Forwarded from Work & Beer Balance
Меня заставили написать этот занудный пост XD:
Почему в настройках следует называть булеан опции так, чтобы их дефолт значение было false.
Причин несколько:
Двойное отрицание при использовании
Принцип "минимального конфига" или CoC (Convention over Configuration) или YAGNI (You Aren't Gonna Need It).
Большинство булевых флагов должны описывать доп возможности.
Это матчится с ожиданием пользователя получить по-умолчанию какую базу которую он будет адаптировать.
Снижает кривую обучения и позволяет вникать только в тот функционал который нужен ему.
Про это и так много написано, останавливаться здесь не будем, но кратко суть:
- По умолчанию функция выключена (false)
- Пользователь явно включает (true)
Feature Proof
В какой-то момент булеан может потребовать больше уточнения, включить как именно.
Ну например:
Когда мы передаем
Альтернативы сильно хуже, ну например:
или
Почему в настройках следует называть булеан опции так, чтобы их дефолт значение было false.
Причин несколько:
Двойное отрицание при использовании
// Если юзер активен
if (user.isActive) { ... }
// не неактивен
if (!user.isInactive) { ... }
Принцип "минимального конфига" или CoC (Convention over Configuration) или YAGNI (You Aren't Gonna Need It).
Большинство булевых флагов должны описывать доп возможности.
Это матчится с ожиданием пользователя получить по-умолчанию какую базу которую он будет адаптировать.
Снижает кривую обучения и позволяет вникать только в тот функционал который нужен ему.
Про это и так много написано, останавливаться здесь не будем, но кратко суть:
- По умолчанию функция выключена (false)
- Пользователь явно включает (true)
Feature Proof
В какой-то момент булеан может потребовать больше уточнения, включить как именно.
Ну например:
minification: false | true | { loose: boolean }Когда мы передаем
{ loose: boolean } это как бы естественно нам говорит что оно будет включено с этими настройкамиАльтернативы сильно хуже, ну например:
disableMinificaton: { loose: boolean }или
disableMinificaton: false,
minificationOptions: {
loose: boolean
}
👍24🤨2
вскод теперь - редактор АИ кода.
реплит сходу даже не надеется что у вас гитхаб есть.
кодеры, как будто, вымирают.
Интересно, что там в vim тусовке происходит?
реплит сходу даже не надеется что у вас гитхаб есть.
кодеры, как будто, вымирают.
Интересно, что там в vim тусовке происходит?
😁11👍3❤2
Lofree Flow Lite.
Подустал от клавы мака, захотелось попробовать что-то новое. Долго выбирал между этой и Nuphy AIR75 v3, которая дороже и не понятно какие свичи надо было брать, так что решил попробовать Lofree.
Звук - идеально, как и мечтал, очень доволен. Щелкающий, но не оч громкий.
Тактильно - тоже кайфовая, пластик хороший. НО: 1) ход клавиш под углом имеет трение, немного коробит, но думаю очень быстро привыкну; 2) руки сразу привыкли и начали печатать вслепую, но трацепивидность клавишь и глубина хода подбешивают, много лишних касаний других кнопок (ни на что не влияет, чисто ощущения так себе), мб привыкну; 3) свичи линейные - мне не в кайф, хочется тактильно чувствовать "поп-ит".
Сверху клавы мака встает нормально на ножках (под углом), без них жмет на кнопки.
Самое большое удивление и проблема - кнопка Win, и других версий не бывает 🤦♂️
В целом, доволен, но попробую вернуть и взять Nuphy с Brown свичами, т.е. тактильными, а не линейными.
P.S. бежевый на картинке выглядел классно и в живую она супер, но с моим голубым маком не оч сочитается.
Подустал от клавы мака, захотелось попробовать что-то новое. Долго выбирал между этой и Nuphy AIR75 v3, которая дороже и не понятно какие свичи надо было брать, так что решил попробовать Lofree.
Звук - идеально, как и мечтал, очень доволен. Щелкающий, но не оч громкий.
Тактильно - тоже кайфовая, пластик хороший. НО: 1) ход клавиш под углом имеет трение, немного коробит, но думаю очень быстро привыкну; 2) руки сразу привыкли и начали печатать вслепую, но трацепивидность клавишь и глубина хода подбешивают, много лишних касаний других кнопок (ни на что не влияет, чисто ощущения так себе), мб привыкну; 3) свичи линейные - мне не в кайф, хочется тактильно чувствовать "поп-ит".
Сверху клавы мака встает нормально на ножках (под углом), без них жмет на кнопки.
Самое большое удивление и проблема - кнопка Win, и других версий не бывает 🤦♂️
В целом, доволен, но попробую вернуть и взять Nuphy с Brown свичами, т.е. тактильными, а не линейными.
P.S. бежевый на картинке выглядел классно и в живую она супер, но с моим голубым маком не оч сочитается.
👍9❤1
artalog
Video message
Абстрактно вышло... Вот мои тейк:
- "функциональный" дизайн кода, через набор параметризированных функций / компонентов и их комбинации - избыточная абстракция из стародавних времен бедности стандартной библиотеки.
До сих пор часто можно встретить ФРП (Rx и тп), "глупые компоненты" с props drilling, логику из нескольких не переиспользумых утилит с бОльшим числом параметров, чем этих утилит. Кмк это все антипаттерны в современной разработке.
У нас достаточно системных утилит и фреймворков, что бы сфокусироваться на логике приложения и не разбивать ее на "читаемые блоки" (кмк это устаревший взгляд на код). Напомню, выносить код в функции даже при дублировании логики не всегда надо, DRY не обязателен.
- "функциональный" дизайн кода, через набор параметризированных функций / компонентов и их комбинации - избыточная абстракция из стародавних времен бедности стандартной библиотеки.
До сих пор часто можно встретить ФРП (Rx и тп), "глупые компоненты" с props drilling, логику из нескольких не переиспользумых утилит с бОльшим числом параметров, чем этих утилит. Кмк это все антипаттерны в современной разработке.
У нас достаточно системных утилит и фреймворков, что бы сфокусироваться на логике приложения и не разбивать ее на "читаемые блоки" (кмк это устаревший взгляд на код). Напомню, выносить код в функции даже при дублировании логики не всегда надо, DRY не обязателен.
1💯13👍3👎3
Forwarded from Tbilisi JS 🤟
Tbilisi JS XMas Stream 2025 — December 28🎄
Ловите наш сюрприз — мы вместе с Даней Савицким уже в это воскресенье приглашаем вас обсудить итоги года и послушать ещё классных докладов напоследок!
🎙Иван Акулов, Google Developer Expert, Performance Engineer в Framer, расскажет о фреймворковых
🎙 Алёна Батицкая, Google Developer Expert, Senior Frontend Developer, редактор в Доке, познакомит нас с новой функцией CSS
🎙 Артём Арутюнян, разработчик, автор библиотек и фреймворков, расскажет, как сделать роутер в приложении умнее и эффективнее с паттерном computed factory на примере Reatom;
🎙 Александр Коротаев, бородач с косичкой на бороде и двумя детьми, в миру разработчик графических эффектов, игр и анимаций, расскажет о 3D-графике на пальцАх.
Специальные гости:
⭐️ Никита Дубко, доброжелюбный бородач из «Веб-стандартов», кудрявый беларус и автор блога @mefody_dev;
⭐️ Полина Гуртовая, адептка древних технологий, Google Developer Expert, постоянная ведущая «Веб-стандартов», не вайбкодер и не фулстек.
Вместе с нашими спикерами и гостями обсудим события года, посмотрим, что крутого и не очень крутого (или совсем некрутого) принёс нам во фронтенд и веб в целом 2025 год, а заодно отпразднуем 2 года Tbilisi JS!🥳
👉 Жмите колокольчики, чтобы не забыть, и уютно и лампово провести вечер воскресенья на нашем онлайн стриме 28 декабря (вс) в 18:30 (GMT+4) — ссылка на стрим на нашем канале🌐
Ловите наш сюрприз — мы вместе с Даней Савицким уже в это воскресенье приглашаем вас обсудить итоги года и послушать ещё классных докладов напоследок!
🎙Иван Акулов, Google Developer Expert, Performance Engineer в Framer, расскажет о фреймворковых
<Link/> vs старые добрые HTML <a>, и кто победит в битве за перформанс;🎙 Алёна Батицкая, Google Developer Expert, Senior Frontend Developer, редактор в Доке, познакомит нас с новой функцией CSS
if(), её синтаксисом и покажет, где она может пригодиться;🎙 Артём Арутюнян, разработчик, автор библиотек и фреймворков, расскажет, как сделать роутер в приложении умнее и эффективнее с паттерном computed factory на примере Reatom;
🎙 Александр Коротаев, бородач с косичкой на бороде и двумя детьми, в миру разработчик графических эффектов, игр и анимаций, расскажет о 3D-графике на пальцАх.
Специальные гости:
⭐️ Никита Дубко, доброжелюбный бородач из «Веб-стандартов», кудрявый беларус и автор блога @mefody_dev;
⭐️ Полина Гуртовая, адептка древних технологий, Google Developer Expert, постоянная ведущая «Веб-стандартов», не вайбкодер и не фулстек.
Вместе с нашими спикерами и гостями обсудим события года, посмотрим, что крутого и не очень крутого (или совсем некрутого) принёс нам во фронтенд и веб в целом 2025 год, а заодно отпразднуем 2 года Tbilisi JS!
👉 Жмите колокольчики, чтобы не забыть, и уютно и лампово провести вечер воскресенья на нашем онлайн стриме 28 декабря (вс) в 18:30 (GMT+4) — ссылка на стрим на нашем канале
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩16❤9
artalog
Вера У нас в чате запрещены острые темы, вроде политики или вероисповеданий. Но раз в год (буквально) можно. Я Христианин и вера в Бога - фундамент моей жизни. Это то что помогает мне принимать решения во всем: от управления эмоциями, до долгосрочного планирования.…
Всех с любовь поздравляю с Рождеством Христовым!
Что бы остаться хоть немного в теме канала, оцените как хорошо христианство решает проблемы теории игр.
А еще, посоветую вам хорошие фильмы на вечер:
- Драма (18+): По соображениям совести [Hacksaw Ridge] (2016)
- Мультик (6+): Путеводная звезда [The Star] (2017)
Что бы остаться хоть немного в теме канала, оцените как хорошо христианство решает проблемы теории игр.
А еще, посоветую вам хорошие фильмы на вечер:
- Драма (18+): По соображениям совести [Hacksaw Ridge] (2016)
- Мультик (6+): Путеводная звезда [The Star] (2017)
15❤43👎10🖕7🎉4😇4🙏3🤪3😈1👀1
Forwarded from Голландский Rust-ист
На прошлой неделе был на подкасте от HolyJS - тяжелое утро.
(извиняюсь, не получилось сделать анонс заранее)
😉 YouTube 📺 VK Видео
В разные сезоны на HolyJS было два доклада, которые идеально дополняют друг друга:
— «Компилируем TypeScript» от Владимира Цышнатий
— «Разработка компилятора для TypeScript на TypeScript на базе LLVM» от Дмитрия Пацура
Должно быть крайне интересно для людей, которые любят технический хардкор и хотят задуматься «а как оно под капотом» или послушать рассуждения про разработку компиляторов.
Голландский Rust-ист - канал о веб разработке
#подкаст #видео #компиляторы #хардкор
(извиняюсь, не получилось сделать анонс заранее)
В разные сезоны на HolyJS было два доклада, которые идеально дополняют друг друга:
— «Компилируем TypeScript» от Владимира Цышнатий
— «Разработка компилятора для TypeScript на TypeScript на базе LLVM» от Дмитрия Пацура
Должно быть крайне интересно для людей, которые любят технический хардкор и хотят задуматься «а как оно под капотом» или послушать рассуждения про разработку компиляторов.
Голландский Rust-ист - канал о веб разработке
#подкаст #видео #компиляторы #хардкор
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Тяжелое утро HolyJS #118 с Дмитрием Пацура и Владимиром Цышнатий. Компиляция TypeScript: невошедшее
Подробнее о конференции HolyJS: https://jrg.su/EM4wwV
— —
— —
🔥9❤1🖕1
Forwarded from Tbilisi JS 🤟
Роутинг правильной архитектуры 🏛
Артём Арутюнян, разработчик треть своей жизни, автор библиотек и фреймворков, статей и докладов, и в целом хороших практик. Ведёт канал artalog.
Роутер — ключевой фундамент архитектуры приложения, и Артём расскажет, как сделать его умнее и эффективнее с паттерном computed factory на примере Reatom.
🔔 Присоединяйтесь к нашему онлайн стриму 28 декабря (вс) в 18:30 (GMT+4), уютно проведём время в отличной компании — ссылка на стрим на нашем YouTube канале 🌐
Tbilisi JS Chat | YouTube | LinkedIn | Instagram
Артём Арутюнян, разработчик треть своей жизни, автор библиотек и фреймворков, статей и докладов, и в целом хороших практик. Ведёт канал artalog.
Роутер — ключевой фундамент архитектуры приложения, и Артём расскажет, как сделать его умнее и эффективнее с паттерном computed factory на примере Reatom.
Tbilisi JS Chat | YouTube | LinkedIn | Instagram
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19👍8👎3🔥2
Жск, невероятно популяризированный TW благодаря LLM потерял из-за этого же трафик на свой сайт и соответствующую рекламу, а главное доход платных продуктов (почти в два раза) и уволил 3/4 своих сотрудников. Не знают как выживать в нынешние времена и блокируют добавление llms.txt на свой сайт, что бы еще сильнее не дистанцироваться от пользователей.
https://github.com/tailwindlabs/tailwindcss.com/pull/2388#issuecomment-3715074726
https://github.com/tailwindlabs/tailwindcss.com/pull/2388#issuecomment-3715074726
🤔18😁11😭6🔥1😱1
Сначала был https://github.com/Quramy/typed-css-modules
Потом
https://github.com/mrmckeb/typescript-plugin-css-modules
Потом
https://github.com/mizdra/happy-css-modules
Теперь
https://github.com/mizdra/css-modules-kit
Потом
https://github.com/mrmckeb/typescript-plugin-css-modules
Потом
https://github.com/mizdra/happy-css-modules
Теперь
https://github.com/mizdra/css-modules-kit
GitHub
GitHub - mizdra/css-modules-kit: A toolkit for making CSS Modules useful.
A toolkit for making CSS Modules useful. Contribute to mizdra/css-modules-kit development by creating an account on GitHub.
👍10😭6🔥2👏2🥱1