Задать вопрос
  • Что за CI workflow на github?

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

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

    почему некоторые разработчики начинают использовать вот такую странную систему
    Потому что эта "странная система" в том или ином виде - промышленный стандарт в современной разработке.

    вместо того, чтобы публиковать бинарники в releases
    Конкретно эти разработчики своё решение обосновали так:
    Tagged releases might still be made available here in the future, but considering the high volume of regressions upstream and Proton's QoL patches being hard enough to rebase for us to be forced into the reverts route every few months, the nightlies will be just as stable.
    Ответ написан
    6 комментариев
  • Как в докере смотреть процессы, запущенные на хост системе?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Ваш P. S. не канает - пересмотрите свои хотелки и не городите фигню. Хотите управлять другими контейнерами - прокиньте внутрь сокет Докера, но на этом в общем-то всё.
    Ответ написан
    Комментировать
  • Как узнать, на каком движке работает сайт?

    @tukreb
    Для этого есть расширение https://www.wappalyzer.com/ для хрома, ставите, и смотрите.
    https://www.wappalyzer.com/apps/

    Сайт по ссылке работает на https://modx.com/content-management-framework
    Ответ написан
    1 комментарий
  • Как настроить базовую конфигурацию для сбора логов в Linux?

    martin74ua
    @martin74ua Куратор тега Linux
    Linux administrator
    Например взять из примеров в документации.
    Что такое хорошая конфигурация в вашем понимании?
    Ответ написан
    1 комментарий
  • Какие есть инструменты для написания интерфейса для терминала?

    C++

    Rust

    Это из того, что у меня в закладках. Так-то ищите по тэгу TUI (text user interface, в оппозицию к GUI) - и будет вам счастье.
    Ответ написан
    Комментировать
  • Какие есть инструменты для написания интерфейса для терминала?

    @pfemidi
    Тут могло бы быть краткое описание меня
    Если ностальгия по 90-м и интерфейсам IDE от фирмы Borland, то Turbo Vision можно:

    81506401-4fffdd80-92f6-11ea-8826-ee42612eb82a.png
    Ответ написан
    Комментировать
  • Redis спустя время теряет данные, с чем это связано и как исправить?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Тебе прямым текстом пишут Permission denied при попытке доступа к RDB файлу - он не может загрузить файл БД.
    Исправить доступ к /etc
    Ответ написан
    4 комментария
  • Как ускорить поиск по бд MySQL?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Хотелось бы понять как можно ускорить поиск товаров в базе данных MySQL, когда приходится использовать большое количество Id категорий в in.


    Дело не в большом количестве, а в том, сколько уходит времени на поиск одной. Если у колонки нет индекса, то поиск любого количества будет медленным. А если есть индекс, то будет быстрым.

    Плюс непонятно, с чего вы решили, что проблема именно в in. Если у вас сто тыщ товаров, и все их надо отсортировать или сгруппировать, то проблема вообще не в in. А в той самой сортировке или группировке. И надо подбирать составной индекс специально под них.

    Чтобы ускорить поиск по бд MySQL, надо не писать на тостер глубокомысленные умозаключения про три джойна и сто тыщ товаров, а выполнить команду EXPLAIN и начинать тупить в её вывод. или по крайней мере привести его в своем вопросе, чтобы он стал предметным.
    Ответ написан
    3 комментария
  • Что выбрать для CI/CD проектов на .net?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    • Самое ближайшее и доступное в вашем случае - GitHub Actions
    • Чуть более сложно, но больше гибкости и автономности - GitLab PipeLines (можно даже у себя захостить сервер)
    Ответ написан
    2 комментария
  • Как перенести большую базу на другой сервер без простоев?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    С минимальным простоем - да, репликация. Выключаете на старом месте, включаете на новом. Блокировать ничего не нужно.
    Ответ написан
    3 комментария
  • Можно ли с ChatGPT создать отчеты и графики на основе GoogleSheets?

    @rPman
    Ищи плагины к chatgpt, не удивлюсь если кто то такой сделал и для табличных процессоров. Напоминаю что chatgpt это не просто gpt, это сложный продукт и пользоваться им не просто.

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

    p.s. я пользовался сторонними площадками типа coze, там и плагины и gpt4... ничего красивого и хорошего с теми же графиками там не получилось
    Ответ написан
    Комментировать
  • Можно ли с ChatGPT создать отчеты и графики на основе GoogleSheets?

    2ord
    @2ord
    Первая мысль: а зачем вообще здесь нужен ИИ?
    Можно ведь построить графики средствами самого Google Sheets. Ну или экспортировать в CSV и оттуда в какую-то СУБД, чтобы сделать запрос.

    А, вообще, вроде бы, при помощи Amazon Bedrock можно создавать запросы к СУБД, на основе которых уже можно строить любые графики.
    AWS Bedrock Gen AI - Generate SQL Code

    Дополнение
    Но мне интересно проверить, может ли "AI" упростить это.

    насколько я понимаю, речь идёт о составлении запросов на основе набора данных в Google Sheets. Используя питоновский пакет LangChain, можно подключить к СУБД и составлять запросы от ИИ человеческим языком. Получив ответ на запрос, нужно программно вставить данные ответа и график.
    В https://developers.google.com/sheets/api/samples/charts описано как программно создавать графики.
    Ответ написан
    5 комментариев
  • Можно ли с ChatGPT создать отчеты и графики на основе GoogleSheets?

    Maksim_64
    @Maksim_64
    Data Analyst
    На сколькой я знаю с gpt, ты не можешь взаимодействовать с google sheets, только вопросы задавать как сделать то или иное. А вот с Gemini ты можешь взаимодействовать, с google workspace и как следствие с google sheets. На сколько это все качественно там не знаю, но начиная от официальной поддержки, ютуб мануалов, да и сам Gemini может подсказать, как с этим делом взаимодействовать.

    Не думаю что google даст api для выполнения скриптов от LLM для своих сервисов. Так что предполагаю что только gemini.
    Ответ написан
    3 комментария
  • Можно ли заставить LLama2 выполнять действия?

    @rPman
    И нет и, может быть, да. Помимо llama существует лучше модели, например mistral и основанные на нем типа openchat35 или лучше mixtral (он неожиданно умный и скорости как 7b) или или еще лучше от databrix (по скорости как llama30b).

    У разработчиков языковых моделей например есть chat версии, есть instruct, а есть base. Общий смысл каждой определяется тем, на какое именно использование их заточили. Например instruct позволяет описывать инструкции на естественном языке и главное получать ответ тоже на естественном языке, со всеми вытекающими от сюда неудобствами (api предполагает стандартизацию форматов вывода). chat ожидает что с ним будут общаться в формате user: xxx, ну а base модели изначально работают только как completion, и их обычно дообучают до своих форматов и наборов знаний.

    Кстати, к примеру модели, которые обучали программированию (а это почти все, ищи в бенчмарках HumanEval, потому что openai говорили что именно с этого начинали свою модель обучать и это очень было ей полезно), можно буквально попросить давать ответ в виде json, описав в промпте его формат и оно будет пытаться это делать, точно помню что прбовали за основу взять принцип - модель генерирует готовую программу, решающую вашу задачу, бакэнд ее запускает и выдает ответ и так на каждый запрос. Но чем глупее и проще модель, тем с большей вероятностью она будет отходить от строгого формата, а значит бакэнд приложение, которое будет обслуживать уже твой api должно ожидать эти расхождения и обрабатывать их не как ошибка (например лишнее текстовое описание типа "вот вам ответ в формате json: ...".

    Так как llm это посимвольная (по токенам точнее) генерация ответа, на каждом из них, в момент когда происходит выбор следующего токена, можно вставить свой алгоритм, ограничивающий доступный список своими, по своему правилу. Например можно описать регулярное выражение, которое будет применяться к сгенерированному тексту плюс выбираемый токен и если оно не подходит, отказывать в выборе этого токена. Например какая то реализация этого есть в llama.cpp ищи grammar, это ключ у api вызова к server.

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

    Есть общепринятые лайфхаки, повышающие качество ответа. Это добавление примеров (вопрос+ответ+вопрос+ответ+вопрос+...) т.е. one-shot/multi-shot, именно так слабые модели могут встать по бенчмаркам с zero-shot у сильных моделей, без примеров. Или попросить в запросе модель поразмышлять (think step by step), надавить на эмоции (найти ответ очень важно для меня, от этого зависит моя жизнь), ценой места в окне контекста. Еще есть подход, делать один и тот же запрос (или кстати слегка менять prompt) много раз, и сделать какой то механизм валидации ответа (например большая часть одних и тех же ответов считать верной) - как защита от галлюцинаций (был пример когда модель заставили миллион раз генерировать программу, запускать ее и проверять результат - так сделали реальное научное открытие)

    НО! Просто не будет.
    Ответ написан
    Комментировать
  • Почему сервер MySQL закрывает соединение?

    karabanov
    @karabanov
    Системный администратор
    Посмотри есть ли, что нибудь в error.log и проверь, что процесс сервера не перезапускается.

    PS
    И не надо публиковать текст картинкой - текст с картинки не скопирова, не найти поиском, а порой и вовсе сложно разглядеть, как из-за того, что картина "зашакалена" и её не увеличить, так и из-за того что на фоне какие-то картинка.
    Ответ написан
    3 комментария
  • Как лучше загрузить сайт на React на GitHub для доказательства, что он действительно на React?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    этот вопрос у меня относится к удобству чтения кода и просмотра сайта другими пользователями, чтобы они удостоверились в разработке на React.

    В репу заливается весь проект, исключая зависимости, так, чтобы можно было скопировать проект себе на локалку, поставить зависимости и:
    - Запустить в режиме разработки одной командой.
    - Собрать проект одной командой.
    - Выполнить тесты одной командой.

    Либо, чтобы из репы можно было скопировать лишь dist/ и сразу опубликовать это как приложение в любом месте, без дополнительных команд.
    От такого способа не будет видно, что применялся Реакт?

    Слепой не увидит ничего, в остальном - все чекается на раз-два.

    Рекомендую изучить крупные репы и обратить внимание на то, что там в рамках одной репы имеются исходники (src), сборки разных видов (dist/build), опубликованы все необходимые команды так, чтобы даже не зрячая обезьянка могла скопировать и выполнить эту команду, чтобы получить желаемый результат.
    Ответ написан
    1 комментарий
  • Что такое кластерный индекс в mysql?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Кластерный индекс... это на самом деле понятие крайне виртуальное.

    Что такое обычный некластерный индекс? берём выражение индекса, считаем его значение для каждой записи, сортируем и пишем на диск. Получаем отдельную структуру, в которой выражение индекса сортировано. Когда потребуется искать заданное значение этого выражения, мы вместо просмотра от записи к записи сразу половинным делением быстренько найдём нужное значение, возьмём из него уникальный идентификатор записи, и обратимся за записью. Если в таблице 1000 записей, то для поиска заданного значения без индекса нам в среднем пришлось бы просмотреть 500 записей, а с индексом - всего 10.

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

    В MySQL (точнее, в используемом по умолчанию движке InnoDB) первичный индекс, во-первых, существует ВСЕГДА, во-вторых, определяется так (в статье, на которую дали ссылку, имеются неточности в пункте 2):
    1. Если первичный ключ задан явно, то его выражение является также и выражением кластерного индекса. Или иначе - первичный ключ и есть кластерный индекс.
    2. Если первичный ключ явно не задан, но в таблице имеется индекс, отвечающий всем следующим требованиям:
      • является уникальным
      • не является функциональным, в т.ч. не использует в выражении вычисляемые поля
      • не использует в выражении поля, которые определены как допускающие значение NULL

      то именно такой индекс используется в качестве первичного. А если таких индексов несколько, то используется первый по тексту запроса на создание таблицы
    3. Если не имеется ни того, ни другого - генерируется синтетический скрытый 6-байтовый номер записи, который и используется как первичный ключ. Следует отметить, что штатных способов доступа к этому значению не существует.


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

    Фактически - именно так.

    Создаётся ли отдельная таблица или просто упорядочивается хранение существующих данных?

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

    Если данные упорядочиваются этим индексом, допустим по ID, то почему при select без сортировки данные могут возвращаться в произвольном порядке, а не отсортированные по ID по-умолчанию?

    Если не задан явно ORDER BY, сервер имеет право вернуть записи в любом порядке, как ему удобнее. В большинстве случаев, но не всегда, он будет возвращать записи в порядке чтения с диска...

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

    ===

    PS. Кстати, правило выбора индекса, который будет использоваться в качестве кластерного, имеет неприятный побочный эффект. Если у некоторых полей, входящих в какие-то индексы, изменяется свойство NULLability, то это может привести к изменению того, какой из имеющихся индексов станет использоваться в качестве первичного по пункту 2. В результате мы получим невозможность использования INSTANT / INPLACE методов, и будет использован длинный COPY. Впрочем, ситуация такая крайне редка.
    Ответ написан
    2 комментария
  • Как настроить ssh для возможности контроля действий?

    Alex_Geer
    @Alex_Geer
    System Engineer
    Инструменты платные потому что имеют что то уникальное: набор функционала или удобство в использование.
    Все ваши хотелки можно реализовать при помощи разных инструментов, требуется просто поэкспериментировать и много времени провести в гугле.

    1. Возможно в этих статьях найдешь ответ 1 статья и 2 статья
    2. Ни как.
    3. Ссылка
    4. Можно использовать Tmate

    P.S Если вы предоставляете данные разным людям, то для безопасности я бы все же потратился на покупку удобного ПО для контроля их действий.
    Ответ написан
    1 комментарий
  • Запуск компьютера с удаленным доступом и некоторыми службами. Как это провернуть максимально правильно?

    @pfg21
    ex-турист
    ага, для автозапуска необходим вход пользователя.
    используй вместо автозапуска службы виндоус, они конечно кривоваты для использования, но зато запускаются вне зависимости от пользователя.
    крививоватость использования исправляю через Non-Sucking Service Manager есть еще какието поделки.
    очередность можно сделать через зависимости, но виндовые зависмости сервисов не ковырял.

    обязательно изучай линукс. в серверных делах без него никак.
    со смартфона можно подключаться через кучу полноценных ssh-клиентов.
    минус - смартфон не очень удобен для commad line. блютус клавиатура или планшет уже проще.
    еще есть вариант прикрутить веб-интерфейсы, но тут готовых заготовок нет.
    Ответ написан
    2 комментария
  • Есть ли сервис, который составит план разработки сайта со всеми нюансами?

    @Drno
    Любой сайт фриланса. Там за денюшку Вам составят подробный план и проект)
    Насчет технических моментов - это не Ваша проблема, а реализатора
    Ответ написан
    Комментировать