Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
vekov

Иван Веков

  • 5
    вклад
  • 51
    вопрос
  • 26
    ответов
  • 54%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как получить данные из graphQL через JS/VUE?

    Negezor
    Владлен Хеллсайт @Negezor
    Senior Shaurma Developer
    Вам нужен GraphQL клиент, например urql (urql-vue) или apollo-client (vue-apollo). Если вам нужен один запрос, то можно обойтись обычным fetch, например:
    const response = await fetch('https://example.com/graphql', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        operationName: 'fetchAuthor',
        query: 'query fetchAuthor { author { id name } }',
        variables: {},
      }),
    });
    
    const data = await response.json();
    Ответ написан 09 нояб. 2022
    Комментировать
    Комментировать
  • Как мониторить ответы сервера для Bitrix через Prometheus?

    paran0id
    paran0id @paran0id
    Умный, но ленивый
    я этим модулем пользовался:
    https://github.com/knyar/nginx-lua-prometheus
    но там тоже некоторые пляски с бубном требуются

    мой конспект по сборке с тех времён, должен помочь

    Экспортим пути к библиотекам из devel-пакетов
    export LUAJIT_LIB=/usr/lib64/
    export LUAJIT_INC=/usr/include/luajit-2.1/
    
    На боевом сервере говорим nginx -V и сохраняем опции, с которыми он был собран
    
    Заходим в папку с исходникми  nginx
    
    Берем следующую строку configure, указываем пути к сорцам скачанных модулей и lua-devel
    # ./configure --prefix=/opt/nginx --add-dynamic-module=/home/admin/work/nginx-lua/ngx_devel_kit-0.3.1rc1 --add-dynamic-module=/home/admin/work/nginx-lua/lua-nginx-module-0.10.13 --with-ld-opt="-Wl,-rpath,/usr/lib64/"
    
    а также добавляем после неё опции, с которыми был собран nginx. Получится что-то типа того:
    
    ./configure --prefix=/opt/nginx --add-dynamic-module=/home/admin/work/nginx-lua/ngx_devel_kit-0.3.1rc1 --add-dynamic-module=/home/admin/work/nginx-lua/lua-nginx-module-0.10.13 --with-ld-opt="-Wl,-rpath,/usr/lib64/" --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'
    
    после этого делаем
    make -j
    
    и в папке objs появятся 
    ndk_http_module.so
    ngx_http_lua_module.so
    
    закидываем их на боевой сервер куда-нибудь в /usr/local/lib
    
    на сервер устанавливаем пакет luajit
    
    в главном конфиге nginx в контексте main (вне http, в самом начале) прописываем 
    load_module /usr/local/lib/ndk_http_module.so;
    load_module /usr/local/lib/ngx_http_lua_module.so;
    
    делаем nginx -t
    
    Если всё ок - рестартим и готово.
    
    Если ругается на бинарную несовместимость - перепроверить версии и параметры сборки. Они должны совпадать!

    Ответ написан 11 авг. 2022
    3 комментария
    3 комментария
  • Как мониторить ответы сервера для Bitrix через Prometheus?

    karabanov
    Александр Карабанов @karabanov
    Системный администратор
    prometheus-nginxlog-exporter - просто лог читает - не надо пересобирать Nginx для установки.

    Если хочется пересобирать, то есть nginx-module-vts
    Ответ написан 11 авг. 2022
    1 комментарий
    1 комментарий
  • Что и как тестировать в Битрикс?

    Bedrosova
    Юлия Бедросова @Bedrosova
    Бизнес-процессы нужно покрывать тестами. Интерфейсными тестами - на селениуме, особенно если есть автоматизация в ответ на действия клиентов на внешних формах, иначе может возникнуть ситуация, когда клиенту уйдет счет с неправильной суммой или что-то в таком духе.
    Ответ написан более года назад
    Комментировать
    Комментировать
  • Что идёт не так в пайпе Битбакета при сборке Laravel-приложения?

    Maksclub
    Максим Федоров @Maksclub
    maksfedorov.ru
    composer install --ignore-platform-reqs
    Поставит, игнорируя требование расширения
    Ответ написан более года назад
    Комментировать
    Комментировать
  • Правильность использование GraphQL?

    inoise
    Иван Шумов @inoise
    Solution Architect, AWS Certified, Serverless
    Я уже устал открывать тайну человечества людям, но graphql был создан для оркестрации микросервисного ландшафта, а не чтобы ходить в базу.
    Ответ написан более года назад
    4 комментария
    4 комментария
  • Как правильно сархитектурить graphQL в микросервисах?

    inoise
    Иван Шумов @inoise
    Solution Architect, AWS Certified, Serverless
    Не надо так делать. Graphql это только gateway. Использовать его как интерфейс к базе данных, даже через бизнес-логику это такое себе решение. Хотя можно, конечно, кто же спорит. Федерации это удобно, но на масштабе проще застрелиться, чем заниматься этим. Сам aplollo ничего не сделает за вас - это фреймворк, не больше) ну и большое комьюнити с готовыми модулями
    Ответ написан более года назад
    4 комментария
    4 комментария
  • Какой лучший современный движок под mmorpg?

    HemulGM
    Hemul GM @HemulGM
    Delphi Developer, сис. админ
    Сейчас, сравнительно современные MMO RPG написаны на CryEngine (ArcheAge, Black Desert) - если общедоступный движок, либо на частном движке, который вам не будет ни как доступен.
    Bless, LOST ARK на Unreal Engine
    New World пишется на Amazon Lumberyard он вроде как бесплатный. Но явно не очень популярный
    Ответ написан более года назад
    3 комментария
    3 комментария
  • Почему сервер не доступен через браузер, а через CURL - ок?

    vasilyevmn
    Михаил Васильев @vasilyevmn
    DevOps
    Скорее всего сервер висит на локалхосте 127.0.0.1, а нужно повесить на 0.0.0.0
    Гляньте:
    https://www.swoole.co.uk/
    Ответ написан более года назад
    Комментировать
    Комментировать
  • Как правильно настраивать CI/CD для проекта на kubernetes/swarm под PHP?

    Vitaly Karasik @vitaly_il1
    DevOps Consulting
    Я не вижу ничего "страшно неправильного" в вашем методе.

    Подтягиваю изменения на другой сервак. Там запускаю сборку образа для докера. Пушу в докерхаб.

    автоматически для релевантных веток, если прошли тесты, правильно?

    На проде лежит хелм, он стучится в докерхаб, собирает образы, запускает приложение в миникубе

    Насколько понимаю, это близко к модному сегодня принципу "GitOps". Посмотрите на ArgoCD или Flux, это два популярных инструмента для реализации GitOps.
    Я работал с ArgoCD по такой схема:
    1) CI на Jenkins -при коммите в release branch автоматически прогоняем тесты, строим образы и загоняем в repository
    2) CD - Jenkins как оркестратор: deploy job, который обновляет название образа в репо, на который смотрит ArgoCD, который и делает деплой.

    https://www.reddit.com/r/kubernetes/comments/jfces...
    Ответ написан более года назад
    4 комментария
    4 комментария
  • Как подключиться к Mysql в Minikube/Kubernetes?

    Vitaly Karasik @vitaly_il1
    DevOps Consulting
    А юзера добавил уже через локальную машину

    Не уверен, что понял, но возможно у вас на локальной машине бежит еще один Mysql? И вы добавили на нем, не в поде?
    Ответ написан более двух лет назад
    2 комментария
    2 комментария
  • Как на JS узнать время проведенное на сайте (с листанием страниц)?

    Zoominger
    Рональд Макдональд @Zoominger
    System Integrator
    Мне нужно показать попап пользователю, который провел на сайте 1 минуту.

    Ненавижу эти ублюдские попапы и эти поганые чаты, которые вылезают и пердят каким-нибудь звуком мне в наушники и ещё отрисовываются несколько секунд, не давая закрыться. Кому не плевать, что там пишется в попапе, если все автоматом эту срань закрывают? Чёрт возьми, 2k20 на дворе, но дурачки всё равно пихают это кал на страницы.

    По теме: используйте куки, отмечайте там время, в которое зашёл юзер и проверяйте каждые 10 секунд, не превысило ли время 60 секунд.
    Ну и на попапе можете написать: "Прощайте!" своему посетителю.
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Инструмент для проверки кода на PSR стандарты кодирования?

    SerafimArts
    Кирилл Несмеянов @SerafimArts
    Junior HTML Developer
    https://styleci.io/ ?
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Можно ли в коробочную версию Битрикс24 ставить приложения для облачной?

    alexyarik
    Ярослав Александров @alexyarik
    Битрикс разработчик
    не подходят, облачный Битрикс24 и коробка это два разных продукта
    https://www.bitrix24.ru/features/apps_box.php
    вы сможете установить только приложения коробочного маркетплейса
    marketplace.1c-bitrix.ru/solutions/category/88
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Почему со страниц ЧПУ каталога редиректит на /bitrix/urlrewrite?

    OAPrilepa
    Олег Прилепа @OAPrilepa
    Frontend developer
    <IfModule mod_rewrite.c>
      Options +FollowSymLinks
      RewriteEngine On
      # Переадресация с второстепенных доменов
      RewriteCond %{HTTP_HOST} !^pd\.info$ [NC]
      RewriteRule ^(.*)$ https://pd.info/$1 [R=301,L]
      # SSL
      RewriteCond %{REQUEST_FILENAME} !^/\.well-known(.*)$
      RewriteCond %{HTTP:X-HTTPS} !1
      RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
      # Переадресация с добавлением / в конце
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^([^.]+)(?<!/)$ /$1/ [R=301,L]
      # Переадресация с домена с WWW на домен без WWW
      RewriteCond %{HTTP_HOST}	^www\.(.*)	[NC]
      RewriteRule ^(.*)$ https://%1/$1	[R=301,L]
      # Переадресация с index.php на /
      RewriteCond %{REQUEST_FILENAME} ^(.*)/index\.php$
      RewriteRule ^(.*)index\.php(.*)$ /$1$2 [R=301,L]
      # Безопасность
      RewriteRule ^composer\.(json|lock)$ / [R=404,L]
      RewriteRule ^vendor(.*)$ / [R=404,L]
      RewriteRule ^(.*)\.(idea|git|gitmodules|gitignore|htaccess|vagrant)$ / [R=404,L]
      RewriteRule ^deploy-config\.json$ / [R=404,L]
      # Bitrix
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-l
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
      RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
      RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
    </IfModule>
    Ответ написан более трёх лет назад
    3 комментария
    3 комментария
  • Как отсортировать массив по значениям нескольких ключей?

    vladgba
    Vlad @vladgba
    (。◕‿‿◕。)
    usort
    php.net/manual/ru/function.usort.php

    array_multisort
    php.net/manual/ru/function.array-multisort.php
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как написать запрос SFTP get в одну строку?

    qlkvg
    qlkvg @qlkvg
    python backend developer
    Если есть возможность, поставьте sshpass
    sshpass -p <password> sftp <remote-username>@<remote-host>:/path/to/source /path/to/dest
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
Оценили как «Нравится»
Самые активные сегодня
  • Drno
    • 22 ответа
    • 0 вопросов
  • CityCat4
    CityCat4
    • 7 ответов
    • 0 вопросов
  • vovka3003
    Владимир Шаблий
    • 6 ответов
    • 0 вопросов
  • Bright144
    • 5 ответов
    • 0 вопросов
  • an
    • 2 ответа
    • 3 вопроса
  • Rohan_Singh
    Rohan Singh
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации