タグ

Go言語に関するluccafortのブックマーク (14)

  • 【Go言語】準標準のWebSocketパッケージを使ったミニマムなチャットのサンプル - DRYな備忘録

    をつくって、こういう知見がたまったよ、みたいなの書こうと思ったんですが、Goの準標準パッケージである golang.org/x/net/websocket が便利すぎて「あ...できたわ」以上の感想が無いっていう現象になりました。 成果物はこちらです。ご査収ください。HTML入れても160行ぐらいしかないです。 github.com というかGoのチュートリアルでチャットってよく使われるからGoエンジニア飽きもせず何度もチャットつくるマンみたいになってる気がする。 DRYな備忘録として みんなのGo言語【現場で使える実践テクニック】 作者: 松木雅幸,mattn,藤原俊一郎,中島大一,牧大輔,鈴木健太,稲葉貴洋出版社/メーカー: 技術評論社発売日: 2016/09/09メディア: 大型この商品を含むブログ (4件) を見る

    【Go言語】準標準のWebSocketパッケージを使ったミニマムなチャットのサンプル - DRYな備忘録
    luccafort
    luccafort 2017/11/09
    すごくどうでもいい部分なのかもしれないけど「ColorChat」の色の配色が個人的に好きでいい。久しぶりに年末年始にチャレンジするぞ!
  • 「みんなのGo言語」を読んだ - $shibayu36->blog;

    Go言語の学習のため、A Tour of Goに引き続き、「みんなのGo言語」を読んだ。 みんなのGo言語[現場で使える実践テクニック] 作者:松木雅幸,mattn,藤原俊一郎,中島大一,牧大輔,鈴木健太技術評論社Amazon 「みんなのGo言語」はGo言語を実践的に使うためのTipsがいろいろまとめられていて非常に良かった。Go言語のA Tour of Goをやったけど、次にどうすればよいかわからない、具体的にGoの良い書き方が分からないという人が読むと非常に勉強になりそう。 僕はまだGoをそこまで書いていないので、「第1章Goによるチーム開発のはじめ方とコードを書く上での心得」と「第4章コマンドラインツールを作る」が非常に参考になった。例えば以下のようなものが参考になった(数字はKindleのロケーション番号)。 Goプロジェクトプロジェクト構成やディレクトリ構成 519, 2389

    「みんなのGo言語」を読んだ - $shibayu36->blog;
    luccafort
    luccafort 2017/09/29
    まだパラパラと読んだレベルだけどぼくは4章と6章がいい感じだなって思いました。
  • Go言語のFunctional Option Pattern - Qiita

    オプション パッケージを作る際、柔軟性を持たせるためにオプションを持たせたい時がしばしばあります。 しかしオプションは知っての通り設定しないことが少なくありません。 単にコンストラクタに並べるようでは無用な複雑さをはらむことになります。 JavaなどではOptional Parameterなどのように、デフォルト値が指定できる機能があります。 機能の厳選されたgo言語ではそのような機能はありませんが、 "Self Referential Functions Design"というテクニックがあり、 それについての記事がRob Pike氏の記事を筆頭にいくつか説明されています。 オプションと相性が非常に良いため、合わせて"Functional Option Pattern"とも呼ばれています。 Dave Cheney氏の記事を参考におおまかに説明したいと思います。 様々な解決策 あるServe

    Go言語のFunctional Option Pattern - Qiita
    luccafort
    luccafort 2017/04/02
    実装が冗長だなあとは思うけど確かにパッケージは使う側を想定して作るべきという主張もわかるしこういう実装方法がベターなのかなあ。(´ε`;)ウーン…
  • 2017年のPHPフレームワーク——2強時代に何を学ぶべきか?

    動きの早いフロントエンド界隈や他の言語の躍進の話題に押されて、いつまでも古い知識のままPHPで開発していませんか? 知識のアップデートに役立つ、最近のフレームワークの動向を、ちょっと辛口な現状分析とともに。 私が約1年前に書いた記事の続きを書くことにしたのは次の質問を受けたからです。 Q:PHP MVCフレームワークについて近況を教えてください。(2017/2/24) A:PHPのフレームワークといえば、現時点ではLaravelとSymfonyに尽きます。これから新しいプロジェクトを始めるなら、わざわざCakePHP、Zend、CodeIgniter、Yiiなどを使う理由は見当たりません。これらのフレームワークを使い慣れているか開発経験のある開発者がいないのなら、使う理由はないでしょう。 実際に開発が始まったら、ツールやプラグインを集めたり、よくある問題への対処方法を調べたりする必要があり

    2017年のPHPフレームワーク——2強時代に何を学ぶべきか?
    luccafort
    luccafort 2017/03/22
    基本的にいってることはわかるんだけどCIに関する"Modelが必須でないので、MVCに厳密に沿おうとはしていません。"に関してはLaravelだって同じだしCI独自の問題みたいな書き方はナンセンスだろう。
  • GoのためのGo

    Go言語はシンプルさを念頭にデザインされた言語です。仕様は単純明瞭さのために小さく収められていますが、そのため表現力に欠けているとか、コードが冗長になるという印象を持つ人も多いでしょう。有名なところでは、ジェネリクスや例外といった機能が(今のところ)存在しないことが問題にされることが多いようです。 一般に、ソフトウェアエンジニアリングというものは書かれる言語だけに依るものではありません。視点を拡げてGoを取りまくツール群を含めて見てみると、go fmt や goimports といったツールが広く使われていること、また go generate コマンドの存在などを見ても、Goという言語には、人間のプログラミングを機械によってさまざまな面から補助しようという態度があります。

    luccafort
    luccafort 2017/01/28
    これは一読以上の価値があるやつだ!
  • Goではじめてみたブラウザの自動操作 - Qiita

    はじめに 面倒なWEBブラウザの定型作業を自動化したくて。 WEBブラウザの自動操作には定番のSeleniumを利用する。 Seleniumは主にウェブブラウザのテストに利用されているが、テスト用途以外でも利用はできる。 なおウェブスクレイピングが目的であれば、scrapeとかgoqueryなどを利用するほうが簡単。 それでもSeleniumを利用するのは、 実際のブラウザが利用できるという点であり、以下のような利点があると思っている。 IEなど特定のブラウザのみをサポートしているサイトの自動操作 ごりごりのJavascriptやFlashを利用されているサイトの自動操作 証跡として画面のスクリーンショットを取得できる 前提知識 WebDriverを介することで、スクリプトとしてJava,C#,Pythonなど多くの言語から利用できる ブラウザごとにWebDriverが用意されており、1つ

    Goではじめてみたブラウザの自動操作 - Qiita
    luccafort
    luccafort 2017/01/21
    agouti知らんかったのでページに移動したら左側の花のバックグラウンド画像が主張強くてチョット異常にうざいw…でも良さ気。
  • Goについて思うこと 2016

    あんまりこういう内容のポエム的なものは広まってほしくないなあ・・と思うのでこっちにひっそり書くことにする。 今年は僕にとってはGoの存在がとても大きい年だった。 5年前、僕が書くのはWebアプリケーションが中心で、PHPをメインで触っていた。それが気がつけばエンジニアリングのレイヤが広がったなあという所感があって、ここ最近Goがそれを加速してくれた。第二の言語としてのGoはとても良くできていて、小回りが聴くし、ミドルウェアをちょろっと書くにも心地よい。やっぱり最近の言語ならではの良さがある。たとえば、 * テストが標準ライブラリに組み込まれている * net/httpがとても良くできている。フレームワークを必要としない場面も多い。 * concurrencyを堅牢に扱える(うまい言葉が見当たらない) * そしてそれなりに速い というのがあげられる。特にgo toolの充実はすごい。Race

    luccafort
    luccafort 2016/12/27
    “まず「これを実現したいんだ」が一番最初にあって”わかる。無駄なところの議論が起きにくい言語なんだなって強く感じるところがGoの魅力の1つですよね。PHPに対する感覚もぼくにはわかりやすかった。
  • Go言語 Web フレームワークはこれを使おう 2016年12月版 - Witch on the Other Shore

    2016 - 12 - 10 Go言語 Web フレームワークはこれを使おう 2016年12月版 この記事は Qiita Advent Calendar 2016 Go (その2) 10日目の記事です。 Go言語の Web アプリケーションフレームワーク (以下、Web フレームワーク) は、群雄割拠の時代を経てわずかばかりまとまってきた印象があります。今回、Go言語の Web フレームワーク を選定するさいの参考になればと思い、あらためていくつかのフレームワークの特長や最近の動向をまとめました。 結論 現時点では iris または Echo の選択をおすすめします。 選定と推薦の根拠 主観 GitHub Trending, Star, Issue プロダクトでの使用経験 (Gin, Echo) 現在、 株式会社ユーリエ のプロダクト eurie Desk 開発における主たる言語として G

    Go言語 Web フレームワークはこれを使おう 2016年12月版 - Witch on the Other Shore
    luccafort
    luccafort 2016/12/11
    まだGolangのフレームワークは黎明期なんだろうけども現時点だとEchoがベターなのか。それはそれでググラビリティーの低いフレームワーク名だなぁ。
  • Golangのエラー処理とpkg/errors

    GoConでは毎回エラー処理について面白い知見が得られる.Go Conference 2014 autumn においては(実際のトークではないが)居酒屋にて@JxckさんがRob Pike氏から以下のようなテクニックを紹介してもらっていた. Errors are values - The Go Blog Golang Error Handling lesson by Rob Pike これはWrite(やRead)のエラー処理が複数続く場合にerrWriter を定義して複数のエラー処理を一箇所にまとめてコードをすっきりとさせるテクニックであった. そして今回の Go Conference 2016 spring のkeynoteにおいてもDave Cheney氏から(僕にとっては)新たなエラー処理テクニックが紹介された. Gocon Spring 2016 実際に使ってみて/コードを読ん

    luccafort
    luccafort 2016/04/25
    途中まで「うんうんわかるわかる」と読んでいたのにerr.(temporary)という呼び出し方法を見て「えっなにこれこれで呼び出せんの???」と混乱のるつぼに突入してしまった。errorsも知見だけどこっちのほうが気になる。
  • 本物の golang を... 本物の Gopher を、お見せしますよ。 - Qiita

    事の始まり それはD言語くんへの嫉妬から始まった。 D言語くんの繁殖についての仮説 lsを間違えてdlと入力してしまったときに、D言語くんが通り過ぎるコマンド くっ悔しい... そしてショボいAAで2番煎じ。 lsを間違えてgolと入力してしまったときに、Gopherが通り過ぎるコマンド書いた。 こんなはずじゃない! 僕らの Gopher 君はこんなチープじゃない! 明日来てください。物の Gopher をお見せしますよ。 — mattn (@mattn_jp) December 15, 2015 (当はもうちょっと前から作ってましたが) 物のGopher君とは そして今回、これを公開するに至った。 まずはこれをご覧頂きたい。 !!!!!!!!!!!!1 こいつ・・・ 動くぞ・・・ golang で書いたデスクトップマスコットです。起動すると画面のタスクバーの上をウロウロします。たま

    本物の golang を... 本物の Gopher を、お見せしますよ。 - Qiita
    luccafort
    luccafort 2015/12/17
    goいんだけどこういうの嫌いじゃない。
  • 【flagg】そんなもんは作らんでよかったのである【Go言語】 - DRYな備忘録

    前略 昨日これを書きました 【つくった】Go言語のflagパッケージでコマンドラインオプションが取得できない気がしたので - DRYな備忘録 これに対して、id:hayajo_prpr 氏から以下のようなご指摘を頂きました。 flagパッケージを使う場合はこんな感じでいかがでしょうか? https://gist.github.com/hayajo/5d5a3cfce2407964e0e9 otiai10/flagg よりも直感的ではありませんが… で、書いて動かしてみたらまさに僕が欲しかった結果が得られまして、ああやっぱり僕ぁ糞だなと思いつつ、とっても勉強になりました! 雑感 いろいろ突っ込んでくれる人がいるというのは有意義だなーと思うので、今後ともひきつづきDIYしては突っ込まれ、勉強していきたいと思います。草々

    luccafort
    luccafort 2014/06/04
    Go言語楽しそう…
  • Go言語のコードレビュー

    SoundCloudが2年半ほどGo言語を利用したプロダクトを番で運用した知見をGopherConで発表していた(“Go: Best Practices for Production Environments”).その中で“CodeReviewCommentsというGoogleでのGo言語のコードレビューにおいてよくあるコメントをまとめたサイトが紹介されていた. 最近Go言語を書くようになり,使えそうなのでざっと抄訳してみた.“リーダブルコード”的な視点も含まれており,Go以外の言語でも使えそう. gofmtでコードの整形をすること コメントは文章で書くこと.godocがいい感じに抜き出してくれる.対象となる関数(変数)名で初めて,ピリオドで終わること // A Request represents a request to run a command. type Request str

  • Go言語に少し触れてみた - LotosLabo

    はじめに Go言語とは、Googleによって発表されたオープンソースのプログラミング言語のことです。 - シンプルな言語 - コンパイル・実行速度が早い - 安全性が高い - 親切である という特徴があります。 (公式から抜粋してきた内容と、使ってみた感想をまとめてみました) 使い方 Go言語インストール先はこちら go1.2.windows-amd64.msiというのがあるのでそちらを選択します。 64bitの方はこちらを選んでください。 IDEにはインストールファイルに入っている LiteIDEというツールを使っていきます。 インストールが完了しましたら、環境変数を設定します。 ①PATH→ C:\Go\bin; ②GOROOT → C:\Go それぞれダウンロードした場所を指定します。 次に、下の画像の黒いボタンをクリックして、上のGOROOTとPATHのように入力します。 最後にV

    luccafort
    luccafort 2014/01/27
    ディレクトリ作成の項目のソースコードのコメントアウトがファイルになってるけどディレクトリの間違い?個人的にはimportを()でまとめれるのがスマートな気がした。
  • Go言語のサンプルがつまった『Go By Example』 | 100SHIKI

    マニアックではあるが、最近興味があることなのでご紹介。 Go By Exampleでは、ちかごろ話題の「Go言語」のサンプルがたくさん紹介されている。 お約束の「Hello World」から、Go言語特有の並列処理まで網羅されているので勉強になる。 ちなみにソースコードの右上にあるアイコンをクリックすればその場で実行結果を確認できるようだ。 そろそろGo言語を勉強しなくちゃな、という方はいかがだろうか。

    Go言語のサンプルがつまった『Go By Example』 | 100SHIKI
  • 1