• Flask для больших проектов

    igrishaev
    @igrishaev
    Фласк — очень хороший фреймворк, удобный и понятный. Его главное достоинство и минус одновременно — Фласк накладывает гораздо меньше ограничений на разработчика по сравнению с Джанго, например. Поэтому продумывать структуру пакетов и файлов вам придется самостоятельно. Но это не так страшно, понимание приходит уже с первым проектом.

    Крупные проекты на Фласке могут разбиваться на составные части — Блюпринты. Это аналог приложений в Джанго. Блюпринт может иметь свое адресный префикс, свои шаблоны, формы, модели. С помощью них можно постепенно наращивать функциональность проекта.

    Правда, для Фласка меньше документации и готовых решений, но основные из них — SqlAlchemy для БД и WTForms для html-форм — работают очень хорошо, на порядок лучше Джанговских аналогов.
    Ответ написан
    Комментировать
  • Flask для больших проектов

    @realduke
    Непонятно, что конкретно интересует!

    Flask ничем не отличается от других Python фреймворков. Если использовать связку Flask + SQLAlchemy + WTForms, то это считай тот же Django, только без contrib и админки. Изначально нужно быть готовым к самостоятельному созданию организации структуры проекта, т.е. где конфиги положить, где модели, где тесты и т.д. Есть несколько проектов-заготовок, которые это упрощают.

    Несколько ссылок по теме:

    github.com/mitsuhiko/flask/wiki/Large-app-how-to
    github.com/swaroopch/flask-boilerplate
    github.com/semirook/flask-kit
    github.com/imlucas/flask-tool
    github.com/klen/Flask-Foundation

    У Flask сейчас довольно много расширений, проверенные лежать тут flask.pocoo.org/extensions/. Много других можно найти тут crate.io/?has_releases=on&q=flask. Рекомендуется конечно учитывать что некоторые могут быть криво написаны или морально устарели.

    По устройству проектов еще можно поискать готовые приложения. Они есть тут flask.pocoo.org/community/poweredby/, те, которые с исходниками. Еще на гитхабе много чего, можно поискать по импортам, где используется Flask, в простейшем случае так как-то github.com/search?l=Python&q=from+flask&ref=searchresults&type=Repositories.
    Ответ написан
    2 комментария
  • Будущее веб-разработчиков python?

    dmnBrest
    @dmnBrest
    Salesforce for money. Python, Go, Ruby for soul.
    Насколько я могу судить из свой практики. Ангуляр остается (и еще долго будет оставаться) всего лишь "продвинутым шаблонизатором" для создания интерактивных страничек. Клиенты не спешат выкидывать бизнес логику на фронтенд. А на счет того что nodejs выпихнет python с рынка бэкенда, то это вообще нонсенс. Сервернный JS красив пока не начал на нем писать. Для Hello World пойдет, но писать серьезные бизнес приложения - просто сразу ставить крест на бизнесе клиента. Серверный JS взлетел лишь благодаря хайпу и наличию огромной армии jQuery программистов, который возомнили себя теперь full-stack программистами. Сами погуглите много интересных историй про качество кода в NPM. Вот тут уже давно тоже был показательный случай
    https://habrahabr.ru/post/228751/
    Я тоже поддавался хайпу и пробовал для продакшен проектов и nodejs и go. Но в итоге все равно вернулся к старому доброму python :))))
    Ответ написан
    16 комментариев
  • Будущее веб-разработчиков python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Обработка шаблонов всегда была лишь малой частью работы бэкенда. А js-фреймворки только её на себя и забирают.

    Асинхронный код на много сложнее синхронного, но нужен далеко не всегда, поэтому синхронные фреймворки никуда не денутся. К тому же, у Django есть Channels. Да и Python не заканчивается на Django и Flask, есть полностью асинхронные Twisted, Tornado, Aiohttp и прочие.
    Ответ написан
    Комментировать
  • Как найти хорошего разработчика?

    Kwisatz
    @Kwisatz
    Больше web-приложений, хороших и разных
    К сожалению, только методом проб и ошибок. Судя по вопросам вам нужен человек рулящий всеми такими вопросами который радеет за бизнес. Значит нужен опытный разработчик с талантами менеджера которому отдайте долю в бизнесе.
    Ответ написан
    Комментировать
  • Зачем IT гиганты используют много несвязанных доменов?

    Поместив HTML, XML, SVG и т.д. и т.п. файл на домене usercontent.google.com можно
    манипулировать куками домена google.com и фишить. Поэтому пользовательский контент всегда отдается с отдельных sandbox-доменов.
    Так же с отдельных доменов обычно отдается статический контент, это позволяет использовать CDN и упрощает управление кэшированием.
    Отдельный домен обычно используется для PTR-записей (например 1e100.net). Для PTR часто нужна двойная валидация, т.е. PTR должна разрешаться в имя и имя обратно в тот же IP. При этом на одном IP может хоститься много доменов и быть установлено много сертификатов, включая вайлдкарды. И наоборот, один домен может хоститься на многих IP. Чтобы исключить прямое обращение к хосту по "неожиданному" для него имени в своем домене, обычно используются PTR записи в нейтральном домене. Кстати исторически принято использовать именно домены в .net. Google так же использует 1e100.net как нейтральный домен для подписи транзитных писем, раньше для этого использовался собственно домен google.com и это приводило к забавному багу, позволявшему подделывать подписи на письмах от google.com, я рассказывал о нем на PHDays 2014.
    Географические домены исторически используют для организации региональных датацентов и ускорения доступа, например yahoo.jp физически расположен в Японии.
    Ответ написан
    6 комментариев
  • Существует ли одноричная система счисления?

    @Mercury13
    Программист на «си с крестами» и не только
    Двоичная система счисления — это т.н. позиционная система счисления с постоянным основанием.

    Существуют и другие, как-то унарная, фибоначчиева, римские цифры…
    Ответ написан
    Комментировать
  • Как составить план обучения Python/Django?

    orlov0562
    @orlov0562
    I'm cool!
    1) книжки-книжками, но советую выделить основные задачи в вакансии и реализовать то, что требуется. Например написать блог + petstore. И во время разработки познакомиться со всем что требуется, для конкретно этих проектов.

    2) Linux, просто поставь основной системой и пользуйся. Все что надо придет само через месяц.

    3) на требования вакансий забей, подавайся если в тексте есть python/django, ходи на собеседования и анализируй то, как они проходили. Если те кто будут тебя собеседовать адекватные люди, то вполне понимают что джуниор на то и джуниор, что находится в процессе поиска знаний и наставников. Если это не так, то не стоит там работать и тебе с ними не по пути.

    Все остальное изучишь по мере выполнения задач на новой работе.

    Если подытожить: делай пару простых проектов, изучи поверхностно какие техники в них использованы и иди ищи работу, а не зазубривай книжки.

    P.S. Это касается не только питона, но и любого другого яп или технологии с приставкой "джуниор"
    Ответ написан
    3 комментария
  • Как в Django channels отправлять данные в реальном времени?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Из документации:
    Sends are delayed until consumer completion. To override this, you may pass immediately=True.

    Channel('some-channel').send(message, immediately=True)
    Ответ написан
    1 комментарий
  • Регистрация доменов - темный бизнес?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Как гордо сообщает ru-tld.com у них заключен договор с РУЦЕНТР-ом. Можно работать непосредственно с самими РУЦЕНТР-ом - вот уж он точно никаких цен не скрывает - всегда расписывает до маразма сколько денег он с тебя возьмет за ту услугу, за эту услугу... Себе домены покупал именно там, скан паспорта отправлял. Интерфейс простенький, но мне свистелок и пищалок не надо.
    Ответ написан
    Комментировать
  • Django проект на флешке. Как переносить проект?

    Antonchik
    @Antonchik
    Программирую на HTML
    Лучше сделать гит репозиторий, если проект не супер секретный можете лить на github, если секретный можно на bitbucket там бесплатные приватные репозитории. Работать будет без проблем если на всех пк установлены одинаковые версии python с одинаковыми версиями библиотек, можно хранить зависимости в requirements.txt, на крайний случай можно таскать виртуалку со всем необходимым
    Ответ написан
    2 комментария
  • Django проект на флешке. Как переносить проект?

    @deliro
    1. Везде удалить винду и поставить нормальную ОСь
    2. Вернуться из 2005 года и забыть флешку. Есть системы контроля версий (git, mercurial)
    Ответ написан
    3 комментария
  • Постоянные ошибки, это нормально?

    AgentProvocateur
    @AgentProvocateur
    А представь, каково было тем, кто постигал все эти темы 10/15/20 лет назад?

    Когда не было ютуба, торрентов с кучей курсов и учебников на каждый чих на халяву, сотен мануалов/туториалов по каждому поводу, многотысячных блогов, гитхаба с готовым кодом на всё, что пожелаешь, stackoverflow с ответами на 95% вопросов, которые могут возникнуть, да того же тостера (куда можно придти и посетовать на то, что сложнааа).

    Когда в принципе рунет был в зачаточном состоянии (не было даже проф. форумов), информацию приходилось дёргать по крупицам в забугорном сегменте, но делать это было крайне сложно по причине того, что карточка на 150 минут dialup-интернета (50 кбит/с) обходилась в треть стипендии.

    Когда в учебных заведениях не преподавали даже паскаль, а об обилии всяких курсов, в том числе онлайн, можно было только мечтать. Когда основным источником информации на русском языке был журнал "Хакер", мать его))

    И несмотря на полный информационный вакуум и крайне скудные тех. возможности, люди горели темой, преодолевали сложности, становились специалистами и разрабатывали решения, которыми пользуются до сих пор.
    Или это нормально в IT?

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

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

    Если же препятствия воспринимаешь как должное, то хорош рефлексировать, просто преодолевай и лови кайф от преодолений. Без них никак, если ошибок и сложностей нет - значит ты просто их не видишь (т.е. допускаешь двойную ошибку), и они никогда не кончатся:)
    Ответ написан
    4 комментария
  • Постоянные ошибки, это нормально?

    @red-barbarian
    Если не будет ошибок, ничему не научитесь. )
    С возрастом к своим ошибкам относишься строже, но если подумать, то больше всех ошибок делают дети и они же по уровню способности решать незнакомые проблемы составят конкуренцию любому профессору.
    В общем все нормально.)
    А мозги требуют тренировки.
    Ответ написан
    Комментировать
  • Постоянные ошибки, это нормально?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Если бы точно следуя инструкциям из Интернета можно было выполнять работу программиста, то на наших местах давно сидели бы таджики.
    Ответ написан
    1 комментарий
  • Сайт в Tor безопасно?

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

    - запуск тора в изолированном окружении,
    - отключение любых функций логирования на сервере, дабы при взломе по логам не получить всякие ip заходов по ssh и прочую активность,
    - вырезание различных curl/wget библиотек и приложений, которые при взломе (если сервер в тор смотрит только веб.мордой), позволят быстро деанонимизировать пользователя, проведя запрос на подконтрольный сервер злоумышленников и выяснив реальный IP адрес пользователя, на сервере которого расположен тор-сайт.

    И вообще, лучше чтобы на машину с тор-сайтом трафик шел УЖЕ через тор и с другой железки/виртуалки.

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

    vikkyshostak
    @vikkyshostak Автор вопроса
    < This head full of dreams.
    Решение, как всегда, оказалось проще пареной репы.

    В processors.py добавляем в конец:

    @register.generator('examle:example:image_800x800')
    class OverlayImage(ImageSpec):
        format = 'JPEG'
        options = {'quality': 100}
    
        @property
        def processors(self):
            model, field_name = get_field_info(self.source)
            return [
                ResizeToFill(800, 800),
                TextOverlayProcessor(text=model.description)
            ]

    В models.py просто переписываем image_800x800:

    image_800x800 = ImageSpecField(
        source='image',
        id='tours:tours:image_800x800'
    )
    Ответ написан
    Комментировать
  • Взломали сервер. Устроили email фишинг-атаку разместив у нас свои скрипты и "лендинг". Каков алгоритм действий?

    BuriK666
    @BuriK666
    Компьютерный псих
    заплатить админу $$.
    Ответ написан
    Комментировать
  • Как наказать нерасплатившегося за сайт заказчика?

    1. Из под сети рабочей (откуда заказчик заходит) все ок ,сайт работает, как надо.
    2. Все другие люди получают чуть другой сайт в номере телефона другая цифра, в почте другая цифра.

    или

    3. если сайт популярный, продавайте места под ссылки на нем

    или

    4. мнимая страница с плохим контентом и в роскомнадзор(перед этим бэкдор оставив там)

    или

    5. бэкдор сейчас, а через год уже все это делать начните, когда они будут зависеть от сайта сильно, а бэкапы все равно уже с вашим бэкдором будут.
    Ответ написан
    2 комментария