[過去ログ] Go language part 5 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1: デフォルトの名無しさん [sage] 2022/02/27(日) 07:43:20.04 ID:uWHjNeVw(1/3) AAS
Goについて扱うスレッドです。
GoはGoogleによって開発された言語です。

公式
外部リンク:golang.org

公式ドキュメント
外部リンク:golang.org

公式外パッケージドキュメント
外部リンク:godoc.org

ブラウザ上で試し書き
外部リンク:play.golang.org

※前スレ
Go language part 4
2chスレ:tech
978: デフォルトの名無しさん [] 2025/05/20(火) 17:31:30.72 ID:qgCJRvxW(1) AAS
クラウドフレアはFPGAを使うべきでは?
LuaスクリプトよりRustのほうが速いという主張も良くわかりませんでした
それは当たり前では?
979: デフォルトの名無しさん [sage] 2025/05/20(火) 22:34:48.64 ID:vbQ41r/k(1/3) AAS
>>967
967(1): デフォルトの名無しさん [sage] 2025/05/19(月) 23:58:00.24 ID:+dWR/SKT(1) AAS
Goroutineが重いプリエンプティブを選んだのはなぜだろうね
マルチユーザのマルチタスクなら強制的にプリエンプションせざるを得ないけど自分たちでコードを書くのだから協調スケジューリングで十分なはず
結果多くのコンテキスト切り替えスイッチングも重くスタックレスにも出来ず
単純に、「重い」と認識できてない馬鹿と、分かってても変更しない意識高い系馬鹿の合わせ技でしょ

1995時点で「お前らのマルチスレッドはスイッチングが重すぎてまるで機能していない」と看破できたのはJSだけ
大半の言語はこれを認め、JSと同様に「手動」で軽量化も可能なよう、async文法を導入した
ただし実際、手間が増えてるのと、将来的にOSレベルでのスイッチングが軽くなった場合に、asyncで書かれたコードはゴミになる
だから「抽象度が高い状態で書きたいのだ!!!」「OSで『自動』的にやらせたほうがコード資産の価値は高いのだ!!!」という言い訳はできる
(問題は軽くなる予定が全く無いことだが)

この意味では、「asyncが必要なのではなく、OSがポンコツすぎるのだ!!!」と責任転嫁することも出来るはずだが、
誰もやらないところを見ると、OSは限界までは軽いんだろうな

そして逆に、アプリ側でasync必須でスケジューラも持ってれば、OS側で持ってるのは無駄なので削除して軽量化することは出来る
chromiumOSが奇妙に軽いのはこの辺かもな(=JS専用OS)
980: デフォルトの名無しさん [sage] 2025/05/20(火) 22:35:11.14 ID:vbQ41r/k(2/3) AAS
> プリエンプティブ
> 協調スケジューリング
改めて考えてみたが、「同期APIを使える」くらいしか利点を思いつかない
協調スケジューリングの場合は「非同期API強制」となるからね
JSは2013年頃でも「SLEEPは?」とか言われてたし、889のような馬鹿げたブログ(2015)を書くやつも居るしで、
非同期アレルギーはそうならなかったやつの想定以上に激しいのかもしれん
(俺に言わせれば、SLEEPは別の書き方があるからそれでいい、Promiseはゴミ、コールバック地獄になるのは腕前の問題、
この辺JSは全関数がクロージャなのだから適当に関数ぶった切って書き、コールグラフを整理すれば回避出来る、となるが)
そして出自がJSというのも当たりは悪い
フニャフニャ文法、階層が関数、専用構文とprivateのないオブジェクト指向、
ダックタイピング、動的に変化するthis、他型のメソッドも使える、で、
正統派オブジェクト指向のC++/Java/C#勢からすれば十分異端すぎるのに、更に、非同期、イベントドリブン、だからね
JSモデルが想定以上に速かったから、他言語開発者はJSを研究せざるを得ず、
何じゃあこれはーーー!!!となるのは分かる(=JSアレルギーの発症
俺の場合は、え?こんなので大丈夫なのか?→あれ?意外と問題ねえな→実は他言語が無駄に冗長過ぎただけでは…、となったが)
まあブレンダン・アイクは本当に上手く攻略したな、とは思うよ

とはいえ、『同速なら』同期APIのコードの方がマシなのは事実だから、
同期API派はさっさと同速になる方向の努力をすべきだと思うがな
981
(1): デフォルトの名無しさん [sage] 2025/05/20(火) 22:36:05.33 ID:vbQ41r/k(3/3) AAS
>>976
976(1): デフォルトの名無しさん [sage] 2025/05/20(火) 10:42:26.74 ID:SbcnGbeK(1) AAS
原文読んだけど
外部リンク:blog.cloudflare.com
- コネクションプール戦略の改善により遅延を削減できた
- NginxのLuaモジュールをRustに置き換えたことでCPUとメモリの使用量を削減できた

Rustだからというよりアーキテクチャの改善と汎用性や柔軟性を犠牲にした最適化でパフォーマンスを改善したってことだ
全体として原文はRust最強みたいな変な誤解をされないように注意深く書かれているから、ちゃんとその辺りを理解してあげないと失礼
> skipping TCP and TLS handshakes required on a new connection.
いやこれってありなんか?とは思ったが、GETならどうせ同じ(はず)だからいいのか?
となると、リバースプロキシって、誰かの操作を横から盗み見してる感じになるのか?

