Задать вопрос
  • Реально ли иностранцу (гражданину Нидерландов) найти работу в IT в России?

    @Vitsliputsli
    CityCat4, да причем здесь миграция? Вы по ходу на ней зациклились и только о ней и хотите поспорить. Еще раз:

    правда, как они сейчас это делают, когда ютуб то потухнет, то погаснет - хрен бы его знал


    Действительно, как же они это делают...
    Это неудачный сарказм от "одмина"...


    ps если что "одмин" это самоназвание из профиля.
    Написано
  • Реально ли иностранцу (гражданину Нидерландов) найти работу в IT в России?

    @Vitsliputsli
    На ютубе множество каналов, которые ведут переехавшие в РФ немцы, канадцы, американцы (правда, как они сейчас это делают, когда ютуб то потухнет, то погаснет - хрен бы его знал)

    Действительно, как же они это делают...
    Это неудачный сарказм от "одмина", тогда все остальное здесь написанное тоже сарказм? Или это такая провокация?
    Написано
  • Возможно ли использовать ИИ для сравнения текста?

    @Vitsliputsli
    Если есть критерии одинаковости, то зачем тогда ИИ?
    Написано
  • Что прочитать или как разобраться(грубо говоря с чего начать)?

    @Vitsliputsli
    Максим Припадчев,

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

    Ни при чем.
    Испугался и убежал, чтобы не затмевать свет идущий от солнце...ого.
    Написано
  • Что прочитать или как разобраться(грубо говоря с чего начать)?

    @Vitsliputsli
    Если совсем ничего не понятно, то следует начать с алгоритма k-ближайших соседей. Ну и не забывать, что это по прежнему черный ящик.
    Написано
  • Чем отличается функция от конструктора и где применять то или это?

    @Vitsliputsli

    Собственно, конструктор нужен для того, чтобы выделить память под объект. Скорее всего, это общее правило для всех ОО-языков (а иначе, зачем он нужен?).

    Конструктор нужен для инициализации объекта, т.е. создания всего необходимого, чтобы получить полностью готовый объект.
    Это почти такой же метод как и остальные, но вызываемый сразу после создания объекта.
    А где, когда и сколько выделять памяти это прям совсем не его задача, даже если ваш язык вам позволяет этим управлять, это не задача, не функционал ООП.
    Написано
  • Как декомпозировать задачи, с которыми ты впервые сталкиваешься?

    @Vitsliputsli
    historydev, а зачем вам уметь декомпозировать? Серьезно, какую проблему решаете?
    В вопросе как то вскользь упомянуто "задача висит неделями, пока я изучаю то, что нужно для её решения", это пытаетесь решить? Вы хотите ускорить выполнение задач, тогда чем поможет декомпозиция? Вы хотите планировать сроки выполнения задач? Тогда декомпозиция только один из вспомогательных инструментов, а не основной.
    Написано
  • Как передать имя таблицы как параметр?

    @Vitsliputsli
    Akina,

    у PDO есть конструкция для подстановки параметра-литерала, но нет таковой для подстановки имени объекта

    Это не PDO, это prepared statements. А с точки зрения последних подстановка имени таблицы бессмыслица. Здесь в комментариях описал почему.
    Ну а в коде можно сделать что угодно.
    PDO конечно имеет свою реализацию, но это эмуляция, т.е. попытка повторить для замены.


    В общем случае ненадёжно

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

    @Vitsliputsli
    Я бы не назвал это ограничением, параметризация имени таблицы бессмыслена. Т.к. таблицы известны, это не бессмысленный набор символов. И, главное, оптимизатор не сможет построить план для неизвестной таблицы.
    Написано
  • Как передать имя таблицы как параметр?

    @Vitsliputsli

    На строго в рамках PDO - полностью согласен с предыдущим оратором. Никак.

    Не совсем понимаю, что это значит. Какая разница какой интерфейс доступа к бд. Что нам мешает использовать динамический sql в pdo?
    Если речь не про pdo, а про prepared statements, то опять же, что нам мешает и здесь использовать динамический sql. Если вопрос инъекций, то также как вы описали для процедур - используем белый список. А байндить как переменную не резон, т.к. это не переменная.
    Написано
  • Как выявить символы не поддерживаемые кодировкой?

    @Vitsliputsli
    Антон Шаманов,
    висивиг редактор т.ч. ограничить проблематично

    Странно, неужели не умеет такое из коробки? Тем не менее это наиболее простой для вас и наиболее удобный для пользователя вариант, если не менять таблицу.


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

    Это проблема, если в БД пишет код, которым вы не управляете, такое чревато.
    Написано
  • Как выявить символы не поддерживаемые кодировкой?

    @Vitsliputsli
    Михаил Ливач, да, согласен, можно посимвольно сравнить. Тогда замечание снимается.
    Но я бы в этом случае просто белый список символов сделал прямо на фронте.
    Написано
  • Как выявить символы не поддерживаемые кодировкой?

    @Vitsliputsli

    Соотв-но если изначальный utf8 не равен итоговому utf8 значит в исходной строке были символы вне кодовой таблицы koi8r

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

    @Vitsliputsli

    конвертнуть строку в koi8r и сравнить посимвольно

    Не нужно сравнивать, просто на фронте разрешите только те символы, которые нормально конвертируются.
    Либо как предложил Adamos, храните в base64, или в json с преобразованием utf в коды.
    Написано
  • Переподключение PHP к MySQL как правильно организовать?

    @Vitsliputsli
    Владимир Егудин,

    Применительно к данной ситуации - отключение не хорошая практика, так как подключение очень дорогостоящая операция. Как следствие в какой момент отключаться и подключаться - не понятно.

    Подключение не бесплатное, но далеко не дорогостоющее, тем более для mysql. И я не предлагаю для каждого запроса делать коннект, а реконнект по эксепшену это ведь тоже коннект.
    Отключаться нужно по неактивности, как выберете, хоть 10 минут, хоть 1 час. В вашей схеме, при асинхронности, это не должно быть проблемой.
    Я не настаиваю, что только так нужно, но на мой взгляд вместо "словить" ошибку и среагировать лучше недопустить ошибку.
    Написано
  • Как отправить HTTP на локальный сервер?

    @Vitsliputsli
    Lynn «Кофеман»,
    зачем писать две строчки если их можно не писать?

    Действия должны отображаться в коде, все что в нем не отображается - "магия". А это плохо, любая магия затрудняет чтение кода, просто пхпшники привыкли что искать нужно в $_POST и им это кажется само собой разумеющимся. Но это "странная магия", вероятно со времен Personal Home Page.
    Вообще, наличие такого парсинга это прекрасно, проблема что управлять им нельзя, и он сам вызывается в определенных условиях.

    GET и POST покрывают 99% запросов в обычном сайте (если вы не пишите REST API).

    Да, даже не обычные сайты в 80% случаев обходятся только get и post, только вот шлют в post json, ну иногда xml. Потому как rest это основной тренд, путь и не restful.

    И ещё один плюс x-www-form-urlencoded, его можно отправить без всякого JS

    Малозначимый плюс, пойди найди веб-ресурс без js.
    Написано
  • Как отправить HTTP на локальный сервер?

    @Vitsliputsli
    Lynn «Кофеман»,
    отправлять стандартный x-www-form-urlencoded, который PHP автоматически разберёт и положит в $_POST, а не вычитывать из php://input и парсить вручную json.

    А в чем кривизна? Там две строчки, причем очень логичные, читаем вход и парсим его. А вот то, что только для x-www-form-urlencoded и только для post-запросов данные парсятся внутри php и кладутся в некий глобальный массив выглядит как тяжелое наследство языка. Да и json всяко лучше, как более человекочитаемый и более лаконичный без этих километровых разделителей.
    Написано
  • Как отладить обновление строки, залоченой SELECT FOR UPDATE в MySQL8?

    @Vitsliputsli
    Ипатьев, может не совсем понятно написал. Я про то, что это не механизм тотального контроля, поэтому не зная что делает каждая из сторон для избежания гонки очень сложно с гонкой бороться.
    Непонятно откуда уверенность что сторонняя транзакция не выполнилась раньше, или может позже, но ничего не изменив, или может она не ждет блокировку и роллбечится.
    Написано
  • Как отладить обновление строки, залоченой SELECT FOR UPDATE в MySQL8?

    @Vitsliputsli

    сторонний сервис (у меня нет к нему доступа, я не знаю как он работает)

    select for update это попытка избежать гонки в вашем приложении, а не система прав. Она никому не запрещает запись, т.е. у "стороннего сервиса" нет такого запрета. Если вы не контролируете запись в БД, select for update вам ничем не поможет.
    Написано
  • Как отправить HTTP на локальный сервер?

    @Vitsliputsli
    Lynn «Кофеман»,
    хотя читать JSON в PHP несколько криво и лучше бы этого избегать

    Что именно криво и как этого избегать?
    Написано