X



【Go言語】 webapp GO Part1 【Golang】 [無断転載禁止]©2ch.net
0468nobodyさん
垢版 |
2018/06/20(水) 22:17:41.57ID:UnZq46Ab
プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。

2C3G9
0469nobodyさん
垢版 |
2018/07/06(金) 22:21:00.60ID:???
progateにメルカリ監修でgoの講座できてる
0471nobodyさん
垢版 |
2018/07/10(火) 06:57:39.36ID:h1d+jc/+
>GCP の採用においては、エンジニア側の熱意も大きかったようです。
>「GAE と Datastore、Go 言語でやりたいという思いがエンジニアにすごくあったんです。
お前らがいたぞ
0472nobodyさん
垢版 |
2018/07/11(水) 03:24:20.83ID:???
progateのgo初級編やってみたけどドットインストールと大差ないな
出来ればGAE/Goで作られたカウルをフルスクラッチで作れるくらいの内容を中〜上級編として公開して欲しい
0474nobodyさん
垢版 |
2018/07/11(水) 07:40:55.40ID:???
>>473
http://ascii.jp/elem/000/001/499/1499741/
>現在、メルカリ(中略)新規事業として(中略)本やCDなどに特化した「メルカリカウル」を提供している。
>メルカリカウルにおいては、すべてGAEで構築している。
0475nobodyさん
垢版 |
2018/07/11(水) 08:03:33.99ID:???
>>474
何だ。専門用語かと思ったが略称なのね
0478nobodyさん
垢版 |
2018/07/14(土) 21:47:15.51ID:???
仕事でgoでgRPC使ってるけどさ、正直何がいいのかわからない
JSON返しゃよくねと思ってしまう
0479nobodyさん
垢版 |
2018/07/14(土) 22:36:12.19ID:???
本当に仕事で使ってたらその発想は出ないはずだが・・・
webの相手しかしてないの?スマホアプリのバックエンドとして普通使うよね?
0480nobodyさん
垢版 |
2018/07/14(土) 22:48:12.16ID:???
WebView使った側ネイティブアプリだとJSONしか使えなくね
0481nobodyさん
垢版 |
2018/07/14(土) 22:58:27.70ID:hj0eDv5j
マイクロサービス間の通信にgRPC
フロントエンドにはGraphQL
0482nobodyさん
垢版 |
2018/07/15(日) 00:09:42.15ID:???
別にサーバとクライアント間ではjsonでも困らんと思うが。
どっちかというとクライアント内のデータ構造がjsonのままはきつい。
0483nobodyさん
垢版 |
2018/07/15(日) 04:17:17.60ID:???
OpenAPI(Swagger)とgoa使ってる人いる?
webアプリにしか使わないならこっちのほうがいいよね?
0484nobodyさん
垢版 |
2018/07/15(日) 07:23:26.79ID:???
俺は普通のwebアプリでも使ってるけどね。spaなら全然行ける
0485nobodyさん
垢版 |
2018/07/15(日) 10:04:52.67ID:???
>>483
使ってると言いたかった。
マイクロサービスとか言うけど、結局webサーバーとして使えるから
0486nobodyさん
垢版 |
2018/07/18(水) 01:42:16.47ID:???
gRPCあきらめてTwirp使おうぜ
0487nobodyさん
垢版 |
2018/07/18(水) 02:46:51.88ID:???
Twirp良さそうだな
HTTP1.1→2.0の過渡期限定だけどさ
.protoが同じなら生産性も学習コストも同じだし
0488nobodyさん
垢版 |
2018/07/18(水) 07:56:48.33ID:???
Twichもgolang使ってたのか
覇権確定だな…
邪悪なOracleの支配下になったJavaを捨ててgolangに来たかいがあった
技術選定を見誤ると数年以上の遅れに繋がる
0490nobodyさん
垢版 |
2018/07/25(水) 12:06:57.03ID:???
Googleが用意したGoのライブラリを使うだけで
GCPやAWS等のクラウドプラットフォームを自由に切り替えできる
ポータビリティの高いwebアプリケーションが開発できる、ってことかな?
これは良いね
0492nobodyさん
垢版 |
2018/07/27(金) 17:05:13.99ID:???
goでwebサーバ建てる場合ってwebapiサーバだよね。
普通のwebアプリ。html返すようなのにgoを使うメリットってあるかな?
0493nobodyさん
垢版 |
2018/07/27(金) 17:05:41.88ID:???
というか向いてるgoのフレームワークある?
0494nobodyさん
垢版 |
2018/07/28(土) 11:04:52.11ID:???
goでhtmlはやめたほうがいい
0495nobodyさん
垢版 |
2018/07/28(土) 12:03:01.84ID:???
今どきhtml吐き出し系のwebしか見てない設計を選択するのはやめたほうが良いと思うけどな
RESTないしgRPCないしTwirpにしてプラットフォーム共通にすべき
ネイティブスマホアプリ対応が二度手間になる
0497nobodyさん
垢版 |
2018/07/29(日) 10:37:15.36ID:???
>>495
俺も最初はそう思ったけど、クライアントサイドのバグ対応を考慮すると、
必ずしもSPAが正解とは言えない気がする。
インスタンスの生存期間が短いほうがシンプル何だよね
0498nobodyさん
垢版 |
2018/07/29(日) 21:52:18.33ID:jirgLWfV
うちはgoやめてrustに移った
えーん
0499nobodyさん
垢版 |
2018/07/29(日) 22:18:31.50ID:???
>>497
requestに対するresponseのみの構成。
ぶっちゃけSSRな方式のほうが
0500nobodyさん
垢版 |
2018/07/31(火) 19:25:44.62ID:???
うちはgoのプロジェクトだらけになってきた。
ちなみに時価総額数千億の大手。
0502nobodyさん
垢版 |
2018/07/31(火) 20:08:47.23ID:???
ストックオプションうらやましい
俺ならヤングリタイアするわ
0503nobodyさん
垢版 |
2018/08/01(水) 09:12:16.49ID:???
ヤングリタイアならいいけど
仲間数人雇って独立はやめとけよ
人件費だけであっという間に数千万飛んでいくから…
まともに稼げるプロダクトがないのに見切り発車で起業して
自殺してしまった人を知ってる…

