Telegram groups catalog TgQuestions

Вопросы и обсуждения современных языков и технологий

Гаражний кооператив

Гаражний кооператив "Мюнхен" 🇺🇦

@munich_cars
Чат об автомобилях: кредит, лизинг, покупка. Холиварим, обсуждаем что лучше, что хуже, где какая шумоизоляция и какой расход :)
Вторник — день ненависти Теслы
Ненавидим DB!

https://bit.ly/2PDBhSU - как обменять права
https://bit.ly/2TdafE4
11.03.2023 12:43 Show in chat

Если это часть 2. Stammstrecke то в 2035

Обещали в этом году закончить?
Честно говоря сама станция не выглядит так как будто в этом году закончат, но кто знает
Перенесли же на 2042
Чтоооооо??? Они там с ума сошли?
Это разве не в nrw?
Я про ту, что сверху, на земле
11.03.2023 12:30 Show in chat

Оооооооооооооо я помню работал с такой структурой, поиск по тексту

11.03.2023 11:38 Show in chat

Да пофик

Я понимаю, канешн, что однопоточном мире фронтнэнда такого не бывает, но в реальной жизни это пиздец.
11.03.2023 11:16 Show in chat

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

Это же пестетс, генератор гуидов, выдающий одинаковые гуиды 🤯
Да. Но происходит это только тогда и вызывает проблемы только тогда, когда с двух разных серваков приходит сообщение в одно и то же время
Сервак старый, линукс на нем старый, релиз старый🤷
вроде бы популярная задача на архитектуру в этих ваших фаангах это построить вундерфавлю для выдачи гуидов. Причём как обычно начинают с простого, а потом скручивают руки как будто это сервис для фейсбука с его миллиардом юзеров
Так, фаанги не мои, не надо их ко мне примазывать 😂
Один раз Фаанг - всегда Фаанг. Теперь это с тобой навсегда 🙂
11.03.2023 11:12 Show in chat

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

11.03.2023 11:09 Show in chat

Я б может и деревья бы и поделал. Мои последние таски в основном связаны с тем, что например в цепочке вебсервис, обработка, логирование, временное файлохранилище, постоянное файлохранилище иногда раз в пару месяцев из хтмл файла контент пропадает

Конечно же не воспроизводится
шёпотом: HTML файл это 🌲 :)
Я в курсе и кстати тот кто был до меня не знал про DOM и наебашил его обход вручную по тегам. Не ты был?
Лучше б он не знал про обход деревьев и библиотеку нагуглил
11.03.2023 11:06 Show in chat

Мы тут недавно посмотрели сериал Вавилон-Берлин и я осознал, что свободы в мире поубавилось. Все курят просто везде, в лифтах, в больницах, бухают за рулем и у каждого второго пистолет легальный в кармане

куда мир котицо!!11
11.03.2023 10:09 Show in chat

Да камон, графы и деревья есть везде. Даже в перекладывании протобуфов :)

Не соглашусь) у нас вот даже протобафов нет 😂
Есть везде но ты не пишешь их с нуля а используешь готовое. А в Гугле по идее больше отделов которые продвигают новые технологии где пишут все с нуля
что такое готовое я использую? ;) фигурные скобки?
После прихода Сундара новыми технологиями почти не занимаются, потому что это не даёт быструю прибыль

