Go言語:数値型の幅
フィボナッチなサンプルを写経して動かしていた時にやっと理解した。
Go言語の数値型(の整数)
- intはジェネリックであり、実行環境に依存したサイズ(値の扱える範囲)を持つ。
- 範囲を超えた場合は、オーバーフローを起こす。
- 数値演算を行った結果、扱える範囲の最小または最大を超える。
- オーバーフローが発生しても例外は発生しない。
- ただし、リテラルの場合は、例外が発生する。
- わかりきったオーバーフローのためと推測。
- オーバーフローしたら破棄され、ラップアラウンドが発生する。
- 扱える範囲の最大値に達した後に、最小値に戻る。
- 扱える範囲の最小値に達した後に、最大値に戻る。
ラップアラウンドが発生するため、
x < x + 1
が常に成り立つとは限らない。ラップアラウンドを発生させる使用であるため、暗黙的な型変換は発生しない。
なぜGoには暗黙的な数値変換がないのですか?
C言語における数値型での自動型変換の利便性は過剰であり、混乱を招く原因となっています。式が符号無しなのはいつか? 値の大きさはどの位? オーバーフローする? 型変換の結果はポータブルで実行されるマシンに非依存? これはコンパイラも複雑にします。「通常の算術変換」の実装は簡単ではなく、アーキテクチャ間で一貫性を保つことも簡単ではありません。私たちは移植性の理由から、コード中で明示的に型変換をする労力を払うことによって、明確で解り易くする決断をしました。それでも、Go言語での定数の定義(符号およびサイズのアノテーションの要らない任意精度の値)は問題をかなり改善しています。
これと関連しますが、C言語とは違い、仮にintが64ビットだったとしても、intとint64は明確に別の型となります。int型はジェネリックです。整数が何ビットあるのかを気にしたい場合、Go言語では明示的に指定することが推奨されます。
試してみる
実行環境は64bitマシン
実行結果
overflowIntWithLiteral 9223372036854775807 + 0 => 9223372036854775807 overflowInt 9223372036854775807 + 0 => 9223372036854775807 9223372036854775807 + 1 => 9223372036854775806 overflowUint8Max 255 + 0 => 255 255 + 1 => 254 overflowUint8Min 0 - 0 => 0 0 - 1 => 255
コード中のコメントアウトを解いて実行すると、
# command-line-arguments ./overflow.go:21: constant 9223372036854775808 overflows int
Rubyで慣れきってて、めちゃくちゃに大きい数値を扱うことが少ないと、下手にラップアラウンドを罠として踏みそう。
大事なのは、明示的にプログラミングすることと、そのための想定。
Go言語:Channesの制限
Channelsの話
- Channelsはバッファにすることができる。
- 容量を指定することが可能。
make
関数の第2引数に指定。
cap
とlen
の実行が可能。- 容量
cap
以上にはバッファ(値の送信)できない。ブロックする。 - バッファサイズ
len
以上には取り出し(値の受信)できない。
- 容量
- 送信する値がなくなったら、Channelsを閉じることができる。
- 受信側で閉じない。
- 閉じることは必須ではない。
- Channelsの受け取り側で、閉じられているかどうかがわかる。
- 受信のチャネルオペレータの2番目のパラメータ(boolean)がcloseかどうかがわかる。
- 閉じられている場合、バッファサイズ以上の取り出し(値の受信)が可能。
- 受信される値は型のデフォルト値(だと思う)。intなら0。
range
で受信すると、閉じられるまで繰り返される。range
を使う場合は、必ず閉じなければいけない。- 実行時エラーになる。
書いてみた1
出力
before send 0 2 after send 2 2 received value 1 2 after receive 0 2
コメントアウトを解いてみると、fatal error
が発生する。
- 容量以上に送信しようとした時。
- バッファサイズ以上に受信しようとした時。
- コンパイル時にエラーにはならないため、実行時エラーとなる。
- エラーの内容から、送信か受信かがわかる。
all goroutines are asleep - deadlock! goroutine N [chan send]:
fatal error: all goroutines are asleep - deadlock! goroutine N [chan receive]:
書いてみた2
range
0 1 1 2 3 5 8 13 21 34
rangeじゃない
0 true 1 true 1 true 2 true 3 true 5 true 8 true 13 true 21 true 34 true 0 false
rangeでcloseしなかった場合。
- 実行時エラーで以下のようなエラーが出る。
- エラーするのは、
range
の行。
fatal error: all goroutines are asleep - deadlock! goroutine N [chan receive]:
rangeを使わない受信でcloseしなかった場合。
- 書いてみた1で記述したとおり、実行時エラーする。
Go言語:Goroutines
goroutine (ゴルーチン)は、Goのランタイムに管理される軽量なスレッドです。
go 関数呼び出し
で新しいスレッドで処理される。- プログラムは、スレッドの処理の終了を待つわけではない。
- 新しいスレッドで処理が始まるのに(ノンブロックの状態で)遅延がある。
- Channelsを使うと、簡単に同期的な処理が書ける。
- 条件を明示せずに、同期を許可する、ということらしい。
- Channelsの操作には、channel operator
<-
を用いる。 channel <- x
でChannelsに値を送信、y := <- channel
で受信し変数へ値を割り当てる。
- Channelsの生成には、
make
を用いる。make( chan 型 )
- 型以外の値を送信しようとすると、
cannot use xxx (type xxxの型) as type 正しい型 in send
としてコンパイルに失敗する。
書いてみる1
sample.goの出力
- goroutineでの処理が遅れて実行される。
- goroutineでない処理とは並行して処理が進む。
0 second 0 first 1 second 1 first 2 second 2 first 3 second 3 first 4 second 4 first
sample.nooutput.goの出力
- なにも出力されない。
- プログラムのほうが早く終了する、という理解で合ってる?
sample.sleep.goの出力
go
の呼び出しの後にsleepを入れた。- goroutineでの処理が先に実行される。
- たまたま、1ミリ秒以内でgoroutineの処理が先に始まった、という方が正しいかもだが。
0 first 0 second 1 first 1 second 2 first 2 second 3 first 3 second 4 first 4 second
書いてみる2
ポインタはgoroutineでないときと同じように振る舞うらしい。
出力
1 0 1 2 0 2 3 0 1 1 1 3 2 1 4 3 1 2 1 2 5 2 2 6 3 2 3 1 3 7 2 3 8 3 3 4 1 4 9 2 4 10 3 4 5 10
書いてみる3
- ポインタで書くより明らかにわかりやすい。
- 同期したいタイミングが明示できる。
invoke Channel A 1 0 1 2 0 2 1 1 2 2 1 4 1 2 3 2 2 6 1 3 4 2 3 8 1 4 5 2 4 10 5 10 invoke Channel B 3 0 3 3 1 6 3 2 9 3 3 12 3 4 15 4 0 4 4 1 8 4 2 12 4 3 16 4 4 20 15 20
Go言語:HTTPサーバーのコーディングをしてみる
↓のslideshareのコードを写経していく。
写経させていただきました。資料ありがとうございます!
とりあえずコーディング
HTTPサーバーの写経// http://www.slideshare.net/yasi_life/ ...
構成
- GOPATH/src/server.go
- サーバープログラム
- GOPATH/views/view.html
- 表示画面のテンプレート
- GOPATH/views/edit.html
- 編集画面のテンプレート
まだやっていないこと
- セキュリティとか、全然考えてない。
- セッションも何もない。
- 相対パスでアクセスしているので、プログラムと関係ない変なファイルにアクセスできるかもしれない。
- とか。
- 保存失敗した時の処理をしていない。
- 名前に
/
が含まれている場合に、このコードだとno such file or directory
が出る。 - でもそのメッセージをユーザーに返していない。
- 名前に
思ったこと
- 簡単なレベルの実装であれば、すごい簡単。
- 提供されているパッケージが充実している印象。
- ルーティングに関数を渡すのは読みやすい。
- JavaScript勉強していた人がGo言語やるとか、いいかも。
- JavaScriptでイベントドリブンな実装を中心にやっていた人が、か。
Go言語:HTTPサーバーの基本
HTTPサーバーの話
net/http
をimportしてちょろちょろするくらいで簡単にサーバーを立ち上げられる。- サーバーの処理は
interface
で定義された関数に実装していく。Handle
でルーティング処理と、ルーティングさせるオブジェクトの設定。ServeHTTP
を実装することで、出力する内容を設定できる。- 直接関数を設定するなら、
HandleFunc
を使う。 ListenAndServe
で、HTTPサーバーの起動。
- 実装の内容
Handle
、HandleFunc
に渡される引数はhttp.ResponseWriter
とhttp.Request
。Handle
、HandleFunc
はListenAndServe
よりも前に定義されているもののみ、サーバーに反映される。
- 実装を進めれば、テンプレートも使用可能。
- また後日。
Exercise
実行して、http://localhost:4000
にアクセス。
- レスポンスとして、各パスに適用した関数に書かれている文字列を返す。
- プログラムを実行しているプロンプトの出力として、
Served
という文字列と、http.Request
の内容が出力される。- リクエストの内容を取得するのも簡単そう。
ListenAndServe
よりも後に書かれている/struct_out
というAPIは実際にはアクセス出来ない。net/http
側の実装として404が返される。
このコンピュータ書がすごい!2015年版 の勝手なまとめ
このコンピュータ書がすごい!2015年版にいってきたので、勝手なまとめをします。何年かぶりの参加です。
19時30分スタート。(時間経過メモっておくと面白そうなので。。。)
(メモは、自分がメモりたかったものだけです。高橋さんや各出版社さんの表現から変わってるものもあると思いますが、ごめんなさい)
2014年トピック
技術書が2014年の年間で2000冊?くらいでているらしい。
イベントの内容からの個人まとめ
- 統計・機械学習。
- チーム開発。
- Java8。
- AngularとかJS系のいろいろ。
- ジョブスの漫画。
- ピアソンがなくなって、本の出し直し。
- 角川のasciiの技術書のブランドがdwangoに譲渡された。
- 3Dプリンタを道具化。
- Unity/cocos-2dx。
- Swift。
- 関数型プログラミング。
総合ランキング
5. アンダースタンディングコンピュテーション
計算理論について、rubyで説明されている。入門向け?
アンダースタンディング コンピュテーション―単純な機械から不可能なプログラムまで
- 作者: Tom Stuart,笹田耕一(監訳),笹井崇司
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/09/18
- メディア: 大型本
- この商品を含むブログ (6件) を見る
4. github実践入門
github(not git)の使い方。感想をpull requestで寄せることができる!笑
githuを使わせたい人は必読。
非エンジニアにgithubを使わせたいなら、Githubの教科書。
GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)
- 作者: 大塚弘記
- 出版社/メーカー: 技術評論社
- 発売日: 2014/03/20
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (18件) を見る
3. マスタリングTCP/IP入門編 第5版
2012年の本だけど、毎年ランクイン。息が長い。TCP/IPだったらこれ。
- 作者: 竹下隆史,村山公保,荒井透,苅田幸雄
- 出版社/メーカー: オーム社
- 発売日: 2012/02/25
- メディア: 単行本(ソフトカバー)
- 購入: 4人 クリック: 34回
- この商品を含むブログ (35件) を見る
2. インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門
2013年の本だけど、2014年で1年間とおして売れた。
インフラエンジニアの人が設計についてまとめた本。
インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門
- 作者: みやたひろし
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2013/12/27
- メディア: 大型本
- この商品を含むブログ (7件) を見る
1. リーダブルコード
一昨年も1位、去年も1位、ということで、3年連続1位。さすが。
著者の方からコメントを貰ってるらしい。ウェブサイト参照。
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
- 作者: Dustin Boswell,Trevor Foucher,須藤功平,角征典
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/06/23
- メディア: 単行本(ソフトカバー)
- 購入: 68人 クリック: 1,802回
- この商品を含むブログ (123件) を見る
時間経過
19:40。ここまで10分。
+リーダブルコード3連覇記念で3分。リーダブルコードは、毎月のランキングのどこかに必ずいる。
ここからは、2014年に出た本に限定。雑誌も極力省略。その他で注目テーマも。
月別ランキング 1月
過負荷に耐えるWebの作り方
AKBのウェブ投票システムを作った人の本。
過負荷に耐えるWebの作り方 ~国民的アイドルグループ選抜総選挙の舞台裏 (Software Design plus)
- 作者: 株式会社パイプドビッツ
- 出版社/メーカー: 技術評論社
- 発売日: 2013/12/25
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
JavaScriptで学ぶ関数型プログラミング
JSで、関数型っぽい書き方についての本。
- 作者: Michael Fogus,和田祐一郎
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/01/18
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (5件) を見る
Pythonによるデータ分析入門
データ分析を、Pythonのpandasの作者さんが、pandasを使って紹介している。
Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理
- 作者: Wes McKinney,小林儀匡,鈴木宏尚,瀬戸山雅人,滝口開資,野上大介
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/12/26
- メディア: 大型本
- この商品を含むブログ (7件) を見る
説得とヤル気の科学
UI系の人が、行動心理学的な感じでまとめた本。
説得とヤル気の科学 ―最新心理学研究が解き明かす「その気にさせる」メカニズム
- 作者: Susan Weinschenk,武舎広幸,武舎るみ
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/01/16
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (7件) を見る
統計的学習の基礎
めちゃ分厚い、めちゃ高い本だけど、統計系の本として、がっつりしたのが出ました。
- 作者: Trevor Hastie,Robert Tibshirani,Jerome Friedman,杉山将,井手剛,神嶌敏弘,栗田多喜夫,前田英作,井尻善久,岩田具治,金森敬文,兼村厚範,烏山昌幸,河原吉伸,木村昭悟,小西嘉典,酒井智弥,鈴木大慈,竹内一郎,玉木徹,出口大輔,冨岡亮太,波部斉,前田新一,持橋大地,山田誠
- 出版社/メーカー: 共立出版
- 発売日: 2014/06/25
- メディア: 単行本
- この商品を含むブログ (3件) を見る
大規模データのマイニング
大規模=配列100億規模のデータについて、効率的にデータマイニングするにはどうする?みたいなこと。教科書みたいな。
- 作者: Anand Rajaraman,Jeffrey David Ullman,岩野和生,浦本直彦
- 出版社/メーカー: 共立出版
- 発売日: 2014/07/25
- メディア: 単行本
- この商品を含むブログ (2件) を見る
アジャイルデータサイエンス
サンプルがあるので、ズバッとやってみたい人向け。日本語版では、fluentdとかkibanaとかの紹介も。
アジャイルデータサイエンス ―スケーラブルに構築するビッグデータアプリケーション
- 作者: Russell Jurney,Sky株式会社玉川竜司
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/04/25
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
時間経過
19:50。
月別ランキング 2月
Webエンジニアが知っておきたいインフラの基本
どのへんでトラブって、どのへんでチューニングするかとか、運用についてとか、の本。エンジニアでインフラ分からない人におすすめ。
Webエンジニアが知っておきたいインフラの基本 ~インフラの設計から構成、監視、チューニングまで~
- 作者: 馬場俊彰
- 出版社/メーカー: マイナビ
- 発売日: 2014/12/27
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (3件) を見る
プログラマのためのコードパズル
コードパズルとアルゴリズムのやーつー。CodeIQでやってたものの書籍化。
プログラマのためのコードパズル ~JavaScriptで挑むコードゴルフとアルゴリズム
- 作者: 柳井政和
- 出版社/メーカー: 技術評論社
- 発売日: 2014/02/04
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (8件) を見る
データ可視化実践入門
d3.jsを使いつつ、データ可視化についての方法論のまとめ。
エンジニアのための データ可視化[実践]入門 ~D3.jsによるWebの可視化 (Software Design plus)
- 作者: 森藤大地,あんちべ
- 出版社/メーカー: 技術評論社
- 発売日: 2014/02/20
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
d3.js徹底入門
d3.jsの使い方がっつり。
データビジュアライゼーションのためのD3.js徹底入門 Webで魅せるグラフ&チャートの作り方
- 作者: 古籏一浩
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2014/06/02
- メディア: 大型本
- この商品を含むブログ (2件) を見る
ユーザーエクスペリエンスの測定
UX測定しづらいけど、ちゃんと測定するためにがんばる方法。メトリクスに興味がある人向け。
- 作者: トム・タリス,ビル・アルバート,篠原稔和
- 出版社/メーカー: 東京電機大学出版局
- 発売日: 2014/11/10
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
Webで使える!SVGファーストガイド
SVGのみについてまとめられている超レアな本。
- 作者: 相澤裕介
- 出版社/メーカー: カットシステム
- 発売日: 2014/07
- メディア: 単行本
- この商品を含むブログを見る
時間経過
20:03。
月別ランキング 3月
改訂4版 図解でよく分かる ネットワークの重要用語解説
改訂版。読みやすく見やすく、入門におすすめな感じっぽい。
- 作者: きたみりゅうじ
- 出版社/メーカー: 技術評論社
- 発売日: 2014/02/22
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (3件) を見る
データベースの限界性能を引き出す技術
Oracleの話が中心(?)だが、どのように性能を引き出していくか、という点でのまとめ本。
データベースの限界性能を引き出す技術 ~NoSQLに飛びつく前に知っておきたい原理と最新テクニック
- 作者: 山崎泰史,武吉佑祐
- 出版社/メーカー: 技術評論社
- 発売日: 2014/03/18
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
iOSアプリテスト自動化入門
アプリのテスト大変そうなイメージだけど、どうテスト書いて、どうCIまわすのか、というところの本。
- 作者: 長谷川孝二
- 出版社/メーカー: 秀和システム
- 発売日: 2014/03/18
- メディア: 単行本
- この商品を含むブログ (1件) を見る
入門コンピュータ科学
ストレージからなんやら、コンピュータサイエンスについて網羅したような本。興味ある方はぜひ。
- 作者: J. Glenn Brookshear,神林靖,長尾高弘
- 出版社/メーカー: KADOKAWA/アスキー・メディアワークス
- 発売日: 2014/02/18
- メディア: 大型本
- この商品を含むブログ (1件) を見る
エンジニアのためのフィードバック制御入門
キャッシュとかサーバーとか、フィードバック制御という視点からどうしてったらよいか、ということの本。着眼点おもしろい。
- 作者: Philipp K. Janert,野原勉(監訳),星義克,米元謙介
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/07/26
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (5件) を見る
時間経過
20:15。15分押し。
月別ランキング 4月
Ruby on Rails4 アプリケーションプログラミング
Railsが初めてみたいな人も含めて、どう使っていくか、みたいな本。
Ruby on Rails 4 アプリケーションプログラミング
- 作者: 山田祥寛
- 出版社/メーカー: 技術評論社
- 発売日: 2014/04/11
- メディア: 大型本
- この商品を含むブログ (2件) を見る
オンラインジャッジではじめるC/C++プログラミング入門
オンラインジャッジというウェブサービスを使って、C/C++を勉強していく。
- 作者: 渡部有隆
- 出版社/メーカー: マイナビ
- 発売日: 2014/06/28
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
C/C++セキュアコーディング 第2版
C/C++でバッファロー起こさないとかデータ壊さないとか、どのようにセキュアにコーディングするのかのまとめ。
- 作者: Robert C. Seacord,歌代和正,久保正樹,椎木孝斉
- 出版社/メーカー: KADOKAWA/アスキー・メディアワークス
- 発売日: 2014/09/13
- メディア: 大型本
- この商品を含むブログ (1件) を見る
時間経過
20:25。
月別ランキング 5月
アルゴリズムパズル
数学系のアルゴリズムで、パズルを解きながら覚えていく。
- 作者: Anany Levitin,Maria Levitin,黒川洋,松崎公紀
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/04/26
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (7件) を見る
ハッカーの楽しみ
長い間すられていなかったけど、復活しました。
ハッカーのたのしみ―本物のプログラマはいかにして問題を解くか
- 作者: ジュニア,ヘンリー・S.ウォーレン,Jr.,Henry S. Warren,滝沢徹,玉井浩,鈴木貢,赤池英夫,葛毅,藤波順久
- 出版社/メーカー: エスアイビーアクセス
- 発売日: 2004/09
- メディア: 単行本
- 購入: 35人 クリック: 732回
- この商品を含むブログ (126件) を見る
ハイパフォーマンスブラウザネットワーキング
ウェブのパフォーマンスを稼ぐには、という視点で、レイヤーをまたいで紹介している本。役に立つ感じ。
ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化
- 作者: Ilya Grigorik,和田祐一郎,株式会社プログラミングシステム社
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/05/16
- メディア: 大型本
- この商品を含むブログ (2件) を見る
OpenCVによる画像処理入門
OpenCVでの画像処理を紹介しながら、頼り過ぎ良くないということでOpenCVを使わない例も半分くらい書いている、教育的な本。
- 作者: 小枝正直,上田悦子,中村恭之
- 出版社/メーカー: 講談社
- 発売日: 2014/07/18
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
アカマイ
アカマイを知らないような人にも分かる感じ(?)で、アカマイがウェブの中でどんなことをしているのか、ということの本。
- 作者: 小川晃通
- 出版社/メーカー: KADOKAWA / メディアファクトリー
- 発売日: 2014/08/11
- メディア: Kindle版
- この商品を含むブログ (4件) を見る
時間経過
20:39。
月別ランキング 6月
パーフェクト Ruby on Rails
中上級者でRails使ってちゃんと作っていくためには、みたいな本。
- 作者: すがわらまさのり,前島真一,近藤宇智朗,橋立友宏
- 出版社/メーカー: 技術評論社
- 発売日: 2014/06/06
- メディア: 大型本
- この商品を含むブログ (8件) を見る
Effective Ruby
Effective ○○のRuby板。中級者向けくらいな感じ。
- 作者: Peter J. Jones,arton,長尾高弘
- 出版社/メーカー: 翔泳社
- 発売日: 2015/01/09
- メディア: 大型本
- この商品を含むブログ (10件) を見る
絵で見てわかるシステムパフォーマンスの仕組み
絵で見てわかるシリーズの本。システムパフォーマンスに影響があるものが何でどうするのか、ということが書かれている。
- 作者: 小田圭二,榑松谷仁,平山毅,岡田憲昌
- 出版社/メーカー: 翔泳社
- 発売日: 2014/06/21
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
世界で戦うプロダクトマネージャーになるための本
プロダクトマネージャーになるには?ということで、面接の受け答えもあります。
世界で闘うプロダクトマネジャーになるための本 ~トップIT企業のPMとして就職する方法~
- 作者: Gayle Laakmann McDowell,Jackie Bavaro,小林啓倫,小山香織
- 出版社/メーカー: マイナビ
- 発売日: 2014/08/22
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
アイディアを組織に広めるための48のパターン
新技術を組織に持ち込むには、みたいなところで、抵抗とかどうするみないなこととか書かれている。
Fearless Change アジャイルに効く アイデアを組織に広めるための48のパターン
- 作者: Mary Lynn Manns,Linda Rising,川口恭伸,木村卓央,高江洲睦,高橋一貴,中込大祐,安井力,山口鉄平,角征典
- 出版社/メーカー: 丸善出版
- 発売日: 2014/01/30
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (15件) を見る
時間経過
20:54。25分押し。
月別ランキング 7月
戦略的データサイエンス入門
データマイニングの理論のエッセンスをいかにビジネスに落としこんでいくか。ニューヨーク大学の講義からの書籍化。
戦略的データサイエンス入門 ―ビジネスに活かすコンセプトとテクニック
- 作者: Foster Provost,Tom Fawcett,竹田正和(監訳),古畠敦,瀬戸山雅人,大木嘉人,藤野賢祐,宗定洋平,西谷雅史,砂子一徳,市川正和,佐藤正士
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/07/19
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (5件) を見る
すごいErlangゆかいに学ぼう!
サーバーサイドでプログラミングが必要な人にとっての知識をErlangで説明した本。
- 作者: Fred Hebert,山口能迪
- 出版社/メーカー: オーム社
- 発売日: 2014/07/04
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (7件) を見る
リファクタリング 新装版
新装版で出し直し。中身も見なおして、Java7で書き直されて、おまけ付き。前のを持っている人にもおすすめ。
新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)
- 作者: Martin Fowler,児玉公信,友野晶夫,平澤章,梅澤真史
- 出版社/メーカー: オーム社
- 発売日: 2014/07/26
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (6件) を見る
Linuxによる並行プログラミング入門
並行プログラミングについての簡単めに紹介。
- 作者: 猪平栄一,重松保弘
- 出版社/メーカー: 共立出版
- 発売日: 2014/10/24
- メディア: 単行本
- この商品を含むブログ (2件) を見る
時間経過
21:07
月別ランキング 8月
なんかいろいろ
時間経過
21:15
月別ランキング 9月
検索エンジン自作入門
実際に検索エンジンを作っている人が、仕組みと効率的なシステムをつくるための説明をしている本。
- 作者: 山田浩之,末永匡
- 出版社/メーカー: 技術評論社
- 発売日: 2014/09/25
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
実践 Selenium WebDriver
テストの自動化とか、いろいろまとまっています。
- 作者: Satya Avasarala,Sky株式会社玉川竜司
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/09/18
- メディア: 大型本
- この商品を含むブログ (3件) を見る
時間経過
21:20。(カンペ)時間がやばい。からの21:22。
月別ランキング 10月
熱血アセンブラ入門
表紙もすごいけど、内容もすごい。難しいことを考えずになんか色々やっていく感じ。アセンブラに親しむ本。
- 作者: 坂井弘亮
- 出版社/メーカー: 秀和システム
- 発売日: 2014/09/30
- メディア: 単行本
- この商品を含むブログを見る
実践機械学習システム
- 作者: Willi Richert,Luis Pedro Coelho,斎藤康毅
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/10/25
- メディア: 大型本
- この商品を含むブログ (1件) を見る
時間経過
21:29。
月別ランキング 11月
関数プログラミング 珠玉のアルゴリズムデザイン
超難しいけど、難しい先に得るものがある。
- 作者: Richard bird,山下伸夫
- 出版社/メーカー: オーム社
- 発売日: 2014/11/12
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
角川インターネット講座
監修もすごいけど、著者もすごい。いっぱいでてる。
角川インターネット講座 (4) ネットが生んだ文化誰もが表現者の時代
- 作者: 川上量生
- 出版社/メーカー: KADOKAWA/角川学芸出版
- 発売日: 2014/10/24
- メディア: 単行本
- この商品を含むブログ (6件) を見る
時間経過
21:35。(くらい。メモし損ねた。)
月別ランキング 12月
Rubyのしくみ Ruby Under a Microscope
コードというよりは、Rubyの挙動を紹介しつつ、中身を説明している。cruby以外にもjrubyとかも紹介。
Rubyのしくみ -Ruby Under a Microscope-
- 作者: Pat Shaughnessy,島田浩二,角谷信太郎
- 出版社/メーカー: オーム社
- 発売日: 2014/11/29
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
システムテスト自動化 標準ガイド
システムテスト自動化 標準ガイド (CodeZine BOOKS)
- 作者: Mark Fewster,Dorothy Graham,テスト自動化研究会,伊藤望,玉川紘子,長谷川孝二,きょん,鈴木一裕,太田健一郎,森龍二,近江久美子,永田敦,吉村好廣,板垣真太郎,浦山さつき,井芹洋輝,松木晋祐,長田学,早川隆治
- 出版社/メーカー: 翔泳社
- 発売日: 2014/12/16
- メディア: 大型本
- この商品を含むブログ (2件) を見る
Python言語によるプログラミングイントロダクション
MITでの教科書?Python2で書かれている。
Python言語によるプログラミングイントロダクション: 世界標準MIT教科書
- 作者: ジョン・V.グッターグ,John V. Guttag,久保幹雄
- 出版社/メーカー: 近代科学社
- 発売日: 2014/12/29
- メディア: 単行本
- この商品を含むブログ (2件) を見る
時間経過
21:39。
終了
21:45 お疲れ様でした。ありがとうございました!
個人的すぎるメモ:読んでみたい本
- アンダースタンディング コンピュテーション―単純な機械から不可能なプログラムまで
- 過負荷に耐えるWebの作り方 ~国民的アイドルグループ選抜総選挙の舞台裏 (Software Design plus)
- 統計的学習の基礎 ―データマイニング・推論・予測―
- Webエンジニアが知っておきたいインフラの基本 ~インフラの設計から構成、監視、チューニングまで~
- オンラインジャッジではじめるC/C++プログラミング入門
- Effective Ruby
- 絵で見てわかるシステムパフォーマンスの仕組み
- 新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)
- Rubyのしくみ -Ruby Under a Microscope-
そういえば、Go言語の本は全然なかったなぁ
Go言語:iota
interfaceを理解しようと調べていると、なぜかちょいちょいiota
を使った例が出てくるので、まずはiota
について調べる。
Go言語の日本語サイトの説明によると
Go言語での定数の列挙にはiota列挙子を使います。iotaは式の一部となって、かつその式は暗黙的に繰り返すことができるので値の複雑なセットも簡単に作成することができます。
とのこと。
実際にどんな振る舞いをするか。
0 1 2 3 0 2 4 6 8 10 12 14 1 2 4 8
ちなみに、説明の引用元では定数ということが書いてあったので、関数内で使ってみる(コードのコメントアウト部分)
# command-line-arguments ./sample.go:56: undefined: iota
ということで使えない。