【Go言語】 webapp GO Part1 【Golang】 [無断転載禁止]©2ch.net (609レス)
【Go言語】 webapp GO Part1 【Golang】 [無断転載禁止]©2ch.net http://medaka.5ch.net/test/read.cgi/php/1469591183/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
327: nobodyさん [sage] 2017/08/07(月) 15:06:23.83 ID:??? てs http://medaka.5ch.net/test/read.cgi/php/1469591183/327
328: nobodyさん [sage] 2017/08/10(木) 20:59:08.52 ID:??? LLから入ったんだけど構造体とかインターフェイスあたりの設計?の勘所みたいなのが分からん みんなどうやってGo言語(あるいはJavaとか)の設計をいいかんじにできるようになったの? http://medaka.5ch.net/test/read.cgi/php/1469591183/328
329: nobodyさん [sage] 2017/08/10(木) 21:48:13.12 ID:??? Go言語は真面目に設計する言語じゃない 適当に書く言語 http://medaka.5ch.net/test/read.cgi/php/1469591183/329
330: nobodyさん [sage] 2017/08/12(土) 11:41:52.13 ID:??? >>328 逆にLLの時はどんな設計だったん? http://medaka.5ch.net/test/read.cgi/php/1469591183/330
331: nobodyさん [sage] 2017/08/12(土) 17:21:40.47 ID:??? >>330 そう聞かれるとうまい答えが見つからぶ「オブジェクト指向っぽい設計」というアホな回答になってしまう そもそもインターフェイスとかいう概念がなかったので使いこなすのが難しい インターフェイスの何が嬉しいんだみたいな疑問が定期的にわいてくるんだが http://medaka.5ch.net/test/read.cgi/php/1469591183/331
332: nobodyさん [sage] 2017/08/12(土) 18:24:07.22 ID:??? 動的言語だとダックタイピングだからインターフェースがないってことか。 インタフェースはまんまインターフェースだよ APIはアプリケーションインターフェースだろ。 つまりオブジェクト間で情報をやり取りするための決まり。 例えばfmt.Fprintfをみてみよう。 https://golang.org/pkg/fmt/#Fprintf 第一引数にはio.Writerを満たすインターフェースならなんでも突っ込める じゃあio.Writerインターフェースって何か? これはwriteメソッドを備えたもの 例えばhttpのレスポンスだったり、もちろんファイルだったり それらはとにかくwriteメソッドを実装しているだけなんだ。 自分で作ったオブジェクトもwiteメソッドさえ備えていれば突っ込める。 便利でしょ? 動的言語の場合だって if (typeof xxx.someMethod === ‘function’) みたいなコードを書いたりしたでしょ? こういうのを一々入れる必要がなくなる。 なぜならインターフェースの条件を満たさないオブジェクトを突っ込むとコンパイルエラーになるから。 http://medaka.5ch.net/test/read.cgi/php/1469591183/332
333: nobodyさん [sage] 2017/08/12(土) 18:27:27.82 ID:??? 心地の良い設計の基本はすべてを知らなくても実装できること。 例えばfmt.Fprintfの中の実装を知らなくても Writeメソッドを実装すればfmt.Printfが使えるでしょ。 そういう風に自作のオブジェクトも基本的にインターフェースを仲介して 各オブジェクトの詳細は知らなくても使えるようにする。 つまり疎結合にしてやる。 http://medaka.5ch.net/test/read.cgi/php/1469591183/333
334: nobodyさん [sage] 2017/08/12(土) 18:29:48.82 ID:??? インタフェースは既存のクラスに手を入れられないのがつらみ C# みたいな this キーワードいれたりとか Haskell みたいなアドホック多相とかあれば別だけど http://medaka.5ch.net/test/read.cgi/php/1469591183/334
335: nobodyさん [sage] 2017/08/12(土) 18:32:31.26 ID:??? 俺としてはgoaとか勧める。 あれはwebapiを設計してやるとgoのコードを生成する。 webapiの実装例として参考になるし、そのまま開発してもいいし。 http://medaka.5ch.net/test/read.cgi/php/1469591183/335
336: nobodyさん [sage] 2017/08/12(土) 18:58:51.25 ID:??? なるほど色々ありがとう インターフェースの嬉しいところはなんとなく分かった。 ある型にたいして既存の関数やメソッドを使いたい→インターフェースを満たすようにメソッドを定義という感じの思考のプロセスでいいのかな? http://medaka.5ch.net/test/read.cgi/php/1469591183/336
337: nobodyさん [sage] 2017/08/12(土) 19:31:31.97 ID:??? >>336 例えばテスト主体で考えてもらえればより便利さがわかると思う。 interfaceを満たすだけのダミーなら簡単に用意できるでしょ。 structを直接引数に取る形にすると本番のstructをテスト書く時に用意しなきゃいけなくなる。 この思考プロセスがやがてDIに結びついていくんだけども。 http://medaka.5ch.net/test/read.cgi/php/1469591183/337
338: nobodyさん [sage] 2017/08/12(土) 22:27:32.53 ID:??? >>337 この話を聞いた上でちょっと色々コード眺めてみるわ 言わんとすることは分かったのであとは自分で書くときにすんなり使えるか… とにかく参考になったありがとう http://medaka.5ch.net/test/read.cgi/php/1469591183/338
339: nobodyさん [sage] 2017/08/13(日) 09:29:35.58 ID:??? goにおける配列操作で目的の要素を取り出すのっていちいちループを回さないとだめ? 標準ライブラリになんかないかな http://medaka.5ch.net/test/read.cgi/php/1469591183/339
340: nobodyさん [sage] 2017/08/16(水) 17:33:34.62 ID:??? メソッドのレシーバにnil pointerを渡して有用な場合ってどういうときなの? メソッド内でフィールドアクセスする際にpanicになったりして良いことない気がするんだが http://medaka.5ch.net/test/read.cgi/php/1469591183/340
341: nobodyさん [sage] 2017/08/17(木) 02:53:47.65 ID:??? >>340 別にnilを渡せるのが有用とかいう話は無くて、単にポインタに対してメソッドを呼び出せるとレシーバーがnilになりうるけどどーすんの?って話でしょ 他言語ではメソッドは呼ばれずにNullPointerException的なのが飛ぶようになってるけど goの場合はメソッド側でnilに対処すれば呼び出し側はレシーバーがnilかどうかを気にしなくてもいいというメリットはある http://medaka.5ch.net/test/read.cgi/php/1469591183/341
342: nobodyさん [sage] 2017/08/17(木) 05:13:20.16 ID:??? >>341 それメリットだとは思えないんだが nilに対処するコードを毎回書かなきゃならないのもダルいし忘れててもコンパイルできてしまって実行時にpanicするしで嬉しくなくね? http://medaka.5ch.net/test/read.cgi/php/1469591183/342
343: nobodyさん [sage] 2017/08/17(木) 09:20:51.85 ID:??? go2でnull安全にならないかな。無理? http://medaka.5ch.net/test/read.cgi/php/1469591183/343
344: nobodyさん [sage] 2017/09/05(火) 00:18:50.69 ID:??? gaeのdatastoreを勉強できるいい教材ないかな http://medaka.5ch.net/test/read.cgi/php/1469591183/344
345: nobodyさん [sage] 2017/09/06(水) 10:48:27.81 ID:??? appEngine使ってる人いないのん? go1.8にも対応しつつあるし期待しとるよ http://medaka.5ch.net/test/read.cgi/php/1469591183/345
346: nobodyさん [] 2017/09/08(金) 10:37:14.59 ID:URvmV42V GAE勝手にサービス終了しやがった http://medaka.5ch.net/test/read.cgi/php/1469591183/346
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 263 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.004s