Typesafe & Sound – Telegram
Typesafe & Sound
1.24K subscribers
6 photos
46 links
Типы, фронтенд, DX и программирование в целом. Occasional music
Download Telegram
Недавно заглягнул в роадмапу тс и обнаружил совершенно пострясающую вещь которая уже в бете 4.4
https://devblogs.microsoft.com/typenoscript/announcing-typenoscript-4-4-beta/#cfa-aliased-conditions
Теперь информация о проверках который влияют на control flow (самое банальное — проверить на null), не теряются при выделении булевой переменной
То есть теперь можно писать
const notEmpty = x != null
if (notEmpty) {
x.toString()
}

и все будет правильно работать
до этого я видел что у многих это вызывало недоумение когда они работали с type guards
теперь страданий стало на чуточку меньше
В 15:00 (по Москве) собираемся сделать экспериментальный стрим с @andreypopp — решаем задачки на Coq из Software Foundations
https://softwarefoundations.cis.upenn.edu/
Еще вчера переустановил винду (переезжал на NVMe SSD) и решил попробовать winget в качестве пакетного менеджера (до этого пользовался chocolatey)
Он меня прям очень приятно порадовал, там были почти все пакеты что были нужны, свежих версий и тд
Ставить правда его сейчас не больно удобно — надо либо переключаться на Insiders Preview, либо просто инсталлер запускать из релизов гитхаба (но тогда обновления точно также придется ставить)
Но в остальном очень достойно, меня прям радуют девтулы микрософта — новый терминал, каскадиа код, power toys
https://github.com/microsoft/winget-cli
В прошлый раз изучали Coq, в эту субботу в 17 по мск (да, через 15 минут, я не умею в анонсы) будем решать задачки на литкоде с @andreypopp

https://youtu.be/_GmnQTtKJqo

P.S. Если задачки не привлекают то знакомые c ufostation делают стрим в 17:30, будут писать сортируемый драг н дроп список на реакте
https://news.1rj.ru/str/ufostation/637
Не могу сказать что удовлетворен стримом — кое как решили медиум, а хард и вовсе бросили под конец
Если вам было бы интересно что увидеть что-то конкретно, например стрим по реакту (как на @ufostation) или например по renoscript — напишите в коментах
Forwarded from Wild Wild Web
🎉 Релиз TypeScript 4.4 🎉

Вы можете подумать, а чего я тут фейерверки устраиваю? А потому что они таки улучшили то, с чем я уже довольно долго воюю. Надеюсь, они и дальше будут улучшать эти моменты. А какие именно, давайте обсудим в комментариях позже 🙂

Вчера команда TypeScript выпустила новую версию компилятора, в которой есть несколько интересных мест. Давайте подчеркнём самые интересные, по моему мнению:

- Улучшили Control Flow Analysis. Теперь, так называемые type guards, можно выносить в отдельные переменные и TypeScript не потеряет эту информацию по пути. Например, вы хотите проверить что что-то строка const isString = typeof someParam === 'string' и дальше вы можете писать просто if(isString) {}, TypeScript такое скушает (раньше это было ошибкой компиляции). И таких примеров побольше, можете почитать у них в посте.

- Все catch блоки по умолчанию приводятся к unknown типу (за флагом strict). Unknown тип это более безопасный вариант неизвестного типа, по сравнению с any. Я об этих типах, как раз, недавно писал. С этим релизом, TypeScript будет ошибки в catch блоках неявно приводить к unknown. И вам, собственно, нужно будет проверить что ошибка это та ошибка, которую вы ожидаете или нет.

- С этим релизом добавилась возможность иметь "inlay hints". Я с таким часто встречаюсь при разработке на Rust и, если честно, меня это немного бесит. Но, знаю людей, которым это очень даже заходит. Речь идёт о том, что в IDE у вас будут добавляться имена параметров к вашим аргументам или выведенный тип возврата функции будет добавлен как "inlay hint" возле вашей функции и так далее. Насколько я знаю, такое есть давно в Intelliji и им активно пользуются. А в этом релизе они добавили это на уровне компилятора.

Все остальные моменты, по моему мнению, не такие уж и большие, но, безусловно, интересные и для кого-то могут оказаться нововведением "вовремя". Вы можете почитать более подробно об изменениях в этой версии в их блог посте.
Давно сюда ничего не писал потому что на последние несколько месяцев активно погрузился в 3д разработку на js: threejs, react-three-fiber, webxr и иже с ними: я теперь возглавил разработку вебного VR интерфейса для нашего сервиса.
R3F, он же react-three-fiber это супер клевая идея, реакт рендерер который практически без оверхеда, засчет динамической природы js транслирует jsx (только с дргуими тэгами) в объекты three js (императивная библиотека для 3д в js)
выглядит примерно вот так

