1万人以上のWeb担当者に支持された定番書が大幅改訂。Googleアナリティクスの実例に即した知識や考え方、活用ノウハウを目的別で引ける、デスクに常備の1冊です。
■特集1
[開発環境の整備、効果的な議論、評価制度]実践リモートワーク ── オフィスに集まれない課題の解消方法規模に適した設計、負荷に応じた増減、障害への自動対応
COVID-19 が世界中で流行し、われわれの活動は変化を余儀なくされました。そこで注目を集めたのがリモートワークです。しかし、いざ行ってみると、今までオフィスでの開発では現れなかった問題が発生します。本特集では、以前から準備を進め2020 年6 月よりリモートワークを基本とする勤務体制に移行したGMO ペパボのエンジニアにより、リモートワークをどう導入していったか、そして実践して浮かび上がった問題点とその対策など、現場のノウハウ満載で解説します。
■特集2
Pythonデータ可視化入門 ── COVID-19/家計調査/財政データで実践!
本特集ではPythonによるデータの前処理と可視化、さらにその情報のWebアプリケーション化を解説します。政府などが公開するオープンデータを自分の手元で、自分の見たい形に可視化する実践を通して、データ処理の手法と見せ方の工夫を自分のものにしましょう。
■特集3
[ツールで簡単!]はじめての脆弱性調査 ── Rails、nginx、サブドメイン、DB、OpenSSL
本特集では、脆弱性の発見に役立つツールの使い方を紹介します。静的解析ツールやネットワークスキャナなどを用いることで、Ruby on Railsやnginxなどのミドルウェア、サーバやネットワーク機器の脆弱性を簡単に発見できます。脆弱性の修正コストは、開発後よりも開発中のほうが低いため、昨今、開発プロセスにセキュリティ対策を組み込むDevSecOpsの重要性が叫ばれています。脆弱性の見つけ方を知っておくことは、開発者にとっても大切です。
■特集1
[開発環境の整備、効果的な議論、評価制度]実践リモートワーク / 大和田 純、高石 諒、時田 理、須田 健太郎、柳生 祐介
■特集2
Pythonデータ可視化入門 / 小川 英幸
■特集3
[ツールで簡単!]はじめての脆弱性調査 / 小竹 泰一
■一般記事
速習Googleスプレッドシート / ミネムラコーヒー
■連載
Rubyのウラガワ【第8回】 Rubyの文字列エンコーディング / 笹田 耕一
現場のPython【第2回】データ分析プログラムの改善方法 / 石上 晋
Goに入りては【第20回】Blank Identifierの使い方あれこれ / 牧 大輔
見なおそう! モダンJavaの流儀【第2回】Optionalを使っていますか / 櫻庭 祐一
しっかり、きちんとPHP【第2回】PuPHPeteerでE2Eテスト / 大津 和槻
即効AWSテクニック【第2回】ECS+Fargateで実現するコンテナによる安全・確実なデプロイ / 河本 剛志
現場で使える! モダンフロントエンド技術【第2回】フロントエンドのセキュリティ / 松本 宏太
■コラム
教えて! 最新技術【第1回】JavaScript/Node.jsのこれまでとこれから / 関 満徳
マネジメントの現場【第3回】チャレンジングな目標を設定するには / 是澤 太志
縁の下のUIデザイン【第20回】ボタンのデザインと使い分け / 池田 拓司
はまちちゃんとわかばちゃんのREADER'S FORUM【第69回】 / はまちや2、竹原
仕事をするうえで、どのように学び、整理し、アウトプットするのか、エンジニアの知的生産の方法を解説した書籍です。知的生産の方法を解説した書籍のほとんどは執筆者の方法の紹介にとどまっており、各自の環境に合うようにどのようにカスタマイズするかまでは書かれていません。本書では、数々の知的生産術の共通点や特徴を知ることで、どこが重要な部分なのかを解説します。これにより、みなさんが自分の環境に合わせて手法を変化させ、取り入れられるようになることを目的とします。筆者が日ごろ行っている具体的な手法や試行錯誤も紹介します。
Unicode、JIS規格の今、文字コードの原則、文字化けのメカニズム、コード変換の基礎。仕様&実装の骨格から見えてくる。長く役立つ「ベーシック」。進化する技術基盤。
プログラミングの考え方が見えてくる!言語の壁を越えて活かせるスタイル。Haskellプロダクトの開発者が見極めたシンプルで、使える基本。言語/開発環境最新スペック対応。
最先端の正規表現技術にスポットを当てた、初学者向け技術解説書。プログラマにとって欠かせないツールである正規表現。便利な正規表現の実力を発揮させるには、動作原理から理解するのが近道です。著者名追加:高田 謙
本書では、パターンマッチの基本から、基本三演算および理論/数学的背景、VM型/DFA型という二大最新エンジン実装まで徹底解説。また、処理系を踏まえた効率的な書き方や落とし穴を避ける技法もしっかり押さえます。狙いどおりのパターンを綴り、高速に文字列を取得したい、そんなエンジニアの方々へ、長く役立つ技術知識を満載してお届けします。
MVCモデル/コアライブラリ/プラグイン/メール送信/セキュリティ/ユニットテスト/コンソール/パフォーマンス/ソーシャル連携/デプロイ/CakePHP1系からの移行/チートシート。コードを簡潔に保ち、開発効率を極限まで高める。コミュニティ主要メンバーが最前線のノウハウを凝縮。
心地良い操作感をつくるプラットフォームの総力戦。オープンな巨大ソフトウェアを探究し、トップレベルの製品開発を追体験。
社会基盤として欠かせない存在となった「クラウド」の設計と運用の基本を取り上げた技術解説書。
本書は、大規模クラウドの一つGoogleのデータセンターを題材に、何万ものコンピュータを協調動作させるインフラ/ソフトウェア設計と運用に加え、コスト、消費電力、大規模な故障対策など、クラウドを支える基盤技術を丁寧に解き明かします。一つ一つのデータの積み重ねで解を導く理論的背景と、現実に立ちはだかる数々の問題。極めてプラクティカルに押し進められる、新興の情報系インフラ構築/運用の今が見えてくる1冊です。
jQueyのその先へ。
サンプルをつくりながら学ぶ制作現場の実装スキル
JavaScriptの基本書は数多く存在しますが、実際の開発で、どうコードに落とし込めばいいかとなると、とたんに「壁」を感じる人がたくさんいます。本書は、そんな人たちが、これだけ学べば「壁」が越えられるという5つ(?オブジェクト指向の考え方、?UI・インタラクティブ表現としてのイベント、?Canvas APIによるグラフィック表現、?Ajaxを利用したAPI連携とデータ検索、?シングルページアプリケーションの実装)を集中的に学んでいく学習書です。それぞれ読んで理解しできる「基本」と、具体的なコードを書きながら学べる「実践」とのセットで学べるので、現場で使えるスキルが効率よく学べます。
Chapter01 オブジェクト指向
Chapter02 UI・インタラクティブ表現
Chapter03 グラフィック表現
Chapter04 AJAX・API連携・データ検索
Chapter05 シングルページアプリケーション
SQLはデータベース操作に特化した言語で、柔軟にデータを操作できます。ただし、独自のロジックに基づいているため、それを正しく理解しなければ、読みづらくパフォーマンスの出ないSQLになってしまいます。本書では、「条件分岐」「集約」「ループ」「結合」「更新」など日常的に実行する処理の良い書き方・悪い書き方を解説します。その際、データベース内部でどう処理が実行されているかを示す実行計画を読み解くことで、「なぜそう書くと効率が良いのか」「可読性や保守性が向上するのか」を実感を持って理解することを目指します。
初等教育から始まる情報系の教育改革が進む現代において,教養となる基礎的な部分を,専門家が一般読者向けにやさしく解説.社会生活において不可欠なインターネットの重要性を学ぶことができる.
社会の中のコンピュータネットワーク/データ転送を行うアプリケーション/データを運ぶネットワークの構成/データ転送を制御するコンピュータ/データを安全に運ぶ/ネットワークコンピューティング
Webデザイナー養成講座シリーズは、プロのデザイナーとして仕事をする上で、必須のスキルを身につけるためのシリーズです。本書では、jQueryをこれから学習する初級者のために、jQueryについての基本的な知識、記述方法、具体的な利用例などを解説します。「JavaScriptを知らなくてもコードの書き換えだけでjQueryが使える」「実際のWebサイト制作に使えるコードを多数紹介」「かんたんな文法解説も行うので、コードの内容もよくわかる」「仕事で使える知識であることを意識した内容とする」といった点が特徴です。
初等教育から始まる情報系の教育改革が進む現代において,教養となる基礎的な部分を,専門家が一般読者向けにやさしく解説.多岐にわたる人工知能の分野を概観し,これからの発展を正しく観察できる教養を学ぶことができる.
人工の知能へ向けて/探索する/推論する/知識を扱う/学習する/生物を模倣する/言葉を扱う
初等教育から始まる情報系の教育改革が進む現代において,教養となる基礎的な部分を,専門家が一般読者向けにやさしく解説.本書では,独自のブロックプログラミング環境を使って情報科学的なものの考え方を学ぶことができる.
<目次>
第1章 はじめに
コンピュータは本当に便利か
コンピュータの可能性
この本で目指すこと
作成するゲームの特徴
情報科学的なものの考え方
この本で使用する環境
第2章 問題解決の全体像
データの収集
データの整理
問題の分割
計算
抽象化
並列化
第3章 データを集めて分析する
必要なデータの特定
データの整理,分析
モデル化
第4章 データをコンピュータ上で表現する
電卓におけるデータの表現
コンピュータで扱われる多様なデータ
データの操作方法を調べる
配送シミュレーションのためのデータ
世界:変化するデータ
この本で使用する環境
世界の定義
世界の初期状態の定義
ゲームの開始
ゲーム画面の大きさの変更
コラム 将来,プログラミングはもっと簡単になりますか
第5章 データをゲーム画面に反映する
ゲーム画面の成り立ち
画像
風景
描画関数の作成
背景画像の表示
動く画像と動かない画像
キャラクタ画像の表示
第6章 時間経過によってデータを変化させる
イベント
tickイベント処理関数
画像の移動とは
動く速さの調整
コラム 将来,日常会話がプログラミングの代わりにはなりませんか
第7章 キー操作によってデータを変化させる
足りない情報
世界の定義の拡張
他の変数・関数の変更
キーイベント処理関数
関数の再構成
第8章 複雑な条件によって場合分けをする
座標更新時の制限
道路の形のモデル化
on_tick関数の変更
道路上かを判定する関数
より細かい条件の設定
第9章 扱うデータを増やす
データ追加の概要
牛乳とヨーグルトの量の追加
世界の初期値の決定
関数のパラメタの変数名を決定
新しい情報の暫定値を決定
新しい情報の値を決定
新しい情報の表示
第10章 関連するデータをひとまとめにする
配送先の追加
世界の初期値の決定
関数のパラメタの変数名を決定
新しい情報の暫定値を決定
新しい情報の表示
配送先での処理
作成したい関数の概形
局所関数定義
局所関数の身近な例
第11章 大量のデータを一括して処理する
ふたつ目の配送先を追加
ふたつ目の配送先情報の表示
ふたつ目の配送先情報の更新
配送先をさらに追加
配送先をリストに
多数の配送先情報の表示
多数の配送先情報の更新
本章のまとめ
さらなる拡張へのアイディア
第12章 まとめ
プログラミングを知る
なぜプログラミングか
モダンWebの制作現場へ、ようこそ!
保守性・拡張性・再利用性を高めるモジュール設計の基本と実践。
SMACSS、BEM、モジュール設計、npm、Flexible Boxまで!
CSSのコーディングをしたことのある人であれば、「CSSを指定したら、
思いもしなかった箇所のスタイルが崩れた」「新たに上書きをしていったら
CSSが煩雑になった」「CSSファイルの肥大化して、どこを編集したらいいのか
わからなくなった」といった経験が少なからずあるはずです。
本書は、こうした状況を未然に防ぐための設計手法について、基本から実装方法まで
解説します。CSSの言語的な特性から、「SMACSS」や「BEM」といったCSS設計の
方法論、CSSプリプロセッサ「Sass」の導入、さらに、実際にサンプルの
Webサイト構築フローを追いながら、保守・運用までを考慮した破綻しないCSSを
設計・実装するまでの具体的なプロセスについて一冊で学べます。
実際にサイトデータをダウンロードして学べるから理解が深まります。
【本書の構成】
第1部「CSS設計の前提」
第2部「メンテナブルなCSS」
第3部「CSS設計のプロセス」
第4部「CSS設計の実践」
付録「Flexible Box Layout」
【本書の読者】
・フロントエンド開発の作法を学びたいWebデザイナー&エンジニア
・Webアプリケーションを作りたいWebデザイナー
・フルスタックを目指すWebエンジニア
PART-1 CSS設計の前提
Chapter-01 CSSの設計
Chapter-02 CSSの仕組みと特性
Chapter-03 CSSの破綻
PART-2 メンテナブルなCSS
Chapter-04 基本フォーマット
Chapter-05 カテゴライズ
Chapter-06 命名規則
Chapter-07 スタイルガイド
PART-3 CSS設計のプロセス
Chapter-08 ページ構成要素の洗い出し
Chapter-09 コンテンツのモジュール化
Chapter-10 Sass を利用した効率的なモジュール設計
Chapter-11 モジュール設計
PART-4 CSS設計の実践
Chapter-12 サンプルサイトとその概要
Chapter-13 gulp の構築
Chapter-14 ベースルールを考える
Chapter-15 HTML テンプレートの作成
Chapter-16 コンテンツモジュールの作成
Chapter-17 モジュールを利用したページ制作
APPENDIX Flexible Box Layout
Appendix-01 Flexible Box Layout Module
Appendix-02 実装方法とプロパティについて
第一線で数多くのスマホサイト制作を手がけている著者が、スマホ最適化のための具体的なデザイン手法や知識を解説した1冊。
JavaScriptはいまや、Webアプリケーション開発の中心的な言語となりました。本書では、jQueryやnode.jsといったライブラリやフレームワーク、CoffeeScriptによる開発、設計から見直すクライアントサイドMVCの考え方、テストを中心とした品質向上のための環境構築、データ交換のためのJSON/YAMLなど、複雑化する一方のJavaScript開発を支える技術やツール、ノウハウについて、『WEB+DB PRESS』誌の過去記事をアップデートする形で再収録し、多彩に取り上げていきます。