1人でも起業できるのがITの良いところなので
自称ニートしながらPeingみたいな小粒サービスを何個も作ってたほうがいい
0505nobodyさん
垢版 |
2018/08/01(水) 19:47:35.39ID:???
一つ聞きたいんだけどgoでweb apiサーバ建てるとしてwebクライアントはどうしてる?
spaってインスタンスの生存時間が長くなりがちだし、バグったときに全体が止まるから好かんのだけど、どう作るのが一番手軽?
0506nobodyさん
垢版 |
2018/08/01(水) 20:25:19.37ID:I2AFRSOc
API次第
0509nobodyさん
垢版 |
2018/08/02(木) 17:24:39.39ID:???
Visual Studio Code使ってるんだけどさ
ビルドタスクのtasks.jsonの記述冗長すぎないか?
結局make使ってるわ
シンプルで理解しやすいし
やりたいことはprotocくらいだしいいよね?
0510nobodyさん
垢版 |
2018/08/03(金) 23:12:55.90ID:???
goはmakeしか使ったことないわ
0511nobodyさん
垢版 |
2018/08/04(土) 15:16:59.22ID:???
鯖は全部jsonで返して
クライアント側はVueかRiot
0512nobodyさん
垢版 |
2018/08/04(土) 18:14:26.40ID:???
reactっていったい何だったんだろうな
最終的にvue.jsの天下になった
0513nobodyさん
垢版 |
2018/08/04(土) 18:50:16.44ID:IVdFyyVX
anguler
0514nobodyさん
垢版 |
2018/08/04(土) 20:07:03.30ID:???
VueよりRiotの方が簡単でシンプルで再利用性が高いと思うの
0516nobodyさん
垢版 |
2018/08/06(月) 16:49:59.51ID:???
reactの方が単価高いけどな
0517nobodyさん
垢版 |
2018/08/12(日) 18:07:10.40ID:???
Vueは結局jQueryと同じになりそうだが...
githubのissueもreactよりずっと少ないし、
npmの週刊ダウンロード数見ても数倍差がある...

結局単価高いのはtypescriptでreact書いてるところだし
0518nobodyさん
垢版 |
2018/08/12(日) 18:13:32.90ID:???
Vueは結局jQueryと同じになりそうだが...
githubのissueもreactよりずっと少ないし、
npmの週刊ダウンロード数見ても数倍差がある...

