Pull to refresh
42
0
Евгений Аршинов @mrShadow

User

Send message

На российских биржах торгуют обычно через российского брокера, который является налоговым агентом и удерживает налог / рапортует в налоговую сам. Это всё-таки существенно упрощает ситуацию.

Прежде чем пойдёте выставлять isolatedModules: true, чтобы ускорить сборку, вот картинки из двух наших Angular-проектов. Конечно, применительно к Angular-проектам TypeScript это только часть сборки, но тем не менее. Это 10 прогонов в каждой конфигурации.

C т.з. оптимизации билда смысла нет никакого, во всяком случае применительно к Ангуляру.

@difuks, Извиняюсь, я кажется пропустил комментарий. Отправил сразу PR: https://github.com/DiFuks/ts-overrides-plugin/pull/23

Вот ещё похожее - Positron IDE (https://github.com/posit-dev/positron). Оно правда пока в early-stage development, так что не уверен, есть ли большой смысл использовать его вместо Spyder. Смотрел недавно более подробную презентацию Positron IDE на 20 минут (но предупреждаю, звук отвратительный): https://www.youtube.com/watch?v=p3_ywAsIJCw

Обещанная проблема - чтобы плагин работал с ng build, мне пришлось пропатчить CLI plugin: https://n0paste.eu/VZwDSxc/ (не стал постить сюда простыню; ссылка протухнет через месяц). В стандартном Angular-сетапе tsconfig выглядит как

  ...
  "files": [
    "src/main.ts",
    "src/polyfills.ts"
  ],
  "exclude": [
    "src/test.ts",
    "**/*.spec.ts",
    "**/*.stories.ts"
  ]

т.е. rootFiles это только main.ts и polyfills.ts. А в getDiagnosticForFile приходит конечно каждый файл проекта. Так что в оригинальной версии у меня просто ничего не матчилось и продолжала использоваться дефолтная ts.Program.

Рапортую - всё завелось отлично, кроме разве что ESLint'а. Подозреваю, для него нужно прокинуть ещё какие-то хуки TypeScript-компилятора, т.к. ESLint'у нужны не diagnostics, а типы переменных. Короткий пример:

const a: number | null = 5;
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
const b: number = a!;

ESLint по всей видимости использует информацию о типах из дефолтной программы, которая не strict и в которой поэтому number | null эквивалентен number.

Есть ещё одна проблема, но отправлю её отдельным комментом, чтобы отвечать было удобнее. (да, если что, я могу то же самое изложить в репозитории в виде багрепорта, если надо)

Мы вот это используем:
https://github.com/sverweij/dependency-cruiser

…хотя "используем" это не совсем правильное слово. Мы его запускаем, но результаты почти не смотрим, потому что в связке с TypeScript они чрезвычайно шумные. Ведь в TypeScript даже если импорт циклический "на бумаге" (в коде), он совершенно не обязательно циклический "по факту" (в рантайме), если импортируется только тип, который после транспиляции пропадает.

Планируем попробовать вернуться на eslint-plugin-import. Есть сомнения в том, что зависание пофиксили до конца: https://github.com/import-js/eslint-plugin-import/issues/2348

А про бухгалтерские проводки будет? :-)

Да, хотелось бы и из консоли конечно, и чтобы при ng build (команда сборки проекта на Angular) тоже эти настройки использовались. У Angular свой сборщик (вернее, свои сборщики, т.к. их с недавнего времени несколько вариантов), которые уже внутри использует Webpack (в том варианте, который используем мы), свои плагины. Туда надо будет внедряться. И есть риск, что Angular использует TypeScript ещё где-нибудь под капотом, куда так просто не добраться. В общем, нетривиально.

Из похожего есть ещё Panel: https://panel.holoviz.org/index.html

Вот сравнительная презентация, есть Dash, Panel и Streamlit: https://www.youtube.com/watch?v=4a-Db1zhTEw. Траты времени в ней больше, чем пользы, но для предварительного знакомства пойдёт.

Сам ни Streamlit, ни Panel, ни Dash не использовал (разве что Panel в рамках python-ноутбука), потому что их всех надо деплоить, а проекты у нас не того масштаба. Если что-то надо для других, то Power BI, Metabase (который деплоится, но один раз, а не per-app) и Evidence (собирается в self-contained SPA без сервера, подходит для мелочей).

Очень классное начинание, но количество нюансов в настройке испугало. Мы ещё и на Angular, и на Yarn PNP. Вероятно, продолжим пользоваться этим:

https://github.com/allegro/typescript-strict-plugin

(вкратце, пускать TypeScript со стриктом отдельно для отдельных подпапок проекта)

  1. Без возможности писать responses на JavaScript? https://github.com/mockoon/mockoon/issues/1435

Первый раз вижу этот проект, но для меня это сразу бан.

Спасибо за ответ! Теперь вижу, да, что у Rill наверное чуть пошире область применения. Evidence действительно больше для dashboard'ов, которые сделал и отдал кому-то смотреть. Для self-service analytics, чтобы самому анализировать данные / выявлять визуально закономерности по графикам и др., Evidence не очень подходит, т.к. на каждый такой эксперимент нужно менять запрос в коде. Т.е. вот такое например https://docs.rilldata.com/explore/filters/ в Evidence не представить.

Update: дополню, что с интерактивной фильтрацией на dashboard'ах у Evidence вообще беда. То, как это сделано сейчас с интерполяцией переменных в SQL-запросах, вообще никуда не годится. Надеюсь, им хватит смелости переделать это по-нормальному, благо пререлиз-версия 0.xx позволяет.

Спасибо, великолепная статья! Очень приятно читать.

Чем это лучше Evidence? И принцип, и даже стек такой же (SvelteKit + DuckDB), только Evidence известнее и приложение для него не нужно.

С поддержкой UDP, в отличие от ngrok: https://playit.gg/. Использовал как-то, чтобы пробросить WireGuard до другой машины через интернет

Сваггер есть, не знал, что можно интегрировать с pydentic'ом

Что-то мне кажется, что @nekdan имел ввиду не с pydantic'ом, а просто скачивать схему (openapi.json), привязанную к сваггеру, вместо того чтобы держать свою копию кусков схемы в проекте с автотестами.

А что вы думаете по поводу быстрого входа по 4-циферному коду, который сейчас часто предусматривают в мобильных приложениях (иногда даже форсят, привет приложению Сбербанка)? 4 цифры это же дофига небезопасно. А если приложений с таким входом штук 5, приходится либо путаться, либо использовать в нескольких местах один код, что ещё менее безопасно. Почему нигде (ну либо я не встречал) нет варианта "пароль или отпечаток пальца", без коротких кодов? Это техническое ограничение (навряд ли)? Или просто считается, что если разлоченный телефон попал в руки кому-то кроме владельца, то всё равно всё уже пропало и смысла нормально защищать отдельное приложение нет?

Ну и сам я-таки свыкся в итоге с Alt-Shift…

1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity