今週のQiita技術書まとめ
2016年12月11日配信
オレオレ技術書ロードマップ(ゲームプログラマ編)
オレオレ技術書ロードマップ(ゲームプログラマ編) 技術書コレクターだし書いてみます。 僕のメイン本棚 他にもあるんですが入れるスペースがなくて技術書がオーバーフローしてます。 動機
C++によるプログラミングの原則と実践
C++の設計者Bjarne Stroustrupが、プロとして恥ずかしくないレベルのプログラマーを目指す学生、C++を本格的に学びたい人を対象に書き下ろした究極の入門書です。また、C++日本語対応に関する解説を独自に追加しています。 ※本書は『Programming: Principles and Practice Using C++(2nd Edition)』の翻訳書です。 第0章 読者への覚書 第1章 コンピューター、人、プログラミング 第I部 基礎 第2章 Hello, World 第3章 オブジェクト、型、値 第4章 コンピューテーション 第5章 エラー 第6章 プログラムの記...
リーダブルコード
コードは理解しやすくなければならない。本書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介する。名前の付け方、コメントの書き方など表面上の改善について。コードを動かすための制御フロー、論理式、変数などループとロジックについて。またコードを再構成するための方法。さらにテストの書き方などについて、楽しいイラストと共に説明する。日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。
ゲームプログラマのためのコーディング技術
多くの機能を持つゲームのプログラムは、巨大で複雑になりがちです。また、コードの保守、機能追加の工程には複数のプログラマが関わります。ゲームのプログラムには「わかりやすいコード」「効率よく機能を追加できる設計」が求められます。これはゲームに限らず、職業プログラマとして必要なコーディング技術です。本書では、すぐに実践できるコーディング技術を解説していきます。まず、コードの抽象化を理解するため、複雑なコードを単純にして小さくするテクニックを紹介します。
実例で学ぶゲーム3D数学
近年のゲーム開発では3DCGや物理シミュレーションなどの技術が多用されているため、その基盤である数学についての理解なしに商業ベースのゲーム開発はありえません。本書では、ゲーム開発や3DCGで用いられる数学的な要素ーデカルト座標系、ベクトル、行列、線型代数、オイラー角、四元数、座標変換(平行移動、回転、拡大縮小)、幾何形状プリミティブの種類と構造体、プリミティブの可視性と衝突判定といった3D数学、さらにはグラフィックス用の3D数学ーについてサンプルを多用しながらわかりやすく解説します。
実例で学ぶゲームAIプログラミング
プレイヤーのスキルが向上し、より面白くてワクワクするようなゲームが好まれるという市場の変化に伴い、ゲームの開発現場ではAI(人工知能)技術を使ったインテリジェントエージェントやボットの開発が注目さけるようになりました。本書では、AI技術を使ったインテリジェントエージェントの構築を、実例(動くサンプル)を多用しながらステップバイステップで丁寧かつ分かりやすく解説します。
DirectX11 3Dプログラミング改訂版
DirectXの開発環境である「Visual Studio」(Visual C++)を使って、「Direct3D 11」の基本的な知識とプログラミング方法を、初歩的なレベルを中心に解説。
Effective Modern C++
ベストセラー「Effective C++」のC++11、C++14に対応した改訂後継版! 初版発刊から30年以上経ったいまでも、C++プログラマから絶大な支持を集め、ロングセラーを記録しているスコット・メイヤーズの名著『Effective C++』の改訂後継版。過去のメイヤーズの「Effective」シリーズと同様、優れたC++プログラムはどのように書けばよいのかを指南。効果的かつ堅牢、移植性の高い優れたC++プログラムを書くノウハウを42項目にまとめています。
アジャイルソフトウェア開発の奥義第2版
ソフトウェア開発の原則・デザインパターン・プラクティス完全統合。すべての悩めるプログラマのための処方箋。Software Development誌Jolt Award受賞作。
Computer Graphics Gems JP 2015
本書は、日本で活躍するコンピュータグラフィックエンジニアたちの執筆により完成しました。コンピュータグラフィックスの最新技術は、SIGGRAPHやCEDEC、各学会などで発表されていますが、最新技術なだけに説明や参考文献が広範に渡っています。これらをわかりやすくまとめ、実践的なサンプルコード付きで、技術を紹介しています。レンダリング、アニメーション、イメージマニュピュレーション、コンピュテーショナルフォトグラフィの4つのセクションに分かれており、どの分野のCG/CV開発者にも役立つ内容となっています。
「R言語徹底解説」を読み終えて(まだ一回目)
この記事は、技術書献本大感謝 Advent Calendar 2016( 18日目の記事です。 2016年も残すところあとわずかとなりましたが、今年のはじめに、翻訳者の皆様のご厚意によりいただきました「R言語徹底解説(原著: Advanced R)」について、(まだたった1回ですが)読み終えた印象をまとめさせていただきます。 発売開始直後の Twitter の TL を観ていた限りでは、多くの人が…
高速なキューを作る話(後編)
前編の続きです。前編ではChan.Unagiには以下の欠点があることを解説しました。 読み出しを行うスレッドに対する非同期例外の扱いが面倒 データがすぐにGCされない 後編では、Chan.Unagiの欠点を克服したキューを作るやり方について解説します。 不要になったデータをGCできるようにする
オブジェクト指向初心者が、Swiftでアプリを開発するまで
Swiftアドベントカレンダー( 昨日のTaji-taji( 本記事には、技術要素はあまりありません。ポエムです。ゼロではないけど...。 はじめに おおぐちさとる(Twitter:ochicchi( Facebook:ohguchi.satoru(
No.1スクール講師陣による世界一受けたいiPhoneアプリ開発の授業改訂版
他にはないサンプルアプリを使って学習!アプリ開発専門スクールのノウハウ満載!
3年目Webアプリエンジニアが、きのこ本を読んだ個人的な所感
3年目Webアプリエンジニアが、きのこ本を読んだ個人的な所感 はじめに 都内在住、社会人歴・プログラマ歴3年目です。 主にWebアプリケーションを作成しております。 3年目になって色々と技術本も読んできたのですが、アウトプットが大事だと再認識したためアウトプットの意味も込めて投稿します。
プログラマが知るべき97のこと
人々のさまざまな思いを技術で形にするプログラマ。本書は世界中で活躍するプログラマによる97本のエッセイを収録した書籍。プログラミングにおいてもっとも重要な事柄は何か、バージョン管理やテスティング、設計原則とコーディングテクニック、また腕を磨くための勉強法などについて、経験豊かなプログラマが自らの体験を踏まえて解説。プログラマを勇気づけ、新たな気づきをもたらす一冊である。日本語版では、小飼弾、関将俊、舘野祐一、まつもとゆきひろ、宮川達彦、森田創、吉岡弘隆、和田卓人による10本の書き下ろし収録。
Pythonで覗く, こわくない量子力学1 : 無限井戸型ポテンシャル
対象 量子力学を授業で習った or 自習した人に適した内容かと思います. 理系の学部生あたりでしょうか. プログラミングが好きだと尚良し! 量子力学をまったく知らない人向けの内容ではありませんので悪しからず... あらまし 量子力学の授業というと, 「おっかない計算を散々やらされた上に概念も理解できずに終わってしまった」という方も多いと思います. 御多分に洩れず自分もそのひとりでした. 量子力学に…
階層性がある媒介モデル(マルチレベル媒介モデル)で間接効果をベイズ推定する
この記事は Stan Advent Calendar 2016( の17日目の記事です。目下勉強しながらの執筆のため,もし間違いやもっと効率的な方法があれば,ご指摘をいただければ幸いです。 はじめに 媒介分析については,こちらのサイト( なお本記事では、以下のように変数を略記することにします。 - X:説明変数
StanとRでベイズ統計モデリング
近年,確率分布を使った数理モデルをデータにあてはめることで現象の理解と予測を促す「統計モデリング」が注目されている。既存の手法と比べた時の利点は解釈のしやすさと予測のよさの両立である。解釈がしやすいので,モデルに含まれる値を推定した後で次のアクションにつなげやすい。このため現実のデータ解析に極めて有効な手法と評価されている。 背景には,コンピュータの計算速度の向上,大規模のデータが入手しやすくなったこと,モデリングの試行錯誤を極めて簡単にする確率的プログラミング言語の進歩がある。こうした言語の中から,本書ではフリーソフトであるStanを紹介する。Stanは優れたアルゴリズムを搭載し開発...
cpanとperldocの歩き方
この記事はPerl入学式 Advent Calendar 2016( どうも、こんにちはトーカナイザの守護霊( CPANとは Perlで実用的なアプリケーションを書く上で避けては通れないCPANの話をします。Rubyで言うrubygems、Pythonで言うpypi、Node.jsで言うnpmです。 例えば「なーんか適当なサイトの内容を取ってきたいなー」と思ったときにPerlだと標準でHTTPクラ…
ゲーム制作学科の学生が後輩にオススメする教本一覧
目的 私の独断と偏見で選んだ良書を書いておきます。 C++編 プログラミング言語C++(ビャーネ・ストラウストラップ)( "プログラミング言語C++") 授業でおなじみC++。
ビルド作業と向き合う:Makefile、ccache、Autotools、Yocto Projectについて
前書き 本記事は、Linux Advent Calendar 2016( 内容としては、Makefile/Autotools(C言語)によるビルドについてがメインとなります。 目次 1. 動作環境
Inside Linux software
コンパイルやリンク、ビルドはもちろんパッチやマニュアル、RPMまで、UNIX系OSを裏側から支える数々の仕組みを解説。Linuxを利用しているシステム管理者やLinuxについての知識を深めたい方はもちろん、オープンソースソフトウェアの開発/貢献を考えている方は必読の1冊。
Java並行処理の基本
はじめに Java8標準にストリーミングAPIが導入されて、煩雑になりがちな並行処理プログラミングがどんどんやりやすい環境になってきました。 自分自身もこの恩恵をすごく感じてます。そんな並行処理のコーディング手法がパワーアップする中で、残念ながら今回は最新技術とかじゃなくて、基本的なところをおさらいついでに書いてみたいと思います。知っている人はさらっと一読してください。Androidアプリ作ってい…
プログラミング勉強を加速させる7つの習慣
※ 本記事は自分が運営するブログに転載しています( 株式会社LITALICOでWebエンジニア(Rails)を担当しています、@YudaiTsukamotoです。 この記事は『LITALICO Advent Calendar 2016( はじめに 私は学生時代は情報工学の専攻でもなければ、趣味でプログラミングをやっていたわけでもなく、
let it crashが生んだ誤解
let it crashが生んだ誤解 ここ2年程のelixir人気に伴い, BEAM (つまりerlangとelixir) を使う人が増えました. しかし, let it crashという思想は誤解を残したまま世に広まったように感じています. 郷に入っては郷に従え. let it crashの思想をしっかり理解して実装していきたいものです. 前置き
環境構築から深層学習チュートリアル
昨今話題になってるディープラーニングですが、 「勉強してみたいけど、そもそも何ができるのかよくわかってない...」 そんな方に向けて、Macにおける環境構築からディープラーニング実行までの方法をご紹介します。 python環境構築 機械学習・ディープラーニングといえばpythonです。
ゼロから作るDeep Learning
実際にシステムを作りながらディープラーニングを学ぶ! ディープラーニングの本格的な入門書。外部のライブラリに頼らずに、Python 3によってゼロからディープラーニングを作ることで、ディープラーニングの原理を楽しく学びます。ディープラーニングやニューラルネットワークの基礎だけでなく、誤差逆伝播法や畳み込みニューラルネットワークなども実装レベルで理解できます。ハイパーパラメータの決め方や重みの初期値といった実践的なテクニック、Batch NormalizationやDropout、Adamといった最近のトレンド、自動運転や画像生成、強化学習などの応用例、さらには、なぜディープラーニングは優...
未経験からエンジニアとして働くようになるまでにやったこと、思ったこと
以前にロシアの天才ハッカーによる【新人エンジニアサバイバルガイド】( この記事の対象者 - ~半年未満のエンジニア(これから目指す人) 未経験からエンジニアを目指して今までやったこと、感じたことを以下にまとめる。 情報収集をする(モチベーション)
GitHub実践入門 〜Pull Requestによる開発の変革
良いコードを迅速に生み出す快適な共同開発。手を動かして身に付ける、実用的なワークフロー。
Docker for Windowsでチーム開発するためにやったこと
この記事はDocker2 Advent Calendar 2016( はじめに モチベーション 普段はアプリケーションエンジニアとして働いているtak-solderです。 来年から新しいアプリケーションの開発に着手するのですが、その開発環境にDocker(Docker for Windows)を使いたいなと思っていて、現在導入に向けて奮闘中です。
Docker
コンテナツールの標準としての地位が確立されたDockerの総合解説書! Dockerを活用するために求められる知識・技術を総合的に解説した書籍です。単純なコマンドのDockerの解説書はかなり出版されていますが、本書はセキュリティやモニタリングと行った運用面まで踏み込んだ内容で、現実に開発から運用までDockerを活用する上で役立ちます。
ゲーム作り(C++&DxLib)を通してオブジェクト指向プログラミングを学ぶ方法(環境構築~画面の中で物が動くまで)
同人ゲーム『東方Project』がきっかけでゲームを作り始め、その勢いでIT業界に来てしまった私がラクス Advent Calendar 2016( 昨日は @kiimisato( さんの『ベトナムオフショア開発( はじめに(本記事の方向性) 土曜日なので箸休め的な読み物になれば良いなと思いながら書きます。(と思っていたのですが、記事を書き上げてから読み直すと結構な長編になってました……) 本記事…
ロベールのC++入門講座
ロベールの部屋の「ロベールのC++教室」といえば、プログラマ界においては、数多刊行されているC++入門書がその足下にも及ばないほど内容が充実しているという評価で有名なコンテンツです。 本書は、サイトに掲載されている講座を書籍用にリニューアルしたもので、書籍化にあたり、大幅な加筆修正、図版の大増量、言い回しの改善、内容の見直しな ど再編集を施すことで情報の刷新をはかると共に、Windows、macOS、UNIX、Linuxに対応したC++入門書に仕上げました。 過去のどの本よりもわかりやすく、丁寧に、かつ本格的な活用までを網羅した本来の意味での「入門書」です。
AWSソリューションアーキテクト アソシエイト勉強メモ
はじめに AWSソリューションアーキテクト アソシエイトに合格しました。 せっかくなので、勉強メモを残します。誰かのお役に立てば。 AWSソリューションアーキテクト アソシエイトとは - AWS プラットフォームで稼働するアプリケーションとインフラストラクチャの設計、デプロイ、運用に必要なスキルと技術知識を有する IT プロフェッショナルであることを証明する認定試験の一つ。
メールプロトコルに関係するセキュリティ技術たち
この投稿はSFC-RG Advent Calendar 2016( はじめに 研究ネタに困り日本にインターネットを引いたIP原理主義者がゴロゴロいる研究室でCCNの研究をしようか某B3の学生は血迷っていた。そこで神のように舞い降りた新婚ホヤホヤの指導教官から「SMTP-STSっていうのあるよ!」の一声でメールサーバ間通信の研究をすることを決意した。ちなみにこのSMTP-STS、日本語文献がほとんど…
Milkcocoaとの出会いで電子工作がIoTと呼ばれるようになった話
こんにちは、蔵下です。コミュニティーにはたま〜に現れるキャラなのでご存じない方が大多数でしょう:sweatsmile: 今年の夏前にこういう本を出しました(早速宣伝ですみません)。ArduinoとESP8266というWi-FiモジュールでIoTをはじめようという内容です。後半ではMilkcocoaを紹介させていただきました。 一応リンクものっけておきますね(調子乗ってすみません)。 センサーでなん…
はじめての圏論
圏論は第二次世界大戦中にアメリカの数学者Samuel EilenbergとSaunders MacLaneによって構築されました。 当初は純粋数学の一理論でしたが、現在ではプログラミングやデータベース等、様々な分野に応用されるようになっています。 ここまで大きく広がった圏論ですが、そもそもどのような動機で生まれたのか、生まれる過程でどのような思考があったのでしょうか? この記事では、Eilenbe…
Jobs To Be Doneの使い方
こんにちは、@yuichielectricです。現在、サイボウズでkintoneのプロダクトマネージャをやっています。このエントリはProduct Manager Advent Calendar 2016( 私は3ヶ月前にプロダクトマネージャになったばかりで、プロダクトマネージャに必要なスキルや考え方について絶賛勉強中です。 その中で、Jobs To Be Doneという考え方が気になったので、本…
イノベーションへの解
『イノベーションのジレンマ』第2弾! 企業がイノベートし続けるための鍵がここにある! ※『イノベーションのジレンマ 増補改訂版』日本版の刊行20周年を記念して、カバーを新装しました。内容に変更はありません(2021年10月追記) 『イノベーションのジレンマ 増補改訂版』(弊社刊)では、 利益を最大化させる資源配分メカニズムが、 特定の状況下では最良企業を滅ぼすことを説明した。 それに対し、本書では、新事業を予測どおり 発展させる立場にあるマネージャーに指針を与える。 収益ある成長事業の構築とは、あまりにも膨大なテーマである。 そのためここでは、成長を生み出すために、 あらゆるマネ...
Slack × hubotで笑いをとる
この記事はNIFTY Advent Calendar 2016( 17日目の記事です。 昨日は@qracさんのリメイクUIコーディング( はじめに あれは入社一年目でまだ新人の頃です。とある先輩から言われました。 先輩「chatbot入れたんだけどさ〜、何か面白いこと言うようにしておいて」
Pythonでオイラーの公式を読み解く
はじめに 遅くなりましたがこの記事は、数学 Advent Calendar 2016( 12日目の記事です。 オイラーの公式とは math e^{i\theta} =\cos\theta +i\sin\theta
行列プログラマー
多種多様なサンプルを通して線形代数の一般的な概念を学ぶ! 線形代数プログラミングの解説書。数学的概念を実装するプログラムで実際に問題を解決しながら、その応用法を探求します。具体的には、図形変換、顔検出、画像圧縮、画像補正、ページランク、機械学習、暗号と秘密共有などの例を使い、ベクトルと行列、それらを動かすアルゴリズムについて学びます。対象は、プログラマーおよび具体計算を通じて線形代数を学びたい学生。厳密な証明が目的ではないので数学に詳しくなくてもかまいません。Python 3プログラムを用いることで図やグラフからベクトルと線形変換を視覚的にとらえることができるため読者はイメージをつかみや...
Perl入学式 を卒業したら、仕事が楽になった話
- これは Perl入学式 Advent Calendar 2016 - Qiita( の14日目の記事です 自己紹介 - sironekotoro と申します - かわいらしいハンドルネームですが中身はおっさんです - 2013年、スカラー変数・配列・ハッシュは分かるものの、リファレンスは分からない、という状態で入学し、卒業しました