Задать вопрос
  • Не могу запустить скрипт на python 3.7?

    gordon_shamway
    @gordon_shamway
    from bs4 import BeautifulSoup
    Ответ написан
    Комментировать
  • Как передавать данные между потоками на Python?

    tumbler
    @tumbler Куратор тега Python
    бекенд-разработчик на python
    * Во-первых, нормально работать в несколько потоков Вам помешает GIL
    * Во-вторых, синхронизировать все результаты не обязательно, вам в конце ведь только счетчики нужны
    * Смотрите модуль multiprocessing, он позволяет выполнять методы в отдельных процессах
    * В каждом процессе считаете свою статистику, потом получаете результаты в главном процессе и суммируете.
    Ответ написан
    4 комментария
  • Почему if в lambda работает нестандартно?

    @MadridianFox
    Web-программист, многостаночник
    Всё в порядке. Просто в питоне вместо тернарного оператора используется конструкция
    variable = value_1 if test else value_2
    Что аналогично традиционному тернарного оператору
    variable = test ? value_1 : value_2
    Работает это не только в лямбдах, а везде.
    Ответ написан
    Комментировать
  • Что вы делаете если не укладываетесь в срок?

    @ponaehal
    Упрощаю вопрос:
    Я запланировал сделать это за две недели, но ошибся в оценке. Что делать?
    Ответ на мой взгляд очевиден:
    Извиниться, признать ошибку, сделать выводы. Все остальное (типа привлечение доп ресурсов, введение ночных смен и т.п.) это попытка прикрыть свою ошибку как менеджера за счет компании.
    Ответ написан
    2 комментария
  • Как выбрать архитектуру и БД для высоконагруженной системы?

    @stratosmi
    Добрый день! Хотел посоветоваться с опытными бэкэнд программистами.
    Встала задача создать высоконагруженный проект (Типо кассового решения). В базе данных через 1-2 года планируется , около 150млн записей у основной сущности (продажа).


    150 миллионов записей - это ерунда, а не высоконагруженное решение.
    У меня 5 000 записей в секунду создается на довольно дохлом (что-то около 500 рублей в месяц стоит хостинг) сервере VDS/VPS
    Два года? 150 миллионов - это за ... 9 часов.
    И да, я не считаю это решение высоконагруженным.
    Нагруженным - да.

    то есть нужно максимально быстрое чтение этих данных

    Нет.
    Людям не нужно снимать отчеты со всех данных сразу. Только часть данных интересует их.

    Если всё же нужны все данные сразу (ну какая-то общая статистика) - то на основании первичных данных выполняется агрегация (например, по ночам) и тогда отчеты будут строится вообще - мгновенно.

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

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

    Это зависит от того что за данные.
    Что именно за данные.
    Сам пишу на mysql - потянет ли он такие объемы, на нормальном железе. Или нужно смотреть в сторону других БД?

    MySQL довольно быстр.
    Например, PostgreSQL более функционален. Но насчет скорости - не обязательно.
    потянет ли он такие объемы, на нормальном железе

    А в официальную документацию заглянуть?
    https://dev.mysql.com/doc/refman/8.0/en/limits.html
    150 млн. записей для современных СУБД и современных компьютеров (даже не на "нормальном железе") - это тьфу, а не нагрузка.

    P.S.:
    Для высоконагруженных систем формирования отчетов есть различные решения:

    1. Предварительная (ночная) агрегация данных
    2. Master-slave, где master только обновляет данные, а slave - только для отчетов.
    3. Специализированные, заточенные под конкретный вид данных СУБД (InfluxDB, Redis-Tarantool-Aerospike, ClickHouse пр.)
    Ответ написан
    4 комментария
  • С чем связанна странная манера сайтов дорогих брендов?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Думаю, что таким образом они показывают свой статус на рынке.
    Посыл такой: "Нам не нужна красота в вебе, чтобы продавать. Качество наших товаров и услуг признано миллионами и говорит само за себя."
    Ответ написан
    1 комментарий
  • С чем связанна странная манера сайтов дорогих брендов?

    @ilovemaryjane
    А вы что ожидали увидеть? Это дерьмо, пропихиваемое мафией с awwwards? Эти омерзенные сайты с отключенным скроллом или скроллджекингом, загружающиеся не менее минуты, с WebGL от которого все виснет и закипает процессор и состоящие на 90% из мигающего видео на заднем плане?
    Ответ написан
    Комментировать
  • Как сделать ожидание сообщения от пользователя на Python 3?

    @StockholmSyndrome
    вообще, вы неправильно получаете сообщения
    для этого есть специальные инструменты: Bots LongPoll API и Callback API
    скорее всего, с ними будет легче решить вашу задачу
    Ответ написан
    Комментировать
  • Как изменить аватарку сообщества через VK API без последующего поста?

    @GLaDosSystem Автор вопроса
    Решил вопрос, переписав вот эту функцию из VkOpt под Node.JS.
    Спасибо Max Payne.
    Ответ написан
    Комментировать
  • В чем преимущества *nix, linux перед windows (для веб разработчика)?

    DevMan
    @DevMan
    1. вы получаете окружение близкое или идентичное к продакшену.
    2. вы получаете внятную консоль/шел из коробки.
    3. вы избавляетесь от массы вопросов типа "на локалке все работает, а залил на сервер и получил жопу" (или наоборот).
    4. у вас появляется более лучшее понимание как на сервере все работает.

    при теперешнем развитие технологий и производительности железа, нет необходимости себя ломать.
    можно попробовать в виртуалке (docker/vagrant)/дуалбуте и самому для себя решить стоит или нет.
    Ответ написан
    17 комментариев
  • Как выполнить консольную команду?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    import os
    
    os.system('logoff')
    Ответ написан
    Комментировать
  • Как ускорить большое количество get запросов?

    @asd111
    Основное происходит в строке с pool.map

    import urllib2 
    from multiprocessing.dummy import Pool as ThreadPool 
    
    urls = [
      'http://www.python.org', 
      'http://www.python.org/about/',
      'http://www.onlamp.com/pub/a/python/2003/04/17/metaclasses.html',
      'http://www.python.org/doc/',
      'http://www.python.org/download/',
      'http://www.python.org/getit/',
      'http://www.python.org/community/',
      'https://wiki.python.org/moin/',
      'http://planet.python.org/',
      'https://wiki.python.org/moin/LocalUserGroups',
      'http://www.python.org/psf/',
      'http://docs.python.org/devguide/',
      'http://www.python.org/community/awards/'
      # etc.. 
      ]
    
    # Make the Pool of workers
    pool = ThreadPool(4) 
    # Open the urls in their own threads
    # and return the results
    results = pool.map(urllib2.urlopen, urls)
    #close the pool and wait for the work to finish 
    pool.close() 
    pool.join()
    Ответ написан
    Комментировать
  • Как ускорить большое количество get запросов?

    @OlegPyatakov
    pyatakov.com
    Основная потеря времени - ожидание ответов от удаленных серверов.

    Варианты, что делать для ускорения:
    1. Работать в несколько потоков
    2. Работать в несколько процессов
    3. Работать через асинхронные запросы
    Ответ написан
    Комментировать
  • Как ускорить большое количество get запросов?

    netpastor
    @netpastor
    Python developer
    Если идут несколько запросов к одному серверу, то стоит использовать сессию что не открывать каждый раз новый коннекшен. У requests к примеру есть requests.session.
    Ответ написан
    Комментировать
  • Хочу стать программистом. Какой факультет выбрать?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Вам следует в первую очередь выбрать факультеты "гугл", "самообразование", "саморазвитие", "История IT и IT новости", "Фриланс", а на данных факультетах следует посещать примерно следующие предметы:
    • Английский язык — чтение сложной технической документации, письменный, разговорный, а лучше найти хорошего учителя (в сети полно ресурсов такой тематики)
    • История IT отрасли
    • История программирования и разработки ПО
    • Внутреннее устройство ПК и принципы работы его узлов (процессора, видеокарты, звуковой карты и прочее)
    • Внутреннее устройство ОС и как и зачем они нужны и вообще появились
    • Основы программирования и разработки ПО - что, откуда, куда, как и почему
    • Популярные книги по С/С++ / питону
    • Ознакомиться с основами фриланса и зарегистрироваться на популярных международных фриланс биржах
    • Найти вакансию джуниора и хорошо бы ментора
    • Решение реальных задач по разработке ПО
    • Создать себе в сети портфолио и зарегистрироваться на популярных IT ресурсах типа SO, MSDN, LOR и социалках типа LinkedIN
    • Искать проекты на биржах

    А вот ВУЗы сегодня в массе своей неспособны подготовить программистов.
    Ответ написан
    Комментировать
  • Хочу стать программистом. Какой факультет выбрать?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Поступай в ИТМО и пробивайся сразу работать у них. Там неплохо получится - они ищут талантов и любознательных среди студентов и выращивают из них программистов.

    А так, как и сказал Александр - программированию не учат. Дают базис, но к практике он привязан очень сомнительно. А вот математике тебя научат, но только если ты не помрёшь со скуки. Ради математики можно и ГУ
    Ответ написан
    Комментировать
  • Почему BIOS не видит раздел Ubuntu?

    Nerwin
    @Nerwin
    И ни капельки я не тупой...просто ленивый
    BIOS разделы не видит, он видит только диски.
    в UEFI можно добавить пункты в загрузочное меню.
    BIOS работает с MBR, загружает программу из загрузочного сектора диска(grub например), и та в свою очередь показывает меню загрузки.
    UEFI работает с GPT, пункты меню хранятся в nvram, либо грузится загрузчик по умолчанию.
    Для совместимости с BIOS используется CSM.
    В каком формате диск, включен ли CSM, какие варианты загрузки используются(uefi only, legacy only, uefi&legacy)?
    Ответ написан
  • Mysql pattern хранится в бд, а строка приходит, возомжно ли так сделать?

    roswell
    @roswell
    и швец, и жнец, и на дуде игрец
    SELECT `title` FROM `table` WHERE 'тестовый' LIKE `title`;
    Ответ написан
    Комментировать
  • Зачем изучать Linux?

    @MechanID
    Админ хостинг провайдера
    Есть ряд задач которые в ОС семейства линукс выполняются проще/удобнее и тд, вот и все, если у вас нет таких задач, то вам Linux ненужен и в этом нет ничего плохого.
    ОС это только инструмент, когда меня спрашивают что лучше, то я спрашиваю - для каких задач?
    Ответ написан
    1 комментарий