Провели третий выпуск "Тяжелого утра" с @riittagirl и @bunopus
Если желаете немного кринжа — милости просим
https://youtu.be/CeoQ8cDWy_Y
Если желаете немного кринжа — милости просим
https://youtu.be/CeoQ8cDWy_Y
YouTube
Маргарита Рой / Тяжелое утро с HolyJS
Ближайшая конференция: HolyJS 2023 Spring, 15–16 мая (Online), 21-22 мая (Offline)
Подробности и билеты: https://bit.ly/3A5ruLp
— Ближайшая конференция:
HolyJS 2022 Spring — 18-21 апреля.
Подробности и билеты: https://bit.ly/3A5ruLp
— Телеграм-чат для обсуждения:…
Подробности и билеты: https://bit.ly/3A5ruLp
— Ближайшая конференция:
HolyJS 2022 Spring — 18-21 апреля.
Подробности и билеты: https://bit.ly/3A5ruLp
— Телеграм-чат для обсуждения:…
Недавно поднимал дев окружение на виндовом стационарнике и был приятно удивлен состоянием дел в терминале
Windows Terminal работает на пять, есть официальная powerline версия Cascadia Code и аналог oh-my-zsh — oh-my-posh
В итоге терминал выглядит вот так вот
Что он там делает 700мс однако ума не приложу, грешу на плагин для гита
Тут отличный гайд - https://www.hanselman.com/blog/HowToMakeAPrettyPromptInWindowsTerminalWithPowerlineNerdFontsCascadiaCodeWSLAndOhmyposh.aspx
Ну и можете заценить мои дотфайлы
https://github.com/saitonakamura/dotfiles/blob/master/Powershell_profile.ps1
https://github.com/saitonakamura/dotfiles/blob/master/WindowsTerminal-profiles.json#L26
Windows Terminal работает на пять, есть официальная powerline версия Cascadia Code и аналог oh-my-zsh — oh-my-posh
В итоге терминал выглядит вот так вот
Что он там делает 700мс однако ума не приложу, грешу на плагин для гита
Тут отличный гайд - https://www.hanselman.com/blog/HowToMakeAPrettyPromptInWindowsTerminalWithPowerlineNerdFontsCascadiaCodeWSLAndOhmyposh.aspx
Ну и можете заценить мои дотфайлы
https://github.com/saitonakamura/dotfiles/blob/master/Powershell_profile.ps1
https://github.com/saitonakamura/dotfiles/blob/master/WindowsTerminal-profiles.json#L26
Hanselman
How to make a pretty prompt in Windows Terminal with Powerline, Nerd Fonts, Cascadia Code, WSL, and oh-my-posh
I've blogged about Patching the new Cascadia Code to include Powerline Glyphs ...
https://habr.com/ru/company/otus/blog/508778/
Наконец-то вместе с otus.ru закончил первую часть статьи про то как в 2020 работает компиляция js под совместимые браузеры. В первой части сосредоточился на том как это все работает, распространненых подводных камнях и обзоре браузеров о которых вы возмодно не знали
Наконец-то вместе с otus.ru закончил первую часть статьи про то как в 2020 работает компиляция js под совместимые браузеры. В первой части сосредоточился на том как это все работает, распространненых подводных камнях и обзоре браузеров о которых вы возмодно не знали
Хабр
Избушка на обратно-совместимых ножках — компилируем JS для нужных браузеров
Привет, хабр! Уже сегодня на otus.ru стартует курс "Fullstack разработчик JavaScript" и я решил поддержать ребят этой статьей. Я кстати сам преподаю на курсе по...
А еще Отус перевели мою статью про star-imports в TypeScript, почему так получилось и что с этим делать!
https://habr.com/ru/company/otus/blog/507104/
https://habr.com/ru/company/otus/blog/507104/
Хабр
Великий раскол в import: проясняем неопределенность с импортом в Typescript
Перевод статьи подготовлен в преддверии старта курса «Разработчик React.js» Я довольно долго работаю с typescript, и у меня было много проблем с тем, чтобы р...
Только что отстрелялся на #FrontendLive2020!
Зацените слайды https://bending-reality.netlify.app/ - СТИЛЬ
Кстати ко мне в команду нанимают https://career.habr.com/vacancies/1000051919?response=624696
Зацените слайды https://bending-reality.netlify.app/ - СТИЛЬ
Кстати ко мне в команду нанимают https://career.habr.com/vacancies/1000051919?response=624696
Habr
Вакансия «Senior Front-end/ReactJS developer (Кипр)» в Москве, работа в компании «Wisebits» — Хабр Карьера
Вакансия «Senior Front-end/ReactJS developer (Кипр)» в Москве, работа в компании «Wisebits». Полная занятость. Вакансия в архиве.
Forwarded from Alexander Shushunov
В эту пятницу на онлайн площадке http://Tver.io будем поговорить за Open Source. В программе два доклада и панельная дискуссия. Трансляция - https://youtube.com/watch?v=ZnsRH9NVqDw. Вход свободный 😉
tver.io
Тверское ИТ-сообщество tver.io
Мы проводим ИТ курсы, митапы, поможем в обучении и карьере в Твери, столице или за рубежом.
Наконец-то победил iTerm2 и его escape codes
Теперь color preset выбирается на основе настройки оси
https://gist.github.com/saitonakamura/a8254da13523b120055c414b33094dd6
Теперь color preset выбирается на основе настройки оси
https://gist.github.com/saitonakamura/a8254da13523b120055c414b33094dd6
Gist
Sets iTerm2 color preset based on MacOS setting
Sets iTerm2 color preset based on MacOS setting. GitHub Gist: instantly share code, notes, and snippets.
Походу я на следующей неделе буду выступать на холи, а в связи с этим возобновил работу над
https://github.com/ts-type-makeup/superstruct-ts-transformer#custom-validators
Работа с ts compiler api это конечно non penis canina est.
* Документации конечно практически ноль
* Типы не всегда помогают, ибо вот явно тебе нужен
* В дебаге тоже не супер ибо типы в рантайме не видны (ха-ха), разные ноды выражаются числовыми флагами (каждый раз смотри что этот 172 означает). Под конец уже некоторые запомнил (например тот самый 172 это
* Навигация по сорцам на гх не работает, а самый главный файл (
Но в конце концов оказалось все не очень сложно (когда уже понял то, ага). Дальше в планах сделать поддержку враппинга с дженериком, переехать на jest и попробовать наконец-то сделать babel plugin
superstruct-ts-transformer
. В этот раз запилил поддержку кастомных валидаторовhttps://github.com/ts-type-makeup/superstruct-ts-transformer#custom-validators
Работа с ts compiler api это конечно non penis canina est.
* Документации конечно практически ноль
* Типы не всегда помогают, ибо вот явно тебе нужен
Signature
потому что у него есть метод getReturnType
, но как из текущей ноды его получить??* В дебаге тоже не супер ибо типы в рантайме не видны (ха-ха), разные ноды выражаются числовыми флагами (каждый раз смотри что этот 172 означает). Под конец уже некоторые запомнил (например тот самый 172 это
SyntaxKind.TypePredicate
)* Навигация по сорцам на гх не работает, а самый главный файл (
checker.ts
) не может ни отображать ни искать по нему. "А хули вы хотели, 40 тыщ строк"Но в конце концов оказалось все не очень сложно (когда уже понял то, ага). Дальше в планах сделать поддержку враппинга с дженериком, переехать на jest и попробовать наконец-то сделать babel plugin
GitHub
GitHub - ts-type-makeup/superstruct-ts-transformer: Typescript custom transformer for json validation based on type
Typescript custom transformer for json validation based on type - GitHub - ts-type-makeup/superstruct-ts-transformer: Typescript custom transformer for json validation based on type
BMTH продолжает жечь! POST HUMAN: SURVIVAL HORROR — просто отлично
https://open.spotify.com/album/0e1WaSNDZnoPixaxDNdWo4?si=0aGRaqTYToy3e2ye5iP8ng…
P.S. Все еще нежно люблю aмo
https://open.spotify.com/album/0e1WaSNDZnoPixaxDNdWo4?si=0aGRaqTYToy3e2ye5iP8ng…
P.S. Все еще нежно люблю aмo
Увидел что Розенвассер активно работает над вики ТС и наткнулся на вот такое (советы по оптимизации скорости компиляции и editing experience)
https://github.com/microsoft/TypeScript/wiki/Performance
https://github.com/microsoft/TypeScript/wiki/Performance
GitHub
Performance
TypeScript is a superset of JavaScript that compiles to clean JavaScript output. - microsoft/TypeScript
Материалы по "Bending reality with type-directed emit"
Slides and materials for "Bending Reality with type-directed emit"
Слайды: https://bending-holyjs.netlify.app
Сама либа: https://github.com/ts-type-makeup/superstruct-ts-transformer…
Type visitor helper: https://github.com/ts-type-makeup/ts-type-visitor…
Про номинальные типы: https://youtu.be/m0uRxCCno00
Про работу с js AST: https://t.co/9ernl0RGpW?amp=1
Про бабель (англ): https://youtu.be/UeVq_U5obnE
И мы хайрим! https://hh.ru/vacancy/38324416
Slides and materials for "Bending Reality with type-directed emit"
Слайды: https://bending-holyjs.netlify.app
Сама либа: https://github.com/ts-type-makeup/superstruct-ts-transformer…
Type visitor helper: https://github.com/ts-type-makeup/ts-type-visitor…
Про номинальные типы: https://youtu.be/m0uRxCCno00
Про работу с js AST: https://t.co/9ernl0RGpW?amp=1
Про бабель (англ): https://youtu.be/UeVq_U5obnE
И мы хайрим! https://hh.ru/vacancy/38324416
Многие недовольны тем что в 17 реакте нет новых фич, но для меня этот релиз очень важный, и вот почему
У нас на проекте есть оптимизация размера бандла — мы минифицируем всякое sed-ом (то что terser сам не умеет), но главным образом
Речь конечно идет только про продакшен билд, но тут, как в анекдоте, нюанс — у нас одни и те же артефакты используются как на проде так и на стейджингах (чтобы быть максимально похожим на прод). Получалось что дебажить ни на проде (что тоже бывает полезно) ни на стейджингах нормально нельзя. Не смертельно, но очень неприятно
Но теперь jsx-runtime фактически сам делает эту оптимизацию и наша больше не нужна. Победа!
https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html
Пытливые могут ради интереса ознакомиться со спекой сормапов версии 3 (мне в свое время сильно помогла в понимании)
https://sourcemaps.info/spec.html
У нас на проекте есть оптимизация размера бандла — мы минифицируем всякое sed-ом (то что terser сам не умеет), но главным образом
React.createElement
. И всё бы ничего, но из-за того что это просто find-replace по сути, это ломает sourcemaps (а разбираться как бы их переправить для такого кейса не было ни времени ни сил). Но выкидывать минификацию не хотелось ибо разбрасываться килобайтами — к низким индикаторам производительности. В итоге была патовая ситуацияРечь конечно идет только про продакшен билд, но тут, как в анекдоте, нюанс — у нас одни и те же артефакты используются как на проде так и на стейджингах (чтобы быть максимально похожим на прод). Получалось что дебажить ни на проде (что тоже бывает полезно) ни на стейджингах нормально нельзя. Не смертельно, но очень неприятно
Но теперь jsx-runtime фактически сам делает эту оптимизацию и наша больше не нужна. Победа!
https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html
Пытливые могут ради интереса ознакомиться со спекой сормапов версии 3 (мне в свое время сильно помогла в понимании)
https://sourcemaps.info/spec.html
legacy.reactjs.org
Introducing the New JSX Transform – React Blog
This blog site has been archived. Go to react.dev/blog to see the recent posts. Although React 17 doesn’t contain new features, it will provide support for a new version of the JSX transform. In this post, we will describe what it is and how to try it. What’s…
Иногда, казалось бы, простой PR порождает интересные предложения, дискуссии и выявляет подводные камни. Однажды после code and learn я решил добавить в issue template ноды повершельную команду чтобы достать нужную инфу об ОСи. Звучит просто, да?
И вот прошло чуть больше года и PR наконец-то смерджили! (три дня назад)
https://github.com/nodejs/node/pull/30289
Конечно большее время заняло ожидание (когда я внесу правки по ревью, само ревью, обуждение и т.д.). Но там ^ 35 сообщений, порой немаленьких и довольно содержательных.
К примеру
Или например было предложение сделать вот так
Ну и конечно всякие мысли от мейнтейнеров на тему того какого характера большинство багов с которыми они сталкиваются и насколько полезна та или иная информация (к примеру https://github.com/nodejs/node/pull/30289#issuecomment-650772698)
В итоге я даже рад что это заняло столько времени ибо я многое узнал 🙂 (и потратил кучу времени других людей)
И вот прошло чуть больше года и PR наконец-то смерджили! (три дня назад)
https://github.com/nodejs/node/pull/30289
Конечно большее время заняло ожидание (когда я внесу правки по ревью, само ревью, обуждение и т.д.). Но там ^ 35 сообщений, порой немаленьких и довольно содержательных.
К примеру
cmd /c ver
гораздо короче "$([Environment]::OSVersion | ForEach-Object VersionString) $(if ([Environment]::Is64BitOperatingSystem) { "x64" } else { "x86" })"
, но в нем нет битности системыИли например было предложение сделать вот так
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"System Type"
. Не так коротко, но все еще лучше чем PowerShell-версия. Да вот только выяснилось что вывод systeminfo
зависит от локали системы и findstr
на не англоязычных виндах не найдет нужные строкиНу и конечно всякие мысли от мейнтейнеров на тему того какого характера большинство багов с которыми они сталкиваются и насколько полезна та или иная информация (к примеру https://github.com/nodejs/node/pull/30289#issuecomment-650772698)
В итоге я даже рад что это заняло столько времени ибо я многое узнал 🙂 (и потратил кучу времени других людей)
GitHub
doc: add Powershell oneliner to get Windows version by saitonakamura · Pull Request #30289 · nodejs/node
Checklist
documentation is changed or added
commit message follows commit guidelines
documentation is changed or added
commit message follows commit guidelines
Вторая часть advent of code 2020 прямо очень интересная! Чтобы не спойлерить тем кто еще решает, я напишу решение в комменте
Но если не собираетесь решать, прошу под кат (ах, извините тут не хабр)
Но если не собираетесь решать, прошу под кат (ах, извините тут не хабр)
Forwarded from Brodetskyi. Tech, VC, Startups
Давно присматривался к этому репо, но времени не было начать. И вот кто-то собрался решать
P.S. Это репост с другого канала, но я планирую как минимум отметиться там в коментах, а может что-то запостить и сюда
P.S. Это репост с другого канала, но я планирую как минимум отметиться там в коментах, а может что-то запостить и сюда
Forwarded from Wild Wild Web
Я тут наткнулся недавно на очень интересную подборку задач по TypeScript. Особенность этих задач в том, что их нужно решать используя только систему типов TypeScript.
То есть, все задачки, которые там есть, их решение должно происходить в compile-time, никакого кода на TypeScript или JavaScript, кроме, собственно, типов.
И я призадумался. А не сделать ли мне «марафон» постов, где я буду идти по порядку от легкого уровня к сложному и рассказывать о решении, как оно работает, почему и так далее. Как вы на это смотрите? Не будет ли часто по одному посту в день на одну задачу из этой подборки?
Я лично уже прошел почти половину, очень интересно. Можно это всё завернуть в формат более продвинутого изучения типов. Не писать же только интерфейсы, правда? 🙃
В общем, я думаю это отличная идея и с завтрашнего дня, я буду выкладывать сюда решения задач и рассказывать почему решение работает (если, конечно, мы не придём к обратному решению в комментариях). А пока, вы можете поиграться и сами 😎
https://github.com/type-challenges/type-challenges
То есть, все задачки, которые там есть, их решение должно происходить в compile-time, никакого кода на TypeScript или JavaScript, кроме, собственно, типов.
И я призадумался. А не сделать ли мне «марафон» постов, где я буду идти по порядку от легкого уровня к сложному и рассказывать о решении, как оно работает, почему и так далее. Как вы на это смотрите? Не будет ли часто по одному посту в день на одну задачу из этой подборки?
Я лично уже прошел почти половину, очень интересно. Можно это всё завернуть в формат более продвинутого изучения типов. Не писать же только интерфейсы, правда? 🙃
В общем, я думаю это отличная идея и с завтрашнего дня, я буду выкладывать сюда решения задач и рассказывать почему решение работает (если, конечно, мы не придём к обратному решению в комментариях). А пока, вы можете поиграться и сами 😎
https://github.com/type-challenges/type-challenges
GitHub
GitHub - type-challenges/type-challenges: Collection of TypeScript type challenges with online judge
Collection of TypeScript type challenges with online judge - type-challenges/type-challenges