タグ

ブックマーク / gihyo.jp (19)

  • 良いコードを書く技術 ― 読みやすく保守しやすいプログラミング作法

    2011年4月9日紙版発売 2014年12月10日電子版発売 縣俊貴 著 A5判/240ページ 定価2,508円(体2,280円+税10%) ISBN 978-4-7741-4596-9 ただいま弊社在庫はございません。 Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing honto 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 読みやすく保守しやすい「良いコード」の書き方を解説した入門書です。『WEB+DB PRESS』で断トツ人気だった連載を加筆・修正して書籍化しました。 書を読むと,良いコードを書くための習慣から名前の付け方,コードの分割や集約を行う方法,抽象化の作法,計算量とアルゴリズム,ユニットテストやメタプログラミングまで,プログラマとして長く役立つ基が身につきます。 こんな方におすすめ

    良いコードを書く技術 ― 読みやすく保守しやすいプログラミング作法
    denken
    denken 2011/04/05
  • vi/Vimコマンドポケットリファレンス

    2010年10月22日紙版発売 山森丈範 著 四六判/304ページ 定価2,618円(体2,380円+税10%) ISBN 978-4-7741-4396-5 ただいま弊社在庫はございません。 Amazon 楽天ブックス ヨドバシ.com 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 viはEmacsと共にUNIX環境で人気がある,キーボード操作が主体のテキストエディタであり,Linuxの世界でもviクローンである「vim」が広く使われています。書はviを格的に使いこなすための,各種コマンドや操作方法について解説したポケットリファレンスです。古くからのvi愛好家はもちろん,仕事趣味Linuxを活用する多くのユーザーに利用していただけます。 こんな方におすすめ vi,Vimを愛用している人 UNIX系OS上で,vi/Vimを使ってプログラムを開発して

    vi/Vimコマンドポケットリファレンス
    denken
    denken 2010/10/22
  • 第4回 Evernoteの情報を整理しよう! | gihyo.jp

    前回は、Evernoteに情報をインプットする様々な方法について紹介しました。きっと皆さんのEvernoteにもノートがたまってきた頃でしょう。そこで今回は、"作成したノートを整理する方法"と"情報を引き出す方法"について紹介します。 Evernoteで情報を立体的に整理しよう! 第1回でも簡単に説明しましたが、Evernoteには"ノートブック"と"タグ"という2つの整理方法があります。ノートブックは情報をグループに分類して把握しやすくするための仕組みであり、タグ付けは情報一つ一つに対してキーワードを付与して後から見つけやすくするための仕組みです。概念的にはノートを縦軸、タグを横軸と捉えて、立体的な情報整理を行うためにあると考えるとよいでしょう[1]⁠。 この2つの整理方法はどちらが優れているというものではなく、ご自身の情報に対するアプローチに即した形で、2つの方法のいいところを組み合わ

    第4回 Evernoteの情報を整理しよう! | gihyo.jp
  • 第8回 実践DOMスクリプティング#1:HTMLとテキストの操作 | gihyo.jp

    こんにちは、太田です。前々回、前回でDOMの基礎を簡単に解説しました。今回からは、DOMを使った実用的なスクリプトを解説していきます。特に今回はHTMLの操作、テキストの操作にフォーカスを当てていくつかのサンプルコードを解説していきます。 HTML操作の基 JavaScriptによってHTMLを書き出したり、一部を書き換えたり、削除したりといった方法は実は様々な方法が用意されています。目的に合わせて適切な方法を選ばないと非効率だったり、最悪クロスサイトスクリプティングなどの問題を抱えてしまう危険もあります。 document.writeと同期読み込み JavaScriptHTMLを書き出すというと、最初に学ぶのはこのdocument.writeかもしれません。いわゆるprint文のようにシンプルなAPIなので、入門書の最初のサンプルなどで扱われることも多いようです。しかし、docume

    第8回 実践DOMスクリプティング#1:HTMLとテキストの操作 | gihyo.jp
  • 第3回 HTMLとXHTML、HTML5 | gihyo.jp

    HTML5という新しい仕様がでてきましたが、既存のHTMLやXHTMLとはどのような関係があるのでしょうか。簡単にHTMLとXHTML歴史を振りかえりながら、両者が抱えた問題や、HTML5の目的について説明しようと思います。 HTML ― 拡張のなかで進化していった言語 HTMLはWeb上での情報交換フォーマットとして、Tim Berners-Leeにより生み出されました。「⁠シンプルなハイパーテキストを記述する」という目的があったため、定義されている要素は見出しやリスト、リンクなど、文書構造や文章の意味を記すものに限られていました。 ところが、Webが普及するにつれ、視覚表現をコントロールする要素(いわゆる「タグ⁠」⁠)がブラウザーベンダーにより追加されていき、語彙が膨れ上がってしまいました。さらには、要素の意図とは異なった使われ方をされる例(blockquoteやtableなど)が増

    第3回 HTMLとXHTML、HTML5 | gihyo.jp
    denken
    denken 2009/10/19
  • 第1回 zshで広がる世界 | gihyo.jp

    zshはシェルである。シェルはもちろんキーボード入力されたコマンド行を解釈し、必要なコマンドを必要な引数とともに起動することを主な仕事とするソフトウェアである。単なるシェルなのだが、zshには他を圧到する比類なき機能がある。その一端を印象づける一つの例に、zshで実装されたテトリスがある(図1⁠)⁠。 もちろんこれは、お遊び機能の例で実際の日常作業をこれで進めるわけではないが、潜在的に備えている機能がどれほどのものかが分かる好例である。 zshは、sh(Bourne Shell)をベースとし、ksh、csh(tcsh⁠)⁠、bashの優れた機能をアイデアとして取り込み、なおかつ作業効率を高める独自の機能を登載したまさに至高のシェルである。しかしながら超高機能・多機能であるがゆえに全容を掴むのが難しい。付属の英文マニュアルはしっかりしているものの、簡潔な仕様記述がされているのみなので具体的な

    第1回 zshで広がる世界 | gihyo.jp
    denken
    denken 2009/07/05
    最近使い始めたので
  • 第20回 文字エンコーディングとセキュリティ(2) | gihyo.jp

    前回に引き続き、今回も文字エンコーディングとセキュリティをテーマに解説します。前回は文字エンコーディングを利用した攻撃で、JavaScriptインジェクションやSQLインジェクションなどが可能であることを紹介しました。今回はなぜ、文字エンコーディングを利用して攻撃できるのか、簡単に紹介します。 文字エンコーディングを利用した攻撃の原理 文字エンコーディングを利用した攻撃には3種類の方法があります。 不正な文字エンコーディングを利用する方法 文字エンコーディングを誤認識させる(誤認識を利用する)方法 文字エンコーディングのエスケープ方式を利用する方法 この連載は攻撃方法を詳しく解説する事が目的ではありません。具体的なの攻撃方法の解説はできる限り控え、なぜこの3つ手法が攻撃に利用できるのか解説します。 前回も触れましたが、パス遷移攻撃には文字エンコーディングを利用した攻撃方法もあります。 文字

    第20回 文字エンコーディングとセキュリティ(2) | gihyo.jp
    denken
    denken 2008/12/29
    「 文字エンコーディングのチェック例 function check_encoding($key, $value) { if (!mb_check_encoding($value, 'UTF-8')) { die('Invalid charactor encoding detected'); } } array_walk_recursive($arr, 'check_encoding');」
  • 第1回 情報可視化の概要 | gihyo.jp

    はじめに コンピュータやインターネットの発展によって、大量のデータを集積し、分析することが容易になってきました。しかし、データそのものに関心が集まる一方で、データの「見せ方」については、あまり注意が払われていないのが現実ではないでしょうか。 データは、人が理解することで初めて価値を持ちます。そして、その理解のカギを握っているのは、データを人の目で知覚可能な形へと「可視化」するプロセスに他なりません。データはただ表示すれば良いと安易に考えるのはやめて、表現力豊かな可視化のテクニックを追求してみませんか? 連載では、具体例やサンプルコードを交えながら、情報可視化の基礎から実践までを解説します。 情報可視化とは何か 「可視化(Visualization⁠)⁠」とは、画像やアニメーションのような視覚的表現を使用し、人に何らかの意味を伝達することです。特に「情報可視化(Information Vi

    第1回 情報可視化の概要 | gihyo.jp
    denken
    denken 2008/09/09
    楽しみ
  • #12 ビート・クラフト 小山哲志/ヤフー 荻原一平 | gihyo.jp

    今回、取材させていただいたのは(⁠株⁠)ビート・クラフトの小山哲志さんとヤフー(⁠株⁠)の荻原一平さん。お二人ともPHPユーザ会でご活躍です。さらに今回は、「⁠見学」ということで、アシアル(⁠株⁠)の亀大地さん、グリー(⁠株⁠)のエンジニア一井崇さんもご同席。PHPユーザの方々に囲まれて、弾さん危うし?! (撮影:平野正樹) プロフィール 弾:まず、ご職業は? 荻原:ヤフー(⁠株⁠)でWebエンジニアをしていて、Yahoo!ウォレットっていう動画などの有料コンテンツを売ってる仕組みがあるんですけど、そこのフロントエンドを中心に、PHPなどで開発しています。 小山:ビート・クラフトって会社にいるんですが、私の仕事は受託開発なんで、いろんなお客さんから案件がきてPHPやほかの言語で開発してます。 弾:補足しますと、僕のブログにバナーがいっぱい入っていて、このバナーを集めてくるのはAMNという

    #12 ビート・クラフト 小山哲志/ヤフー 荻原一平 | gihyo.jp
    denken
    denken 2008/08/01
    PHPカンファレンスでやたらモテていたビートクラフトの小山さん
  • 特集:Firefox 3とFirebugで始めるJavaScript開発|gihyo.jp … 技術評論社

    第3回Command Line APIとその活用、各タブからのデバッグ方法 堀邦明 2008-05-21

    特集:Firefox 3とFirebugで始めるJavaScript開発|gihyo.jp … 技術評論社
  • 第4回 なぜPHP本体にバグが多いのか? | gihyo.jp

    PHP体のセキュリティ関連バグは多い? PHP体のバグはほかの言語(PerlRubyPythonなど)に比べ体感的に多いと思いませんか? 実際にPHP体のセキュリティ問題は突出して多くレポートされています。今回はPHP体にセキュリティ関連バグが多いとされる理由を考察してみます。 セーフモード(safe_mode)機能 safe_mode関連のバグは、PHP体のセキュリティ問題として最も多くレポートされる問題です。しかし、実際にはsafe_modeは確実なセキュリティ対策を行うための機能ではありません。よくある誤解はsafe_modeについて「共有サーバ環境でユーザがほかのユーザのファイルを参照できなくする機能」であるという勘違いです。safe_modeは同じサーバ上のほかのユーザファイルを盗み見ようとする悪意があるスクリプトから「防御」するための機能ではなく、善良なスクリプト

    第4回 なぜPHP本体にバグが多いのか? | gihyo.jp
    denken
    denken 2008/02/04
    PHP開発人にセキュリティに関する意識の低い人がまぎれているのは、長期的には決してプラスにならない
  • 動画で配信!「現場で使えるREST」鼎談 記事一覧 | gihyo.jp

    第12回おわりに:RESTがつくる明るい未来 山陽平,羽生章洋,和田卓人 2008-01-28

    動画で配信!「現場で使えるREST」鼎談 記事一覧 | gihyo.jp
    denken
    denken 2008/01/28
    コメントがないのはなんでか
  • ニコニコ動画にアップした動画が、gihyo.jpサイト上で再生できるようになりました! | gihyo.jp

    gihyo.jpはニコニコ動画とタイアップし、gihyo.jpがニコニコ動画にアップした動画を、ニコニコ動画にログインせずにgihyo.jpサイト上で再生できるようになりました(コメントの書き込み等は除く⁠)⁠。 第1弾として、昨年末に開催された「WEB+DB PRESS Tech Meeting」のセッションの動画をニコニコ動画にアップし、それらの動画を「WEB+DB PRESS Tech Meeting」特設サイト上から再生できるようにしました。ぜひご覧ください。 なお、今回のニコニコ動画とgihyo.jpのタイアップに関して、関係者各位のご協力に御礼申し上げます。 ニコニコ動画 URL:http://www.nicovideo.jp/ gihyo.jp URL:http://gihyo.jp/

    ニコニコ動画にアップした動画が、gihyo.jpサイト上で再生できるようになりました! | gihyo.jp
    denken
    denken 2008/01/17
    「第1弾として,昨年末に開催された「WEB+DB PRESS Tech Meeting」のセッションの動画をニコニコ動画にアップし」「特設サイト上から再生できるようにしました。ぜひご覧ください。」
  • 2007年のWebサービス:twitterとtumblrがユーザーを虜にした理由 | gihyo.jp

    2007年もWebではさまざまなソーシャル系サービスが生まれる一方、企業サイトや商用サイトは、ソーシャルメディアの海に取り囲まれる島のように存在感が薄れた年だったといえます。 急速に成長するソーシャル系サービスでは、そこに参加するユーザーのエゴイスティックな利益をかなえることでユニークなデータを溜め込むという特徴があります。そのデータがまた新たなユーザーを引き寄せ、アテンションを吸い上げ、ユーザーを中毒に陥らせます。2005年にTim O'Reillyは、このことを"Data is the Next Intel Inside"(What Is Web 2.0)というという名言で看破していましたが、2007年大きな話題になったOpenSocialをめぐっては、"It's the data, stupid"(OpenSocial: It's the data, stupid)という表現で繰り返

    2007年のWebサービス:twitterとtumblrがユーザーを虜にした理由 | gihyo.jp
  • CakePHPで高速Webアプリ開発:第1回 CakePHPを使いたくなる5つの特徴|gihyo.jp … 技術評論社

    CakePHPとは CakePHPはオープンソースで開発されたPHP用のフレームワークです。Ruby on Railsの影響を強く受けており、Webアプリケーションを高速に開発するための仕掛けが随所に盛り込まれています。 PHP開発者の方で、Railsで開発してみたいけどRubyの経験がないのでなかなか行動に移せない方などはとくにCakePHPを試してみてほしいと思います。Railsの考え方を肌で理解しつつ、PHPでWebアプリケーションを高速開発するための選択肢を手に入れることになるでしょう。 CakePHP 家サイト(英語)(左図⁠)⁠。 フォーラム - CakePHP Users in Japan(右図) そのほか、CakePHP プログラマーズ リファレンスガイドも参考になる CakePHPを使いたくなる5つの特徴 まずは皆さんにCakePHPに興味を持っていただくため、フレーム

    CakePHPで高速Webアプリ開発:第1回 CakePHPを使いたくなる5つの特徴|gihyo.jp … 技術評論社
  • 第7回 いまさらながらクロスサイトスクリプティングの基礎の基礎 | gihyo.jp

    今回はWebアプリケーションを作ったことがない方でも分かるようクロスサイトスクリプティング脆弱性を解説します。 クロスサイトスクリプティングとは? 初めてクロスサイトスクリプティングと聞いて、どのような問題なのかすぐに理解できる人はいないと思います。サイトAに記述されたJavaScriptプログラムがサイトB上で実行されるために発生することが問題とされたので、「⁠サイト間をまたがるスクリプトの実行」問題として、クロスサイトスクリプティング(XSS)と名前が付けられました。この命名では直感的に分かりづらい、サイト間にまたがらずHTMLメールなどにJavaScriptを挿入する攻撃でも同じ効果が得られることから、「⁠JavaScriptインジェクション」とも呼ばれるようになっています。 図1 簡単なクロスサイトスクリプティング 例1 簡単な直接攻撃 掲示板サイトに投稿されたデータをエスケープ処

    第7回 いまさらながらクロスサイトスクリプティングの基礎の基礎 | gihyo.jp
  • 第1回 Ajaxとクロスサイトスクリプティング | gihyo.jp

    初回はWeb2.0の中核技術ともいえるAjaxを見ていきたいと思います。 Ajaxのセキュリティについて考えていきますが、その前にAjaxについて簡単におさらいしてみましょう。 AjaxとはAsynchronous JavaScript XMLの略であり、一言で言えばJavaScriptとXMLを使って非同期に通信するということです(XML以外の形式が使われることも多くなりました⁠)⁠。通信を非同期にすることで、何か処理をする場合にいちいち待たなくても次の処理に移ることができます。その結果、ユーザを待たせずに多くの処理を行えるようになりました。また、画面全体を再読み込みする必要がなくなったことも、使い勝手の向上した理由です。 Ajaxの動作 それでは簡単なサンプルコードでAjaxの動作を見ていきたいと思います(リスト1⁠)⁠。これらはAjaxの入門サイトや書籍で一番最初に出てくるコードです

    第1回 Ajaxとクロスサイトスクリプティング | gihyo.jp
  • #6 IT戦士 天野 仁史/こんにちはこんにちは! Hamachiya2(中編) はまちちゃんはいかにしてXSS/CSRFを見つけるか | gihyo.jp

    小飼弾のアルファギークに逢いたい♥ #6IT戦士 天野 仁史/こんにちはこんにちは! Hamachiya2(中編) はまちちゃんはいかにしてXSS/CSRFを見つけるか 天野 仁史さん、Hamachiya2さん(はまちちゃん)との対談の中編です。 編集部注) 対談は2007年3月に行われたものです。 こんにちはこんにちは! 弾:はまちちゃんはいつ頃から「こんにちは」に興味が出てきたの? は:確かmixiを始めた2年前くらいかな。mixiってブログと違って、日記にコメントがたくさんつくのがおもしろくてハマってて。毎日見てるうちにおもしろい現象を見かけたんです。たまたま誰かが「ラーメン」ってタイトルの日記書いたんですよ。そしたらほかの人もつられて「ラーメン」って日記を書き出して、それがマイミクのマイミクまでどんどん伝染していっちゃって、その日の日記一覧が全部「ラーメン」になっち

    #6 IT戦士 天野 仁史/こんにちはこんにちは! Hamachiya2(中編) はまちちゃんはいかにしてXSS/CSRFを見つけるか | gihyo.jp
    denken
    denken 2007/05/22
    はまちちゃんのしゃべりの文字起こしに「…!」なんて表現を使うのはどうなのかな…!
  • 小飼弾のアルファギークに逢いたい:#6 IT戦士 天野 仁史/こんにちはこんにちは! Hamachiya2(前編) JavaScriptのイケてないところ|gihyo.jp … 技術評論社

    今回はShibuya.jsなどJavaScript界で活躍中のamachangこと天野仁史さんと、mixi、はてなや最近ではIPAなどさまざまなWebサイト・サービスのセキュリティ脆弱性を指摘(?)していることで知られるHamachiya2さん(はまちちゃん)のお2人がゲストです。まずは2人の馴れ初めから…。 編集部注) 対談は2007年3月に行われたものです。 出会い 弾:で、お2人の馴れ初めは? 天野(以下、天⁠)⁠:mixiで俺が「マイミクなってください」ってところから始まった。 Hamachiya2(以下、は⁠)⁠:はい。ナンパされちゃいました。 弾:はまち釣り(笑⁠)⁠。 天:マイミクなってくださいってとこから始まって、そしたら(はまちちゃんが)JavaScriptを高速化してる人だ!っていうことで、デブサミのときに見に来てくれたんです。 JavaScriptのライブラリ 天:

    小飼弾のアルファギークに逢いたい:#6 IT戦士 天野 仁史/こんにちはこんにちは! Hamachiya2(前編) JavaScriptのイケてないところ|gihyo.jp … 技術評論社
  • 1