結局単価高いのはtypescriptでreact書いてるところだし
0519nobodyさん
垢版 |
2018/08/12(日) 18:30:27.09ID:???
vueだとどうしても型で固めきれないよね。
reactはflowとか型付言語と合わせて使うのがほぼ前提になってるから。
0522nobodyさん
垢版 |
2018/11/03(土) 22:17:53.21ID:???
関数の引数にstringを渡しているときは常に値渡しで、
文字列をコピーしているって公式の記載で書いてあるところどこにありますか?
探しているんですが見つからず。arrayは値渡しなのは書いてあるんだけど、、、
0523nobodyさん
垢版 |
2018/11/04(日) 04:51:58.49ID:???
えっと、その情報のソースはどこにあるの?
ソースください(公式に記載があることを断定していることからするとソースがあるんだと思いますが)。

そして、文字列のコピーってのは何を言っているんですか。

Go の文字列は immutable だから、中身のバイト配列をコピーする必要ない。
https://golang.org/ref/spec#String_types
ただ Go の文字列は、配列というよりスライスに近くて、
実際のバイト配列へのポインタをそのサイズを持った構造体である。
https://golang.org/pkg/reflect/#StringHeader

この StringHeader についてはコピー(値渡し)される。
でも中身の Data はコピーされない。
別に、Data もコピーすると思い込みたければ思い込んでもいいけど、
immutable だからコピーしてもしなくても変わらない。

実際に試してみれば:
https://play.golang.org/p/qsaq4AET8ac
0524nobodyさん
垢版 |
2018/11/04(日) 20:33:58.10ID:???
>>523
おーありがとうございます。
https://blog.golang.org/go-slices-usage-and-internals
見ながら文字列=arrayなのかと想像していたんですが
実際には文字列=sliceだったんですね
そのへんの記述が見当たらなくて悩んでたんですが、公式のドキュメントには書いてないんですかね。実験で確かめるしかない感じ?
0525nobodyさん
垢版 |
2018/11/04(日) 22:21:04.23ID:???
>>523
そのページの Related articles に書かれてますよん。
https://blog.golang.org/slices

> Now a brief section about strings in Go in the context of slices.
> Strings are actually very simple: they are just read-only slices of bytes
> with a bit of extra syntactic support from the language.

> An important consequence of this slice-like design for strings is
> that creating a substring is very efficient.
> All that needs to happen is the creation of a two-word string header.
> Since the string is read-only, the original string and
> the string resulting from the slice operation can share the same array safely.
0526nobodyさん
垢版 |
2018/11/07(水) 09:09:50.89ID:???
>>525
亀レスですがありがとうございます。
ところでStringHeaderで言語内部のデータ構造にアクセスできることに感銘を受けたんですが同じようにsliceにもアクセス可能なSliceHeader的なのもあったりしますか?
とおもったらStringHeaderの上にもあったw
0527nobodyさん
垢版 |
2018/11/09(金) 00:56:02.71ID:mSK8NSwq
Hugoいい
0529nobodyさん
垢版 |
2018/11/21(水) 00:41:26.97ID:???
go modulesめっちゃ便利やな
GOPATH関係なく動くのが本当にいい、開発時に嫌だった制限がとうとう無くなってハッピー
0531nobodyさん
垢版 |
2018/11/25(日) 08:45:28.23ID:???
GAEのstandardも1.11からurlfetchとかが消えてハッピー
ベータとれたらやっと人に勧められるわ
0532nobodyさん
垢版 |
2018/11/25(日) 17:46:50.73ID:FjjYMFcI
すれち
0534nobodyさん
垢版 |
2018/12/05(水) 21:37:33.96ID:???
GAE/SEのGo言語でgRPCするためのベストプラクティスってある?
それをまとめたWAFがあると理想なんだがなぁ

プロジェクト
└ サービスA: GAE/SE Node.js Nuxt.jsでSSR
└ サービスB: GAE/SE Go言語 サービスAからのリクエストを処理するAPIサーバ
   gRPC(Twirp)を使いたい
