X



Go language part 2
■ このスレッドは過去ログ倉庫に格納されています
0510デフォルトの名無しさん
垢版 |
2018/12/05(水) 22:47:27.41ID:Tw4sJLmA
>>509
それは分かるんだけどフルスタックなFWでモノシリックなサービス作るのにjavaより劣る点があるのかな?開発者数以外で。

今は過渡期でマイクロサービスやってるような敏感企業が先行してgo導入してる(gin流行る)→数年後、技術者が増えてjavaのポジションにgoが座る(フルスタックFWも流行る)。
なんて事を妄想してるんだけど、実際にgo使ってる人からするとこの妄想は無理がある?
0511デフォルトの名無しさん
垢版 |
2018/12/05(水) 22:48:21.77ID:ifntcr/4
Googleが小中規模だと思うならどうぞ。
GoはGoogleの要望から生まれたも同じだから。
0512デフォルトの名無しさん
垢版 |
2018/12/06(木) 07:33:16.31ID:nB3YQ+Se
>>510
可能性としては大いにあるけど、確実なことは誰も分からんよ
少なくとも今よりは採用例が増えるし、中にはモノリシックなでかいシステムを組むところももちろん出てくるのは間違い無いと思う
0514デフォルトの名無しさん
垢版 |
2018/12/08(土) 11:04:04.77ID:tZc7bFuP
>>512
そーか。とりあえずginで遊んでみるわ

