Читал с интересном. Честно - вопрос напоминает шпионский детектив. Кто-то что-то краем уха слышал. Какие-то телефоны туннели. Вобщем я-бы предложил потратить мозговые усилия в какое-то более полезное направление.
Это не будет работать. Base64 кодирует массивы кратные определённой длине.
Все массивы не кратные имеют дополнительный "хвостик". Так называемый padding который говорит что хвостовые символы надо игнорировать. Там есть формула. Какая - щас не помню но достаточно простая для отсечения хвоста.
Поэтому при удачном стечении обстоятельств вы можете писать в base любую двоичную информацию.
При неудачном - вам необходимо либо полностью переписывать файл либо как-то хитро подгонять Seek
под позицию padding и корректировать текстовый файл.
Вобщем лучше такую задачу выкинуть и не делать совсем. Либо постановка на самом деле была другая.
Или текстовый файл должен иметь какие-то дополнительные маркеры разделители чтобы разделять поток
на набор вложенных массивов.
Он - плохо чувствителен к ошибкам. По идее автор хочет вернуть контент. Но если мы получаем любую ошибку типа IO - то возвращаем пустую строку. Так видимо автор хотел выкрутится чтоб не вводить коды возврата или опциональные результаты. Но извините контент реально может быть пустой строкой. Такое тоже бывает. Тогда получается что мы просто не различаем битые ссылки и ссылки с пустым контентом.
Вы как-то сильно сложно завернули. У него тег стоит - игровая механика. Никто не будет вводить такие обобщенные понятия как плотность потока в игру. Я вижу себе такой input: дана лодка с парусом площадью такой-то, скорость ветра такая-то, угол такой-то. Расчитать силу.
Автор программирует XMLHttpRequest. Это не совсем браузер. Тоесть это конечно работает внутри браузера но если-бы я запускал эту технологию отдельно - то вопрос бы просто звучал по другому. Сколько http-клиент должен ждать?
Давайте просто браузер уберем из контекста обсуждения. Это ведь по сути неважно.
Надим Закиров, я думаю что в ответ на этот простой вопрос - можно перерыть всю спецификацию протоколов TCP/IP и интернета. Вопрос сложный. Многогранный. Если вспомнить что не только сервер - участник этого процесса но и много других сущностей.
И еще более интересный вопрос. Если ты впишешь не 10 минут а 10 часов - к каким последствиям это приведет. Это интересный вопрос и может быть ты сам на него ответишь.
Мне вопрос напоминает дилемму тестирования. Мы должны иметь конкретные кейсы - иначе тестирование невозможно закончить никогда. Или если себе ставить задачу найти хоть какой-нибудь баг - то хоть какой-нибудь найдется обязательно в самом идеальном софте.
Если брать ентерпрайзные проекты при мне, то база менялась аж.. никогда. Обычно когда бизнес купил себе Oracle или MSSQL то переход на другую систему равносилен пожару или потопу. К тому времени приложения уже используют модули и хранимые процедуры и смена dbms превращается в аватнюру. Никто просто не захочет заплатить столько денег.
Поэтому необходимость в ORM есть но в части смены DBMS она обычно преувеличена.
Скорее всего ты до этого не работал с git или работал мало. Файлы в git имеют обычно много состояний. Например они могут быть изменены но еще не положены в staging area e.t.c. Чтобы понять что ты там натворил что у тебя "все" файлы туда-сюда летают надо смотреть git status.
И делать этот git status после каждого маленького шага. Кстати git pull который ты используешь на самом деле это макрос которые делает несколько действий. Это просто к сведению. Вобщем бери консоль и смотри статус.
Сергей Соколов, я тоже в этом направлении думаю. Вроде как стандарт mkv изначально предполагал множество видео-потоков. Как это будет отображать плеер - дело десятое. Но главное что в принципе возможно.
Вообще надо читать документацию на эту видеостену. Что советовал производитель.
User, нет-нет. Приблизительный пример - это как бабка "надвое" сказала. Или как вылить кофе и гадать по нему.
Вобщем декомпозиция на мелкие классы - идея правильная. Насчет Python я тут не сильный советчик. Не скажу как лучше. Но если-бы это была Java и работа с базой данных - тогда обычно вводят сущности таблиц (Entities) и репозитарии доступа к базе. Можешь глянуть как принято делать в ORM-фреймворках.