Иван Шумов, тут проблема не в технологии как таковой, а в том, что её используют не по назначению или не учитывают фактические условия конкретного решения.
Например, некоторые пытаются использовать S3 как хостинг картинок, а потом их картинку кто-то вставляет в пост на reddit и они получают огромный счёт от Amazon. Это не проблема технологии, это проблема её непонимания.
Или вот воспринимают бакет как таблицу в базе данных, куда можно пихать объекты миллионами, но вот конкретно в реализации S3 в бесплатном продукте minio это работает не очень хорошо. При этом если minio использовать правильно, то оно работает реально хорошо и быстро.
romaro, вообще говоря, имеет смысл делать так же, как и при хранении в файловой системе, то есть делить на подкаталоги. Делать разные бакеты для этого не нужно.
Например, можно класть по датам:
uploadsbucket/2021/07/23/file_123.jpg
minio повторит такую же структуру каталогов, а сам файл будет каталогом с двумя файлами внутри - данными и метаданными.
romaro, скорее Amazon S3, но не такой уж он и "маленький", он реально может использоваться и для больших проектов. Но, как водится, с оговорками.
По факту minio хранит файлы в файловой системе, в соответствии с путями в адресе, только сами файлы хранятся в виде каталога, внутри которого содержимое файла и json с метаданными. Сам файл может шифроваться. Можно ли хранить как-то иначе я не знаю, не изучал. Вообще, в minio нет конфига как такового, любые изменения - это деплой нового кластера с другими параметрами.
Ещё вроде в минио завезли тенанты (позволяет отдельными экземплярами минио отдельные бакеты обслуживать), но мы их пока не использовали.
Дмитрий Свиридов, если ключ не будет делиться на подкаталоги, то по крайней мере в minio это будет работать плохо. Увы, мне пришлось с этим столкнуться в проде на бакете с >4 млн. файлов на одном уровне.
С minio при неправильном использовании возникнет всё та же проблема. Дело в том, что minio хранит файлы в виде каталога с двумя файлами внутри. Соответственно, вместо миллиона файлов в одном каталоге будет миллионо каталогов в одном каталоге. Поэтому в minio точно так же надо раскладывать по подкаталогам.
Кирилл Тритонов, я не спорю, что твой друг может быть достаточно умный для этого, но я сомневаюсь, что у тебя получится повторить его достижения, судя по тому, какие вопросы ты тут задаешь (да, я посмотрел твой профиль).
Путь, который ты выбираешь, это путь в никуда. Ты потратишь время и ничему не научишься. Ни C++/Python/Java/Kotlin/Python/C#/Delphi не будешь знать, ни Linux, ни ассемблера, ни сетевые протоколы, ни методы шифрования, ни способы обфускации кода, ни mitm-proxy, короче, ничего из того, что должен на приличном уровне знать тот, кто умеет в серьёзный реверс-инжиниринг чужого кода. И уверяю тебя - действительно качественно и профессионально написанную игру взломать ты так легко не сможешь.
Гораздо перспективнее не самоутверждаться, а самому чему-нибудь действительно полезному научиться и сделать чего-то интересное. Попробуй хотя бы крестики-нолики написать - одну из самых простейших игр. Даже в крестиках-ноликах можно найти бесконечное поле для творчества и развития:
1. Режимы игры - игрок против игрока, игрок против компьютера (написать стратегию для компьютера по выбору наилучшего хода).
2. Сетевой режим - два игрока играют на разных компьютерах и/или мобильных устройствах и/или в браузере через общий сервер (освоить сетевое взаимодействие, систему авторизации и регистрации).
3. Глобальный рейтинг игроков сервера, мой рейтинг среди моих друзей итд итп, турниры (групповые, на вылет).
4. Настраиваемый дизайн поля и крестиков-ноликов, вплоть до возможности выбирать свой цвет или загружать пользовательскую картинку в качестве оформления.
Идей можно придумать просто море, и в процессе работы над каждой можно очень неплохо развить свои знания и скиллы.
Кирилл Тритонов, для того, чтобы заниматься заявленым, нужно изучить далеко-далеко не основы, и потратить на это придётся далеко-далеко не месяцы, а как минимум годы.
Александр, не надо воспринимать сервер дискорд как игровую локацию, в которой плодятся юниты. Все эти тысячи юзеров - реальные люди. Этот сервер у них - один из множества других. Тратить свою жизнь на то, чтобы часами сидеть в голосовом чате одного конкретного сервера, они не будут. К этому надо спокойно относиться.
И да, 8 тыс. - это неплохая аудитория. Но они пришли только через тикток, поэтому это количество отражает аудиторию тиктока. Рост аудитории что там, что сям в принципе ограничен и не будет бесконечным.
Полезно в момент отваливания посмотреть в dmesg сообщения ядра, также полезно сказать, какая там модель (ключевые команды lspci для PCI-устройств, lsusb для USB-устройств).
godsplane, ревью кода будет оцениваться в первую очередь из сложности этой операции. Если ревью займёт час, то по шкале ценности сколько-нибудь приличного специалиста это уже будет стоить не менее 2 тысячи рублей (что эквивалент 320 тысяч рублей в месяц зарплаты специалиста с полной занятостью). А если это два часа? Три часа? Если будет не одна итерация ревью?
Намного полезнее будет устроиться джуном на реальную работу. Это выгоднее экономически и это лучше с точки зрения получения практического опыта.
Drno, там на самом деле можно было чёта патчить, чтобы родные проприетарные возможности декодирования использовать. Может быть сейчас это искаропки стало.
Drno, во всяком случае так было во времена, когда я ставил эксперименты с видео, а это было ещё при rpi2. Там нужно было каким-то правильным плеером крутить видео, который далеко не всё прожёвывал, а обычные не справлялись по причине софтверного декодирования.
Например, некоторые пытаются использовать S3 как хостинг картинок, а потом их картинку кто-то вставляет в пост на reddit и они получают огромный счёт от Amazon. Это не проблема технологии, это проблема её непонимания.
Или вот воспринимают бакет как таблицу в базе данных, куда можно пихать объекты миллионами, но вот конкретно в реализации S3 в бесплатном продукте minio это работает не очень хорошо. При этом если minio использовать правильно, то оно работает реально хорошо и быстро.