• Как написать или найти скрипт для мониторинга серверов?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Zabbix.
    Бесплатен. Может мониторить вообще всё, и извещать о проблемах. Может выполнять нужные команды/скрипты на серверах. Слегка монструозен для 1-2-3-х серверов, но тут уж ничего не поделать. Активно разрабатывается и улучшается.
    Ответ написан
    Комментировать
  • Зачем нужны роутеры если можно обходиться без них в express.js?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Просто один из уровней абстракции. Точно так же можно сказать о любой функции/методе и так дойти вниз до машинного кода и транзисторов. Кроме того, роутер может иметь более сложную логику, чем просто отработка запроса по ссылке - например использовать параметры из ссылки.
    Ответ написан
    Комментировать
  • Как работает grpc?

    @deliro
    А что тут понимать-то? Представь, что у тебя есть два сервиса, которые общаются по JSON-RPC over HTTP. Приходит сервис1 к сервису2 и говорит, ну-ка бахни мне метод getSomethingOfSomething с аргументами вот такими. И всё это в виде JSON внутри HTTP body. Сервис2 идёт, смотрит у себя в реестре метод getSomethingOfSomething, вызывает его с аргументами и отдаёт результат. Легко? Легко. Теперь тоже самое, только вместо HTTP там HTTP/2, а вместо JSON — protobuf. То есть, два сервиса договорились, что в первых четырёх байтиках будет лежать, например, int32, в следующих восьми будет лежать float64 ну а там дальше ещё что-то будет лежать.
    Ответ написан
    3 комментария
  • Как правильно определить какой JSON вернулся?

    Успешность обычно проверяют по http-коду ответа.

    Если же сервис сделан так, что код ответа всегда 200, то единственный верный способ будет пытаться анмаршалить оба и смотреть на поля, всё верно.
    Ответ написан
    1 комментарий
  • Какие проекты можно добавить в портфолио для middle vue разработчика?

    Natebash
    @Natebash
    React, Vue, Angular, Navite JS, Python / Node JS
    Сделайте SPA приложение(CRM) сервисного центра по ремонту электроники. Там вам и таблицы, формы, графики, учет товара, списки и чего душе угодно. Наращивать функционал можно до бесконечности воруя идеи у CRM "конкурентов"

    PS: с комментом под катом 100% согласен) с мидлом и сеньором на собесе уже болтают за жизнь и за опыт работы в проектах. У нас при найме вообще не спрашивают про код, а про где работал, какие проблемы решал, как победил, расскажи об интересных моментах, пиво любишь или сразу увольняем?
    Ответ написан
    Комментировать
  • Где искать заказы вычислений на суперкомпьютере?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    стоит воспользоваться каким-нибудь сервисом, который предоставляет возможность сдачи вычислительной мощности в аренду

    определенно стоит, иначе долго искать именно вашего клиента

    ценообразование- между амортизацией и ценами Большой Семерки (ИБМ амазон гугл азур китайцы французы оракл)
    Ответ написан
    Комментировать
  • Как грамотно спрашивать согласие и хранить персональные данные пользователя?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Согласие на обработку ПД это не часть оферты какой-то, а отдельный документ. Где всё чётко и по пунктам. Не прокатит вывалить +100500 страниц текста, а потом кивать, мол там среди всего было и согласие.
    Хранить в базе не только true, а факт отправки смс (номер транзакции или что там есть у вас от оператора, время отправки и номер как минимум).

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

    Так же будет минусом отсутствие отображения данного согласия в личном кабинете.
    Ответ написан
    2 комментария
  • Можете объяснить асинхронность в JS?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    WebAPI браузера поедоставляет вещи типа setTimeout, или async await, коллбек-функции которые закидываются в очередь, а оттуда в порядке своей приоритетности попадают в стек по очереди. Промисы обрабатываются в приоритетном порядке.
    Обычные callback-функции не попадают в очередь, они вызываются в общем стеке. Кроме промисов в приоритетную очередь микрозадач функция может быть добавлена через queueMicrotask(function).
    А что если "асинхронные" операции занимают много памяти и выполняются долго. Если они выполняются в том же стеке, то они также перекроют доступ ко всем остальным операциям?
    Асинхронные операции выполняются отдельными служебными потоками параллельно с основным стеком. Поэтому сами они не могут заблокировать основной стек. По завершению/таймеру асинхронная операция кладёт функцию в очередь микро- или макрозадач.
    Ответ написан
    Комментировать
  • Что выбрать VPS или PaaS?

    @holyx
    ДевОпс Сисадмин
    cloudservicesseparation.png

    Вот хорошая иллюстрация. Классический PaaS под задачу будет получше, чем VPS. В данной схеме VPS это IaaS, т.е. предоставляется только "железо", на которое нужно самому накатить ОС, настроить, установить нужные пакеты, сконфигурировать их и потом гонять своё приложение.
    По PaaS предоставляется сконфигурированное окружение, на котором уже можно гонять своё приложение. PaaS настроен по шаблону, там с безопасностью будет лучше, чем в VPS сконфигурированной руками не профи. По нагрузке, всё зависит от прожорливости и кривости приложения.

    Если что-то специфическое нужно, то VPS и руками, если стандартное, без заморочек, то PaaS.
    Ответ написан
    1 комментарий
  • Какой ноутбук выбрать для начинающего программиста?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    любой, который устроит лично тебя по бюджету, клавиатуре и монитору.
    Ответ написан
    2 комментария
  • Как называется этот эффект в поле ввода?

    hahenty
    @hahenty
    ('•')
    Ответ написан
    Комментировать
  • Почему int при делении int на int с остатком?

    Это не деление с остатком, это целочисленное деление.
    Если делишь одно целое число на другое целое число, работает целочисленная арифметика, потому что го это строго статически типизированный язык.
    Чтобы получить дробное число, нужно явно делить одно число с плавающей точкой на другое.
    package main
    
    import "fmt"
    
    func main() {
    	var some = float64(5) / float64(3)
    	fmt.Println(some)
    	fmt.Printf("%T", some)
    }


    Происходит это потому что компьютер так работает на уровне железа. Если процессору дать команду на деление двух целых, ответом будет целое. Если дать команду на деление двух флоатов — будет флоат.
    В некоторых языках компилятор или интерпретатор берут на себя смелость решать за пользователя, какой ему тип нужен и автоматически включают нужный тип деления в зависимости от ситуации (обычно включается флоат на флоат, как в JS, например). Но это может приводить к ошибкам в некоторых ситуациях.
    Поэтому в го, C, C++ и еще многих других языках (обычно это статически типизированные языки), пользователь должен явно выбирать требуемый тип деления, используя нужные типы переменных.
    Ответ написан
    1 комментарий
  • Необходимая база для входа в Embedded?

    @Alexey_Volchanskiy
    Работал в embedded с 1999 по 2010. В то время был хорошим электроником, разрабатывал схемы с МК, сам и проги писал. С достаточно, понимание С++ желательно, так как были варианты, когда с Майкрософт присылали исходники аудиокодеков на С++, хотя конечно возможности плюсов использовались по минимуму. Но надо было все это переложить на Си для дохлого встроенного проца. А так у меня в стеке C, C++, C#, Matlab для моделирования нейронок и DSP и всякая мелочь типа питончика и иже с ним.
    Embeded в России плох тем, что очень мало вакансий и они низкооплачиваемые, так что по карьере не советую, жена потом уйдет )).
    Ответ написан
    1 комментарий
  • Как в Git переименовать ветку?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    старый мастер назвать old-master и текущую ветку, переименовать в master

    git branch -M master old-master # переимоновать старый мастер
    git branch -M master # переименовать текущую ветку в master

    Но зачем всё это? old-master будет по-прежнему связан с origin\master.
    Если хочется обновить и эти связи, то используется push
    git push --set-upstream origin old-master # перенаправить на новую ветку
    git push -u --force origin master # пересоздать внешний master

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

    Снова повторю вопрос: зачем вам эти сложности?

    git remote rename - но это для переименования удаленных веток (как я понял)

    Нет, это для переименования remotes — ссылок на внешние репо.
    Ответ написан
    1 комментарий
  • Что значит умение использовать GNU?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут-же из контекста все понятно. Вакансия С++. Gnu == gcc.
    Ответ написан
    3 комментария
  • Прошу подсказать как называется такой эффект?

    iiiBird
    @iiiBird Куратор тега CSS
    Пока ты спишь - твой конкурент совершенствуется
    ну там же видно как сделано. position: sticky вешается на секции, когда они доходят до начала экрана и создается такой эффект. пару строк в js https://codepen.io/ibird/pen/rNdGBmo
    Ответ написан
    2 комментария
  • Возможно ли сделать скраппинг информации с сайта, на котором требуется авторизация с помощью расширения браузера (chrome)?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Вариант 1) Вскрыть их расширение и инжектнуться в код. Как минимум можно как бы открыть свой API из их расширения для своих расширений и юзерскриптов.

    Вариант 2) Рассматривать браузер, как целостное стороннее приложение. Задача сводится к тому, чтобы автоматизировать работу с клавиатурой и мышью. Здесь мы просто уходим от использования JS, как такового, и начинаем анализировать окна на уровне ОС, их элементы, и изображения на них.
    Ответ написан
    Комментировать
  • Почему javascript берёт имя констаны а не значение?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    {
        [MODE_STORAGE_NAME]: bool_value
    }
    Ответ написан
    1 комментарий