Задать вопрос
  • Влияют ли на производительность неиспользуемые библиотеки?

    GavriKos
    @GavriKos
    Микропетпроджект - домашнее облако homeCloud
    Вы о Using что ли?
    На производительность у конечного пользователя - не влияет, оптимизатор их вырежет.
    НА производительность у вас - ну немного влияет, но вы этого не заметите
    Ответ написан
    Комментировать
  • Почему System.ArgumentOutOfRangeException: Индекс и длина должны указывать на позицию в строке?

    @humoured
    Вы всё на свете найдёте в коробке с карандашами
    Потому что второй параметр в перегрузке функции Substring() — длина подстроки, а не конечный индекс.
    Ответ написан
    Комментировать
  • PHP: чем отличается __DIR__ от dirname(__DIR__)?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    echo __DIR__ . PHP_EOL;
    // /home/user/scripts
    echo dirname(__DIR__) . PHP_EOL;
    // /home/user
    Ответ написан
    Комментировать
  • Как преобразовать документ pdf в лист excel?

    @rPman
    Анализ документа это не простой процесс, повезет, если структура у всех документов будет одинаковая, и машиночитаемая, тогда это легко будет автоматизировать, а вот если информация записана 'как получится', где порядок и способ записи отличается (например запись велась много времени и операторы менялись, каждый изобретал свой формат, один по 1 строке на данные название: значение, другой в одну строчку через запятую, трети написал сначала список названий значений, а затем список самих значений и т.п. или писать данные в колонках,.. вроде бы у каждого есть какой то порядок но везде разный). Помимо формата есть еще проблема с разными шрифтами и положениями элементов на странице, лишний текст на сопровождающих картинках и графиках и много нюансов.

    В общем требуется исследование, которое тебе сначала придется провести.

    У тебя 2 варианта решения (как повезет)
    1. если текст в pdf записан как текст
    разбираешь документ на элементы чтобы получить список текстовых строк с координатами (вот тут обсуждалось там же и пример)

    2. если текст не содержится внутри документа и pdf исключительно как картинка (бывают разные случаи, в простом варианте - pdf как векторное изображение, грубо говоря команды принтеру/графопостроителю, бывает прямо изображение помещают, например после сканирования бумажных
    то используй инструменты распознавания текстов на изображении, например открытый tesseract (его можно самому натренировать на шрифты, если будут использоваться необычные, в этом случае конечно вручную придется набирать символы из документа, подготавливать их в обучающую выборку... примеры в интернете есть, но скорее всего так глубоко лезть не придется)
    Чтобы получить текст с координатами так же можно посмотреть пример тут
    Осторожно с мультиязыковыми заморочками, одни и те же буквы в разных языках могут как совпадать по виду так и отличаться (разные шрифты), плюс распознавание может путать букву О и ноль, l и один и т.п.

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

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

    Каждое такое приложение будет примитивным, фактически для каждого формата в списке документов - свое.

    p.s. вспоминаю историю, где начальство какой то организации потребовало распечатать тонны (буквально машину) бумаги, какие то документы... а в последствии в другой конторе пришла задача отсканировать всю эту кипу бумаг

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

    SithPasha
    @SithPasha
    Интересен пункт про алгоритмы и паттерны ...
    Допустим доказать , что кто то пользуется вашими алгоритамами можно вскрыв программу(что собственно уже не особо законно)
    А насчёт стека и паттернов ... тут любой пошлёт куда подальше и будет прав ибо некоторые задачи наиболее оптимально реализуются 1-2 паттернами ... или же вариативность даже в рамках стека может быть самой разнообразной и никому не припишешь использование именно "твоего" решения)
    Любые ж бюрократические претензии ... они долгие и могут быть обоюдоострые или превращение нападающего
    в обыкновенного патентного тролля
    Ответ написан
    Комментировать
  • Какую Windows выбрать?

    @rPman
    У тебя ОЧЕНь медленный процессор, 500 попугаев в single thread (современные машины дают 3000-4000, 10-летней давности нормой было 1000-1500), надеюсь у тебя быстрый ssd.

    не поверю что у тебя win11 работает "как на windows 7"

    если тебя устраивают ограничения lite (все же это кастомная сборка без возможностей обновления) то само собой ставь ее, она же у тебя летает

    p.s. какую windows ставить? - рекомендую linux ubuntu, точнее xubuntu или kubuntu
    на правах шутки, в которой 99% доля правды
    Ответ написан
    3 комментария
  • Как зарегистрировать патент на алгоритмы и технологический стек?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    вы точно читали законы?
    общее правило идите к специалистам и патентуйте ваше кноу хоу
    https://habr.com/ru/post/415789/
    Ответ написан
    Комментировать
  • Как вычислить мат.выражение представленное в виде дерева?

    @dima20155
    you don't choose c++. It chooses you
    Можно пройтись поиском в глубину (DFS) до последнего узла и дальше двигаясь в обратном направлении выполнить вычисления.
    1. вначале мы находим самую нижнюю ноду, а она точно цифра (в противном случае смысла нет)
    2. делаем шаг назад и выполняем вычисление
    3. редактируем имеющуюся структуру "укорачивая" дерево (то есть вместо знака действия у нас теперь цифра)
    4. делаем так пока не получим дерево состоящее только из корня, которое и будет решением.

    Попробовал написать решение твоей задачки, код по ссылке
    https://godbolt.org/z/PzWjYjvfz
    Ответ написан
    3 комментария
  • Фреймворк для фронтенда: Vue или React?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    63b28a2c0d0ab081346797.png
    Ответ написан
    Комментировать
  • Телефон пролежал в воде пол ночи. Ему конец?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    Шансов на выживание мало, на будущее, в таких случаях надо:
    1. Как можно быстрее разобрать аппарат, отключить и извлечь батарею;
    2. Погрузить на ночь в чистый (без примесей) спирт;
    3. Просушить, собрать, отнести в сервис на диагностику.
    Спирт активно вытягивает воду и есть шанс, что телефон выживет.
    Но если проводники внутри под действием воды и тока начали активно корродировать, то это уже может не помочь.
    Ответ написан
    6 комментариев
  • Какие книги посоветуете по бизнесу в айти?

    Griboks
    @Griboks
    Для вашего уровня книги не нужны. Вы просто нанимаете менеджера по маркетингу, который все книги уже прочитал, и он рекламирует ваш перспективный и работающий проект.
    Ответ написан
    Комментировать
  • Кто знает amd ryzen 9 5950x поддерживает ram ecc?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Не подойдёт, Ryzen не умеют в буферизованную RAM, иначе как продавать младшие EPYC.
    Ответ написан
    8 комментариев
  • Где хранится история ввода команд?

    Denkuwus
    @Denkuwus
    15 y.o
    В Kali Linux история ввода команд обычно сохраняется в файле ~/.bash_history для оболочки Bash и в файле ~/.zsh_history для оболочки Zsh.

    По умолчанию оболочка Bash сохраняет историю ввода команд при выходе из оболочки и загружает историю при запуске нового сеанса оболочки. Размер файла истории определяется значением переменной среды HISTSIZE. Вы можете изменить это значение, добавив следующую строку в файл ~/.bashrc:

    HISTSIZE=1000

    Это установит размер файла истории на 1000 команд. Вы также можете изменить переменную HISTFILESIZE, чтобы изменить максимальный размер файла истории.

    Файл ~/.zsh_history работает аналогичным образом для оболочки Zsh. Вы можете изменить размер файла истории, задав переменные HISTSIZE и SAVEHIST в файле ~/.zshrc. Например:

    HISTSIZE=1000
    SAVEHIST=1000


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

    Номера телефона это более сложная вещь чем тебе кажется, вот тебе пример того что может пойти не так
    1. +7 или 8
    2. не все номера начинаются с 8, с обственно с нее вообще мало номеров начинаются, россия.
    3. Коды 495 и тд, для россии их достаточно много по этому валидировать телефон по ним можно, но регулярочка там получается мое почтение и возникают проблемы с другими странами.
    4. Синтаксис написания разный Пробелы, () - притом все это может расположиться в разных местах, или отсутствовать
    Если же мы говоирм только о русских номерах то я тебе рекомендую следующее.

    Удаляешь все символы(+|7|8|(|)|-|\s|) , а еще лучше оставляешь только цифры,

    +7(926)5748801 ->      7926574880
    +7(926) 57 48 801 ->   7926574880
    8 (926)574-88-01 ->    7926574880
    +7(926)5748801 ->      7926574880
    89265748801 ->         7926574880
    +79265748801 ->        7926574880

    И тд

    Убеждаешься в их количестве
    заменяешь +7 на 8 или наоборот как тебе нужн.
    +7 (926) 574-88-01

    И после этого уже расставляй тире и скобки в том формате что тебе нужно при для сохранения в бд.
    Не нужно требовать с человека соблюдать твой синтаксис просто если он в состояние ввести 11 цифр бери их и форматируй уже сам.
    Ответ написан
    Комментировать
  • В какой последовательности лучше учить паттерны проектирования?

    @d-stream
    Готовые решения - не подаю, но...
    Учат - стихи.
    Паттерны - изучают. До полного понимания что это и зачем. Со временем - осознают это. Ну или нет...)
    Ответ написан
    Комментировать
  • Почему запрос к mysql внутри цикла while выполняется очень долго?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Время получения 40000+ записей из таблицы offers = 0.2s

    Вот такой код отрабатывается за 4s

    то есть в цикле делается 40тыс запросов к таблице clients каждый из который выполняется за 0.0001 sec

    вам точно надо прочитать про JOIN'ы чтобы одним запросом получить все нужные данные
    https://www.w3schools.com/sql/sql_join.asp
    Ответ написан
  • Как сократить код с подпрограмой?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Эти три функции идентичны, с точностью до переименования локальных переменных. Вы три раза написали одно и тоже. Можно 2 функции просто удалить и использовать отсавшуюся три раза.

    Ну какая разница, как у вас там переменная называется sA или sB - результат будет один и тот же.

    Да, может вы путаетесь, но аргумент в функции можно тоже переменовать. Хоть там и написано int masivA(int* a), этот a - это аргумент. Он никак не привязан к массиву a в main(). Туда можно передать и a и b и любой другой массив.
    Ответ написан
    4 комментария
  • Как превратить строку в массив в C#?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Никак, надо писать свой парсер таких строк. Найти две скобки, разбить на группы кавычек, убедится, что между ними стоит по запятой, собрать это в массив строк.
    Либо согласится, что это что-то похожее на json и парсить это как json каким-нибудь NewtonSoft.Json
    Ответ написан
    Комментировать
  • Какое оптимальное время въехать в проект?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    От проекта зависит. На моëм проекте например новичкам даже сеньорского уровня до первой простой таски требуется недели две, а выход на 100℅ эффективность занимает 3-6 месяцев.
    Ответ написан
    9 комментариев
  • Как математически обоснована безопасность 6-ти подтверждений транзакции?

    @mcigorli
    Полагаю - на фоне наблюдения все что НИЖЕ 6 блоков это текущий максимум для злоумышленников исходя из текущих мощностей\возможностей.
    Думаю как только мощности\возможности или прогресс позволит добиться больших результатов - последует увеличение кол-во блоков 7,8,9....

    6 блоков - результат с учетом текущих возможностей мощностей.
    Ответ написан
    4 комментария