• Все http сервера в большинстве не многопоточные?

    @OlegPyatakov
    pyatakov.com
    Надо различать http-сервер и веб-приложение. Http-сервер - это программа, которая непосредственно получает сетевые запросы и потом, если надо, отдает на исполнение в веб-приложение.

    Все популярные http-серверы (Nginx, Apache, Caddy) реализуют многозадачность в том или ином виде (потоки, асинхронность и т.д.). При обработке нескольких запросов http-сервер запускает несколько копий веб-приложения, которое, обычно, однопоточное, но может реализовывать потоки средствами языка.

    В веб фреймворках (Flask, Django) есть возможность поднять http-сервер, но он, как правило, предназначен только для разработки, а не для реальных приложений. Например, базовый http-сервер во Flask - однозадачный, он не умеет обрабатывать несколько запросов параллельно.

    Тем не менее, в скриптовых языках могут быть production-ready http-серверы, которые в том числе реализуют многозадачность. Так, на Python есть Waitress и Gunicorn.
    Ответ написан
    Комментировать
  • Как перенести сайт?

    @OlegPyatakov
    pyatakov.com
    Для начала, вам нужно выяснить на кого юридически зарегистрирован домен. Можно проверить по whois.

    • Если на вас/вашу компанию, то домен, как минимум, можно перенести к другому регистратору, у которого нет проблем с DNS. Возможно, придется пописать всяких претензий, но в данному случае "правда" на вашей стороне.
    • Если домен числится зарегистрированным на nethouse - все сложнее. Если не договоритесь с nethouse по-хорошему, к сожалению, наверное, будет проще завести новый. Домен в данном случае принадлежит им, а то что вы им пользовались = "они вам давали им попользоваться". Может есть юридическая возможность привлечь их за "введение в заблуждение" или что-то такое (я не юрист). Но, imho, это точно будет непросто.
    Ответ написан
    Комментировать
  • Какие движки повторяют функционал telegra.ph и medium?

    @OlegPyatakov
    pyatakov.com
    Обычно, self-hosted аналогом Medium называют именно Ghost. (Вроде бы, он даже от тех же разработчиков.)

    Еще можно посмотреть в сторону генераторов статических сайтов (Jekyll, Hugo и прочие), они тоже достаточно просты. В некоторых случаях - даже проще.
    Ответ написан
    Комментировать
  • Можно ли получить SSL (HTTPS) сертификат бесплатно?

    @OlegPyatakov
    pyatakov.com
    Помимо упомянутого Letsencrypt, можно сделать SSL, например, через Cloudflare.
    Ответ написан
    Комментировать
  • Какой сервис использовать для хранения и доступа к файлу словаря python в проекте на heroku?

    @OlegPyatakov
    pyatakov.com
    Вариант 1. Использовать БД. На Heroku есть, вроде, free tier для БД. Можно использовать внешнюю, например, бесплатный уровень в mlab.com.
    Вариант 2. Использовать Яндекс.Диск (или аналог) с доступом по WebDav.
    Ответ написан
    2 комментария
  • Насколько реально создать бота для игры Hearthstone?

    @OlegPyatakov
    pyatakov.com
    Боты для HS существуют. Значит написать реально.
    В качестве отправной точки можно:
    • Изучить существующие решения. Например купить или попробовать триал (если дают)
    • Посмотреть на софт, который делает оверлеи: например, на каком ходу вышла карта противника, или мониторинг своих карт
    • Посмотреть на программы для автоматизации действий пользователя (какой-нибудь Sikuli)
    Ответ написан
    Комментировать
  • Возможно ли мониторить канал телеграма ботом?

    @OlegPyatakov
    pyatakov.com
    Вариант 1. Использовать Telegram Bot API. Самый простой вариант. Есть много туториалов и готовых библиотек. Критический минус - бот через Bot API не будет видеть сообщения от других ботов в этом канале (например, когда автор канала пользуется ботом для постинга).

    Вариант 2. Имитировать клиент Telegram. Готовые библиотеки/клиенты тоже есть, но намного менее распространены. Туториалов намного меньше.

    Вариант 3. Найти вебсервис, который мониторит каналы Telegram, например, для целей выдачи фида (т.е. тот кто уже реализовал вариант №2), и брать данные с него через web-парсинг или api(если есть).
    Ответ написан
    Комментировать
  • Какую модель выбрать для удобного "жизненного цикла" кода?

    @OlegPyatakov
    pyatakov.com
    Не знаю термина, подходящего для описания набора ресурсов, программ, сервисов и связей между ними.

    Это в целом называется Continuous Integration (CI)

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

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

    Каждый PaaS, как правило, имеет свой набор инструментов для развертывания приложения. Максимально универсальное решение будет у себя в IDE настроить push в репозиторий, а в PaaS - интеграцию, чтобы он из этого репозитория забирал код и обновлял сервис. Это поддерживают многие сервисы.
    Самое простое решение для непрофессионала будет следующим. После того, как разберетесь с конкретным PaaS, забить необходимые команды для развертывания приложения в этом конкретном PaaS в 1-простенький скрипт (bat-файл или макрос в Sublime/IDE) и запускать этот скрипт.
    Ответ написан
    Комментировать
  • Есть ли в бесплатном аккаунте heroku доступ к внешнему интернету?

    @OlegPyatakov
    pyatakov.com
    В Heroku запросы вовне, вроде бы, разрешены.

    PythonAnywhere позиционирует себя не как хостинг любительских проектов, а как песочница, поэтому такие ограничения. На самом деле там их еще больше.

    Среди альтернативных бесплатных PaaS еще есть Bluemix, OpenShift, AWS (на год), Google App Engine. Как-то в своем блоге проводил их сравнение.
    Ответ написан
    4 комментария
  • Как пользоваться HEROKU для проекта django?

    @OlegPyatakov
    pyatakov.com
    Если там запускаю своё приложение на django, т.е. сайт, то я ж смогу привязать свой домент
    и это всё будет работать, как обычный сайт?

    Привязать свой домен можно на всех планах, включая бесплатный. В целом да, будет работать как обычный сайт. Но будет ряд ограничений: уход в сон через 30 минут бездействия (если про бесплатный тариф), ограниченный выбор базы данных, невозможность использования файлового хранилища (везде придется использовать БД, т.е. будет ограничение на пользовательские загрузки и файлы), ограничения на количество процессов/воркеров.

    Допустим какие-то ограничения можно снять, выбрав другой PaaS, но в целом подобного рода неудобства все равно сохранятся.

    Также вот это не совсем корректный тезис:
    Покупать целый вдс для этого нет возможностей и смысла.

    Сегодня нормальный VDS это 100-200 рублей в месяц (может даже меньше), т.е. уже дешевле чем платный тариф Heroku.
    Ответ написан
  • Python telebot и sqlite3 (Recursive use of cursors not allowed) помощь?

    @OlegPyatakov
    pyatakov.com
    1. Решить можно, например, используя Threading Lock в функциях, работающих с БД.
    2. Все работающие по сети: MySQL, PostresQL, MongoDB и прочие.
    Ответ написан
  • Кликер для игры с последовательным нажатием клавиш?

    @OlegPyatakov
    pyatakov.com
    Как вариант, Sikuli - очень крутая программа для автоматизации пользовательских действий. Настраивается через скрипты на очень похожем на python языке.
    Ответ написан
    Комментировать
  • Как в Microsoft Word нарисовать таблицы, как на картинке?

    @OlegPyatakov
    pyatakov.com
    Один из рабочих вариантов:
    1. Сделать все одной большой таблицей
    2. В тех местах, где должны быть пустоты между блоками, убрать внутренние границы или сделать их в цвет фона
    Ответ написан
    Комментировать
  • PHP(Laravel) на готовом хостинге или VDS (Python/Django)?

    @OlegPyatakov
    pyatakov.com
    При одинаковой цене shared hosting будет намного слабее VDS.

    Честно говоря, я удивлен, что ценник ставится как плюс для shared hosting'а. Даже если при заказе хостинга не будет прописано явно и создастся ощущение, что мощность хостинга будет больше VDS, скорее всего, при какой-либо существенной нагрузке очень быстро натолкнетесь на ограничения.

    В качестве промежуточного решения можно посмотреть в сторону PaaS.
    Ответ написан
    Комментировать
  • Как регулярно проверять RSS бесплатно?

    @OlegPyatakov
    pyatakov.com
    Если в данном случае важен результат, а не процесс, то могу порекомендовать ifttt.com - бесплатный сервис, в котором в несколько кликов можно настроить репост из rss в telegram. У самого так оформлена подписка на некоторые фиды. Единственный (возможный) минус, что нельзя настроить частоту проверки фида- для каких-то целей проверка раз в ~30 минут может отказаться недостаточно оперативной.
    Ответ написан
    Комментировать
  • Как организовать перенаправление з домена на документ гугл таблиц?

    @OlegPyatakov
    pyatakov.com
    Чисто DNS это не решается, но некоторые DNS провайдеры предоставляют возможности переадресации. Например, можно сделать переадресацию даже на бесплатном DNS от namecheap.com
    Ответ написан
    Комментировать
  • Выбор средства публикации инструкций?

    @OlegPyatakov
    pyatakov.com
    Возможно подойдет xwiki.org

    Не уверен насчет наличия в ней пунктов 4, 6, 8 (точно есть плагин для PDF), 10.
    Остальные возможности, вроде, есть.
    Ответ написан
    Комментировать
  • Как выполнять скрипт Python 24 часа?

    @OlegPyatakov
    pyatakov.com
    В аренде сервера нет ничего плохого. С большой вероятностью потом будут появляться и другие проекты, которые надо будет хостить где-то.
    Также есть достаточно сервисов, предоставляющих free tier услуги. Недавно уже задавались подобные вопросы на тостере: [1], [2], в том числе мой обзор.
    Ответ написан
    Комментировать
  • Есть ли платформы подобные pythonanywhere?

    @OlegPyatakov
    pyatakov.com
    Если интересует интерактивная среда (Jupyter Notebook), то не знаю.

    Если нужен качественный бесплатный PaaS, то вот лучшие альтернативы:
    • IBM Bluemix - бесплатный PaaS (лично я именно его использую для своих мини проектов)
    • Heroku - бесплатный PaaS
    • Google App Enginge - бесплатный Paas (но там относительно старый Python)


    На Amazon Web Services - есть полноценный бесплатный VPS на год (это немного не то, о чем был вопрос) + есть платный PaaS.

    UPD: По итогам вопросов даже написал полноценный обзор/сравнение PaaS сервисов для Python.
    Ответ написан
    Комментировать
  • Бот для VK на python. Нужен vps server.?

    @OlegPyatakov
    pyatakov.com
    Amazon Web Services - год бесплатно, полноценный VPS
    IBM Bluemix - бесплатный PaaS (лично я именно его использую для своих мини проектов)
    Heroku - бесплатный PaaS
    Google App Enginge - бесплатный Paas (но там старый Python)

    Еще возможно Red Hat OpenShift: на версии 2 платформы, точно был отличный бесплатный PaaS, но сейчас всё перевели на версию 3 с другими тарифами, поэтому, возможно, уже неактуально.

    UPD: По итогам вопросов даже написал полноценный обзор/сравнение PaaS сервисов для Python.
    Ответ написан
    2 комментария