Ответы пользователя по тегу Веб-разработка
  • Какие подходы позволят написать зашифрованный сайт, у которого нельзя расшифровать код?

    VoidVolker
    @VoidVolker
    Разработчик ПО и IT-инженер
    Не существует кода, который нельзя расшифровать - иначе, это не шифрование. Все что может быть расшифровано - может быть расшифровано. Вопрос лишь во времени и ресурсах. Просто потому, что защита отстает от атаки на один шаг. Защититься от неизвестной атаки невозможно. В целом же, либо используете любой компилируемый ЯП и стандартные механизмы обфускациии и шифрования полученного бинарного файла либо сами пишете свой компилятор/обфускатор/шифровальщик. Примера ради посмотрите на историю попыток защиты игр - все популярные игры через несколько дней/недель/месяцев оказываются на торрент-трекерах для свободного скачивания и игры.
    Ответ написан
    2 комментария
  • Как защитить приложение на js+php пока не заплатили?

    VoidVolker
    @VoidVolker
    Разработчик ПО и IT-инженер
    1. Развернуть приложение полностью на 100% на своем сервере, а код разместить в своем приватном репозитории.
    2. Показать клиенту, что все задачи выполнены по ТЗ.
    3. Получить оплату на 100%.
    4. Разместить приложение на сервере клиента, а код - в его репозитории.


    Просто по договоренности оплата пойдет только после установки программы на компьютер клиента.

    Если в прошлый раз клиент кинул - что помешает ему сейчас кинуть? Просто не передавайте результат до оплаты, аргументируя это предыдущим случаем.
    Ответ написан
  • У кого есть опыт работы с тендерами на создание сайта для гос. структур?

    VoidVolker
    @VoidVolker
    Разработчик ПО и IT-инженер
    Забудьте. Во-первых: на денежных тендерах почти всегда договорняк и откатняк. Во-вторых: даже если выиграете что-то - времени потратите в 10 раз больше, а реальной работы будет несколько процентов: а все остальное - документация в соответствии с гостами (в печатном виде и тоже по гостам, да), вероятно даже древними и абсолютно бесполезными в настоящее время, бесчисленные согласования через десяток человек, которые сам ничего не понимают и не знают, асбурдные требования и еще куча других веселых приключений. Ну а по итогу могут вообще остаток суммы не заплатить по каким-то причинам - ту не так, это не эдак, или вообще "денег нет".
    Ответ написан
    Комментировать
  • Что за специальность - HTML5 Developer?

    VoidVolker
    @VoidVolker
    Разработчик ПО и IT-инженер
    Верстальщик.
    Ответ написан
    Комментировать
  • Делегирование обязанностей между Frontend и Backend разработчиками, на чьей стороне должна выполняться та или иная работа (Подробнее в деталях)?

    VoidVolker
    @VoidVolker
    Разработчик ПО и IT-инженер
    Как правильно разделить обязанности между фронтенд и бэкэнд разработчиками в 2022 году?

    Сделать декомпозицию всего проекта в несколько интераций, далее правильно его структурировать и спроектировать архитектуру, которая будет решать поставленные перед проектом задачи и соответствовать его требованиям. Архитектуру разрабатывает/разрабатывают архитектор и/или тим- и тех- лиды. И вот когда на руках будет исчерпывающее ТЗ со всеми деталями - на этом этапе тимлид и прожект-менеджер создают задачи для фронт-энда и для бэкэнда. При этом, выставляются взаимосвязи и блокировки задач: например, "список пользователей в админке" для фронта, зависит от "базовое API для управления пользователями" для бэка, если задача для фронта требует каких-то дополнительных точек API - просто создается подзадача для бэка типа "поиск пользователя по всем полям учетной записи". И такие подзадачи не просто могут быть, они однозначно будут и надо просто учитывать этот момент.

    То же касается и функциональности сортировки, фильтрации, поиска и так далее.
    Есть ли смысл делать это все на сервере?

    Конкретная реализация зависит от задач. Если данных мало и их можно быстро передать - то да, удобнее на клиенте обрабатывать, если данных много - то на сервере, при этом сделать кэш и группировку для горячих данных для ускорения. Приведу реальный пример из практики (тыц): была задача сбора и отображения статистики использования десятки терминальных серверов на нескольких сотен пользователей. От каждого активного пользователя по несколько сотен точек в день, десяток машин. И для каждой машины и для каждого пользователя надо было сделать график и чтобы все это можно было быстро и удобно просмотреть. Десятки и сотни мегабайт данных - сотни тысяч точек за несколько месяцев. На одной странице. Все данные хранятся в БД, горячие данные - в кэше памяти, аппроксимация точек для разных периодов времени за 3 месяца, быстрые фильтры для получения данных для построения графика с нужной точностью за выбранный период. Т.е., фронт говорит "дай данные за такой-то период для такого-то сервера/пользователя" - бэк быстро фильтрует нужное среди нескольких сотен мегабайт данных и отдает от нескольких десятков до нескольких сотен КБ.
    Ответ написан
    Комментировать
  • Как построить fullstack приложение?

    VoidVolker
    @VoidVolker
    Разработчик ПО и IT-инженер
    а как эти данные из джсона перенести в бд?

    какой далее мой алгоритм действий

    Очень просто:
    1. Устанавливается и настраивается СУБД (в вашем случае для простоты подойдет MongoDB)
    2. В серверной части устанавливается пакет Mongoose для работы с монгой
    3. Пишете простой скрипт: загрузить JSON в память и сохранить данные в монго, используя Mongoose

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

    в целом трудность в понимании баз данных

    Хороший повод пойти и почитать про основы БД, СУБД, как и зачем это все придумано и используется, а так же какие задачи оно решает.
    Ответ написан
    Комментировать
  • Как связать кардридер и вебприложение?

    VoidVolker
    @VoidVolker
    Разработчик ПО и IT-инженер
    Устанавливается драйвер терминала и используя SDK, предоставляемый производителем или же используя предоставляемый драйвером какой-либо стандартный интерфейс разрабатывается программа, которая берет данные с терминала и взаимодействует с вашей инфраструктурой.
    Ответ написан
    Комментировать
  • Как создать интернет магазин с админкой?

    VoidVolker
    @VoidVolker
    Разработчик ПО и IT-инженер
    1. Написать ТЗ
    2. Сделать декомпозицию: разбить крупные задачи на более мелкие и повторить несколько раз, пока не станет известен каждый пункт
    3. По результатам декомпозиции написать частное ТЗ со всеми деталями
    4. Далее реализовывать ЧТЗ по пунктам, пока не закончатся
    Ответ написан
    Комментировать
  • Какой стек технологий выбрать для разработки экосистемы проектов?

    VoidVolker
    @VoidVolker
    Разработчик ПО и IT-инженер
    Тот, который знает ваша команда специалистов. Ну или вы готовы финансово вложиться в команду и обучить их какой-то новой технологии и в дальнейшем зарабатывать используя данную технологию по тем или иным причинам. Если ваша команда не может сделать данный выбор - в вашей команде не хватает техлида, который обладает достаточной компетенцией для выбора стека под ваши задачи. Для начала - составьте полноценное техническое задание во всеми спецификациями, требованиями и ограничениями, а далее наймите специалиста/консультанта, который сделает выбор в сторону наиболее подходящей технологии под ваши задачи и поможет команде в реализации вашего проекта. В рамках текущего описания задачи под ваши требования подходит абсолютно любой стек.
    Ответ написан
    Комментировать
  • Какой фреймворк выбрать для создания многостраничного сайта?

    VoidVolker
    @VoidVolker
    Разработчик ПО и IT-инженер
    Тот, который знаете или хотите изучить и который подходит под ваши задачи. Определить с целями, задачами и ограничениями и уже по ним выбирайте подходящий фреймворк.
    Ответ написан
    Комментировать
  • Как узнать нужный шрифт с макета?

    VoidVolker
    @VoidVolker
    Разработчик ПО и IT-инженер
    Обратиться к дизайнеру/заказчику. Лайкфонт, говорит что это Vremena Grotesk Bold Regular. Кроме того, есть еще куча других сервисов для поиска шрифтов по картинке.
    Ответ написан
  • Многостраничный сайт как делают?

    VoidVolker
    @VoidVolker
    Разработчик ПО и IT-инженер
    Так же, как и одностраничный, но страниц больше одной. Времени требуется в зависимости от объема функционала, требуемого к реализации.
    Ответ написан
    Комментировать
  • Какое решение выбрать, чтобы можно было создать структуру организации и поддерживать её?

    VoidVolker
    @VoidVolker
    Разработчик ПО и IT-инженер
    DokuWiki, Redmine с плагинами или все вместе, если надо много всего и сразу.
    Ответ написан
    Комментировать
  • Как вставить код в сайт?

    VoidVolker
    @VoidVolker
    Разработчик ПО и IT-инженер
    Ответ написан
    Комментировать
  • Будкемп или курсы?

    VoidVolker
    @VoidVolker
    Разработчик ПО и IT-инженер
    Если есть желание научиться программированию - то просто берешь и сам начинаешь учиться. К сожалению, большинство платных курсов - пустышка, даже в ВУЗах большая часть тоже. Все необходимое есть бесплатно в сети. В целом это выглядит примерно так: ставится простая задача и с помощью гугла, мануалов, статей, вопросов на форумах и прочего ищется её решение и применяется. Например, написать скрипт автоматизации своей ежедневной деятельности, сделать простой калькулятор, задеплоить статический сайт на сервер, и т.д. и т.п. от простых задач к сложным. В процессе решения задачи параллельно изучается как именно и почему именно так оно делается, а не иначе. Ну и конечно следует изучить матчасть: как работает ПК, процессор, сети, как создаются и работаю сами языки программирования - понимание базиса в значительной степени облегчает понимание почему именно так, и не иначе. Зачем нужна куча разных видов переменных, типов, классов, в чем отличие процедуры от функции, а абстрактного класса от интерфейса и прочее. Самостоятельное обучение - это ежедневная рутина любого успешного программиста, т.к. каждый день выходят новые библиотеки, фреймворки, новые версии ЯП, постоянно приходится читать кучу документации, проводить исследования, анализировать и много-много всего прочего. Ощущаешь себя бегущей Алисой, только чтобы оставаться на месте.
    Ответ написан
    Комментировать
  • Как можно при помощи HTML-кода управлять виртуальной клавиатурой в Windows-стендах?

    VoidVolker
    @VoidVolker
    Разработчик ПО и IT-инженер
    Гуглите по фразе JS keyboard и вставляете код клавиатуры в форму. В самой винде просто выключаете виртуальную клавиатуру в настройках системы.
    Ответ написан
    Комментировать
  • Как реализовать лучше взаимодействие C# Forms приложение с браузером CefSharp и сайтом в нем?

    VoidVolker
    @VoidVolker
    Разработчик ПО и IT-инженер
    Лучше всего использовать NWJS для таких задач.
    Ответ написан
    Комментировать
  • Есть вакансии вообще по ускорению сайта?

    VoidVolker
    @VoidVolker
    Разработчик ПО и IT-инженер
    Ускорение работы сайта — это не вакансия, а конкретная задача, которая выполняется в конкретных условиях и, обычно, является частной подзадачей более крупных задач типа оптимизации сайта или устранении проблем в работе сайта. Обычно выполняется один раз и далее по метрикам процесса работы сайта вносятся мелкие правки. Кроме того, для того, чтобы выполнить ускорение сайта надо понимать полностью весь процесс работы сайта, а так же процессы разработки сайта, применяемые технологии, фреймворки, языки программирования и прочие инструменты. Так что вряд ли кто-то будет нанимать человека на конкретно одну эту задачу. Разве что в какой-то крупной компании/студии, у которой есть постоянный поток таких задач.
    Ответ написан
  • Какой CMS движок учить начинающему?

    VoidVolker
    @VoidVolker
    Разработчик ПО и IT-инженер
    Никакой. Изучайте разработку ПО, языки программирования, построение архитектуры ПО, алгоритмы, математику и т.д и т.п.

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

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