А с нуля там пишут вообще по очень прозаическим причинам)))
тебе для обхода дерева в глубину приходится брать какую-то библиотеку? рили? :)
Ты на brainfuck что ли пишешь?))
Готовые структуры данных. Ты вообще как жабаскриптер используешь все что от остальных осталось на полу
Typescript
О. А дай пример задачи где надо деревья обходить
любая иерархическая структура это дерево.
Я понимаю, мне видимо с задачами не везёт, но обычно они такие: тут должна быть кнопка чтобы при нажатии вот этот список показывался😂
ну из простейшего: иерархический селект по какому-нибудь справочнику (например область-город-посёлок). В нём поиск для фильтрации. Вот тебе обход графа
А это реальная задача? Последний раз я решил ее через запросы к aws cloudsearch 🤷‍♂️
И что ты хочешь сказать что ты для этого справочника каждый раз самописное дерево делаешь?
Да, реальная. Все данные уже лежат на фронте поиск делать удалённо не нужно. Решал я её аж в 3 разных компаниях.
Разумеется ты делаешь дерево. Иначе как ты его отобразишь. Что такое "самодельное" я не понимаю
Я же сказал "ты используешь готовую структуру данных" тримап или как там она у вас называется, а не пишешь ее самостоятельно с нуля
Это же жаваскрипт - там вообще есть готовая библиотека search-in-data-on-the-fe
А когда пакет устанавливаешь, он приносит с собой 723 зависимости.
а потом в 475ой зависимости уязвимость, а в 712ой автор обиделся и удалил весь репозиторий)))
я просто вкладываю одни объекты в другие. и всё. это называется дерево. любые обходы таких структур - алгоритмы обхода древа. Никаких binary search tree. trie и прочее для этого не нужно. Можно одним классом обоцтись
бывают более сложные структуры вроде Heap. Или BST. Вот для них уже тащат готовые классы из либ
но тупо сделать рекурсивный struct и обойти его - вам никакие либы и хитрые алгоритмы не нужны. там всё буквально в 5 строк пишется
Если ты просто вложишь объекты в друг друга то это будет не справочник а говно с бесконечным временем поиска. Впрочем тут мы возвращаемся к тому с чего начали
Фу, рекурсия
поиск будет O(n). Ни разу не бесконечный. до 10^6 разницы на глаз нет
11.03.2023 09:47 Show in chat

А это что?

«Олимпиадный» тест от гугла, приглашение на который иногда появляется в поиске. 5 уровней, около 10 задач, после третьего уровня предлагают расшарить контакт для рекрутера
10.03.2023 15:40 Show in chat

Поэтому претензии к паттерн матчингу надо к JS предъявлять. А там они уже пару лет обсуждают как его сделать. Лет через 5 сделают )))

На си?
паттерн матчинг это абстракный концепт. его можно реализовать на чем угодно
Не знаю что ты хотел этим сказать. Runtime V8 написан на плюсах.
Как и сам в8
10.03.2023 15:40 Show in chat

Т.е. TS это не транспайлер одного языка в другой. Это всё тот же JS, просто с указанием типов

10.03.2023 15:36 Show in chat

раз уж пошел такой разговор, кто-нибудь хочет инвайт в google foobar?

Опа
там что-то около 8-10 задач, в основном на алгоритмы, на каждую задачу неделя. решения на python 2.7 и java 8 (да, я знаю)
Я бы не отказался
выслал
Круто! А ещё есть? :)
Нет пока :) спросите у @ivanmilov , там дают инвайт после того как пройдешь один или два уровня
бесит то, что они второй питон используют 😧
Если вам дадут, то мне бы тоже хотелось потом
зачем тебе это все? там же работать надо, постоянно бежать куда-то, перформанс циклы, вот это все
сравнивать будут с коллегами из США, которые по 12 часов в день работают...
Это обобщение все-таки. Моя предыдущая работа - немецкая компания, в отделе с людьми которые иногда до 3 ночи работали. Текущая - стартап мюнхен/калифорния. Ни там ни там не перерабатывал. Все зависит от того какие сам выставишь границы. Ну, и те кто по 12 часов работает - вы думаете они там продуктивность одинаковую поддерживают на протяжении всех 12 часов? 😄
Единственное исключение которое слышал это эппл, там говорят обязательно drink the cool aid 😃
А как же истории про то как они там зажрались и ничего не делают
Сложное? Чо там вообще, рюкзак какой-нибудь?
Первые два уровня простые, потом сложнее. Графы, деревья, тервер, математика
Не слышал таких историй
Прикольно 👍
Забавно, что в работе потом это 99% людей использовать не будет никогда)
В Гугле как раз будешь
Я знаю там полтора десятка человек - никто не использует даже близко
Чем они занимаются?
Со временем как-то приходит понимание как структуры данных и алглритмы связаны, и начинаешь видеть где что можно применить. Но мне например это тяжело дается
Пишут glue code для протобуф видимо
Картами, браузером, аккаунтом, андройдом

