• Получить изменения из удалённого репозитория?

    JastaFly
    @JastaFly Автор вопроса
    В итоге решил проблему следующей серией команд:
    git checkout -- .
    git clean -fd
    git reset --hard origin/dev
    Ответ написан
    Комментировать
  • Можно ли создать сейчас аккаунт apple developer в России?

    NSA-bot
    @NSA-bot
    У кого-то получается, у кого-то нет.
    Вот почитайте, тут https://t.me/appledeveloperchat всё это обсуждают.
    Ответ написан
    Комментировать
  • Как подключится из Беларуси к российскому серверу, если заблокирован доступ?

    @webdiez
    Меня все знают как WebDiez.
    Вариант 1. Использовать частный VPN которого нет в базе у приложения.
    Вариант 2. Подключаться к VPN не с телефона, а с маршрутизатора с пробросом в российскую сеть.
    Вариант 3. Арендовать VDS в России, на нем поднять VPN и через него работать.
    Вариант 4. Арендовать VDS в России, на нем развернуть эмулятор ОС, например Андроид.
    Вариант 5. Попросить друзей из России выполнить необходимые манипуляции.
    Ответ написан
    6 комментариев
  • Как отправлять письма по email через c++?

    @rPman
    google: c++ lib email
    откроет мир готовых библиотек по работе с почтой, выбирай на любой вкус и твою среду и компилятор.

    c++ такой язык что программы на нем достаточно многословные получаются

    p.s. первый же результат из гугла https://github.com/karastojko/mailio

    message msg;
    msg.from(mail_address("mailio library", "mailio@gmail.com"));
    msg.add_recipient(mail_address("mailio library", "mailio@gmail.com"));
    msg.subject("smtps simple message");
    msg.content("Hello, World!");
    
    smtps conn("smtp.gmail.com", 587);
    conn.authenticate("mailio@gmail.com", "mailiopass", smtps::auth_method_t::START_TLS);
    conn.submit(msg);
    это многословно?
    Ответ написан
    Комментировать
  • По какому принципу ставятся порты в связке docker-compose и nginx?

    karabanov
    @karabanov
    Системный администратор
    expose - скорее для наглядности и порт в хостовую систему он не "пробрасывает".

    ports - действительно "пробрасывает" порт в хостовую систему.

    1) Для чего может быть нужен Ports у контейнеров приложения в связке docker-compose и nginx (если nginx уже слушает снаружи)? Один из примеров с ports

    Возможно, чтобы дать доступ к приложению "напрямую" c другой машины, минуя Nginx или балансировщик.

    2) В каком случае порты можно не ставить?

    Ды в общем-то в любом, когда в этом нет явной необходимости.
    Ответ написан
    6 комментариев
  • Когда ставится блок http в nginx.conf?

    kotomyava
    @kotomyava
    Системный администратор
    Нет, не эквивалентно, ну и не будет работать. Nginx умеет проксировать не только http, но и почту, и tcp. И это другие секции: mail {} и stream {}. Т.е. этот "контейнер" нужен чтобы отличать соответствующий вид сервиса - для того же stream, тоже внутри будут секции server {}.
    Ответ написан
    4 комментария
  • Как перезапустить nginx.conf?

    @Akela_wolf
    Extreme Programmer
    docker-compose up --force-recreate

    RTFM
    Ответ написан
    Комментировать
  • Как организовать соединение по ssh?

    karabanov
    @karabanov
    Системный администратор
    сгенерировал ключи на своем ПК и вставил его на сервер

    Скопировать открытый ключ на сервер можно командой: ssh-copy-id user@example.com

    выходит ошибка, что сервер недоступен или выключен

    Вероятно порт закрыт фаирволом, либо SSH не запущен.
    Ответ написан
    1 комментарий
  • Как ставить nginx, в контейнер или просто на сервер?

    akelsey
    @akelsey
    Все предложенные варианты имеют право на жизнь.
    Но я за контейнеризацию, т.к. плюсы размещения в контейнере очевидны, вся конфигурация приложения при следовании лучшим практикам находится в одном месте, например:
    /opt/docker-compose/
    в котором есть список ваших приложений, например:
    nginx-reverse/
    certbot/
    nodejs-front/
    nodejs-back/
    something-else/

    Такая компоновка обеспечит более легкий деплоймент в пайплайне (ci/cd), да и ручной перенос с хостинга на хостинг. Локальное тестирование тоже проще осуществить.
    Ответ написан
    1 комментарий
  • Какие есть книги по расчёту оборудования под инфраструктуру сайта?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Во первых, в связи с быстроменяющимися технологиями такие книги устаревали бы к моменту выхода, так как верстка и написание их занимала бы больше времени чем время между анонсами нового серверного железа.

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

    В третьих - профиль нагрузки у очень похожих приложений может сильно отличаться, в силу специфики приложения.

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

    Как с этим жить?
    Нагрузочное тестирование на спектре нагрузок, аппроксимация роста нагрузки с ростом операций, расчет от текущего железа вверх согласно предсказанному росту нагрузки. Пока ничего умнее не придумали.
    Ответ написан
    Комментировать
  • Как понять в коде сложность алгоритма?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Так или иначе придется считать количество операций. Иногда это просто, когда там тупо вложенные циклы с фиксированным количеством итераций. Иногда придется пораскинуть мозгами. Например, можно понять сколько уровней будет у рекурсивного вызова и как много операций на каждом уровне происходит. Логарифмы обычно вылезают от деления данных пополам. Когда просят сделать что-то быстрее то надо подумать а нельзя ли тут применить какую-то структуру данных. Например, можно ли BST заменить хеш таблицей.
    Ответ написан
    Комментировать
  • Как обновить контейнер docker через pipline и скрипт на сервере?

    karabanov
    @karabanov
    Системный администратор
    TAG=$tag docker-compose up -d, однако я не понимаю этой строки

    В docker-compose.yml в качестве тега для образа "user/project" вписана переменная ${TAG}
    Скрипт выкачивает из Registry свежий образ pull=$(docker pull $image:$tag) и запускает из него контейнер средствами docker-compose, передав явно имя тега который надо запустить (просто образов "user/project" на хосте может быть много с разными тегами).

    Тогда странно, что $pull никак не используется.

    Но ведь используется. Делает ровно то, что ему положено - выкачивает из Registry свежий образ.

    Корректно ли заменить вышеуказанную строку так?

    В этом нет смысла, сработает конечно, но зачем так делать если docker-copose и так запустит контейнер из свежего образа.
    Ответ написан
    4 комментария
  • Как выбрать базовый образ для Docker?

    @Moon1706
    1. И тем, и тем. Если размер в приоритете могу порекомендовать посмотреть на Alpine.
    2. Можно указать в Dockerfile версию. Так будет проще всего. Но если хочется параметризировать - ARG в докер в помощь)
    3. Нет. Собрать свой образ можно и из node. Более того, в некоторых версиях ноды есть предустановленный bash.
    Ответ написан
    Комментировать
  • Обязательно ли перезапускать весь кластер docker-compose при обновлении 1 контейнера?

    @Akela_wolf
    Extreme Programmer
    Нет. docker-compose up {container} перезапустит конкретный контейнер
    Ответ написан
    Комментировать
  • Корректно ли я подобрал технологии для простого веб сервера?

    krax1337
    @krax1337
    личинка Девопса
    Привет!

    1) Верно, домен с https. И далее уже в nginx'e будет, / -> фронт, /api -> бэк. К примеру вот так.

    2) Правильной настройкой nginx и обратным прокси на контейнер с бэком.

    3) Можно воспользоваться бесплатным CI, к примеру Gitlab CI/CD или Github Actions. Пушить образ в приватный registry. Дальше скрипт идет на сервер и меняет докер образ. Сервер с Docker соответственно должен иметь доступ к этому приватному registry. Можешь посмотреть на такой пример https://stackoverflow.com/questions/26423515/how-t.... Или можешь покопать в сторону решений, как Flux или ArgoCD. Но k8s наверное уже будет overhead.
    Ответ написан
    Комментировать
  • Почему не грузятся Яндекс карты на Android, библиотека MapKit 3.0?

    vadimpopov94
    @vadimpopov94 Автор вопроса
    Dev
    Обратился в тех поддержку яндекса, прислали письмо с текстом, что активировали мой ApiKey на стороне сервера, проблема ушла.
    Ответ написан
    1 комментарий
  • Как работает pipline bitbucket?

    karabanov
    @karabanov
    Системный администратор
    1) Внутри контейнера который запускается из образа node:latest
    2) Никогда не используй тег latest, всегда указывай конкретную версию
    Ответ написан
    1 комментарий
  • Прибавление целого числа месяцев к дате на JS?

    mark_ablov
    @mark_ablov
    var date = new Date('08/31/2011');
    var N = 1;
    date.setMonth(date.getMonth() + N);
    date.setDate(0);
    alert(date);
    
    Ответ написан
    3 комментария
  • Как правильно назвать обновленный запрос в бэкенде?

    Правильно назвать его, например, /api/v2/product/search/, чтобы у вас уже была встроенная схема версионирования и в будущем вы над этим не думали.

    Однако, если клиенты находятся под вашим контролем, то можно назвать как угодно.
    Ответ написан
    Комментировать
  • Как обозначить тип сортировки?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Передавайте индекс выражения сортировки. А по этому индексу - либо выполняйте соответствующий заранее полностью подготовленный запрос, либо стройте текст запроса на основании переданного индекса.

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