Задать вопрос
  • Здравствуйте, как написать функцию который берет ответы из JSON и передает в python?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    import json
    import random
    
    # json - так json
    ANSWERS = json.loads('{"привет": ["Привет", "Хай", "Здоровеньки булы"], "как дела": ["Норм", "А у тебя?"]}')
    
    answer = lambda x:random.choice(ANSWERS.get(x.lower(), ['Не понял вопроса']))


    answer('Привет')
    # Привет
    answer('Как дела')
    # А у тебя?
    answer('ваыва')
    # Не понял вопроса
    Ответ написан
    2 комментария
  • Как и на чем пишется социальная сеть?

    opium
    @opium
    Просто люблю качественно работать
    да на любом языке пишется
    Ответ написан
    Комментировать
  • Как оптимизировать данный код?

    @rPman
    if(g >= m) break;
    else pays--;
    из-за этих двух странных строк (логику понять не могу, если текущая взвешенная сумма станет больше указанного на старте значения то прекращяем, иначе вычитаем 1 из pays которая поделенная сумма на m, логику чисел pays и m я понять не могу) избавиться от acc не получится, (в твоем коде нет ничего жрущего оперативную память кроме этого массива) так как нужно сначала посчитать всеобщую сумму. Т.е. если приложению на вход дать 16 миллионов строк (или 8 миллионов, int там 8 или 4 байтный?) то приложение точно выйдет за лимит памяти.
    Ответ написан
    1 комментарий
  • Windows распределяет потоки Python по ядрам?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Начнёт, но работать в один момент времени будет только одно ядро. Утилизация процессоров в Python решается запуском отдельного процесса на каждое ядро, а внутри процесса лучше использовать асинхронность, а не многопоточность.
    Ответ написан
    5 комментариев
  • Когда использование Cgo оправданно?

    Когда оправдано, на своём примере - использование библиотек на C.

    Есть у нас оборудование, к которому идут проприетарные библиотеки на C для управления им. Реверсинженерить их было затратно. Соответвенно, cgo позволил бы использовать эти библиотеки в сервисе на go с минимальными затратами.
    Ответ написан
    Комментировать
  • Когда использование Cgo оправданно?

    EvgenyMamonov
    @EvgenyMamonov Куратор тега Go
    Senior software developer, system architect
    Основной недостаток использования Cgo - это снижение производительности.
    Вызовы C/C++ достаточно затратны по ресурсам, т.к. C ничего не знает о данных в Go и для вызова C необходимо полностью сохранять все регистры и переключать стек, за счёт этого и возрастают накладные расходы, соответственно снижается производительность.

    Использование Cgo имеет смысл, когда есть объёмные библиотеки написанные на C/C++, которые можно использовать. При этом написание кода на чистом Go намного затратнее, чем использование этих библиотек с Cgo.

    > в каких кейсах следует использовать cgo для улучшения производительности
    На сколько я понимаю при вызове простых функций производительность не улучшится, а наоборот, скорее ухудшится.
    Но не исключаю, что есть кейсы, когда есть серьёзные расчёты/жёсткое управление памятью (частые выделения/освобождения), когда за счёт того, что в этом случае не будет использован сборщик мусора можно получить увеличения производительности.

    У меня был подобный кейс на Perl, но принцип тот же.
    При скачивании HTML страниц размер занимаемой RAM скриптом постоянно увеличивался и в итоге "съедал" всю память на сервере.

    Задача скрипта была скачивать HTML страницы, извлекать из них все ссылки на внешние ресурсы.
    Я принял решение и написал функцию на С, которая выкачивала страницу, извлекала ссылки, очищала память и возвращала в Perl уже готовый список ссылок. Скрипты перестали постоянно "пухнуть", их можно было запустить в несколько раз больше по количеству на том же сервере + производительность стала явно выше.

    В общем всё сильно зависит от задачи, но, думаю, более 90% кейсов будет связано с тем, что намного дешевле использовать готовую библиотеку C/C++ с Cgo, чем переписать эту библиотеку на чистом Go.
    Ответ написан
    Комментировать
  • Я придумал новый гениальный способ оптимизации игр?

    GavriKos
    @GavriKos Куратор тега Разработка игр
    Микропетпроджект - домашнее облако homeCloud
    И движения камеры будут дерганные ппц потому что загрузка объекта будет сжирать ресурсы.
    А frustrum culling для рендера и так существует.
    Ответ написан
    Комментировать
  • Как подключиться к БД чужого сайта?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Никак.
    Ответ написан
    Комментировать
  • Правильная ли это топология?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Конечно, есть нюансы и исключения, но общее правило такое: в большенстве случаев корректной является топология из четырехугольников, иногда допустимы треугольники, если без них никак.
    В вашем случае, в примере 1, то что вы назвали "только одна грань" по сути восьмиугольнк. То что вершины (углы) расположены на одной прямой, ничего не меняет. Следовательно нужно делать как в 2, а для 3 должны быть веские причины.
    Ответ написан
    5 комментариев
  • Как проверить кроссбраузерность верстки?

    pavelsha
    @pavelsha
    Кот Жрëдингера. Только добрый.
    ДА
    ДА
    ДА

    Есть сборки для тестировщиков: Бандлы установщиков или образы виртуалок с разными браузерами.

    ИМХО, наиболее правильно верстать так чтобы было меньше костылей (селекторов, которые задают поведение в зависимости от версии браузера) и меньше проблем с совместимость по CSS/HTML/JS
    Ответ написан
    Комментировать
  • Почему JUnit 5 выполняет тесты в произвольном порядке?

    @Araya
    В BeforeEach наполняешь базу перед каждым тестом.
    Ответ написан
    4 комментария
  • Как запускать exe автоматически при попадании на ПК?

    @res2001
    Developer, ex-admin
    В такой постановке вопроса ответ - никак.

    Что бы любая программа запустилась, либо ОС должна знать, что ее надо запустить в какой-то момент, либо пользователь должен ее запустить руками.
    Для автозапуска можно использовать несоколько веток реестра, как пользовательских так и системных, так же можно использовать каталог sturtup в меню пуск (в вин10 его нет в явном виде в меню, но его можно найти в файловой системе) или же добавить Параметры->Приложения->Автозагрузка (это действие, по идее, добавляет записи вреестр).
    Еще вариант - добавить старт приложения в шедулер, повесив его на какой-либо подходящий триггер.
    После внесения соответствующих изменений и перезагрузки (или наступления триггерного события) приложение запустится.

    Так же можно запустить приложение удаленно, таких вариантов довольно много. Из встроенных средств можно использовать: wmic или powershell. Тот же psexec (о котором писал pavelsha ) и т.п. Но программа должна быть доступна на удаленном компьютере, по указываемому пути. Т.е. вы должны сначала скопировать программу на удаленный комп, а потом уже удаленно ее запускать. Как вариант - указывать сетевой путь, доступный удаленному компьютеру. Но нужно не забывать, что в случае сетевого пути, потребуется авторизация на сетевом ресурсе ... Проще скопировать локально.

    Кстати, редактировать реестр можно и удаленно. Для этого есть средства из коробки. Например команда reg add - умеет это делать. Но и тут есть своя специфика.
    Ответ написан
    Комментировать
  • Как принимать смс программно?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Операторы предоставляют телефонные номера с возможностью приёма входящих по протоколу SMPP. Как федеральные (11-значные), так и короткие. При этом исходящие сообщения (в сторону абонентов) можно отправлять только с коротких, на длинные можно только принимать входящие.

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

    Но подключение по SMPP это лучший вариант с технической точки зрения. Альтернатива - это симка. Или у себя, или у сервиса, который предоставляет номера в аренду (типа sms-activate).
    Ответ написан
    3 комментария
  • Реально ли работать в одном IT-проекте (продуктовом) больше 5-ти лет и не деградировать профессионально?

    Jacen11
    @Jacen11
    Мой вопрос: реально ли развиваться в течение 5-ти лет и больше в одном продуктовом проекте и не деградировать?
    конечно возможно, почему бы и нет? Вот только человек со сменой работ будет прогрессировать быстрее и ему проще будет с этим
    Ответ написан
    3 комментария
  • Только PHP ли такой?

    Stalker_RED
    @Stalker_RED
    Вы конечно можете отдельно написать бек, а на фронт сделать на статическом HTML (потеряв при этом ряд возможностей, но представим, что они вам не нужны). Можете добавить на фронт js скриптов, которые будут что-то подгружать.
    Никто не заставляет вас использовать php как шаблонизатор.

    И нет, это не только php такой, практически в любом языке можно сделать такую-же кашу, просто в php эта возможность была изначально, и в первых версиях это был основной режим работы. А в других языках придётся это как-то включить, или написать промежуточный обработчик файлов.
    Ответ написан
    Комментировать
  • Только PHP ли такой?

    Вариант 1 - шаблонизаторы плюс рендер на стороне сервера
    Вариант 2 - RESTful API на PHP а рендер на фронте по полученным данным
    Ответ написан
    Комментировать
  • Почему не срабатывает нота при нажатии на клавишу?

    red-cat-fat
    @red-cat-fat
    Делаю игры
    Потому что метод aboba. Переименуй в Update и всё должно заработать
    Ответ написан
    Комментировать
  • Как прописать в договоре на создание сайта, что таким подобным проектом мы заниматься не будем?

    Данный пункт договора будет признан "нечтожным" любым судом.
    наложение обязательств на физ лицо - это рабство, а он в стране запрещено. Как Юр лицо я вообще плохо себе представляю такую форму договора по которому вы самограничите свои права предпринимательской детятельности выходящих за рамки текущего договора.
    Все договора должны работаь в разках закона РФ
    Закон напрямую вас не может ограничить в праве работать с любым подрядчиком.
    Так что с юристом составьте договор, но этот пункт будет нечтожен при любом варианте его написания.( так что смело можно тут же нарушать)
    Это требование с области "гардероб ответственности не несет" ( ответственное материальное хранение)
    Писать ты можешь че угодно но от закона это не спасет.
    В вашем случае этот пункт будет нечтожным.
    Ответ написан
    8 комментариев
  • Где большая часть места на диске С?

    HemulGM
    @HemulGM Куратор тега Windows
    Delphi Developer, сис. админ
    В вашем случае настоятельно рекомендую переустановить ОС. Это избавит вас не только от проблем с местом на диске, но и решит другие проблемы, которые с большой вероятностью имеются на б/у компьютере. Не говоря уже о проблеме конфиденциальности.

    Потратьте ещё 500р и отнесите компьютер в сервис, пусть сбросят всё и установят вам чистую Win7.

    P.S. я не просто так сказал "сервис". Ни в коем случае не вызывайте "мастера" на дом.
    Ответ написан
    Комментировать
  • Где большая часть места на диске С?

    15432
    @15432
    Системный программист ^_^
    Автоматически найти все отжирающие место файлы поможет софт типа такого
    https://www.raymond.cc/blog/find-out-what-files-an...

    Вручную - включите отображение скрытых файлов и папок, а также защищенных системных файлов. Обычно самые прожорливые:
    - файл гибернации (в корне диска, размером с ОЗУ)
    - файл подкачки (в корне диска, размер настраивается в свойствах)
    - C/Пользователи/<имя юзера>/AppData/Local/Temp - временные файлы, часть удаляется сама фичей "Очистка диска"
    -C/Пользователи/<имя юзера>/AppData - в целом программы сюда класть всякое любят
    - Корзина - как ни странно, забывают про неё
    - Windows / Program Files - ну тут через удаление программ
    Ответ написан
    2 комментария