• Нужен ли Python-программист в России?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Python - востребованный в настоящее время язык во всём мире и перспективный - есть задел на будущее.
    Поэтому не должно быть проблем с поиском работы на удалёнке.
    Чего только стоит машинное обучение, которое в основном и имеет реализации на python.
    Во фразе "учить 1с или Php или вообще податься в web" чувствуется боль и отчаяние человека, который вот-вот упадёт на дно.
    Я, когда отдыхал на Ибице, познакомился со шкипером-математиком, который ходил на яхте по морям и окиянам и при этом кодил на Питоне прямо там, на яхте. А потом девчонкам показывал графики в виде фаллосов-ромашек... Романтика + технологии = крутотень нереальная
    Ответ написан
    6 комментариев
  • Нужна ли вышка для веб-разработчика?

    0xD34F
    @0xD34F
    Ответ написан
    Комментировать
  • На чем написать клиентское приложение (фронтенд) так, чтобы оно не развалилось?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Любые библиотеки и фреймворки - это всего лишь инструмент написанный людьми (оО) на javascript (дважды оО).
    Использование любых из них не спасает Вас от говнокода или кривой архитектуры.
    Используйте то что знаете! Не знаете ничего? Вообще не знаете javascript? Заплатите людям которые знают
    Ответ написан
    Комментировать
  • Как создать серверную архитектуру для приложений?

    Application server - основной сервер, где обрабатывается логика ваших приложений, которую нельзя обрабатывать на клиентах. Application server имеет доступ к серверу баз данных (Database server). Очень часть Application server и Database server размещают на одном сервере, пока это позволяет нагрузка на приложение.
    На Application server как правило устанавливают веб-сервер и обработчик какого-либо языка программирования. Например, apache + php, nginx + ruby и пр. Иногда встречаются и более экзотичные варианты. Всё зависит от того, какими инструментами ведется разработка приложения.
    На Database server устанавливают какое-либо ПО для СУБД. Например, MySQL, SQL Server, Oracle Database и пр. Через специальные библиотеки и конфигурационные файлы Application server "привязывается" к Database server.
    Loadbalancer используется для того, чтобы, в случае наличия нескольких Application серверов, направить пользовательский запрос на менее загруженный Application server. Тут есть много разных вариантов реализации.
    Utils и Tools - фишки исключительно очень больших проектов. Например, если нужно пересчитывать количество записей в базах по сложным медленным запросам или удалять ненужные изображения на дисках сервера - для этого и предназначены эти инструменты.
    Ответ написан
    Комментировать
  • Хочу сделать API, с чего начать?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Следует начать с проектирования API. Возмите https://swagger.io/ и набросайте все, что нужно.
    Swagger вам позволяет объединить роутинг, документацию и примеры вызовов в единое целое.
    Кроме этого он позволяет сгенерировать заглушки для разных языков программирования и фреймворков.
    В принципе вы можете найти значительное количество интеграций для разных фреймоворков.

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

    В REST есть 6 принципов, прекрасно изложенных в Wiki. В REST нет ничего сложного и особенного. Это просто надстройка над стандартным протоколом HTTP. Именно поэтому нет никаких особенных уроков. Изучите работу HTTP и вы поймете как работает веб в целом и REST в частности.

    По поводу отдельного сервера для API. Есть множество разных подходов. В последнее время все более актуальными становятся Serverless-приложения. Serverless архитектура идеально вписывается в REST. Но думаю для вас это пока рановато и сложновато. Слишком много для начала.

    Логичнее всего держать проект в моно-репозитарии, если он не будет большим. Если вы точно не знаете насколько большим он будет, то можно разбить проект на компоненты и использовать Composer для управления зависимостями (советую полность прочитать эту страницу от корки до корки).

    По поводу best practices есть очень хороший ресурс https://12factor.net/ru/
    Он в целом применяется для всех приложений.

    Запомните: первый блин всегда комом. Прочитайте все ресурсы, которые я привел для вас. В них много ссылок на другие, походите по ним, присмотритесь. Напишите первую версию API так, как вам кажется удобно. Постарайтесь применить практики из статей.
    Вам нужен опыт и вы его не наберетесь, пока не сделаете что-то сами. Вы можете потратить год на чтение, но останетесь на том же месте, с которого начали. А другой человек напишет на коленке API за неделю, а потом перепишет его 20 раз за год и он вам расскажет в 10 раз больше, чем то, что вы изучили за год.
    Дерзайте!
    Ответ написан
    16 комментариев
  • Как лучше выполнять SQL?

    LaRN
    @LaRN
    Senior Developer
    Хранимая процедура имеет уже скомпилированный план запроса (в MS SQL, Sybase это точно так).
    Теоретически, если запрос сложный, хранимая процедура будет быстрее на время, которое требуется оптимизатору чтобы построить план.
    Но практически, на единичных запросах, видимой разницы не будет.
    Ответ написан
    Комментировать
  • Как упростить код заменяющий значения в словаре?

    @id2669099
    d = {
        1: 'Оплата',
        2: 'Возврат',
        3: 'Рекуррентное списание',
        4: 'Блокировка',
    }
    
    r['opcode'] = d[r['opcode']]
    Ответ написан
    Комментировать
  • Как сделать, чтобы надпись о завершении работы программы выводилась только после окончания работы, а не в процессе?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    for port in ports:
        threading.Thread(target=PortCheck, args = [port]).start()
    
    for t in threading.enumerate():          # Получаем все потоки
        if t != threading.current_thread():  # Если это не текущий поток
            t.join()                         # Ожидаем его завершения
    
    print('--------------------------------------')
    input('Process ended. Press Enter.' + '\n')
    Ответ написан
    2 комментария
  • Замена Django на Pyramid. С какими проблемами придется столкнуться?

    @gpm7315
    Вместо встроенного ОРМ в джанге еще бы и шаблонизатор поменять на Jinja2. Но тогда какой смысл в джанге? Flask с расширениями отличное решение. Что страшного в global request? Это сделано для удобства.
    Ответ написан
    2 комментария
  • Как изменить стиль CSS элемента комментария на Youtube.com?

    С помощью Stylish запросто убирается эта окантовка.

    Называется эта окантовка outline это стандартный браузерный стиль элемента в фокусе, вешать стиль нужно на элемент с фокусом (:focus)

    Что-то вроде
    .ytd-comment-renderer:focus {
      outline: none;
    }
    Ответ написан
    1 комментарий