タグ

ブックマーク / codezine.jp (118)

  • Webサイトの制作/運用の効率化を図る 「ガイドライン策定」のすすめ(前編)(1/4):CodeZine

    Web標準に従うことは、SEO効果、ユーザービリティ、メンテナンス性の向上など、Webサイトの利用者と制作者の双方にさまざまなメリットをもたらします。しかし、実際にWeb標準の仕様書に従ってWebサイトを制作しようとすると、制作者の頭を悩ませる多くの問題が待っています。連載では、Web標準のメリットを最大限に生かすことをテーマに、仕様書には書かれていない部分を中心に取り上げ、実際のWeb制作現場で起こり得る問題について、解決の糸口をたらしていきたいと思います。 はじめに Web標準に従うことは、SEO効果、アクセシビリティ、ユーザービリティ、相互運用性、互換性、メンテナンス性の向上など、Webサイトの利用者と制作者の双方にさまざまなメリットをもたらします。しかし、実際にWeb標準の仕様書に従って「正しい(X)HTML+CSS」でWebサイトを制作しようとすると、制作者の頭を悩ませる多くの

    Webサイトの制作/運用の効率化を図る 「ガイドライン策定」のすすめ(前編)(1/4):CodeZine
  • 「実現したいことを計算機の問題に置き換えることが『技術力』」、伊藤CTOが“はてな流”大規模データ処理の極意を語る:CodeZine

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    「実現したいことを計算機の問題に置き換えることが『技術力』」、伊藤CTOが“はてな流”大規模データ処理の極意を語る:CodeZine
  • AWSの概要と登録手順 ~Amazon EC2/S3環境構築のすべて~

    はじめに~クラウド・コンピューティングとは?~ 近頃、“クラウドコンピューティング”と呼ばれる、インターネット(クラウド)の向こう側でアプリケーションサービスや、サーバなどのハードウェアリソースを提供するサービスが急増しています。 ユーザーはインターネットにさえ接続できれば各種サービスを利用でき、そのサービスがどこで動いているかなど、サービスインフラを意識する必要がありません(図1)。そして、それらのサービスは無料、もしくは利用した分だけ課金される形態となっており、利用にあたり多くの初期投資を必要としません。 このクラウドコンピューティング・サービスを牽引する企業の1つが、米国のAmazon.com Inc.です。Amazonはクラウドコンピューティング・サービスを「Amazon Web Services(AWS)」という名称で展開しています。 連載では、この「Amazon Web Se

    AWSの概要と登録手順 ~Amazon EC2/S3環境構築のすべて~
  • 業務で楽するためのUNIXテクニック集 まずはおさらい、シェル制御構造と正規表現の基礎:CodeZine

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    業務で楽するためのUNIXテクニック集 まずはおさらい、シェル制御構造と正規表現の基礎:CodeZine
  • クロスブラウザスクリプトの作成テクニック

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    クロスブラウザスクリプトの作成テクニック
  • F#で学ぶ関数型プログラミング入門

    はじめに この連載では、関数型プログラミングについて、その主な概念と他のパラダイムとの相違、そしてF#がいかにコード記述のスピードアップと結果の生成に貢献するかを解説します。この記事では、駆け足で基礎を習得してから、これまで書いてきたコードとの相関関係について説明します。 こんな昔話があります。ある日、男が王の宮殿を訪れ、自分に答えられない質問はないと豪語しました。誰も男が答えに窮する質問を出せないでいると、王が問いました。あそこにある樹に葉が何枚あるかと。男はほとんど間髪入れず、正確な、かなり大きな数を答えました。しかし、男の答えが正しいかどうかを誰が確認できるでしょうか。いやいや、王と顧問はとても賢かったのです。王はこっそりと召使に命じ、樹から葉を20枚だけ抜き取らせました。そして男に再び、あの樹の葉は何枚あるか、と問いました。今回も男は即座に答えました。最初の答えからちょうど20枚少

    F#で学ぶ関数型プログラミング入門
  • Ruby on RailsのScaffoldをカスタマイズして使いやすくする

    Scaffoldで生成したアプリケーションは出発点にすぎず、自立した完成品のアプリケーションではありません。このため、開発者がプロジェクトに適した形になるように手を加える必要があります。しかし、毎回似たような修正を行うのであれば、生成した時点でその修正が反映されている方が、より生産性も向上します。そこで稿では、Scaffoldをカスタマイズする方法を紹介します。 はじめに Scaffoldは、Ruby on Rails(以下、Rails)における代表的なジェネレータであり、テーブルのメンテナンスアプリケーションを自動生成してくれます。また、Scaffoldによって生成されたコードは、Railsアプリケーションのディレクトリツリーに格納されており、自分で変更することができます。 データ処理部分の開発が簡略化されるので、生成したアプリケーションをすぐに実行して試すことができ、そこからの変更も

    Ruby on RailsのScaffoldをカスタマイズして使いやすくする
  • symfony入門一覧

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    symfony入門一覧
  • Web開発者の必須知識、Webアプリの不正遷移対策とは?:CodeZine

    対象読者Webアプリの設計に携わる方、もしくは興味のある方。 不正遷移の定義と種類 不正遷移とは「Webアプリケーションの設計上、業務的に想定されていないページ間の移動」を定義することができます。具体的には、次の種類があります。アプリケーション内のブックマークされることを想定していないページをブックマークに登録し、後でブックマークから呼び出すこと。もしくはURLを直接入力して表示すること。ブラウザの「戻る」「進む」ボタンを押して移動すること。ブラウザの「更新」ボタンを押すこと。アプリケーションのボタンやリンクを連打すること。 例えば1.は「ユーザー情報画面」や「発注確認画面」をブックマークされた場合です。ログインしていない状態でユーザー情報画面に飛び込まれても個人情報を表示することはできませんし、既に発注が終わった注文の確認画面を表示してはいけません。 2.の「戻る」「進む」ボタンを押した

  • ドキュメント作成に役立つ「日本語スタイルガイド」の紹介:CodeZine

    はじめに 大量のドキュメントの執筆作業を複数のメンバーで行うとき、各メンバーの文章表現にどうしても差が出ます。特に、直接ユーザーの目にとまるマニュアルなどは、用語、表現を統一することがとても重要です。 大量の翻訳マニュアルを作成するSun、Microsoftでは、翻訳作業の指針とする『日語スタイルガイド』を公開しています。稿では、それぞれの『日語スタイルガイド』関連情報を紹介します(ガイドラインの内容はそれぞれをダウンロードしてご覧ください)。Sunの日語翻訳ガイドライン Sunの翻訳ガイドラインについてまとめたページがあります。Sunの日語翻訳ガイドライン  スタイルガイドをダウンロードできます。スタイルガイドのダウンロード(PDF形式)  スタイルガイドは100ページにおよびますが、4ページにまとめたクイックリファレンスを、翻訳プロジェクトのReiko Saitoさんのブログ

  • PHP暗号化ガイド:CodeZine

    はじめに 理想的な世の中では、「暗号化」や「セキュリティ」といった言葉は存在すらしないでしょう。しかし現実の世界は完全とはほど遠いものです。ですから、ソフトウェア開発者はアプリケーションのセキュリティ対策に相応の時間をかけなければなりません。暗号化はSSL/TLS、証明書、デジタル署名などと同様、セキュリティというパズルの1ピースにすぎません。この記事では、PHPを使って最も一般的な暗号化アルゴリズムを実装する方法を説明します。PHPデフォルトの暗号化機能に加えて、多様な暗号化ライブラリやパッケージの使用法を幅広く紹介していきます。 この記事のサンプルコードでは、textfile.txtという小さなテキストファイルを使用します。このファイルには次のようなプレーンテキストが含まれています。 For every difficult and complicated question ther

  • Microsoft .NET ILアセンブラ入門:CodeZine

    はじめに 実践的な開発経験のある.NET Frameworkアプリケーションプログラマであれば、ILDASMを使ってプログラムを逆アセンブルしたコードを見たことがあるでしょう。.NET Frameworkアプリケーション開発は、Visual BasicやC#、C++/CLIなど、多くの言語を使って開発できますが、最終的に生成されるのは標準化されているCIL(Common Intermediate Language)と呼ばれる中間言語です。Microsoft Intermediate Language(MSIL)とも呼ばれ、単純にILと略されることもあります。中間言語を含む共通言語基盤CLI(Common Language Infrastructure)は、既にEcma-335やISO/IEC 23271、JIS X3016などで標準化されているため、Microsoftによって独占されている

  • ApacheModuleでWebアプリケーションをつくろう:CodeZine

    1.はじめに Webアプリケーション開発の現場で使用されている開発言語には、JavaPerlPHP、最近であればRubyPythonなどがあります。この分野ではC言語も、CGIによるWebアプリケーション開発で旧来から用いられていますが、最近の開発者にはあまり馴染みがないかもしれません。当時の新技術であったJavaと比較して、あまりにも遅い結果が出ていたからとも言われています。 しかし、Webサーバの「Apache」、データベースの「PostgreSQL」「MySQL」、OSの「Linux」など、各所でオープンソースソフトウェア(OSS)の開発言語には、依然としてC言語が多く用いられています。このようにC言語は、Webアプリケーション開発の現場で使われるケースは減ったものの、現在でも重要な開発言語の一つです。 そこで今回は、Apache 2.2のmod_dbdで実装された「データベー

  • ActionScriptによるWebの3Dグラフィックス再入門:CodeZine

    Flashで3D? 数年前まで、Flashと言えばデザイナが絵やアニメーションを作り、そこにちょっとしたインタラクティビティを持たせるためのツールという見方が一般的でした。しかし、昨年あたりから急激に「えっ!?こんなことがFlashでできるの?」というようなコンテンツが増えてきています。このようなコンテンツが現れはじめた原因は、言語仕様が一新されたActionScript 3による高いパフォーマンスにあります。 連載では、ActionScript 3のパフォーマンスを活かした一例として、Web上での3D表現を取り上げます。Webで3Dというと、VRMLやJava3Dなどの方法が存在はしたものの、なかなか広まることがありませんでした。これは実行環境の普及率が原因していると言えるのではないでしょうか。その点について、Flashは恵まれた環境にあると言えます。Adobeの資料によれば、日国内

  • FFmpeg APIで、さまざまな動画を操る - 前編:CodeZine

    はじめに こんにちわ、hirataraです。 近年、YouTubeやニコニコ動画に代表される動画共有サービスの需要が、急速に高まっています。そのような状況で、オープンソースの動画読み書きソフトウェア「FFmpeg」が、にわかに注目を集めています。 稿では、そのFFmpegの共有ライブラリを直接呼び出して、C言語から動画を扱う方法を紹介します。FFmpegにはffmpegという便利なコマンドがついていますので、ほとんどの場合はこのコマンドを利用します。しかし、FFmpegを共有ライブラリ付きでコンパイルすると、自分の作ったプログラムから直接FFmpegAPIを利用することが可能になります。 FFmpegの共有ライブラリを利用すると、動画をファイルからデコードして再生をしたり、新たな動画を作成して特定フォーマットでエンコードし、ファイルに保存したりすることができます。対応codecがたくさ

  • Adobe AIRでクールなMP3プレーヤーを作ってみる:CodeZine

    Adobe AIRとは 「Adobe AIR」とは、リッチクライアントとして定評のある「Flex」や「Flash」「ActionScript」といったWeb技術を利用してデスクトップアプリケーションを作成し、動かせる実行環境のことです。Adobe社が提供しています。 ブラウザを使用する必要がないため、ローカルファイルへのアクセスやドラッグ&ドロップを行うこともでき、WindowsMac OS、Linuxで動作するなど、プラットフォームを問わない特長もあります。 今回はこのAdobe AIRを利用して、MP3プレーヤーを製作してみましょう。対象読者Flash、Flexでの開発経験のある人。基的なActionScript3.0の知識のある人。プラットフォームを問わないアプリケーションを開発したい人。 実行環境/開発環境の準備 それではまず、Adobe AIRの実行環境をインストールしましょ

  • データが1件の時だけ、JavaScriptの必須チェックが誤動作する:CodeZine

    上の画面は、ワークフロー機能でよくある承認画面です。チェックボックスで選択したデータは、[承認]ボタンをクリックすることで、状態を「承認待ち」から「承認済み」へ変更できます。入力チェックとして、「選択0件で承認ボタンをクリックしたときはエラー表示」という処理をJavaScriptで実装しています。 ところが、データが1件の時だけ、「選択しているのに『1件も選択されていません』というエラーが出る」というバグが発生しました。バグコード 入力チェックのコードは、次のようになっていました。 function check() { var sentakuChk = document.form1.sentakuChk; for (var i=0; i<sentakuChk.length; i++) { if (sentakuChk[i].checked) { return true; } }

  • Hadoop、hBaseで構築する大規模分散データ処理システム:CodeZine

    はじめに この連載では、大規模分散計算フレームワーク「Hadoop」と、その上につくられた大規模分散データベース「hBase」の仕組みと簡単なサンプルアプリケーションを紹介します。HadoopとhBaseは、Googleの基盤ソフトウェアのオープンソースクローンです。機能やコンセプトについては、Googleが発表している学術論文に依っています。 これらの学術論文によると、Googleでは大規模分散ファイルシステム「Google File System」、大規模分散計算フレームワーク「MapReduce」、大規模分散データベース「BigTable」、分散ロックサービス「Chubby」という4つのインフラソフトウェアが使われています。 図1にGoogleの基盤技術間の依存関係、そしてそれに対応するOSSの対応関係を示しました。まずは対応するGoogleの基盤技術それぞれの機能や特徴をざっくりと

  • Ruby on Rails用 統合開発環境(IDE) 比較レポート:CodeZine

    1. はじめに1.1. 背景 近年、スクリプト言語「Ruby」と、Rubyで書かれたWebアプリケーションフレームワーク「Ruby on Rails(以下、RoR)」が注目を集めています。 Ruby/RoRの開発はテキストエディタとコマンドラインツールがあればすぐに始めることができます。一方、Ruby/RoRの普及に合わせてテキストエディタとしての機能の他にデバッガ、WebサーバやDBサーバとの連携、バージョン管理などの機能を備えた統合開発環境(以下、IDE)が複数登場しています。 Ruby/RoR対応のIDEはJavaなど他言語のIDEと比較すると機能面や安定性にやや物足りなさがありますが、各IDEは活発に開発が行われており、実際の開発をサポートするレベルまで着実にバージョンアップを重ねています。1.2. 稿の目的 Ruby/RoR対応のIDEを使用する場合、NetBeans、Ecli

  • Pythonを始めよう:CodeZine

    はじめに こんにちわ、hirataraです。 稿では、オブジェクト指向のスクリプト言語であるPythonの紹介をしたいと思います。と言っても、実は私がPythonを勉強し始めたのは数ヶ月前のことで、まだPythonに関してさほど詳しいとは言えません。それでもこの記事を書こうと思い立ったのは、ある言語が他の言語に比べて面白い部分と言うのは、その言語にどっぷり漬かってその言語を使うことが当たり前になっている人間よりも、その言語を好きになり始めたくらいの人間の方が見つけやすいのではないかという思いからです。 そのような事情で、もしかすると当のPythonistaからお叱りを受けるような内容も含まれるかもしれませんが、その点はTBやコメントでご教授頂けると幸いです。この記事で、少しでもPythonに興味を持ってくれる方が増えることを願っています。対象読者他言語でのプログラミング経験者Pytho