【Go言語】 webapp GO Part1 【Golang】 [無断転載禁止]©2ch.net
riot.jsはQiita界隈でも好評だな
ReactはHTMLタグに直接Style設定しているような気持ち悪さがある(全然分離できてない)から
riot.jsに惹かれるのは仕方ない、というか必然 悪いことは言わんからフロントはReact+Reduxにしとけ
スマホアプリに転用できるメリットは想像以上に大きい それ他のSPAライブラリも全部同じ
Cordovaかますだけ >>213
お前Cordova使ったことないだろ?w CordovaはWebView経由だからスマホのスペックによってはもっさりするんだよな
UXが悪いから使わないほうが良いよ スマホアプリ化を視野に入れるとVue.jsとWeexが良さそうなんだがどうよ
https://weex-project.io/ 2chで一番フロントエンドフレームワークの議論が活発なスレになってるなw
役に立つのはいいのだがGopher君が物欲しそうに見てるよ・・・
BeegoもVueもWeexも中国系なんだな
ハードウェア関係だとHuaweiやXiamiなどが有名だし
ソフトウェア関係でも先進国化してる
日本も頑張らねば ム板の方でも angular は糞だから vue に乗り換えたって話は良く見かける vueも最初の頃は簡易版angularって感じだったけど、今はbetter reactって感じ。一応reactより軽くて早いってのを売りの一つにしてる。 日本人なら、アシアルのMonaca !
Cordova(PhoneGap) + Onsen UI + AngularJS Failed parsing input: parser: bad import "syscall" in github.com\mattn\go-colorable\colorable_
windows.go from GOPATH
フレームワークEchoを使ったAppEngineアプリケーション開発をしようと思ったのですが、上記のエラーが出て動きません。
解決策はありますか?
環境
Windows10 Home
Visual Studio Code
Powershell 自己解決
go get -u github.com/labstack/echo
で治りました
バージョンが古かったみたいです >>224
へ〜windows+GAEで動かない問題は解決したんだねecho MACでやれ、MACで
WindowsはC#、Android専用機れす >>227
AppleがタダでMacに交換するサービスをやれば良いんだよ。 というかlinux環境を作ればいいだけだし。
今ならdockerで一発だろ。
macだけどもlinux環境は結局作ってるし WindowsでDockerは後から色々面倒くさいこと出てくるけどなー
素直にmacでいいんじゃね? >>231
macにすることがすなおかな。
たしかwindowsって標準でubuntu環境乗せられるようになったんじゃなかったけ
詳しい人求む。 WindowsのUbuntu環境は使い物にならんよ
docker for windows、kitematicのほうが遥かにいい
ただしWindows pro必須
(Homeの人はDocker Toolbox使うしか無いが、共有フォルダ設定でほぼ100%詰まる) webとはちょっと違うんだが、golangでMac向けのキーリマップアプリケーション作れないかね
KarabinerがSierraから使えなくなって困ってる
HammerSpoonとNaoya設定使ってカーソル移動させてるが、処理落ち、もっさり感が気になって仕方ない
システムプログラミングの知識がないから、とっかかりが掴めない
誰か実力ある人、OSSで作ってくれ >>234
karabinerのスレあるからそっち見なよ。go以前にそうかんたんな話ではないみたいよ GAE/GoとGlideによるvendoring使ってgoapp serve .したら動かなくて焦ったわ
app.yamlの設定が悪かったのな
nobuild_files:
- vendor
skip_files:
- vendor/.*$
GAE/Go初心者の皆様、あなたは大丈夫だと思うが注意してくれ
俺はこれで数十分無駄にした
情報共有のために書き込んどく >colorable_windows.go Fix the build constraints syntax for appengine 7 days ago
なんだ
Echo側がGAEに対応してくれたわけじゃなくてmattnさんが頑張ってくれたお陰だったのか
このスレに報告しても無駄だと思ってたが案外役に立つんだな
俺は君の頑張りをちゃんと見てるよ!
対応してくれてありがとな もしかしてEchoってTemplate周り面倒くさい?
https://echo.labstack.com/guide/templates
type Template struct {
templates *template.Template
}
func (t *Template) Render(w io.Writer, name string, data interface{}, c echo.Context) error {
return t.templates.ExecuteTemplate(w, name, data)
}
t := &Template{
templates: template.Must(template.ParseGlob("public/views/*.html")),
}
e := echo.New()
e.Renderer = t
Ginならたった2行、こう書くだけなんだが・・・
EchoのStarがいまいち伸びない理由が分かってきたわ
g := gin.Default()
g.LoadHTMLGlob("public/views/*.html") ginだってmultitemplate使う時はEchoみたいに長くなるからおあいこさ!
package main
import (
"github.com/gin-contrib/multitemplate"
"github.com/gin-gonic/gin"
)
func createMyRender() multitemplate.Render {
r := multitemplate.New()
r.AddFromFiles("index", "templates/base.html", "templates/index.html")
r.AddFromFiles("article", "templates/base.html", "templates/index.html", "templates/article.html")
return r
}
func main() {
router := gin.Default()
router.HTMLRender = createMyRender()
router.GET("/", func(c *gin.Context) {
c.HTML(200, "index", gin.H{
"title": "Html5 Template Engine",
})
})
router.GET("/article", func(c *gin.Context) {
c.HTML(200, "article", gin.H{
"title": "Html5 Article Engine",
})
})
router.Run(":8080")
} 2chのバックエンドってどうなってんの
ここ最近API経由の専ブラの表示がめちゃくちゃ遅いんだが・・・
JIMさん、Golangを使って対処してよ >>245
確かに遅い
回線のせいではないと思う
APIの応答がなんか悪い 【緊急】2ちゃんねる全体がすっげえ重い [無断転載禁止](c)2ch.net [822935798]
http://hitomi.2ch.net/test/read.cgi/poverty/1490781907/
これだな [49選]国内注目のWebサービス・アプリを大調査! プログラミング言語、フレームワーク、アーキテクチャの一覧【2017年 春 ver.】 - エンジニアHub|若手Webエンジニアのキャリアを...
https://employment.en-japan.com/engineerhub/entry/2017/04/07/110000 Golang採用サービス一覧
・メルカリ
・グノシー
・スタンバイ
・クックパッド
・UZOU
・ニュースパス
・Wantedly People
・AWA
・pairs
・Mackerel
・Gyazo Golangの利用事例(大規模トラフィック)
・Youtube
・Abema.tv
これで十分だろ 流行りものが好きでとりあえず使ってみました的なやつだろ。何使ってもけっきょくシステムはできあがるし。 一種類の言語、FWだけですべて作ってる方が珍しいよね
クックパッドだってメインはよく知られてるようにRailsだろうし ラズパイみたいな機器でgolangでデカイファイル(mp4とか)のアップロード処理をしたいんだけど単純な実装だと一度メモリに展開しちゃうから
メモリが足りなくて止まってしまいます。
かと言ってtempfile使うとOSが入っているSDを痛めちゃうから
遅延書き込みできる仕組みとか使えないかなと思ってるんですが
そういう実装例ってないですかね? 解決したなら解決方法書いていくぐらいの事できないのかね
書き残しておけば同じ疑問持ってる人の参考になるだろ
質問はするのに自分の知った知識を他の人に提供するのはそんなに嫌かい? 今まではhatenaブログ等に断片化していた情報がQiitaに集約される流れはいいな 今さらながら、Gorilla/muxが使いやすい
EchoもGinもいらんな GinもEchoもフレームワークというよりライブラリに近い
フォルダ構成まできっちり定めてくれると初心者には迷いがなくていいんだが・・・ メルカリ・ソウゾウでは、どのようにGoでソフトウェア開発をしているのか聞いてみた
https://codeiq.jp/magazine/2017/04/50250/ Goの流れが加速している今
GAE/GoにフォーカスをあてたWAFの開発と
GAE上で動作するマストドンのようなオープンソースプロダクトが欲しいところだね >GAE上で動作するマストドン
Mastodonを稼働させるために必要なインフラの知識を
オートスケールなPaaSで吸収しちゃったら乱立が加速してしまうな・・・
あとGAEでリアルタイムサーバープッシュする場合、Firebaseと連携する必要があるからやや面倒だぞ
https://cloud.google.com/appengine/docs/deprecations/channel
>The Channel API did not scale well enough for the workloads it was intended for and so did not find wide adoption.
>Accordingly, support for the Channel API will be turned off on October 31, 2017.
>You can use the Firebase Realtime Database to achieve superior realtime functionality in your application. 最近go調べてるんだけど
FW選びすんげー迷うなこれ
雌雄が決するほどの勢いもなさそうだしなぁ このスレで言うことじゃないかもしれんが最近はtypescriptが、良い気がしてる。
結局jsonを変換せずにそのまま使えるのがでかい >>269
自社開発で息の長いプロジェクトなら薄いラッパーぐらいがいいし、受託とかプロト開発で効率重視ならフルスタックでいいと思う。 goaが鼻血が出そうなくらい便利なんだが。
swagger.json吐くから
Swagger Code Generatorでtypescript-fetchのコードはいたら
Goの構造体そのままのinterface定義(typescriptのinterface定義ね)
でapiクライアント吐いてくれるんで
サーバからクライアントまで全体を型付きで扱える。
echoでrestサーバ作ろうとしてたのがアホすぎたわ。
もうgoaでいい。 goaのいいところはとにかくルーティングとかバリデーションとか
勝手にもれなく自動実装してくれるところだね。
restの流儀を知らなくても実装してくれるから
後はdb側とのつなぎこみだけ作ればいい。
むしろgoaにrestサーバの作り方を習ってる感じ。
後はコードジェネレートだからinterface{}型を使ってないのがいい
DSL側で事前にここはint型だからって指示しておくから
ちゃんとint型で入ってる。Goはやはりコードジェネレートが正義だな。
メタプログラミングが苦手ならコードジェネレートすればいいじゃない。
db側もxoを使うことにした。
スキーマ設計はDB側だけにする感じで。
goaでdb設計もできるけど、dslを気軽にいじるならdb設計はやらせないほうがいい気がする AppEngineにも対応してるのがええな
goa goでマイクロサービス作るとして
中小企業に提案できるのって
どんなぱたーん? >>276
goaってマイクロサービス向け銘打ってるけど、別に普通にreactなフロントエンドを動かすサーバサイドとして普通に使って良さそうだけどな よくわからんからサンプルプロジェクトをGithubで公開してくれや
goaとgoogle app engine/goのStandard Environmentで動くコードがいい
クライアントはvue.js(またはreact.js)を使ったSPAで
ID、名前、コメント、作成日時、更新日時 をページングあり(20件ごと)で一覧表示する感じでよろ
CRUDも当然できるものとする ページングはCusor使ってインクリメントな動的ページングな
オフセット使うとパフォーマンス問題でるから
<<[1][2][3]>>
こういうのは使えない >>278
https://github.com/goadesign/goa-cellar
とかみてみたら。
webapiしかないけど、
DSLにFiles があるからstaticファイルの配信も簡単で
すぐreactで追加実装できる。
あとはgoでSSR出来ればほぼ完璧だなー 久しぶりにgoで開発してたら何かvscでgoの開発作業するとマシンパワーやたら食うんだけどなんでだろ >>282
これ関係あるかな?
VisualStudio Codeスレより
8 名前:デフォルトの名無しさん [sage] :2017/05/16(火) 00:07:55.41 ID:jyI5CijS
久しぶりにgoの開発をこいつで始めたらなんか調子よくないな。
定義を見に行ったり行かなかったりする。
エディターを再起動すると治る気がするけど、定期的に再起動しないとだめ臭い >>284
ごめん。それ俺ですマルチポストすまんですm(_ _)m
issueみてみると皆困ってるみたいだから
何れ解決すると期待したい。
goの開発環境として一番使いやすいと思ってたんだけど
こうなると微妙やなjetbrainの試してみようかな。 jetbrainのやつWindowsで使ったら
フォント描画がひどすぎて目が潰れたのでMac版推奨 >>281
これ、結局参加できなかった。
結局人数割れ起こしてるみたいね。
goa使ってるんだけど、echoとかより実際のコードの記述量は減る感じだよね。
あとマジックコードがないから生成したコードを追いかければ理解はできるのがいい。
reflectionだらけのコードよりいいわ。 なんだ
GAE/GoもPython向けのGUIツール使えるんだな
app.yamlを適切に設定してあればどの言語でもワンボタンでDeploy出来る
今までCUIでコマンド打ってたわ goでapiサーバ作ってる人多いと思うんだけど
apiのテストってどう書けばいいの?
dbのコードと密結合してるんだけど、、、 >>290
テスト系DB作って、まっさらな状態から通しでAPI呼んでいく。
結果としてDBに残る値も担保できるので、普通はこうすると思う。 >>291
それが無難か。
そういうのを効率的に実装するヘルパーなライブラリってないでしょうか?
productionから自動的にDBのスキーマだけ拾ってきて
testDBを新規作成してくれるとか。 >>292
それじゃ、カラム増やしたときにテスト出来ないよ。
しかし、DBのスキーマだけ拾ってcreate文に落としてくれるのはだいたいのDBにあるのでは?
pgdump然り。 goってテスト用のディレクトリを作っちゃうとパッケージ名を
変えることになってパブリックな関数とかしかテストできなくなっちゃいますか?
テストコードと実装が同一階層に並んでいるのがなんとなく気持ち悪いんですが
コレは諦めるしかないんですかね? >>294
なんとなく気持ち悪い程度の理由なら標準に合わせた方がいいよ。
それを気持ち悪いと思わない人達が作った言語なんだから。 一番聞きたいのはディレクトリ掘っても、パッケージ名を維持する方法 制服ミニで脚が細く綺麗なJKが前歩いてて、ウホッとなって顔よく見たらgopher君だった事案が発生 >>299
やっぱりできないみたいね。
Spread Operatorっていうやつかな。
最後の引数でしか使えないって制約なんとかならんもんかな。
受け側
func (test …string) { }
は無理なのは分かるけど
渡す側
fmt.Println(test…,test2…)はできても問題なさそうなもんだけど。 最新人気ランキング
1位 Java
2位 C
3位 C++
4位 Python
5位 C#
6位 PHP
7位 Visual Basic .NET
8位 JavaScript
9位 Delphi/Object Pascal
10位 Go
11位 Perl
12位 Swift
13位 Ruby
14位 Assembly language
15位 R
16位 Visual Basic
17位 MATLAB
18位 Objective-C
19位 Scratch
20位 PL/SQL
https://www.tiobe.com/tiobe-index/
GolangがRubyを抜いた 最初に就職した会社がDelphi専門
転職した会社でPerl漬け
今趣味でGoやってる
9-11位独占した!やったぜ!(´・ω・`) Golang破竹の勢いで成長してるな
まぁスクリプト言語の可読性と生産性、コンパイラ言語の高速性を兼ね備えた言語だから
人気出るのは当然か >>305
goって言うほど習得が容易な言語かね?言語仕様がシンプルだからかんたんと言うのは安易だ