- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic

VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Например про 3.0 со встроенным ASGI - вот с асинхронностью вообще мало в питоне работал, это большое упущение
Вообще не представляю куда в джанге асинхронность пихать, т.е. зачем, в каких задачах.
python медленно.
все уже давно фронт делают на спа, бекенд на го. орм есть (если он вообще нужен), в том числе и кодген без рефлексии. офигенная стдлиб, зависимости в бинарнике, быстрая скорость работы и маленькое потребление ресурсов, многопоток в рантайме, очень быстрый гц.
Джанга - это в первую очередь быстрая разработка. К тому времени пока проект взлетит и начнет упираться в скорость, код по 5 раз успеет измениться.
Что за "спа" такое ?
Что за "спа" такое ?
Вероятнее всего single page application, но возможно и сауна:))
Джанга вообще интересная тема.... но не мне:((
Вообще не представляю куда в джанге асинхронность пихать, т.е. зачем, в каких задачах
ровно туда же - куда в других асинхронных ФВ. Например когда операции IO блокирующие. Мы вот уже уткнулись в моменты, когда количество пользователей превышает возможности системы. Пока спасают брокеры типа кафки, раббита. Бывает приходит одновременно под сотню человек, а это не просто просмотр страниц, активное взаимодействие - просмотреть видео, пройти тест, загрузить ответы. И бедная наша джанга начинает грустить.
Джанга - это в первую очередь быстрая разработка. К тому времени пока проект взлетит и начнет упираться в скорость, код по 5 раз успеет измениться.
Ну, в случае Go, на нем реально быстро разрабатывать. Если создать свой микрофреймворк с бойлерплейтом, и с него стартовать - то выходит не плохо. Например, описываешь OpenAPI файлик, он генерирует модели, и хендлеры. ORM накидывает методы на эти модели. Далее, ты с того же файлика генерируешь клиент (хоть на TypeScript с типизацией), который знает куда ходить и что прийдет в ответе. Единственное, что доставляет боль в моем случае - это верстка.
Имхо, рендерить на бекенде, это плохая заетя. Зачем гонять десятки киллобайт туда сюда, если меняется только по сути 5-10% страницы (несколько сотен байт). Раньше был аргумент, что поисковики не индексируют этот контент, сейчас это уже не актуально, а в будущем, скорее всего, спа сайты будут ранжироваться выше, т.к. они грузятся быстрее, эффективней, и т.д.
Сейчас кстати в Laravel практикуют такой подход, там уже вшит vue.js, и есть интеграция с ним.
Что за "спа" такое ?
single page application
ровно туда же - куда в других асинхронных ФВ. Например когда операции IO блокирующие. Мы вот уже уткнулись в моменты, когда количество пользователей превышает возможности системы. Пока спасают брокеры типа кафки, раббита. Бывает приходит одновременно под сотню человек, а это не просто просмотр страниц, активное взаимодействие - просмотреть видео, пройти тест, загрузить ответы. И бедная наша джанга начинает грустить.
У нас на битрикс нагрузка 300-400 rps в акции на интернет магазине и мы не грустим в целом. Решать вопросы нагрузки средствами языка как то сильно больно, выносите критичные вещи в микросервисы и в моменты пиков просто расширяйте где то в облаке. Автоскейлинг сейчас есть абсолютно везде на вменяемых площадках.
Асинхронные вызовы как раз с блокирующими операциями не используют, прикольно асихронный поток заблокировать - прям гениальное решения. Вы наверное больше имели ввиду многопоточность, когда на блокирующую операцию можно породить новый поток, который свободно может висеть под блокирующей операцией не блокируя основной? Только это не подход асинхронного программирования. А в питоне я не знаю как сейчас, но раньше были некоторые проблемы с многопоточностью, для таких вещей уж лучше Erlang и на его машине построенные (elixir например) или тот же rust, но уж точно не питон.
---------- Добавлено 15.12.2019 в 14:52 ----------
Сейчас кстати в Laravel практикуют такой подход, там уже вшит vue.js, и есть интеграция с ним.
Что там вшитого? Сейчас вшить Vue.js в любой сайт ровно точно так же по действиям как и вшить jquery. Если мы говорим про spa то это уже такие решения как next.js и nuxt.js, это так сказать самый коробочные варианты, но они никуда не вшиты и надо понимать что делаешь. Сейчас проще взять какой нибудь nuxt/next.js + apiPlatform, чем ларавел с подключенной vuejs
Бывает приходит одновременно под сотню человек, а это не просто просмотр страниц, активное взаимодействие - просмотреть видео, пройти тест, загрузить ответы. И бедная наша джанга начинает грустить.
Мне пока ни разу не довелось столкнуться с ситуацией, что бы тормозила именно джанга. Всегда все упирается в базу по итогу.
Ну, в случае Go, на нем реально быстро разрабатывать. Если создать свой микрофреймворк с бойлерплейтом, и с него стартовать - то выходит не плохо. Например, описываешь OpenAPI файлик, он генерирует модели, и хендлеры. ORM накидывает методы на эти модели. Далее, ты с того же файлика генерируешь клиент (хоть на TypeScript с типизацией), который знает куда ходить и что прийдет в ответе. Единственное, что доставляет боль в моем случае - это верстка.
django+rest и все тоже самое за 5 минут запуска проекта.
Сейчас вшить Vue.js в любой сайт ровно точно так же по действиям как и вшить jquery
У нас фронт именно на Vue
У нас на битрикс нагрузка 300-400 rps в акции на интернет магазине и мы не грустим в цел
У нас другая специфика - пользователь сидит на сайте и выполняет кучу действий, естественно что все раскидано по микросервисам, все скейлится, сейчас даже под базы выделяем разные сервера, а у нас и монга и мускля используются, каждая уже давно за 100 гигов. При этом прогресс ученика отправляется в еще несколько сервисов, где он рейтингуется, например. Но я не девопс, во всю кухню не лезу. Моя задача облегчить, например запросы, что бы не пропали - загнать их в очередь и тд
Асинхронные вызовы как раз с блокирующими операциями не используют, прикольно асихронный поток заблокировать - прям гениальное решения. Вы наверное больше имели ввиду многопоточность, когда на блокирующую операцию можно породить новый поток, который свободно может висеть под блокирующей операцией не блокируя основной?
Как раз с блокирующими операциями асинхронные вызовы и используют, чтобы планировщик положил задачу в пул и мультиплексировал по тредам эти задачи, когда какая-то из них будет готова по IO. У рантайма есть точки переключения контекста, которые проставляются в сисколах, сетевых вызовах и прочих функциях, где потенциально эффективная работа может быть выполнена, пока мы ждем какого-то ответа от сети или диска. И шо такое асинхронный поток? Есть userspace thread, есть kernel thread, и есть cpu thread. О каком речь-то?
Только это не подход асинхронного программирования. А в питоне я не знаю как сейчас, но раньше были некоторые проблемы с многопоточностью, для таких вещей уж лучше Erlang и на его машине построенные (elixir например) или тот же rust, но уж точно не питон.
На самом деле вы путаете теплое с мягким. Асинхронность - это свойство кода. Вы пишите асинхронный код, он теоретически может выполняться параллельно, а может и не выполнятся, если ядро одно. Другими словами, написав асинхронный код, это не гарантирует его параллельное выполнение, но при соблюдении некоторых условий (количество ядер > 1 и наличие рантайма) вы получаете параллелизм. Делая асинхронный вызов, не всегда создается гринтред (или корутина). Параллелизм - это свойство программы выполнятся параллельно, как бы тупо это не звучало. На счет Rust, там стабилизировали только недавно async/await, в остальном все так и используют токио, который взял концепцию планировщика с Go (work-stealing + work-sharing). Как пример асинхронного языка, Rust вообще тут не к месту. Тот же Erlang или Scala с его моделью акторов, или Go, Closure с моделью СSP - да, а Rust - пока что нет.
Rust вообще тут не к месту. Тот же Erlang или Scala с его моделью акторов, или Go, Closure с моделью СSP - да, а Rust - пока что нет.
Нет. Go и прочая хрень тут тоже не к месту. Потому что тема называется "Django Unchained - поговорим".
Это как в курилке кое-кто любит любую тему сводить к "педресне". Так и здесь, ТС захотел поговорить про Джанго – а ему всякую чушь втирают.
Ну хоть последнее и не про Джангу, было полезно почитать про Руст го и проч. У Питона есть GIL и от него никак не откажутся. Соответственно всегда только один тред. Так что асинхронность актуальна очень.