Задать вопрос
  • Как в софтверных компаниях относятся к использованию ИИ?

    @Everything_is_bad
    Но имея базовые понятия, да с помощью ИИ я же могу junior'ом то уже работать
    но вот только джины не сильно и нужны, а тем более такие.

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

    Короче, ИИ способен убирать кучу рутины квалифицированного программиста, но не заменить его. Так же ИИ решает мелкие частные задачи "обычных" людей.
    Ответ написан
    4 комментария
  • Что выбрать для хостинга сайта: 2 ядра до 5 ГГц или 6 ядер до 3.2 ГГц?

    Steel_Balls
    @Steel_Balls
    Всё зависит от задач.
    Я бы под свои задачи взял 6 ядер пусть и немного с меньшей частотой. В наше время частота не имеет никакой роли.
    около 3000 уникальных пользователей в день.

    Это вообще ни о чём. Это 100 юзеров час? два в минуту? Серьёзно?
    С такой "нагрузкой" даже офисный калькулятор справится.

    Масштабируемость и надёжность зависят не от железа, а от архитектуры разработки сервиса.
    Я на нескольких слабых машинах легко могу масштабировать сервис и держать примерно 10-20 тысяч запросов в секунду. Пока мне этого хватает. Будет нужно - куплю ещё десяток машин по 5 долларов за штуку.
    Ответ написан
    2 комментария
  • Как объединить запросы в транзакцию?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Поскольку быстрым поиском готовый ответ на Тостере не находится, стоит написать канонический.

    Сначала общая информация:

    Транзакция служит для обеспечения принципа "всё или ничего", гарантируя, что либо все запросы выполнились без ошибок, либо, если в каком-то из запросов произошла ошибка, то все предыдущие будут отменены, как будто их и не было вовсе. Из чего можно сделать следующие выводы:
    • транзакция не нужна для любого количества запросов на выборку данных, поскольку там нечего откатывать
    • транзакция не нужна для одного запроса на изменение данных (вставка, обновление, удаление) - такой запрос представляет из себя мини-транзакцию, которая сама автоматом откатывается при ошибке
    • не следует путать транзакции с блокировками. Хотя при определённых параметрах транзакции могут выполнять и блокировку, в общем случае это два разных механизма, которые могут выполняться как вместе, так и по отдельности. По умолчанию транзакция НЕ обеспечивает блокировку таблиц, участвующих в запросе


    Самым простым вариантом будет заключить запросы между вызовами beginTransaction() и commit(), как показано например в документации к последнему.
    $db->beginTransaction();
    $db->prepare("UPDATE `tab1` SET `col` = ?")->execute($data1);
    $db->prepare("UPDATE `tab2` SET  `col` = ?")->execute($data2);
    $db->prepare("UPDATE `tab3` SET  `col` = ?")->execute($data3);
    $db->commit();

    Для современных версий РНР этого должно быть достаточно: начиная с РНР 8.0 ошибочный запрос по умолчанию выбрасывает исключение. Не пойманное исключение прерывает выполнение РНР скрипта. При прерывании выполнения скрипта РНР закрывает соединение с Mysql, а при закрытии соединения Mysql откатывает все открытые в нём транзакции.

    Соответственно, при ошибке в любом из запросов транзакция автоматически откатится. А при успешном выполнении всех запросов транзакция, соответственно, закоммитится.

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

    Важно помнить некоторые особенности.
    • в mysql не все движки таблиц поддерживают транзакции. впрочем ,учитывая что innodb является движком по умолчанию уже лет 20, это вряд ли будет проблемой
    • запросы на изменение страктуры таблиц автоматически коммитят стартовавшую транзакцию, то есть их следует избегать. Кажется, в новых версиях какие-то уже не коммитят, но я предпочитаю избегать всё равно.


    Также желательно помнить, что в любом более-менее сложном коде очень быстро появляются вложенные транзакции, а PDO при попытке стартовать транзакцию при уже открытой, выбросит исключение, что, соответственно, приведёт к откату родительской (и это гораздо лучше поведения MySQL по умолчанию, которая автоматически коммитит старую). И имеет смысл накидать простой кодик, который считает вложенные транзакции, и не стартует, если уже был старт, а при коммите вычитает вложенность, а реально коммитит только если вложенности не осталось. Что-то вроде кода из комментариев к beginTransaction(), подравняв его напильником
    class \MyPDO extends \PDO
    {
        protected $transactionCounter = 0;
    
        public function beginTransaction()
        {
            if($this->transactionCounter++ === 0) {
                return parent::beginTransaction();
            }
        }
        public function commit()
        {
            $this->transactionCounter--;
            if($this->transactionCounter === 0) {
                return parent::commit();
            }
        }
        public function rollback()
        {
            $this->transactionCounter = 0;
            return parent::rollback();
        }
    }

    разместив его либо прямо в PDO, либо в своем враппере.
    Ответ написан
    3 комментария
  • Как автоматически создавать большие отчёты из множества docx файлов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В общем задача типичная, у компании за год из разных отделов прилетает по 100+ отчётов с разным содержанием, в конце года необходимо создать один большой отчёт о всей проделанной работе на 300+ страниц, делали это вручную, но сейчас решили автоматизировать процесс, возник вопрос - как это реализовать?

    Для нейронных сетей не свойственен "детерминизм". Тоесть дважды поставленная одна
    и та-же задача для НС будет иметь 2 разных результата. Это свойство НС очень важно
    например если вы их путаете с Lisp/Prolog и прочими экспертными системами которые
    внутри себя действительно содержали if-else логику а НС так не работает.
    Она - "шумит".
    Она завист от random генератора и этот генератор является ее базовым свойством.
    Его принципиально нельзя отключить даже при 0 температуре алгоритмов НС.

    Но если у вас есть программисты которые в состоянии написать парсер 100+ документов
    с использованием НС и протестировав его доказать что результат правильный - то это
    будет более верная стратегия. Подумайте в эту сторону.
    Ответ написан
    Комментировать
  • Как правильно хранить SMS-коды?

    Fragster
    @Fragster
    помогло? отметь решением!
    ИМХО можно удалять только по протуханию, а то возможна ситуация, когда пользователь нажал за напрос кода, он не пришел, нажал на повторный запрос - приходит первая СМС, он вводит - неправильно.
    Естественно, надо ограничивать количество запросов смс на номер например раз в минуту, но не больше чем 5 раз в час. ну и с одного ip - тоже, не более, допустим, 10 запросов в час
    Ответ написан
    5 комментариев
  • Редактор PDF и AstraLinux, какой использовать?

    @Semmes951
    Ваши потребности(перечисленные) с головой покрывает Stirling-PDF. Можно развернуть на своём сервере и работать через браузер
    Ответ написан
    Комментировать
  • Как перевести программу на С++ в бот Телеграм?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Написать демона, взяв например такую либу
    https://github.com/reo7sp/tgbot-cpp или поискать еще на гите

    На хабре
    https://habr.com/ru/articles/844628/
    Ответ написан
    Комментировать
  • Что есть похожего на fail2ban, но с центральной базой забаненных?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Тяжело наверное, когда во всех поисковиках забанили, да?

    https://docs.iredmail.org/fail2ban.sql.html
    Ответ написан
    Комментировать
  • На каком альтернативном маркете android самая простая регистрация/публикация/модерация?

    Fragster
    @Fragster
    помогло? отметь решением!
    Научите приложение скачивать свой новый apk со своего хостинга и устанавливать его. Ну и пусть периодически проверяет обновление.
    Ответ написан
    Комментировать
  • Как одновременно вывести изображение с 4 пк (и более) на один монитор?

    Vindicar
    @Vindicar
    RTFM!
    Вывести изображение вполне реально, так видео с камер наблюдения сводят в одну сетку. Поищи video multiplexer. Вот только удалённое управление через него не организуешь.
    Можно, конечно, использовать KVM для отдельного переключения управления, но всё равно будет убого.
    Ответ написан
    5 комментариев
  • Поставил Windows 11 на украинском, как поменять обратно на русский?

    @artem-dainov
    Php, java, js. Boot spring, jquery, git
    1. win+i открываем параметры
    2. Выбираем "Час та мова / время и язык"
    3. Выбираем "Мова та регион / язык и регион"
    4. Жмем на список языков интерфейса.

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

    ИИ не позволяет тебе научиться двум очень важным навыкам:
    1. Поиск и фактчекинг информации
    2. Дебаггинг, самостоятельный поиск и решение проблем.

    "Ломание головы, почему код не работает" - это важная часть учёбы.

    Любая LLM - это не всезнающий джин и у всех есть свои неприятные ограничения с которыми ты рано или поздно столкнёшься.

    И RAG, всякие MoE, подключение поисковика не всегда могут помочь.

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

    Я не говорю, что тебе нужно срочно отказываться и прекращать использовать chatgpt. Это точно такой же инструмент, как и поисковик, всякие QnA, stackoverfloe и тд, со своими ограничениями и нишами, где он хорошо работает.
    Ответ написан
    Комментировать
  • ИИ на стадии обучения программированию. Стоит ли?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Обучение - это формирование связей в тканях мозга, поэтому оно больше похоже на накачивание мышц, а не на загрузку файлов на флешку. И происходит это, как и с накачиванием мышц, только под нагрузкой. Нельзя нарастить бицуху, если гантели будет тягать робот. Нельзя научиться программированию, если задачи решает ИИ.
    Ответ написан
    Комментировать
  • Почему при большей мощности процессора его tdp ниже аналога?

    У пня частота выше. На зеоне частоту снизили ради снижения tdp.
    Тепловыделение растёт нелинейно при росте частоты (наверное даже по экспоненте)
    Ответ написан
    Комментировать
  • Как дать права root с ограничением?

    @SunTechnik
    По идеологии Linux - все есть файл.
    Поэтому, если у меня появилась возможность запустить любой текстовый редактор с правами root (не важно через sudo или ещё как), я могу все перекроить в системе. Может потребоваться правка других файлов, но джина уже не остановить.

    Можно через sudo дать повышенные привелегии на запуск конкретных команд, но если роль пользователя не формализована, а описана словами: админить, всего не предусмотреть. И очень быстро в список команд попадает текстовый редактор.

    Включённый Selinux может усложнить жизнь злоумышленнику, но сначала попьет Вашей крови..
    Ответ написан
    1 комментарий
  • Как настроить VPN с выделенным IP-адресом для работы из Китая, чтобы подключаться к корпоративной сети компании?

    CityCat4
    @CityCat4 Куратор тега VPN
    Дома с переломом ноги
    Как-то мне довелось читать статью про китайские впн, правда было это давненько, может поменялось что. Так вот там было сказано, что Китай большой и в разных его частях разная строгость блокировок да и в разное время тоже :) В крупных городах Юга блокировок ... меньше :) чем в малонаселенных городах Севера.

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

    Ну и есть еще ваирант, не знаю насколько он реалистичен - убедить китайские власти, что твой впн для них угрозы не представляет
    Ответ написан
    Комментировать
  • Как можно остановить некоторые HDD в системе?

    hint000
    @hint000
    у админа три руки
    hdparm -S 12 /dev/sdb
    остановит диск /dev/sdb через 12*5=60 секунд неактивности

    https://askubuntu.com/questions/39760/how-can-i-co...
    https://unix.stackexchange.com/questions/112117/sh...
    https://serverfault.com/questions/29595/how-do-i-g...
    Ответ написан
    Комментировать
  • Бота нет среди участников или админов группы. Как запретить его использование?

    Нужно добавить в группу админом своего бота, который станет удалять контент от inline-bot'ов.

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

    Можно запретить отправку в группу стикеров или картинок. Но нет функции запрета использования контента от инлайн ботов.

    Поэтому только чужой готовый или свой бот, который будет получать все сообщения в группе и автоматом удалять те, что упоминают инлайн ботов. Объект сообщения от бота содержит поле via_bot

    Например https://github.com/TeaDove/anti-inline-bot
    Ответ написан
    1 комментарий
  • Как в PHP создать свою глобальную функцию?

    sergiks
    @sergiks Куратор тега PHP
    ♬♬
    Для такой отладки можно добавить в прожект компонент VarDumper – он из Symfony, но можно и использовать отдельно.

    Появятся две глобальные функции dump() и dd(), много удобнее базовой var_dump()

    Но лучше очень полезно разобраться и использовать XDebug — представьте, насколько удобнее ткнуть любую строчку кода — и в ней исполнение встанет на паузу, а вы сможете посмотреть значения всех переменных на этот момент.
    Ответ написан
    Комментировать
  • Насколько Btrfs устойчива к аварийным отключениям?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    Пришлось физически перезагрузить ... Насколько Btrfs устойчива к таким ситуациям? Каков риск испортить файлы?

    Я бы оценил риск как достаточно высокий. Хотя именно про hard reset на компьютере это пока больше теория. Практика дальше.

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

    И вот тут у БТРФС дела не фонтан. Отключение света она выдерживает плохо.
    И, хотя такие клиенты бывают не так часто (из-за не самой высокой распространённости ФС), у нас это отдельный небольшой подтип заказов - потеря данных с BTRFS при отключении питания.

    При этом результат восстановления часто весьма посредственный.

    Отдельная "благодарность" за это Synology, которая использует BTRFS в своих NAS. Сейчас не найду, но по-моему, раньше у них то ли на сайте, то ли даже в интерфейсе НАС было гордое упоминание о возможности создания некой "более лучше fault-tolerant" конфигурации, которая по факту была в районе RAID 1 с БТРФС.

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