const Icon = ({ src, size }: { src?: string; size?: number }) => {
const [_, height] = useFlexSize();
const map = useTexture(src || Empty);
return (
<group>
{src && (
<group position={[0, -height / 2, 0]}>
<mesh>
<circleGeometry args={[26 / 400, 30]} />
<meshBasicMaterial color="#232529" />
</mesh>
<mesh position-z={0.001}>
<planeGeometry args={[size, size]} />
<meshBasicMaterial transparent map={map} />
</mesh>
</group>
)}
</group>
);
};

Очень крутая и интересная область с моей точки зрения, одно только 3д чего стоит, но есть еще один очень клевый челлендж:
Раньше когда нужен был ui на канвасе то обычно не заморачивались и рисовали html поверх канваса. Но с VR есть одна интересная особенность, в immersive session (когда ты находишься в 3д пространстве в очках), единственное что доступно это webgl context, dom там нет (точнее есть, но не визуально). И соответсвенно весь ui надо рисовать внутри, чего до этого мало кто делал, поэтому я залез с головой в r3f экосистему (сейчас я кстати мейнтенер https://github.com/pmndrs/react-three-flex)

Мы пишем свои компоненты для кнопок, текстовых инпутов, скролла и тд, потом скорее всего вынесем в опенсорс, короче вот как-то так
Вот еще вести с полей, в oculus browser есть нативная поддержка hls (такой формат для стриминга видео по http, поддерживается в safari и на мобильных платформах), но нельзя затащить видео текстуру на канвас: ругается на CORS, но он настроен правильно (на других платформах что поддерживают hls все чики пуки), и даже когда он не нужен такая же ошибка

Если кто знает куда им можно зарепортить буду благодарен
Я тут придумал очередную игру и если у вас есть клевые истории из айти (или неуемная фантазия), не поленитесь их рассказать (попиарим ваш твиттер в конце концов)
Друзья!

На предстоящей HolyJS мы будем проводить игру по мотивам «Поля чудес». Но участники будут не только угадывать слово: ведущий также будет рассказывать истории из жизни разработчиков.

Так вот, нам нужны ваши истории — смешные, курьезные, да какие найдутся! Прислать их можно сюда.

Один нюанс: ваша история необязательно должна быть правдой 🙂 Задачей участников будет как раз отгадать, байка это или реальный случай. Так что можете и волю фантазии дать!
👍1
Ребят, а как правильно бенчить браузерные библиотеки? Хочу сравнить yoga порты: yoga-layout-prebuilt/yoga-layout-wasm и typeflex
Мое кредо по жизни
26 февраля на yalovefrontend опять буду вещать про TS! В этот раз полуретроспекивно, тайпскрипту уже почти 10 лет и фронтенд уже не такой как раньше, поэтому посмотрим что поменялось и нужен ли тс то вообще (Климов же вон сказал что нет!). Короче приходите, вещать будут бесплатно и онлайн
https://yandex.ru/promo/events/ya-love-frontend-2022#talks

В связи с чем у меня к вам вопрос, если бы у вас была возможность внедрить одну конкретную фичу в тс или что-то починить, что бы вы выбрали? Может быть что угодно, от "сделать полный вывод типов" до "вот эту багу из https://news.1rj.ru/str/why_typenoscript_is_bad починить"
👍51👏1
Я уже два года живу и работаю на Кипре, поэтому решил сделать небольшой гайд по переезду сюда (вы сами понимаете почему). В интернете можно наткнуться на разную инфу, иногда люди пишут непроверенную или устаревшую информацию.

TLDR: Украинцы (и другие европейцы) могут просто въехать ибо европа (если вдруг есть возможность, я в курсе про войну и мобилизацию), поэтому говорю про остальных из СНГ.
Россияне могут прямым рейсом из рф через провизу или шенген. Другие страны СНГ или россияне не напрямую только шенген или национальная виза (получается через посольство). Провиза делается за день в будние дни
Сразу по прилету, а лучше чуть заранее стоит начать процесс получения внж если оно вас интересует (иначе у вас есть 3 месяца как турист понять что делать дальше)

Потенциальных вариантов два, рабочая виза и визиторская виза

Рабочая дает больше привилегий: гос медицина, отдельный трек оформления внж (ну и работодатели очень часто помогают с оформлением), кроме того в течение года привилегии будут добавляться (об этом позже)
Но есть два момента
1. Сейчас спрос на релок как вы понимаете сильно вырос
2. Тут как и везде есть некоторые препоны для найма сотрудников из третьих стран, и просто так перевести компанию и перенанять сотрудников не получится (получится eventually при должном желании)
Возможно эта ситуация улучшится в течение года
Но я не специалист, читайте гайд https://vc.ru/u/36693-oleg-reshetnikov/251480-business-relocation-ili-kak-otkryt-kompaniyu-na-kipre
и/или общайтесь к юристам (можно найти поиском в https://news.1rj.ru/str/cylaw)

Визиторская виза это такая виза, чем-то похожая на номад визу (которая кстати только только появилась, о ней тоже попозже), вы показываете доход из-за рубежа (он в том числе может приходить на ваш кипрский счет, главное чтобы не из кипра) в расчете 10к на вас + по 4к на члена семьи, делаете счет, снимаете жилье, покупаете страховку и подаетесь в мигрейшене
Вам дают ресипт что вы мол подались и это ваше право на пребывание в течение года, а параллельно вам делают пластик (с рабочей также примерно, только она обычно на два года). Работать по ней внутри нельзя, госмедицины тоже не дают (но за нее однако надо платить налоги). Много народу здесь живет визиторами (и удаленно работает, что немного неясный момент юридически, но действительность такова) и слоты на подачу появляются за 3 месяца и примерно за день разбираются, поэтому лучше записаться еще до прилета (но бывает люди отменяют слоты или можно договорится чтобы отменили и вы сразу взяли слот). В принципе принять документы у вас могут и даже если вы уже превысили туристический срок, но нужна определенная доля везения и иногда харизмы (в корону например так было), формально это визовый разрыв и может принести проблем в будущем

Отдельный квест это открытие банковского счета, его лучше начать и озаботится нужными документыми как можно раньше. Опять с рабочей визой с этим помогают, у меня не было проблем

Про налоги, вопреки распространённому мнению, соглашение об избежании двойного налогообложения (СоИДН) не работает так что "я в россии налоги заплатил, значит здесь не надо"
работает это так что на уплаченную сумму на некоторые виды налогов в рф (или стране с которой соидн) можно получить вычет при уплате некоторых налогов кипра (ну второй страны соглашения)
так вот интересный момент, что доход по УСН или ПСН не входит в этот вычет (вроде ни в каком соидн рф с кем бы то ни было)
НО на кипре есть момент местного налогового законодательства, который позволяет это зачесть (опять же поиск в https://news.1rj.ru/str/cylaw)
С другой стороны может случится так что не получится просто переводить из россии сюда (но повторяю, можно получать деньги и на кипрский счет, главное чтобы они приходили извне)
Теперь про размер налогов, они очень приличные (европейские), ндфл прогрессивный до 35%
Есть простой налоговый калькулятор https://www.cyprustaxcalculator.com/, но он не учитывает некоторые нюансы: non domicile не платит налог на оборону, для новых резидентов есть вычеты (которые также возможно изменятся в течение года)
Но примерно представление получить можно, для точной инфы лучше обратитесь к юристам

ИП и самозанятость недоступны для граждан третьих стран, но можно открывать бизнес (гайд выше)

Про крипту: все сложно, некоторые банки (Bank of Cyprus например) прямо закрывают счета если получают поступление от криптобиржи. Кажется есть обменники на турецкой стороне (на которую в принципе можно ездить с южной части)

Про турецкую сторону: полвека назад турция оккупировала северную часть острова (как кто-то оккупировал некий полуостров), никто кроме турции его не признает, но граница и КПП все равно есть. Так вот НЕЛЬЗЯ ВЪЕЗЖАТЬ ЧЕРЕЗ СЕВЕРНУЮ СТОРОНУ, это незаконно для европы (на свой страх и риск)

В целом гайд по острову, все еще очень актуален
https://vc.ru/u/36693-oleg-reshetnikov/152969-kak-pereehat-i-zhit-na-kipre

Очень много инфы (особенно если читать закрепы и пользоваться поиском) можно найти в этих чатах (там ссылка на список)
https://news.1rj.ru/str/badcyprus/72203

Что еще хотелось бы знать? Только прочекайте гайды/закрепы плиз
Теперь про то что "попозже"
Ближе в концу прошлого года опубликовали новую "стратегию" в которой куча всяких плюшек для айти (но не только, там еще шиппинг, хайтек, фарма и биогенетика)

Если кратко что будет полезно для работников:
* digital nomad визы (они уже вступили в силу, но там начальная квота 100 виз которые быстро разобрали)
* ускорение оформления разрешений на работу и регистраций компаний
* для рабочих виз гражданство через 5 или 4 года, большие налоговые вычеты (50% для non domicile с зп от 60 до 100к в год, было 20%), разрешение на работу супругам

Планируется раскатывать все эти ништяки в течение года, но как понимаете проблем сейчас у многих полон рот

Подробнее
https://news.1rj.ru/str/badcyprus/299464
Никита также написал офигенную статью