• Как разговаривать с кошкой удалённо через веб-камеру и колонки?

    @Vitsliputsli
    Любая видеосвязь с автоответом, например в Skype можно настроить автоответ на звонок.
    Ответ написан
    Комментировать
  • Как вытащить строку из текста?

    @Vitsliputsli
    Используйте регулярные выражения, в зависимости от вариативности текста, от обобщенного:
    /<b>(.*)<\/b>/
    до более узкого:
    /\(длина, ширина, высота\): <b>(\d+ x \d+ x \d+)<\/b> см. /
    Ответ написан
    Комментировать
  • Как вести базу знаний всех обновлений, исправлений и изменений, вносимых в проект?

    @Vitsliputsli
    Confluence, обычно в нем ведут базу знаний, также там есть теги - labels.
    Ответ написан
    Комментировать
  • Как правильно решить задачу?

    @Vitsliputsli
    select
        names.id,
        names.name,
        ages.age
    from names
    left join ages on names.id=ages.id and names.name='Андрей'
    Ответ написан
    Комментировать
  • Как распознавать в php слова (типо систем компьютерной алгебры)?

    @Vitsliputsli
    Берете транслятор, если на основе php, то например phplrt. И пишите грамматику вашего языка. Перед написанием рекомендую прочитать "книгу дракона", это прям библия компиляторов, как минимум главы про грамматику.
    Ответ написан
    Комментировать
  • Как выбрать данные, если нет в одной таблице, то взять из другой?

    @Vitsliputsli
    1) если вам нужен кеш, то используйте его как кеш. т.е. берите из кеша горячие данные, если их там нет, то идите за холодными данными.
    2) то, что вы попытались сделать, больше похоже на шардирование, когда данные делят на несколько таблиц, чтобы было меньше данных в одной таблице. Так ли это нужно? У вас сотни миллионов строк в таблице? Но и шардирование делается не так, выбирается критерий деления для пользователей, такой чтобы вы заранее знали в какой таблице лежит пользователь.
    А сейчас изза соединений производительность только ухудшается.
    Ответ написан
    Комментировать
  • Как автоматизировать запросы в Postgresql?

    @Vitsliputsli

    существует ли какой-то инструмент который позволяет запускать SQL-запросы от аналитиков и чтобы это было прозрачно и с логами?
    Рассматривали вариант репозиторий с CI/CD куда аналитик кладет свой SQL-запрос.


    Да хоть сами такой напишите, это просто.
    Но, проблема не в этом, работать от принципа "сломали прод - щас по логам найдем кто" это очень хреновый вариант. Я к тому, что подобные запросы, должны верифицироваться, и желательно не только админами, но и техническим руководителем проекта. Да это долго, да тяжко для всех участников, но это лучше, чем положить прод.
    Только так, если дорожите стабильностью.
    Если какието запросы делаете слишком часто - очевидна необходимость автоматизации, добавления функционала в админку, т.к. при большом кол-ве, фактор человеческой ошибки вырастет. А само наличие таких запросов, если их мало, нормально для большинства систем.
    Ответ написан
    Комментировать
  • От чего зависит количество единоверменных запросов, которые может обрабатывать БД?

    @Vitsliputsli
    Кол-во параллельных операций в один момент времени зависит от кол-ва ядер процессора.
    Только вот запрос к БД это не атомарная инструкция процессора, а значит СУБД может выполнять множество запросов, выставляя их на паузу в произвольном месте и переключаяясь на другие запросы. А как это будет, слишком завязано на сами запросы, что они делают, как блокируют друг друга, и от предпочтений СУБД.
    Ответ написан
    2 комментария
  • Как лучше построить архитектуру ML-сервиса?

    @Vitsliputsli
    Если подразумевается высокая нагрузка:
    Т.к. параллелизм, то сервис лучше писать на Go, Python тут плохой вариант.
    А вместо rest лучше grpc, если для модели нужно много данных.
    Ответ написан
    2 комментария
  • Как искать работу мидлу, если не разу не работал?

    @Vitsliputsli
    Стоит ли подавать резюме на мидл или синьор разработчика или лучше поработать джуном.

    Не стоит. Мидл и тем более сеньор, который придет на собеседование и будет с опаской поглядывать на собеседующего, а вдруг что.... Такой никогда не пройдет собеседование.
    Если же вы уверены в своих силах, то в чем проблема?

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

    @Vitsliputsli

    Почему следующий код на PHP печатает 7, а не 12?

    Потому что это не js. А global работает ровно так как описано в доке, по-другому никак, т.к. область видимости работает иначе в языке.
    А делать надо так, чтобы функция внутри себя не обращалась с произвольными данными извне, только с теми, которые вы заранее объявили. Только так можно контролировать код. А значит global не нужен.
    Ответ написан
    Комментировать
  • Как пробросить подключение к удаленной базе данных mysql в phpstorm?

    @Vitsliputsli

    Но когда я хочу выполнить скрипт на локальном проекте в phpstorm

    PHPStorm - это IDE, она не выполняет скрипты. Скрипты выполняет интерпретатор.
    Ответ написан
    Комментировать
  • Какие методики продуктивного глубокого освоения многих направлений программирования можно взять на вооружение?

    @Vitsliputsli
    Не обманывайте себя, он знает также мало, как и все остальные. Просто спрашивает он то, что знает, и разумеется не спросит то, что не знает. А получилось ли так, что ваш круг знаний не совпал с его, или действительно ваш круг знаний слишком мал однозначно сказать нельзя.
    То, что вы плотно не работали с брокерами сообщений или ActiveRecord вообще ничего не значит. Тоже самое про алгоритмы, хотя тут с оговорками, смотря о чем была речь. Опять же, что подразумевается под "внутреннее устройство баз данных", если что из себя представляет B-Tree, то middle должен это знать, а если сколько раз MySQL в отличие от PostgreSQL записывает каждую строчку на диск, то не обязательно.
    И это, не говоря о том, что спросить он мог не то, что вам понадобится для работы, и даже не то, что сам использует, а то что вчера прочитал на Хабре и чем решил выпендриться.
    Ответ написан
    Комментировать
  • Нужна концепция, часто ли используете блок схемы скриптов и чем пользуетесь?

    @Vitsliputsli
    Иногда. Как составляющая ТЗ (заказчик оформляет, либо уже внутренний аналитик). Как средство взаимодействия между заказчиком, аналитиками, разработчиками, тестировщиками. Описывается примитивная логика, но которой много, между разработчиками оно не нужно.
    Ответ написан
    Комментировать
  • Как вынести запросы rest api на постоянное соединение?

    @Vitsliputsli
    Хочется вынести одно постоянно соединение api(или части запросов) на одно постоянное соединение. Остальной сайт и странички будут работать с множественными соединениями.

    Выделите для api отдельный пул php-fpm воркеров из 1 штуки.
    Ответ написан
    Комментировать
  • Нужно ли хорошо разбираться в алгоритмах джуну?

    @Vitsliputsli
    Часто ловлю себя на мысли что не сразу могу описать решение задачи в виде кода

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

    @Vitsliputsli
    Не 10 запросов, а 10 find_in_set. Или 1 регулярка.
    Но лучше, нормализуйте базу.
    Ответ написан
    1 комментарий
  • Как перехватить все существующие типы исключений?

    @Vitsliputsli
    Я их ловлю не для того, чтобы вывести, а чтобы отправить себе в телеграм.

    Тогда просто настройте парсинг логов. Держать такую логику в обработчике исключений сомнительная затея, не говоря уже о том, что ошибка может произойти до регистрации обработчика, или в самом обработчике.
    А лучше настройте нормальную визуализацию ошибок, например Elastic+Kibana, а там уже по создавайте алерты по которым будут кидаться сообщения в телеграм. В сообщении будет просто ссылка на лог в Кибане, где можно будет увидеть не только ошибку, но и что ей предшествовало.
    Ответ написан
  • Почему PHP не исполняется построчно, хотя он интерпретируемый?

    @Vitsliputsli

    Интерпретируемые языки исполняются построчно

    Неа, интерпретируемые языки это те, которые исполняются не машиной, а программой-интерпретатором.
    Работа php скрипта начинается с парсинга кода. Проводится лексический и грамматический анализ. Будет ли использоваться какой-либо промежуточный байткод здесь пока не важно.
    В вашем примере, php парсер обнаружил неизвестную продукцию и сразу же кинул ошибку. Можно было, конечно, выполнить код до последней корректно определенной продукции, но зачем? Php старается уходить от устойчивости к стабильности, т.е. от "отработать хоть както" к "отработать обязательно корректно". "Хоть както" все равно можно, но это должен быть сознательный выбор.
    И, хотя в php нет предварительной компиляции, тем не менее ошибки синтаксиса легко обнаруживаемы при запуске, поэтому логично о них сообщать сразу.
    Что касается, зачем анализировать весь код, а не построчно, то это тупо быстрее даже без байткода, и дает преимущества по оптимизации. Например, если вы объявили переменную и присвоили ей значение, а дальше в коде нигде ее не меняли, то php сделает ее константой.
    Ответ написан
  • В чем может быть причина разницы результатов запроса в PDO и SQL(разница формата дат)?

    @Vitsliputsli
    to_date(date_begin::text, 'DD.MM.YYYY'::text)

    т.е. у нас есть поле date_begin в формате datetime, а мы его кастуем в текст. Затем из текста по какому-то непонятному формату получаем дату.

    А все это работает скорее всего потому, что в php при подключении к БД используется формат даты 'DD.MM.YYYY', поэтому эта бредятина работает, а когда напрямую подключились к базе, там вероятно дефолтный 'YYYY-MM-DD' и получается чушь на выходе.

    В общем удалите эту дикость и посмотрите как в PostgreSQL нормально получить date без промежуточного преобразования в строку.
    Ответ написан
    1 комментарий