0535nobodyさん
垢版 |
2018/12/06(木) 16:18:01.66ID:???
TwirpってことはHTTP/1.1なREST使いたいんだろ?
双方向通信やストリームを使わないのであればgRPCよりも
GraphQLのほうがいいと思う

nuxt.jsとGraphQLを組み合わせてサービスAに統一するほうがいいぞ
nuxt.jsのserverMiddlewareでフックしてGraphQLのエンドポイント出すだけ
https://qiita.com/takanorip/items/d1e8618800d951780f4b
0537nobodyさん
垢版 |
2018/12/07(金) 16:45:10.06ID:???
それならサービスBにプレーンなApollo-server(graphqlサーバ)デプロイして
サービスA(nuxt.js側)からクエリ投げてJSON取得する構成のほうがよくないか

せっかく境界つくるんだから疎結合にしとこうぜ
Microservice化して作業担当者の責任を明確にしたほうがいい
負荷に応じてインスタンスのグレードやインスタンス数を上げたり下げたり出来るメリットも生まれる

フロントエンド(SSR)担当のサービスA
バックエンド(GraphQL)担当のサービスB

スッキリするじゃん
0538nobodyさん
垢版 |
2018/12/07(金) 16:47:47.49ID:???
まぁ例のQiita記事はApollo-clientとNuxt.jsのやり方だから、Serverには触れてないけどな
>nuxt.jsのserverMiddlewareでフックしてGraphQLのエンドポイント出すだけ
これに対しての意見な
serverまでnuxt.jsに密結合させる必要はない
0539nobodyさん
垢版 |
2018/12/13(木) 19:15:46.58ID:???
GoでGraphQL(GAE)
https://outcrawl.com/graphql-server-go-google-app-engine
https://qiita.com/trrrrrys/items/44e839134af1a0155be2
https://tech.mercari.com/entry/2018/10/24/111227
https://github.com/99designs/gqlgen
>まず個人的な理由から。 筆者はGoogle App Engine/Standard Environmentの信者であり、
>それ以外のプラットフォームを使う気は今の所ありません。

いま日本企業で一番、エンジニアの採用に力入れまくってる
最先端ベンチャー企業の社員がここまで言い切るってことは
今後はGAE/Go注目かもしれんな
0540nobodyさん
垢版 |
2018/12/13(木) 20:10:22.56ID:???
俺もGAE/Go信者やで
実はその他のPaaSやIaaSクラウドにはない魅力がGAE/SEにはある。
それは「1日の予算設定」だ。
GAE/SEだけ、EDDoS(エコノミックDDoS)で予期せぬ損害を被るリスクが低いのである。
予算使い果たしたらOver Quotaエラーでて終わり。サービスは停止するが破産は免れる。
他のサービスは予算ライン超えても警告メール出すだけで止まらない。
パケ・ホーダイのないスマホでYoutube動画を見るくらい恐ろしい行為なのだ。
資金力のない零細ベンチャーが、悪意ある競合他者から身を護るために有効な選択である。
0542nobodyさん
垢版 |
2018/12/15(土) 02:50:44.55ID:???
JavaScript界隈のエコシステムが羨ましくなってきた…
Nuxt.jsでSSR出来るのNode.js環境だけだし
パッケージマネージャーのYarnは高速かつ進捗表示が親切だし
(go get だと-vオプション付けても分かりにくい…)
GraphQLもApollo Server楽ちんだしドキュメントもわかりやすい

Go言語だとスキーマ定義が冗長だったり(graphql-go)
プレーンで可読性の高い定義ファイルから自動作成できる便利なgqlgenは
gqlgenコマンドバイナリが何かトラブってdeplicatedになってるし
いまいちすっきりしない
0543nobodyさん
垢版 |
2018/12/18(火) 09:20:26.43ID:???
jsみたいなコンパイラ通さない言語はテストが大変すぎて使いたくない
ほんのちょっとしたものを作るのはいいけど規模がでかくなると苦痛のほうが遥かに大きくなると感じてる
0544nobodyさん
垢版 |
2018/12/18(火) 11:36:20.02ID:JJQIQpAB
巨大なプログラムを書けない人はセンスが無いだけ
そういう人はコンパイラ使っても破綻する
0545nobodyさん
垢版 |
2018/12/18(火) 14:35:53.36ID:???
頭悪そうなレスだな
出来る出来ない論じゃなくて?
0546nobodyさん
垢版 |
2018/12/18(火) 14:44:00.82ID:6hLBEu5w
くゃしぃのぅ
0547nobodyさん
垢版 |
2018/12/19(水) 08:10:03.07ID:???
>>543
Typescriptあるやん

