Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Blog Pricing

Умпутун

👤 Speaker
1636 total appearances

Appearances Over Time

Podcast Appearances

Радио-Т
Радио-Т 926

Здесь можно написать такой шопинг-карт, который будет не только шопинг-карт удалять, а что угодно удалять, правильно? У нас же дженерики есть. Чего будем останавливаться только на этом?

Радио-Т
Радио-Т 926

Здесь можно написать такой шопинг-карт, который будет не только шопинг-карт удалять, а что угодно удалять, правильно? У нас же дженерики есть. Чего будем останавливаться только на этом?

Радио-Т
Радио-Т 926

У меня был недавно, Леха, почти то же самое, что и рассказываешь. У меня есть система, которая занимается тем, что достает файлы из определенного места, потом их как-то парсит, как-то обрабатывает, какие-то результаты куда-то пишет. Ну, как мы все пишем, правильно? JSON-ы перекладываем. Но в моем случае там не JSON-ы, а real-time файлы.

Радио-Т
Радио-Т 926

У меня был недавно, Леха, почти то же самое, что и рассказываешь. У меня есть система, которая занимается тем, что достает файлы из определенного места, потом их как-то парсит, как-то обрабатывает, какие-то результаты куда-то пишет. Ну, как мы все пишем, правильно? JSON-ы перекладываем. Но в моем случае там не JSON-ы, а real-time файлы.

Радио-Т
Радио-Т 926

И вот появилась необходимость системы, которая умела обрабатывать опции. Это такой очень специальный вид данных, которых много, которые тяжелые. А у них появился новый вид данных, который типа состояние вот этих опций на конец дня. То есть если обработка опций это инкрементальные маленькие файлы, которые там обложены абсолютно оптимально всем на свете, то вот этот файл конца дня, он типа CSV.

Радио-Т
Радио-Т 926

И вот появилась необходимость системы, которая умела обрабатывать опции. Это такой очень специальный вид данных, которых много, которые тяжелые. А у них появился новый вид данных, который типа состояние вот этих опций на конец дня. То есть если обработка опций это инкрементальные маленькие файлы, которые там обложены абсолютно оптимально всем на свете, то вот этот файл конца дня, он типа CSV.

Радио-Т
Радио-Т 926

И его там 2 мегабайта размером. Его достал 2 мегабайта, 2 миллиона айтемов внутри. То есть фигня вопрос. Он больше, чем 2 мегабайта по размеру. И вот я начал думать, как же его к этой системе прикрутить. Она типа все это делать уже умеет. Она умеет взять данные, она умеет эти данные засунуть в какой-то парсер, она умеет из этого парсера достать и буферизированно записать в Mongo.

Радио-Т
Радио-Т 926

И его там 2 мегабайта размером. Его достал 2 мегабайта, 2 миллиона айтемов внутри. То есть фигня вопрос. Он больше, чем 2 мегабайта по размеру. И вот я начал думать, как же его к этой системе прикрутить. Она типа все это делать уже умеет. Она умеет взять данные, она умеет эти данные засунуть в какой-то парсер, она умеет из этого парсера достать и буферизированно записать в Mongo.

Радио-Т
Радио-Т 926

Думал-думал, написал прототип, мне вообще не понравилось. То есть я немножко сделал более вот этот код-дженерик, который умел все остальное делать. И он стал и это уметь делать. Но мне так это не понравилось, что я просто в этом же проекте написал другой CMD, то есть другой бинарник делается, который использует те же самые базовые.

Радио-Т
Радио-Т 926

Думал-думал, написал прототип, мне вообще не понравилось. То есть я немножко сделал более вот этот код-дженерик, который умел все остальное делать. И он стал и это уметь делать. Но мне так это не понравилось, что я просто в этом же проекте написал другой CMD, то есть другой бинарник делается, который использует те же самые базовые.

Радио-Т
Радио-Т 926

Файл трансфер, он же один и тот же остался, по SFTP по-любому одинаково получаешь. В S3 одинаково кладешь, правильно, ему-то все равно, что ты кладешь. Просто вокруг этого написал новый бинарник, который просто для этого специально запускается, живет в одной и той же кодовой базе, но по сути ничего с логикой предыдущего решения общего не имеет.

Радио-Т
Радио-Т 926

Файл трансфер, он же один и тот же остался, по SFTP по-любому одинаково получаешь. В S3 одинаково кладешь, правильно, ему-то все равно, что ты кладешь. Просто вокруг этого написал новый бинарник, который просто для этого специально запускается, живет в одной и той же кодовой базе, но по сути ничего с логикой предыдущего решения общего не имеет.

Радио-Т
Радио-Т 926

Или у тебя прям две разные функции? Ну, не-не, SFTP это как бы, ну, package, internal package для всего этого хозяйства, да. Внутри у этого самого кода такой мини-монорепа получился для двух проектов, которые примерно про одни данные, но делают это разными двумя бинарниками.

Радио-Т
Радио-Т 926

Или у тебя прям две разные функции? Ну, не-не, SFTP это как бы, ну, package, internal package для всего этого хозяйства, да. Внутри у этого самого кода такой мини-монорепа получился для двух проектов, которые примерно про одни данные, но делают это разными двумя бинарниками.

Радио-Т
Радио-Т 926

Я уже научился бороться. Я напишу в этом случае, если мне надо было HTTP файл-трансфер, и написал бы его внутри вот этого нового пакета, который я сделал. Внутри этого нового модуля, который под модуль того модуля. И нормально будет. Не парит меня то, что это не дженерик решения будет. То есть ты хочешь сказать, что я Дзен еще не познал, да? Нет, ты еще молодой. Ты мало еще с Го живешь.

Радио-Т
Радио-Т 926

Я уже научился бороться. Я напишу в этом случае, если мне надо было HTTP файл-трансфер, и написал бы его внутри вот этого нового пакета, который я сделал. Внутри этого нового модуля, который под модуль того модуля. И нормально будет. Не парит меня то, что это не дженерик решения будет. То есть ты хочешь сказать, что я Дзен еще не познал, да? Нет, ты еще молодой. Ты мало еще с Го живешь.

Радио-Т
Радио-Т 926

А потом, ты представляешь, как потом? Ты подумай о будущем. Вот пришел ты через 7 лет на этот код смотреть. И ты не борешься через вот эти ифов, которые, ну, так или иначе все это в вифы упрется, правильно? Такая стейт-машина ифами сделана или свитчами, или еще чем-то. А вот если мне параметр передали вот такое, действую вот так, а у тебя этого всего нет.

Радио-Т
Радио-Т 926

А потом, ты представляешь, как потом? Ты подумай о будущем. Вот пришел ты через 7 лет на этот код смотреть. И ты не борешься через вот эти ифов, которые, ну, так или иначе все это в вифы упрется, правильно? Такая стейт-машина ифами сделана или свитчами, или еще чем-то. А вот если мне параметр передали вот такое, действую вот так, а у тебя этого всего нет.

Радио-Т
Радио-Т 926

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

Радио-Т
Радио-Т 926

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