
本書はアルゴリズムとプログラムロジックの基本を通じて、プログラミング(=コードを書く)の実際を学んでいただけます。アルゴリズムは、与えられたさまざまな課題をプログラムで効率良く解く、「解法」のことです。 効果的なコードを書くための第一歩を踏み出すことができます。
プログラミング学習に最適
初心者向けから上級者向けまで、プログラミングを習得するための珠玉の名著のご紹介です。
本書はアルゴリズムとプログラムロジックの基本を通じて、プログラミング(=コードを書く)の実際を学んでいただけます。アルゴリズムは、与えられたさまざまな課題をプログラムで効率良く解く、「解法」のことです。 効果的なコードを書くための第一歩を踏み出すことができます。
本書のテーマは多岐にわたります。クッキー、リクエスト元のIPアドレス、Ajax、データベーストランザクション、排他的ロック、ツリー構造のデータなど、さまざまなWebアプリケーションに必須の機能を実装しながら解説します。また、この機能拡張編では、HTMLフォームのさまざまなバリエーションを紹介しています。特にRailsで業務システムを開発する場合、要求仕様に応じて自由にHTMLフォームを設計・実装する力が求められます。本書では、さまざまなフォーム設計の事例を扱っていますので、一種のレシピ集として活用できます。
本書は,プログラミング言語が持つ各種概念が「なぜ」存在するのかを解説する書籍です。
世の中にはたくさんのプログラミング言語があります。そしてプログラミングに関する概念も、関数、型、スコープ、クラス、継承など、さまざまなものがあります。多くの言語で共通して使われる概念もあれば、一部の言語でしか使われない概念もあります。これらの概念は、なぜ生まれたのでしょうか。本書のテーマは、その「なぜ」を理解することです。
そのために本書では、言語設計者の視点に立ち、複数の言語を比較し、そして言語がどう変化してきたのかを解説します。いろいろな概念が「なぜ」生まれたのかを理解することで、なぜ使うべきか、いつ使うべきか、どう使うべきかを判断できるようになるでしょう。そして今後生まれてくる新しい概念もよりいっそう理解しやすくなることでしょう。
これからJavaScriptを学びたい人が、ECMAScript 2015以降をベースにして一からJavaScriptを学べる書籍です。この書籍は、JavaScriptの仕様に対して真剣に向き合って書かれています。 入門書であるからといって、極端に省略して不正確な内容を紹介することは避けています。 そのため、JavaScriptの熟練者であっても、この書籍を読むことで発見があるはずです。
「サイトを印象付ける基本の動き」+「世界観を作る動き」を集めた現場で使える実践サンプル集!
「サイトの印象を決定付ける動き」をこの1冊が丸ごとカバーします!
本書は、好評の「動くWebデザイン アイディア帳」の姉妹本です。「動くWebデザイン アイディア帳」がWebデザインで使われる基本的な「動き」を解説していたのに対して、本書では実際にWebサイトの印象を決定付けることができる動きについて解説しています。 前書と同様に、専用サイトから簡単にコードをコピー&ペーストして利用することも可能です!
基本的な26のアルゴリズム+7つのデータ構造をすべてイラストで解説
アルゴリズムはどんな言語でプログラムを書くにしても不可欠ですが、現場で教わることはめったになく、かといって自分で学ぶには難しいものです。
本書は、アルゴリズムを独学する人のために作りました。はじめて学ぶときにはイメージしやすく、
復習するときには思い出しやすくなるよう、基本的な26のアルゴリズム+7つのデータ構造を
すべてイラストにしています。
よいプログラムを書くために知っておかなきゃいけないアルゴリズムの世界を、楽しく学びましょう。
スクリプト言語Rubyの持つ力強さ・エレガントさ・シンプルさを、Gofをはじめ従来の代表的なデザインパターンと結合させ、少ないコードでより高度な効果的ソフトウェアを記述する方法を解説します。
MetaprogrammingやRails-based Convention Over Configuration patternsなどといったRubyコミュニティから出てきた新しい革新的なパターンも紹介し、Rubyのプログラミング経験をより深く価値のあるものにしてくれる1冊です。
Rubyを使うエンジニア必読の書!
Martin Fowlerの名著『リファクタリング』のRuby対応全面改訂版が、ついに復刊!
Ruby初級者~中級者におすすめ。リファクタリングを網羅的にまとめた名著でありながら、絶版になり古書価も高騰していました。
読者の方々の熱い声に応えての復刊です。
本書は、今までプログラミングというものをしたことがない、という方でもRubyの使いこなし方の一端がつかめるように、ていねいな解説を行っています。プログラムに必要な変数・定数・メソッド・クラス・制御構造といった文法的な説明から、主なクラスの使い方と簡単な応用まで、できるだけわかりやすく説明することを心がけました。チュートリアル、基礎、クラス、実践とテーマを切り分けて、平易に解説。Rubyの基礎から応用までがわかる一冊。
現在広く普及している、x86系CPU搭載のコンピュータ。
本書はOSの機能を実装しながら、その姿を明らかにしていきます。
第1部ではまず、ハードウェア、ソフトウェアの基本概念や、CPUとOSの関係など、コンピュータの核となる理論を丁寧に解説します。
第2部では、x86系コンピュータに対象を絞り、レジスタの構成や、機械語命令の使い方などを詳細に検討します。
第3部は、いよいよOSの実装パートです。第1部、第2部で得た知識を生かして、マルチタスクなどのOSの機能を楽しみながら実装することができるでしょう。
なおイントロダクションでは、初学者向けの基礎知識を解説。
「2進数って何? 」という方でも、x86系コンピュータとOSへの理解を深めることを可能にする一冊です。
デジタル時代で活躍するための「教養」をこの1冊で身につけよう!
プリンストン大学の一般人向け「コンピューターサイエンス」の講義が1冊に。デジタル社会をよりよく生きるための知識をやさしくお伝えします。
著者は、伝説的な計算機科学者であるブライアン・カーニハン先生。プログラミング言語の歴史的名著『プログラミング言語C』(通称: K&R本)を書いた人でもあります。カーニハン先生がプリンストン大学で一般人向けに行っている講義に基づき、理系ではない人にとっても分かりやすく平易に書いてあります。
コンピューターとネットの仕組みをさっくり学び、デジタル社会をもっともっと楽しみましょう。
もっと知りたい、Rubyのしくみ!
本書では、VMベースのインタプリタ型言語処理系であるRubyがコードをどのように解釈し、どうやって実行するか、そのしくみを解説。Rubyについての基礎知識がなくても、図版と短いコードの実験を多用した構成により、そのしくみについて理解することができます。
Rubyインタプリタを題材にプログラミング言語処理系の仕組みを解説。
Rubyの開発者であるまつもとゆきひろ氏の序文とYARVの開発者である笹田耕一氏の付録が加筆されています。
一線級のプログラマたちが座右の一冊としている「Effective」シリーズ。
そのシリーズの最新刊となる本書は言語にRubyをとりあげ、小手先の対処法ではない骨太のRubyプログラミング技法を解説します。
ごくカンタンに実装できるがゆえに、無駄なオブジェクトを配置して見通しの悪いプログラムになっていたり、アクセスしにくいコレクションを作っていたり、機能的ではない例外処理を施していたり、知らず知らずのうちに実行速度を犠牲にしていたりなどなど、自己流では解決しない問題に正しい道筋を示してくれます。
とくに、誰か他のプログラマーに利用されるコードを、どう書くことで堅牢さや使い易さを確保するかという観点が多いことが、本書の特徴といえるでしょう。
Rubyの良さを殺しているプログラミングを撲滅し、より美しくRubyを輝かせるためのノウハウを、各種サンプルを交えてわかりやすく提示する、中級~上級者向けの一冊です。
本書はRubyで書いたソースコードをJavaScriptに変換するトランスパイラ(ソースコードコンパイラ)であるOpalのチュートリアルガイド「Pragmatic Opal」の改題・最新改訂版です。Opalの入門、応用、実践と実用的なアプリケーションを作るための解説に加えてOpalの活用事例も掲載しています。
本書は、等身大のプログラマの一人がキャリア開発の重要性を説き、そのための心構えなどを示したもの。「プログラマはビジネス視点を持って意識的なキャリア開発をすべき」という視点から、その実践方法を著者独特の生き生きとした共感できる語り口で伝える。
コンピュータの算法に関わるアルゴリズムの定石、レトリックを可能な限り収録した定番の書。
手元に置いておきたい実用的な本が30年弱の時を経て新装改訂版として登場です。
定評をいただいている基本的な内容はそのままに、時代にそぐわなくなっていた部分のみ改訂。
これからも末長くご愛顧いただけるようにまとめ直しました。
本書では、1つの企業向け顧客管理システムを作る過程で、RailsによるWebアプリケーション開発の基礎知識とさまざまなノウハウを習得していきます。各章末には演習問題が設けられているので、理解度を確かめながら確実に読み進められます。
著者が試行錯誤を繰り返した上でのベストプラクティスを提供し、読者は、実際に業務システムを構築しながらRailsのさまざまな機能、方法、作法、メソッド、テクニックを学ぶことができます。
仮想環境における開発環境の構築/Railsアプリケーションの基盤ユーザー認証とDB処理/堅牢なシステム設計/テストフレームワーク―業務システムの構築を通じて、Railsアプリケーション開発をマスターできます。
CSSグリッドによるWebデザインを、作成制作を通して解説。
・縦横に均等に分割したグリッドによる「雑誌風レイアウト」
・複数のグリッドを組み合わせて作る「フライヤー風レイアウト」
・画像とテキストの重ね合わせによる「画像メインのレイアウト」
本書を通して、CSSグリッドがWebデザインにもたらす表現力と自由さを体験してください。
本書『初めてのSQL』は、SQL言語に初めて触れるプログラマを対象に、SQL言語の基本を解説する書籍です。その特徴は、実践に必要なポイントを過不足なく、コンパクトにまとめたこと。「データベースの歴史」から始まり「データベースの作成と設定」「クエリ」「フィルタリング」「複数テーブルからのデータの取得」「集合」「データの作成、変換、操作」「グループ化と集約化」「サブクエリ」「結合」「条件ロジック」「トランザクション」「インデックスと制約」などについて、丁寧に解説を行います。
せっかく学ぶなら、やっぱり楽しい方がいい
「Gitって難しそう」「勉強しようとは思っているけど、なかなか一歩が踏み出せない」そんな方のために、楽しくGitを理解できる本を作りました。
・個性的なキャラクターたちが登場するマンガ・感覚的にわかる図解・丁寧な実践パート
上記3つの特長で、Gitを無理なく学べます。
仕事に必要な基本の使い方はもちろん、サンプルデータが使えるので、プルリクエストの練習・GitHub PagesでのWebページ公開もできます!
開発現場のリアルな声を反映。セクションごとに対応コマンドを掲載!さらなるレベルアップも可能に。付録として「コマンド操作に挑戦!」も追加されています。
もはやコンピュータなしには生活が立ち行かなくなるレベルにまで到達しつつある現代社会。その圧倒的なパワーを問題解決に援用するためには小手先の知識だけでは追いつきません。かといって行き当たりばったりで、全方位に知識を求めるには、その世界は広大にすぎますし、効率が悪すぎます。
本書はコンピュータサイエンスが扱う「基礎」「効率」「戦略」「データ」「アルゴリズム」「データベース」「コンピュータ」「プログラミング」という8つのジャンルにしぼり、そのエッセンスと背景となる考え方を紹介します。
どのジャンルであれ、トップクラスのエンジニアを目指すにはコンピュータサイエンスが不可欠ですが、「どこから手を付ければいいのかわからない」「砂を噛むような分厚い理論書は敬遠したい」というステップアップしたいエンジニアやその予備軍、あるいは現役だけれどももう少しライトに全体像を俯瞰したい学生にも最適な1冊です。
SQLの強力な機能ウインドウ関数を全面的に採用して多くのコードをリバイスしました。全体的な解説の見直しや最新化も行ない、CASE式、ウィンドウ関数、外部結合、HAVING句、EXISTS述語など、SQLを扱うエンジニアに必要な「正しい書き方・考え方」「ビッグデータ時代に対応したモダなSQL機能を駆使した書き方」を徹底解説しています。
リレーショナルデータベースの歴史なども網羅。SQLの原理となっている仕組みや、この言語を作った人々が何を考えて現在のような形にしたのか、というバックグラウンドも掘り起こして伝えます。
本書は、他言語でのプログラミング経験を持つ人を対象に、Rubyの特徴、Rubyならではの方法や慣習について解説します。これはRubyの資料を読んで実践的な学習を進めていくために必要な前提知識です。本書はRubyの基礎的な部分とメタクラスやブロック構文のような独自の概念、それらにまつわる文化を説明し、Ruby特有の考え方を知ってもらうことを目的としています。
本書は,RubyやRailsに関する基本的なことから開発や運用に活用するツール,Railsを拡張する方法など現場で役立つ知識を中心に,最新のRails 4.1.1/Ruby 2.0.0,2.1.2に対応した書籍です。初心者から中上級者までをカバーした実践的なWebアプリケーション開発手法を解説します。
本書はRubyを使ったメタプログラミングについて解説する書籍です。
メタプログラミングとは、「プログラミングコードを記述するコード」を記述することを意味します。
メタプログラミングの背景にある基本的な考えを紹介しながら、動的ディスパッチ、ゴーストメソッド、フラットスコープといったさまざまな「魔術」を紹介します。
Rubyを使ったメタプログラミングの魔術をマスターし、自由自在にプログラミングをしたい開発者必携の一冊です。
本書は、プログラミング言語Rubyの言語仕様や開発の現場で役立つRubyの知識を説明した本です。豊富なサンプルコードで文法を学び、例題でプログラミングの流れを体験できます。第1版は、初心者の目線にたった丁寧な解説が好評で多くのRuby初学者に愛読され、いまやRuby入門書の定番とも言える存在です。Ruby 3.0のリリースに伴い、全章にわたって記述内容を見直し、変更点や新機能に合わせて加筆・修正を行いました。
本書は、より効率的、そしてより生産的なプログラマーになりたいと願うソフトウェア開発者に向けて、アジャイルソフトウェア開発手法の先駆者として知られる二人により執筆されました。経験を積み、生産性を高め、ソフトウェア開発の全体をより良く理解するための、実践的なアプローチが解説されています。
先見性と普遍性に富んだ本書は、入門者には手引きとなり、ベテランでも読み直すたびに得るものがある、座右の一冊です。
CSSグリッドをベースにすると、Webページ制作がシンプルになります。
本書では、サンプルを作りながらステップ・バイ・ステップで学習することにより、モバイルファーストで本格的なレスポンシブに対応した実践的なWeb制作に関する知識をひと通り得ることができるようになっています。
これからHTML5&CSS3を使ったWebサイトの構築を学びたい人に最適の一冊です。
プログラミングに役立つ「数学的な考え方」を身につけよう。
プログラミングや数学に関心のある読者を対象に、プログラミング上達に役立つ「数学の考え方」をわかりやすく解説しています。数学的な知識を前提とせず、たくさんの図とパズルを通して、平易な文章で解き明かしています。
2進数から人工知能に至るまで、ていねいに説明しています。
プログラミングや数学に関心のある読者はいうまでもなく、プログラミング初心者や数学の苦手な人にとっても最良の一冊です。
プログラムのことを何も知らなくても勉強が始められるように考えられた、とてもやさしい入門書です。難しいと言われるC言語のポインタについても無理なくハードルを越えられるように配慮しました。本書を読むのにプログラム言語の知識は一切不要です。もっとも親しみやすいC言語の入門書。
親子で楽しくプログラミングに触れる絵本 『ルビィは大きな想像力を持つ女の子。ルビィの好きな言葉は“どうして?”。ルビィの世界では考えたものがなんでも実現します。ある日、ルビィはパパからの手紙を見つけます―「宝石を5つ、かくしたから、さがしてごらん。ぜんぶ見つけられるかな?」。でもどう探せばいいのか書かれていません。まずはヒントを探しはじめると・・・パパの机の下に、秘密の数字が書かれた紙きれを発見! ここからルビィのぼうけんが始まります』
プログラミングを、子どもたちが身近に感じ、楽しく学んでいける本を――との思いから生まれたのが「ルビィのぼうけん」です。
続編として「コンピューターの国のルビィ」「インターネットたんけん隊」「AIロボット、学校へいく」もあります。
「美しいコードを見ると感動する。優れたコードは見た瞬間に何をしているかが伝わってくる。そういうコードは使うのが楽しいし、自分のコードもそうあるべきだと思わせてくれる。本書の目的は、君のコードを良くすることだ」
名前の付け方、コメントの書き方など表面上の改善について。コードを動かすための制御フロー、論理式、変数などループとロジックについてなど、楽しいイラストと共に説明しています。
RailsでどのようにWebアプリを作るのかという基礎から、現場のニーズに合わせてどのように機能を追加していくのか、テストはどのように行うのか、複数人で開発していく場合の方法といった実践的なトピックまで、幅広くカバーしています。
Railsアプリの基本から実践的なノウハウまで、纏まった一冊です。
可愛いイラストでとてもわかりやすい解説を行っているため、試験範囲が広く、かつ深い理解度が必要とされる応用情報技術者試験にとって、「試験範囲の内容をひととおり理解する」ことができる書籍です。
初めてプログラミングを学ぶ入門者を対象に、プログラミングの基礎をていねいに解説した書籍。
教材には、誰でもどんな環境でも気軽に使えるRubyを使い、実際に簡単なコードを書きながら理解を深めます。プログラミングとは何かを無理なく理解してもらうために、要点をひとつひとつていねいに解説。簡単な概念から始めて、かなり高度なプログラミングの知識まで身に付けることができます。
プログラミングを学ぶなら、本書は最初の1冊に最適な入門書です。
可愛いイラストでとてもわかりやすい解説を行っているため、ITパスポート試験にとって、まず大切となる「解説書を一冊読み、用語や計算に慣れる」ことができる書籍です。
大成功ベンチャーの創業者にして天才プログラマの著者が語る、これからの時代を見通す考え方と創造のセンス
本書の著者Paul Grahamは、LISPプログラミングの達人であると同時に、後のYahoo!Storeとなるソフトウェアを作り、ベンチャー創業者として大きな成功を収めたことで知られる。本書でGrahamは、コンピュータが大きな役割を担う時代において、いかに発想を広げ、美しいものを設計し作り上げるかを、さまざまな切り口から大胆に考察している。インターネット上で大きな話題となったエッセイを書籍化。
スモウルビー解説書の決定版! ブロック(ビジュアル)プログラミング言語「Scatch」とテキストプログラミング言語「Ruby」の両方の特徴を持つ「Smalruby」を使ったプログラミング入門書です。Scratch同様に簡単にプログラミングを始められ、さらにテキスト言語への移行もスムーズに行えるよう、ブロックとテキストの両方でプログラムを書く方法を丁寧に解説。新学習指導要領に対応した、実際の授業でも使われている授業指導案も付属。
この本では小学校でするプログラミングの内容を、音楽、社会、算数、理科といった各教科に分けてできるようになっているよ。これからプログラミングをする人のために、基本的なプログラミングをかんたんにできるようになっていて、それだけではなくて、ちょっとむずかしいけど発展的でおもしろいプログラミングも学べるようになっているよ。つまり、プログラミングがはじめての人にも経験している人にもバッチリな内容になっているよ。
それに今は世界中のいろいろなところでプログラミングが大事なものになっていて、いろいろな職業で必要になっているんだ。だから、小学校だけでなく、中学校、高校、大学、そして社会に出てもずっとプログラミングを学ぶことが多いはずだよ。だから、この本では社会に出てもずっと使えるプログラミング言語「ルビー(Ruby)」を学べるようにしたんだ。
OSを手づくりするワクワクを体験! "知識ゼロ"からはじめて、本書オリジナルOS「MikanOS」を手づくりする本です。
パソコンの電源を入れOS本体を呼び出すところから様々なアプリを動かせるようになるまで、OSづくりを一通り体験します。読み進めるにつれ、いままでブラックボックスだと思っていたパソコンの中身「OS」の仕組みが分かってくることでしょう。
本書は『30日でできる! OS自作入門』の流れを汲み「小さく作ってすぐ動かす」ステップバイステップ方式をとっていますので、無理なくマスター可能です! エンジニアなら誰もが一度は夢見る「OSづくり」を本書で学ぼう。
「サイトに動きをつける時、同じ内容を何回も検索をしてソースコードを探している」
「サイトで見つけたソースコードをそのままコピペしてみたけど、動かない」
「JavaScriptの本を購入してみたが、実際のサイトにどう組みこめばいいか具体的なイメージがわかない」
「動きの原理を最低限理解して、とにかく早く実務にいかしたい」
本書はWebサイトを動かすことが苦手な右脳系ウェブデザイナーが、サイトを動かす第1歩を踏み出すための「動きの逆引き事典」です。
近年のウェブサイトで使用されている基本的な動きの原理や仕組みをサンプルコードと共に紹介します。