今週のQiita技術書まとめ
2021年12月12日配信
新人エンジニアのためのブックリスト
はじめに 私はプログラミングと関係ない学生時代を送り、ITとは関係のない職に就き、 プログラミングに興味を持って独学で学んだ後にエンジニアに転職しました。 来月でエンジニア歴3年目になるまだまだ駆け出しです。 これまで学習に用いた中でも特に駆け出しエンジニアが読んでおくべき本をまとめました。
プログラマの数学 第2版
プログラミングに役立つ「数学的な考え方」を身につけよう。 2005年の刊行以来、数学書として異例の大ロングセラーを続けている前著の改訂版です。 プログラミングや数学に関心のある読者を対象に、プログラミング上達に役立つ「数学の考え方」をわかりやすく解説しています。数学的な知識を前提とせず、たくさんの図とパズルを通して、平易な文章で解き明かしています。 改訂にあたっては、文章を全面的に見直すと共に、現在の人工知能、ディープラーニングブームを踏まえて、付録「機械学習への第一歩」を加筆しています。この付録では、 ・機械学習とは ・予測問題と分類問題 ・パーセプトロン ・機械学習における「...
問題解決力を鍛える!アルゴリズムとデータ構造
◆2万部突破のベストセラー!みんな読んでる!◆ ◆「 ITエンジニア本大賞2021 特別賞」受賞◆ 競技プログラミング経験が豊富な著者が、「アルゴリズムを自分の道具としたい」という読者に向けて執筆。入門書を標榜しながら、AtCoderの例題、C++のコードが充実。入門書であり実践書でもある、生涯役立つテキストを目指した。 【推薦の言葉】 プログラムが「書ける」ことと、効率の良い結果を得ることには大分ギャップがある。本書は、どのようにすれば効率のよい結果が得られるか? すなわちどのようなアルゴリズムを採用すればよいか? という点に対して、幅広くかつ明快に解説している。 また本書は、アル...
プログラミングコンテスト攻略のためのアルゴリズムとデータ構造
プロコンで勝つための必須テクニック「アルゴリズム」と「データ構造」の基礎をマスター!
CPUの創りかた
コンピューターの中核であるCPUという名のブラックボックス。その動作の「超」基本原理から具体的な設計例までを解説。アキバで手に入る部品だけで実際の製作も可能。
プロセッサを支える技術
自身でプログラムを書きコンピュータシステムをより効率的に動かしたい、という人を対象にしたプロセッサの解説書。プロセッサに搭載されている高性能化技術および内部構造、働きを中心に解説し、どのようなプログラムを書けばプロセッサの実力を引き出せるかも説明を行った。なお、プロセッサの設計と言うと、AND、ORなどの論理回路を用いた論理回路レベルのハードウェア設計を連想されるかもしれないが、本書では論理回路よりもハイレベルのプログラマとのインタフェースとなる「マイクロアーキテクチャ」と「命令アーキテクチャ」に焦点を当てている。
ゼロからのOS自作入門
[OSを手づくりするワクワクを体験!] "知識ゼロ"からはじめて、本書オリジナルOS「MikanOS」を手づくりする本です。 パソコンの電源を入れOS本体を呼び出すところから様々なアプリを動かせるようになるまで、OSづくりを一通り体験します。読み進めるにつれ、いままでブラックボックスだと思っていたパソコンの中身「OS」の仕組みが分かってくることでしょう。 MikanOSはUEFI BIOSにより起動してIntel 64モードで動作、ページングを用いてメモリ管理を行い、USB3.0ドライバを搭載。ウィンドウシステム、プリエンプティブマルチタスク、ファイルシステムを持つOSです。...
達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ
SQLを扱うエンジニア必携のロングセラー、10年ぶりの改訂! ーーSQLの正しい書き方・考え方が学べる本 開発者のためのWebマガジン「CodeZine」の人気連載を大幅加筆・修正して2008年に刊行、好評を博した『達人に学ぶSQL徹底指南書』の改訂・第2版です。 第2版では、初版構成を生かしつつ、SQLの強力な機能ウインドウ関数を全面的に採用して多くのコードをリバイスしました。全体的な解説の見直しや最新化も行ない、CASE式、ウィンドウ関数、外部結合、HAVING句、EXISTS述語など、SQLを扱うエンジニアに必要な「正しい書き方・考え方」「ビッグデータ時代に対応したモダンな...
SQL 第2版 ゼロからはじめるデータベース操作
本書は、「データベースやSQLがはじめて」という初心者を対象に、プロのデータベース(DB)エンジニアである著者がSQLの基礎とコツをやさしく丁寧に教える入門書です。第2版では、解説・サンプルコードを最新DBのSQLに対応したほか、(PostgreSQLを例に)アプリケーションプログラムからSQLを実行する方法の解説章を新設。SQLの書き方からアプリケーションでの利用方法までフォローします。
マスタリングTCP/IP-入門編ー(第6版)
TCP/IP解説書の決定版! 時代の変化によるトピックを加え内容を刷新! 本書は、ベストセラーの『マスタリングTCP/IP 入門編』を時代の変化に即したトピックを加え、内容を刷新した第6版として発行するものです。豊富な脚注と図版・イラストを用いたわかりやすい解説により、TCP/IPの基本をしっかりと学ぶことができます。プロトコル、インターネット、ネットワークについての理解を深める最初の一歩として活用ください。
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版
日本中の現場で支持されたベストセラーが、最新環境にあわせて全面刷新+大増ページ! Webアプリケーションにはなぜ脆弱性が生まれるのか? 脆弱性を解消するにはどうプログラミングすればよいか? PHPサンプルへの攻撃を通して脆弱性が生まれる原理と具体的な対処方法が学べる! Webアプリ開発者の必読書、待望の改訂版! OWASP Top 10 - 2017対応 <主な改訂内容> ・HTML5の普及に対応してWeb APIやJavaScriptに関する解説を新設 ・OWASP Top 10 - 2017に対応して、XXEや安全でないデシリアライゼーションなどを解説 ・脆弱性診断に対する関...
暗号技術入門 第3版
2008年の刊行以来、セキュリティ関連部門で長期間トップをキープしている『新版暗号技術入門』の改訂版です。 「対称暗号」「公開鍵暗号」「デジタル署名」「PKI」「PGP」「SSL/TLS」など、暗号技術の基礎を、たくさんの図とやさしい文章で解説しています。 今回の《第3版》では、 これまでの基本的な暗号技術の解説に加えて、 大幅な加筆修正を行っています。 ・現代の暗号技術に関するアップデート ・SHA-3のコンペティションとSHA-3(Keccak)の構造 ・POODLEなどのSSL/TLSへの攻撃 ・認証付き暗号の紹介 ・ビットコインと暗号技術の関係 ・楕円曲線暗号の紹介 セキ...
図解即戦力 要件定義のセオリーと実践方法がこれ1冊でしっかりわかる教科書
システム開発における最初の関門である「要件定義」を、豊富なイラストや表、具体例を用いてわかりやすく解説しています。現場に立つうえでエンジニアが身につけておくべき知識が満載の一冊です。 1章 要件定義の基礎知識 01 要件定義とは 02 要件定義の位置づけ 〜いつ決めるのか〜 03 要件定義への取り組み姿勢 〜誰が決めるのか〜 04 要件定義作業フェーズの全体像 05 下調べ・段取りフェーズの概要 06 分析・定義フェーズの概要 07 合意と承認・維持フェーズの概要 2章 要件定義の下調べ・段取りフェーズ 08 下調べ・段取りフェーズの全体像 09 事業目標の共有 10 対象範囲の確認 ...
オブジェクト指向でなぜつくるのか 第3版 知っておきたいOOP、設計、アジャイル開発の基礎知識
『オブジェクト指向でなぜつくるのか』10年ぶり、待望の改訂第3版! 「これからの10年も通用する基本」を、より多くの読者に身につけてもらうために改訂しました。 現在のソフトウエア開発技術の主役である、オブジェクト指向の全体像とそこに含まれる各技術を平易な文章で核心をズバリと解説します。 生産性のかぎを握るプログラム開発の主要技術をわかりやすく教えるという位置づけは変わりません。 そのうえで「今ドキのOOP」として人気言語(Java、Python、Ruby、JavaScript)の最新動向を新たに盛り込んでいます。 もちろん、すべての文章を細かく見直して現況に沿うよう更新しています。 ...
Java言語で学ぶデザインパターン入門第3版
■『Java言語で学ぶデザインパターン入門 第3版』について 本書は、オブジェクト指向プログラミングにおいて古典的な23個のデザインパターンを、Java言語で書かれた短いサンプルプログラムとUMLを使い、オブジェクト指向プログラミングの初心者にもわかりやすく解説した技術書です。 2001年に初版が刊行されて以来、「最もわかりやすいデザインパターン解説書」「オブジェクト指向プログラミングとデザインパターンを学ぶ定番の一冊」と数多くの読者、技術者から支持されてきました。2004年には増補改訂版が刊行され、2020年には第31刷まで達するという人気のロングセラーとなっています。 しかし...
プログラムはなぜ動くのか 第3版 知っておきたいプログラミングの基礎知識
『プログラムはなぜ動くのか』14年ぶり、待望の改訂第3版! 「これからの10年も通用する基本」を、より多くの読者に身につけてもらうために改訂しました。 プログラムがコンピュータの中でどのように動作するのかを、誰にでもわかるように説明します。プログラムは、メモリーにロードされ、CPUによって解釈・実行されます。その仕組みを、多数の図を使って、順序だてて解説します。 第3版では、あらためて全文を見直して、登場する製品や開発ツールなどを新しいものに置き換え、プログラミングが初めてという人でも戸惑わないように、本文や注釈に大幅な加筆を加えています。第2版で好評だったハードウエアに関する説明や...
オブジェクト指向UIデザイン──使いやすいソフトウェアの原理
オブジェクト指向ユーザーインターフェース(OOUI)とは、オブジェクト(もの、名詞)を起点としてUIを設計すること。タスク(やること、動詞)を起点としたUIに比べて、画面数が減って作業効率が高まり、また開発効率や拡張性も向上する、いわば「銀の弾丸」的な効果を持つ。ブログや雑誌記事などで大きな反響を得たこの設計手法について、前半部では理論やプロセスを詳説。そして後半部の「ワークアウト(実践演習)」では18の課題に読者がチャレンジ。実際に考え、手を動かし、試行錯誤をすることにより、OOUIの設計手法を体得できる。
リーダブルコード
コードは理解しやすくなければならない。本書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介する。名前の付け方、コメントの書き方など表面上の改善について。コードを動かすための制御フロー、論理式、変数などループとロジックについて。またコードを再構成するための方法。さらにテストの書き方などについて、楽しいイラストと共に説明する。日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。
[増補改訂]良いコードを書く技術 ── 読みやすく保守しやすいプログラミング作法
読みやすく保守しやすい「良いコード」の書き方を解説した入門書です。 本書を読むと、良いコードを書くための習慣から、名前の付け方、コードの分割や集約を行う方法、抽象化の作法、計算量とアルゴリズム、ユニットテストやメタプログラミング、そして簡単なフレームワークの自作まで、プログラマーとして長く役立つ基本が身に付きます。 2011年に刊行し、大好評を博した初版を、10年ぶりに改訂しました。 改訂版では、コード例をモダン化したほか、第7章「データ構造」を新たに書き下ろしました。 10年ぶりの改訂であるにも関わらず、本書の根幹は驚くほど変わっていません。 それはすなわち、基礎や基本といった本質的...
レガシーコード改善ガイド
システム保守の現場でありがちな、構造が複雑で理解できないようなコードに対する分析手法・対処方法について解説。コードを理解し、テストできるようにし、リファクタリングを可能にし、機能を追加できるテクニックを紹介。
チーム開発実践入門
継続的改善を実現するモダンな開発フロー。効率的なプロジェクトを支えるノウハウ。チーム開発に必要なツールの導入方法や使い方にフォーカスを当てながら、チーム開発の全体像を俯瞰的に説明。なぜそのツールを使うのか、なぜそのような使い方をするのかについて、現場でよく起きる問題を例示しながら解説した。
やればできる!資格試験勉強!2つの抑えるべきこと
はじめに 初めてQiitaに記事を投稿します。:clipboard: 簡単に自己紹介しますと、 大学を中退し、1年間営業(PCを人差し指だけで操作レベル)だったのですが、 その後転職し、大阪のSESでエンジニアをしています。
徹底攻略Java SE 11 Gold問題集[1Z0-816]対応
Java資格対策書の定番である徹底攻略シリーズ。Bronze、Silverの対策問題集で人気の著者が、新しくJava Gold SE 11試験[試験番号:1Z0-816]に対応した問題集を書き下ろしました。問題を解き進めるうちに必要な知識が体系的に学べる問題構成となっているほか、一問一問に教科書を超える丁寧な解説付きで、Goldに合格するためのスキルが確実に身に付きます。巻末には試験を体験できる模擬試験1回分付き。「丁寧な解説」+「実戦的な模擬問題」で、本書一冊だけで一発合格が目指せます。
最強脳
教育大国スウェーデンではもうやっている! コロナ禍で増えた運動不足、心に負荷を抱える子供たち……低下した成績や集中力、記憶力や発想力を劇的に回復させるには? 親子で読む「脳力強化バイブル」上陸。
エンジニアの知的生産術
仕事をするうえで、どのように学び、整理し、アウトプットするのか、エンジニアの知的生産の方法を解説した書籍です。知的生産の方法を解説した書籍のほとんどは執筆者の方法の紹介にとどまっており、各自の環境に合うようにどのようにカスタマイズするかまでは書かれていません。本書では、数々の知的生産術の共通点や特徴を知ることで、どこが重要な部分なのかを解説します。これにより、みなさんが自分の環境に合わせて手法を変化させ、取り入れられるようになることを目的とします。筆者が日ごろ行っている具体的な手法や試行錯誤も紹介します。
学びを結果に変えるアウトプット大全
「激動の10年で最も支えになった本」1位!! 読者が選ぶビジネス書グランプリ2025<特別賞>「10年を彩るビジネス書」 に選ばれました! シリーズ100万部突破! 説明・アイデア・雑談・交渉など…… すべての能力が最大化する。 日本一情報を発信する精神科医が贈る、 脳科学に裏付けられた、伝え方、書き方、動き方 「メルマガ、毎日発行13年」「Facebook、毎日更新8年」 「YouTube、毎日更新5年」「毎日3時間以上の執筆11年」 「年2〜3冊の出版、10年連続」「新作セミナー、毎月2回以上9年連続」 ……日本一アウトプットしている医師である、ベストセラー作家・樺沢紫苑...
自社のサービスにベイズ統計モデリングを取り入れたいので勉強したこと。
はじめに こんにちは、あるいは、こんばんわ。LITALICOアドベントカレンダー2( LITALICOで私がやりたいことはたくさんあるのですが、今日は、その中でも、短期的に取り組みたいことについて書かせていただきます。私は、LITALICOのサービスと統計モデリングは親和性が高いと考えて、必要に応じて取り入れたいと考えております。正直、そこまでの知識を持っていないです、ですが、様々な方が書籍やWe…
StanとRでベイズ統計モデリング
近年,確率分布を使った数理モデルをデータにあてはめることで現象の理解と予測を促す「統計モデリング」が注目されている。既存の手法と比べた時の利点は解釈のしやすさと予測のよさの両立である。解釈がしやすいので,モデルに含まれる値を推定した後で次のアクションにつなげやすい。このため現実のデータ解析に極めて有効な手法と評価されている。 背景には,コンピュータの計算速度の向上,大規模のデータが入手しやすくなったこと,モデリングの試行錯誤を極めて簡単にする確率的プログラミング言語の進歩がある。こうした言語の中から,本書ではフリーソフトであるStanを紹介する。Stanは優れたアルゴリズムを搭載し開発...
その問題、数理モデルが解決します
対話形式で、数理モデルの基礎が身につく入門書。 数理モデルとは、現実の世界で起こるさまざまな現象を数式で表したものです。数式にすることで、その現象の性質を理解したり、その現象に何か変化があるときに、どのように変化するか予測したりできます。 アンケート調査で正直に回答してもらうにはどうすればいいか、商品レビューの信頼度をどう評価するか、ある条件の変化が売り上げの変化の原因かどうかなど、身近なテーマを題材に数理モデルを解説。 統計や確率の記憶がおぼろげでも大丈夫。数学記号の読み方かた丁寧に紹介していきます。 とっつきやすいのに本格派な一冊。 第1章 隠された事実を知る方法 第2章 卒業ま...
データ解析のための統計モデリング入門
現象を数理モデルで表現・説明するのに慣れていない人のために、章ごとに異なる例題を解決していく過程を通して、統計モデルの基本となる考えかたを紹介する。前半では、応用範囲のひろい統計モデルのひとつである一般化線形モデルの基礎を、後半では、実際のデータ解析に使えるように、階層ベイズモデル化する方法を、RとWinBUGSの具体例を用いて説明する。
ふりかえりをいきいきさせる取り組み
この記事は、「いきいき Advent Calendar 2021」の16日目の記事です。 いきいきというムーブメント 建築家Christopher Alexanderの著書である「Nature of Order」(以後NOOと略記)より、「生き生きとした」「生きた」といった表現がパタン・ランゲージの中で出てきます。 「NOO」「パタン・ランゲージ」の私の理解が薄氷のように浅いのですが、NOOに影響…
アジャイルなチームをつくる ふりかえりガイドブック 始め方・ふりかえりの型・手法・マインドセット
「ふりかえり」の具体的なやりかたがわかる本 アジャイルのチーム開発に欠かせない「ふりかえり」とは、 メンバー全員でこれまでのやりかたを定期的に見直し、 チームをよりよい方向へ少しずつ変化させていく活動です。 しかし、ふりかえりをはじめてもなかなかうまくいかず、 改善に結びつかないというチームも多くあります。 本書はそんなチームのために、 ●「ふりかえりをなぜ行うのか」という目的 ●「どんなメリットがあるのか」という効果 ●「どのように行えばよいのか」という流れや手法、マインドセット などについて、架空の開発現場を舞台にしたマンガとともに、 一冊でわかりやすく解説します。 ...
てきとうにテトリスを作ったら長棒の幅が少し太かった。ついカッとなってやった、反省しています
記事を読むまでもなく全てが予想出来るタイトル 完全に出オチなのに、タイトルでネタばれしております。 お察しの通り、クソアプリです。 クソアプリ Advent Calendar 2021( の記事(3-19)です。 早速、証拠の品をご覧いただこうっ!
コピペで簡単実行!キテレツおもしろ自然言語処理 PythonとColaboratoryで身につく基礎の基礎
Python自然言語処理を、遊びながら学ぼう! 「面白さ」と「学び」がひとつに詰まった入門書! 本書は、プログラミング言語Pythonによる自然言語処理を、 「面白さ」「ユニークさ」を追求したサンプルプログラムで学べる入門書です。 ●「オレ ニク タベル ウマイ!」原始人語の翻訳機を作ろう ●メロスはいつまで激怒していた? 原作から心情を分析! ●あの文豪が新作を書いたら? 架空の小説を執筆しよう ●コンピューターは「群馬」と「栃木」の違いを見分けられるのか? ●「ナミ」と「フネ」から「サザエ」は生まれる? 子どもの命名AIを作ろう ●AIが三国志を読んだら、武将たちのライバル関...
量子アニーリング利用のための定式化方法紹介
はじめに 量子コンピュータのうち、量子アニーリング方式は、ゲート方式とは異なり、整数の組み合わせ最適化問題に特化したマシンであり、商用マシンとしては、D-Waveが有名です。 この記事では、D-waveのような、量子アニーリング方式のマシン(以下、量子アニーリングマシン)を用いた、組み合わせ最適化問題の求解の流れ、特に、問題をどのようにイジングモデルやQUBOとして定式化するかについて、重点的に説…
量子アニーリングの基礎
カナダのベンチャー企業,D-Wave Systems によって「量子コンピュータ」が開発・発売され,反響を呼んでいる。 量子コンピュータは,1994年に因数分解を高速で行う量子アルゴリズムが発見されたことを契機に,研究が一気に加速した。当初提案されたのは「量子ゲート方式」と呼ばれるタイプであった。この方式の強みは,量子力学系のシミュレーションなどのいくつかの計算が,通常のコンピュータより大幅に効率よく実行できることにある。しかし,大規模な回路を構成して安定的に演算を実行する技術の開発は途上である。 一方,これとはまったく異なるアプローチとして「量子アニーリング」が着目され,D-Wav...
TypeScriptを3ヶ月勉強してみて、最も参考になった情報源5選
こんにちは、ここ最近はアドカレの記事を読んで良記事にひたすらLGTMをつけているmu-suke( この記事はタイムリープTypeScript 〜TypeScript始めたてのあの頃に知っておきたかったこと〜 Advent Calendar 2021( 、20日目の記事です。 これはなに? TypeScriptをに入門して3ヶ月ほど経ったのでその間に参考になった書籍やサイトを紹介します。 これが今後…
プログラミングTypeScript
プログラミング言語TypeScriptの基礎から実践までを網羅的に解説! プログラミング言語TypeScriptの解説書。TypeScriptの型に関する基礎的な内容からその応用、エラー処理の手法、非同期プログラミング、各種フレームワークの利用法、既存のJavaScriptプロジェクトのTypeScript移行の方法まで、言語全般を総合的に解説します。本書全体を通じて、TypeScriptの洗練された型システムを最大限活用するために、コードをどのように記述すべきか、なぜそうすべきかを学べます。
Delphiプログラマの紹介
Delphiプログラマの紹介を初める前に、Pascal プログラマの紹介と、Pascalの話題をいくつかさせてください。 Turbo Pascal Pascalとの出会いは、TurboPascalだった。 坂本 哲 さんはじめ、TurboPascal使いは身の回りにいっぱいいたような気がする。 自分がTurboPascalで一行もプログラムを書いたことがなかったのは、一重にお金がなかったことによる…
コードコンプリート(上)第2版
米ソフトウェア界の第一人者Steve McConnellが執筆した名著「Code Complete」(1993年発行)の第2版。Jolt賞を受賞した初版の内容を受け継ぎ、さらに新しいトピックを盛り込んで、プログラミングのベストプラクティスを集大成した待望の書です。上巻は「ソフトウェアコンストラクション」から始まり、変数名、データ型、ループ、条件判定、ルーチン、クラスなど、高品質なプログラムを作成するための基本的なテクニックを解説します。初心者はもちろん、経験豊富なプログラマにも開眼のテクニックを実践的に紹介。著者Steve McConnellのプログラミングに対する見識と経験のすべてが詰...
アプリ・Webサービス開発者に必要なUIデザインの知識 - UIデザインの教科書をまとめた -
はじめに この記事は、and factory.inc Advent Calendar 2021( 17日目 の記事です。 昨日は、@yasukotelinさんの「LiveDataをFlowにリプレースしてみて得た知見(StateFlow、SharedFlow、Channel)( なにを書くのか UIデザインの教科書[新版] マルチデバイス時代のインターフェース設計(
UIデザインの教科書[新版] マルチデバイス時代のインターフェース設計
使いやすい理由とは何か 本書はUIにおけるデザインの定義から、 ハードおよびソフトによる制約、人間の心理による影響、 そして具体的にデザインを形にする方法までを、 図や画像を使いながら、わかりやすく体系的に解説していきます。 Webサイトの閲覧者やアプリのユーザーは、 いつのまにか迷ったり、わからなくなったり、 操作がしっくりこなかったりすることがあります。 本書を読むと「わかりやすさ」と「使いやすさ」の要点がわかるので、 ユーザーを迷わせない、最適なUIを見つけることができます。 デザイナーはもちろん、エンジニア、ディレクター、発注者など、 UI制作に関わる、あら...
openBDを使用して本の情報を表示させてみる
はじめに openBDという使い勝手がよさそうな書籍検索のApiがあったので使って書籍情報を取得できるところを目標に使ってみる 2021/12/18 初版 OpenBDについて 上記のサイトで提供している
ぐりとぐらのたまご
絵本が教えてくれる、日々うっかりこぼれ落ちてしまいそうな大切なこと オレンジ色のふたごの野ねずみ、ぐりとぐら。お料理すること、食べることが、大好きなふたり。中川李枝子さんと山脇百合子さんの姉妹が子どもたちを喜ばせようと作った絵本は、見るたび、読むたび、人々をしあわせへと誘います。 カステラなどのおいしいもの、家の中を飾るすてきなもの、外の世界に広がる草花たち。「ぐりとぐら」は、まるでにわとりのように、しあわせのたまごがつぎつぎと生まれてくる絵本です。本書は、絵本が教えてくれる、日々うっかりこぼれ落ちてしまいそうな大切なことを集めました。東京・立川のPLAY!MUSEUMで開催中の「ぐ...
[DirectX12] ハローワールドからFBXモデルを表示させるまで
はじめに この記事はAkatsuki Advent Calendar( ノリでDirectX12に入門したらかなり大変だったので、やったことを全て書くことにしました 目的 本記事の目的は、3DグラフィックスやDirectX12の詳細な説明というより、
Direct3D12 ゲームグラフィックス実践ガイド
Direct3D 12を用いてグラフィックスプログラミングの理論と実装を丁寧に解説し、入門書レベルを卒業し脱初心者を目指している読者に有益な情報を提供する書籍です。 ゲームエンジンを利用していても、それを支えるグラフィックスAPI関連の知識を学ぶことはより理想に近い開発を行う上で重要な意味を持ちます。本書ではプログラム上の処理に留まらず理論の復習や導出を丁寧に解説することで、技術やシステムの進化に依らない真の実力を身に付けることができるようになります。
DirectX 12の魔導書 3Dレンダリングの基礎からMMDモデルを踊らせるまで
複雑なライブラリも、 一歩ずつ進めれば怖くない。 「DirectX 9〜11に比べて超高機能/高性能だと聞いたけれど、 複雑すぎて何をしているかわからない」 「ゲームエンジンのメンテナンスをするために、 最新のDirectXの基礎を知りたい」 「フルスクラッチでMMDのモデルを 表示/アニメーションさせてみたい」 そんなC++プログラマーに向けた、 DirectX 12の「導きの書」がついに登場! ◆3Dグラフィックスの基礎 ◆グラフィックスパイプラインとステージ ◆PMDデータの読み込みと描画 ◆VMDデータの読み込みとアニメーション再生 ◆IK ◆ポストエフ...
HLSL シェーダーの魔導書 シェーディングの基礎からレイトレーシングまで
光を自在に操るための 基本の技術を手に入れろ。 DirectXだけでなくUnityでも使われているシェーダー言語HLSL。 本書は、グラフィックスプログラマやテクニカルアーティストをめざす人が、 ハンズオン形式の豊富なサンプルを使って、3Dグラフィックを演出するシェーディング技術を 学ぶための教科書です。 本書では、サンプルプログラムとして、DirectX 12のコーディングをほとんど意識せず、 HLSLプログラミングに集中できるようなミニエンジンが提供されます。 シェーダーの基礎であるレンダリングパイプラインから、最新技術であるレイトレーシングまで、 本書を読めば、あなたも...
MTTRの改善をする中で分かった「この3ステップで業務フローを改善できる!」
この記事はモチベーションクラウドシリーズアドベントカレンダー2021( はじめまして、リンクアンドモチベーションCREチームの粟田です。 本記事では、弊社で行なってきたMTTRの改善をどのようにしてきたか、を題材に、生産性向上を目的とした業務フロー改善のポイントを紹介します。 何について書いてるの? エンジニア組織における、多種多様な業務を行う中で、改善をしようとするも、以下のような課題にぶつかっ…
LeanとDevOpsの科学[Accelerate]
本書は、数年にわたる科学的で厳密な調査研究を基に、開発組織を改善するために必要な仕組みを解説しています。LeanやDevOpsといった開発・運用スタイルが、組織文化、リーダーシップ/マネジメントとどう関連しているかを明らかにし、パフォーマンス向上を促すケイパビリティ(組織の様々な機能・能力)を示しました。本書の内容は、パフォーマンス向上の原則を最も信頼のおける形で示しており、ITに関わる方々に限らず、多くの人々にとって意義深い一冊となっています。
Elixirで作ったLINEボットをHacobuneでイゴかす
2021/12/23(木)の回です。 はじめに - Elixir( - 「Banditを利用してLINEボット開発を楽しむ(Elixir)( ^1: 「動かしてみます」の意。おそらく西日本の方言、たぶん。NervesJP(
プログラミング Elixir(第2版)
プログラミング言語Elixirを学ぶ Elixir(エリクサー)は、並行処理を得意とするプログラミング言語ErlangのVM(エンジン部分)を基盤とし、Erlangよりもなじみやすい文法を採用したプログラミング言語です。 本書は、世界的なRubyプログラマであるDave Thomas氏が書いた、プログラミング言語Elixirの本格的解説書“Programming Elixir 1.6” (Pragmatic Bookshelf, 2018) の日本語訳です。 通常のプログラミングから、並行処理、さらなる応用へと順を追って進む構成になっています。本書を読むことで、Elixirらしいプログラ...
書籍『データ解析におけるプライバシー保護』の紹介
この記事はEAGLYS Advent Calendar 2021( 書評するコーナーをやってみます. 今回は第2回です. 何をするのか 格子暗号に秘密計算・機械学習って最近の話題を色々紹介しているけど,なんか良い本ないの?という要望に応える企画です.
セキュリティエンジニアのための機械学習
セキュリティエンジニアが機械学習の基本を楽しく学べる入門書! セキュリティエンジニアを読者対象とした機械学習の入門書。フィッシングサイト、マルウェア検出、侵入検知システムなどのセキュリティ全般の課題に対して、機械学習を適用することでどのようなことが可能になるのか? 本書ではサイバーセキュリティ対策でとても重要なこれらの知識を実装レベルで身につけます。また、どうすれば機械学習による検出を回避できるか、という点についても同時に解説します。サンプルコードはPython 3対応。Google Colaboratory上で実際に手を動かしながら学ぶことができます。
データ解析におけるプライバシー保護
このわかりやすさ、もう手放せない!・「仮名化/匿名化」「差分プライバシー」「秘密計算」の3つの主要技術を扱う。・統計学・データ工学・暗号理論の観点から丁寧に解説。・データ解析実務者も必読。 このわかりやすさ、もう手放せない! ・「仮名化/匿名化」「差分プライバシー」「秘密計算」の3つの主要技術を扱う。 ・統計学・データ工学・暗号理論の観点から丁寧に解説。 ・データ解析実務者も必読。 【機械学習プロフェッショナルシリーズ】 本シリーズでは、発展著しい機械学習技術の数学的な基礎理論、実用的なアルゴリズム、それらの活用法を、全30巻にわたって刊行する。 ビッグデータ時代を牽引している若手...
「「検索の鉄人」への道」への道
「検索の鉄人」という企画があった。 そこで、「「検索の鉄人」への道」というページを作った。 当時のインタネット雑誌で取り上げていただき、アクセス数はうなぎのぼりだった。 残念ながら現存していない。ごめんなさい。 簡単な紹介は
新卒2年目から見た達人プログラマーの振る舞い
この記事はQiita Advent Calendar 2021( 17 日目の記事です! Qiita株式会社 CX 向上グループの花田(@ohakutsu)が担当します! はじめに 先日、社内のリードエンジニアの方から「達人プログラマー」という本を紹介してもらいました。 この本を読んで、実際に社内で活躍している 達人 たちが普段から行っていることがそのまま書かれている部分が多いなと感じました。
達人プログラマー(第2版)
より良いプログラマになるための実践的アプローチ 本書は、Andrew Hunt and David Thomas、 The Pragmatic Programmer 20th Anniversary Edition (Addison Wesley、 2019)の日本語版です。 本書は、より効率的、そしてより生産的なプログラマーになりたいと願うソフトウェア開発者に向けて、アジャイルソフトウェア開発手法の先駆者として知られる二人により執筆されました。経験を積み、生産性を高め、ソフトウェア開発の全体をより良く理解するための、実践的なアプローチが解説されています。 先見性と普遍性に富んだ本書は、...
食べログアプリでの技術的負債との向き合い方
こんにちは。食べログでAndroidアプリ開発をしている @sada( と申します。 この記事は 食べログ Advent Calendar 2021 22日目の記事です。 はじめに 先月、TECH HILLS 1( というイベントで登壇させていただきました。 その時の資料はこちらです。
レガシーソフトウェア改善ガイド
単なる延命策ではない、進化させるという発想! コードがレガシーになるのはなぜでしょう。その要因を特定し、 コードベースの品質を上げるためには、なにをすればいいのでしょう。 本書はこれらの古くて新しい質問に真摯に答えてくれるでしょう。 単純な(でも難解な)クラスやメソッドレベルのリファクタリングから、 モジュールあるいはコンポーネント全体を視野に入れた、広い範囲のリファクタリング。 また、最終手段としてのリライトに関するノウハウ(機能低下の予防方法や回避方法、 各種データのスムーズな移行など)を示します。 また、単に手を動かすだけではなく、いつもソフトウェアをフレッシュにし...
SML#の2021年トピックを紹介
はじめに SMLコンパイラ( MLの定義に従った実装の1つです。 このSMLは日本生まれ日本育ちのプログラミング言語です。 1993年に沖電気工業の研究所で開発が始まり、北陸先端科学技術大学を経て東北大学にて研究開発が続いています。 2012年に晴れてバージョン1.0.0がリリースされ、現在の最新バージョンは4.0.0となっています。
SML#で始める実践MLプログラミング
本書は,最新鋭のStandard ML系言語「SML#」を用いて,実践的なMLプログラミング手法を解説する教科書である。 型を考えて式を組み合わせていくMLプログラミングの基本はもとより,コマンドの作成や分割コンパイルなどのシステム開発を支える機能の使い方から,C言語との連携, データベースプログラミング,マルチコアCPU上の並列処理などの高度なシステム開発技術に至るまで,具体的な例を用いて分かりやすく解説する。 本書で挙げられているプログラムの例やシステム開発事例,さらにそれらを通じて示されるプログラミング技法には,東北大学電気通信研究所で研究教育に従事し,MLを熟知した著者による...
プログラミング言語Standard ML入門 改訂版
MLを初めて学ぶ者を対象に,Standard ML言語によるプログラミングの基礎から基本ライブラリ (Standard ML Basis Library) の利用法までをわかりやすく解説した定番テキストの改定版である。 初版の刊行から20年が経ち,Standard MLを取り巻く環境も大きく変化したことに伴い,改訂版では,著者らが開発を行ってきた新しいStandard ML系言語「SML#」が使用するコンパイラとして採用されており,SML#が提供するシステムプログラミング機能の解説が新たに加えられた。MLプログラミングの基礎を,最先端のSML#コンパイラを用いて習得できる点が特徴である...
React Nativeで使えるデータベースを比較【2021年12月版】(featuring Couchbase Lite)
はじめに React Nativeアプリケーションのデータ管理手段について検討してみます。 下記の記事を大いに参考にさせていただきつつ、自分の関心に応じて気づいた範囲でアップデートしています(題名については、オマージュ?ということで)。下記記事では、「Couchbase: 情報が少なかったので除外しました...」とのことだったので、Couchbaseについての記述を追加しています。 また、上記記事…
エンジニアリングマネージャーとしての開発力向上の取り組みついて
READYFORのシステム基盤部でエンジニアリングマネージャーをしている熊谷です。 この記事は READYFORアドベントカレンダー2021( これなに? EMの取り組みを紹介 今日は、これまでシステム基盤部のエンジニアリングマネージャーとして、READYFORのシステム開発を推進する上で、検討した事や取り組みについて紹介させていただけたらと思います。正直、まだ取り組み始めたばかりの項目もあり、詰…
ユニコーン企業のひみつ
Spotifyの事例から、成功するITスタートアップ企業の働き方を徹底解説! 成功しているITスタートアップ企業(ユニコーン)が大企業とどう異なった働き方をし、ソフトウェア開発とリリースをしているのかについて『アジャイルサムライ』の著者Jonathan Rasmussonが執筆。チームにミッションを通じて目的を与える方法、チームに権限を与えて信頼する方法、大規模な取り組みを連携させる方法を学び、それらを実現するために必要な文化を解説。
SREの探求
Google以外でSREを実践する各社の取り組みや課題をまとめた事例集! Microsoft、Dropbox、Google、SoundCloud、Spotify、Amazon、Facebook、Fastly、LinkedIn、Netflix、LyftなどでSREを実践しているエンジニア、ディレクタ、SREが、SREの取り組みや課題について、「SREの実装」、「SRE最前線」、「SREのベストプラクティスとテクノロジ」、「SREの人間的側面」というテーマで詳述した書籍です。
エンジニアリング組織論への招待
技術的負債・経営との不和。プロジェクトの理不尽。上がらない生産性。そのすべての正体は不確実性の扱い方の失敗にあった。「コミュニケーションにおける不確実性を減らすには?」「技術的負債を解消する方法とは?」「経営陣とエンジニア間の認識のずれを解消するには?」エンジニアリングにおける、課題を解決する思考の整理方法やメンタリング手法を解説!
量子回路学習 QCL: Quantum Circuit Learning をさらっと実装してみた
この記事について 本記事では、量子コンピュータで機械学習を行うために用いられる量子回路学習(Quantum Circuit Learning)というアルゴリズムをさらっと解説をしていこうと思います。多くの書籍や記事では、数学的背景等も一緒に述べているものが多く、QCLをとりあえず使いたい。といったユーザに対しては少し情報が多めになっており、わかりづらいということもあるかと思います。本記事はそういっ…
量子コンピューティング
これから必ずくる量子コンピューティングの時代に備えるためのバイブル 本書は、ITのプログラマやエンジニアを主な読者対象として、その方々にとって特に重要な量子コンピューティングの基礎をわかりやすく解説した書籍です。 量子コンピュータについては、多くの人がクラウド越しで実物に触れられるようになった今でも、物理の専門書から学ぶかチュートリアルやハンズオンのウェブ記事を読んで勉強するかしかありません。これから量子の力をフル活用できる人や、量子情報の考え方を利用してコンピュータサイエンスをよくしていく人材が必要になるというのに、入門書と専門書の間には大きな隔たりがあります。 本書はこれから必ずくる...
3年の運用で編み出した CircleCI 超設計大全
個人でも業務でもすごくお世話になっている CircleCI について説明したいと思います。 設定する際の Tips など個人的な観点を元に紹介していきます! CircleCI の構造をざっくりと理解する CircleCI で設定する .circleci/config.yml ファイルの中身の構造について理解していきます。 config.yml は大きく分けて、 version, orbs, exe…
CircleCI実践入門──CI/CDがもたらす開発速度と品質の両立
CI/CD(継続的インテグレーション、継続的デプロイ)を導入すると、ビルド/テスト/デプロイなどアプリケーションのリリースに至るまでの多くの作業を自動化できます。開発が効率化するだけでなく、テストを確実に行うことなどにより品質の向上にもつながります。本書は、多くのアプリケーション開発で活用されているCI/CDサービス「CircleCI」を使って、CI/CDを実現できるようになるための書籍です。基本から始め、実際の開発に応用できるよう設定例やTipsをふんだんに掲載しています。
ネットワークスペシャリスト試験(ネスペ)の受験記録
本記事では、令和3年度春期ネットワークスペシャリスト試験の受験記録についてまとめます。 仕事やプライベートが多忙でなかなか時間取れず、気づけば受験から半年以上経過してからの執筆となってしまいました。。😅 ネットワークスペシャリスト試験とは Wikipedia( ネットワークスペシャリスト試験(ネットワークスペシャリストしけん、Network Specialist Examination、略号NW)…
ネットワークスペシャリスト「専門知識+午後問題」の重点対策(2020)
試験に出る用語、技術を丁寧に解説しています。知っておくべき午前2試験のポイントも分かります。過去に出題された午後問題を十分に分析して、第3部の解説を10章として構成しました。たくさんの図表を使った解説によって、頭の中を整理することができます。詳細な解説付きの演習問題を分野ごとに掲載しました。令和元年秋の本試験も丁寧に解説。
【深層学習】図で理解するAttention機構
この記事は、Supershipグループ Advent Calendar 2021( Supership データアナリティクス部の ps010 です。普段は広告・マーケティング領域で、分析業務や広告セグメントの作成を担当しています。 記事の目的 この記事では、Attention機構(以下、Attention)の仕組みの理解を目的とします。 Attentionは深層学習の幅広い分野で用いられ、発展の著…
ゼロから作るDeep Learning 2
大ベストセラーの続編。さらに作る、さらに深くDeep Learningに迫る! コンピュータの専門書としては異例の大ヒットを記録した『ゼロから作るDeep Learning』の続編。第二弾の本書では、自然言語処理や時系列データ処理に焦点を当て、ディープラーニングを使ってさまざまな問題に挑みます。word2vecやRNN(リカレントニューラルネットワーク)、LSTMやGRU、seq2seqやAttention……ディープラーニングを支えるこれら最先端の技術を実装レベルでマスターできます。前作同様、平坦な言葉で分かりやすくをモットーに、高度に見える技術の裏側をじっくり説明し、実際に作ることで...
UXリサーチゴリゴリやってコーポレートサイトコンテンツを作成してみた話②
この記事の内容 こんにちは、株式会社mofmofでエンジニアとして働いている、@tanutanuです。普段はエンジニアとして働いているのですが、今回UXリサーチに試行錯誤しながら取り組みつつ、コーポレートサイトのコンテンツを作成したので、その記録をまとめてみたいと思います。 前後編の2篇で、こちらは後半の記事です。 ▼前編はこちら 前回は主に「どのような思想で調査を設計したのか」に関する話で、
サービスの稼働を止めずに安心してデータベースのカラム移行を行ったはなし
こんにちは。バックエンドの開発をメインにしつつ、フロントエンド開発やチーム横断レビュー、EMなどもやっています miukoba です。 サービスの稼働を止めずに安心してデータベースのカラム移行を行った時の手順や観点を記載します。 この記事はリンクアンドモチベーション Advent Calendar 2021の15日目の記事です。 昨日の記事はあつきの 良いエンジニアとは?PMが今年エンジニアに言わ…
モノリスからマイクロサービスへ
マイクロサービスアーキテクチャへの実践的な移行ガイド! モノリシックなシステムのもつれを解きほぐして、マイクロサービスアーキテクチャへと移行するにはどうしたらよいか、またビジネスを続けながら各サービスをメンテナンスするにはどうするかなど、マイクロサービスアーキテクチャへの移行について解説する書籍です。マイクロサービスを選択した場合のトレードオフや変更コストなどマイクロサービスの特性を再確認し、モノリスの分割と変更の方法、機能を移行しながら振る舞いを変える方法などを学びます。
因果推論を使って施策改善を検討してみた
本記事はNTTドコモR&Dアドベントカレンダー15日目の記事です. こんにちは, NTTドコモ3年目社員の相場(@dcmaiba)です. 業務ではレコメンド関連の技術開発を行っており,主にPythonやBigqueryを触ってます. 本日は大きく2つ 1. 最近流行りのデータドリブンなマーケティングについて
効果検証入門〜正しい比較のための因果推論/計量経済学の基礎
ビジネスで利用されるデータの多くは、その施策の意思決定を行う人物や組織の目的にそった活動の延長上で作られています。具体的には、DM送付などの広告施策であれば、担当者はユーザの反応率を上げるために、反応しやすいであろうユーザに対してのみDMを発送します。ここで発生したデータでDMの効果を計る場合、単純にDMを受け取っているか否かで結果を比較することは、DMの効果以外にも意図的にリストされたユーザの興味や関心を含んでしまうことになります。 データが生まれるプロセスに人の意思が関わる場合、単純な集計では判断ミスとなる可能性があります。わずかな計算の狂いでも後々のビジネスにおいて大きな影響を及...