• Linux изоляция, где использовать?

    uvelichitel
    @uvelichitel
    habrahabr.ru/users/uvelichitel
    Механизмы изоляции в порядке возрастания уровня абстракции и соответственно удобства пользования
    namespaces - в сущности команда chroot
    control groups - русский https://habr.com/ru/company/selectel/blog/303190/ eng https://wiki.archlinux.org/index.php/cgroups docs https://www.kernel.org/doc/Documentation/cgroup-v2.txt
    lxc - набор инструментов для удобного описания политик namespace и cgroups
    lxd - надстройка над lxc дающая удобный и понятный интерфейс с одной консольной командой lxc с множеством ключей, например
    lxc config set container1 limits.memory 512M
    docker - надстройка над lxc предназначенная для удобной контейнеризации одного приложения, а не полноценной OS в отличии от lxd
    На FreeBSD такое реализовано механизмами jail, bhyve которые вроде и лучше но в них редко кто умеет в силу малой распространенности FreeBSD.
    Ответ написан
    Комментировать
  • Какие есть библиотеки для построение балансировщика нагрузки (load balancing) на Go?

    uvelichitel
    @uvelichitel Куратор тега Go
    habrahabr.ru/users/uvelichitel
    Go проектировался для решения задач достаточно высокого уровня абстракция(серверов и сервисов). Простой и быстрый балансировщик лучше делать настройками nginx(Plus) а иногда даже конфигурацией маршрутизатора(физического устройства).
    На Go есть популярные решения для специфичных областей https://github.com/containous/traefik и https://github.com/yyyar/gobetween для популярных ныне контейнерной и облачной архитектур, https://github.com/google/seesaw производства google для архитектуры Linux Virtual Server (LVS).
    Если вам нужен просто балансировщик HTTP/HTTPS трафика без труда нагуглите три строчки конфигурации nginx. Если хотите разобраться в материале и приподнять скилл балансировщик на Go вы напишите строк в 50-100 кода после прочтения пары блогов, быстрым он не будет, для скорости в простой задаче нужно ближе к железу.
    Ответ написан
    Комментировать
  • Как обработать несуществующий json.RawMessage в GO?

    uvelichitel
    @uvelichitel Куратор тега Go
    habrahabr.ru/users/uvelichitel
    if settingList[0].online != nil {...}
    Ответ написан
    Комментировать
  • Как обработать ошибочный ответ API на go?

    uvelichitel
    @uvelichitel Куратор тега Go
    habrahabr.ru/users/uvelichitel
    Думал в структуре Error реализовать интерфейс error и передавать уже непосредственно через error ошибочный ответ.
    Совершенно верно.
    Так
    func(e Error) Error() string{
        return e.Message
    }

    или так
    type Error struct {
      Message     string `json:"message"`
      Description string `json:"description"`
      Error       string `json:"error"`
      error
    }
    Ответ написан
    Комментировать
  • Какой самый лёгкий дистрибутив Linux для сервера VPN выбрать?

    uvelichitel
    @uvelichitel
    habrahabr.ru/users/uvelichitel
    Если VPN все что вам нужно возьмите RouterOS под x86 с торрент-трекеров.
    Ответ написан
    1 комментарий
  • Как происходит процесс разработки интернет-магазина в 2019?

    uvelichitel
    @uvelichitel
    habrahabr.ru/users/uvelichitel
    В 2019 открывают группы в VK и/или facebook, следуют мануалам по устройству витрины. Потом долго и муторно пытаются прикрутить к витрине удобный платеж всем(картами, виртуальными кошельками и курьером при получении). Получается обычно неудобно и дорого в силу коммиссий платежным агрегаторам. Потом покупаются лайки ну и вообще группа продвигается.
    Ответ написан
  • Как выбрать источник тока для светодиодов?

    uvelichitel
    @uvelichitel
    habrahabr.ru/users/uvelichitel
    Рассуждаете вы верно, только на мой взгляд не учитываете в расчетах экономическую составляющую. Драйвер (стабилизатор тока) в схеме самая сложная и дорогостоящая деталь, а светодиоды исключая элитных производителей вроде Cree копеечный расходник. Колхозить не подходящий к диодам драйвер просто потому что диоды у вас уже есть - плохая идея. Один балансировочный резистор способный рассеивать 12Вт будет стоить не дешевле диодов, а от него еще нужно будет отводить тепло радиатором, он будет греться сильнее диодов, он то и будет источником пожарной опасности. Когда деградируют диоды либо срабатывает защита драйвера, либо с легким хлопком перегорает диод и цепь размыкается, катастроф вроде не замечалось.
    Ответ написан
    4 комментария
  • Как использовать массив в запросе к базе данных из Golang?

    uvelichitel
    @uvelichitel Куратор тега Go
    habrahabr.ru/users/uvelichitel
    Функция Query(query string, args ...interface{})ожидает несколько аргументов типа interface{}, а вы ей передаете один типа []interface{}. Для такой передачи аргументов в вариативную функцию есть синтаксический сахар
    database.OracleDB.Query(stmt, args...)  //ellipses ...
    Ответ написан
    2 комментария
  • Основные концепции в golang для изучения?

    uvelichitel
    @uvelichitel Куратор тега Go
    habrahabr.ru/users/uvelichitel
    Писавшим на C++, Java стоит обратить внимание на
    • interface (это не наследование а композиция)
    • goroutine/channel (у goroutine нет идентификатора, к ней нельзя обратиться по имени)
    • reflection в стандартной библиотеке

    писавшим на С посмотреть на slice (рутинное управление памятью для динамических массивов)
    Ответ написан
    Комментировать
  • Какие есть программы для Linux, не дающие работать в определенный период?

    uvelichitel
    @uvelichitel
    habrahabr.ru/users/uvelichitel
    Есть программы меняющие цветовую температуру монитора в соответствии с временем суток вашей локации. Например Redshift. Конечно спать, ну или не работать вас никто заставить не может. Но, по моему опыту, когда картинка на мониторе становится теплее и приглушенней организм точнее воспринимает время на сенсорном уровне, рефлексы срабатывают и хотя бы немного тянет ко сну.
    Ответ написан
    1 комментарий
  • Каковы реалии веб-разработки?

    uvelichitel
    @uvelichitel
    habrahabr.ru/users/uvelichitel
    На мой (сугубо личный) взгляд традиционный web раздавлен и попран гигантами социальных сетей. Персональные, корпоративные, тематические сайты все менее востребованы и популярны. Даже магазины перемещаются в vk или facebook. Полянка frontend сжимается. А заказы на backend разработку (в моем случае) сводятся в основном к парсерам, агрегаторам, ботам для этих самых vk, facebook, telegram.
    Ответ написан
    Комментировать
  • Где может пригодиться физика программисту?

    uvelichitel
    @uvelichitel
    habrahabr.ru/users/uvelichitel
    С ног на голову перевернуто. А физики умеющие программировать и программисты знающие физику востребованы например в CERN или NASA Ames Research Center.
    Ответ написан
    Комментировать
  • Как создать cookie для запроса?

    uvelichitel
    @uvelichitel Куратор тега Go
    habrahabr.ru/users/uvelichitel
    import (
    "net/http"
    "net/http/cookiejar" //из этого пакета
    )
    ...
    jar, err := cookiejar.New(options)
    if err == nil {
        coocies := []http.Coocie{{Name: "token", Value: token}} //здесь собрать
        jar.SetCookies(url, coocies) //здесь привязать к Url
    }
    
    client := http.DefaultClient //как вложить токен в куки при отправке запроса?
    client.Jar = jar //здесь выдать клиенту
    ...
    Ответ написан
    Комментировать
  • Какой смысл в refresh токене?

    uvelichitel
    @uvelichitel
    habrahabr.ru/users/uvelichitel
    Access token постоянно гуляет по проводам, перехватить его сравнительно легко и поэтому его часто меняют. Refresh token пересылается существенно реже, вторая линия обороны, глубокий тыл.)) Вот такая простая логика не годится? А так то взламывается всё...
    Ответ написан
  • IT-блог как трудовая книжка программиста?

    uvelichitel
    @uvelichitel
    habrahabr.ru/users/uvelichitel
    У меня хорошие профили на habr.com stackoverflow.com github.com toster Это ни разу не помогло мне в поиске или общении с работодателями, заказчиками. Это помогает поддерживать форму.
    Ответ написан
    4 комментария
  • Как ускорить http сервер на golang?

    uvelichitel
    @uvelichitel Куратор тега Go
    habrahabr.ru/users/uvelichitel
    Есть варианты как-то ускорить?

    Да. evio Но голый nginx все равно никому не обогнать.
    Классический тест для frontend js frameworks - todoMVC. Попробуйте релизовать серверный вариант этой задачи на Go и скриптами nginx, сравните трудозатраты и полученную производительность.)
    Ответ написан
  • Как быстро передать 100 Гб между двумя ПК в разных странах?

    uvelichitel
    @uvelichitel
    habrahabr.ru/users/uvelichitel
    Я использую NFS на сервере потому что это удобно и достаточно быстро. Если нужно быстрее и инкрементально, то rsync -z (-z флаг компрессии). Так вы уже упретесь в скорость дисков. Если нужно еще быстрее (например у вас SSD в рейде), то быстрее netcat (nc) с компрессией по моему ничего нет
    На macbook в целевом каталоге
    $ nс -l 4444 | tar xzvf -
    (4444 это порт, может быть любой. Порты меньше 1000, корневые каталоги да и вообще nc могут потребовать sudo)
    На Debian сервере в каталоге источников
    $ tar -czf - * | netcat -N адрес.макбука.доменноеимя.илиIP 4444
    Если уж очень нравится UDP добавьте к nc командам флаг -u
    Зачем в двухточечном соединении bittorrent протокол я не понимаю. По моему опыту даже с традиционным rsync вы раньше упретесь в дисковую подсистему. Но с rsync вы получите массу опций, быстрая инкрементая синхронизация малых изменений например и накопленый опыт туториалов, гайдов и мануалов.
    Ответ написан
    2 комментария
  • Потребление памяти php и go?

    uvelichitel
    @uvelichitel Куратор тега Go
    habrahabr.ru/users/uvelichitel
    Я пишу на Go в production. Минимальный HelloWord http_сервер будет отжирать ~5Mb. Если delphi реализация задачи кушает 20Mb можете рассчитывать на такое же от Go. Потребить 500Mb на 100 пользователей - это на Go нужно сильно постараться, какую нибудь очень сложную бизнес логику с девками и блэкджеком вроде задачи коммивояжера для каждого с учётом взаимных влияний.
    Ответ написан
    1 комментарий
  • Как выглядит алгоритм нахождения пересечения 1000 объектов?

    uvelichitel
    @uvelichitel
    habrahabr.ru/users/uvelichitel
    Ответ написан
    Комментировать
  • С чего начать свою компанию?

    uvelichitel
    @uvelichitel
    habrahabr.ru/users/uvelichitel
    Пробовал в своём уездном городке автоматизировать запись на приём через интернет. Бесплатно предлагал, на волонтёрских началах, просто доброе дело хотел сделать себе и землякам. Не получилось договориться, но вынес опыт - там отлично работает вертикаль управления. Договариваться нужно сверху, насколько это вам доступно. К слову сказать есть же ещё частные клиники, они открытей к контакту.
    Ответ написан
    Комментировать