Ответы пользователя по тегу Веб-разработка
  • Стоит ли разделять 1 общий запрос на несколько маленьких?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Сделайте уровни абстракции, чтобы "копии" контроллеров были прозрачными и соответствовали принципу DRY. Тогда у вас и быстро всё будет и гибко. Будут и отдельные методы для получения запчастей и комбинированные для скорости.
    Однако помните, что преждевременная оптимизация - зло. Сделайте MVP и держите в голове, что, возможно, придётся вводить уровни абстракции и делать отдельные контроллеры для скорости. Не исключена вероятность, что скорости вам хватит и так, а оптимизация на ранних этапах отъест лишние деньги и время, которые можно было потратить на полезные фичи, чтобы соблазнить инвесторов.
    Ответ написан
    1 комментарий
  • Как сделать интерактивную картинку на сайт?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    В данном случае всё реализовано на SVG:
    5ea948936bc80480776489.png
    Причем подложка с комнатами отдельно, объекты вроде мебели отдельно. Всё будербродом лежит на странице и управляется яваскриптом.
    Ответ написан
  • Как создать сайт, чтобы в нем можно было программировать на python?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Воспользуйтесь готовым.
    А свой сделать - очень нетривиальная задача. Основная проблема в изоляции и совместимости.
    Вам нужно с одной стороны заблокировать все возможности выбраться из "песочницы" и навредить машине, в которой запущен интерпретатор или предотвратить попытки некотролируемой рассылки спама и порнухи с ваших серверов.
    С другой стороны после блокировки всего опасного вам нужно сохранить возможность запускать безвредные программы так, чтобы их не приходилось допиливать под ваш урезанный под песочницу питон.
    Обе задачи нетривиальны, нужно вникать в особенности внутренней кухни интерпретатора, в детали стандартной библиотеки и особенности операционной системы.

    1. Гуглите "python sandbox".
    2. Конкретизируйте задачу. Какой код вы хотитезапускать, хотите ли подключать сторонние библиотеки, а бинарные библиотеки?
    Ответ написан
    3 комментария
  • Как организовать работу над проектами из любого места?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Вы, видимо, не так понимаете суть современных систем контроля версий.
    1. Вы настраиваете работающее окружение на работе и дома.
    2. Делаете клоны проекта на работе и дома.
    3. Работаете над проектом, каждое осмысленное изменение коммитите и время от времени отправляете в центральный репозиторий на гитхабе. Каждый раз приступая к работе обновляете локальный клон и продолжаете работать. Если фича требует много изменений, то вы можете сделать несколько коммитов в отдельную ветку и залить ветку на сервер. На другом компе вы тоже можете работать с этой веткой. Ветка лично ваша. У вас может быть много веток. Когда закочите работу над фичей - подольёте изменения в мастер.
    Ответ написан
  • Как можно get запрос превратить в POST?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Плохая идея.
    Но вы можете сделать любой, в том числе и POST запрос с помощью CURL.
    Ответ написан
  • Какие технологии использовать для пересылки данных клиент - сервер - клиент?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Если вы хотите замутить что-то вроде многопользовательского редактора, как в docs.google.com, то пересылать вам надо не куски кода, а события вида:
    • перемещение курсора
    • вставка текста в позицию
    • выделение блока
    • удаление блока

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

    Как вам уже предложили, имеет смысл использовать WebSocket для этой задачи, но технически вам ничто не мешает использовать и WebRTC. Второй вариант сильно сложнее, зато потенциально быстрее, работает в пиринговом режиме, не загружает сервер.
    Сам факт вашего вопроса подсказывает мне, что правильно реализовать все это у вас не хватит опыта.
    Попробуйте упростить требования и начните с того, что умеете. Аякс умеете -- делайте с ним. всё равно десять раз перепишете в процессе получения опыта и пересмотра архитектуры. Зато у вас уже будет MVP и понимание хотите ли вы вообще этим заниматься и потянете ли.
    Ответ написан
    Комментировать
  • Хочу сделать сайт для игры в шахматы, django на бекенд подойдет?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    django подойдёт.
    С ним в комплекте вы получите админку, регистрацию, авторизацию.
    Нетрудно найти готовые хорошие модули для джанго с чатом на веб-сокетах.
    Есть готовые джанговские модули OAuth и всякие интеграции в соцсеточки.
    Ответ написан
    Комментировать
  • Как реализовать прием callbackов, по сути прием и запись в БД параметров get запросов?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Ну так себе идея делать запись в БД по GET запросу.
    GET запрос не предназначен для изменения состояния бэкенда, а запись -- это и есть изменение состояния.
    Вам определённо нужны POST запросы.
    Обработать их можно каким-нибудь микрофреймворком типа Flask или Bottle.
    В качестве БД рекомендую MongoDB.
    По факту приёма запроса валидируете его и, если всё нормально, словарь параметров чистите от ненужных и добавляете в коллекцию.
    Ответ написан
  • Сложный и интересный проект для новичка?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    ## Анонимный чат с темами для обсуждения деликатных офисных проблем
    Иногда хочется обсудить что-то с коллегами в офисе, но не хочется смущать их или показывать лишнюю инициативу.
    Например кто-то не смывает в туалете или слишком громко орёт и сам того не замечает. Может быть кто-то слишком интенсивно пользуется парфюмом.
    - Анонимность
    - Постоянная ссылка на чат, тему или дерево чатов
    - ссылки в виде QR-кодов
    - голосовалка
    - закрепленные посты

    ## Сайт checklist
    Веб-сервис и мобильное приложение для краудсорсинга чеклистов для всего: зарегать ИП, получить визу, что делать при ДТП, как влезть в ипотеку, как вылезть из неё, чем заняться с ребенком на выходных (N-ле

    - Коллекция чек-листов снабженных тегами, доступная для краудсорсинга.
    - Краудфандинг составления и поддержки нового листа.
    - Фильтрация чек-листов.
    - Фильтрация пунктов.
    - Тегирование пунктов.
    - Графовые алгоритм обхода чек-листа.
    - Мастер обхода чек-листа.
    - Отчет по чек-листу.
    - Вложенные чеклисты, гиперссылки между разными листами.
    - Параметризация.
    - Экспертная система, логические связи (расширенный режим).

    Примеры:
    - Что делать при ДТП
    - Открыть ИП
    - Осмотр авто при покупке (подветки для разных конкретных моделей)
    - Первая помощь при...
    - Диагностика инсульта
    - Зомби-акопалипсис: как приготовиться
    - Атомный взрыв неподалёку - что делать
    - Планетарная катастрофа - как выживать
    - Поход выходного дня - что взять
    - Подготовка авто к поездке
    - Путешествие: Алжир (виза, прививки, документы, отели, транспорт)
    - Как влезть в ипотеку
    - Как вылезть из ипотеки
    - Как быстро заработать (во все тяжкие)
    - Покупка квартиры (на что обратить внимание)
    - Самостоятельное строительство дома (общий план)
    - Чем заняться с ребёнком N-лет
    - Как отметить новый год
    - Что интересного в районе <пос. Майский>
    - Номера телефонов и документы в автомобиле

    ## Эротический краудфандинг
    Интернет ресурс, где девушки могут делать крауд-фандинговые кампании

    - Крауд-фандинговая кампания по сбору средств на проект
    - оформление проекта (доказательство личности в виде фото с сигном, некое обещание, порог недовольных результатом, целевая сумма)
    - посетители анонимно финансируют проект в биткоинах
    - если кол-во лайков среди профинансировавших (в соответствии с весами) > порогового, учредитель получает сумму за вычетом комиссии
    - если кол-во лайков не превысило порог, сумма возвращается обратно инвесторам

    ## Простой открытый сервис для обмена сообщениями
    - HTTP API, Web-sockets
    - p2p rtsp
    - опциональное end-to-end шифрование
    - хранение истории на клиентах
    - возможность использования нескольких серверов
    - возможность использования альтруистичных клиентов для проксирования трафика p2p
    - поиск узлов на основе блокчейн технологий и DHT таблиц

    ## Онлайн-журнал путешествия
    - публикация трека в реальном времени
    - комментарии путешественника и фолловеров
    - стримы (аудио, видео, фото)
    - отложенная загрузка
    - журнал(расходы, чек-поинты, расписания, цены, погода)
    - FAQ
    - голосовалка

    ## Поэтический онлайн редактор
    - выбор стопа, стиля и жанра
    - шаблон с плейсхолдерами, разбивающий текст на слоги
    - облако рифм
    - подражающий автогенератор
    - многосегментный словарный банк (дифференциально-слоистая древовидная структура, своя специфика в верхнем слое, поэлементное ранжирование сегментов)
    - тезаурус
    - словарь сочаетаемости
    - N-граммы поэзии по авторам и стилям
    - корпус поэзии
    Ответ написан
    13 комментариев
  • Сколько будет стоить разработка системы организации грузоперевозок?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Действительно, вопрос весьма расплывчатый и аналогия со строительством дома очень в тему. Однако, сразу спрашивать ТЗ у потенциального заказчика или его представителя -- это не гуманно.
    Как правило, люди, далёкие от этой производственной сферы, слабо представляют себе глубину и фрактальную сложность проекта. Они привыкли видеть готовый продукт, который урчит и бибикает, которым относительно просто и удобно управлять. Из-за этого складывается впечатление, что и сделать такую штуку несложно. Однако, для реализации всей этой внешней простоты и удобства под капотом крутится много сложных механизмов, за которыми кроются тысячи человеко-часов работы огромного количества специалистов. И эти Тысячи часов только на первом слое, а глубже ещё большее количество людей миллионами человеко-часов прокладывали путь техническому прогрессу.

    Теперь по существу. Чтобы сделать оценку стоимости проекта, вам нужно поговорить в диалоговом режиме с несколькими независимыми (друг от друга) разработчиками, имеющими опыт участия в подобных проектах. Эти разработчики, если будут заинтересованы в получении заказа, не спросят у вас ТЗ, а зададут множество вопросов, с каждым из которых они смогут всё более точно сузить вероятные ценовые рамки реализации проекта.
    Лично я бы в первую очередь спросил:
    - Кто получит авторские права на разработанный продукт?
    // Если вас устраивает получение рабочего экземпляра продукта с поддержкой, а получать авторские права на него и тиражировать вы не собираетесь признав его собственностью разработчиков, то такая программа обойдётся вам гораздо дешевле. Всё будет упираться в степень специфичности продукта, но в целом от вас, возможно, потребуется лишь инвестировать какую-то сумму в разработку. В данном случае руководитель команды разработчиков задаст вам ещё кучу вопросов, оценит количество человеко-часов работы специалистов, которых нужно задействовать, и выдаст некую сумму, вклад в которую вы будете обсуждать с ним поторговавшись=).
    - Какая функциональность требуется от клиентского приложения? (GPS, навигация, сканирование штрих-кодов, NFC,
    - и т.д.
    Короче поговорить надо с несколькими подрядчиками и всё прояснится.
    Ответ написан
    Комментировать
  • На чем лучше писать программу?

    trapwalker
    @trapwalker
    Программист, энтузиаст

    Я бы посоветовл python. Порог вхождения не высок, а развить вашу идею можно до даже до локального веб приложения на джанго

    Ответ написан
    Комментировать