Viktor
я думаю это нормальная история написать здесь свой, как ты и сделал
Порридж В Ко-ливинге
мне кажется, что это то, что нужно для такой задачи как запуск тестов. и там у него тоже воркеры и свой протокол.
Не нашел там воркеров 😅 Увидел что аьортит он удалением из Мап и через Schedule, который является фиг пойми чем
Порридж В Ко-ливинге
я думаю это нормальная история написать здесь свой, как ты и сделал
Да, я уже наколдовал. Пришлось пошаманить чтобы воркеры с TS работали
Порридж В Ко-ливинге
Да нет, вроде все работает)
Yarik
https://github.com/dfilatov/lrt
полезная либа
Viktor
полезная либа
Юзал? Может и на отечественном реакте писал?
Yarik
Юзал? Может и на отечественном реакте писал?
юзал похожее, аля promise-queue и подобные
Порридж В Ко-ливинге
юзал похожее, аля promise-queue и подобные
Но я так и не понял, как он таски прерывает? 😅
Yarik
Но я так и не понял, как он таски прерывает? 😅
надо смотреть исходники, но должно быть похоже на прерывание промисов
Порридж В Ко-ливинге
Yarik
просто проверка какого-то флага перед выполнением
Yarik
Но… Промисы же нельзя прерывать…
https://stackoverflow.com/questions/29478751/cancel-a-vanilla-ecmascript-6-promise-chain
Yarik
всегда можно сделать костыль
Порридж В Ко-ливинге
Это ты скинул, чтобы показать что не прав? 🤣🤣🤣
Yarik
ну я не читал даже, но когда-то мне нужно было такое и у меня был костыль, c проверкой флага, если false, то reject
Порридж В Ко-ливинге
всегда можно сделать костыль
Какой костыль? Этого нет в Promise API. Только исходники менять))0)
Yarik
Какой костыль? Этого нет в Promise API. Только исходники менять))0)
ну можно сделать манки-патчинг Promise класса и захачить все его методы, тогда все можно. Либо свой класс Promise сделать, обертку над нативным Promise API
Порридж В Ко-ливинге
Что думаете
Viktor
Что думаете
чё тут думать, надо делать тестовое! авито отличная контора, у меня там несколько знакомых работают
Порридж В Ко-ливинге
Viktor
А что вы сразу не сказали, там может реферы есть 😅
Не подумал, а теперь уже и не нужны, если и так открыли стажировку.
Viktor
На самом деле, знакомых найти очень просто через линкедин
Viktor
По фильтру
Viktor
Ну, точнее не знакомых, а просто людей оттуда, добавляться и знакомиться
Viktor
Потом рефер просить
Порридж В Ко-ливинге
Конечно, надеюсь что попаду в Яндекс. Но будет запасной вариант)
Viktor
тестовое задание https://github.com/avito-tech/mi-backend-trainee-assignment
Viktor
мне нравится, что они используют слово «ручка»
Viktor
сразу видно, бывшие яндексойды теперь там работают
Viktor
😄
Порридж В Ко-ливинге
Пхаха. Щас буду смотреть
Viktor
сразу видно, бывшие яндексойды теперь там работают
это, кстати, хороший поинт в тему, что в Москве довольно много сильный команд вне Яндекса, которые раньше там работали. Просто потому что при текущем уровне текучки эти люди должны же куда-то деваться.
Viktor
кинул им пулл-реквест https://github.com/avito-tech/mi-backend-trainee-assignment/pull/1/files 😂
Порридж В Ко-ливинге
тестовое задание https://github.com/avito-tech/mi-backend-trainee-assignment
Точно, у них еще драконовские вступительные
Порридж В Ко-ливинге
Может сразу на позицию пойти 😅
Viktor
Точно, у них еще драконовские вступительные
ну, это не выглядит как драконовское задание
Viktor
в ШРИ, по твоим словам, всё сложнее было
Viktor
или какие вступительные?
Порридж В Ко-ливинге
ну, это не выглядит как драконовское задание
Я не смотрел, я помню какие в прошлый раз были
Viktor
а, ясно
Порридж В Ко-ливинге
Я щас CI делаю
Порридж В Ко-ливинге
Ой, кого нашел @yeti_or
Порридж В Ко-ливинге
https://github.com/Glazomer/sorts/blob/master/test_results.md
Порридж В Ко-ливинге
https://github.com/Glazomer/sorts/blob/master/test_results.md
Ого, quicksort 3 обгоняет большинство алгоритмов, кроме очень маленьких массивов и обратно отсортированного массива
Viktor
https://twitter.com/fatih/status/1329485461807538176/photo/1
Viktor
ахаха. все стали угорать с этой темы про сторисы в vscode
Dmitry
А кто может по биг дате книги (или другие материалы) посоветовать?
Viktor
А кто может по биг дате книги (или другие материалы) посоветовать?
Привет, а что ты подразумеваешь под биг датой? Распределённые системы и задачи связанные с ними или что-то ближе к дата саенс, моделькам и питон ноутбукам и т.д.?
Viktor
Если первое, то очень рекомендую книгу Клепмапа Designing Data-Intensive Applications
Dmitry
Что то ближе к хадупу, спарку и БД которые нагрузку хорошо держат и подобным технологиям
Viktor
Да, тогда определённо Клепмана
Viktor
Если тебе интересно что под капотом
Viktor
А не просто как эти системы вместе на практике завести
Viktor
Если практика, то это другое
Viktor
Недавно Клепмап ещё выложил свой курс по распределённым системам на YouTube, можно посмотреть как старт прежде чем читать книгу и углубляться
Viktor
https://twitter.com/vitkarpov/status/1329178341858025473
Dmitry
Посмотрю, спасибо!
Viktor
Бесконечно можно смотреть на три вещи: огонь, воду, и то как Бен пытается развернуть связный список
Viktor
https://www.youtube.com/watch?v=vHKzIPwWQkg
Viktor
Порридж В Ко-ливинге
Так вот, что он ФААНГ срет 🤣
Порридж В Ко-ливинге
Развернуть связанный список можно и не зная алгоритмы 😅
Viktor
на самом деле, он довольно неплохо справился, в итоге. но видно, что каждый день он его точно не разворачивает (и хорошо).
Viktor
а вообще всё это одна большая неприкрытая реклама алгоэксперта.
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Интересное наблюдение. 1) Array.prototype.sort кэширует где-то у себя все значения. (даже знаю зачем) 2) Алгоритм умный, если все отсортированно то он проверит все один раз 3) Назначает значения он походу с кэша все. Интересно, это магия или O(N)?
Порридж В Ко-ливинге
Вот, тут уже пришлось все посчитать, а не как в прошлом примере 😆
Порридж В Ко-ливинге
Кэшируется все это дело, скорее всего для того, чтобы если и массив меняется по ходу, то нам по барабану https://v8.dev/blog/array-sort
А, лол, Статья за 2018 год, и там такой пример: // V8 get 0 get 0 get 1 get 1 get 1 get 0 #### SpiderMonkey get 0 get 1 set 0 set 1
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Интересное наблюдение. 1) Array.prototype.sort кэширует где-то у себя все значения. (даже знаю зачем) 2) Алгоритм умный, если все отсортированно то он проверит все один раз 3) Назначает значения он походу с кэша все. Интересно, это магия или O(N)?
“V8 has one pre-processing step before it actually sorts anything and also one post-processing step. The basic idea is to collect all non-undefined values into a temporary list, sort this temporary list and then write the sorted values back into the actual array or object. This frees V8 from caring about interacting with accessors or the prototype chain during the sorting itself.”
Порридж В Ко-ливинге
Да, вот это прямо любопытно, хорошо, что раскопал. Будешь теперь питон-н-сорт-ман
Я вот только не понял, что значит "temporary list" Лист - это же список Но в Питоне, лист - так называют массив
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Гугл свой (даже 2) язык сделал, чтобы делать дополнения к коду в V8 https://v8.dev/docs/torque-builtins