Понятно, что там есть люди, которые этим пользуются, но по ходу их очень узкая прослойка, а остальные просто пользуются их тулами
Пока простые числа были, не сложно
Аналогично
У меня был забавный случай когда я провалила собеседование из-за того что не знала что такое префиксное дерево (давно), а через пару месяцев это был хороший случай заюзать на моей работе

Мне кажется, большинство алгоритмов действительно не пригодится в жизни, но несколько раз мне реально нужны были разные алгоритмы/теоретические модели на моей работе (и давали хороший выхлоп)
И это андроид не в гуглах
10.03.2023 15:34 Show in chat

у TS есть только JS рантайм. Который не умеет в типы

речь изначально была про паттернматчинг, а не про типы. да, его можно с типами тоже, но еще куча других юзкейсов.
Любое из того что ты упомянул не сломав устоев TS внести нельзя. Повторю TS задуман и является JS с типами. Он не вносит новых операндов.
10.03.2023 15:31 Show in chat

@yanguly's rating is now 214

10.03.2023 15:27 Show in chat

так со всеми нишевыми языками и технологиями

согласен. я про другое - он нишевый и не получил распространения как раз потому, что на нём сильно сложно писать и в основном пишут всякие штуки, которые нужны полутора калекам.
Почему не пишут на скале можно понять просто попытавшись понять что такое функтор, импликатив и high order kind. Тупо открыть доку… смотреть как баран на новые ворота и пойти фигачить лапшу на го )))
Это как мой бывший коллега-хаскеллист
Говорит, в самом большом чате по Хаскеллю был 21 чел
это язык на котором легко писать когда уже знаешь как писать код всех цветов и вкусов. но когда ты в такой позиции то зачем писать на scala 🙂
имхо такие вещи проще понять из практики. потом уже придти в документацию и открыть для себя как оно называется.
ну, во-первых, это красиво...
10.03.2023 15:24 Show in chat

Тебя от null pointer exception током не бьёт? )))

бывает иногда :)
а в TS эта проблема решена (как и в kotlin, scala и т.д.)
10.03.2023 15:20 Show in chat

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

дык на ней только и пишут что всякие мегасложные вещи на монадах и функторах. причём хайлоад
еще на continuations 😃
10.03.2023 15:16 Show in chat

но сейчас посмотрел на их сайте, не могу найти

10.03.2023 15:16 Show in chat

есть кстати компания с продуктом — dsl на базе с++ для веб сервера 🙂 можно было делать out << div(‘text’) или что-то такое 😃

10.03.2023 15:14 Show in chat

Отличный язык, тайпскрипт взял некоторые вещи оттуда в том числе, плюс он вполне себе во Флаттере живет

Чем отличный? Высер, а не язык. Про то что делать язык без null safety это дико тупо они догадались толко через 8-10 лет. А до этого у них то-ли всё any было по дефолту, то-ли что. Не помню. В итоге оно и в быстрый бинарный код не умеет. В сложные типы аля TS не умеет. Я даже не знаю с чем его можно сравнить чтобы оно не выглядело сиро и убого
сравнивайте с go или ruby, с ними все что угодно можно сравнивать
Давай сравним с go:
- go: раз в 25 быстрее
- go: намного лучше бинарник
- go: ему можно за 2 дня обучить обезьяну
- go: много вакансий и деняк платят
- dart: есть генерики… ой, они теперь и в go есть
Есть флаттер ;₽
это я бы тоже в минус отнёс 😄
Флаттер терпимый! В отличии от Реакт Нейтив
с растом надо сравнивать!
и в расте есть рантайм. в TS его нет. TS существует только на уровне твоего редактора кода.
За этого можно ругать или не ругать. Но это изначальная концепция, от которой никто отказываться не будет