Задать вопрос
  • Синхронизация двух директорий через ssh?

    saboteur_kiev
    @saboteur_kiev Куратор тега SSH
    software engineer
    Мне постоянно советуют rsync

    Неужели такая странная хотелка, что нет готового решения?

    Так тебе и советуют готовое отличное решение.

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

    Нет, это не замена scp. То, что используется тот же протокол не значит что работает одинаково. rsync умеет обновлять файлы частично, экономит трафик.

    Вот пишу я какой-то код на ноуте. А запускаю на сервере. Как мне самым простым способом синхронизировать две директории — локальную и серверную?

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

    В твоих требованиях противоречия.
    То тебе нужно, чтоыб какие-то файлы не синкались. То есть уже нужно поддерживать список исключений и возможно настраивать его на каждом сервере.
    Потом у тебя день поработать на каком-то сервере, а завтра на другом. То есть ситуация, когда у тебя 5-10 серверов и ноут будут синкаться друг с другом?
    Потом ты хочешь "готовое решения", но не хочешь ставить его на каждый сервер/ноут и настраивать. Ну вот есть какой-нить unison, который синкает в обе стороны за один запуск, но его нужно будет и ставить и настраивать как и synthing, который ты не хочешь ставить или настраивать.

    Я бы не парился, а просто юзал приватный git репозиторий, который легко поставить везде. И в гите не обязательно сотни веток и даже коммит можешь просто ребейзить постоянно, чтобы был один.
    Или rsync который уже обычно есть почти везде и который понятно как работает.

    Или уж настрой тот же synthing, а настройку добавь себе в гитхаб, чтобы можно было скриптом скачать готовый сетап и все.
    Ответ написан
    8 комментариев
  • Как предотвратить имитацию запросов?

    Elaryks
    @Elaryks
    Да, сымитировать запрос можно. Поэтому есть правило: "Нельзя доверять данным, которые приходят с клиента". Следовательно, данные с клиента нужно проверять на сервере. Критические данные и операции нужно подписывать или хэшировать, чтобы избежать подмены. Например, для защиты от Replay Attack используют одноразовые токены — при повторном запросе токен уже не сработает.
    Ответ написан
    4 комментария
  • Возможно ли ускорить обмен данными между удаленным клиентом и сервером?

    @rPman
    Быстро/медленно это не скорость а ваши эмоции. Нужны численные данные.

    В первую очередь необходимо провести тесты скорости, последовательно исключая потенциальные замедлители и используя максимально простой протокол (одноименные утилиты) ping, для замера времени отклика, и iperf, для ширина канала.

    Т.е. сначала скорость внутри локальной сети между машинами в разных зданиях, затем между vpn шлюзами и машинами в их локальной сети, затем между шлюзами в сети интернет.

    Дополнительно во время этой максимальной нагрузки замеряй нагрузку на процессоры vpn шлюзов.

    В принципе топовые скорости openvpn это сотни мегабит в секунду, wireguard - до половины гигабита (допускать конфиг дающий гигабиты за счёт большого mtu но это плохо влияет на типовое использование файлового сервера), при использовании топового железа x86. По уму самый быстрый это gre, по медленнее ipsec и внизу всякие openvpn...
    Ответ написан
    Комментировать
  • Деплой на vercel зависает на стадии сборки webpack, что делать?

    DZHAMBULAT-SAMOUCHKA
    @DZHAMBULAT-SAMOUCHKA Автор вопроса
    Frontend разработчик
    Короче потратив уйму времени я понял, что проблема была в плагине bundleAnalyzer. Этот плагин автоматически запускался при каждой сборке моего проекта. Поэтому во время сборки на vercel этот плагин наверное там запустился и блокировал дальнейший деплой проекта. Я его отключил и всё успешно заработало!
    Ответ написан
    Комментировать
  • Что за 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 комментарий