> 原文はRust最強みたいな変な誤解をされないように注意深く書かれている
信者が発狂するからといってオブラートに包みすぎ。原文は以下
> This is not because we run code faster.
まあCと比べればRustも遅いから、これはどうにもならんが
982: デフォルトの名無しさん [sage] 2025/05/20(火) 22:43:28.20 ID:5IEvPsHE(1/2) AAS
Rustスレでやろうぜ
983: デフォルトの名無しさん [sage] 2025/05/20(火) 22:44:31.07 ID:5IEvPsHE(2/2) AAS
GoクンのHPはもうカツカツよ🥺
984: デフォルトの名無しさん [sage] 2025/05/20(火) 23:12:32.78 ID:C5OyrGcX(1) AAS
次スレ
Go language part 6
2chスレ:tech
985: デフォルトの名無しさん [sage] 2025/05/20(火) 23:47:56.43 ID:MuN0b/Nd(1) AAS
>>981
一般的なリバースプロキシじゃなくて、あくまでCDNだからね
基本的に全部パブリックリソースのGETだし、どのみちオリジンサーバーから見ればCDNからのリクエストだから一緒
986
(1): デフォルトの名無しさん [sage] 2025/05/21(水) 10:46:48.11 ID:va6/rMba(1) AAS
MITM
987: デフォルトの名無しさん [] 2025/05/28(水) 04:53:46.40 ID:TwWA6F4N(1) AAS
つるつるわれめ
988: デフォルトの名無しさん [] 2025/05/30(金) 13:31:36.30 ID:XWQpoVmB(1) AAS
梅八日
989: デフォルトの名無しさん [sage] 2025/06/02(月) 21:47:55.19 ID:wcsvfY5O(1/3) AAS
適当なんだけどこれであってる?
肯定/訂正してくれたら嬉しい

1. ローカル変数(sliceはそのヘッド)はescape analysisでスタックやレジスタ割り当て
2. ヒープの頻繁確保解放は総量上限が分かるならプール
3. ロジック的に寿命が長いやつはそもそもGC影響は軽微
990: デフォルトの名無しさん [sage] 2025/06/02(月) 21:51:04.00 ID:wcsvfY5O(2/3) AAS
配列/スライスの添え字アクセスは境界チェックされる
991: デフォルトの名無しさん [sage] 2025/06/02(月) 21:52:50.52 ID:wcsvfY5O(3/3) AAS
dangling pointerは発生しない
992
(3): デフォルトの名無しさん [sage] 2025/06/05(木) 21:11:14.75 ID:ZsUexMhd(1) AAS
Go言語がエラー処理構文の導入を「一旦諦める」と宣言 — 7年にわたる検討の末コンセンサス得られず
外部リンク:techfeed.io
993: デフォルトの名無しさん [sage] 2025/06/05(木) 21:36:51.37 ID:YBXwJM9k(1) AAS
今のままでいいぞ。例外処理はワイには100年早い
994
(1): デフォルトの名無しさん [sage] 2025/06/05(木) 23:37:51.96 ID:Hk1mFN4z(1) AAS
>>992
(他言語含めて)前から思ってるんだけど、コードは縦に書くもの(=改行するもの)だと洗脳されてるよな
読みたくないコードはアナログに右に書けばだいたい解決する
今更「一行は80文字まで」等の化石コーディングルールを脳死で守ってるなら尚更

func printSum(a, b string) error {
x, err := strconv.Atoi(a); if err != nil {return err}
y, err := strconv.Atoi(b); if err != nil {return err}
fmt.Println("result:", x+y)
return nil
}

これでスッキリだろ
生理的に許せんならフォーマッタ使えで終わるし(逆も然りだが)
995: デフォルトの名無しさん [sage] 2025/06/06(金) 00:36:59.99 ID:pqJl8iQF(1) AAS
printしてpanicしてエラースッキリ
996
(1): デフォルトの名無しさん [sage] 2025/06/06(金) 00:55:09.52 ID:56KGrjta(1) AAS
>>994
フォーマット以前にサンプルとはいえそんなクソコードを書くやつのほうが生理的に許せんわ
997: デフォルトの名無しさん [sage] 2025/06/06(金) 00:56:27.07 ID:MkNISVMm(1) AAS
go lint
998
(1): デフォルトの名無しさん [sage] 2025/06/06(金) 01:10:46.44 ID:7Uf7u6qh(1) AAS
>>996
それは俺も思ったが、ここで言う意味もあるまい
(もし俺がサンプルを作ったと勘違いしてるのなら、リンク先確認しろ)
999: デフォルトの名無しさん [sage] 2025/06/06(金) 10:14:03.88 ID:EuijCvJq(1) AAS
IDEに見た目の折りたたみさせればよくね
1000: デフォルトの名無しさん [] 2025/06/08(日) 09:10:52.84 ID:nTaYMW6S(1) AAS
質問いいですか?
1001
(1): 1001 [] ID:Thread(1/2) AAS
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1197日 1時間 27分 33秒
1002
(1): 1002 [] ID:Thread(2/2) AAS
5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。

───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。

▼ UPLIFT会員登録はこちら ▼
外部リンク:uplift.5ch.net

▼ UPLIFTログインはこちら ▼
2ch板:login
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.178s*