>>513
ありがと
0515デフォルトの名無しさん
垢版 |
2018/12/09(日) 01:08:36.56ID:CZx3lRPr
goルーチンやチャンネルがそこまでスケールするものかね。
10000くらいがいいとこじゃないの?
0516デフォルトの名無しさん
垢版 |
2018/12/09(日) 15:42:26.13ID:LCYDMKL+
vscodeのgoプラグインで、ファイル保存時にフォーマッタかけるのを止める設定ってどこだ?
importだけ書いたところで思わず保存してしまって消えちゃうことが多くてもう嫌だ。
0521デフォルトの名無しさん
垢版 |
2018/12/13(木) 00:07:37.71ID:xvN/Hn0b
   // ̄~`i?ゝ               ? ? ?`l?|
   ?/?/       ?,______   ,_____    ________ ?|?|  ____ TM
   | |  ? ?___ // ̄ヽヽ // ̄ヽヽ (( ̄))? ?|?| // ̄_>>
   \ヽ、  ?|l |?| ? ?|?| |?| ? ?|?|  ``(?(.  .|?| |?|?~~
   ? ?`、二===-' ?`?==='?'  `?==='?' ?// ̄ヽヽ |__ゝ?ヽ二=''
                      ? ?ヽヽ___//   日本
  _____ _____ ?______? _______
  | ?ウェブ? | | イメージ | | グループ | | ディレクトリ |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      ?._________________
      |GoLang導入事例             │・検索オプション
      └────────────────┘・表示設定
       ? |?Google検索 | I'm?Feeling?Lucky |  ・言語ツール
        ? ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       ○ウェブ全体から検索?◎日本語のページを検索
 
 
 
 広告掲載について?-?人材募集?-?Googleについて?-?Google?in?English
  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ? ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄
      c2003?Google?-?0,000,000,000ウェブページから検索


                      ↓


                   検索結果なし
0523デフォルトの名無しさん
垢版 |
2018/12/13(木) 11:39:49.53ID:zFPTCGev
RISCに命令が足りないとか言ってるような話
0524デフォルトの名無しさん
垢版 |
2018/12/13(木) 12:15:22.45ID:4w3MESCG
それはちがう
0525デフォルトの名無しさん
垢版 |
2018/12/13(木) 12:31:54.00ID:db+khmMs
             )ソ)
          ッλ ノ(.,ノ)
         (゙- ..::.::. . (
        (ソ.  .彡⌒ミ. )ソ)
        ).::'; (´・ω・`) ス (
       ソ .::;';'(つ ⊂)::;';'`〜、.
       (  :;';' |__∧_| ::;';'  ヽ)
`'~`'''`'`'`~'~~`~~'`'`''''"`'`'`''`''''"`'``'~`''`'~`'''`'`'`~
 さ あ 禿 げ 上 が っ て ま い り ま し た
0526デフォルトの名無しさん
垢版 |
2018/12/13(木) 21:58:52.57ID:l7PW6RcB
先走る禿さんw
0527508
垢版 |
2018/12/16(日) 13:07:38.14ID:lr6W4jOY
gin(gorm)とbeego(beego/orm)を味見(CRUD API+ちょっとした検索)してみた。
beegoの方が「どういうAPIが定義されているか」が分りやすくていいような気がした。
他は違いが分からなかった。

なのでbeego使っていこうと思うんだけど、そのうち困ることって出て来るのかな?
パフォーマンスとかtransactionとか思いもよらない何かとか。。
0528デフォルトの名無しさん
垢版 |
2018/12/17(月) 20:45:42.97ID:INmLEJD1
goってenumないの不便じゃない?慣れたらそうでもないんかな
0529デフォルトの名無しさん
垢版 |
2018/12/17(月) 22:34:34.09ID:S5HZ13Hv
グーグルの天才たちがenumは要らないと判断したんだから要らないってことだよ
何も迷うことはない
0530デフォルトの名無しさん
垢版 |
2018/12/17(月) 23:47:10.78ID:58RTAoso
まさかと思いますが iota も知らずに言っているわけないですよね。
Java の enum class がないのは不便じゃないかというなら分かるけど、
enum がないのは不便と言われても const + iota + type でいいじゃんと思った。
0532デフォルトの名無しさん
垢版 |
2018/12/18(火) 01:28:03.40ID:khMi1iGR
ジェネリックないのは不便じゃね
0533デフォルトの名無しさん
垢版 |
2018/12/18(火) 08:13:21.99ID:9NtPu5c1
例外は不便じゃないが、ジェネリクスは確かに欲しいっちゃ欲しいけど、無くてもなんとかしてた、かなぁ。
Go 2のジェネリクスは早く来て欲しい。
0534デフォルトの名無しさん
垢版 |
2018/12/18(火) 17:24:06.41ID:i5/qQ3O3
例外はデメリットも結構あるから、Goはこれでいいと思う。
どうしても例外使いたけりゃ他の言語を選べばいいだけだし
0535デフォルトの名無しさん
垢版 |
2018/12/18(火) 21:40:50.49ID:PpaqEYc3
>>530

そう。javaのやつ。

あれからいじくり回した結果、自分でメソッド生やせば似たような事はできた。
そしてjavaのenumに求めていたような事はgoでは違う方法で実現すべきという気がしてきた。。
0537デフォルトの名無しさん
垢版 |
2018/12/18(火) 22:56:38.25ID:mQMHvFDr
ジャバパーには百億万年はやいわ
0538デフォルトの名無しさん
垢版 |
2018/12/19(水) 17:31:27.87ID:KHs5Plkd
そりゃ違う言語なら違うやり方を選ぶべきだよ。
と、かつてCOBOLの流儀で書かれたJavaに殺されかけたおじさんはそう思うよ。
0539デフォルトの名無しさん
垢版 |
2018/12/25(火) 20:36:11.45ID:3QMf4sRP
リモートプロセスとchannel通信したいと思ったんだけど、netchanってもう非推奨なんだよね。
代わりになるものって無いのかな。
0541デフォルトの名無しさん
垢版 |
2018/12/26(水) 14:18:53.66ID:Sasn9R68
標準パッケージだとrpcしかないか。
channelから取得したデータをrpcで投げるブリッジを自分で用意すればなんとかなるかな。
それにしてもなんでnetchanやめたんだろうね。
0542デフォルトの名無しさん
垢版 |
2018/12/29(土) 00:31:26.22ID:zIR6/lTX
log.Fatal()を呼び出したときdeferが実行されない罠なんなんですか
0543デフォルトの名無しさん
垢版 |
2018/12/29(土) 00:41:06.26ID:zIR6/lTX
panic()使ってmain()のdefer内のrecover()で拾ってlog.Fatal()使えってこと?
0545デフォルトの名無しさん
垢版 |
2018/12/30(日) 12:05:53.02ID:JDxg8BDU
>>543
log.Panic()使えばいいんじゃね?
それとも、同じ関数内のdeferは呼びたいけど上位のdeferは処理したくないってこと?
0547デフォルトの名無しさん
垢版 |
2018/12/30(日) 23:01:13.81ID:h/ITxURK
致命的な状況でFatalの代わりにPanicを呼ぶのは妥当ではありません
プログラムの実行の継続をしてはいけない状況でPanicはプログラムを終了できる保証はありません
0548デフォルトの名無しさん
垢版 |
2018/12/31(月) 08:20:24.36ID:sEEumFv8
目的で使い分けりゃいいだけの話。defer呼びたいっていうことならPanicでいいだろ。
0550デフォルトの名無しさん
垢版 |
2019/01/15(火) 19:29:05.98ID:weoqLEpo
放置してたチュートリアルを、最近また始めた。
前はエラーのinterfaceが理解しきれず詰まったんだけど、
今回やり直してやっと原因がわかった。

fmt.Errorfで返せばええやん
interfaceの説明のためにエラーを返すためだけのタイプ作ってるってことが今はわかったけど、
前はその意図が全く理解できず放置になってしまった
そういうとこあかんよねgo言語(´・ω・`)
0552デフォルトの名無しさん
垢版 |
2019/01/15(火) 20:08:32.41ID:weoqLEpo
または前の関数使い回さず、
interfaceに変えた上で実装なら筋が通ってる
あんな使い方するシチュ無いよね?
0554デフォルトの名無しさん
垢版 |
2019/01/17(木) 02:16:19.75ID:jQ16lSTt
あーごめんこれ
https://go-tour-jp.appspot.com/methods/20

■正答とされているもの
func (e ErrNegativeSqrt) Error() string {
return "cannot Sqrt negative number: " + fmt.Sprint(float64(e))
}
func Sqrt(x float64) (float64, error) {
if x < 0 { return x, ErrNegativeSqrt(x) }
}

実際やるなら普通こうだろ!と思った答え

■その1 fmt.Errorfつかう
func Sqrt(x float64) (float64, error) {
if x < 0 { return x, fmt.Errorf("cannot Sqrt negative number: %f", x) }
}

■その2 interfaceで揃える
type FloatValue float64
func (x FloatValue) Error() string {
return "cannot Sqrt negative number: " + fmt.Sprint(float64(x))
}
func (x FloatValue) Sqrt() (float64, error) {
if x < 0 { float64(x), x }
}
func main() {
o := FloatValue(2)
fmt.Println(o.Sqrt())
}

typeにErrorを実装することでinterfaceの条件を満たせるんですよってのが演習の目的なんだと思うけど、実際こんな実装するの?って疑問に思った。行数限界
0555デフォルトの名無しさん
垢版 |
2019/01/17(木) 02:23:39.13ID:jQ16lSTt
>>553
リンク先ちゃんと読んでなかった
いろんな回答例出てるのね

ただ出題の前提条件はやっぱおかしいというか、無理がある気はする

新しい型:
type ErrNegativeSqrt float64
を作成してください。

こんな事普通しないよね?
という話でした
明日にでも読んでみますわブログ
0556デフォルトの名無しさん
垢版 |
2019/01/17(木) 08:27:18.50ID:fKvosqrp
>>555
普通するかどうかは問題じゃない
言語の機能を一通り学ぶことがチュートリアルの目的なのだからね
0557デフォルトの名無しさん
垢版 |
2019/01/17(木) 09:30:20.17ID:xvRRAtaT
>>556
ユースケースって大事だと思うけどなぁ
最初何やってるか、何やろうとしてるか理解できなかったし
0558デフォルトの名無しさん
垢版 |
2019/01/17(木) 09:32:44.24ID:xvRRAtaT
あとここに書いたのは、
正答の例って使うシーン無いよね?ってのが本当にわからなかったからでもあります(´・ω・`)
0560デフォルトの名無しさん
垢版 |
2019/01/18(金) 04:19:34.68ID:UbZsPaza
>>555
エラーの型を作るのは深いところからerrorが戻ってきたときに何のエラーか特定できるようにしてエラー次第で処理を分岐するためなのではないの?
0561デフォルトの名無しさん
垢版 |
2019/01/18(金) 09:28:00.56ID:v7oCtyd7
>>560
戻ってきたときにはエラー型になってるから型判定は無理で、
メッセージで判定するならその階層のために型を作る必要が無いのではなかろうか
まだ上のリンク読んでないから、違ってたらすまん
0562デフォルトの名無しさん
垢版 |
2019/01/18(金) 10:16:32.64ID:2VRqEJOo
エラーってインターフェースだから、タイプアサーションで型判別は出来るんでないかい?
0565デフォルトの名無しさん
垢版 |
2019/02/07(木) 07:54:44.36ID:2dIEVy9q
すまんがA Tour of Goの次はどこ行けばいいの?
さしあたっての到達地点はgRPCでWebAPIを書くことなんだけど、おすすめがあったら教えて
0566デフォルトの名無しさん
垢版 |
2019/02/15(金) 13:13:33.89ID:tmAyxTCx
これってなんで通らないんですか?
https://go-tour-jp.appspot.com/moretypes/18

package main

import "golang.org/x/tour/pic"

func Pic(dx, dy int) [][]uint8 {

image := make([][]uint8, dy)
for y := 0; y < dy; y++ {
image[y] = make([]uint8, dx)
}

for y := 0; y < dy; y++ {
for x := 0; x < dx; x++ {
image[y][x] = uint8((x + y) / 2)  //14行目
}
}
return image
}

func main() {
pic.Show(Pic(10, 10))  //21行目 pic.Show(Pic())なら通る
}

エラー内容
prog.go:21:14: cannot use Pic(10, 10) (type [][]uint8) as type func(int, int) [][]uint8 in argument to pic.Show
0567デフォルトの名無しさん
垢版 |
2019/02/15(金) 15:36:27.49ID:NcZfuZLG
引数が間違ってるからでしょ、pic.Showは、f func(int, int) [][]uint8、これを受け取るのだから
その書き方だと、[][]uint8しか受け取ってない、因みにpic.Show(Pic())も通らないはず
pic.Show(Pic)なら通る
0568デフォルトの名無しさん
垢版 |
2019/02/15(金) 15:55:26.11ID:tmAyxTCx
そうだったのか、そもそもを全く勘違いしてたよ
Pic()の戻り値である[][]uint8を渡してるんじゃなくて、Pic関数を渡してるのか
ありがとう
0569デフォルトの名無しさん
垢版 |
2019/02/19(火) 05:27:35.05ID:C9gbV6OD
go
https://pc12.5ch.net/test/read.cgi/tech/1257920595/ 2009年に華々しく初登場。3日で消化
Go part2
https://pc12.5ch.net/test/read.cgi/tech/1258183436/ まだまだ衰えず10日で消化
Go part3
https://pc12.5ch.net/test/read.cgi/tech/1259072043 だいぶ落ち着いてきた3ヶ月で消化
Go part4
https://pc12.5ch.net/test/read.cgi/tech/1265620273 ほぼ1年で消化。すっかり普通のスレに。
Go part5
tech/1327216227/ 17res。オワコン
Go 総合スレ
tech/1342535690 再建。しなかった。4resでアイちゃんフィニッシュ
Go の宿題片付けます
http://mevius.5ch.net/test/read.cgi/tech/1257968644/ part1の頃立った残骸。

Go language part 1
2013年開始、4年で消化。
https://mevius.5ch.net/test/read.cgi/tech/1381374291/
0570デフォルトの名無しさん
垢版 |
2019/02/19(火) 11:08:52.79ID:0LEc4aEd
Goのシンプルさを再認識した
これ(・∀・)イイネ!!
0571デフォルトの名無しさん
垢版 |
2019/02/19(火) 19:18:38.14ID:Hn3cTwGv
Mapがない言語から来たんで、どう役に立つのかよう分からん
よくある辞書型とはちがうんか?
0574デフォルトの名無しさん
垢版 |
2019/02/26(火) 15:19:01.78ID:WzOzVnpy
1.12リリースあげ
TLS1.3自前実装とは恐れ入る。
0577デフォルトの名無しさん
垢版 |
2019/02/26(火) 23:10:40.23ID:8PapgKsZ
http/3とセットなのはquic
quicはtls 1.3を参考にしてるけど別物

httpsのs (secure) 部分の最新仕様がtls 1.3
0579デフォルトの名無しさん
垢版 |
2019/03/18(月) 09:30:47.58ID:BnxqPK5t
go案件は増えてきてるのにここの書き込みが少ないのは5chの人気が衰退してるってことなん?
0583デフォルトの名無しさん
垢版 |
2019/03/18(月) 22:29:22.94ID:43ehcaaK
ジェネリクスが入ったら、インターフェイスで書くのはレガシーになるんだろうか
0584デフォルトの名無しさん
垢版 |
2019/03/18(月) 22:35:05.51ID:67gxljOa
goで書くのがレガシーになる
0586デフォルトの名無しさん
垢版 |
2019/03/18(月) 23:13:13.98ID:v97XaEjW
Goは難しすぎる
Cに挫折して流れてきたけどCの方がまだわかりやすいと思える
0588デフォルトの名無しさん
垢版 |
2019/03/19(火) 03:49:05.14ID:vA05CjP0
一体どこが難しいんだ?
0592デフォルトの名無しさん
垢版 |
2019/03/19(火) 17:06:49.75ID:vA05CjP0
そういや、チュートリアルのクイズはなにを求めてるのかよく分からんかったな
0595デフォルトの名無しさん
垢版 |
2019/03/20(水) 08:08:08.27ID:9rInZAd6
>>590
ああそれだ
俺みたいにコードを論理ではなく見た目で直感的に解釈するタイプの人間には果てしなく合わない
やっぱこれを作ったグーグルの秀才たちの感性は俺とは違うんだなと思った
0598デフォルトの名無しさん
垢版 |
2019/03/20(水) 19:53:27.76ID:WQxU3kPV
見知っている言語と似ているようで微妙に違う、不気味の谷を感じることはある。
丸括弧の使い方とかinterface{}とか。contractはさらにキモいな。
0599デフォルトの名無しさん
垢版 |
2019/03/20(水) 22:20:42.41ID:gnUNocz6
C作った人がCじゃないものを作ったわけで
他の言語はCの影響どっかしら受けてるだろうから
別物になるのは当然っちゃ当然なような
0600デフォルトの名無しさん
垢版 |
2019/03/25(月) 20:59:16.24ID:QNpRgxgp
QiitaじゃGoとかScalaがもてはやされてるけど実務でガッツリ使ってる企業って1%もないよね?
0601デフォルトの名無しさん
垢版 |
2019/03/25(月) 22:46:04.19ID:9YEdKAJP
Goはそこそこ使われてんじゃん
ただGoでの求人はないだろうな
0604デフォルトの名無しさん
垢版 |
2019/03/26(火) 18:04:34.12ID:cgBb6Hz7
よくサーバサイドのエンジニアがJavaScriptの流行り廃り怖すぎwって言ってるけど最近はサーバ側の方が激しくない?
0605デフォルトの名無しさん
垢版 |
2019/03/26(火) 18:52:03.59ID:QZEMb5bF
scala嫌いではないけど万人に好かれるような言語じゃないよな、理想に走りすぎてて使いにくいというか
いまscalaかKotlinか選べるなら100人中98人はKotlinを選ぶだろう
0609デフォルトの名無しさん
垢版 |
2019/03/27(水) 09:35:56.53ID:xAGOR9rx
情報工学を学んでいない者にも使える言語がこの先生きのこる
GoやJavaScriptみたいな大雑把な言語設計でも直感的に書けるのは大事
■ このスレッドは過去ログ倉庫に格納されています

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