Pull to refresh
23
0
Oleksiy Chechel @mirrr

Golang/JS developer

Send message
Данные как минимум устарели, не вижу fasthttp в списке. А он в 10(десять) раз быстрее стандартного net/http в go по результатам бенчмарков.
О дженериках я с вами спорить не буду, не понимаю, как люди вообще могут что-то без них писать, сплошные велосипеды.
Еще можно использовать переменные окружения, например указать их в systemd сервисе или любом супервизоре.
И что мешает писать монолит, состоящий из маленьких, законченых модулей?
И тут, внезапно, go — быстр в изучении, быстр в разработке, быстр в работе, требует меньше дорогих серверов для обслуживания того же объема трафика.
Тут скорее не аргумент «сначала добейся», а вопрос «какой у тебя опыт в рассматриваемом вопросе?». Нужно же понимать на сколько компетентен твой оппонент.
Сорт — может и не вид, но многие не поняли бы меня, начни я делить людей на сорта.
Предупреждение ВОЗ заиграло бы новыми красками, если бы от подобной болезни уже вымер один вид людей.
К заголовку нужно было картинку с очередью за айфончиками эльбрусами:

Очередь за эльбрусом
Можно и mutex.Lock() забыть написать. И вообще забыть на работу пойти.
Особенно в пятницу.
Сложно назвать эти программы «просто текстовыми редакторами с подсветкой».
ps. Хотя, да, если имеется в виду ложить в корень /etc/systemd/system, то все будет работать аналогично.
Туда он поместится при systemctl enable [service]
В общем, если у вас сервис, который особо никому не нужен, то и так сойдет

Ну я же и написал — в большинстве случаев.
Для большинства приложений и такого хватит с головой:

useradd  -s /bin/bash user
passwd user


/usr/lib/systemd/system/my-app.service:

[Unit]
Description=<Описание>

[Service]
Restart=always
EnvironmentFile=-/home/user/env.txt
WorkingDirectory=/home/user/app
ExecStart=/home/user/app/myexe
LimitNOFILE=131072
LimitNPROC=131072
User=user
Group=user

[Install]
WantedBy=multi-user.target


Это практически все, можно управлять этим сервисом:

systemctl start my-app
systemctl enable my-app # добавляем в автозагрузку
А как-же замыкания?
И мы снова возвращаемся к вопросу — Зачем?
Здесь T это как-раз тип, перепутать не получится, не скомпилится
Реальный код так будет выглядеть:

a = append(a[:pos], append([]string{x}, a[pos:]...)...)
Такова жизнь, но примеров из жизни никто так и не привел. Хотя мне еще тогда было интересно увидеть необходимость такой функции в серверном микросервисе на 100-200 строк, для создания которых и позиционирует себя golang.
С n-ного раза захочется узнать, а что же там написано, а если знаешь, то конструкция выглядит вполне обыденно. Но, впрочем, ничего не стоит завернуть это в функцию и использовать k раз.

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

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity