@proGO

Страница 1143 из 1674
Alexey
14.01.2018
21:09:59
https://github.com/gopherjs/gopherjs

https://github.com/gopherjs/gopherjs/blob/master/doc/packages.md

вопрос в другом, если есть gopherjs, то нафига вообще js?

Alexander
14.01.2018
21:11:01
Google
Alexey
14.01.2018
21:11:11
какой псих будет продолжать писать на js когда есть go?

Alexey
14.01.2018
21:11:49
по крайней мере что-то длиннее однострочечников писать на js смысла нет

если веб-апликация, то только golang!

если фоном помигать, кнопкой по экрану поплавать за мышкой - ну, это наверно и на js можно написать, чо. если оно глюканет, ничего страшного. да и кода не много.

Alexander
14.01.2018
21:12:41
сделают React на go посмотрю)

а совместимость с js, то есть вызов js внутри go?

как то много кода выходит

смотрю из репозиторий

document.write("Hello world!"); -> js.Global.Get("document").Call("write", "Hello world!")

Alexey
14.01.2018
21:14:58
https://github.com/gopherjs/gopherjs#providing-library-functions-for-use-in-other-javascript-code

Alexander
14.01.2018
21:15:08
и дебажить чувствую будет больно

пока не вижу это для SPA

Google
Alexey
14.01.2018
21:16:05
оно поддерживает source map

так что не так уж и больно

вообще, это ж go! это не богомерзкий js. в go дебажить приходится сильно меньше.

Alexander
14.01.2018
21:17:33
среда выполнения все равно js

и разные браузеры

Alexey
14.01.2018
21:18:24
ну, логи глянешь, чо :-)

Alexander
14.01.2018
21:18:38
не проект интересный, посмотрим что из этого получится

Alexey
14.01.2018
21:19:06
если что, webasm из этого не получится

а gopherjs уже получился. он же довольно давно существует.

там и биндинги к реактам всяким есть

https://github.com/gopherjs/gopherjs/wiki/bindings

Den
14.01.2018
21:24:04
https://github.com/gopherjs/gopherjs/wiki/bindings
а как такое деплоится? Можно сделать в виде десктопного приложения которое из папки запускается и открывает браузер?

xPushkin
14.01.2018
21:24:29
https://github.com/gopherjs/gopherjs/wiki/bindings
Горутины поддерживаются?

Alexander
14.01.2018
21:24:33
https://github.com/gopherjs/gopherjs/wiki/bindings
посмотрел на React в GopherJS - неее, спасибо)))

Alexey
14.01.2018
21:24:43
Горутины поддерживаются?
https://github.com/gopherjs/gopherjs/blob/master/README.md#what-is-supported

Demuz
14.01.2018
21:25:26


xPushkin
14.01.2018
21:25:37
Если я не ошибаюсь, то JSON ключи принято называть с маленькой буквы.

Demuz
14.01.2018
21:26:02
Google
Alexander
14.01.2018
21:26:21
https://github.com/gopherjs/gopherjs/wiki/bindings
package hellomessage // import "myitcv.io/react/examples/hellomessage" import ( "myitcv.io/react" ) //go:generate reactGen // HelloMessageDef is the definition of the HelloMessage component type HelloMessageDef struct { react.ComponentDef } // HelloMessageProps is the props type for the HelloMessage component type HelloMessageProps struct { Name string } // HelloMessage creates instances of the HelloMessage component func HelloMessage(p HelloMessageProps, children ...react.Element) *HelloMessageElem { return buildHelloMessageElem(p, children...) } // Render renders the HelloMessage component func (h HelloMessageDef) Render() *react.DivElem { kids := []react.Element{react.S("Hello " + h.Props().Name)} for _, v := range h.Children() { kids = append(kids, v) } return react.Div(nil, kids..., ) } func (h HelloMessageDef) RendersDiv(*react.DivElem) {} вместо import React from 'react'; class HelloMessage extends React.Component { render() { return <div>Hello {this.props.name}</div>; } } как то дико )))

Alexey
14.01.2018
21:28:17
сравнивать размеры хелловорлдов как-то глупо. особенно у строго типизированного языка с эксплицитными импортами и типизацией с языком где слабая динамическая типизация с неявными всякими шнягами.

Demuz
14.01.2018
21:28:59
Если я не ошибаюсь, то JSON ключи принято называть с маленькой буквы.
Может принято, но сомневаюсь что в самом описании формата JSON можно найти такую информацию. В вики вобще показан пример с лоуэрКэмэлКейсом. ?

Alexey
14.01.2018
21:29:50
для скорости разработки не глупо) это же деньги
скорость разработки не в скорости набора кода заключается же

Alexander
14.01.2018
21:30:11
а вариант на js читается проще

да и функционально одинаковые вещи по обьему неплохо сравнивать

я на Go в фронт не полезу))) как backend и утилитки супер!

Alexey
14.01.2018
21:31:26
надо сравнивать по объему что-то реальное по размерам, а не прелюдию же

Demuz
14.01.2018
21:32:03
@Chebyrash , получается, если перезаписываешь значение переменной по указателю, так бытрей даже получается, чем перебирать всю карту, карту в карте и внутри нее еще карту? Я не опираюсь на скорость. Просто по логике так получается?

Alexey
14.01.2018
21:32:10
и надо сравнивать не объем, а скорость разработки. и скорость с которой человек сторонний может войти в проект например. разобраться кто на ком стоял

Alexey
14.01.2018
21:32:23
а это проще если в коде больше эксплицитных штук и меньше имплицитных

Alexander
14.01.2018
21:33:00
а это проще если в коде больше эксплицитных штук и меньше имплицитных
хз... каждому свое) но в проде gopherjs пока не видно

Alexey
14.01.2018
21:33:17
в проде и go то не особо видно :-)

Alexander
14.01.2018
21:33:54
в проде и go то не особо видно :-)
хм... вроде все на него переходят, засыпали вакансиями по Go))

Alexey
14.01.2018
21:33:57
полагаю gopherjs не успеет распространиться значимо до момента когда львиную долю вебапликаций начнут по большей части на C++ и Rust'e писать :-) через webasm

хм... вроде все на него переходят, засыпали вакансиями по Go))
Кто, все? Вот например яндекс не переходит.

Alexander
14.01.2018
21:34:33
Alexey
14.01.2018
21:34:35
Среди софтвера который управляет SDC - тоже как-то golang не видно :-)

Google
Alexey
14.01.2018
21:34:55
но вакансии имеются
А у них там мееелкая гошная резервация - ручки для браузера.

но golang не входит в поддерживаемые языки в яндексе. то есть это партизанство было и осталось.

Alexey
14.01.2018
21:35:33
на сях вроде нет

c++, python и java

в основном ручки на c++ (самые важные и нагруженные), всякие прототипы и то что не особо важно - на питоне.

java несколько особняком

Admin
ERROR: S client not available

Alexander
14.01.2018
21:38:40
что все так java любят

питон сейчас понятно почему все юзают - bigdata и машинное обучение, все нормальные инструменты на питоне

xPushkin
14.01.2018
21:41:00
что все так java любят
Тырпрайз. Скала и Котлин сейчас тема.

Alexander
14.01.2018
21:42:35
Тырпрайз. Скала и Котлин сейчас тема.
А Kotlin без граблей не собирается?

капаюсь у них в репе, все через grablew

не нафиг))) пойду go сны покодю))) совращаете меня тут скалами да котлинами))))

Oleg
14.01.2018
22:03:04
gopherjs это стеб. rust не взлетит - слишком большой порог входа. а вот гошечка взлетела. Именно потому что порог входа маленький. Ну и против бинарей не попрешь.

yuriy
14.01.2018
22:25:23
ну гофержс это какая то шиза) прикол js в отсутствии ограничений, минус жс в v8 писать го код с тонной ограничений, чтобы потом получить яваскрипт

это самое больное что только может быть

Oleh
14.01.2018
23:21:43
менше помилок

Google
yuriy
14.01.2018
23:22:06
да в мире в котором нет тайпскрипта это неплохая задумка)))))))

Oleh
14.01.2018
23:22:45
тайпскрипт нужно еще розбирать как работает) а тут родная гошечка)

yuriy
14.01.2018
23:23:26
родная гошечка...

это сколько лет должно быть))))

Max
15.01.2018
03:39:12
Господа, день добрый. Есть дефолтный сервер net/http, ставлю ему http.HandleFunc("...", callback) соответствующий хандлер. Если в колбеке сделать panic, то сервер выплюнет мне стектрейс и продолжит крутить этот же колбек дальше. Т.е. если я открываю в браузере "/home/" и в обработчике там вызывается panic, то мне выплюнются все стектрейсы от нескольких горутин, которые попытались обработать этот колбек (т.к. сервер не отдает response, браузер посылает как минимум два запроса за секунду). Собственно вопрос - как заставить сервер в таком случае (при перехвате panic) просто отдавать 500 ошибку?

Max
15.01.2018
03:47:22
1. не делай panic 2. Возвращай сам 500
в моем случае, у меня в недрах хандлера был косяк с указателем, но я об этом сразу не догалался, т.к. читал прежде всего свои log.print(err), которые срабатывали, если в этот самый хандлер зайти еще раз

Max
15.01.2018
03:54:40
хз что за у тебя там case там... м.б сделать middleware а в нем defer func() .... err:=recover() и т.д.
в моем случае проще починить указатель, но вот случае, если у меня в хандлер приходят какие-то данные, которые где-то там валидируются\декодятся, и тут внезапный panic - тут это только через middleware решается?

Arteev
15.01.2018
04:07:44
в моем случае проще починить указатель, но вот случае, если у меня в хандлер приходят какие-то данные, которые где-то там валидируются\декодятся, и тут внезапный panic - тут это только через middleware решается?
мне кажется, если есть возможность, то обработчик проще исправить чем огород городить. Но в любом случае паника ниже по стеку вызовов не должна ложить веб-сервер. как вариант с mw отловить панику, но это костыль имхо

Max
15.01.2018
04:17:55
мне кажется, если есть возможность, то обработчик проще исправить чем огород городить. Но в любом случае паника ниже по стеку вызовов не должна ложить веб-сервер. как вариант с mw отловить панику, но это костыль имхо
исправить конечно проще, но даже в случае кривого кода сервер должен отдать клиенту хотя бы 500 ошибку, в данном случае он не отдает вообще ничего

В любом случае благодарю. Судя по соответствующему proposal на гитхабе с этим же предложением там также предлагается оборачивать все руками

Arteev
15.01.2018
04:26:57
?не за что

Marlik
15.01.2018
05:40:44
Люди, есть какие-нибудь бест практик по созданию web приложений? Может какие статьи на русском, переводы, образцы кода на гитхабе? А то залез в тырнет, столько незнакомых фраз начитался))

Egor
15.01.2018
06:44:59
Best practices пока особых нет. Смотри популярные проекты: gorilla toolkit, beego, gitea

Alex
15.01.2018
07:23:48
kataras/iris на гитхабе посмотрите.
Ты уверен, что знаешь, кто этот kataras и что он сделал?

Вообще, пользоваться его разработками некое "табу" для уважающих себя и сообщество людей

Страница 1143 из 1674