
Semyon
27.03.2017
06:54:15
так что она вам не нужна
смиритесь

Sergey
27.03.2017
07:00:23

Semyon
27.03.2017
07:03:35

Google

Sergey
27.03.2017
07:06:51

Semyon
27.03.2017
07:08:23
Отлично, ну дак вот, в том текстовом редакторе нет подсветки синтаксиса
и никогда не будет
это принципиальная позиция

ainu
27.03.2017
07:08:44
Значит надо сделать форк=)

Semyon
27.03.2017
07:09:12
но вообще это та самая вещь, в которой я с робом согласен
она и правда не нужна

ainu
27.03.2017
07:09:35
Play golang удобная штука. Хрен с ним с подсветкой, линтер было бы хорошо
О, вброс про IDE
https://geektimes.ru/post/287342/
Всё-таки нашёл с подсветкой (но без линтера)
http://play.4gophers.ru/

Sergey
27.03.2017
08:17:08
@Enapiuz, привет Вадим )

Google

Vadim
27.03.2017
08:17:31

Стас
27.03.2017
08:19:48

Олег
27.03.2017
08:20:50

Стас
27.03.2017
08:23:59

Олег
27.03.2017
08:24:17

Стас
27.03.2017
08:29:09
А ё моё, копнул глубже, а там целый параллельный мир.
https://golanglibs.com/category/admin

ainu
27.03.2017
09:53:13
Вообще насколько я понял, нормальных админок с популярностью уровня Wordpress пока нет и не будет.
Для этого в языке не хватает реализации концепции plugin.
После появления плагинов к языку можно ждать уже фреймворк/админку.

Phil
27.03.2017
09:54:22
Это гнилая тема. Админок по полурности уровня WordPress вообще нет, кроме самого WordPress. У него абсолютный отрыв от всего

ainu
27.03.2017
09:54:29
Ибо что вордпресс, что джумла живут за счет широкой экосистемы плагинов которую систему расширяют.
А go - компилятор в монолит. Пока нельзя скачать и установить некий сферический в вакууме "seo-plugin.so" - рано

Monday Begins on Saturday
27.03.2017
09:54:39
А. понял. Отдельно подключить какую-то библиотеку?

ainu
27.03.2017
09:55:30
package main
func Add(x, y int) int {
return x+y
}
go build -buildmode=plugin
go build -buildmode=plugin -o myplugin.so myplugin.go
В основной программе
p, _ := plugin.Open("./myplugin.so")
add, _ := p.Lookup("Add")
sum := add.(func(int, int) int)(1, 2)
Такой плагин весит примерно 1-2 мегабайта

Mikalai
27.03.2017
09:57:35
имхо, не очень хорошая концепция

Monday Begins on Saturday
27.03.2017
09:57:37
Откуда столько?

Google

Mikalai
27.03.2017
09:58:09
нужно каждую функцию отдельно извлекать

ainu
27.03.2017
09:58:16
https://tip.golang.org/pkg/plugin/#pkg-overview
Это понятно. Тут как архитектура будет устроена
При этом p.Lookup("Add") - строка, которая может бтыь например в json описании плагина. Мы же не можем без этого встроить названия функций в основной код, если этих функций мы не знаем.
Я предполагаю, в 1.9 плагины будут подпилены, 1.10 будет уже стабильно, и именно во время 1.10 следует ждать какой либо большой фреймворк/CMS для сайтиков
Возможно кстати заработает
p.Lookup("Add").(func(int, int) int)(1, 2)
ТОгда одной строчкой
На данный момент ситуация следующая:

Vasily
27.03.2017
10:10:04
пока только под линуксом работает

Daniel
27.03.2017
10:12:54
Уже сейчас никто не мешает оформлять плагины микросервисами

Aleksey
27.03.2017
10:15:41

Dmitry
27.03.2017
10:15:49
Слушайте, судя по профайлеру у меня более 60% отжирает runtime.cgocall. Что это может быть?
Отключил GC. runtime.cgocall - это он...

i
27.03.2017
10:26:42
у nginx же нет плагинов и это не мешает ему иметь кучу сторонних дополнений

Mikalai
27.03.2017
10:27:42
у nginx есть модули

Kirill
27.03.2017
10:28:09
как хорошо, что меня кто-то опередил в этом вопросе.

Andrew
27.03.2017
10:29:58

i
27.03.2017
10:30:00

Mikalai
27.03.2017
10:30:11
штооо ?

Google

Kirill
27.03.2017
10:30:24

Dmitry
27.03.2017
10:31:02

Mike
27.03.2017
10:31:32
мб одна из твоих либ вызывает?

Dmitry
27.03.2017
10:32:20
Вопрос как это вычислить.

i
27.03.2017
10:33:16

Mikalai
27.03.2017
10:35:29

Kirill
27.03.2017
10:35:46

Mikalai
27.03.2017
10:35:49
если конечно модуль не требует специфичных патчей

Kirill
27.03.2017
10:37:24
февраль 2016, вроде как, уже больше месяца назад. https://www.nginx.com/blog/dynamic-modules-nginx-1-9-11/

ainu
27.03.2017
10:37:30
а ты смешной.
Формально надо запустить компиляцию этой эже сборки nginx с указанием "сделать плагин". Т.е. nginx фактически пересобирать надо, только бинарник, получившийся на выходе, нигде не используется, только выхлоп говтовых к использованию плагинов
т.е. должен зайти в папку с сорцами nginx, сделать configure и make.
ПОсле этого у меня есть готовые плагины и как отзоды производства - бинарник nginx.
То есть фраза "для добавления модуля нужно весь nginx перекомпилироват" == true

Mikalai
27.03.2017
10:40:57
как бороться с вот таким вот ?
app/main.go:23: cannot use static.Serve("/", static.LocalFile("./frontend/dist", false)) (type ".../vendor/github.com/gin-gonic/gin".HandlerFunc) as type ".../vendor/gopkg.in/gin-gonic/gin.v1".HandlerFunc in argument to router.Use

corpix
27.03.2017
10:41:07
Но если модули ставятся из пакетов то ничего прекомпилировать не нужно.

i
27.03.2017
10:41:16
это для динамических можулей которые как .so подключаются
ладно, я отстал от жизни

corpix
27.03.2017
10:43:07
Dynamic modules это те, что могут быть добавлены без перезапуска.
А динамические либы из .so nginx чуть ли не с первых версий грузить умеет, но с перезапуском

ainu
27.03.2017
10:45:35

corpix
27.03.2017
10:47:21

Daniel
27.03.2017
10:50:10
родные мои
вы опять про nginx, и опять херню

Google

Daniel
27.03.2017
10:50:39
ну перестаньте уже, а?
(особо упоротым советую пойти и выяснить, с какой версии в nginx есть динамическая подгрузка модулей. до этой версии модули nginx были исключительно compile time)

Мерлин
27.03.2017
10:55:51
Мне понравилось, как это сделано у caddy

Phil
27.03.2017
10:59:58

Aleksey
27.03.2017
11:09:23

Mike
27.03.2017
11:13:28
Как ни зайду сюда, веб обсуждаете
Точно по го чат?)

Egor
27.03.2017
11:27:04
Технопарк запустил лекции по Го, тем кто не видел https://www.youtube.com/watch?v=9Pk7xAT_aCU

i
27.03.2017
11:29:44
Это лекции для новичков?

Egor
27.03.2017
11:31:56
да
1. Программирование на Go / 2. Программирование на Go. Функции, структуры, интерфейсы. / 3. Программирование на Go. Асинхронная модель