Go language part 2
レス数が1000を超えています。これ以上書き込みはできません。
久しぶりにgo触ったので記憶が不確かなところありますが
main.goのみが置かれたディレクトリでgo buildしたらgo.exeが生成されたのですが以前はmain.exeが生成されてたよう思うのですが仕様が変わったのでしょうか?(流石にgo.exe生成は有害すぎる気がするのですが) >>475です
自己解決しました。main.goのあるフォルダ名がgoになっていたせいでした。
お騒がせしました 文法難しすぎて挫折した
ポインタもあるし
やっぱりグーグルはダメだな go触ってみたんだが、なにGOPATHって?
前世紀からの業を背負っているpythonでさえ最近はvenvとかが普通なのに。 結局それってプロジェクト毎にGOPATH設定する前提じゃない?
まあ手間としてはpython venvのactivateと変わらんのだろうけど。 go1.11以降であればgo modでvendoringともGOPATHともおさらばよ。デフォは設定してないとダメだけど おおこれはうれしい。
ただ、go mod vendorしたのにvendorだけじゃなくて$GOPATH/pkgにも展開されてしまうのは
そういうもんなのかな。あえてvenrorを使う必要もなさそうだからいいけど。 goでwebサービス作ろうかと思ってるんだけどginとbeegoならどっちがおすすめかな?
ネットの情報だとginの方が優勢っぽいんだけどこれはgoが規模大き目のweb開発に向かないわけではないよね? goでの大規模開発は複数のマイクロサービスで成り立ってるのが主流だから、単体だと機能少なくていいんだよ >>509
それは分かるんだけどフルスタックなFWでモノシリックなサービス作るのにjavaより劣る点があるのかな?開発者数以外で。
今は過渡期でマイクロサービスやってるような敏感企業が先行してgo導入してる(gin流行る)→数年後、技術者が増えてjavaのポジションにgoが座る(フルスタックFWも流行る)。
なんて事を妄想してるんだけど、実際にgo使ってる人からするとこの妄想は無理がある? Googleが小中規模だと思うならどうぞ。
GoはGoogleの要望から生まれたも同じだから。 >>510
可能性としては大いにあるけど、確実なことは誰も分からんよ
少なくとも今よりは採用例が増えるし、中にはモノリシックなでかいシステムを組むところももちろん出てくるのは間違い無いと思う モノシリック → 物知り
モノリシック → モノリス >>512
そーか。とりあえずginで遊んでみるわ
>>513
ありがと goルーチンやチャンネルがそこまでスケールするものかね。
10000くらいがいいとこじゃないの? vscodeのgoプラグインで、ファイル保存時にフォーマッタかけるのを止める設定ってどこだ?
importだけ書いたところで思わず保存してしまって消えちゃうことが多くてもう嫌だ。 >>516
"[go]": {
"editor.formatOnSave": false
} >>515
どんなシステム化によるけどサーバー1台で同時10000さばけたらなかなか優秀じゃね 他の言語に当たり前のようにある機能がGoにはないよな // ̄~`i?ゝ ? ? ?`l?|
?/?/ ?,______ ,_____ ________ ?|?| ____ TM
| | ? ?___ // ̄ヽヽ // ̄ヽヽ (( ̄))? ?|?| // ̄_>>
\ヽ、 ?|l |?| ? ?|?| |?| ? ?|?| ``(?(. .|?| |?|?~~
? ?`、二===-' ?`?==='?' `?==='?' ?// ̄ヽヽ |__ゝ?ヽ二=''
? ?ヽヽ___// 日本
_____ _____ ?______? _______
| ?ウェブ? | | イメージ | | グループ | | ディレクトリ |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
?._________________
|GoLang導入事例 │・検索オプション
└────────────────┘・表示設定
? |?Google検索 | I'm?Feeling?Lucky | ・言語ツール
? ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
○ウェブ全体から検索?◎日本語のページを検索
広告掲載について?-?人材募集?-?Googleについて?-?Google?in?English
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ? ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄
c2003?Google?-?0,000,000,000ウェブページから検索
↓
検索結果なし >>520
そりゃそういうコンセプトで作られたものだし )ソ)
ッλ ノ(.,ノ)
(゙- ..::.::. . (
(ソ. .彡⌒ミ. )ソ)
).::'; (´・ω・`) ス (
ソ .::;';'(つ ⊂)::;';'`〜、.
( :;';' |__∧_| ::;';' ヽ)
`'~`'''`'`'`~'~~`~~'`'`''''"`'`'`''`''''"`'``'~`''`'~`'''`'`'`~
さ あ 禿 げ 上 が っ て ま い り ま し た gin(gorm)とbeego(beego/orm)を味見(CRUD API+ちょっとした検索)してみた。
beegoの方が「どういうAPIが定義されているか」が分りやすくていいような気がした。
他は違いが分からなかった。
なのでbeego使っていこうと思うんだけど、そのうち困ることって出て来るのかな?
パフォーマンスとかtransactionとか思いもよらない何かとか。。 goってenumないの不便じゃない?慣れたらそうでもないんかな グーグルの天才たちがenumは要らないと判断したんだから要らないってことだよ
何も迷うことはない まさかと思いますが iota も知らずに言っているわけないですよね。
Java の enum class がないのは不便じゃないかというなら分かるけど、
enum がないのは不便と言われても const + iota + type でいいじゃんと思った。 例外は不便じゃないが、ジェネリクスは確かに欲しいっちゃ欲しいけど、無くてもなんとかしてた、かなぁ。
Go 2のジェネリクスは早く来て欲しい。 例外はデメリットも結構あるから、Goはこれでいいと思う。
どうしても例外使いたけりゃ他の言語を選べばいいだけだし >>530
そう。javaのやつ。
あれからいじくり回した結果、自分でメソッド生やせば似たような事はできた。
そしてjavaのenumに求めていたような事はgoでは違う方法で実現すべきという気がしてきた。。 レガシージャバで嫌な思いしてきたからgo最高ですよ そりゃ違う言語なら違うやり方を選ぶべきだよ。
と、かつてCOBOLの流儀で書かれたJavaに殺されかけたおじさんはそう思うよ。 リモートプロセスとchannel通信したいと思ったんだけど、netchanってもう非推奨なんだよね。
代わりになるものって無いのかな。 標準パッケージだとrpcしかないか。
channelから取得したデータをrpcで投げるブリッジを自分で用意すればなんとかなるかな。
それにしてもなんでnetchanやめたんだろうね。 log.Fatal()を呼び出したときdeferが実行されない罠なんなんですか panic()使ってmain()のdefer内のrecover()で拾ってlog.Fatal()使えってこと? >>543
log.Panic()使えばいいんじゃね?
それとも、同じ関数内のdeferは呼びたいけど上位のdeferは処理したくないってこと? Fatalは致命的なのでリソース解放とか気にしている場合じゃないのです 致命的な状況でFatalの代わりにPanicを呼ぶのは妥当ではありません
プログラムの実行の継続をしてはいけない状況でPanicはプログラムを終了できる保証はありません 目的で使い分けりゃいいだけの話。defer呼びたいっていうことならPanicでいいだろ。 放置してたチュートリアルを、最近また始めた。
前はエラーのinterfaceが理解しきれず詰まったんだけど、
今回やり直してやっと原因がわかった。
fmt.Errorfで返せばええやん
interfaceの説明のためにエラーを返すためだけのタイプ作ってるってことが今はわかったけど、
前はその意図が全く理解できず放置になってしまった
そういうとこあかんよねgo言語(´・ω・`) または前の関数使い回さず、
interfaceに変えた上で実装なら筋が通ってる
あんな使い方するシチュ無いよね? あーごめんこれ
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の条件を満たせるんですよってのが演習の目的なんだと思うけど、実際こんな実装するの?って疑問に思った。行数限界 >>553
リンク先ちゃんと読んでなかった
いろんな回答例出てるのね
ただ出題の前提条件はやっぱおかしいというか、無理がある気はする
新しい型:
type ErrNegativeSqrt float64
を作成してください。
こんな事普通しないよね?
という話でした
明日にでも読んでみますわブログ >>555
普通するかどうかは問題じゃない
言語の機能を一通り学ぶことがチュートリアルの目的なのだからね >>556
ユースケースって大事だと思うけどなぁ
最初何やってるか、何やろうとしてるか理解できなかったし あとここに書いたのは、
正答の例って使うシーン無いよね?ってのが本当にわからなかったからでもあります(´・ω・`) > こんな事普通しないよね?
golangではする >>555
エラーの型を作るのは深いところからerrorが戻ってきたときに何のエラーか特定できるようにしてエラー次第で処理を分岐するためなのではないの? >>560
戻ってきたときにはエラー型になってるから型判定は無理で、
メッセージで判定するならその階層のために型を作る必要が無いのではなかろうか
まだ上のリンク読んでないから、違ってたらすまん エラーってインターフェースだから、タイプアサーションで型判別は出来るんでないかい? >>562
ありがとうございますorz
なるほどswitch型アサーションしてエラー処理出来るのね。。 goに関係なくインターフェースって言葉自体を理解してなさそう すまんがA Tour of Goの次はどこ行けばいいの?
さしあたっての到達地点はgRPCでWebAPIを書くことなんだけど、おすすめがあったら教えて これってなんで通らないんですか?
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 引数が間違ってるからでしょ、pic.Showは、f func(int, int) [][]uint8、これを受け取るのだから
その書き方だと、[][]uint8しか受け取ってない、因みにpic.Show(Pic())も通らないはず
pic.Show(Pic)なら通る そうだったのか、そもそもを全く勘違いしてたよ
Pic()の戻り値である[][]uint8を渡してるんじゃなくて、Pic関数を渡してるのか
ありがとう Goのシンプルさを再認識した
これ(・∀・)イイネ!! Mapがない言語から来たんで、どう役に立つのかよう分からん
よくある辞書型とはちがうんか? namespace周りはもう少しなんとかなりそう。
検索するのが意外と不便。 >>571
https://github.com/gorilla/websocket/blob/master/examples/chat/hub.go
> type Hub struct {
> // Registered clients.
> clients map[*Client]bool
最近見てへーと思ったwebsocketのサンプルチャット
typeのポインタをmapのkeyにしてる 1.12リリースあげ
TLS1.3自前実装とは恐れ入る。 TLS1.3ってHTTP/3.0とセットじゃなかったっけ? 全く知らないんだけどちょっとググったんだけど
HTTPS的なものなの? http/3とセットなのはquic
quicはtls 1.3を参考にしてるけど別物
httpsのs (secure) 部分の最新仕様がtls 1.3 go案件は増えてきてるのにここの書き込みが少ないのは5chの人気が衰退してるってことなん? うん
新しいものに敏感な今の若い子は5chを見ない 2chの代わりってどこなんだろう
Teraなんとかとqiitaなのかな genericsが正式リリースされたら使ってやろうと様子見。 ジェネリクスが入ったら、インターフェイスで書くのはレガシーになるんだろうか Goは難しすぎる
Cに挫折して流れてきたけどCの方がまだわかりやすいと思える 良かった、やっぱり人居たじゃん。
という釣りだと思うけど 難しくはないけど直感的じゃないしコードの見た目が汚いとは思う そういや、チュートリアルのクイズはなにを求めてるのかよく分からんかったな >>590
ああそれだ
俺みたいにコードを論理ではなく見た目で直感的に解釈するタイプの人間には果てしなく合わない
やっぱこれを作ったグーグルの秀才たちの感性は俺とは違うんだなと思った 見知っている言語と似ているようで微妙に違う、不気味の谷を感じることはある。
丸括弧の使い方とかinterface{}とか。contractはさらにキモいな。 C作った人がCじゃないものを作ったわけで
他の言語はCの影響どっかしら受けてるだろうから
別物になるのは当然っちゃ当然なような QiitaじゃGoとかScalaがもてはやされてるけど実務でガッツリ使ってる企業って1%もないよね? Goはそこそこ使われてんじゃん
ただGoでの求人はないだろうな Scalaがもてはやされてたのは2017年頃までやろ
昨年は既に空気やで… よくサーバサイドのエンジニアがJavaScriptの流行り廃り怖すぎwって言ってるけど最近はサーバ側の方が激しくない? scala嫌いではないけど万人に好かれるような言語じゃないよな、理想に走りすぎてて使いにくいというか
いまscalaかKotlinか選べるなら100人中98人はKotlinを選ぶだろう 誰でも頭が良くなる、プログラムが書けるようになる方法が発見される 83890
https://you-can-program.hatenablog.jp 情報工学を学んでいない者にも使える言語がこの先生きのこる
GoやJavaScriptみたいな大雑把な言語設計でも直感的に書けるのは大事 何だかんだでJava、JavaScript、PHPが30,40年後も生きてると思う
ぶっちゃけこの3つだけできてれば一生食ってはいけるんだろうな 20年前はcgiと言えばperlだったし
動的なWebコンテンツと言えばフラッシュだった
PHPのCMSと言えばPHPNukeが当たり前だったし
それ以前はそもそもCMSが無かった
先の事なんて判らんよ 今のWebの新規開発はrubyかpythonってイメージある 静的、動的、関数型を一つずつマスターしてれば時代の流れとともに簡単に乗り換えできるし
最初のうちはJava、PHP、Scalaとかでいいんじゃね 今だったらJava(Kotlin)、Python or Ruby、Go
でいいんじゃね とりあえず、ここGoのスレだからGoは入れようか
他は何でもいい Kotlin, Go, Python, TypeScript JavaScriptでちゃんと実務ができれば他の言語とか全部余裕だと思ってる
ブラウザが変わると挙動が変わったりするのは本当にきつい
俺にはフロントは無理 Go,Gopher||JSSyscall/js,Otto >>613
静的で動的で関数型なTypeScript最強ってか。 小中学校でプログラミング必修化だそうだ
俺ら失職じゃん
小さな頃から仕込まれた才能にはとても太刀打ちできん 職業プログラマで才能が〜とかなるシーンてほぼ無いような… 結局のところ授業は国数英社理が9割ぐらい占めてるし
音楽とか美術ぐらいの頻度でプログラミングを学んだところで実務レベルになるとは思えんわ >>621
そもそも論理的思考は算数・数学で鍛えられるのに、今まで何やってたのかと。 >>621
家庭科で料理を教えるけど料理人は失職してないよ 料理は人間の食欲に直結する
人間は食べずに生きていく事は出来ない
しかしプログラムは無くても生きていける
いわんやプログラムを書く事をや プログラムを自分で書かなくても生きていけるけどプログラムが消滅したらもはや生きて行くのは無理なのでは 俺も学生当時は数学なんて勉強しなくても生きていけるって言ってた >>624
自分は数学が極めて苦手なんだよ
高校入学後の数学のテストで三回連続零点取って呼び出しを食らったほど
三角関数や微分積分はおろか分数の計算すら全くわからない
だから普通に数学のできるヤツがプログラマーに大量進出してくるとすぐに失職する >>633
Perl が日本刀か、Ruby は何の工具よ? >>634
サーベルソーとかレシプロソーって言われる電動ノコ プログラミング言語はモダンで緩い職場につくための道具である structの拡張記法でjsonをそのまま返せるし、web APIを書くための言語としては最高だと思うけど
世の中、そんなにAPIを書くような仕事があるのか?
食いっぱぐれ無いためにsalesforceかintra-martを触るわ
あと、中枢都市はjava案件が多いけど地方は中小企業向けの業務アプリ開発ばかりで.netばかりだからな
オフショアの二次請けなんかになってくるから、ハロワへ行くと手取り15万円とかザラ
誰がプログラマなんてなるんだよw web APIは、golang + micro serviceに流れるだろうけど、業務システムはjavaから変わることねーわ
新しい言語を躍起になって覚えるぐらいなら、習得済みの言語でソフトウェアの1つでも書けよ ―┼‐ ノ / | --ヒ_/ / \ヽヽ ー―''7
`」 ┼, 二Z二 レ / /´レ' \ ―7 ̄} | ー-、 /
(__ (|フ) (__ノ _ノ ∨` ノ / / _ノ \_
─┼- / | ‐┼- | ー|―
─┼─ | \ レ /  ̄Tー / ノ -─
(二フヽ \/ _ノ (二フ\ ヽ_ノ / 、__
i';i
/__Y
||真|| /⌒彡
_ ||露|| /⌒\ /冫、 ) ・・・・・・。
\ || || ̄ ̄ ̄ ̄ ̄ ̄ ̄\ `./⌒ i ` /ゝ _,,..,,,,_
||\`~~´ (十万石) \( > ('\\ ./ ,' 3 `ヽーっ ・・・・・・。
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄\`つ ⌒ _) l ⊃ ⌒_つ
.|| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|| `'ー---‐
( 'A) ・・・。 〃∩ ∧_∧ <⌒/ヽ___
/(ヘ)ヘ ⊂⌒( ・ω・) ・・・。 <_/____/ zzzz・・・
`ヽ_っ⌒/⌒c >>639
ハロワで30万以上の無いんですかって聴いたら
いまどきそんなのあるわけないでしょって諭された
日本おhる プログラミングで食っていきたいなら東京近辺に住んでないと本当に人権が無いからな
東京以外だと手を動かさない営業モドキの業務系SEになるしか稼げる道がないのは可哀想だと思う
経験2年のフリーランスプログラマーに60万円とか東京以外じゃ絶対に払わないだろうし 業務系アプリは作ってほぼ終わりだからオフショアが成立するけど
Web系アプリは運用がメインだからオフショアは無理だと思う
というか未だにJavaとか.netとか言ってる化石がGoのスレにいるのはウケるな 業務系の雑魚がプログラミング語ってるの見ると本当に笑える YouTube で有名な雑食系エンジニア、KENTA の動画を見れば?
基本的に、間に会社を通すと、3割抜かれるので、
1次受け、2次受けとドンドン抜かれていくので、直接受注が理想
身分による還元率は、
社員なら、3割。その代わり仕事が無くても、給料がもらえる。
派遣なら、7割。その代わり仕事が無いと、給料もない。
フリーエンジニアで、エージェントを使うと、9割
ただし、フリーエンジニアは個人事業主だから、
サラリーマン控除(給与所得控除)が無いから、50〜100万円ぐらい税金が増える!
厚生年金も無いから、年金額も少ない。
サラリーマンは、厚生年金の半額を会社が払うから、所得が少なくてもリッチ
それに個人事業主には、組織という後ろ盾がなく弱いから、
だましたり金を払わない客が、積極的に寄ってくる
この辺の仕事は、だましあい。
ヤクザと同じ。如何にアホをだまして稼ぐか >>644
大学サークルみたいな集まりの売れない自社サービスなんて赤を垂れっぱなしだよ
宅配ドライバーの契約社員の方が給与マシってレベル
これで地方から人が居なくなるとか言うもんだから笑えてくる >>650
最近垢抜けたよ、マジで。
Windows一族感を一歩脱出して、クロスプラットフォームも.Net coreで攻めてきてるし。
ベンチも悪くない。
最近Goと両刀使いしてる。 golangって、RESTful APIを書くぐらいでしょ?
.netって、C/S系の仕事ばかりだと思うんだけど
この2つの言語を扱うプロジェクトって、同時にやるようなものなのか
プログラマってのは工場のラインや期間工と変わらないですよ。
刺し身の上にタンポポを乗せた方がマシだな .netは昔VB.netしか書いたことないから詳しくないけど
C#でゲームサーバ書いてk8sに乗っけた話を昨日見たよ
k8sは便利だね GKEだと特に プロジェクトのネジになりたくないなら、自分が立ち上げる側に回れば良い
それが出来ないなら大人しくタンポポ乗せてれば良いのさ Webページのフレームワークって、まだ特にどれが定番とかってないの? Goなら定番までいってるものはないんじゃないかな
いずれは出てくるだろうけど、そういうものを作りたかったらGoを使わなくてももっと成熟したものがいくらでもあるし net/http と html/template ってのがまぁ定番じゃないの?
もう少しリッチにするなら gorilla を組み合わせるとか。 あるにはあるけどRubyにおけるRailsみたいな定番はまだ定まってないわな スレチなら申し訳ありませんが解説をお願いします
https://qiita.com/clamoto/items/7c977d9a741c677b8539
のサイトにGoProの位置情報ぶっこ抜きが乗ってるのですが2バイナリの抽出からよくわかりません
gitとか全くわからないものですがわかりやすく解説お願いします 何が分からないのか言ってくれないと教えようがないけど、
ffmpegというコマンドを使ってデータの形式を変換してるだけだね。
この時点ではGoに全く関係ないからffmpegが何をするものでどうやって使うのかを調べな GoogleはGoを捨ててDartのみやってくだろう web業界のサーバー側はgolangが主流になるわ。json返すの楽だし、micro serviceは増えるだろ
モノリシックな糞の山が高く積み上げられているのを見たけど、外部サービス利用した方がマシな機能ばっか
動的言語の採用は減っているし、動的言語そのものの評判が悪くなってきている
lispやBCPLから、cが出てきたんだから当然だろと
c++やjava, PHPといった進化を経て、webのサーバーサイドって環境に最適化したのがgolangって言語だよ 先日行われたGoogleのプログラミングコンテストCode Jamで
提出に使えるGo言語のバージョンがsort.Sliceも使えない古いバージョンで
GoogleがGo言語にやる気が無いのが伺える
https://twitter.com/andrew_charlton/status/1114791830950961154
https://twitter.com/5chan_nel (5ch newer account) >>661-663
ffmpeg で、動画を変換しているだけだろ
変換前・変換後の動画の規格を調べる
ただし、各メーカーの動画の規格を調べるのは、大変
各メーカーの独自規格なら、そのメーカーしかわからないし、
特許関係で、規格を公開していない場合もある
十分な報酬が無ければ、こんな機械の規格のような業務を引き受けてはならない!
言語の文法とは、全く関係ないし、調べることができないから >>665みたいに、新しい技術が出るとそれまでの技術が消滅すると思ってる奴はいつの時代もいるよな
実際は選択肢が増えるだけで、完全に消えることはほぼない 企業によって有料で提供されるものは企業が倒産で消えることもあるだろ グーグルは儲からない・将来性のないプロジェクトはバンバン廃止するからなあ
怖くて業務には使えんわ Python 2 みたいな技術的負債w
github の新規プロジェクト数が多い理由は、同じものをPython 3 で書き直しているから
一方、Ruby の新規プロジェクト数が少ない理由は、数年前のコードがそのまま動くから
Python, JavaScript, Kotlin は、Rubyに似せてくるが、Rubyは変わらない。
Rubyは、最初から書きやすい gifは消える消える言われながらまだ息してるな
怖くて使えないけど まあgoくらいのシンタックスならgoogleが捨ててもメンテされるだろ。単純だし。 というかGoは出所がGoogleってだけで完全にOSSとして開発されてるからな メンテが放棄されたOSSがいかに多いか理解しているのか? というかGoは出所がGoogleってだけで完全に揚げ底クソ言語 Google Code Jamでもバージョンが1.8とかだったし、中であまり使ってないのかなと思った OSSになってたのか
じゃあしばらく安泰かな
けどLinuxやPythonのように内紛でメイン開発者が失脚した例があるからなあ サーバーでgolangを使う気はするけれど、dartって息してるの? >>680
Go言語は競プロには向いてないって言ったでしょ
>>682
Flutter >>681
会社と同じで人間関係に寄る。
小規模のOSSは大学生が就職先にアピールする為で就職先したら止まるし、ユーザーが技術的な困難理解したりで人間関係上手く行く。
タダ働きのボランティアだって事をユーザーが忘れると主力が抜ける法則。 戻り値のerrorを処理せず捨ててるコードがある場合にコンパイル時に警告かエラーを出すことできます? >>686
errcheckってlintツールがあるからCIのタスクで回すといい &Hoge{}とnew(Hoge)の違いってなーに? >>688
いっしょ
速度的な差はあったかよく覚えてない スクリプト言語ならともかく、
コンパイル言語で単文で意味一緒なら変わらん気もするけど
そうとも限らないの? 2019年高い給料につながるプログラミング言語は? - Stack Overflow
2019/04/15 17:03 後藤大地
https://news.mynavi.jp/article/20190415-807198/
Stack Overflowはこのほど「Stack Overflow Developer Survey 2019」において、高収入と
関係性の高いプログラミング言語ランキングを伝えた。ランキングによると、Clojureが最も
高く、これにF#、Go、Scalaが続いている。逆に、ランキングの中で最も給与が低いのは
Javaだという。
高い給与と関係性の高いプログラミング言語ランキング - 資料: Stack Overflow提供
https://news.mynavi.jp/article/20190415-807198/images/001l.jpg
ランキングの上位は、調査ではシェアが低いことが多いプログラミング言語が入っており、
逆にシェアが高いとされるプログラミング言語が下位にエントリーする傾向が見られる。
特定の要求があるにもかかわらず対応可能な開発者が少ない場合、開発者を引き寄せるために
給与が高くなっていったものと見られる。逆に、シェアが多いプログラミング言語は人材も
豊富であることから、給与の下落につながっていると考えられる。 Goができると給料がいいんじゃなくて給料がいい企業がGoを使ってる定期 >>688
初期化できるか出来ないかの違い
hoge := &Hoge{
foo: 10,
bar: "aho",
}
hoge := new(Hoge)
hoge.foo = 10
hoge.bar = "aho" >>692
単に需要と供給の原則で決まってるだけだよな。
これからGoがめっちゃ流行って書ける人が増えたら平均値は確実に下がるし。
それで言うと確実に需要があるのに誰も新規に習得しなくなってるCOBOLマスターはかなり年収が高くなってると聞く。 Clojure 使ってるとこ CircleCI しか知らんな >>692
6位 : Ruby
12位 : Python
19位 : JavaScript(JS)
YouTube で、漏れが見た、外人の動画では、
Ruby は、800万円で、Python, JS では、1,200万円まで上げられるって言ってた!
日本では、COBOL の求人も多い JavaのfinalやC#のreadonlyのような仕組みになっていないのクソでは? import "github.co.jp/hogehoge/foobar"
こういうやつブランチとかタグとか指定してインポートできる? ここにいる人達はGoでどんな仕事してるんでしょうか?
企業システムの構築SIer?
研究目的? >>704
ありがと。そんなクリティカルなとこにこんな新しい言語適用するような会社があるのか。
自分は旧態依然の日本企業の仕事だけなんでjavaかメインフレームから離れられないんだよね。 クリティカルだけどGoで書いたコードが問題になった事はないよ
トラブルがあっても連携する外部のサーバで起こった事しかない >>705
メルペイとかものすごい勢いでgoエンジニア採用してるやん goエンジニア募集してるけど素人に毛が生えた程度の人しか集まってないと予想 独学じゃなく体系的にgoを勉強する機会って無いよね?
一番すんなり入れるのはC?C+?の人なのかねやっぱ goで問題が生じるとしたらgoroutineが回収不能になるとかそんなとこかね? フリーの言語を使って障害出したら組織として問題になる懸念がある
>>706は保身策を練ってあるのか?
社長が「大事なシステムをフリーソフトで開発したヤツは誰だー!」って
海原雄山モードになったらどうする? DBならともかくweb系の言語で有料なのって.netくらいじゃないの
IISよりapacheのが圧倒的多数派だと思うし 言語はやりたいことから覚えていってしまうから、自分も体系的に覚えた言語はないな。
本買って知らなかったこと勉強したりしたのも数少ない。
Goは言語の覚えることは少ないイメージ。環境周りは知っとくべきことが色々ありそう。 >>714
,netは最初から無料ですよ
有料なのはVisual Studio
最近は.net coreってオープンソースのもあるし
web系の言語で有料なのってJavaくらいじゃないの >>713
Goを全面的に採用するような組織は言語側にバグがあっても自分で直してプルリク出しちゃうだろ
逆に言えばそこまで出来ないなら大人しく金はらって有料の言語を使えという話 フリーソフトを使おうが使うまいが「大事なシステムでバグを出したヤツは誰だー!」ってなるだけ。 >>717
Goってプログラミングで騙して回避できないような言語バグって残ってるのか? 責任負えるの?って観点でjavaが選択されてたのか… マイクロソフトはこっちが切羽詰まった状況の場合は
期限切って回答くれたりするからねえ
グーグルにはそんなことは期待できない >>713
Goに限らずOSSで作ったシステムで障害になった時に責任求められるような組織や契約で働いた事ないから考えたことない 日本マイクロソフトって、Office2016以降のVBAで日本語モジュール名使ったら動かなくなるバグを、
previewで指摘されていたにもかかわらず無視して、そのままリリースさせちゃったところか。
後日アナウンスされた対処法は前のバージョンに戻す方法だけだったな。security fixもあったのに。
OSS使う人は、責任云々じゃなくて、どうすれば直るかを考えるんじゃないかな OSS選定みたいな技術選定でエンジニアが責任とらないなら誰が取るんだ?まさか、このOSSがバグったんで俺らは悪くないです、が通じるの? うちの会社だとエンジニアという職種の人達は責任とらんだろうな。
それを承認した上の責任だとか、そんなこと言う。
最早、エンジニアではないのかもしれん。 javaも選定すること自体が冒険みたいな時代があったけど、もうすっかり安定の規定路線になったよね。
その次に来るのがこのGoかな?と思って見てる。
広く普及しそうと騒いでたのがjava以降いくつか出たけどjava程にはならなかった。
もっと別の場所から出て欲しいけどね。
言語の発祥地としてはGoogleは閉鎖的に過ぎるように思う。 責任云々の話はサービスの種類にもよるんだろうな
銀行とかじゃそういう話になっちゃうんだろう
俺はゲーム系で、多くてもサバクラでクライアント外注くらいの登場人物しかいないから
誰が悪いとかじゃなくまず直そうよって話に普通はなる
その後で必要なら、技術選定方法の見直しはやるかもね
責任誰が取るんだ?とか「何言ってんの?」ってリアクションになりそう
工程の見直しですらない無駄な振り返りというか てか有料だからって責任取るわけでもないしな。
どうせ問題解決させられるならソース見れる方がいいわ。 >>713
> 社長が「大事なシステムをフリーソフトで開発したヤツは誰だー!」って
この文章がかなり基地外じみてて笑える 企業システムの場合だと、その会社での開発規定みたいなものがあって、そこで言語やソフトウェアも標準というのが決められてる。
それ以外のものを使うなら、それが標準より優れているってのを書面で説明してしかるべく部署とかに承認されないといけない。 フリーソフトという言葉が笑えるwwww
ゲームを何でもファミコンという世代なんだろう >>728
責任はとらないけどメーカーの責任と言うことには出来る
ソフトウエアの事が何も分かってない経営層に対する言い訳にはなるかも どの言語にもGoでいうchannel的なもの欲しくなる >>732
その言い訳の連鎖の先が今のSIerの状態なわけだけどな。
あれは経営層、営業、プログラマ、誰も幸せになっとらんぞ。 >>735
責任取りたくない連鎖でもありますよ
非効率な前世代の開発手法がまかり通てます 責任なんてだれも取らないよ
再発防止策伝えて終わり 「有料の言語」ってなかなかのパワーワードだなw
仮に有料の何かを使ったとしても責任のなすりつけ先が他に出来るだけでバグ自体が消えるわけじゃないのに >>730
そういう昭和で頭が止まってるような会社ははなからGoなんて興味すらないからこの話題には全く関係ない
ちなみに日本の老舗大手でもGoを使ってるところは既にある awsとかgcpとかパブリッククラウド使ってたらSLA決まってるから許諾して使ってるだろうし落ちてもごめんなさいだけど、
オンプレでGo使ってるところは知らんな
どうなの? 単に有料なだけのツールの大半は責任を擦り付けることもできなかったりするしな。 バグ出したやつは誰だーって言う前にテストエンジニアがデバッグしてんだろ?
テストエンジニアが無能なだけじゃん 20年前ならいざ知らず、有料のものなら安心だと思ってる奴なんて実在するの
というかもはやOSSを一切使わずにシステムを構築する方が逆に難しいと思うんだが 有料のはサポートを打ち切られたらそこで終わりってのが怖いな
OSSなら頑張ればなんとか使い続けることができるだろうけど、それができん
俺が使ってるRuby Motionなんていつ終わるかわからんし、終わり間際にOSSにしてもくれないだろう >>739
ITに限らず最大手の会社には一定数の天才がいるから実は割と新しいものに対しても柔軟なんだよな
やばいのは業界内の二位集団みたいな企業 バグが見つかった時にまず誰が責任とるんだって話になるトンチンカンな会社ならそうだろうね
新卒で入ったところはそんな感じだった 統制の一部として、保守サポートがあるものを使う、ということを是としてる企業はまだ多いからね。
保守サポートがあれば、何か問題あったらそこに責任を押し付けられるという謎理論。 世の中の家電はlinuxベースのものだらけだよな
デジタルTVも多分100%そう
androidもlinuxベース
webサーバもかなりlinuxに乗ってるものが多い
もちろんGPLライセンスなのでlinuxにバグがあっても無保証
そこに世界中の家電メーカーなどが乗っかってる 組み込みはいいんだよ、linuxでも。実績ができちゃってるから。最初に採用させた人は頑張ったろうけど。
次に組み込みでlinux、android以外ってのは国内企業は受け入れられないぞ。 そういう企業があることはわかるけど
「国内は」とかで語っちゃうのは違う気がする
世界が狭すぎというか GW明けにvscode開いてみたらgoのlanguage serverが新しくなってたのでそっちにしてみたらストレスレスになった。インテリセンス周りとても快適で良い >>748
その発想が謎すぎる。
有料サポートを選ぶのは「金で解決できるから」でしかないだろ。 例えばjavaでもgoでも、十分一般的な技術を選定した上でバグが見つかった場合、責任を取るって具体的に何をするんだろうなw
技術選定プロセスを見直すってもそこらへんの技術を品質とか信頼性の基準で弾くのは無理だろw 昔のジジイどもはそんな意識だったな
windowsにバグがあって「その会社の奴を呼んで来い!休日返上ですぐに不具合を修正させろ!」と叫んでたそうな… >>754
再発防止≠責任を取る
単にながーい始末書を書かされたり何かしら処分されたりするんでね?
そして貴重な失敗の知見を持った人材が辞めていく そんなバカなことを、って言ってる人達はエンジニアとして幸せだと思う。
SIerはホントにこんな感じよ。 辞めりゃいいじゃん
エンジニアなんてめっちゃ簡単に転職出来るんだから んなこたない。
まともなとこに転職するのに俺は少なくとも4社は辞めたぞ。 そんなバカなことを、と言ってる人達は会社に幸せにしてもらってるわけじゃないからな
ダメなら辞めるで通せるだけの努力をしてる >>763
4社辞めても次が普通に見つかる時点でエンジニアは幸せよ
日本でビジネス系だと4社辞めてたら転職多すぎて書類選考時点で不利になる goで書いてるというよりかはkubeやdockerのためにソース読むって感じか。 趣味で金を気にしないサバクラゲー作りたくて、鯖側をgoにしようとして勉強してる
まずwebsocketの習作としてニコニコもどき作る予定 サバクラという言葉から溢れ出るおっさん感
いや俺も通じる世代だけどさ もはやその構成がデフォルトだから特別な名称はないと思う
少なくともここ数年は聞いたことないし、若い子には通じないと思うw 俺たちの頃はコンピューターは一台でそこにカードリーダーがあって、まだノートPCは存在してなくて、あってもダム端で。。。 それ知ってたらもうおっさんじゃなくてお爺ちゃんだろ サバクラって死語なの…?(´・ω・`)
まあ今はなんでもブラウザ使うもんなぁ >>776
天皇陛下世代をおじいちゃんだと
不敬罪で逮捕じゃ >>778
そうだよね
なんかサバクラって違和感あるなと思ってた
クライアント−サーバーシステムだからクラサバだよね でもWebアプリも最近はSPAになって「サーバーが」「クライアントが」って会話は増えたよね。
それにしてもみんなサバクラなのか。クラサバじゃなくて。 クラサバでもサバクラでもいいけどどちらにせよ最近はその言い方聞かなくなったな さすがに紙テープとかパンチカードだと歴史上の遺物だが
俺が就職した頃はオフコンとかは普通にあったな
パソコンの事を当時のオッサンはノンダム端末とか言ってた記憶がある
クラサバの時代だとup4800とかかな?
ダウンサイジングとかバズワードだったなぁ・・・ >>783
NetWareの時代には良く言ってたがWindows NTになってからは死語かも >>785
オフコンはIBM Power Systemsで現役ですよ 完全にスレチなんだけどさ
nosql話すスレって2chに無いのかな >>788
Key-Value StoreやMongoDBのスレがDB板にあるけど過疎ってる >>788
なぜが過疎ってるよな。
多分使ってる人が少なすぎるのが問題なのかなも。 全然違うスレで質問してたので移動してきました。
mattnのsqlite3ドライバとgormを使って
struct Model {
gorm.Model
Name string
}
としたレコードを登録すると、
CreatedAtの自動挿入された日付が全部1899/12/31なんだけど
自動で付与させるための操作が何か必要なんでしょうか
何もしないでもいいものだと思っていたのですけど。 今現場の主力になってる世代は5ちゃんなんて見ないからな >>795
今でもAS/400って呼ぶ人が多いけど、AS/400とRS/6000のハードが統合されてIBM Power Systems
OSは昔と殆ど変わってないです system 360 がホントは system 365 の意味だったという話 昨日からGoを始めた
いにしえのCの雰囲気があるねコレ モダンなc
なんだけど時代に逆行してる気がしないでもない 最初、type の後置と := を見て pascal みたいだな、って思った あんまり不満はないがimport文の範囲指定はもっとどうにかならんかったのかと思う。
あの辺のネームスペースはもう少しなんとか出来るだろ。 モダンな言語で型が後置な理由
https://teratail.com/questions/188903
モダンな言語、それがGolang(´・ω・`) 関心の的というか集中すべきものは変数名であって型じゃないからな
自分でJavaやC#でコード書いてても先に変数名を書きたくなる てかストラウストラップもc++で後置にしようとしてたんだぞ。 >>805
古いプログラミング言語にも後置のやついっぱいあるだろ log.Fatalするくらいなら
panic使ったほうが良くない? GOで競技プログラミングしようとしたらどんなpackage構成が正解なんだろ。
今はスニペット関数が衝突しないように問題毎にフォルダ切ってるんだけど何か正解ないのかな。。 その手のバカはgoには向いてないよ。
c++,rust,haskellみたいな俺Tueeeeできる言語使ったらいいさ。 Goでやりたいならフォルダごとに分けるしかなさそうな気がしちゃうね >>813
panicはdeferが実行される
致命的なエラーが原因によってdeferが実行されては困る場合log.Fatal error戻り値は受け取り側が握りつぶして処理を継続できる
panicは呼び出し側直後の処理の継続は阻止できるがdefer内でrecoverすれば握りつぶせるのでその外側では処理を継続できる
log.Fatalやos.Exitは強制終了できるがdeferによるリソース開放やロック解除の処理も実行されず終了する
こんなの使う価値ない Goを使ったことないけど、gRPCとMySQLを使ってAPIを作りたい
バリデーションやORMのおすすめってなに?
フレームワーク使ったほうがいい?Ginが人気そうだったけど Ginとかechoは使いたかったら使ってもいいと思う
ORMはgormと折り合いつけてうまく付き合うくらいしかなさそう ありがとう。gormとGinを組み合わせて作ったりするのね。
>>829
既存システムのAPIを作りたくて、Goが候補にあがってる。
すでにあるMySQLのDBもあるのでそれを使うため。 >>830
自分でSQLを書くような単機能のORマッパーもあるからそういうのは使ってるわ
RailsのActiveRecordみたいなのは使わないようにしてる DB一種類しか対応しなくていいなら、それほど気にしなくてもいい AI自走コンテストみたいなのもPythonとScalaだったな
Goで書きたかったな〜 アカデミックな人たちってほんとScala好きよね
プロダクトで使うとめんどくさいことこの上ないけど 副作用がない
Java資産が使える
コードを非常に短く書ける JVMなら正直ScalaよりKotlinの方が実用的だと思う 間違いない
scala組は早くkotlinに合流してほしい そうやって文化の違う声の大きいやつを招き入れると、C++みたいになるんじゃないの? c++みたいにしたい奴は結構いる。
俺は反対だが。 むしろ内部破壊工作をたくらむスパイじゃないかと思える Scala民はなぜかKotlinを敵視してるから合流しないと思う var list []string
if list, err := getList();err != nil{
doSomething()
}
fmt,Println(list)
みたいにerrはスコープ絞りたいけど、listは外でも使いたいときってどうしてる?
list, err := getList()
if err != nil{
doSomething()
}
ずっとこれで書いてるけど、errの汚染が気持ち悪くてしょうがない var list []string
{
var err error
if list, err = getList();err != nil{
doSomething()
}
}
理解できてなくて、返信遅くなったけどありがとう。
こういうこと?確かにいけるわ >>857
それ読んだ感じ、Go2ドラフトの3つのうち2つは、近いうちに実装されるみたいね。
ジェネリクスはまだ揉めているようだ。
Go 1.13 → errorに他のエラーをラッピング可能になる
Go 1.14 → ビルトインtry導入
ドラフトのエラーハンドリングはボツになって、代わりにtryになった。
といっても、他の言語のようなtry〜catch構文じゃなくて、
if err != nil { return err } のシンタックスシュガーっぽいが。
a, err := foo()
if err != nil {
return err
}
↓
a := try(foo()) >>859
コピペ冗長なコードが減っていいですね。
1.14待ち遠しいね 糖衣構文と言うことは従来の書き方でも行けるんよね
天才達が考えた事なら間違いない 一見して制御構文に見えないけど制御構文なので不気味だなとは思う z := try(foo()).bar(try(baz(try(x, err))))
うわあああ tryリジェクトかよ
エラー処理にどれだけ時間かける気だよいいかげんにせーよ ほぼ宗教戦争だからな
ただしばらくしたら結局普通に入ると思うわ
他言語からの流入者が増えるに連れてコミュニティ内のtry賛成派が増えると思うし それ繰り返したらjavaになるだけだろ。バカなのかな。 なんでもそうだけど
初期よりの中期が一番完成度が高い >>868
良い悪いじゃなくて確実にそうなる。
特にGoはコミュニティの意思が最優先だから、人が増えたら絶対に回避できない。 nilチェックでいいと思うけどね
Cみたいなもんなんだし pythonとgoのどちらかを学ぼうと思っているのですがどちらのほうが就職では役に立ちそうですか?
ごく簡単なHPを作れるくらいのプログラミングの知識しかありません >>876
比較的新しい言語のほうが寿命があるかなと
pythonは今大人気の言語のようだしgoもgoogleだから伸びていくように思います
>>877
特にこれといったものはないですがweb上で動かせるようなのがやってみたいですね 片方だけとかケチくさいな、両方やればいいのに
Pythonから始める方が楽だと思うが Web上で動かすって言ってもクライアントしたいのかサーバーしたいのかにもよる
Goスレだから一応言うとGoは基本サーバーアプリケーション向け 勉強でwebsocketでチャットするサイト作ってて、
待ち受け用のただのhtml生成と、特定pathでwebsocketでjsonやりとりするようにしてるんだけど
こういうhttpとwebsocketみたいな別機能?って、別バイナリに分けるべきなんだろうか
それはそれでサーバ設定がめんどくさくなりそうなんだけど >>878
いわゆるWEBサービスみたいなのを作りたいならgoはあまりおすすめしない
作れないことはないけど主流とは言い難いし、職に就きたいという理由ならそんな仕事を探すのはほぼ無理
たぶん君の希望に1番近いのはRails >>886
rails?初めて聞いたわ
pysonとかyoutubeなんでしょ?
railsってそれらを押しのけるほどの力を持ってるの? ∩___∩ |
| ノ\ ヽ |
/ ●゛ ● | |
| ∪ ( _●_) ミ j
彡、 |∪| | J
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
.\ “ /__| |
\ /___ / 初心者なんで有名ドコロしかしらない
アプリっていうのはpythonとかgoじゃ作れない? マジレスすると
なんていうか、
バイクレース出るならハーレーっすかね?有名だし。
ってバイクの免許持ってない人が言ってる感じ?
多分プログラミング言語云々言う前に
もっと根本的な事勉強した方が良いと思う。 javascriptでフロントエンド? goでサーバーサイド
みたいな感じで2つ学べば大丈夫
みたいな認識で大丈夫でしょうか? 釣りとか気にしてるのって馬鹿らしいと思わない?
マジレスしたら恥ずかしいと思ってる奴の方が
人間的に恥ずかしいと思うが。 >>893
とりあえず最初に勉強するのは一つの言語に絞った方がいいよ。
goは初学には向いてないと思う。 まじか
もうプロゲートで最初の2つの講座終わったところなのに・・・ プロゲートって初めてみたけど、go講座は4コマで、
3コマ目に関数、4コマ目にポインタだから、
毒にも薬にもならないね
このサービスが1年以上もつんだ 4コマ終わればテトリスくらいは作れるようになると思ったんだがそうじゃないんか?
もう有料会員になっちまったよ 調べてみましたが
web系だと
HTML CSS Sass javascript go やっておけば大丈夫そうですね サーバー側は、アマゾン、グーグル、Heroku など、すべてで採用されている、Ruby が標準です!
Ruby をやったあとは、Ruby 実装系を、JavaScript で作り直した、Node.js をやる。
Node.js パッケージマネージャーの、npm, yarn は、Ruby のBundler のコピーです
クライアント側は、HTML, CSS/SASS, JavaScript, jQuery, Vue.js など
最初に、Ruby, Node.js, VSCode のインストールすればよい
これらを数年やったら、Kotlin, Go, Elixir を学ぶ *by厨はpythonスレでよく見かけたがgoには来ないもんだと思ってた >>900
手に職を意識してるんなら、goよりはnode.jsにしとけ(´・ω・`) 流石に今からやるならNode.jsよりはGoだと思うけど…
ただフロントエンドでJSから逃げられない事を考えたらバックエンドもNode.jsを使えば多少楽になる 調べてみたらSassってRubyじゃないと使えないみたいですね
>>901
RubyはGoに相当するものだと思えばいいですか?
rails-Rubyはunity-C#みたいなもんですかね?
node.jsも新しい知識です Sassはツールであって、単にrubyで動くだけよ。
俺は文法が気に食わんから、less使ってる。 >>904
なんでバックエンドでnodeを使うと「楽になる」んだ?頭沸いてんのか? >>908
学ぶ言語の数を減らした、という意味で「楽になる」と言ったつもりだった
ちなみにどういう解釈のもとで「頭が湧いてる」と感じた? 初めてプログラムやるやつが最初からGoなんてやらんだろ 最近この手の派遣転職サイトはろくなことしてないわ
どことは言わんがエンジニアに金渡して記事書かせたり
自分たちの都合の良い言語を持ち上げまくるのはマジでやめて欲しい PHPはもう過去の遺産をメンテする用途でしか使わない気がする
Rubyもいずれそうなると思う
Javaは案件から見た立ち位置的にはCOBOLだよね。一部で絶対死なない言語になりそう PHPってインストール直後に
勝手にindex.phpが造られて
鯖環境晒されるやつだろ?
セキュリティーホールではIISより最悪
IISとのコンボでもマジ最凶
SQLまで実行出来たωωω >>924
XAMPPでもインストールしたのか?w 1.13
TLS 1.3 enabled by default
Uniform and modernized number literal prefixes
Support for error wrapping コントラクトってHaskellでいうところの
=> の左側に書く奴? でもgoのcontractのコード、キモいんだよなぁ。 丸括弧ばっかりでコード読みにくくなりそ
あと、原文のボリュームがすごすぎる
もう少しシンプルにならんもんか 他の言語のものとは違うとわかってて名前をかぶせてくるのはほんとやめてほしいわ Haskellの型クラスみたいな感じね
この手の言語でちゃんと使えるのは凄いかもしれん WEBサーバー用に勉強したけど、デフォルトではORMもクッキーの暗号化もフォームの秘密鍵もないのかよ。
これでフレームワーク使わないのが主流って、セキュリティ穴だらけのサイトが乱立しそう。
セキュリティ対策はできてるつもりになってて、実は全然できてない奴が多いからなー でもhttpサーバーなしでwebサイトを公開できるのは感動だったな
ありゃ楽だわ むしろデフォルトで「ORMもクッキーの暗号化もフォームの秘密鍵」もある言語ってなに?
Java EE を「デフォルト」だと言い張れるなら、Java がそうかな?
> でもhttpサーバーなしでwebサイトを公開できるのは感動だったな
これも何を言ってるのかさっぱり分からない。Go のどこにそういう種類の感動があるのやら。
なんか根本的に勘違いしているというか、正しい技術的理解ができてないんでは…。
「できてるつもりになってて、実は全然できてない」のはまずいですよ! 実用性は無視してhttpサーバーなしでwebサイトを公開できるだろ… Goは単純なマイクロサービスみたいのを簡単に提供できるのが魅力 > でもhttpサーバーなしでwebサイトを公開できるのは感動だったな
普通はそのまま本番公開なんてしないぞ
本番ではリバースプロキシのバックエンドとして使うんだよ 一応書くけどリバースプロキシ自体はhttpサーバじゃないよ
webサーバがその機能を持ってることもあるけどね
この場合だとリバースプロキシのバックエンドと書いてるそのものが一応webサーバかな
じゃあ張り切ってリバースプロキシを使う理由をどうぞ! 「httpサーバーなしで」というと"net/http"も使わないように思うがどういうことなんだろう?
逆に、それを使う前提ならpythonやC#でも同じようにできるしな。 Laravel使ってるあたまペチパーが紛れ込んだみたいなレス 本番環境でのデプロイをやったことのない奴にはgoの楽さがわからないんだろうな 初学者だけど$GOPATH/src以下にgetしてきたソースも自分のソースも何もかも味噌も糞も一緒に入れなきゃなんないのが…そのなんだ
その法則を乱そうと足掻いたけど泥沼。面倒すぎる!
諦めて素直にGOPATHにプロジェクト移すかなーと日和かけてる
GOPATHってMavenリポジトリみたいなもんかと思ってた時期が懐かしい 外から来るものと、内から行くものを分離して管理したいと考えるのは、池沼と呼ばれるほどの馬鹿な考えなのか? >>954
おっ、これか!かなり新しい機能なんだね 普段からシェルスクリプトとC書いてるから
毎回エラーチェックするのは特に違和感なかったな
他の言語の人からしたらtryやbeginで囲ませろってなるのはわかる なんでもかんでもthrowしてくるJavaとかに嫌気をさしてたんで、Goは結構気に入ってるJava歴20年長な俺
catchの羅列はもうお腹いっぱい >>954
新しい機能すぎて、まだVSCodeのプラグインが部分的にバグるという罠
デバッグつきでは動くのに、何故かデバッグなしで起動できん現象 パッケージのサイト名をexample.comから変えようと思ったんだけど、Gorename使ったことないんでよくわからない
どこのwebサイト読むと分かりやすい?
VSCodeでりふぁくた vim-goはマージ版gocode使ってるそうでVimで補完プラグインを探してたところ
govimがよさげだった どんなんだっけかな?全く困らんから別に要らんけど
Javaカスみたいなのはやめてほしいな〜 tryリジェクト以来、議論がトーンダウンしちゃったのかな
結局、if err != nil でいいじゃん的な プログラミング初心者です。
N回同じ文字列を出力するにはどうすればいいのでしょうか? fmt.Println(strings.Repeat("Hello", N)) go modules で GOPATH 以外にプロジェクト置いてるんだけど、godoc -http=6060とドキュメントを確認しようとしても出てこない
と探すとissues#26827がクローズしてないからまだmodulesには対応してないのか
メンドクセ issues読んでみたら1.13試してみてという話があったけど、
1.13入れてみたらgodocのインストールがうまくいかねー code.google.com/p/go.tools/cmd/godoc から入らなかったんで、
golang.com/x/tools/cmd/godoc から入れたけど、やっぱりmodulesなソースはパッケージの一覧に出ない
いちいちgithubにプッシュしてgodoc.orgで見てる… modulesは見限って$GOPATH/srcで開発するしかないのか? うちとこJava/C#が主力な会社
面白そうだから布教してみようと思ったんだけど、結局C言語からの直系なだけで、Java以降とは似て非なるものだから布教は無理なんだと、よくわかった
あいつら新人類は実体とポインタにまみれたC言語の素養がないから、うっかりと参照を代入する気楽さで構造体の実体をコピーして操作する感じのミス連発
C言語の経験なしにも関わらず、苦労せずにGo言語に慣れたって人いる?
そして、今さらポインタと実体を残したgoogleの意図も良くわからない。参照でよくね? ただの慣れじゃねC#の構造体も値型だし
値型の方が有利な場合がある
例えば構造体のでかい配列を作る場合は値型の方が一気にメモリ確保するから速いはず >>978
回り見てるとスクリプト言語出身の人はGo移行についてこれてない
Cでそれなりの規模のアプリ書いたことがある人がジワジワと良さを認識してる(すぐに良さがわからないのは共通してる)
C++出身の人はRustを気に入ってるが ポインタと実体という概念がどうもしっくりと来ないみたい
Java以降だとプリミティブ以外は全部インスタンスの参照で統一されていてシンプルになってるから
そこいらのハードルが新規参入の障壁になってる可能性は高いんじゃないかなとか感じてる
しかし惜しいと思うのは、実体とポインタが混在しえるコンセプト
Cからの派生だからといって実体としてのインスタンス化って、本当に必要だったのかな?
&とか*なんて廃止して、全てはポインタの言い換えである参照を扱うというJavaとかのアイデアは多重間接参照(ポインタへのポインタ)が扱いづらくなる一方で概念的な単純さをもたらしてくれる
ぶっちゃけポインタへのポインタなんて、普通はそんなに使うこと無いから
参照を採用していたら、レシーバーはポインタで記述とか、実体でのセレクタでポインタレシーバーも呼び出せるとかイミフな仕様もスッキリとしたんじゃないかと
多分、ポインタを残したことには深慮遠望があるんだろうけど、使っていてイライラしてくる 具体的には構造体のスライスを使うために構造体ポインタのスライスを書くのがイライラ
でもポインタにしないとrangeでコピーされちゃうから
これって実はエレガントな書き方があったりする? まあ確かにその辺は混乱する
ローカル変数の実体のポインタをリターンするとか
C脳ならありえない Goは全然気持ち良いけどDartの酷さがやばい
あれはスクリプト言語出の人らだと大丈夫なんか? >>979
構造体のデカイ配列ったって、マーシャリングして外部DLLに渡すとか極特殊な用途でしか使わなくない? Goは確かに気持ち良いね、テストからカバレッジ、マップにスライス、ゴルーチンとチャネル
(でも気持ちよさの基準がCなのは否めない)
interfaceとか目から鱗だった。元ネタはなんだろ? 前は動いてたのに
run も build も
package main: no Go files in hogehoge とか
can't load package: package main: no Go files in hogehoge とか
出るようになって
ハマった
ソースファイル名を _fugaufa.go みたいに _ で始まってたらあかんの?
時間還せ >>986
>気持ち良い
ガベコレとゴルーチン以外で何があるんです? >>987
https://golang.org/pkg/go/build/#Context.Import
In the directory containing the package, .go, .c, .h, and .s files are
considered part of the package except for:
- .go files in package documentation
- files starting with _ or . (likely editor temporary files)
- files with build constraints not satisfied by the context >>989
言われてみれば、varって昔のBASICのlet並みに要らない子だね 変数名 型
だけでも、構文として破綻しているようには見えないもんな。C言語もそうだし
当然にvar{}も要らんし
あれ、func も不要じゃね?
なにか必要である理由ってあったかな? 構文解析が楽とかだった気が
最初の方のトークンでどの構文(変数定義とか関数定義とか)なのかが分かったほうが
後の方のトークンでやっと分かるより楽 んー、:=で型推測をぶちこんでくるアグレッシブさなのに?1000ならIsNil()追加 このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 705日 2時間 30分 50秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。