Back to the Future with Smalltalk
https://medium.com/hackernoon/back-to-the-future-with-smalltalk-57c68fab583a
https://medium.com/hackernoon/back-to-the-future-with-smalltalk-57c68fab583a
Forwarded from Podlodka Podcast – анонсы и новости подкаста про IT (Anna Banana)
Podlodka #288 – Nim, часть 2
Efficient as C, Expressive as Python, Elegant as Lisp. В этом выпуске вместе с Гавром продолжаем разбираемся с лучшим языком программирования – Nim. В этой части мы разбираем ключевые фичи языка, его недостатки, обозреваем экосистему и обсуждаем самые громкие кейсы применения в продакшене.
Разверните отказоустойчивую инфраструктуру на 9 дата-центров Selectel в России и за рубежом
Реклама, ООО «Селектел»
🎧Слушать выпуск
Efficient as C, Expressive as Python, Elegant as Lisp. В этом выпуске вместе с Гавром продолжаем разбираемся с лучшим языком программирования – Nim. В этой части мы разбираем ключевые фичи языка, его недостатки, обозреваем экосистему и обсуждаем самые громкие кейсы применения в продакшене.
Разверните отказоустойчивую инфраструктуру на 9 дата-центров Selectel в России и за рубежом
Реклама, ООО «Селектел»
🎧Слушать выпуск
❤1
Мощь тайпскрипта
Вот имеем ситуацию, либа для показа табличек, нужно ей передать массив данных и массив колонок.
Колонкам разумеется нужно чтото знать про данные.
Данные могут иметь вложенность, то бишь name: {first, second: string}
Вопрос, как указать для колонок вложенность данных в объектах, не десериализовать же дтошки каждый раз в плоскую структуру.
Ну допустим через точки
Но это же не типо-безопасно!
TS и литеральные типы, вывело все варианты вместе с вложенностями
Вот имеем ситуацию, либа для показа табличек, нужно ей передать массив данных и массив колонок.
Колонкам разумеется нужно чтото знать про данные.
Данные могут иметь вложенность, то бишь name: {first, second: string}
Вопрос, как указать для колонок вложенность данных в объектах, не десериализовать же дтошки каждый раз в плоскую структуру.
Ну допустим через точки
"name.firstname" Но это же не типо-безопасно!
TS и литеральные типы, вывело все варианты вместе с вложенностями
gavr_sas
Мощь тайпскрипта Вот имеем ситуацию, либа для показа табличек, нужно ей передать массив данных и массив колонок. Колонкам разумеется нужно чтото знать про данные. Данные могут иметь вложенность, то бишь name: {first, second: string} Вопрос, как указать для…
Тип выглядит так
По факту это просто перебор вариантов, тут явно видно что типам не хватает switchа
По факту это просто перебор вариантов, тут явно видно что типам не хватает switchа
never & 'Dynamic length array indexing is not supported' — найс способ сообщить пользователю человекочитаемую ошибку!type DeepKeys<T> = unknown extends T
? keyof T
: object extends T
? string
: T extends readonly any[] & IsTuple<T>
? AllowedIndexes<T> | DeepKeysPrefix<T, AllowedIndexes<T>>
: T extends any[]
? never & 'Dynamic length array indexing is not supported'
: T extends Date
? never
: T extends object
? (keyof T & string) | DeepKeysPrefix<T, keyof T>
: never;
😢1
gavr_sas
Штош подкасты по ниму записал, время возвращаться к ниве(це мой язык), ловите работающий баблсорт #niva
Мя спрашивают, если нет пробелов, то как будут работать экспрешоны внутри массивов?
нормально
x = {(1 - 1 - 2) 2 3 - 2 - 1 2 sas}нормально
- А як вставити значення з унарними минусами?
- А для этого у меня есть необязательные запятые
- А для этого у меня есть необязательные запятые
x = { -5, -5 5 5 5} иначе оно будет считаться как (- 5 - 5), а делать пробелы между операторами в бинарных сообщениях я не хочуПросто хочу сказать что это валидная строчка на Java 17
public abstract sealed class Shape permits Circle, Rectangle, Square {...}👍1
Котлин полностью прошел проверку на наличие нормальных tagged union'ов, можно объявлять их отдельно, when достаточно exhaustive
Но настоящих типов суммы конеш не хватает
Но настоящих типов суммы конеш не хватает