• Как быстро и надежно закрывать задачи по сайту не нанимая программиста?

    nowm
    @nowm
    Могу ответить с точки зрения фрилансера:

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

    Вот несколько советов, которые помогут улучшить «возвращаемость» фрилансеров:
    • Чаще всего фрилансер готов делать работу сразу (особенно когда работает с вами первый раз), он показывает рвение и очень быстро всё делает. С вашей стороны ожидается, что вы можете оплатить работу мгновенно после того, как всё сделано и проверено как фрилансером так и вами. Если вы скажете фрилансеру, что вам нужно некоторое время, чтобы дойти до банкомата и пополнить счёт, потому что прямо сейчас не можете заплатить, это очень сильно испортит впечатление, и с большой вероятностью человек не покажет виду, спокойно без психов подождёт, когда вы ему заплатите, но в следующий раз работать с вами больше не будет. Фрилансер готов работать сразу, значит и вы должны быть готовы платить сразу.
    • Если у вас низкая техническая подготовка, и фрилансеру приходится кроме самого кода очень много общаться с вами на тему, что именно нужно делать, желание работать дальше тоже пропадает. Чем меньше требуется обсуждений и созвонов в мессенджере, тем больше веротность, что фрилансер и дальше будет с вами работать. Фрилансеры обычно не считают переписку частью оплачиваемой работы и, соответственно, чем больше времени будет занимать переписка, тем меньше будет желание продолжать работу. Фрилансер обычно хочет сразу делать работу и не отвлекаться на всякую бесплатную болтологию.
    • Если фрилансеру нужно заниматься в дополнение администрированием вашего сервера, а это заранее не обговаривалось, это тоже может испортить впечатление. Часто заказчики пишут, что им нужно поправить менюшку на сайте, а это в итоге превращается в правку менюшки, а потом залитие кода на сайт, настройка и перезапуск сервера и ещё какие-то подобные работы, которых в задании не было вообще. И, скорее всего, вы считаете само собой разумеющимся, что фрилансер должен уметь это делать, и думаете, что это нормальная практика, если он в дополнение к кодингу будет делать ещё и это. Дополнительно, если эти моменты ещё и не оплачиваются, шансы, что люди захотят с вами работать и дальше, снижаются ещё сильнее.
    • Некоторые заказчики любят показывать свой авторитет. Запомните, что для фрилансера вы не начальник, а равноправный партнёр, и он ждёт от вас соответствующего уровня общения. Если вы строите из себя начальника, люди будут придумывать любые отмазки, но повторно работать не станут.


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

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Кидалово чистой воды. А вот заблокировали зря. Разблокируйте и сообщите что он не доплатил вам 43000 рублей. И вы подаёте на него в суд. На основании посменной договоренности о работах. Кроме того запишите телефонный разговор на диктофон , видимо будет разговор на повышенных тонах, после этого пишите заявление в собр о вымогательстве. Они это любят.
    Ответ написан
    8 комментариев
  • Как избежать дублирования кода в проекте с использованием Flask-RESTplus + Marsmallow?

    @domanskiy
    Очень помогло использование метода SQLAlchemyAutoSchema в последней версии flask-marshmallow
    Сам генерирует схему )

    class DieCutSchema(ma.SQLAlchemyAutoSchema):
        class Meta:
            model = DieCut


    @api.route('/diecuts')
    def index():
        items = DieCut.query.all()
        items_schema = DieCutSchema(many=True)
        result = items_schema.dump(items)
        return jsonify(result)
    Ответ написан
    4 комментария
  • Как привлечь провайдера к ответственности?

    @egn_onegin
    Всем участвующим в беседе доброго времени суток!
    Зарегистрировался исключительно из-за данного поста.
    Небольшое лирическое отступление: работаю в support регионального isp, в связи с чем приходится постоянно общаться с подобными всезнающими геймерами.
    Поскольку предварительно я почитал ответы автора сабжа на некоторые комментарии аудитории, то отвечать постараюсь максимально доступным языком.

    morfianes
    Согласно предоставленной тобой лично трассировке winmtr (по хопам):
    1. твой роутер;
    2. какой-то неизвестный провайдерский хост, предположительно, закрытый по icmp;
    3. очередной хост на сети твоего провайдера (возможно, промежуточный коммутатор или иное, предположительно, активное сетевое оборудование);
    4. gateway твоего провайдера, с которого тебе непосредственно предоставляется доступ во-вне (в интернет) - на этом ЗО (зона ответственности) твоего провайдера ВСЕ!!!
    Вот, лять, прямо вообще ВСЕ, от слова СОВСЕМ!!!
    5. ЗО вышестоящего оператора!!!
    и т.д.

    Ты молодец!! Красава!! Ресспектую!!
    Нагуглил, а может и в Яндексе поискал и нашел, 2ip.ru на котором "пробил" принадлежность проблемного, по твоему мнению, ipшника, а именно 94.25.8.129, и, казалось бы, вот ОНО!!!
    Ipшник находится в адресном пространстве, принадлежащем твоему провайдеру, но...
    Правильно - ничего!!!
    Вот, лять, прямо вообще НИЧЕГО!!! От слова СОВСЕМ!!!

    Тот, факт, что, согласно нарытым тобой данным, ipшник принадлежит Ростелекому, ну, т.е. твоему провайдеру, вообще ни о чем не свидетельствует.
    Как правильно заметил support Ростелекома, о чем и тебе сообщил, ты даже скриншот с перепиской скинул, но головой подумать дальше видимо чего-то не хватило.

    Согласно данным whois, ресурс с этим ipшником находится в сети Prestig_Internet.
    Ничего не смущает, не?!

    А теперь так же банально, как ты 2ip.ru разыскивал, берем и гуглим, ну Яндексом пользуемся, (тебе что удобнее??) Prestig_Internet и первой ссылкой, по каким-то причинам, enforta.ru.
    Немного странно, конечно, но и к этому вскоре подойдем.

    Чуть ниже в результатах поиска, хотя... не утруждайся - прикладываю ссылку: https://www.list-org.com/company/704092
    Сам же ты все равно не найдешь.
    Переходим по ссылке, читаем и, о Боже!!, выясняем для себя следующее:
    - Организация ООО "ПРЕСТИЖ-ИНТЕРНЕТ"... наверное имеет прямое отношение к сети Prestig_Internet, по крайней мере это вполне логично предположить.

    По всей видимости у ООО "ПРЕСТИЖ-ИНТЕРНЕТ" в свое время не хватило адресной емкости, в связи с чем у Ростелеком, да-да, именно у твоего провайдера, просто напросто был куплен ipшник.
    Вот так просто!!! Взяли и купили у Ростелеком ipшник, прикинь, ля!!!
    Однако, полагаю, что данный ipшник Ростелеком просто взял и "зажал", т.е. данный адрес не является PI, т.е. провайдеро-независимым, но это ты потом загуглишь, ну или в Яндексе найдешь.
    По факту расторжения договорных отношений между ООО "ПРЕСТИЖ-ИНТЕРНЕТ" и Ростелеком его (ipшник), скорее всего, придется вернуть.

    Читаем далее:
    - Статус: ПРЕКРАЩЕНИЕ ДЕЯТЕЛЬНОСТИ ЮРИДИЧЕСКОГО ЛИЦА ПУТЕМ РЕОРГАНИЗАЦИИ В ФОРМЕ ПРИСОЕДИНЕНИЯ с 01 ноября 2017 года.

    И тут, казалось бы, все мои доводы рухнули, разлетелись в пух и прах, но... х... ты угадал!!
    Листаем ниже!!
    - Правопреемники: АО "ЭР-Телеком Холдинг" (брэнды Дом.ру и Энфорта, если, вдруг, ты не в курсе).
    Теперь более понятно, при чем тут Энфорта. Если все еще не понятно - читай далее.

    Таким образом получаем следующее:
    - ipшник принадлежит Ростелеком, ибо он не является PI (предположительно);
    - железо, которое работает на этом ipшнике, принадлежит АО "ЭР-Телеком Холдинг" - на основании данных list-org.com;
    - какие отношения в разрезе данного ip адреса между Ростелеком и АО "ЭР-Телеком Холдинг" мне вот прям до звезды фиолетово.

    Могу осмелиться предположить, что маршрутизация от тебя, а по факту от твоего роутера 192.168.0.1 (D-Link, наверное), до конечного ресурса, а именно 162.249.73.10, который, как бы, тоже нихрена не у тебя под боком находится, строится по принципу OSPF... а может BGP... а может... (да, простят и поправят, в случае ошибки, коллеги по цеху).
    Что такое OSPF/BGP потом загуглишь, ну или в Яндексе найдешь.
    Если не найдешь, привлекай Rambler к содействию.
    Конечно, мои предположения к фактически используемой маршрутизации на сети твоего провайдера, а так же точкам обмена трафика с другими операторами связи, остаются только предположениями, но... если... вдруг...

    Итого:
    - 212.48.195.0 - граница ЗО твоего провайдера (Вот, лять, прямо вообще КОНЕЦ!!! От слова СОВСЕМ!!!), с этого момента Ростелеком тебе должен/обязан (читай, как больше нравится) чуть меньше, чем ни...чего;
    - ресурс 94.25.8.129 фактически принадлежит АО "ЭР-Телеком Холдинг", несмотря на то, что ipшник находится в адресном пространстве Ростелеком, контакты ЭР-Телеком найдешь, тут уже совсем все изи;
    - менять маршрут ради тебя одного такого пи...дельного никто не станет - хлопотно;
    - почитай/ознакомься: https://habr.com/ru/post/134892/ - доступным для понимания языком написано;

    P.S. уж слишком дохрена вас таких... "интересных", платят 500рэ за 100М, а голову выделывают...
    Ответ написан
    6 комментариев
  • Где и как хранить таблицу на 1 миллиард записей?

    Melkij
    @Melkij
    PostgreSQL DBA
    Определитесь с тем как вы будете удалять эти данные.

    3 колонки id, factor_id, parcel_id

    Данную таблицу не надо анализировать или агрегировать. Нужно только иметь возможность быстро вставить и прочитать запись.

    Очень большое сомнение что вам здесь нужен id вместо составного pk.

    увеличивается примерно на 100к записей в день

    Т.е. сейчас у вас данные за 15 лет работы и вас беспокоит что будет ещё через 15 лет? Ну просто пересчитав указанные объёмы вставки.

    В полновесном MVCC транзакционнике PostgreSQL очень маленькие строки держать несколько дорого именно по месту, заголовок строки большой.

    3 колонки id, factor_id, parcel_id

    24 да 3*8 байт если эти поля считать bigint'ами, да на лярд записей... порядка 25гб плюс-минус. Фигня вопрос вообще-то. У вас проблема-то есть? Или просто руки чешутся?
    Ответ написан
    4 комментария
  • В какую бд лучше всего записывать много логов сайта?

    WinPooh32
    @WinPooh32
    Stack Overflow answer searching expert
    clickhouse, который был специально разработан для яндекс.метрики
    Ответ написан
    3 комментария
  • Требования к Django разработчику(Стек технологий)?

    1) HTML/CSS/JS - очевидно, знать нужно всем.
    2) XML/JSON - уже зависит от типа сервиса,с которыми нужно пилить интеграции
    3) Django/Django REST Framework - тут подразумевается, что либо бек отдает статику, либо бек дает апи для js-фреймворков
    4) Celery/RabbitMQ - т.е. умение делать задачи в очередь. Встречается очень часто, особенно на проектах, где надо какие-то отчеты формировать, письма отсылать и так далее.
    5) Elasticsearch/PostgreSQL - на маленьких проектах поиск делают прямо через постгрес, на больших уже юзают эластик.
    6) Общее знакомство с библиотекой Python
    7) Deploy: nginx / uwsgi (Gunicorn) / postgres - но зависит от проекта, на больших - это не твоя боль.
    ___

    Дополнительно спрашивают: Flask (Сейчас мода идет на микросервисы)/Tornado/Twisted/Aiohtp - это уже зависит от конкретных вакансий.

    Дополнительно требуется: 1-2 года опыта на php/ruby/node.js/java/.net - к сожалению, Python - это не php, тут не пилят говно на коленке за день, тут делают какие-то большие проекты с датой, интеграциями и прочее. Поэтому изначально предъявляют к кандидатам более высокие требования. В том числе опыт работы на Питоне, либо на похожем стеке.
    Ответ написан
    6 комментариев
  • Как из Qt приложения под Android передавать информацию в самодельное устройство по USB?

    NeiroNx
    @NeiroNx
    Программист
    Если доступен Android API то так https://habr.com/ru/post/277093/
    Ответ написан
    Комментировать
  • Книги для изучения opengl?

    UberSchlag
    @UberSchlag
    быдлокодер-плюсовик
    Побуду кэпом: бояться ошибиться - ничему не научиться. Бойтесь лучше нерешительности и топтания на месте. По своему опыту скажу: наломав дров можно хоть опыт получить, а долго колеблясь ничего, кроме беспокойства не создашь. Так что дерзайте:
    0) Для самого старта можно взять не книгу, а этот сайт и быстро впрячься в modern OGL и практику. Это если с английским нормально, если не очень - есть цикл на хабре, первая статья тут. После такого быстрого старта конкретику можно подтягивать по более академичным трудам.

    Следующие книги все перечисляю из собственного архива, а он, увы, весь в оригинале. Поиск переводов ложится на плечи ищущего)
    OpenGL
    1. OpenGL Programming Guide 9th edition. Тот самый Red Book, его уже упомянули: классический выбор и всеобъемлющий обзор OpenGL 4.5.
    2. OpenGL Superbible 7th edition. Объемная книга, затрагивающая многие аспекты OGL, в том числе новьё из релиза 4.6. Но изложение местами рваное или приведенные листинги не вполне отвечают описательному тексту или коду примеров с гитхаба. Все одно вещь полезная.


    GLSL
    1. OpenGL Shading Language 3rd Edition. Брат-близнец Red Book в приложении к GLSL.
    2. OpenGL 4 Shading Language Cookbook 2nd Edition


    Этого хватит для серьезного копания) А дальше по мере возможностей и интереса - блоги спецов, публикации с GDCVault, SIGGRAPH, GDC и прочая)
    Ответ написан
    Комментировать
  • Где можно пройти хорошие онлайн курсы по DevOps?

    thiago_alvarez
    @thiago_alvarez
    Student
    Мне кажется девопсом становятся только на практике
    Ответ написан
    Комментировать
  • Какой CMS движок учить начинающему?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Никакой. Изучайте разработку ПО, языки программирования, построение архитектуры ПО, алгоритмы, математику и т.д и т.п.

    UPD
    Приведу немного аргументации и очевидных вещей для тех, кто не понимает почему ответ именно такой. На самом деле все очень просто: в IT индустрии все развивается и меняется очень, очень-очень быстро. И как следствие возникает проблема устаревания знаний и умений. Вот например 15-20 лет назад изучение языка программирования под названием "Дельфи" и популярной тогда его среды разработки для дестктопных приложений вполне имело смысл и было популярным явлением, т.к. оно тогда довольно широко использовалось, или например Perl для создания сайтов. А где оно сейчас? Почему сегодня сайты пишутся на джаваскрипте? А как на счет десктопных приложений? А ведь те же десять лет назад попробуй скажи такое — как бы область деятельности не пришлось менять. И вот такое происходит просто с языками программирования за довольно короткое время. А основа любого CMS, фреймворка и иже с ними — это как раз таки язык программирования. И вот за время жизни языка программирования в нём случаются новые стандарты, изменения и прочее, а популярное ПО на нём переписываются десятки и сотни раз. Т.е., изменчивость продуктов какого либо языка зависит как от самого языка так и от его популярности. И чем они выше — тем чаще что-то меняется. Из всего этого вытекает очень логичный вывод: в долгосрочной перспективе выгоднее те знания, которые не устареют как можно дольше. И вот тут как раз таки знания разработки ПО и языков программирования, построения архитектура, алгоритмы и прочее имеют наибольший срок устаревания. А уж сколько тысяч лет математике можно и не вспоминать. А она, кстати именно благодаря стремительному развитию IT тоже развивается очень быстрыми темпами. Так вот, при наличии вот таких фундаментальных знаний можно легко и быстро осваивать любые новые фреймворки, CMS, языки программирования и прочее. А уж при наличии подробных мануалов, гугла, форумов и прочего большинство задач сводится тупо к вбиванию "как сделать YYY в ZZZ" в строке поиска (я вот например никак не могу понять ход мыслей людей, которые задают вопросы на форумах и прочих ресусах, ответ на которые выдается в первых же строчках гугла, складывается впечатление, что они вообще первый раз в интернете и про гугл не знают вообще ничего).
    Если есть желание именно в изучении CMS — ставим себе задачу и решаем её используя разные CMS, далее выбираем наиболее понравившуюся и пользуемся пока не надоест или не устареет. А после — повторить.

    Немного перефразирую сам вопрос и соседний популярный ответ:
    — Каким инструментом учиться пользоваться начинающему строителю?
    — Учись использовать молоток и гвозди, леса полно, доски везде используются.
    Вот только строительство — это не одни только доски, в которые забиваются гвозди, а еще архитектура, сопромат и иже с ним, экстерьер, интерьер, отопление, освещение, канализация, вентиляция и еще куча всего. Аналогично и во всех остальных областях, в том числе и web разработке.
    Ответ написан
    9 комментариев
  • Как запретить копировать (сохранять) файлы с сайта?

    amark
    @amark
    rush less, feel more
    Для чего вам это? Вы разработали новую инновационную систему, у которой нет аналогов? И вам кажется, что ваш гениальный скрипт кто-то украдет и наживется на этом?

    Если да, то сделайте тройную обфускацию скриптов; а всё, что можно выполнить на сервере, вытаскивайте из скриптов и передавайте в работу на сервер.

    Однако, что-то мне подсказывает, что вам просто показалось, что кому-то есть дело до ваших скриптов и стилей. Так может лучше потратить своё время на что-то более приятное? Выучить новый язык или фреймворк, например))
    Ответ написан
    10 комментариев
  • Ресурсы для изучения python и django?

    @tonedin
    NodeJS разработчик
    Могу посоветовать Codecademy, у них есть бесплатный интерактивный курс (пишешь и проверяешь код прямо в браузере) по второму питону. По третьему к сожалению платно, но думаю это того стоит
    Ответ написан
    Комментировать
  • Какую можете посоветовать литературу по взлому и пентесту веб сайтов?

    @uroot
    Да какая литература? Она выходит уже устаревшей. Форумы и только форумы: античат, эксплоит и другие. Читайте статьи и пробуйте. Не получается - задавайте вопросы на форумах.
    Вам нужно понять как работают такие вещи, как:
    1. SQL-injection
    2. PHP-injection
    3. XSS
    4. CSRF
    5. LFI
    6. RFI
    7. Эксплойты (поиск и эксплуатация)
    8. Научится работать со сканерами (особенно Metasploit)

    Как научитесь находить и раскручивать вышеупомянутые, как самые популярные, виды атак, можете заявить, что что-то знаете. В процессе познакомитесь с кучей других видов уязвимостей, их разнообразием.
    Ответ написан
    Комментировать
  • Как избежать дублирования кода в проекте с использованием Flask-RESTplus + Marsmallow?

    xSkyFoXx
    @xSkyFoXx
    В продолжение к комментариям:

    Мне кажется вы переусложняете приложение.

    На начальном этапе разработки вы можете абстрагироваться от авторизации и мыслть в терминологии дизайна и кодинга API. Ваши API методы будут "обогощать" результат выборки из базы данных, для которого вы можете написать себе ровно один небольшой хелпер, который будет пребразовывать ответ из БД в словарь и затем возвращать этот словарь, обёрнутый в jsonify.

    Следующий шаг - это Token-Based Authentication. Для неё вы пределываете отдельные ручки, которые выдают или не выдают вашему клиенту токен. В идеале - требуемая модификация вашего основного API - это декоратор авторизации к классу или функциям.

    Документация - отдельный вопрос. Я противник свагера, так как с ним мой Python код начинает походить на код на JavaScript.
    Ответ написан
    Комментировать
  • Требуемый уровень знания для работы Juniour Python Developer?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Требуемый знаний для адекватного джуниора - хотя бы уметь пользоваться поиском.

    Неужели вы даже не попробовали посмотреть вакансии на джуниор питон девелопера, чтобы посмотреть требования для реально существующих позиций, и решили рассказать вашу историю жизни рандомным людям в интернете?

    Неужели не попробовали найти уже готовый подобный вопрос и ответы к нему? Даже на Тостере есть.

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

    Вдобавок Питон сейчас на хайпе как один из самых простых первых языков программирования, поэтому конкуренция высокая.

    Входной уровень на Python Junior Developer?
    Junior developer?
    Можно ли Junior Python Developer'ом устроиться на постоянную удаленную работу с почасовой ставкой на Elance\Odesk?
    Куда можно пойти на практику или на позицию trainee/junior (python, c++, java) в Харькове или Киеве? В каком направлении лучше развиваться?
    Сколько у вас ушло времени чтобы стать python junior developer?
    Из QA в Junior developer?
    Как быть Python junior?
    Куда трудоустроиться Python Junior'у?
    Какие знания нужны для Python Junior-а?
    Ответ написан
    1 комментарий
  • Какой стек технологий учить для написания собственных кросс-платформенных приложений?

    Zifix
    @Zifix
    Barbatum
    И чему не устраивает тот же Qt, который вы уже знаете?
    Ответ написан
    Комментировать
  • Программирование на C# в Linux?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Учи Qt
    Ответ написан
    Комментировать
  • Существует ли лаконичное описание математики?

    myjcom
    @myjcom
    Математика за 30 секунд
    Год: 2014
    Автор: под ред. Ричарда Брауна
    Переводчик: Карнаушко И.
    Издательство: Рипол Классик
    ISBN: 978-5-386-07012-0
    Серия: Узнать за 30 секунд
    Язык: Русский

    Математика. 50 идей, о которых нужно знать
    Год издания: 2014
    Автор: Крилли Т.
    Переводчик: Ш. Мартынова (с англ.)
    Издательство: Фантом Пресс
    ISBN: 978-5-86471-670-0
    Язык: Русский

    Магия математики: Как найти x и зачем это нужно
    Год издания: 2016
    Автор: Бенджамин А.
    Переводчик: Д. Глебов
    Издательство: Альпина Диджитал
    ISBN: 978-5-9614-4466-7
    Язык: Русский

    Удовольствие от x
    Год: 2014
    Автор: Строгац С.
    Издательство: Манн, Иванов и Фербер
    ISBN: 978-500057-008-1
    Язык: Русский

    Математика без формул
    Год выпуска: 1995
    Автор: Пухначев Ю., Попов Ю.

    Беседы о математике. Книга 1. Дискретные объекты
    Год выпуска: 2002
    Автор: Болтянский В.Г., Савин А.П.
    Жанр: Математика
    Издательство: МЦНМО
    ISBN: 5-94057-040-2
    Язык: Русский

    Мало ли...
    Логарифмическая линейка
    Год издания: 1958
    Автор: Кущенко В.С.
    Жанр или тематика: Математика
    Издательство: Судпромгиз
    Язык: Русский

    Счётная линейка
    Год выпуска: 1967
    Автор: Румшиский Лев Зимонович
    Издательство: "Наука"
    УДК: 681.143:518.5
    Язык: Русский
    Ответ написан
    Комментировать
  • Что лучше локальные файлы или БД?

    sim3x
    @sim3x
    и недавно узнал, что html шаблоны можно кодировать в base64 и хранить в бд MySQL
    а теперь забудьте.

    В здравом уме никто
    - не кодирует хтмл в бейз64
    - почти никто не хранит шаблоны в БД

    Шаблоны следует хранить в файлах, так как так их можно поместить в гит и следить за их изменениями
    Ответ написан
    Комментировать