タグ

ブックマーク / qiita.com/tenntenn (13)

  • Goのスコープについて考えてみよう #golang - Qiita

    はじめに Twitterで以下のような投稿をしてみました。 https://twitter.com/tenntenn/status/815807925222412292 この問題は、以下のコード中に存在するスコープの数を聞いている問題です。 package main import "fmt" func main() { const message = "hello, world" fmt.Println(message) }

    Goのスコープについて考えてみよう #golang - Qiita
    kasumani
    kasumani 2017/01/08
    Goのスコープについて考えてみよう #golang まだ回答してない方は、ぜひここでいくつになるか考えてみてください。 さて、ここでヒントを出しましょう。 以下のコードをみてみましょう。 Tags: from Pocket January 08, 2017 at 04:34AM
  • ASTを取得する方法を調べる #golang - Qiita

    はじめに みなさん、メリークリスマス! 22日の枠に欠員が出たので、go/parserパッケージを使ってAST(抽象構文木)を取得する方法についてまとめたいと思います。 goパッケージについては、簡単な式の評価機を作ってみるという記事も書いているので、そちらもぜひ読んで下さい。 なお、この記事を執筆時点のGoの最新バージョンは1.7.4です。 ノード go/parserパッケージでは、いくつかのParseと名前のついた関数でAST(抽象構文木)を取得することができます。ASTの各ノードを表す型は、go/astパッケージで提供されています。そしてそれらの型は、以下のast.Nodeインタフェースを実装するように定義されています。 type Node interface { Pos() token.Pos // position of first character belonging to

    ASTを取得する方法を調べる #golang - Qiita
    kasumani
    kasumani 2016/12/27
    ASTを取得する方法を調べる #golang みなさん、メリークリスマス! 22日の枠に欠員が出たので、go/parserパッケージを使ってAST(抽象構文木)を取得する方法についてまとめたいと思います。 Tags: from Pocket December 27, 2016 at 05:43AM
  • go-app-builderのソースコードを読む #golang #gae - Qiita

    はじめに みなさんはGAE/GoのSDKがどうやってコードをビルドしているのか知っていますか? 私は正直ふわっとしか理解できておらず、きっと小人さんがビルドしてるんだろうなくらいに思ってました。 当然、小人さんじゃなくて、どこかにgoapp buildとかを呼んでいるコードがあるんだろうとは思っていましたが、どうやらgo-app-builderというツールがそれをやっていることを知ったので、調べてみることにしました。 今回は、ソースコードを読んでいく過程で分かったことをまとめたいと思います。 なお、ここではSDKのバージョンはappengine-1.9.48を使っています。 ソースコードはどこにあるのか さて、go-app-builderはどこにあるんでしょうか。きっとSDKのディレクトリのどこかです。 実はSDK以下にあるgorootの中に入っています。 $ ls $(goapp env

    go-app-builderのソースコードを読む #golang #gae - Qiita
    kasumani
    kasumani 2016/12/15
    go-app-builderのソースコードを読む #golang #gae はじめに みなさんはGAE/GoのSDKがどうやってコードをビルドしているのか知っていますか? 私は正直ふわっとしか理解できておらず、きっと小人さんがビルドしてるんだろうなくら
  • 簡単な式の評価機を作ってみる #golang - Qiita

    はじめに 皆さんはgoパッケージを使ったことはありますか?私は、GoGo!言いながら、恥ずかしながら、あまりまともに使ったことがありませんでした。最近は、仕事でもAST(抽象構文木)を弄り倒すことがあるので、今回はgoパッケージに触れたいと思います。 ここでは、簡単な四則演算などを評価し、結果を返すREPLを作ってみます。一見難しそうですが、ほとんどgoパッケージの機能を使うので、非常に簡単です。 ASTへパースする まずは入力された文字列をパースし、ASTを生成してみます。ここでは、式の評価なので式単位でパースします。パースには、parser.ParseExprを用います。 たとえば、以下のように使用できます。 expr, err := parser.ParseExpr("1+1") if err != nil { panic(err) } ast.Inspect(expr, func

    簡単な式の評価機を作ってみる #golang - Qiita
    kasumani
    kasumani 2016/12/14
    簡単な式の評価機を作ってみる #golang はじめに 皆さんはgoパッケージを使ったことはありますか?私は、Go!Go!言いながら、恥ずかしながら、あまりまともに使ったことがありませんでした。最近は、仕事でもAST(抽象構文
  • Goを学びたての人が誤解しがちなtypeと構造体について #golang - Qiita

    はじめに タイトルをキャッチーかつ若干煽り気味にしたのは、そもそも記事を見てもらう確率を上げるためで他意はありません。なぜ読んでほしいのかというと、typeとstructについて、一部の機能に着目して、それがtypeとstructの全てだと誤解されるとマズいなと感じることが最近多いためです。 この記事で書いてあることは過去にもインタフェースの実装パターンや2016年度Go研修で取り上げていますが、今回は端的に分かりやすくなるようにまとめたいと思います。

    Goを学びたての人が誤解しがちなtypeと構造体について #golang - Qiita
    kasumani
    kasumani 2016/12/14
    Goを学びたての人が誤解しがちなtypeと構造体について #golang はじめに タイトルをキャッチーかつ若干煽り気味にしたのは、そもそも記事を見てもらう確率を上げるためで他意はありません。なぜ読んでほしいのかというと
  • gorenameをライブラリとして使う #golang - Qiita

    はじめに 皆さんはgorenameというツールをご存知でしょうか? golang.org/x/tools/cmd/gorenameで公開されている、Goのリファクタリングツールです。 ここでは、このツールを自分のコード上でライブラリとして使う方法と使いやすいリファクタリングツールの形について説明できればと思います。 なお、ここで扱う話はVimConf 2016において、エディタの壁を越えるGoの開発ツールの文化と作成法(ビデオ)というタイトルで話したものと、一部重複していますので、そちらもよかったら見て下さい。 gorenameを使ってみる まずは、gorenameをインストールして使ってみましょう。すでに使ったことある方はここは飛ばしてもらって構いません。 もしかすると、お使いのIDEやエディタによってすでにインストールされているかもしれません。 vim-goをお使いの方は、:GoRe

    gorenameをライブラリとして使う #golang - Qiita
    kasumani
    kasumani 2016/12/07
    gorenameをライブラリとして使う #golang 皆さんはgorenameというツールをご存知でしょうか?golang. Tags: from Pocket December 07, 2016 at 12:21AM via IFTTT
  • GoでOSXのアプリを書く #golang - Qiita

    はじめに タイトルは釣りです。すいません。 YosemiteからAppleScriptの代わりにJavaScriptが使えるようになったらしいです。 http://qiita.com/zakuroishikuro/items/1b02378bf9e940602d87 http://qiita.com/ymmtmdk/items/5cf7665eeddf34adf63e JavaScriptで動かせるようになったということは、GopherJSの出番ですね! GopherJS + Nashorn + JavaFXをやったときみたいに、簡単なサンプルを動かしてみました。 http://qiita.com/tenntenn/items/e61822b265bc2b8f6c88 Windowを出す ひとまず、Windowを出してみます。 上記のQiitaのJXAの記事を参考にしながら、JavaScr

    GoでOSXのアプリを書く #golang - Qiita
    kasumani
    kasumani 2015/02/19
    GoでOSXのアプリを書く #golang タイトルは釣りです。すいません。 YosemiteからAppleScriptの代わりにJavaScriptが使えるようになったらしいです。 GopherJS + Nashorn + JavaFXをやったときみたいに、簡単なサンプルを動かしてみました。 Ta
  • Goの初心者が見ると幸せになれる場所 #golang - Qiita

    公式サイト A Tour of Go Web上で実行しながら学ぶことができる公式のチュートリアルです。 チュートリアル 公式のチュートリアルです。初学者向けからジェネリクスのチュートリアルなども用意されています。 A Tour of Goが終わった後に取り組むと良いでしょう。 Go Wiki Go Code Review Commentsなどが掲載されているGitHub上のWikiです。 パッケージドキュメント 標準パッケージやサードパーティ製のパッケージのドキュメントが見れるサイトです。検索もできます。 入門 プログラミング言語Go完全入門 筆者が作っている巨大なGoの入門資料です。なぜGoが作られたのか、から最新のジェネリクスの情報、静的解析まで扱っています。 Gopher道場 Goを体系的に学べる場です。10時間くらいある動画教材(自習室から入手可)もあります。 Go の最初の手順

    Goの初心者が見ると幸せになれる場所 #golang - Qiita
    kasumani
    kasumani 2015/02/12
    Go言語の初心者が見ると幸せになれる場所 標準ライブラリの使い方はここを見ればよい。 APIドキュメントからソースが簡単に見れるので、勉強になる。 Tags: from Pocket February 12, 2015 at 01:42PM via IFTTT
  • 私のGopherコレクション2014 #golang - Qiita

    はじめに GoCon 2014 Autumnお疲れ様でした! Rob先生や鵜飼さんのキーノートをはじめ、豪華な登壇者ということもあり、 今まで最も大きな規模のGoConとなりました。 しかし、この記事では、GoConのことは書きません!また別の機会で詳細は書けたらなと思います。 GoConも終わり、12月と月曜日が一緒にやって来ましたが、ひとつ重要なことを忘れてました。 Advent Calendarを書いてなかったのです。。。 ということで、GoConが終わってから必死で書いております。 技術的な内容は時間的に厳しいので、私のGopherフォルダが火を吹くぜ!ということで、 私が描いたGopherを紹介したいと思います。 なお、Gopherのオリジナルのデザインは,Renee Frenchさんです. 家のやつをトレースしたGopher 家のgopherはどれもpngで公開されています

    私のGopherコレクション2014 #golang - Qiita
    kasumani
    kasumani 2014/12/03
    私のGopherコレクション2014 #golang はじめに GoCon 2014 Autumnお疲れ様でした! Rob先生や鵜飼さんのキーノートをはじめ、豪華な登壇者ということもあり、 今まで最も大きな規模のGoConとなりました。 しかし、この記事では、GoCon
  • [Go言語] database/sqlパッケージを使ってみた - Qiita

    cnn := sql.Open("mysql", "user:password@tcp(host:port)/dbname") 1レコードをSELECTしてみる QueryRowメソッドを使えば、1レコード分を取得できる。 Go言語得意のポイントを渡して、出力引数で受け取る。 id := 100 var name string if err := cnn.QueryRow("SELECT name FROM person WHERE id = ?LIMIT 1", id).Scan(&name); err != nil { log.Fatal(err) } fmt.Println(id, name)

    [Go言語] database/sqlパッケージを使ってみた - Qiita
    kasumani
    kasumani 2014/08/07
    database/sqlパッケージを使ってみた 使うときは、init関数を呼び出せばよいみたいなので、_でインポートする。 ドライバの名前を指定して、データベースに接続する。 Tags: ifttt, kasumaniのストックした投稿 - qiita from Pocket August
  • Go言語で顔認識してみた - Qiita

    はじめに Go Advent Calendarの12月1日分の記事です。 はい、すいません。もう12月2日ですが、寝るまでが12月1日ということで。 今回は、cgoの練習ということで、OpenCVをいじってみました。 OpenCVのインストール 私はMacを使っているので、homebrewで入れました。 しばらくhomebrewを使っていなかったので、アップデートしようとしたら、エラーが沢山でました。その辺は以下を見て解決しました。 https://github.com/mxcl/homebrew/issues/11448 やり方を探す とりあえず、「opencv golang」でググると、便利そうなバインディングが見つかりました。 https://code.google.com/p/go-opencv/ go getしてみよう。

    Go言語で顔認識してみた - Qiita
    kasumani
    kasumani 2014/07/06
    Go言語で顔認識してみた Go Advent Calendarの12月1日分の記事です。 はい、すいません。もう12月2日ですが、寝るまでが12月1日ということで。 今回は、cgoの練習ということで、OpenCVをいじってみました。 Tags: ifttt, kasumaniのストッ
  • Go言語でWebAppの開発に必要なN個のこと - Qiita

    元ネタ あるプログラミング言語で実際にWebAppを開発できるようになるまで、何が必要だろうか。言語仕様の習得は終えているとしよう。おそらく、最低限以下のような知識が必要だと思われる。とりあえずGo言語について知っていることを書いた。 パッケージマネージャ 標準でついてるgoツールを使おう。必要なライブラリはリポジトリから、go getで取ってこよう。 http://golang.org/cmd/go/#hdr-Download_and_install_packages_and_dependencies アプリケーションサーバ 標準パッケージのnet/httpパッケージを使えばhttpサーバを動かすことができる。apacheやnginxで動かしたかったら、標準パッケージのnet/http/cgiパッケージやnet/http/fcgiパッケージを使えばいい。 http://golang.or

    Go言語でWebAppの開発に必要なN個のこと - Qiita
    kasumani
    kasumani 2014/06/17
    Go言語でWebAppの開発に必要なN個のこと あるプログラミング言語で実際にWebAppを開発できるようになるまで、何が必要だろうか。言語仕様の習得は終えているとしよう。おそらく、最低限以下のような知識が必要だと思われ
  • Go言語における埋め込みによるインタフェースの部分実装パターン - Qiita

    構造体 Go言語には、クラスがない。そのため、代わりに構造体(struct)を使い、その型にメソッドを設けることで似たような振る舞いをさせる。 package main import "fmt" type Person struct { FirstName string LastName string } func (p *Person) Name() string { return p.FirstName + " " + p.LastName } func main() { person := &Person{"Taro", "Yamada"} fmt.Println(person.Name()) }

    Go言語における埋め込みによるインタフェースの部分実装パターン - Qiita
    kasumani
    kasumani 2014/03/24
    Go言語における埋め込みによるインタフェースの部分実装パターン Go言語にはインタフェースがある。明示的に実装しなくてもインタフェースが定義するメソッドをすべて実装していれば、そのインタフェースを実装してい
  • 1