Onatskyi, тогда лучше не экономить один запрос, а использовать тот метод, который первым пришёл мне в голову: сохранять изображение в blob-поле без base64-кодиварония, написать скрипт, который будет в ответ на запрос извлекать данные из этого поля, и прописывать <img src="/getAvatar.php?user=Onatskyi">.
Onatskyi, я только сейчас осознал, что именно вы пытаетесь сделать - заменить ссылки в атрибуте src тегов img на выбранные из БД base64-кодированные строки содержимого этих изображений. Это ещё страшнее моего первого предположения. Я не знаю, что у вас за сайт и как именно там отображаются аватарки. Предположим, что это коллективный блог типа Хабра, под публикациями в котором пользователи ведут оживлённую переписку и около каждого комментария отображается аватарка. Допустим, есть публикация под которой 10 пользователей оставили по 10 комментариев. Замечу сразу, это не много. Итого 100 комментариев. Средний размер одной аватарки - 10 килобайт. В случае использования обычных изображений, браузер пользователя загрузит 50 килобайт текста и 100 килобайт изображений. Изображения он закэширует и не будет грузить при обновлении страницы или на других страницах. В случае использования задуманного вами сценария, грузить придётся больше и чаще. Во-первых, base64-кодирования в среднем на треть увеличивает размер данных. То есть все картинки теперь весят 15 килобайт. Так как они внедрены в страницу, загружены будут все экземпляры. И кэшироваться они не будут. Вес страницы увеличится до 1550 килобайт. Поэтому она будет дольше загружаться, дольше анализироваться браузером, и браузер отожрёт больше памяти. Удобство пользователя снижено. Но это ещё не все беды. Если блог ваш раскручен и вы имеете в среднем тысячу пользователей в сутки, то web-серверу придётся только для этой вашей публикации отдать около 1500 мегабайт трафика. А если у вас случился хабраэффект и поток пользователей генерирует 100 запросов в секунду, то web-сервер будет генерировать поток данных около гигабита. Ну, и не стоит забывать, что до того, как страница весом 1550 килобайт уйдёт по сети отжирать память пользовательской машины, она будет отжирать память сервера.
Александр Глухов, комментарии на Тостере создавались для уточнения вопроса или ответа. А то, что человеку свойственны эмоции - это совсем не повод их проявлять везде. Основная цель QA-сервисов - формирование базы знаний, а хорошая база знаний подобна хорошей документации - строга и по делу.
beduin01, интерпретатор Python - это сишный код, выполняющий инструкции python-кода. Когда вы создаёте поток в python-скрипте, сишный код интерпретатора создаёт системный поток, в котором выполняет как логику python-кода, так и операции необходимые для правильной работы самого интерпретатора.
Просто открыть текстовым редактором, внести необходимые изменения и сохранить. Стоит только убедиться, что файл после редактирования всё ещё принадлежит правильному пользователю и на него выставлены необходимые права доступа.
Кастян, если не прибегать к костылям, то писать свой сплитератор и реализовывать в нём метод takeWhile самостоятельно. Или взять готовый вариант, типа protonpack.
это единственный способ для айтишника из глубинки подняться выше 30-40к
Какое громкое заявление. Я айтишник из глубинки, у меня 120k и около десятка приятелей с примерно тем же уровнем доходов, работающих на местные компании или в региональных офисах федералов.