• Как грамотно организовать проект на Django (приложения, шаблоны, статические файлы)?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    Есть замечательная книга "Two Scoops of Django 1.8" (best practices), легко гуглится. Книга не переведена на русский, но читается легко. В ней описаны практические решения выше обозначенных вопросов по организации проекта и много чего еще интересного и правильного.

    А вообще, Django позволяет переорганизовать проект по удобной разработчику схеме и делается это достаточно просто.

    Обычно я делаю вместо папки главного проекта - папку config (с файлом settings.py), так же идет общая папка с шаблонами (которые разбиты по приложениям), а логические части проекта разбиваю на приложениям.

    Выглядит все примерно так:

    ./manage.py
    ./config/
    ./config/settings.py
    ./config/ursl.py
    ./templates/blog/
    ./templates/blog/base.html
    ./templates/blog/about.html
    ./templates/accounts/
    ./templates/accounts/login.html
    ./templates/accounts/registration.html
    ./acccounts/
    ./acccounts/urls.py
    ./acccounts/...
    ./blog/
    ./blog/urls.py
    ./blog/...


    Но есть у меня проект, где только папка config, а все остальное - динамически создаваемый контент.
    Ответ написан
    6 комментариев
  • Как грамотно организовать проект на Django (приложения, шаблоны, статические файлы)?

    zymanch
    @zymanch
    python/django web-developer
    Обычно разделяю предметные области проекта на отдельные приложения. Если какая-то область слишком обширна, то в папке приложения создаю отдельные приложения для подобластей. Для каждого приложения - своя папка templates: это позволяет при большом количестве приложений не путаться в разросшейся иерархии директорий. Кроме того, отправляю всю обособленную статику в директории static каждого приложения: иногда для работы интерфейса пишу JavaScript приложения на Marionette - всегда знаю, где искать нужную кучу скриптов.
    Для примера: пишем проект для дилерской сети по распространению и продаже автомобилей. Получается так:
    ./project_name/
    ./project_name/settings.py
    ./project_name/urls.py
    ./project_name/static/
    ./project_name/static/css/...
    ./project_name/static/js/...
    ./project_name/static/imgs/...
    ./dealer/
    ./dealer/admin.py
    ./dealer/models.py
    ./dealer/views.py
    ./dealer/urls.py
    ./dealer/templates/
    ./dealer/templates/dealer/
    ./dealer/templates/dealer/list.html
    ./vehicles/
    ./vehicles/admin.py
    ./vehicles/models.py
    ./vehicles/logistics/
    ./vehicles/logistics/models.py
    ./vehicles/logistics/admin.py
    ./vehicles/logistics/views.py
    ./vehicles/logistics/urls.py
    ./vehicles/logistics/templates/
    ./vehicles/logistics/templates/logistics/tracking.html
    ./vehicles/logistics/static/
    ./vehicles/logistics/static/js/app/tracking/
    ./vehicles/logistics/static/js/app/tracking/main.js
    ./vehicles/logistics/static/js/app/tracking/app.js
    ./vehicles/logistics/static/js/app/tracking/...
    ./vehicles/sales/
    ./vehicles/sales/models.py
    ./vehicles/sales/admin.py
    ./vehicles/sales/views.py
    ./vehicles/sales/urls.py
    ./vehicles/sales/templates/
    ./vehicles/sales/templates/sales/invoices.html
    ./vehicles/sales/static/
    ./vehicles/sales/static/js/app/invoices/
    ./vehicles/sales/static/js/app/invoices/main.js
    ./vehicles/sales/static/js/app/invoices/app.js
    ./vehicles/sales/static/js/app/invoices/...
    ./static/
    ./media/
    ./templates/
    ./templates/base.html
    ./templates/...

    Далее по аналогии. Если нужна какая-то мелочь - отправляем ее в соответствующее "корневое" приложение; если мелочь становится более серьезным куском функционала в рамках той же предметной области - создаем ей отдельное приложение внутри уже существующего. Все, что выходит за рамки предметной области - новое "корневое" приложение.
    Ответ написан
    Комментировать
  • Есть какие-нибудь ресурсы по построению правильной серверной архитектуры на node.js/io.js?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js
    Архитектурные принципы не очень связаны именно с нодой, они будут примерно одинаковыми, на каком бы языке вы не писали. Первое, что я могу посоветовать, когда Вы переходите от технологий программирования к архитектуре систем, это как переход от кладки кирпича к архитектуре зданий - нужно отложить все шаблоны, которые Вы знали до того и подняться на другой уровень абстракции. А именно, нужно перестать мыслить такими понятиями, как DI (dependency injection), REST, MVC, ORM, RPC, шаблонизаторы, компоненты, сокеты, промисы и прочее - это все технологии. Что же нужно понять это: слои (layers), модули, контракты, адаптеры, клиент-сервер, 3-звенная архитектура, микросервисы, СМО (системы массового обслуживания), и т.д. Где так все собрано в одном месте - не могу сказать, я лично по крупицам все осваивал, на что положил 20 лет профессиональной деятельности. Почитайте про ISO/OSI, загляните в три мои статьи habrahabr.ru/post/227753 и habrahabr.ru/post/204958 и habrahabr.ru/post/117791 Раньше хорошие статьи по архитектуре были на www.osp.ru но, к сожалению, давно не читал его. Можно начать с книг Гради Буча и освоения UML, этот дядька сформировал достаточно полный подход и методологию проектирования программных систем, которая ведет правильным путем, но на практике, в каждом отдельном случае может быть заменена интуицией архитектора и существенно упрощена. Удачи!
    Ответ написан
    6 комментариев
  • Есть ли сейчас самодостаточные капчи на PHP, выглядящие круто?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Что-то вроде пройди тетрис, сокобан, арканоид или марио и получи шанс запостить коммент?!) Или проще нужно?)

    Говоря проще: PHP в браузере не запускается и круто выглядеть не может)
    Круто - может выглядеть только визуальная часть, а она - не на PHP, а на HTML5/CSS3/JS

    Что требуется-то?)
    Ответ написан
    6 комментариев
  • Как игнорировать inline стили в HTML-файле?

    zorro76
    @zorro76
    important помогает
    #tag-id{
    	display: none!important;
    }
    Ответ написан
    Комментировать
  • Как игнорировать inline стили в HTML-файле?

    twobomb
    @twobomb
    У меня работает все нормально.
    #tag-id{
    display: none !important;
    }
    Ответ написан
    Комментировать
  • Как организовать много сайтов на XAMPP?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Надо наверное править настройки апач и файл hosts, но мб есть вариант по лучше?
    Лучше поставить нормальный отдельный сервер с пассивкой на Debian или CentOS и там всё настроить.
    Ответ написан
    6 комментариев
  • Как организовать много сайтов на XAMPP?

    gr1mm3r
    @gr1mm3r
    50% ответа в правильном вопросе. Остальное мануал.
    Установка и настройка сервера XAMPP на Windows Это вам поможет. Всё с картинками и пояснениями.
    Ответ написан
    Комментировать
  • В каком веб-языке состояние приложения хранится не в сессии?

    @murlogen
    Дело не в языках.
    А в стандарте HTTP, который stateless.
    То есть хранить приходится состояние в явном виде.

    От языка сие не зависит.

    Можешь хранить в cookie в браузере,
    можешь хранить в http header или в http url,
    можешь хранить в браузерном local storage,
    можешь в базе данных или в оперативной памяти на сервере, во вспомогательном сервисе на сервере (не в вашем движке, а например в Tarantool), связывая эти записи с браузером через cookie, header или url).

    Дело не в языке PHP или другом языке.
    Во всех языка - те же варианты.

    Это стандарт http, Карл.
    Это стандарт http.
    Ответ написан
    Комментировать
  • В каком веб-языке состояние приложения хранится не в сессии?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Вариант первый - приложение состоит из скриптов, вызываемых при обращении пользователя (PHP). Очевидно, что между обращениями приложение не работает и данные о состоянии работы с пользователем ему где-то надо сохранять. Вот так и возникает необходимость сессий, а уж реализованы они могут быть как в виде файла на диске так и записью в базе данных.
    Вариант второй - приложение реализовано в виде отдельного демона и постоянно находится в памяти. В этом случае появляется возможность держать данные сессии в оперативной памяти самого приложения, но как быть, если демон придётся перезапустить? Значит и в этом случае нужно предусмотреть сохранение данных сессии на диске.
    Можно ещё каждый раз отдавать данные клиенту, чтобы он вернул их при следующем запросе, но при этом вы никак не сможете защититься от изменения этих данных клиентом в свою пользу.
    Ответ написан
    7 комментариев
  • В каком веб-языке состояние приложения хранится не в сессии?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ставьте Redis и храните на здоровье в оперативке (есть настройка "не сохранять на диск": данные будут только в оперативке).
    Пример под Win: здесь.
    Пример под *nix: здесь
    Что такое Redis и сферы применения: здесь
    Ответ написан
    1 комментарий
  • Как приостановить цикл в Java?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    По-хорошему, тяжелую логику (а вызовы sleep можно назвать тяжелой задачей, т.к. это тормозит поток, который не сможет обрабатывать события интерфейса) нужно выносить в отдельный поток (thread), GUI-поток должен вести себя пассивно и заниматься лишь взаимодействием с пользователем и запусками background worker'ов (для длительных операций).

    В вашем случае есть простой путь: разделить задачки на итерации и выполнять их по таймеру.
    Либо организовать полноценный фоновый поток, который можно будет невозбранно тормозить через sleep.

    Если английский средней школы позволяет, советую пройти вот этот туториал.
    Ответ написан
    Комментировать
  • Есть ли визуальный HTML редактор для сайта с сохранением результата?

    pOmelchenko
    @pOmelchenko
    php-developer
    db -> textahea+(tinymce/ckeditor/etc wysiwyg) -> редактируем -> update db -> update textarea
    Ответ написан
    5 комментариев
  • Есть ли визуальный HTML редактор для сайта с сохранением результата?

    @lem_prod
    То есть, если я правило понял, то текст для textarea подтягивается в бд уже вместе с тегами?

    ***
    на счет HTML не знаю, но для Markdown, есть вижет MarkdownEditor, я так понимаю, это то, что нужно, прикреплю скрин, как он выглядит.

    0bec1ed101214f798b5e89d553a5786c.png
    Ответ написан
    1 комментарий
  • Можно ли связать консольное c# приложение с веб-мордой?

    Ogoun
    @Ogoun
    Programmer
    В своих приложениях(консольные, win, сервисы) для доступа через http поднимаю self-host webAPI внутри этого же приложения. Соответственно там же можно отдавать простые веб-формы.
    Создание self-host WebAPI делается одной строкой: WebApp.Start(url: baseAddress);

    Соответственно, не нужен ни IIS, ни любой другой веб-вервер.
    Ответ написан
    Комментировать
  • Можно ли связать консольное c# приложение с веб-мордой?

    petermzg
    @petermzg
    Самый лучший программист
    Если нужна односторонняя связь от приложения к серверу, то сделайте API.
    Если двусторонняя то websockets
    Ответ написан
    Комментировать
  • Как подрубиться к mySql, имея sftp доступ к серверу?

    landergate
    @landergate
    IT-шный jack-of-all-trades
    Обычно наличие SFTP доступа = наличие SSH доступа, поскольку SFTP работает поверх SSH.

    Попробуйте подключиться с учёткой от SFTP к серверу через SSH-клиент, например Putty или его форк Kitty. Открыв соединение и войдя под учётной записью, в параметрах подключения:
    Connection->SSH->Tunnels
    Add new forwarded port:
    Source port: 3307 (или любой другой)
    Destination: 127.0.0.1:3306
    Local, Auto
    Add

    После этого у себя клиентом нужно подключаться к 127.0.0.1:3307 (или другому указанному)
    Ответ написан
    6 комментариев
  • Как подрубиться к mySql, имея sftp доступ к серверу?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    если только sftp то имхо никак. Если сервер снаружи имеет http - можно поставить phpmyadmin, при наличии там php. Или другой скрипт рулежки базой. Ибо sftp это протокол передачи файлов онли.
    Ответ написан
    Комментировать