GoにはGoの良いところがあるから心配するな
0550nobodyさん
垢版 |
2018/12/21(金) 17:40:38.03ID:???
(1)Google App Engine Datastore
 import "google.golang.org/appengine/datastore"

(2)Google Cloud Datastore
 import "cloud.google.com/go/datastore"

(3)Google Cloud Firestore
 import firebase "firebase.google.com/go"

この関係が複雑で分かりにくい
将来的には(3)からbetaが取れて本流になるんでしょ?
あとgo111の第二世代GAE/SEと旧世代のコードが分散してて辛いな
最新の情報はここを見て!という道標が欲しい
公式ドキュメントは散らかりすぎてて訳わからない
0551nobodyさん
垢版 |
2018/12/21(金) 18:27:37.09ID:???
(3)Google Cloud Firestoreは、betaなので東京リージョンが存在しない。
(2)Google Cloud Datastoreは2019年中に自動で(3)にアップグレードされる
おそらく(1)も?

Firestoreの裏側にはSpanner(単独で使うとめっちゃ高い)がある。
またDatastoreモードとNativeモードがある。

Datastoreの裏側にはBigtableがある。旧世代の制約はここから来てる。

FirestoreがGAになったらDatastoreは用済み。
Firestore Native Modeのほうがいいならbetaであること、東京リージョンがないことを覚悟して使うべし。
0552nobodyさん
垢版 |
2018/12/21(金) 20:39:50.45ID:???
spanner使ってるけどつらみがある
0553nobodyさん
垢版 |
2018/12/21(金) 20:45:16.43ID:???
それは課金額が原因?
0554nobodyさん
垢版 |
2018/12/21(金) 22:10:40.26ID:???
原因不明のabortが多いのよね
0557nobodyさん
垢版 |
2019/01/18(金) 04:30:31.82ID:???
GraphQLの定義ファイル書いてCUIでコマンド打つだけで
Google App Engine / SEで動作するwebアプリケーションが
完成するシステムを開発して欲しい

誰か頼むよ
マッツン、わかめ氏よろしく
0558nobodyさん
垢版 |
2019/01/20(日) 04:49:21.26ID:???
Golangの魅力って結局なーに?
0559nobodyさん
垢版 |
2019/01/20(日) 06:39:51.80ID:???
Go! Go! Go!
And goes on!
0560nobodyさん
垢版 |
2019/01/21(月) 14:55:52.56ID:???
>>558
GAE/SEで動かせる言語の中でスピンアップが一番高速
これが最大のメリット

Java→クソ遅い、10秒かかる
PHP、Python→普通
Node.js→やや早い
Golang→チョッパヤ

スピンアップが早いのでインスタンス寝かせておいてもすぐ反応できる
(課金節約)

○○砲などのアクセス殺到スパイクが来てもスピンアップが早いので瞬時にスケールする
他のIaaS、PaaSは割と遅い
0561nobodyさん
垢版 |
2019/02/13(水) 22:23:43.04ID:???
gaeでgo動かしてるんですが、jsonpayload形式でログって出せないですか?
0563nobodyさん
垢版 |
2019/02/25(月) 18:12:34.48ID:???
Goのwebasmって最小でも2MBって馬鹿なの死ぬの?
この大きさってなんの意図があるんだろう
0564nobodyさん
垢版 |
2019/02/26(火) 08:12:51.23ID:???
ランタイム込みだからじゃないの?
0565nobodyさん
垢版 |
2019/03/15(金) 12:55:04.13ID:???
Go失速したのかissueマネージメントやら方向性の意思決定に難があるようだな
このまま使い続けて大丈夫だろうか
0566nobodyさん
垢版 |
2019/04/12(金) 19:50:46.69ID:???
112の話題ないのか。
0567nobodyさん
垢版 |
2019/06/13(木) 17:13:44.89ID:???
Goって流行ってるのか流行ってないのか分からん
レスを投稿する


ニューススポーツなんでも実況