技術評論社より「プログラマのためのコードパズル~JavaScriptで挑むコードゴルフとアルゴリズム」を発売 |
||
|
|
概要 | |
● 「プログラマのためのコードパズル」を発売
ソフトウェア開発を行う、クロノス・クラウン合同会社(本社・横浜市)の代表社員 柳井政和は、2014年2月4日に、株式会社技術評論社より、以下の本を出版いたします
プログラマのためのコードパズル
~JavaScriptで挑むコードゴルフとアルゴリズム 本書は、JavaScriptで、コードゴルフやアルゴリズムの問題に挑み、その解説や関連知識の紹介を行った本です。「CodeIQ」で出題した問題を中心に、プログラムの考え方や楽しみ方を様々な角度から書いています。 以下、技術評論社の紹介を転載します。 □ 技術評論社 http://gihyo.jp/ □ CodeIQ https://codeiq.jp/ □ クロノス・クラウン合同会社 http://crocro.com/ |
「プログラマのためのコードパズル」基本情報 | ||||||||||||||||
本書の基本情報は以下の通りとなります。
|
「プログラマのためのコードパズル」目次情報 |
本書の構成は以下のようになっています()。 はじめに introduction 「コードゴルフ」と「アルゴリズム」 コードゴルフとは アルゴリズムとは プレイグラウンドとは Web ブラウザ+ JavaScript のプレイグラウンドで遊ぶ JavaScript の特徴 プレイグラウンドの仕様とコード コードゴルフの文字数 コードゴルフ問題の基本コード アルゴリズム問題の基本コード 共通コード 第1 部 まずは雰囲気を知ろう 1.1 コードゴルフ 問題1 アスキーアートで円を描こう① ヒント 言語使用面から文字を削る 解答例 成績をみよう 1.2 コードゴルフ 問題2 アスキーアートで円を描こう② 解答例 プレイグラウンド 第2 部 シンプルな手順をコードに変換 2.1 アルゴリズム 問題1 素数をみつける不思議な“ ふるい” ヒント 図説エラトステネスの篩 ヒント ループ処理と配列 解答例 プレイグラウンド 2.2 アルゴリズム 問題2 山あり谷あり最短経路を探せ ヒント 図説地形コスト付きマップの最短経路 ヒント 再帰(的)処理の実装 解答例 ヒント 別解答・スタック処理の実装 解答例 プレイグラウンド 第3 部 短く書くテクニックを知ろう 3.1 コードゴルフ コードを削減するテクニック JavaScript の言語仕様に沿ったテクニック 3.2 コードゴルフ 短縮化ツール 短縮化ツールを使ってみよう 3.3 コードゴルフ 問題3 ミノタウロスもびっくり 迷路の自動生成 ヒント ボトルネックを探す ヒント 迷路を作るアルゴリズム ヒント コードゴルフ問題とランダム ヒント ランダムのアルゴリズム 解答例 番外編・迷路全体を文字列で持つというアプローチ 成績をみよう プレイグラウンド 第4 部 同じ目的を実現する様々な手法 4.1 アルゴリズム 問題3 計算式をコンピュータに理解させよ ヒント 計算式を整理する 解答例 プレイグラウンド 4.2 アルゴリズム 問題4 画像を“ びよ~ん” と拡大しよう ヒント 画像の拡大縮小アルゴリズム 解答例 プレイグラウンド 第5 部 短いコードで複雑な世界を出力 5.1 コードゴルフ 問題4 自己相似な世界 フラクタルな図形を描く ヒント 「for」文に注目 ヒント フラクタルな図形 成績をみよう プレイグラウンド 5.2 コードゴルフ 問題5 山・平地・海 ワールドマップを生成する ヒント 変数と「for」文 ヒント ワールドマップ生成 成績をみよう プレイグラウンド 第6 部 限られた情報から全体を想像する 6.1 アルゴリズム 問題5 燃料を節約して未知の地形を踏破せよ ヒント マップを言語化する ヒント マップ生成のアルゴリズムを読み解く プレイグラウンド 6.2 アルゴリズム 問題6 暗黒惑星での戦い 敵を索敵して撃滅せよ ヒント 砲撃の場所を考える ヒント マップ生成のアルゴリズムを確認する ヒント 計算量を削減する プレイグラウンド 第7 部 問題を作ってみよう 7.1 コードゴルフ問題を作成する 7.2 アルゴリズム問題を作成する おわりに 参考資料 |
「プログラマのためのコードパズル」まとめ |
コードゴルフやアルゴリズム問題を通して、プログラミングの楽しさを味わってもらう本です。 クロノス・クラウンでは、今後も、楽しさと実用を兼ね備えたコンテンツや技術を提供していきます。 |
関連リンク |
□ 技術評論社 http://gihyo.jp/ □ CodeIQ https://codeiq.jp/ □ クロノス・クラウン合同会社 http://crocro.com/ |