\u003C/p>\u003Cp>Ведущие: Коля Шабалин, Лёша Симоненко и Женя Шкляр.\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Ссылки и таймкоды:\u003C/p>\u003Cul>\u003Cli>00:00:39 \u003Ca href=\"https://adamsilver.io/blog/the-problem-with-automatically-focusing-the-first-input-and-what-to-do-instead/\">Проблема с автофокусом и что делать с этим делать\u003C/a>\u003Cbr />\u003C/li>\u003Cli>00:16:11 \u003Ca href=\"https://developer.chrome.com/blog/chrome-for-testing/\">Отдельный Chrome для тестирования\u003C/a>\u003C/li>\u003Cli>00:26:26 \u003Ca href=\"https://zellwk.com/blog/container-queries-best-practice/\">Лучшие практики для контейнерных запросов\u003C/a>\u003C/li>\u003Cli>00:43:20 \u003Ca href=\"https://survey.stackoverflow.co/2023/\">Результаты опроса разработчиков Stack Overflow за 2023 год\u003C/a>\u003C/li>\u003C/ul>\u003Cp>\u003C/p>\u003Cp>\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Учитесь с нами в .html academy → \u003Ca href=\"https://htmlacademy.ru\">https://htmlacademy.ru\u003C/a>\u003C/p>\u003Cp>Узнавайте новое в журнале «Доктайп» → \u003Ca href=\"https://t.me/html_blog\">https://t.me/html_blog\u003C/a>\u003C/p>\u003Cp>А все вопросы о подкасте пишите на почту → podcast@htmlacademy.pro\u003C/p>","full","storage/podcasts/710d33d0-89c4-48d6-ba5a-da04d64b88e9/episodes/8a7c3143-d328-47d8-97e2-5c6d738115e4.mp3",4110,"2023-06-19T09:54:00.000Z",291,{"image_80":13,"image_180":14,"image_240":15,"image_600":16,"image_1280":17},[73,76],{"type":74,"count":75},"like","0",{"type":77,"count":75},"dislike",[],[80,90,100,110,120,130,140,149,159],{"id":81,"number":82,"season":22,"title":83,"description":84,"type":66,"image":11,"audio":85,"duration":86,"is_explicit":20,"code":82,"publish_date":87,"listenings":88,"is_private":20,"plans":45,"video":45,"images":89},"6afc0a45-2072-4645-8702-1e5f405c2870",11,"011. 20 лет вникуда, ужасы ch и TS 5.1","\u003Cp>Формулируем «правило технического подкаста» — любой технический подкаст однажды начнёт обсуждать высшее образование для программистов. Мы не стали исключением и обсудили важность высшего образования, устаревшие технологии (которые раньше были хорошими), важность @scope (к которому есть вопросики) и большие вопросики к единицам измерения ch. В общем, всё как всегда.\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Ведущие: Коля Шабалин, Игорь Антонов, Лёша Симоненко и Женя Шкляр.\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Ссылки и таймкоды:\u003C/p>\u003Cul>\u003Cli>00:01:22 \u003Ca href=\"https://habr.com/ru/companies/ruvds/articles/738316/\">Итоги двадцати лет работы — технический долг и неподдерживаемый код\u003C/a>\u003Cbr />\u003C/li>\u003Cli>00:16:59 \u003Ca href=\"https://fullystacked.net/posts/scope-in-css/\">Введение в @scope в CSS\u003C/a>\u003C/li>\u003Cli>00:34:41 \u003Ca href=\"https://devblogs.microsoft.com/typescript/announcing-typescript-5-1/\">TypeScript 5.1\u003C/a>\u003C/li>\u003Cli>00:45:05 \u003Ca href=\"https://cloudfour.com/thinks/watch-out-for-layout-shifts-with-ch-units/\">Остерегайтесь сдвига макета с помощью единиц измерения ch\u003C/a>\u003C/li>\u003Cli>00:56:59 \u003Ca href=\"https://github.com/reactwg/server-components/discussions/5\">React Server Components своими руками\u003C/a>\u003C/li>\u003C/ul>\u003Cp>\u003C/p>\u003Cp>\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Учитесь с нами в .html academy → \u003Ca href=\"https://htmlacademy.ru\">https://htmlacademy.ru\u003C/a>\u003C/p>\u003Cp>Узнавайте новое в журнале «Доктайп» → \u003Ca href=\"https://t.me/html_blog\">https://t.me/html_blog\u003C/a>\u003C/p>\u003Cp>А все вопросы о подкасте пишите на почту → podcast@htmlacademy.pro\u003C/p>","storage/podcasts/710d33d0-89c4-48d6-ba5a-da04d64b88e9/episodes/6afc0a45-2072-4645-8702-1e5f405c2870.mp3",4000,"2023-06-13T13:06:46.069Z",266,{"image_80":13,"image_180":14,"image_240":15,"image_600":16,"image_1280":17},{"id":91,"number":92,"season":22,"title":93,"description":94,"type":66,"image":11,"audio":95,"duration":96,"is_explicit":20,"code":92,"publish_date":97,"listenings":98,"is_private":20,"plans":45,"video":45,"images":99},"e0c08586-3a58-4a6c-b4ba-0b834f45701d",10,"010. Случайности не случайны, а цвета не цвета","\u003Cp>В этом выпуске мы во всём сомневались — случайны ли случайности в JavaScript, достаточно ли цветны привычные нам цвета в CSS и считаются ли комментарии комментариями, если в них всего одна строка.\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Но все сомнения, конечно, разрешились. Слушайте, чтобы узнать, к чему мы пришли.\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Ведущие: Коля Шабалин, Игорь Антонов, Лёша Симоненко и Женя Шкляр.\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Ссылки и таймкоды:\u003C/p>\u003Cul>\u003Cli>00:00:30 \u003Ca href=\"https://github.com/ChrisCavs/aimless.js\">Отсутствующая библиотека случайностей JavaScript\u003C/a>\u003C/li>\u003Cli>00:06:07 \u003Ca href=\"https://chriscoyier.net/2023/05/25/two-things-that-are-not-great-about-oklch/\">Две вещи, которые не очень хороши в OKLCH\u003C/a>\u003C/li>\u003Cli>00:17:15 \u003Ca href=\"https://2ality.com/2022/05/processing-arrays-non-destructively.html\">Какой метод для работы с массивами лучше\u003C/a>\u003C/li>\u003Cli>00:28:43 \u003Ca href=\"https://habr.com/ru/articles/739016/\">Изменения, которые ухудшают производительность и что с этим делать\u003C/a>\u003C/li>\u003Cli>00:41:00 \u003Ca href=\"https://blog.jim-nielsen.com/2023/single-line-comments-in-css/\">Почему в CSS нет однострочных комментариев?\u003C/a>\u003C/li>\u003Cli>00:52:00 \u003Ca href=\"https://qwik.builder.io/\">Замена для React.js\u003C/a>\u003C/li>\u003C/ul>\u003Cp>\u003C/p>\u003Cp>\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Учитесь с нами в .html academy → \u003Ca href=\"https://htmlacademy.ru\">https://htmlacademy.ru\u003C/a>\u003C/p>\u003Cp>Узнавайте новое в журнале «Доктайп» → \u003Ca href=\"https://t.me/html_blog\">https://t.me/html_blog\u003C/a>\u003C/p>\u003Cp>А все вопросы о подкасте пишите на почту → podcast@htmlacademy.pro\u003C/p>","storage/podcasts/710d33d0-89c4-48d6-ba5a-da04d64b88e9/episodes/e0c08586-3a58-4a6c-b4ba-0b834f45701d.mp3",3905,"2023-06-07T12:09:10.169Z",281,{"image_80":13,"image_180":14,"image_240":15,"image_600":16,"image_1280":17},{"id":101,"number":102,"season":22,"title":103,"description":104,"type":66,"image":11,"audio":105,"duration":106,"is_explicit":20,"code":102,"publish_date":107,"listenings":108,"is_private":20,"plans":45,"video":45,"images":109},"1a46c626-27a6-4f55-8e0b-d31c0531bc10",9,"009. Быстрый Node.js, адаптация без медиавыражений, вертикальный ритм и практики отличных форм","Смотрим графики и рефлексируем о производительности Node.js. Разбираемся с лучшими практиками создания хороших форм. Делаем адаптацию без медиавыражений, а вертикальный ритм с помощью новых единиц измерений. В очередной раз убеждаемся: сначала изучаем JavaScript, потом React.\u003Cbr />\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Ведущие: Коля Шабалин, Игорь Антонов и Лёша Симоненко.\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Ссылки и таймкоды:\u003C/p>\u003Cp>\u003C/p>\u003Cul>\u003Cli>00:00:47 \u003Ca href=\"https://blog.rafaelgss.dev/state-of-nodejs-performance-2023\">State of Node.js Performance 2023\u003C/a>\u003Cbr />\u003C/li>\u003Cli>00:17:46 \u003Ca href=\"https://evilmartians.com/chronicles/html-best-practices-for-login-and-signup-forms\">Одиннадцать лучших практик HTML для форм входа и регистрации\u003C/a>\u003C/li>\u003Cli>00:35:12 \u003Ca href=\"https://developer.chrome.com/blog/introducing-popover-api/\">Введение в popover API\u003C/a>\u003C/li>\u003Cli>00:51:33 \u003Ca href=\"https://www.sitepoint.com/responsive-css-layout-grids-without-media-queries/\">Адаптивные сетки CSS без медиавыражений\u003C/a>\u003C/li>\u003Cli>00:59:22 \u003Ca href=\"https://pawelgrzybek.com/vertical-rhythm-using-css-lh-and-rlh-units/\">Вертикальный ритм с использованием единиц CSS lh и rlh\u003C/a>\u003C/li>\u003Cli>01:03:01 \u003Ca href=\"https://javascript.plainenglish.io/its-2023-please-stop-using-for-conditional-rendering-in-react-b588a09ebb17\">Its 2023, Please Stop Using operator && for Conditional Rendering in React\u003C/a>\u003C/li>\u003C/ul>\u003Cp>\u003C/p>\u003Cp>\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Учитесь с нами в .html academy → \u003Ca href=\"https://htmlacademy.ru\">https://htmlacademy.ru\u003C/a>\u003C/p>\u003Cp>Узнавайте новое в журнале «Доктайп» → \u003Ca href=\"https://t.me/html_blog\">https://t.me/html_blog\u003C/a>\u003C/p>\u003Cp>А все вопросы о подкасте пишите на почту → podcast@htmlacademy.pro\u003C/p>","storage/podcasts/710d33d0-89c4-48d6-ba5a-da04d64b88e9/episodes/1a46c626-27a6-4f55-8e0b-d31c0531bc10.mp3",4165,"2023-05-29T09:24:59.463Z",276,{"image_80":13,"image_180":14,"image_240":15,"image_600":16,"image_1280":17},{"id":111,"number":112,"season":22,"title":113,"description":114,"type":66,"image":11,"audio":115,"duration":116,"is_explicit":20,"code":112,"publish_date":117,"listenings":118,"is_private":20,"plans":45,"video":45,"images":119},"88c13d6f-ece5-402d-af83-c2cc16f50043",8,"008. Возвращение jQuery, новинки Google I/O и условный CSS","Выпуск, в котором мы словно вернулись в 2009 — обсуждаем новую версию jQuery и все её прелести, новинки с конференции, где все говорили «эйай» и постепенно, но неотвратимо переходим к современности. В ней всё хорошо — условный CSS c :has() и классные интерфейсы в вебе.\u003Cbr />\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Ведущие: Коля Шабалин, Игорь Антонов, Лёша Симоненко и Женя Шкляр.\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Ссылки и таймкоды:\u003C/p>\u003Cp>\u003C/p>\u003Cul>\u003Cli>00:00:37\u003Ca href=\"https://blog.jquery.com/2023/05/11/jquery-3-7-0-released-staying-in-order/\"> jQuery 3.7.0\u003C/a>\u003Cbr />\u003C/li>\u003Cli>00:13:48 \u003Ca href=\"https://developer.chrome.com/en/blog/whats-new-css-ui-2023/\">Что нового в CSS и пользовательском интерфейсе: Google I/O 2023 Edition\u003C/a>\u003C/li>\u003Cli>00:33:15 \u003Ca href=\"https://ishadeed.com/article/conditional-css-has-nth-last-child/\">Условный CSS с :has и :nth-last-child\u003C/a>\u003C/li>\u003Cli>00:46:07 \u003Ca href=\"https://www.pausly.app/blog/full-type-support-with-plain-javascript\">Типы в JavaScript без TypeScript\u003C/a>\u003C/li>\u003Cli>00:58:20 \u003Ca href=\"https://vanjs.org/\">Микрофреймворк VanJS\u003C/a>\u003C/li>\u003C/ul>\u003Cp>\u003C/p>\u003Cp>\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Учитесь с нами в .html academy → \u003Ca href=\"https://htmlacademy.ru\">https://htmlacademy.ru\u003C/a>\u003C/p>\u003Cp>Узнавайте новое в журнале «Доктайп» → \u003Ca href=\"https://t.me/html_blog\">https://t.me/html_blog\u003C/a>\u003C/p>\u003Cp>А все вопросы о подкасте пишите на почту → podcast@htmlacademy.pro\u003C/p>","storage/podcasts/710d33d0-89c4-48d6-ba5a-da04d64b88e9/episodes/88c13d6f-ece5-402d-af83-c2cc16f50043.mp3",3841,"2023-05-22T09:37:25.798Z",305,{"image_80":13,"image_180":14,"image_240":15,"image_600":16,"image_1280":17},{"id":121,"number":122,"season":22,"title":123,"description":124,"type":66,"image":11,"audio":125,"duration":126,"is_explicit":20,"code":122,"publish_date":127,"listenings":128,"is_private":20,"plans":45,"video":45,"images":129},"958928e1-2cd4-4d5f-a3c6-ccae7eb0fca5",7,"007. WebGPU в Chrome 113, борьба с большим DOM и канареечный React","В седьмом выпуске подробно разобрали Chrome 113, посчитали, сколько узлов в DOM у Академии, поругались на перекраску полос прокрутки и ужаснулись консольным приложениям на React. Классика!\u003Cbr />\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Ведущие: Коля Шабалин, Игорь Антонов, Лёша Симоненко и Женя Шкляр.\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Ссылки и таймкоды:\u003C/p>\u003Cp>\u003C/p>\u003Cul>\u003Cli>00:00:26 \u003Ca href=\"https://developer.chrome.com/blog/new-in-chrome-113/\">Chrome 113 — что нового?\u003C/a>\u003C/li>\u003Cli>00:17:01 \u003Ca href=\"https://web.dev/dom-size-and-interactivity/\">Большой DOM не всегда к добру\u003C/a>\u003C/li>\u003Cli>00:35:02 \u003Ca href=\"https://react.dev/blog/2023/05/03/react-canaries\">Канареечный React\u003C/a>\u003C/li>\u003Cli>00:46:57 \u003Ca href=\"https://ericwbailey.website/published/dont-use-custom-css-scrollbars/\">Почему перекраска полос прокрутки — это плохо\u003C/a>\u003C/li>\u003Cli>00:54:39 \u003Ca href=\"https://github.com/vadimdemedes/ink\">Консольные приложения на React\u003C/a>\u003C/li>\u003C/ul>\u003Cp>\u003C/p>\u003Cp>\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Учитесь с нами в .html academy → \u003Ca href=\"https://htmlacademy.ru\">https://htmlacademy.ru\u003C/a>\u003C/p>\u003Cp>Узнавайте новое в журнале «Доктайп» → \u003Ca href=\"https://t.me/html_blog\">https://t.me/html_blog\u003C/a>\u003C/p>\u003Cp>А все вопросы о подкасте пишите на почту → podcast@htmlacademy.pro\u003C/p>","storage/podcasts/710d33d0-89c4-48d6-ba5a-da04d64b88e9/episodes/958928e1-2cd4-4d5f-a3c6-ccae7eb0fca5.mp3",3733,"2023-05-19T11:16:44.684Z",236,{"image_80":13,"image_180":14,"image_240":15,"image_600":16,"image_1280":17},{"id":131,"number":132,"season":22,"title":133,"description":134,"type":66,"image":11,"audio":135,"duration":136,"is_explicit":20,"code":132,"publish_date":137,"listenings":138,"is_private":20,"plans":45,"video":45,"images":139},"3b035417-5604-45f6-8002-71ae0d3e2d25",6,"006. Отказ от паролей, апдейт VS Code и менеджер версий Node.js","В шестом выпуске подкаста «Про код» Коля, Игорь, Лёша и Женя обсудили длинный список обновлений в VS Code, поговорили про любимые темы оформления и поругались из-за C#. Поняли, почему :root — не глобальный и зачем переключаться между версиями Node.js. Бонус-трек — история о том, как Лёша собирал проект с Node.js 0.12 в 2023.\u003Cbr />\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Ведущие: Коля Шабалин, Игорь Антонов, Лёша Симоненко и Женя Шкляр.\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Ссылки и таймкоды:\u003C/p>\u003Cp>\u003C/p>\u003Cul>\u003Cli>00:00:35 \u003Ca href=\"https://code.visualstudio.com/updates/v1_75\">Обновки VS Code\u003C/a>\u003C/li>\u003Cli>00:21:30 \u003Ca href=\"https://habr.com/ru/news/733220/\">Passcode в Гугл-аккаунтах\u003C/a>\u003C/li>\u003Cli>00:29:35 \u003Ca href=\"https://kilianvalkhof.com/2023/css-html/root-isnt-global/\">:root не является глобальным\u003C/a>\u003C/li>\u003Cli>00:36:51 \u003Ca href=\"https://developer.chrome.com/en/blog/css-update-media-query/\">Медиавыражение update\u003C/a>\u003C/li>\u003Cli>00:43:45 \u003Ca href=\"https://stateful.com/blog/nodejs-version-managers-nvm-volta-asdf\">Менеджер версий Node.js\u003C/a>\u003C/li>\u003Cli>00:58:28 \u003Ca href=\"https://www.smashingmagazine.com/2023/04/accessible-tap-target-sizes-rage-taps-clicks/\">Памятка по доступным размерам элементов\u003C/a>\u003C/li>\u003C/ul>\u003Cp>\u003C/p>\u003Cp>\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Учитесь с нами в .html academy → \u003Ca href=\"https://htmlacademy.ru\">https://htmlacademy.ru\u003C/a>\u003C/p>\u003Cp>Узнавайте новое в журнале «Доктайп» → \u003Ca href=\"https://t.me/html_blog\">https://t.me/html_blog\u003C/a>\u003C/p>\u003Cp>А все вопросы о подкасте пишите на почту → podcast@htmlacademy.pro\u003C/p>","storage/podcasts/710d33d0-89c4-48d6-ba5a-da04d64b88e9/episodes/3b035417-5604-45f6-8002-71ae0d3e2d25.mp3",3977,"2023-05-08T08:24:18.387Z",330,{"image_80":13,"image_180":14,"image_240":15,"image_600":16,"image_1280":17},{"id":141,"number":24,"season":22,"title":142,"description":143,"type":66,"image":11,"audio":144,"duration":145,"is_explicit":20,"code":24,"publish_date":146,"listenings":147,"is_private":20,"plans":45,"video":45,"images":148},"0a4de152-78b2-4c4c-a427-ca19b2fef18e","005. В книжках о разработке всё не так, Rust заменяет Node.js и новый отладчик в Chrome DevTools","В пятом выпуске произошло страшное — мы придумали, как заменить Node.js с помощью Rust, поругались на книжки о разработке и старчески побурчали о доисторических текстовых редакторах. В перерывах между этим обсудили новости — например, Chrome 113 и Vite 4.3.\u003Cbr />\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Ведущие: Игорь Антонов, Лёша Симоненко и Женя Шкляр.\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Ссылки и таймкоды:\u003C/p>\u003Cp>\u003C/p>\u003Cul>\u003Cli>00:00:45 \u003Ca href=\"https://developer.chrome.com/en/blog/breakpoint-ux-redesign/\">Зачем джуну новый отладчик в Chrome DevTools\u003C/a>\u003Cbr />\u003C/li>\u003Cli>00:20:42 \u003Ca href=\"https://vitejs.dev/blog/announcing-vite4-3.html\">Vite 4.3 и немного о судьбе Create React App\u003C/a>\u003Cbr />\u003C/li>\u003Cli>00:34:00 \u003Ca href=\"https://www.alxolr.com/articles/how-to-process-a-csv-file-five-times-faster-in-node-js-with-rust-and-napi-rs\">Rust быстрее Node.js обрабатывает CSV и другие невероятные открытия\u003C/a>\u003Cbr />\u003C/li>\u003Cli>00:46:31 Почему мы ничего не запоминаем из книг о разработке\u003C/li>\u003C/ul>\u003Cp>\u003C/p>\u003Cp>\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Учитесь с нами в .html academy → https://htmlacademy.ru\u003C/p>\u003Cp>Узнавайте новое в журнале «Доктайп» → https://t.me/html_blog\u003C/p>\u003Cp>А все вопросы о подкасте пишите на почту → podcast@htmlacademy.pro\u003C/p>","storage/podcasts/710d33d0-89c4-48d6-ba5a-da04d64b88e9/episodes/0a4de152-78b2-4c4c-a427-ca19b2fef18e.mp3",3671,"2023-05-03T15:10:06.546Z",263,{"image_80":13,"image_180":14,"image_240":15,"image_600":16,"image_1280":17},{"id":150,"number":151,"season":22,"title":152,"description":153,"type":66,"image":11,"audio":154,"duration":155,"is_explicit":20,"code":151,"publish_date":156,"listenings":157,"is_private":20,"plans":45,"video":45,"images":158},"d3daa151-51ba-4a02-92b4-871200a58a0c",4,"004. Наконец-то Node.js 20, новые (и старые) критерии WCAG и почти ничего интересного в TS 5.1","В четвёртом выпуске Женя, Коля и Игорь подробно обсудили 20 версию Node.js, обновление TypeScript 5.1, новые критерии доступности во WCAG 2.2 и шпаргалку по безопасности npm. И, кажется, пришли к выводу, что всё превращается в Сишарп.\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Ведущие: Коля Шабалин, Игорь Антонов и Женя Шкляр.\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Ссылки и таймкоды:\u003C/p>\u003Cp>\u003C/p>\u003Cul>\u003Cli>00:00:43 \u003Ca href=\"https://nodejs.org/en/blog/announcements/v20-release-announce\">Долгожданная Node.js 20\u003C/a>\u003Cbr />\u003C/li>\u003Cli>00:21:25 \u003Ca href=\"https://accessibleweb.com/wcag/whats-new-in-wcag-2-2/\">Что нового во WCAG 2.2\u003C/a>\u003Cbr />\u003C/li>\u003Cli>00:42:31 \u003Ca href=\"https://devblogs.microsoft.com/typescript/announcing-typescript-5-1-beta/\">Бетка TypeScript 5.1\u003C/a>\u003Cbr />\u003C/li>\u003Cli>00:51:51 \u003Ca href=\"https://web.dev/fetch-priority/\">Чем хорош Fetch Priority API\u003C/a>\u003Cbr />\u003C/li>\u003Cli>01:00:39 \u003Ca href=\"https://cheatsheetseries.owasp.org/cheatsheets/NPM_Security_Cheat_Sheet.html\">Шпаргалка по безопасности в npm\u003C/a>\u003Cbr />\u003C/li>\u003C/ul>\u003Cp>\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Учитесь с нами в .html academy → https://htmlacademy.ru\u003C/p>\u003Cp>Узнавайте новое в журнале «Доктайп» → https://t.me/html_blog\u003C/p>\u003Cp>А все вопросы о подкасте пишите на почту → podcast@htmlacademy.pro\u003C/p>","storage/podcasts/710d33d0-89c4-48d6-ba5a-da04d64b88e9/episodes/d3daa151-51ba-4a02-92b4-871200a58a0c.mp3",4133,"2023-04-24T07:33:21.157Z",247,{"image_80":13,"image_180":14,"image_240":15,"image_600":16,"image_1280":17},{"id":160,"number":161,"season":22,"title":162,"description":163,"type":66,"image":11,"audio":164,"duration":165,"is_explicit":20,"code":161,"publish_date":166,"listenings":167,"is_private":20,"plans":45,"video":45,"images":168},"5753f723-2737-49e5-b540-c76f72700842",3,"003. Почта без таблиц, вездесущий React","Какое прекрасное время наступает — электронная почта без вёрстки таблицами, Реакт как новый Вордпресс, у длинных заголовков не свисают слова, а скринридеры хорошие и читают текст так, как на макете. Волшебно? Волшебно. В новом выпуске подкаста «Про код» разбираем, когда это случится и к чему приведёт веб-разработчиков.\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Ведущие: Коля Шабалин, Игорь Антонов и Женя Шкляр.\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Ссылки и таймкоды:\u003C/p>\u003Cp>\u003C/p>\u003Cul>\u003Cli>00:00:45 \u003Ca href=\"https://fullystacked.net/posts/modern-html-email/\">Электронная почта без таблицы\u003C/a>\u003Cbr />\u003C/li>\u003Cli>00:09:41 \u003Ca href=\"https://www.seancdavis.com/posts/is-react-the-new-wordpress/\">Реакт — новый Вордпресс?\u003C/a>\u003Cbr />\u003C/li>\u003Cli>00:22:45 \u003Ca href=\"https://ishadeed.com/article/css-text-wrap-balance/\">Равное количество слов в строках и text-wrap:balance\u003C/a>\u003Cbr />\u003C/li>\u003Cli>00:34:00 \u003Ca href=\"https://www.sitepoint.com/shallow-vs-deep-copying-in-javascript/\">Отличия глубокого и поверхностного копирования в JS\u003C/a>\u003Cbr />\u003C/li>\u003Cli>00:45:30 \u003Ca href=\"https://developer.chrome.com/en/blog/reading-order/\">В вёрстке заголовок стоит под параграфом. В каком порядке их читать?\u003C/a>\u003Cbr />\u003C/li>\u003Cli>00:59:13 \u003Ca href=\"https://hsnice16.medium.com/why-you-should-not-use-export-default-in-javascript-5fc1534de36b\">Почему экспорт по умолчанию плохой\u003C/a>\u003Cbr />\u003C/li>\u003Cli>01:05:08 \u003Ca href=\"https://github.com/nodejs/node/pull/45038\">Релиз Node 18.16.0 (LTS)\u003C/a>\u003C/li>\u003C/ul>\u003Cp>\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>\u003Cbr />\u003C/p>\u003Cp>Учитесь с нами в .html academy → \u003Ca href=\"https://htmlacademy.ru\">https://htmlacademy.ru\u003C/a>\u003C/p>\u003Cp>Узнавайте новое в журнале «Доктайп» → \u003Ca href=\"https://t.me/html_blog\">https://t.me/html_blog\u003C/a>\u003C/p>\u003Cp>А все вопросы о подкасте пишите на почту → \u003Ca href=\"mailto:podcast@htmlacademy.pro\">podcast@htmlacademy.pro\u003C/a>\u003C/p>","storage/podcasts/710d33d0-89c4-48d6-ba5a-da04d64b88e9/episodes/5753f723-2737-49e5-b540-c76f72700842.mp3",4316,"2023-04-17T06:33:54.582Z",240,{"image_80":13,"image_180":14,"image_240":15,"image_600":16,"image_1280":17},["Reactive",170],{"$ssite-config":171},{"_priority":172,"env":176,"name":177,"url":178},{"name":173,"env":174,"url":175},-10,-15,-4,"production","podcast-website","https://procode.mave.digital/",["Set"],["ShallowReactive",181],{"$63LOZx6kQb":-1},"/ep-12",{"common":184},{"activeTab":185,"isShareActive":20,"episodes":186,"contentPosition":20,"podcast":5,"podcastSlug":187,"showPlayer":20,"activeTrack":45,"pauseTrack":20,"activeEpisode":61,"titleHeight":188,"website":189,"listenUrl":45,"isMobileShareActive":20,"isDataLoaded":35,"favicon":190,"customDomain":45,"episodesCount":188},"listen",[],"procode",0,{"button_text":37,"button_link":38,"is_indexing":35,"ym_id":-1,"gtm_id":-1},""]