• ++i быстрее чем i++?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Теоретически, ++i быстрее. Практически - нет, потому что компиляторы могут и то и другое соптимизировать в одни и те же ассемблерные инструкции в большинстве случаев. Исключение, если инкримент используется в выражении. Но тогда они не взаимозаменяемы. Еще может быть случай, если i какого-то странного типа и инкрименты перегружены и криво написаны. Или если оптимизация отключена при компиляции. Или у вас доисторический компилятор.
    Ответ написан
    Комментировать
  • Хранят ли доски объявлений удалённые объявления?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Все хранят. Потому что удаление записи из базы данных - это тяжелый запрос. Проще пометить как удаленный.
    Но так как лишние данные не нужны, кто-то может чистить от старого периодически например раз в месяц или раз в год.

    Другое дело, что сколько там тех данных в объявлении? Можно вообще никогда не удалять даже на самом дешевом хостинге. Максимум файлы удалить, если их можно аттачить в объявлении.
    Ответ написан
    8 комментариев
  • Как организовать хранение своих наработок и полезных кусков кода, инструкций?

    akelsey
    @akelsey
    Использую joplin, есть на всех платформах, работает без сервера, один бинарь, локально либо синхронизироваться в облака, использует markdown, поиск.
    Ответ написан
    Комментировать
  • Почему код из книги Эрика Метиза "Изучаем Python" не работает?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    В английской версии всё ок между прочим.
    eng
    645355141213d133294531.jpeg


    При этом чуть ниже написано что определение функции модифицировали, добавив age, просто в самом фрагменте кода этого нет почему-то:
    В определение функции добавляется новый необязательный параметр age, которому присваивается специальное значение по умолчанию None


    Естественно, правильный код будет
    def build_person(first_name, last_name, age=None):
        """Возвращает словарь с информацией о человеке."""
        person = {'first': first_name, 'last': last_name}
        if age:
            person['age'] = age
        return person
    musician = build_person('jimi', 'hendrix', age=27)
    print(musician)
    Ответ написан
    4 комментария
  • Python как быстро получить число элементов архива tar.gz?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Не получится из-за специфики устройства tar-файла. Пока весь не прочитаешь, не узнаешь сколько в нём каталогов. Это потоковый формат, а тут он ещё и сжат сверху gzip'ом.

    Это как посчитать быстро сколько вещей в чемодане. Пока по одной не вытащишь и каждую не посчитаешь - не узнаешь.
    У других архиваторов, например zip, есть индексная табличка. Это как бумажка с перечнем всех вещей в чемодане. Она лежит прямо под крышкой и её можно достать первой.

    Придётся как-то обходить эту проблему. Например использовать другой формат архива, или еред архивацией делать отдельный файл с перечнем всех файлов, и его класть в архив первым. А может быть вам и не нужно на самом деле количество элементов в архиве,а того, что вы этим количеством хотите добиться можно достичь иначе.
    Ответ написан
    2 комментария
  • Кто нибудь может помочь оценить код (связку) на C# для игры на Unity?

    @OwDafuq
    1) Зачем вы сразу лезете в Unity, если не знаете даже основ C#? Без знаний основ вы не сделаете "крутой код";
    2) Форматирование - жесть, присоединяюсь к GavriKos, прочитать что-либо нереально;

    Смысл данных площадок не в том, чтобы научить вас правильно/красиво/etc. писать код, а чтобы помочь разобраться в какой-то конкретной ошибке в вашем коде, с аудитом кода вам не сюда :)
    Ответ написан
    9 комментариев
  • Кто нибудь может помочь оценить код (связку) на C# для игры на Unity?

    GavriKos
    @GavriKos Куратор тега Unity
    Из за такого выравнивания это читать невозможно.
    Ответ написан
    7 комментариев
  • Выключение компьютера?

    Adler_lug
    @Adler_lug
    На контакты, все, что есть. Желательно переподключить все что можно, от шнура питания, до разъема питания материнской платы и дисков.
    Ответ написан
    Комментировать
  • Выключение компьютера?

    xez
    @xez Куратор тега Компьютеры
    TL Junior Roo
    Надо починить, чтобы вот так не получилось: https://qna.habr.com/q/1274128
    Ответ написан
    Комментировать
  • Есть какой-то сервис для деобсуфицирования кода js?

    Stalker_RED
    @Stalker_RED
    Ты прикалываешься, да?
    https://www.google.com/search?q=js+deobfuscator+online

    Сразу предвижу "они плохо справляются". Тут ничего не поделаешь, у обфускаторов фора.
    Ответ написан
    Комментировать
  • Что сделать после обучения нейронной сети?

    @rPman
    Нейросеть это функция, которая на входной вектор выдает выходной вектор.

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

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

    Так же нужно подготовить и сконвертировать сохраненную сеть к формату, используемому конечным приложением. Очень часто обучают сетку на питоне а используют к примеру на javascript или c++, вот пример

    p.s. после обучения сетки нужно оценить ее параметры, прогнать ее на тестовой выборке (данные, которых не было в обучающей выборке), так же в процессе обучения необходимо собирать различные метрики, оценивать скорость с которой меняются результаты прохождения тестовой выборки, чтобы выявить момент, когда сеть станет переобучаться
    Ответ написан
    Комментировать
  • В чём же тут разница?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    > - передать в
    >> - дописать в
    < - взять из
    Ответ написан
    1 комментарий
  • Как сделать обработку столкновений между шарами?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Да ты прикалываешся. Почему у тебя в параметрах цикла типы разные. Чтоб жилось труднее?

    float count = 1, dimensions = 2;
    count = atof(argv[3]);
    ...
    for (int i = 0; i < count; i++) {
    Ответ написан
    Комментировать
  • Почему при подтверждении для SSL-сертификата acme-challenge читается неправильно?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Значит, в веб-сервере урл смотрит в другое место. Или за прошедшее время certbot (или кто там у вас) сделал ещё один запрос.
    Ответ написан
    Комментировать
  • Какие нормативные акты и ГОСТы регулируют использование Threat Intelligence на предприятии?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Идем в гугл
    анализ угроз информационной безопасности предприятия гост
    Ответ написан
    Комментировать
  • Почему все называют TypeScript компилируемым языком программирования?

    Maksclub
    @Maksclub
    maksfedorov.ru
    В целом, если не упарываться терминами, везде для такого рода поведения как у Typescript указывается слово Compile.
    Например, контейнер в Symfony (язык php), чтобы ускорить тяжелую работу по разбору конфигов (всех разных) собирается контейнер один раз (компилируется) и спокойно все называют это дело компиляцией.
    https://symfony.com/doc/current/components/depende...

    Отдельно отмечу, что в английском языке это не самостоятельное слово для сборки программ, и может использоваться много где, где нужен смысл "собрать". Соответственно все, что собирает почти всегда корректно называть компилятором. Потому компиляция у нас — перевод "собирание вместе"
    Ответ написан
    1 комментарий
  • Взаимодействие приложений на разных стэках?

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

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

    А потом приходит начальник, и говорит. - эээ, мы вообще планировали распараллеливать эту нейронку, у нас будет от 10 до 10500 инстансов в в облаке. Данные давайте сложим вот в монго-кластер, задачи по обработке сбрасываем в очередь в celery, если очередь вырастает больше чем на N, то кубер автоматически поднимает еще несколько инстансов... и так далее, насколько у него фантазия разгуляется.

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

    И как-то так получается, что пока у тебя маленький проект на одном сервере - тебе эти накладные расходы "со всем издержками http протокола" погоды не делают. А когда компов много, то может так выйти, что кроме этого протокола и альтернатив не так уж много.

    А кроме производительности бывают вопросы типа "сервис упал во время работы, что случилось с задачей которую он обрабатывал? Нужно ли его рестартнуть? Нужно ли перебросить эту задачу на другой инстанс? Если все таски работают нормально, а эта уже в пятый раз упала, то может она кривая какая-то?" И тут понеслось новым слоем - система мониторинга, оповещения, автоматический или полуавтоматический "кризис менеджмент".

    В общем тема большая, и большие коммпании решают ее по разному - структура сервисов фейсбука и алиэкспресса может сильно отличаться, и каждый будет уверен что его подход хорош. Ну или не очень хорош, но менять архитектуру для сотени или тысяч сервисов - дорого. И комания binance основанная 5 лет назад может архитектурно оказаться гораздо современнее и технологичнее какого-нибудь paypal'а основанного в прошлом тысячелетии. И не потому что paypal не шарит, а потому что переделывать большую систему очень дорого.

    А в майкрософте, основанном 50 лет назад, можно вообще очень странные и неэффективные штуки найти, я уверен.

    В общем, о чем это я - тема сложная, и одного решения на все случаи нет, и быть не может.
    В большинстве случаев оценивать нужно не только накладные расходы, но и масштабируемость, отказоустойчивость, насколько легко это все поддерживать, и цену, конечно-же. И цену за лицензии и зарплаты людей, которые это внедняют и обслуживают.
    Ответ написан
    2 комментария
  • Какие существуют способы контроля доступа к telegram-боту?

    YuriyVorobyov1333
    @YuriyVorobyov1333
    Software Developer
    Является, вы не сможете подменить id

    Плюс в самом telegram многое завязано на айдишники

    А говоря про контроль доступа, никто не запрещает использовать тот же RBAC, но тут вам все равно понадобится id пользователя

    А есть еще вот такой вариант

    Исходя из вопроса вы направлены на одного определенного пользователя, это все выглядит несколько избыточно, пользователь в telegram уже аутентифицирован, и его id подходит для авторизации без нагромождения лишнего кода, но если вам нужно предоставить доступ группе пользователей, то лучше прикрутить роли
    Ответ написан
    Комментировать
  • Как нужно собирать датасет для модели бинарной классификации?

    @rPman
    Обязательно нужно собирать посты на ВСЕ тематики, точнее все, которые могут быть поданы на вход твоего алгоритма.

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

    p.s. модель llama, точнее openassistent 30b, неплохо читает новости и отвечает на вопросы, в т.ч. по категории (очень сложно составить правильный запрос), на десктопном процессоре 60 русскоязычных постов по ~7кб она читает примерно 4 часа. Так как модель прекрасно знакома с кодом, ответить на вопрос она сможет.

    ~/llama.cpp/main -t 4 -m /d/OpenAssistant/oasst-sft-6-llama-30b-22042023-q4_0.bin -n 64 --temp 0 -f prompt.txt
    ### Input:
    
    Классификация
    Как нужно собирать датасет для модели бинарной классификации?
    Я хочу создать модель, которая бы выявляла посты из соцсетей на IT-тематику. Какой подход для этого нужно выбрать -
    1) собрать как можно больше постов из соцсетей, в том числе на IT-тематику,
    2) или собрать только посты на IT-тематику?
    Если нужен первый подход, то в каком соотношении надо брать посты на IT-тематику и остальные?
    
    ### Question:
    
    Тема этого сообщения IT или нет? ответь да или нет.
    
    ### Answer:
    
    Да [end of text]
    58 секунд
    ### Input:
    
    Биолог Зоя Зорина о трактовках сознания, способности к самоузнаванию у дельфинов и экспериментах по выявлению сознания у животных
    Сознание — одно из сложнейших проявлений психики человека, которое трактуют по-разному представители разных наук. До недавнего времени его рассматривали только как «высшую, свойственную лишь человеку форму отражения объективной действительности, способ его отношения к миру и самому себе… Сознание представляет собой единство психических процессов, активно участвующих в осмыслении человеком объективного мира и своего собственного бытия. Оно… неразрывно связано с языком» и «со способностью идеального воспроизведения действительности в мышлении» (БЭС, 1996). Есть и еще более отвлеченное представление о сознании как о явлении, не сводимом только к работе мозга, как о «со-знании», совместном знании нескольких индивидов. Вполне очевидно, что искать этот уровень сознания у животных не приходится, и считалось, что в процессе эволюции психики животные останавливаются на стадии интеллекта, а стадии сознания достигает только человек (Леонтьев, 1952).
    
    ### Question:
    
    Тема этого сообщения IT или нет? ответь да или нет.
    
    ### Answer:
    
    Нет [end of text]
    119 секунд
    Ответ написан
    Комментировать
  • Морально устаревший браузер?

    @Drno
    потому что не имеет поддержки нужных технологий
    а про wifi в метро - я бы крайне не советовал тебе им пользоваться впринципе
    Ответ написан
    4 комментария