Advent Of Typescript: Day 7
В сегодняшней задачке мы все так же продолжаем работать над функцией
Решение в комментариях 👇
В сегодняшней задачке мы все так же продолжаем работать над функцией
createRoute
. Теперь нам нужно обеспечить более узкий вывод generic типа на основе аргумента, переданного в функцию. Решение в комментариях 👇
Advent Of Typescript: Day 8
Сегодня нас ожидает довольно хорошая, практическая задачка: нам нужно затипизировать
Решение в комментариях 👇
Сегодня нас ожидает довольно хорошая, практическая задачка: нам нужно затипизировать
process.env
. Радует, что разработчики в этом году создают задачки опираясь на более реальные кейсы. И все же интересно, когда же уже будем писать калькулятор на TS...Решение в комментариях 👇
Advent Of Typescript: Day 9
В девятой задаче мы продолжаем практиковать Module Augmentation - на этот раз нам нужно задекларировать модуль с несколькими типами внутри.
Решение в комментариях 👇
В девятой задаче мы продолжаем практиковать Module Augmentation - на этот раз нам нужно задекларировать модуль с несколькими типами внутри.
Решение в комментариях 👇
Advent Of Typescript: Day 10
Сегодня нам нужно будет использовать побитовые операции (<< и |) в enum. Давайте сразу к решению, которое в комментариях 👇
Сегодня нам нужно будет использовать побитовые операции (<< и |) в enum. Давайте сразу к решению, которое в комментариях 👇
Advent Of Typescript: Day 11
В этой задачке нам нужно типизировать конструктор объекта. Задачи начинают усложняться!
Решение в комментариях 👇
В этой задачке нам нужно типизировать конструктор объекта. Задачи начинают усложняться!
Решение в комментариях 👇
Advent Of Typescript: Day 12
Сегодня нас ожидает задача с трансформацией огромного массива. Обычные методы обхода массива не подойдут - ловим ошибку по глубине...
Решение в комментариях👇
Сегодня нас ожидает задача с трансформацией огромного массива. Обычные методы обхода массива не подойдут - ловим ошибку по глубине...
Решение в комментариях👇
Advent Of Typescript: Day 13
13 задача приветствует нас с теорией ко/контр/инвариантности. Решение довольно простое, однако давайте попытаемся понять, как оно работает.
Разбор в комментариях👇
13 задача приветствует нас с теорией ко/контр/инвариантности. Решение довольно простое, однако давайте попытаемся понять, как оно работает.
Разбор в комментариях👇
Advent Of Typescript: Day 14
Сегодня в задаче предстоит узнать возвращаемый тип из асинхронного генератора, решение довольно простое.
Разбор в комментариях👇
Сегодня в задаче предстоит узнать возвращаемый тип из асинхронного генератора, решение довольно простое.
Разбор в комментариях👇
Сегодняшний день прям какой-то жесткий, думал решу за полчасика, в итоге убил 3 часа. Успел попасть в топ-100, постараюсь расписать решение и выложить
Advent Of Typescript: Day 15
Начинается хардкор, гораздо раньше, чем в предыдущем адвенте. Задача действительно объемная, без знания многих тонкостей ТСа ее не решить.
Для будущих дней прошу в 👉 чатик канала 👈, там можно обсуждать решения, да и в целом JS/TS.
А само решение в комментариях👇
Начинается хардкор, гораздо раньше, чем в предыдущем адвенте. Задача действительно объемная, без знания многих тонкостей ТСа ее не решить.
Для будущих дней прошу в 👉 чатик канала 👈, там можно обсуждать решения, да и в целом JS/TS.
А само решение в комментариях👇
Telegram
Адепты
Обсуждаем JS, TS, и немного оффтопим
Advent Of Typescript: Day 16
В сегодняшней задаче нам нужно написать тип для каррирования функции, и при этом поддержать: частичное применение, пустые вызовы, порядок передачи аргументов.
Решение в комментариях👇
В сегодняшней задаче нам нужно написать тип для каррирования функции, и при этом поддержать: частичное применение, пустые вызовы, порядок передачи аргументов.
Решение в комментариях👇
Advent Of Typescript: Day 17
В задаче 17 дня нам нужно затипизировать функцию compose, плюс еще несколько функций утилит.
Решение в комментариях👇
В задаче 17 дня нам нужно затипизировать функцию compose, плюс еще несколько функций утилит.
Решение в комментариях👇
Advent Of Typescript: Day 18
18 день встречает нас с простой задачей, решение которой было описано в недавнем ченжлоге TypeScript 5.4. Нам нужно типизировать один параметр функции на основе другого ее параметра.
Решение в комментариях👇
18 день встречает нас с простой задачей, решение которой было описано в недавнем ченжлоге TypeScript 5.4. Нам нужно типизировать один параметр функции на основе другого ее параметра.
Решение в комментариях👇
Advent Of Typescript: Day 19
Задача 19 дня(кстати попадающая на мой день рождения) встречает нас с требованием создать небольшой парсер JavaScript кода, который бы на выходе отдавал код в виде узлов AST.
Решение в комментариях👇
Задача 19 дня
Решение в комментариях👇
Advent Of Typescript: Day 20
Сегодняшняя задача продолжает предыдущую - теперь нам нужно проанализировать JS код и узнать, какие переменные были объявлены, и какие были использованы. Нужно лишь немного изменить вчерашнее решение.
Решение в комментариях👇
Сегодняшняя задача продолжает предыдущую - теперь нам нужно проанализировать JS код и узнать, какие переменные были объявлены, и какие были использованы. Нужно лишь немного изменить вчерашнее решение.
Решение в комментариях👇
Advent Of Typescript: Day 21
Третья серия нашего мини-анализатора, сегодня мы сможем узнать, какие переменные в JS коде не были использованы. Продолжим улучшать наш код с предыдущих двух дней.
Решение в комментариях👇
Третья серия нашего мини-анализатора, сегодня мы сможем узнать, какие переменные в JS коде не были использованы. Продолжим улучшать наш код с предыдущих двух дней.
Решение в комментариях👇
Advent Of Typescript: Day 22
Задачу сегодняшнего дня так и не не решило 100 человек, поэтому я не могу выложить решение. Впрочем, решать ее не обязательно, можно просто сделать проверки на тест-кейсы.. 🥸
Задачу сегодняшнего дня так и не не решило 100 человек, поэтому я не могу выложить решение. Впрочем, решать ее не обязательно, можно просто сделать проверки на тест-кейсы.. 🥸
Advent Of Typescript: Day 23
Как и вчера, сегодняшнюю задачу все еще не решило сто человек. Выложу решения к концу адвента сразу скопом, либо в следующие дни. Для задачи 23 дня очень поможет реализация HotScript🥸
Как и вчера, сегодняшнюю задачу все еще не решило сто человек. Выложу решения к концу адвента сразу скопом, либо в следующие дни. Для задачи 23 дня очень поможет реализация HotScript🥸
Advent Of TypeScript: Day 25 ⚡️
Вот и подошло к концу наше 25-дневное приключение по миру TypeScript! Мы успели воспользоваться практически всей его мощью для решения самых различных задач. Надеюсь, после его прохождения вы наконец-то чувствуете себя по-настоящему type safe.
Задачи последних нескольких дней были действительно очень сложными. За недостатком времени я не успел решить задачи 22–24 дней, поэтому просто их брутфорснул 🥸. Кстати, разработчики обещают на следующий год учесть это и исправить все попытки обойти оригинальные решения.
За неимением своих решений для обзора предлагаю в комментарии к этому посту накидать ваши варианты! Будет интересно увидеть разные подходы, особенно к тем задачам, которые я пропустил.
Итоговый вопрос: какие из 25 дней показались вам самыми сложными, а какие — наоборот, самыми интересными?
Спасибо всем за участие в этом марафоне! Пусть ваш код будет чистым, типизация строгой, а баги обходят стороной! 🎄
Вот и подошло к концу наше 25-дневное приключение по миру TypeScript! Мы успели воспользоваться практически всей его мощью для решения самых различных задач. Надеюсь, после его прохождения вы наконец-то чувствуете себя по-настоящему type safe.
Задачи последних нескольких дней были действительно очень сложными. За недостатком времени я не успел решить задачи 22–24 дней, поэтому просто их брутфорснул 🥸. Кстати, разработчики обещают на следующий год учесть это и исправить все попытки обойти оригинальные решения.
За неимением своих решений для обзора предлагаю в комментарии к этому посту накидать ваши варианты! Будет интересно увидеть разные подходы, особенно к тем задачам, которые я пропустил.
Итоговый вопрос: какие из 25 дней показались вам самыми сложными, а какие — наоборот, самыми интересными?
Спасибо всем за участие в этом марафоне! Пусть ваш код будет чистым, типизация строгой, а баги обходят стороной! 🎄
Подкапотщина V8
Давненько не было постов, но вот, наконец, появился повод. Я с очень давнего времени копался в V8 хрома, пытаясь понять, как там все работает внутри. Изначально чисто из любопытства — но потом понял, что эти знания полезны для общего понимания языка.
А так как я люблю свои новые знания структурировать, то писал черновую статью, которая теперь переросла в настоящую. В рамках следующей серии, я собираюсь рассказать про работу V8: его лексического, синтаксического анализа, создания и выполнения байт-кода, работу JIT, и много чего другого.
https://habr.com/ru/companies/alfa/articles/915668/
Всего частей будет 3. Я постарался сохранить баланс между глубоким уточнением каждой детали и «общим» представлением, так, чтобы читать было легко.
Давненько не было постов, но вот, наконец, появился повод. Я с очень давнего времени копался в V8 хрома, пытаясь понять, как там все работает внутри. Изначально чисто из любопытства — но потом понял, что эти знания полезны для общего понимания языка.
А так как я люблю свои новые знания структурировать, то писал черновую статью, которая теперь переросла в настоящую. В рамках следующей серии, я собираюсь рассказать про работу V8: его лексического, синтаксического анализа, создания и выполнения байт-кода, работу JIT, и много чего другого.
https://habr.com/ru/companies/alfa/articles/915668/
Всего частей будет 3. Я постарался сохранить баланс между глубоким уточнением каждой детали и «общим» представлением, так, чтобы читать было легко.
Хабр
Что происходит с вашим JavaScript-кодом внутри V8. Часть 1
В этой серии статей мы пройдемся по каждому этапу работы V8: лексическому и синтаксическому анализу, построению AST, интерпретации и оптимизациям. Затронем Ignition, Sparkplug, Maglev и Turbofan;...