• Что такое эндпоинт простыми словами?

    @kalapanga
    Встречаются немного различные интерпретации этого понятия. Например такая. Каждый api-сервис имеет endpoint, к которому и нужно обращаться, например отправлять http-запрос. Обычно это url. Т.о. endpoint - это url. Или такая. url включает в себя маршрут (основная часть адреса сервиса) и endpoint (часть url, которая содержит например имя вызываемого метода). Существует один маршрут и у него несколько эндпоинтов. Т.о. здесь endpoint - это только часть url.
    Ответ написан
    Комментировать
  • GITLAB CI: Возможна ли передача артефактов между pipeline?

    zavoloklom
    @zavoloklom
    Fullstack разработчик
    Для сохранения данных между pipeline нужно использовать cache.

    Например для создания кэша для определенной стадии и определенной ветки, можно использовать вот такой ключ:
    cache:
      key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"


    Тогда при вызове pipeline для этой ветки в следующий раз на этой стадии будут получены закэшированные данные.

    Документация с бОльшим кол-вом примеров: https://docs.gitlab.com/ee/ci/caching/index.html

    ---

    Если по каким-то причинам необходимо получить именно артефакт и кэш не подходит - можете попробовать скачивать артефакт по API через curl.

    Например, чтобы получить последний артефакт с job "test" из ветки master можно добавить такую строчку:
    script:
      - 'curl --location --output artifacts.zip --header "JOB-TOKEN: $CI_JOB_TOKEN" "https://gitlab.example.com/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/master/download?job=test"'


    Документация по АПИ артифактов и примеры: https://docs.gitlab.com/ee/api/job_artifacts.html
    Ответ написан
    Комментировать
  • В чем разница императивного и декларативного подхода в javascript? Это процедурный и ООП стили?

    @pikkvile
    developer
    Моё понимание такое.
    Декларативное программирование - это когда в коде описано что должно получиться, а императивное - когда написано как это сделать. Т.е. в первом случае мы совершенно не интересуемся, каким именно образом машина сделает работу, какие инструкции в каком порядке выполнятся и так далее, мы просто объясняем ей, что хотим увидеть в результате. Примеры декларативных языков - html, css, sql, конфиг nginx. Ещё тут стоит упомянуть функциональные языки (lisp, haskell), программы на них тоже, как правило, являются описанием (декларацией) того "что должно получиться". Ну, короче говоря, мы говорим компьютеру: вот смотри, мне надо чтобы было так, а как ты это сделаешь, мне не интересно. Аналогия такая: у меня есть чертёж бани, я даю его бригаде строителей и уезжаю. Как именно они там будут таскать брёвна, пилить доски и прочее - я не в курсе.
    Программируя императивно, мы описываем конкретные шаги, действия и точный порядок, в котором их нужно исполнять. Напрямую руководим процессом, непосредственно отдаём приказания. Примеров масса, большинство популярных языков императивны, в том числе и javascript. Ты пишешь: вот, сделай-ка переменную myVar, потом запиши туда число 5, повторяй это до тех пор, пока что-то не случится... и так далее. Возвращаясь к примеру с баней, ты теперь - начальник бригады, именно говоришь какое бревно куда класть.
    Что касается процедурного и объектно ориентированного стилей, это немного о другом. Я бы сказал, что это два разных способа писать императивные программы. В процедурном случае мы организуем код, наши команды (приказы машине) в виде процедур. Процедура - набор команд. Это довольно простой способ организации кода и исторически более ранний. ООП - это чуть более сложный подход к организации кода, когда мы группируем инструкции и данные, которыми они манипулируют, вместе. Объект - это состояние (данные) плюс поведение (набор методов). Но это уже немного другая история.
    Ответ написан
    2 комментария
  • Тонкие клиенты вместо моноблоков: а это кошерно?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Тонкий клиент можно развернуть практически на любом компьютере, хоть на том же моноблоке. Просто вместо HDD или SSD будет загрузка по сети.
    Thinstation
    WTWare
    Ответ написан
    1 комментарий
  • Как создать анонимный сайт?

    AnnaWeb88
    @AnnaWeb88
    У вас два пути:
    1) Указать "левые данные" и надеятся, что не возникнет никаких проблем с правообладанием на домен;
    2) Использовать сервис "WHOIS Protection" и надеятся, что регистратор не раскроет ваши данные кому-либо другому;
    Ответ написан
    Комментировать
  • Как создать анонимный сайт?

    x67
    @x67
    зарегистрируйте сайт на утку. Один минус - если утке внезапно понадобится "ваш" сайт, она его получит.
    Ответ написан
    Комментировать
  • Бесплатная замена Google Maps?

    Austin_Powers
    @Austin_Powers
    Web developer (Symfony, Go, Vue.js)
    В тэгах вопроса лежит ответ: OSM + leaflet.js
    Ответ написан
    Комментировать
  • Есть ли софт для тестирования свитча?

    @remzalp
    Программер чего попало на чем попало
    В любом случае придётся собирать стенд из нескольких источников/приемников трафика. Это может быть как микротик, так и комп. Еще у циски есть IP SLA, но всё-равно то больше тест прикладного уровня, не канального.

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

    Лимит маков можно проверить с помощью scapy. Потребуется некоторое знание программирования на питоне. Генерите в цикле случайные исходящие маки, флудите ими, а параллельно шлём пинги. Еще один участник просто сидит и слушает. Когда он тоже начинает слышать пинги - таблица маков переполнилась и наш свитч стал хабом :).
    Ответ написан
    Комментировать
  • Как реализовать своё облачное хранилище?

    akelsey
    @akelsey
    Nextcloud + Сертификат Let's Encryp + любой клиент умеющий Webdav
    Ответ написан
    Комментировать
  • Хранит ли сотовый оператор у себя информацию обо всех IMEI телефонов, в которые вставлялась сим карта?

    Stalker_RED
    @Stalker_RED
    Техническая возможность у них есть, конечно же, а вот надо ли оно им, позволяет ли это законодательство, или даже обязывает - зависит от страны и оператора.
    Ответ написан
    6 комментариев
  • Как осуществляется шифрование телеграм?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    1. Алгоритмов не тысячи. Но вот количество вариантов ключей - неисчислимо.
    Телеграм использует симметричное 256-битное шифрование AES и шифрование RSA 2048. Обмен ключей идет по методу Диффи-Хеллмана. Также почитайте технический FAQ
    2. Шифруются не все сообщения и чаты, а только в том случае, если вы создаете секретный чат.

    3. Почитайте банально википедию - что такое открытый ключ.

    Вкратце.

    1. Вася создает пару ключей. Один длиннее (приватный), другой короче (публичный). Одним можно зашифровать, другим расшифровать.

    2. Вася передает Ане публичный ключ

    3. Аня шифрует им сообщение и передает Васе

    4. Вася расшифровывает.

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

    В идеале, временная пара ключей может генериться отдельно для каждого чата/сессии - так работает https.

    P.S. Полезные ссылки:
    https://medium.com/@tglive/stop-reading-gizmodo-7f...
    Ответ написан
    2 комментария
  • Как отправить письмо дальше в sendmail после заглушки?

    @LKIkost Автор вопроса
    Здравствуйте, решением стала строка:
    exec("echo '{$stream}' | sendmail -i -t");
    Тоесть мы отправили дальше поток в sendmail, куда он собственно и шел.
    Письма отловил я с помощью фейкового почтового сервера, как только пришла идея его поставить, методом тыка и тестов решение нашлось быстро.
    Ответ написан
    Комментировать
  • Попытка взлома или серверный баг?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    доступов нет ни у кого

    ну это Вам так хочется.

    в корневом каталоге появились файлы такие как admin_ajax,php , bb.php

    Ну явно их не Ваш ftp клиент придумал и явно в результате какой-то ошибки могут появиться файлы с осмысленными названиями.

    Вы код файлов приложите к вопросу, если хотите более развернутого ответа. Что там в admin_ajax?
    Ответ написан
    Комментировать
  • Выполнение shell-команды при коннекте к dropbear. Как?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    С sshd все было бы просто: ssh ip_remote command && exit.

    Ну неплохо было бы команду в кавычки взять, как минимум, если вы хотели exit выполнить на удалённой машине: ssh ip_remote "command && exit" . Хотя непонятно, зачем там exit.

    Но с dropbear у меня такой фокус не выходит, к сожалению.

    Какие симптомы?
    Ответ написан
    3 комментария
  • Почему не видит внешний ip адрес пользователя?

    @krosh
    Это нормально, так NAT (Network Address Translation, сетевая трансляция адресов) и работает - подменяет в заголовках пакета один адрес на другой, поэтому у Вас и получается проброс портов и сокрытие внутренней сети от внешнего наблюдателя.

    Вы будете видеть правильные удаленные адреса в случае с маршрутизируемой сетью, т.е. когда не будет NAT, а будет просто проброс трафика с одного интерфейса на другой. Ну или прокси-сервер ставить. Еще есть варинат с VPN-сервером, но тогда каждому клиенту нужно будет ставить vpn-клиента и все будут в одной виртуальной подсети, но все же на конечном сервере Вы будете видеть серые адреса, хотя на VPN-сервере сможете соотнести белый-серый. Наверное других способов тут нет.

    Правила в INPUT не работают, можете их убрать. И рекомендуется MASQUERADE менять на SNAT, если внешний адрес постоянный.
    Ответ написан
    Комментировать
  • Как управлять скриптом удалённо?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    читаете параметр из файла, в нужный момент через ssh кладёте в файл нужные данные.
    Ответ написан
    4 комментария
  • Сетевой удлинитель антенны lte модема. Есть такое?

    Jump
    @Jump
    Системный администратор со стажем.
    Нужно вынести антенну от модема на крышу, новый кабель тянуть не вариант
    Антенну вообще нельзя выносить далеко от передатчика, потери в кабеле огромные.
    Поэтому выносите модем.
    Покупайте модем в уличном исполнении, либо защитный бокс для модема. Данные по витой паре к модему, питание тоже по ней.

    Нечто типа: некое устройство с sma разъёмом <-> lan <-> некое устройство с sma разъёмом <-> антенна
    Такие устройства есть, называются они - модем.
    МОДулято-ДЕМодулятор, они как раз и служат для преобразование аналогового сигнала в цифровой и обратно.
    Ответ написан
    Комментировать
  • Как настроить переадресацию с 200 номеров?

    Если у вас 200 симкарт уже есть... нда, просак. Арендовать 200 номеров было бы значительно выгоднее и можно было бы обойтись одной лишь АТС, а так вам нужен наверно какой-то такой аппарат, куда вы всё впихнёте
    https://habrahabr.ru/post/240943/
    И GSM-шлюз с поддержкой SIM-банка. Или несколько GSM-шлюзов на все карты. Я вот нашёл GoIP 32 - 32 сими на шлюз + поддержка Сим-банка.
    И программная АТС. АТС будет принимать звонок и в зависимости от того, на какую симку он пришёл, выставлять callerid. Звонок принимать на любой SIP-телефон - программный или аппаратный.
    Ответ написан
    Комментировать
  • Можно ли с помощью ERD Commander включить встроенную ученую запись Администратора?

    @Zewkin
    Я у мамы фронтэндер
    Можно.
    Ответ написан
    Комментировать