タグ

ブックマーク / atmarkit.itmedia.co.jp (22)

  • @IT:サンプルで覚えるXSLTプログラミング

    サンプルで覚える XSLTプログラミング 小山尚彦、Chienowa.comチーム 日オラクル株式会社 2000/8/22 2000/10/12(第9章以降追加) XMLは文書の記述の表記基準に過ぎません。ですから、XMLがその真価を発揮するにはさまざまな要素が必要です。例えば、XML文書のデータ構造を、XML文書をやり取りする人々のあいだで定義しておくことは大切です。そのために、DTDや最近ではXML SchemaというXMLデータ構造を表記する基準(スキーマ言語)が検討されています。 また、XML文書をさまざまな形式に加工することも重要でしょう。しかも、 そのような加工の方法もXMLで書かれたならなおよいでしょう。 それがXSL(Extensible Stylesheet Language)です。 XMLを自由に加工できる XSLはXSLT(XSL Transformation)と、

  • 知っといてムダにならない、Java SE 8の肝となるラムダ式の基本文法

    匿名クラスとラムダ式の共通点 匿名クラスで行っていた処理をラムダ式で書き換えられることから分かるように、ラムダ式も匿名クラスでの制限事項が適用されます。 扱える変数について 匿名クラスではクラスが持つクラス変数やstatic変数は実装する処理内で扱うことは可能です。しかし、メソッド内で定義されるローカル変数や匿名クラスが定義されているメソッドの引数は、finalでない限り参照はできても何らかの処理を行うことはできません。 同様に、ラムダ式でもクラス変数やstatic変数を扱えますが、finalでないローカル変数や引数は扱えません。 例えば次の関数型インターフェースがあったとします。 public class SampleClass { private int classField = 0; private static int staticField = 0; private void p

    知っといてムダにならない、Java SE 8の肝となるラムダ式の基本文法
  • あなたの知らない、4つのマニアックなJava文法

    あなたの知らない、4つのマニアックなJava文法:【改訂版】Eclipseではじめるプログラミング(17)(1/3 ページ) これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipse 3.4とJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります 知ってました? Javaでも、あんなことやこんなことが… 前回の「“ネスト”した型で始める軽量Javaプログラミング!?」では、通常のJavaプログラミングよりもライトウェイト(軽量)なプログラミングをするために、「ネストした型/クラスとは何か」について基的な説明をしました。 ネストした型をきちんと利用できるようになるには、「staticのネストしたクラス」「内部クラス(インナークラス)」「エンクロージン

    あなたの知らない、4つのマニアックなJava文法
  • NginxをWebサーバー“以外”でも徹底活用する

    Nginxは高速化だけではありません。Webサーバー以外への応用事例として、ロードバランサー、HTTPS対応、WAFとしての利用を紹介します。 連載目次 Nginxの活用 「高速・軽量・高機能WebサーバーのNginx」連載の最終回にあたり、今回はNginxのWebサーバー以外の活用方法を紹介します。 NginxはWebサーバー以外にも、ロードバランサーやHTTPSサーバー、WAF(Webアプリケーションファイアウォール)、キャッシュサーバーとして利用することができます。そもそもNginxが開発されたのは、Apache HTTPDのロードバランシング機能に対するパフォーマンス不足からでした。そのためNginxのロードバランシング機能はパフォーマンスが高く、またさまざまな付加機能を持ち合わせています。 例えばHTTPSとロードバランサーを組み合わせHTTPSアクセラレーションを実現したり、W

    NginxをWebサーバー“以外”でも徹底活用する
  • 初心者がWebフロントエンドを高速化するための基礎知識

    連載目次 ブラウザーの持つ開発ツールとその使い方を紹介する連載「無料で使えるブラウザー開発ツール入門」の第2回です。初回の「初心者がブラウザーでデバッグするための基礎知識」では、フロントエンド開発を始めた方が、ブラウザーに組み込まれている開発ツールを使ってアプリの不具合を見つけ、修正するためのツールとその基的な利用方法を紹介しました。 前回紹介した「DOMインスペクター」「スタイルエディター」「JavaScriptデバッガー」を駆使して、不具合の原因特定と修正を行えるようになり、意図通りに動作するアプリを作成できるようになった方も多いのではないでしょうか。 ところが、フロントエンド開発者には不具合の修正と同様、一定のパフォーマンスの確保もアプリ作成で必要とされます。誰もが体験されたことがあると思いますが、「自分の思い通りに動作してはいるのだが、どうにもこうにも遅くてストレスがたまる」とい

    初心者がWebフロントエンドを高速化するための基礎知識
  • IE8との互換性を向上させるIE11のエンタープライズモード

    IE8との互換性を向上させるIE11のエンタープライズモード:Windows Insider用語解説(1/2 ページ) Internet Explorer 11のエンタープライズモードを有効にすると、まだ企業内などで多く使われているIE8向けのWebサイトでも正しく表示できるようになる。 連載目次 Internet Explorer 11(以下IE11)には、新しく「エンタープライズモード(Enterprise Mode)」という動作モードが追加されている。これは従来のInternet Explorer(IE8)との互換性を向上させる動作モードであり、主に企業内において、IE11来のモードでは正しく動作しないような場合に利用するために用意されている。 エンタープライズ モードとは(MSDNサイト) Internet Explorer 11 向けエンタープライズ モードを利用して常に最新の

    IE8との互換性を向上させるIE11のエンタープライズモード
  • 第1回 TypeScriptの概要

    TypeScriptとは この連載の目的はTypeScriptの基的なコードの書き方を初歩から学ぶことである。プログラミングの経験がない読者を対象としているので、パソコンの基操作ができるぐらいの前提知識があれば読み進められるようにできるだけやさしく解説していくこととする。現在、TypeScript関連の資料にはJavaScriptの知識を前提として、JavaScriptとの差分を掲載しているものが多いが、ここではそういった前提を設定せずに1からTypeScript(とJavaScript)を学ぶこととする。 初回の恒例として、TypeScriptの概要がこの後に続くのだが、能書きはいいからとにかくやってみたいという方は、この先を飛ばして「いちばん簡単なTypeScriptのプログラム」に進んでもらって構わない。 さて、その「TypeScriptとは」なのだが、ひと言で表すなら「Java

    第1回 TypeScriptの概要
  • チューニング例1 「Java VMのチューニング」(@IT:連載:J2EEパフォーマンスチューニング 第4回(2/4))

    ヒープサイズを決める ヒープサイズがシステムの使用可能な空き物理メモリより大きくならないようにします。ページスワップが頻繁に発生しない程度に設定を行ってください。OSのページングの設定にも影響しますが、使用可能な物理メモリ(OSまたはそのほかのプロセスによって占有されない物理メモリ)の80%が妥当な値と思われます。今回のテストでは、(全体メモリ[512Mbytes] -OS使用のメモリサイズ[128Mbytes])×80%=307Mbytesとなります。また、通常、XmsとXmxは同じ値に設定され、ヒープ時の負荷を軽減します。 GC値を決める パフォーマンスを向上させるポイントは、キャッシュされたオブジェクトをなるべく再利用するようにアプリケーションを作成することと、New世代領域とOld世代領域の比率を考えながらXX:NewSize、XX:MaxNewSizeの値を設定することです。有効

    チューニング例1 「Java VMのチューニング」(@IT:連載:J2EEパフォーマンスチューニング 第4回(2/4))
  • ファイアウォールの設定・動作チェック方法

    ファイアウォールを構築したらサーバにアクセスできなくなった。あるいは、一見正しく動作しているようでもルールに抜け穴があれば意味がない。ファイアウォールの動作が当に適切かどうか、各種のツールを利用してチェックしよう。 第3回から3回に分けて、ファイアウォールの構築方法を紹介してきました。今回は、構築したファイアウォールの動作の確認方法などについて説明します。 tcpdumpによるファイアウォールの導通確認 導通確認とは、目的のサーバに対してルールどおりにアクセスできることを確認することです。もちろん、実際にアクセスすれば確認できるでしょう。「導通確認」という観点から考えるとこれだけでも目的は達成できるのですが、今回は接続できないというトラブルも想定してツールを使ってみましょう。 ファイアウォールを介すると目的のホストに接続できないときは、NATやFORWARDの問題など、さまざまな原因が考

    ファイアウォールの設定・動作チェック方法
  • レビューで失敗しない8つのポイント

    ソフトウェア開発の品質・効率向上に欠かせないレビュー。しかし、やり方を間違えているために、かえって逆効果になっているケースが多い。連載ではソフトウェアレビュー研究の第一人者、森崎修司氏が豊富な現場経験と研究成果を基にレビュー成功のポイントを分かりやすくリアルに解き明かす。 なぜレビューがうまくいかないのか? ソフトウェア開発の品質・効率向上が求められている今、ソフトウェアレビュー(以下、レビュー)の重要性はますます高まっています。商用開発では「要件定義」「設計書」「ソースコード」「テスト計画」「運用手順書」などを対象としたレビューが行われていますし、オープンソースソフトウェアのプロジェクトでも、ソースコードリポジトリへのチェックインの前にソースコードレビューを推奨したり、義務付けたりしています。 しかし、レビューは自由度の高い活動です。レビュー会議では質的な欠陥や問題を指摘しても、欠陥

    レビューで失敗しない8つのポイント
  • ビルドツールGradleのインストールと使い方、Jenkins/Git連携

    ビルドツールGradleのインストールと使い方、Jenkins/Git連携:小山博史のJavaを楽しむ(18)(1/5 ページ) オープンソースのビルドツール「Gradle」の主な特長やLinux/Windowsでの環境構築方法、さまざまな使い方に加え、CI/バージョン管理との連携方法を解説します。 「これから」のための柔軟なビルドツール、Gradleの主な特長4つ Javaではアプリケーションをビルドしたり、Webアプリをサーブレットコンテナへデプロイしたりするときにビルドツールを使うことがよくあります。ビルドツールを使うと、開発中に変更があった部分に影響する範囲だけコンパイルをしたり、アプリのパッケージを作成するときに必要な比較的単純なファイルコピーの作業をミスなく実行したりすることが、簡単にできるようになります。 今回紹介をするGradleはオープンソースのビルドツールの1つです。J

    ビルドツールGradleのインストールと使い方、Jenkins/Git連携
  • 初心者でも図解で分かる! VBEの基本的な使い方とVBAプログラムの基礎文法

    プログラミング初心者を対象にExcelマクロ/VBAを使った業務自動化プログラムの作り方を一から解説する連載「Excelマクロ/VBAで始める業務自動化プログラミング入門」。前回の「Excelでプログラム作成を始めるメリットとマクロの基」では、そもそもプログラミングとは何か、Visual BasicとVBAとマクロの違い、マクロの作り方、保存/削除、セキュリティ設定などについて解説した。 今回はExcel VBAプログラミングの基的な用語解説をメインに、VBE(Visual Basic Editor、VBエディター)の画面構成や使い方も解説する。プロパティ、メソッド、オブジェクトなど専門用語が出てくるが、できるだけ分かりやすく解説したいと思う。どうか、嫌にならずに着いてきてほしい。 これらの用語はプログラミングをする上では必ず出てくるものであり、意味を知らずしてプログラミングすること

    初心者でも図解で分かる! VBEの基本的な使い方とVBAプログラムの基礎文法
  • JDK 8、TLS 1.2がデフォルトに

    Javaの通信暗号化もTSL 1.2に。基的に後方互換性は維持するが、一部影響がある場合もあるという。 米オラクルは、2014年3月に正式リリースを予定している「Java Development Kit(JDK)8」の通信暗号化プロトコルはTLS 1.2がデフォルトになると発表した。業界でTLS 1.2をサポートする動きが広がる中、デフォルトをアップデートすべき時だと判断した。 オラクルの2014年1月28日のブログによると、TLS 1.2は2011年にJDK 7でサポートを追加したものの、互換性上の理由からサーバーソケットではデフォルトで有効に、クライアントでは無効になっていた。しかし、その後の進歩で相互運用上の問題が解消されたという。 JDK 8でTLS 1.2をデフォルトとする理由は2つあり、1つはTLSの後方互換性を挙げている。デフォルトが1.2になっても、1.1や1.0を使って

    JDK 8、TLS 1.2がデフォルトに
  • ビシッと決めるチューニング:しっかり基本編

    ユーザー情報や組織情報などを一元的に管理するディレクトリサーバは、企業システムの中で重要な役割を果たしています。オープンソースの「OpenLDAP」によるディレクトリサーバの構築方法を解説した前連載に続き、その運用方法を紹介していきます。(編集部) システム管理者は、より投資効果の高いサービスを提供するため、適切にチューニングを行いソフトウェアをより効率よく動作させたい、あるいは、マシンの持つハードウェアリソースをより有効に活用させたいと思うことでしょう。 今回からは、OpenLDAPサーバのパフォーマンスチューニングについて説明していきます。ここでは、OpenLDAPサーバのデフォルトのバックエンドデータベースである、Berkeley DBを採用した構成を想定してのチューニング方法を説明していきます。 Berkeley DBのバッファキャッシュ まずは、データベースのチューニングで大切な

    ビシッと決めるチューニング:しっかり基本編
  • 意外と知らないファイル圧縮技術の常識

    連載は、Java言語やその文法は一通り理解しているが、「プログラマー」としては初心者、という方を対象とします。Javaコアパッケージを掘り下げることにより「プログラマーの常識」を身に付けられるように話を進めていきます。今回はアーカイブと圧縮の違いなどの基礎知識とともに、Java APIJava定番のファイル圧縮形式jarやgzipzip形式を扱う方法も紹介。 今回はデータの圧縮技術を学んでいきます。データの圧縮技術はさまざまなコンピュータ関連用途において利用されていますが、この記事では「ファイル圧縮」の話題に絞って話を進めていきます。 意外と知らない、「圧縮」って何? 私たちが普通にOSを利用していると、ファイルの拡張子が「.zip」「.lzh」「.cab」などとなっているファイルを扱うことがあります。これらの拡張子を持つファイルは、複数のファイルやディレクトリを1つのファイルにまと

    意外と知らないファイル圧縮技術の常識
  • システム・バックアップを基礎の基礎から

    管理者として、システムのバックアップは義務である。では、どのようなデバイス/メディアを利用すべきか? また、Linuxではどうやってバックアップするのか? バックアップについて基礎から見直しておこう。(編集局) インターネットの爆発的な普及によって、コンピュータは非常に身近な存在になりました。企業で利用するデータのほとんどは、デジタルデータとして保存されています。しかし、デジタルデータはちょっとしたトラブルで一瞬にして失う可能性があることを忘れてはいけません。システム管理者は、ハードディスクに保存されたデータが壊れる/失われる可能性を常に意識し、いかなる状況でも重要なデータが失われないように対策を講じる必要があります。 しかし、リスク管理の意識が低い日では、予算上一番先に削られるのがバックアップ装置に掛かる経費であることが多いのではないでしょうか。バックアップは何かを生み出すものではない

    システム・バックアップを基礎の基礎から
  • 単純ではない、最新「クロスサイトスクリプティング」事情

    単純ではない、最新「クロスサイトスクリプティング」事情:HTML5時代の「新しいセキュリティ・エチケット」(2)(1/3 ページ) 連載目次 皆さんこんにちは。ネットエージェントのはせがわようすけです。第1回目は、Webアプリケーションセキュリティの境界条件であるオリジンという概念について説明しました。 現在のWebブラウザーでは、同一オリジンのリソースは同じ保護範囲にあるものとし、オリジンを超えたアクセスについてはリソースの提供元が明示的に許可しない限りはアクセスできないという、「同一オリジンポリシー(Same-Origin Policy)」に従ってリソースを保護しています。 その保護範囲であるオリジンを超え、リソースにアクセスする攻撃の代表事例であるクロスサイトスクリプティング(XSS)について、今回、および次回の2回に分け、HTML5においてより高度化された攻撃と、その対策を説明しま

    単純ではない、最新「クロスサイトスクリプティング」事情
  • コードから情報を追い出せ!プロパティファイルの常識

    今回は「プロパティファイル」の常識について、Java言語を通じて学んでいきます。 多くの場合、プロパティはプロパティファイルという物理的なファイルと関連付けられて私たちの前に現れます。プログラミング言語内では完結せずに外部の物理ファイルとのかかわりが強く出てくる話題であるため、初心者のうちはなかなかなじみにくい技術かもしれません。しかし、プログラミングにおいて重要ですので、しっかり習得してしまいましょう。 「プロパティファイル」ってどんなもの? 私たちがJava関連のソフトウェアを扱っていると、ファイルの拡張子が「.properties」となっているファイルを見掛けたり、あるいはその内容を編集することがあります。この「.properties」拡張子のテキストファイルが、プロパティファイルです(違う拡張子を付ける場合もありますが)。 テキストエディタなどを利用してプロパティファイルの中身を見

    コードから情報を追い出せ!プロパティファイルの常識
    maisenakajima
    maisenakajima 2013/12/18
    java.util.Propertiesクラス、国際化にも対応、java.util.ResourceBundleクラス
  • いまさら聞けない、成功するブランチモデルとgit-flowの基礎知識

    いまさら聞けない、成功するブランチモデルとgit-flowの基礎知識:Gitランチを使いこなすgit-flowGitHub Flow入門(1)(1/2 ページ) 数回に渡ってgit-flowGitHub Flowを使ったGitの活用テクニックを紹介します。初回は、ブランチ管理の課題と効率的にバージョン管理できる5つのブランチモデルと、ブランチの管理を簡単に行えるツール「git-flow」について。 Gitなどの次世代のバージョン管理ツールの特徴として、ブランチの機能を高度に活用できるという利点があります。Gitのブランチを生かしたツール・フローとして「git-flow」「GitHub Flow」が注目を浴びていますが、連載では数回に渡ってgit-flowGitHub Flowを使ったGitの活用テクニックを紹介します。初回は、git-flowの概要を紹介します。 効率的にバージョ

    いまさら聞けない、成功するブランチモデルとgit-flowの基礎知識
  • ディスク・デフラグメント完全マスター(コラム) - @IT

    コラム NTFSではフラグメントは発生しにくい? ―― NTFS基礎のキソ ―― デジタルアドバンテージ 2000/10/21 Windows NTの発表とともに新しいNTFSファイル・システムが紹介されたとき、マイクロソフトは「NTFSはFATと違ってフラグメントが起こりにくい」と公言していた。すでに述べているとおり、実際にはNTFSにおいてもフラグメントは日常的に発生する。それでは、何を根拠にこのような発言がなされたのだろうか? この理由は、NTFSで採用されたアイデアによるものと思われる。複雑なNTFSファイル・システムのすべてを紹介するのは別の機会に譲るとして、NTFSの大きな特徴の1つであるこのアイデアについてご紹介しよう。 その秘密はMFT(Master File Table)にあり ファイル・システムでは、広大なディスク領域をクラスタと呼ばれる固定領域に区切り、このクラスタを