Пока никак =) На слое данных это не проблема, в arquero есть полный комплект джойнов, но много интерфейсной работы (переключение таблиц, мульти-табличные пайплайны и всё такое). Задача в топе на развитие.
В спецификации со времён ES6 есть специальное поручение (12.14.4.1.e.iii) в такой ситуации доставать name функции из имени переменной (и из многих других мест, ищется по SetFunctionName).
И это легко проверить
А в минифицированном коде имена и функций, и переменных, обфусцируются и ориентироваться в любом случае придется по line:column
Предпочитать любые библиотеки по любому критерию, разумеется, базовое право каждого человека.
Мне второй раз предъявляют за map, но мне нравится это название — отображение же! (возможно, конформные отображения сломали мне мозг) В голом JS под map подразумевается не только то, что вы подумали, но еще и ассоциативный массив Map. В TS есть mapped types, который совсем не про массивы. В rx есть map, и ничего, как-то живут. В общем, если подойти достаточно абстрактно, всё есть map)
size-limit конечно лучше чем жать голый UMD, но мы всё ещё измеряем один бандл, а не разницу с пустым приложением, так что EOCD и непрогретый gzip остаются. К тому же завязка на вебпак, который инжектит свой рантайм — я что-то уже не хочу к нему приближаться вообще
А я честно скажу, что сделал проект вдогонку к BanditStash — библиотеке для работы с localStorage. Для кейса "проверить, не битые ли данные в сторадже" детальной ошибки не нужно, просто игнорируй битые данные. Для валидации форм или (тем более) параметров АПИ, конечно, нужна библиотека с нормальным фидбеком. Каждой проблеме — своё решение.
Тип literal удалил из двух соображений — во-первых, на практике редко подходит только одно значение (зачем его вообще хранить)? Во-вторых, всегда можно создать пользовательский тип literal = <T extends string>(v: T) => enums([v]);
На бенчмарках banditypes — одна из самых быстрых библиотек без кодогенерации, так что аргумент про оптимизатор не принимается) К тому же валидация — вряд ли невероятно горячий код, так что по перформансу я не заморачивался.
Это правда комплимент, обычно переводы на Хабре пишут программисты и получается не очень связно) обидно, что при переводе потеряли мою великолепную блок-схему и нашли "мягкие навыки"
В общем я, как обычно, напомню что нельзя публиковать чужие статьи без разрешения. Хотя у вас получилось гораздо лучше чем обычно, вижу тут работу человека с писательскими задатками
Век живи век учись, придумаю какой-то другой пример, спасибо. Хотя можно понудеть что пока существуют браузеры без ES6+ глобально поведение остаётся неспецифицированным
False positive (не прошел испыталку / плохо перформит) посчитать на данных внутри компании достаточно легко, уверен что ичары бигтеха таким занимаются (у них же бонусы от этого зависят)
False negative сложнее, тут только "а у меня один друг". Ну и не факт что чувак, успешно работающий в команде Y, так же прекрасно зашёл бы команде X
Ну или хотя бы среднего и полезного) Спасибо!
Хмм, на самом деле не думал про BI системы для этой задачи! Тогда сегментируемся так, hippotable:
Просто использовать: просто открываешь файл и работаешь, не надо плясать с подключениями, датасетами, чартами.
Работает действительно быстро из-за отсутствия клиент-серверности.
Простой деплой on-premises.
Почти неограниченная нагрузка с низкими операционными костами (S3 по цене грязи).
При этом:
Ограниченный размер датасета
Меньше источников данных и интеграций
Интерактивности маловато, на датасете in-memory размера хочется поиграться с параметрами и чтобы таблица менялась в реальном времени.
Спасибо за отзыв! С локальным запуском мой косяк, имелся в виду
npm ci
(без run) — обновил ридми.Спасибо за багрепорт, исправил! Думаю, перед дальнейшим развитием хорошо бы намазать тестов =)
DuckDB мотивирует SQL-синтаксисом или чем-то еще?
Пока никак =) На слое данных это не проблема, в arquero есть полный комплект джойнов, но много интерфейсной работы (переключение таблиц, мульти-табличные пайплайны и всё такое). Задача в топе на развитие.
В спецификации со времён ES6 есть специальное поручение (12.14.4.1.e.iii) в такой ситуации доставать
name
функции из имени переменной (и из многих других мест, ищется поSetFunctionName
).И это легко проверить
А в минифицированном коде имена и функций, и переменных, обфусцируются и ориентироваться в любом случае придется по
line:column
Предпочитать любые библиотеки по любому критерию, разумеется, базовое право каждого человека.
Я обдумаю это предложение, спасибо)
> Там в
preset-small-lib
используетсяesbuild
Благая весть! Вот я дед
Спасибо!
Мне второй раз предъявляют за
map
, но мне нравится это название — отображение же! (возможно, конформные отображения сломали мне мозг) В голом JS под map подразумевается не только то, что вы подумали, но еще и ассоциативный массивMap
. В TS есть mapped types, который совсем не про массивы. В rx есть map, и ничего, как-то живут. В общем, если подойти достаточно абстрактно, всё есть map)size-limit конечно лучше чем жать голый UMD, но мы всё ещё измеряем один бандл, а не разницу с пустым приложением, так что EOCD и непрогретый gzip остаются. К тому же завязка на вебпак, который инжектит свой рантайм — я что-то уже не хочу к нему приближаться вообще
Я ждал этого комментария) "Просто валидация" — растяжимое понятие, хотел дополнительно уточнить что речь не о валидации форм
А я честно скажу, что сделал проект вдогонку к BanditStash — библиотеке для работы с localStorage. Для кейса "проверить, не битые ли данные в сторадже" детальной ошибки не нужно, просто игнорируй битые данные. Для валидации форм или (тем более) параметров АПИ, конечно, нужна библиотека с нормальным фидбеком. Каждой проблеме — своё решение.
Тип literal удалил из двух соображений — во-первых, на практике редко подходит только одно значение (зачем его вообще хранить)? Во-вторых, всегда можно создать пользовательский тип
literal = <T extends string>(v: T) => enums([v]);
На бенчмарках banditypes — одна из самых быстрых библиотек без кодогенерации, так что аргумент про оптимизатор не принимается) К тому же валидация — вряд ли невероятно горячий код, так что по перформансу я не заморачивался.
О чем бы это могло говорить?
Это правда комплимент, обычно переводы на Хабре пишут программисты и получается не очень связно) обидно, что при переводе потеряли мою великолепную блок-схему и нашли "мягкие навыки"
В общем я, как обычно, напомню что нельзя публиковать чужие статьи без разрешения. Хотя у вас получилось гораздо лучше чем обычно, вижу тут работу человека с писательскими задатками
Плохо, что знания алгоритмов-и-структур-данных обычно коррелируют с техническим образованием, и вроде спрашивать об этом ещё раз необязательно.
Коррелирует ли техническое образование со способностью программировать — вопрос открытый 😆
Тут, конечно, речь о вопросах "за извращенное программирование", а не вообще "за жизнь"
Тут проблема в том, что вопросы тебе задаёт не "работодатель", а один конкретный чувак, и даже не обязательно потом вы будете вместе работать.
"Интервьюер работал в Яндексе" — не повод выкидывать всю компанию в мусор)
Автор имеет образование бакалавра прикладной математики и информатики, а что?
Век живи век учись, придумаю какой-то другой пример, спасибо. Хотя можно понудеть что пока существуют браузеры без ES6+ глобально поведение остаётся неспецифицированным
False positive (не прошел испыталку / плохо перформит) посчитать на данных внутри компании достаточно легко, уверен что ичары бигтеха таким занимаются (у них же бонусы от этого зависят)
False negative сложнее, тут только "а у меня один друг". Ну и не факт что чувак, успешно работающий в команде Y, так же прекрасно зашёл бы команде X