タグ

golangとコードに関するslay-tのブックマーク (31)

  • Go言語でつくるインタプリタがグランドフィナーレを迎えました - ゆーすけべー日記

    いよいよ「Go言語でつくるインタプリタ」がグランドフィナーレを迎えた。 そして、これで終わりだ。やり遂げた。これまでは私が誘う小さなお祝いを軽くあしらってきたとしても、いよいよ愉快なパーティ帽を被ってよい時間だ。 抜粋:: Thorsten Ball “Go言語でつくるインタプリタ” やったー。パーティーだ! なんでこのを読んだの? 今までコンピュータサイエンをまともに学んだことがなかった。 大学生の時分、授業では「プログラミング」と銘打つものがあるくらいで、 Javaでアプレットを作ったり、Cでシステムプログラミングをしたりという程度だった。 あとは独学。あくまで目的達成のための学習。 GUIやWebアプリの高レイヤーの実装ばかりで、 中がどうなってるのかあんまり理解できてなかった(いわゆる電子工作は好きだったけど)。 で、なんとかやってきたんだけど、 コンピュータサイエンスを学んでい

    Go言語でつくるインタプリタがグランドフィナーレを迎えました - ゆーすけべー日記
  • gocycloを使ってgo言語のプロダクトをシンプルに維持する|moli9ma

    1. 対象者 - go言語を使用している方 - 対象のプロダクトの可読性が悪いと感じている場合 2. 概要 ソフトウェアの品質を一定の水準に維持する方法には大きく、テストケースの網羅率を測定する方法とソフトウェアメトリクス(モジュールの依存度、ソースコードの行数、ネストの深さ、循環的複雑度.. etc)を測定する方法があります。今回は、これらソフトウェアメトリクスの内、循環的複雑度に着目してgo言語で実践する方法を紹介していきます。(go言語を取り扱いますが、概念自体は技術を制限するものでは無いので、他のプロダクトでも応用可能です。) 3. 循環的複雑度 循環的複雑度は、対象の関数やメソッドがどれだけ複雑さを持っているかを表す数値です。この循環的複雑度が高ければ高いほど、可読性が低く保守性が悪いコードである可能性が高くなります。 使用する技術によって、目安は変わってきますが、おおよそ20~

    gocycloを使ってgo言語のプロダクトをシンプルに維持する|moli9ma
  • 【第8回】Go言語(Golang)入門~環境見直し編~ - 株式会社ライトコード

    (株)ライトコードの笹川(ささがわ)です! 前回は、TwitterAPI を利用し、HTMLテンプレートでエゴサーチの結果を表示しました。 今回は、なんと、Goの環境やパッケージ管理を見直していきます! それでは、いってみましょう! 前回の記事はこちら 2019.10.23【第7回】Go言語(Golang)入門~HTMLテンプレート利用編~第7回~Go言語(Golang)入門~笹川先生(株)ライトコードの笹川(ささがわ)です!今回は、前回に引き続き、Twi... 環境の見直し 1回目の記事を書いた際に、弊社のメンバーから 「どうせだったら brew とか goenv で導入してみればよかったのに」 …というお言葉を頂いたので、折角なので、goenv で go の環境構築をやりなおしてみることにしました。 goenvとは goenvとは、rbenv をベースとしたGo言語(Golang)のバ

    【第8回】Go言語(Golang)入門~環境見直し編~ - 株式会社ライトコード
  • 【第6回】Go言語(Golang)入門~Twitter API利用編~ - 株式会社ライトコード

    (株)ライトコードの笹川(ささがわ)です! 先日、Twitterでアンケートをしてみました。 今回は、そのアンケートの要望にお応えして、 TwitterAPI を利用してエゴサが出来る簡易Twitterクライアントを作成してみようかと思います! 今日入門編書いたけど、次のGolangの記事どんなのがいいかな — 笹のり (@sasa_nss_app) September 5, 2019 前回の記事はこちら 2019.10.09【第5回】Go言語(Golang)入門~REST API実装編~第5回~Go言語(Golang)入門~笹川先生(株)ライトコードの笹川(ささがわ)です!前回は、RESR APIを構築... TwitterAPIとは 「ツイート」や「タイムラインの取得」、「リツイート」や「いいね」といったTwitterのサービスを、APIから利用できるサービスです。 今回は、Twitt

    【第6回】Go言語(Golang)入門~Twitter API利用編~ - 株式会社ライトコード
  • 【第4回】Go言語(Golang)入門~REST API環境構築編~ - 株式会社ライトコード

    (株)ライトコードの笹川(ささがわ)です 今回も、Go言語(Golang)を習得していきたいと思います。 引き続き、Firestoreを利用して色々とやってみようかと思います。 Firestoreをデータストレージ、GolangAPIとした場合は、どこかにデプロイしてから使うことが想定されます。 そのため、今回はデプロイする前にREST APIとして使えるようにしたいと思います。 ちなみに、RESTにした理由は特にありません(笑) 入門編のゴールとしては、Androidアプリとの結合を目論んでいるので、「RESTでいいなぁ」と難しいこと考えずに思った次第です! 前回の記事はこちら 2019.09.26【第3回】Go言語(Golang)入門~Firestoreデータ操作編~第3回~Go言語(Golang)入門~笹川先生(株)ライトコードの笹川(ささがわ)です。今回でGo言語(Golang

    【第4回】Go言語(Golang)入門~REST API環境構築編~ - 株式会社ライトコード
  • golang.tokyo#21「Goエンジニアの採用」レポート | mom0tomo

    golang.tokyoも21回目! 今回のgolang.tokyoは「Goエンジニアの採用」がテーマでした。 公開が確認できたスライドについてはタイトルにリンクを貼っています。 Talk 1 社内ベンチャーで採用からチームビルディングで注力していること最初の発表は、パーソルプロセス&テクノロジー株式会社 seedscompany というシード事業部門でエンジニアの採用を手がけている@ntk1000さん。 求職者側に気をつけてほしいことや、採用時に気をつけていること、採用活動の見直し過程やチームビルディングの手法についてお話しいただきました。 Gopherに限らず、一般的なエンジニアの採用に役に立つ情報でした。 内容とは外れますが、全編シンプルな英語で書かれた大変美しくおしゃれなスライドでした! Talk 2 34人のGoの課題をレビューして感じたこと来はgolang.tokyo募集時に

    golang.tokyo#21「Goエンジニアの採用」レポート | mom0tomo
  • Goのhttp.Handlerやhttp.HandlerFuncをちゃんと理解する - oinume journal

    はじめに GoでHTTP Serverを作ろうとすると、標準ライブラリを使う場合以下のようなコードをよく書くと思う。 package main import ( "fmt" "log" "net/http" ) func main() { mux := http.NewServeMux() mux.Handle("/hello", http.HandlerFunc(hello)) log.Fatal(http.ListenAndServe(":8080", mux)) } func hello(w http.ResponseWriter, _ *http.Request) { w.WriteHeader(http.StatusOK) fmt.Fprintf(w, "Hello World") } このコードの登場人物としては以下になるが、それぞれなんだっけ?というのをいっつも忘れてしまうの

    Goのhttp.Handlerやhttp.HandlerFuncをちゃんと理解する - oinume journal
  • GoでシリアルポートからUSBを操作してHEMSを作って電力見える化! - Qiita

    クリスマスイブだというのにQiita書いてます。こんにちは。 記事を書き終わったら子供の枕元にプレゼントを仕込むミッションですね。 ここしばらくGoを書いていないのでちょっとリハビリを兼ねて少し変わった感じの構成でコードを書いてみました。 普段AppengineのWebのプログラミングばかりだったので手ごわかった・・・完成してないけど。 HEMSとは HEMSとは「Home Energy Management System(ホーム エネルギー マネジメント システム)」の略です。 参考 : http://www2.panasonic.biz/es/densetsu/aiseg/hems/about/index.html つかったもの Go Mac当はラズパイで動かしたいがまだそこまでいってない) GE 富士電機製スマートメータ(家についてるやつ。ついてなかったら東京電力に連絡すればつ

    GoでシリアルポートからUSBを操作してHEMSを作って電力見える化! - Qiita
  • Big Sky :: golang の sync パッケージの使い方

    golang と言えば非同期に特化した言語ですが、慣れない内は簡単な非同期しか使えません。しかし sync パッケージを知る事でもっとカジュアルに、かつ確実な非同期処理を行う事が出来る様になります。 今日はそんな sync パッケージについて説明してみたいと思います。 sync.Mutex ご存じ sync.Mutex です。皆さんが一番使う排他制御だと思います。 package main import ( "fmt" "runtime" "sync" "time" ) func parallel(wg *sync.WaitGroup) { fmt.Println("博") time.Sleep(100 * time.Millisecond) fmt.Println("多") time.Sleep(100 * time.Millisecond) fmt.Println("の") time.

    Big Sky :: golang の sync パッケージの使い方
  • Go言語(Golang) はまりどころと解決策

    Go の言語仕様はシンプルで他の言語に比べてはまりどころが少なくて学習コストが小さめな言語のように思います。しかし、それでもはまるところがないわけではないので、自分がはまって時間を無駄にしてしまったことを書き留めておきます。 念の為誤解のないように追記しておくと、この文書の目的は Go を批判することではなく GoGo であるがゆえに C++/Java/Python など利用者が Go を使い始めるときに困惑あるいは誤解するであろうポイントをまとめておくことで初めて Go を触る人がスムーズに Go を使い始められるようにすることです。私個人は Go はバランスがとれた良い言語でだと思いますし、気に入っています。 目次 interface と nil (Go の interface は単なる参照ではない) 文献 メソッド内でレシーバ(this, self)が nil でないことをチェ

  • Go言語がダメな理由 | POSTD

    私はGo言語が気に入っていますし、多くの場面で使用します。現にこのブログもGoで書いています。Goは便利な言語ですが、優れた言語とは言えません。つまり、悪くはないけれど、十分ではないということです。 満足できない言語を使用する際は注意が必要です。注意を怠ると、その言語を次の20年間使い続ける羽目になるかもしれないからです。 私のGoに対する主な不満を文にまとめました。既に何度も指摘されていることも含まれていますが、中にはこれまでほとんど話題になっていない指摘もあります。 これから列挙する全ての課題には既に解決策があることを示すため、私が優良な言語と考えるRustやHaskellと比較して説明します。 汎用プログラミング 課題 誰でもさまざまな事柄に幅広く対応できるコードを記述したいと考えます。例えば数のリストの合計を求めるために定義した関数が、小数、整数、またその他の合計を求められるもの

    Go言語がダメな理由 | POSTD