Login Sign Up
Advert
Your ad spot
Reserve this exclusive slot for the selected period.
Buy advertising →
Telegram community logo - Radio Kottans
Added 06 Dec 2025

Radio Kottans

@radio_kottans
Number of subscribers: 1 566
Photos: 126
Videos: 13
Links: 710
Description:
Share the knowledge (c) Канал корисних посилань та новин зі світу програмування від спільноти розробників "Котани". https://kottans.org/ Бажаєш підтримати? https://www.patreon.com/kottans

👥 Number of subscribers

1 566
Average/Day:: 0
Average/Week:: 0
Average/Month:: -12

📊 Messages per Day

0
Last day: 0
Week average: 0
Average per day: 0

Status change history

Officially not confirmed 2025-12-06

Wall

Telegram statistics channel

👁 895 26-03-23 11:32
Temporal — революція, яку дуже легко не помітити.Так, офіційно Temporal — це новий формат і стандарт роботи з датами в ECMAScript.Так, він вирішить багато проблем. Так, він позбавить наш код «зайвих» залежностей. Так, він зменшить бандли.А в чому ж тоді революція? Вперше!!! ECMAScript тепер має еталону реалізацію (частини вланої логіки). Тобто ECMAScript описує абстракції та поведінку, але не займається реалізацією і поширенням еталонної реалізації (reference implementation). Саме тому у нас є різні «engines» у різних браузерах, які компанії самі реалізують для свого продукту.Тепер же TC39 не просто розробило стандарт для об’єкта Temporal, а й зробило open-source «shared engine» на кшталт стандарту IEEE 754 для роботи з числами з плаваючою комою.Цей «time engine» написаний на Rust, щоб уникнути хронічних хвороб «плюсів». Наприклад, за даними команди безпеки Chromium 70% критичних помилок — це проблеми роботи з пам'яттю (С++).Друга революція — JS більше не ізольована система, зв'язок із зовнішнім джерелом часу обов'язковий. Тобто «temporal_rs» — логіка операцій із часом, але джерело чи відповідальний за це браузер чи runtime. Те, що раніше зберігалося у лібах типу «moment.js» чи «date-fns», прибираємо у «хост». Браузер буде зобов'язаний завантажувати собі базу IANA, якщо в ОС вона не оновлена.Схоже, що епоха "війн баузерів" остаточно завершується. Різні команди об'єднуються для розробки спільного рішення. Не тимчасового, не особистого, а спільного сталого та зваженого. Це вражає і надихає!Ще багато цікавих нюансів цієї тихої революції читайте у статті:https://bloomberg.github.io/js-blog/post/temporal
👁 868 26-03-18 14:20
Вітаємо, спільното!!!Світ програмування буремний і швидко змінюється. ШІ стає гарним асистентом у руках людини, і розробника особливо. Найпопулярнішим асистентом зараз є Claude Code. Він «парубок моторний» і впевнено справляється із багатьма задачами: від кодингу до рефакторингу і дебагінгу. Але, як і всі, має свої недоліки. І зараз не про вартість підписки.Claude Code, захопившись роботою, може зробити «too much» запитів до власного API та впертися у «rate limit». І ось тут з’являється проблема. Отримуємо помилку з кодом 429 та повідомленням: “Too Many Requests…. retry-after….”. Прогрес роботи втрачається, і після таймаута, який треба вичекати, потрібно поставити завдання Claude знову. Тобто Claude втрачає прогрес і контекст, тому це доведеться тримати тобі в голові та на контролі.Але розробник на те і розробник, щоб покращувати світ і продукти, з якими стикається. Так виникла ідея зробити такий собі try-catch-restart для свого асистента Клода, щоб, окрім рестарту, ще зберігалися прогрес і контекст, а рестарт був не з нуля, а з місця, на якому він зупинився. А ще було б файно, щоб функціонал був приправлений нотками автентичного національного гумору, user-friendly інтерфейсом та автоматизацією.Ідея українських розробників втілилася в таку зручну лібу.Користуйтеся із задоволенням і нехай ваш Клод нічого не забуває.https://www.npmjs.com/package/claude-rate-limit-timer
👁 892 26-02-23 08:49
Wix After Hours: 130 днів на межі. Відверта розмова з бійцями «Холодного Яру»130 днів на позиціях під Костянтинівкою, саме стільки тримали оборону наші гості, бійці 93-ої окремої механізованої бригади «Холодний Яр». Їхні історії ви могли бачити в новинах по всьому світу. Тепер у нас є можливість почути їх наживо.Запрошуємо до київського офісу Wix на зустріч із піхотинцями 93-ї ОМБр – Дмитром «К2» та Денисом «Барсом». РеєстраціяГоворитимемо про:- жагу до життя на передовій і після повернення- віру в перемогу та що допомагає її не втрачати- страх, втому, гумор і людяність під час війни- адаптацію після фронту та плани на майбутнєФормат зустрічі – відверта розмова, питання та відповіді.⚠️ Захід безкоштовний. Вхід на подію – за попередньою реєстрацією та за наявності документа, що посвідчує особу або Дії. Захід не передбачає участі дітей віком до 18 років.💰 Під час зустрічі ми збиратимемо кошти на термінали Starlink для НРК, для 3 МБ 93 бригади: https://send.monobank.ua/jar/8K62SPjZse📅 Коли: 4 березня / відкриття дверей, welcome snacks & drinks - 18:00 / початок заходу - 18:30 PMДе: вул. Паньківська 14, WixТакож інформуємо, що вхід до офісу заборонений із вогнепальною зброєю та колючо-ріжучими предметами. Дякуємо за розуміння та турботу про безпеку одне одного.Для нас важливо зберігати культуру пам’яті й підтримувати наших військових, тож будемо раді бачити вас на цьому заході.
👁 886 26-02-10 11:50
Вітаємо, Kottans.Новий рік починається із гарних новин для світу фронтенду та спільноти ECMAScript. Наприкінці січня 2026 відбувся реліз останнього мінорного апдейту Babel 7 версії, життєвий цикл якої тривав із середини 2018 і до початку 2026. І разом із цим було оголошено, що Babel 8 отримав статус - Release Candidate 1, тобто вийшов на фінішну пряму. Про шалені бенефіти, які принесе Babel 8 для web- та mobile-застосунків, поговоримо окремо. А сьогодні хочемо розібратися, з чим ми живемо у Babel 7 і чому це вже не завжди ок.Babel - це невидимий фундамент майже кожного фронтенд проєкту. Навіть якщо ви ніколи не відкривали babel.config.json, він вже працює у вашому стеку через React, Vite, Next.js, Jest або Typescript. Тому зміни у Babel впливають не лише на “збірку”, а й на:- розмір бандлу- швидкість старту застосунку- продуктивність коду в рантаймі- можливості відмовитися від старих браузерівУ 2014 році виходить специфікація ES6(ES2015) із новими фічами: стрілочні функції, класи та інше, але жоден браузер їх не розуміє. Транспілятор “6to5”, який написав 17-річний австралійський розробник Себастьян Маккенсі, трансформував код із ES6 у ES5 (стандарт 2009 року) і обіцяв, що цей код буде працювати будь-де, а особливо у Internet Explorer 11.У чому проблема Internet Explorer 11? Він вийшов у 2013 році і на відміну від інших браузерів IE11 не оновлювався автоматично. У ті часи Chrome випускав апдейти кожні 4-6 тижнів. Корпорації ж використовували Windows 7,8,10 де IE11 був стандартним браузером, і крім того використовували спеціалізовані застосунки, написані спеціально під IE11. За таких умов авдиторія IE11 зростала, а у 2015-2017 роках 20%-30% усього трафіку йшло через цей стабільний, але старий браузер.Тому “6to5”, який згодом об'єднався із паралельним проектом “esnext” і вирішив змінити назву на “Babel”, що вирішував проблему кросбраузерності коду, став фундаментов майже всього фронтенду, що ми маємо. Babel оцінив та почав активно використовувати Facebook при запровадженні та імплементації JSX (React, React Native), а потім і Vue, Angular, Solid.За даними State of JS 2023, Babel у складі бандлерів використовують у 92% усіх проектів.І ось чому, станом на 2015-2020:- Internet Explorer 11 (все ще використовується у корпораціях) не розуміє class, async/await, ??, #private, arrow functions- Safari 10 — часткова підтримка ES2015- Chrome 45 — є класи, але немає приватних полів- Firefox 52 — є async/await, але немає optional chainingТе що було порятунком у 2015-2018, сьогодні вже рудімент або навіть баласт. В середині лютого буде вже три роки, як Microsoft замінила IE11 на Edge, а IE11 взагалі не підтримує у більшості версій Windows 10. Сучасні браузери підтримують 95% синтаксису ES2020+, а Babel 7 за інерцією продовжує транспілювати код у ES5, ніби ми живемо за часів давніх богів, воєвод та царів IE11.То хто за це все платить? Хто страждає і кому боляче?Коротка відповідь - користувач. Найбільше від агресивноЇ транспіляції страждають:- користувачі із слабкими пристроями- мобільні браузери з повільним CPU- великі SPA із довгом Time to Interactive- команди, які роками не чіпали конфіг BabelОсь таке історичне і практичне значення має ця бібліотека. У наступній статті розберемо, як Babel трансформує сучасний код із дефолтним налаштуванням та як це вплине на ваш застосунок.
👁 979 26-02-02 17:03
ECMAScript 2026: JavaScript дорослішає.Щороку JavaScript непомітно змінюється. Поки ми обговорюємо черговий фреймворк, десь у специфікації ECMA-262 тихо лагодять речі, через які ми роками писали костилі. Версія ECMAScript 2026 — саме про це: менше болю, менше lodash, більше «працює з коробки».Головний вайб релізу — мова починає захищати розробника від власних помилок.1. Масиви більше не зраджуютьСкільки разів ти ловив баг через sort() або reverse(), які змінюють вихідний масив? У React це класика: відсортував — і стан поїхав.Тепер є ось такі методи:users.toSorted()users.toReversed() Оригінал цілий, карма чиста. Для джуна — мінус цілий клас загадкових багів, для мідла — код ближче до нормального функціонального стилю.2. Set нарешті став кориснимРаніше порівняти дві множини = написати цикл або тягнути бібліотеку. Тепер:a.union(b)a.intersection(b)a.difference(b) Фільтри, теги, права доступу — усе робиться нативно й читабельно. Мінус самописні утиліти з папки helpers.3. Регулярки без пастокДинамічні RegExp — джерело сюрпризів і дір у безпеці. З’явився:RegExp.escape(userInput) Ввів користувач .* — і застосунок не зламався. Маленька функція, але економить години дебагу.4. Ітератори як у дорослихЗ ними тепер можна працювати майже як із масивами:iterator.map(x => x * 2).take(3).toArray() Крок до більш читабельного і продуктивного JS.5. Асинхронність стала чистішаЗамість обгорток із try/catch:Promise.try(() => fn()) Дрібниця, а код стає значно зручніше.6) Temporal: тепер з датами можна жити, а не виживати.Коротко про те, що реально змінює Temporal.Тепер ти можеш:✔️ порівнювати дати без getTime() і математики в мілісекундах;✔️ рахувати діапазони: скільки днів між подіями, скільки місяців до дедлайну;✔️ працювати з календарями без страху літнього часу;✔️ мати «тільки дату» або «тільки час», а не дивний Date з усім одразу;✔️ додавати «1 місяць» так, щоб це був справді місяць, а не 30 днів;✔️ не ламати стан у React через мутабельність.Як це виглядає:Порівняння без магії:date1.equals(date2)Temporal.PlainDate.compare(a, b) Діапазони та різниця:start.until(end, { largestUnit: "days" }) Арифметика дат:date.add({ months: 1 })date.subtract({ days: 10 }) Чіткі типи замість хаосу:PlainDate — просто датаPlainTime — тільки часZonedDateTime — дата + зонаInstant — точний момент у UTCDuration — інтервалиЧасові зони без сліз:event.withTimeZone("Europe/Kyiv") Головний ефект для фронтенду:календарі та пікери дат — без бібліотек;буккінг та підписки — без костилів;міжнародні проєкти — без «чому в березні зникла година».І найважливіше: Temporal немутабельний. Жоден метод тихо не перепише твою дату в стейті.Це той момент, коли JavaScript вперше за 25 років отримав нормальну модель часу.Що все це означає?JavaScript явно рухається трьома рейками:1) Менше магії.Те, що ми копіювали зі StackOverflow, переїжджає у стандарт.2) Безпека за замовчуванням.Менше мутацій, менше неочікуваних ефектів.3) Мінус залежності.Багато задач, заради яких тягнули lodash та утиліти, вирішуються нативно.Якщо ти джун — вітаю: мова, яку ти вчиш зараз, набагато дружелюбніша за ту, на якій писали «старші».Якщо мідл — час потроху викидати самописні хелпери й переписувати їх на нові API.ES2026 — JavaScript стає нуднішим, передбачуванішим і дорослішим. І це, мабуть, найкращий комплімент мові.👉 Зберігай, щоб потім на рев’ю сказати: «навіщо lodash, у нас тепер все нативне».https://tc39.es/ecma262/