今日のソフトウエア開発において,Javaは最も重要なプログラミング言語あるいは開発環境といってもいいでしょう。そこで,ITproではJavaの最新技術についての連載を掲載しています。著者はJavaプログラマ向け情報ページ「Java in the Box」で有名な櫻庭祐一氏です。
前回、前々回と2回に渡って、ストリームの基本的な使い方について説明してきました。 とはいうものの、いざストリームを使おうとしても、なかなかすんなりとはいかないのも仕方がないところです。今までのJavaのプログラミングスタイルからすると、ストリームのスタイルは大きく異なります。特に関数を用いて処理を指定していく方法は、今までのJavaではあまりありませんでした。 このスタイルは本連載の「Java SE 8のラムダ式はどうやって活用するか」で紹介した、高階関数を用いた関心の分離に他なりません。 そこで、今回は様々な処理をストリームで行うことにより、ストリームを使う上での考え方を紹介していきます。 条件に合致するものに対して処理を行う 拡張for文を使用してリスト1のような処理を書くことはありませんか。 リスト1●条件に合致した要素に対し処理を行う List<String> elements =
SQLのプログラミングは奥が深い。特にパフォーマンスの観点から、そう言えるだろう。 みなさんご承知の通り、同じ結果を出すプログラムでも、SQLの書き方次第で処理時間に何倍もの差が生じ得る。効率の悪いSQLを書いてしまう原因は、多くの場合、リレーショナルデータベースの内部動作やアプリケーションに関する理解不足である。両者をよく知った上で最適なSQLを書けるようになることは、システムエンジニアとしての重要なスキルの一つである。 特集『基礎から理解するデータベースのしくみ』では、リレーショナルデータベースの内部動作について、基本的な部分を分かりやすく解説している。SQLプログラミングに役立つことはもちろん、SQLチューニングやデータベース設計のための基礎知識としても不可欠だ。 イントロダクション ブラックボックスのままでいいの? Part 1:SQL文はどのように実行されるのか SQL実行までの
Webブラウザとテキストエディタさえあれば、プログラミングして実行できるシンプルで手軽な言語――。それがJavaScriptが初めて登場してからしばらくの間、多くの人が抱いた印象でした。しかし、Ajaxの登場に伴う第2のブーム以降、ハードルが高くなったように感じられます。 その大きな理由の一つが、DOM(Document Object Model)に基づくJavaScriptプログラミングでしょう。DOMは、HTMLやXMLを構成する各要素に対して、プログラムからアクセスして内部の情報を取得・変更したり、機能を利用したりするためのAPI(Application Programming Interface)です。DOMを使うことによって、WebページをリロードせずにWebページを部分的に書き換えたり、HTMLドキュメントの構造を動的に変えたりといったことが可能になります。 DOMは便利な仕組
HTMLやCSS、DynamicHTML、JavaScriptやPerl、Windowsコマンド、ネットワークコマンド、Linuxコマンドといった、Webサイト構築やアプリ開発に欠かせないプログラミング言語とコマンドのリファレンスマニュアルです。各項目のサンプルコードは、コピーし貼り付けてすぐに使えます。入門講座も用意しました。ぜひブックマークしてお役立てください。 HTML HTMLは、Webコンテンツを作成する上で、最も基礎となる記述言語です。各タグについての概要や属性などをサンプルを交えて説明します。 HTMLリファレンス(107項目) HTMLリファレンスの使い方 HTML入門 CSS CSSは、Webページのレイアウトなどといったコンテンツの見栄えを指定する記述言語です。各スタイルの概要や使い方を説明します。 CSSリファレンス(73項目) CSSリファレンスの使い方 CSSの基
Emacsは,LinuxをはじめとするUNIX系OS上において,前回に紹介したvi(「viエディタ入門」を参照)と並んで人気の高いエディタです。 Emacsは,しばしば「単なるエディタではなく,一つの環境である」といわれます。その理由は,ソースコードの編集,コンパイル,デバッグはもちろん,メールやWebブラウジングまでEmacsの中で完結できてしまうという,拡張性の高さでしょう。 今回は,Emacs入門を紹介します。 Emacsの概要 Emacsは,今から30年以上前,GNUプロジェクトの創始者であるリチャード・ストールマン(Richard Stallman)氏によって原型となるエディタが作られました。その後,様々なEmacsの実装が作られましたが,その中心となるのは,リチャード・ストールマン氏によるGNU Emacsです。この連載で取り上げている「Ubuntu(Ubuntu 8.04 L
「データベースはブラックボックス。どんなSQL文を投げたらどんな結果が返ってくるかさえ知っていればよい」---そう思っている人も多いかもしれません。 しかし,本物のソフトウエア・エンジニアを目指すのであれば,データベースが動く仕組みを学ぶことは避けて通れません。パフォーマンスなどに問題が生じたときどこから手を付けていいのか皆目見当がつかない,といった事態に陥りかねません。 市販のRDBMSの内部はかなり複雑ですが,基本的な部分を理解するのはそれほど難しくありません。この特集でデータベースの動く仕組みを理解してください。 イントロ ●ブラックボックスのままでいいの? 基礎から理解するデータベースのしくみ(1) Part1 ●SQL文はどのように実行されるのか 基礎から理解するデータベースのしくみ(2) 基礎から理解するデータベースのしくみ(3) 基礎から理解するデータベースのしくみ(4) 基
第0回 あらためてRuby入門 まつもとゆきひろ氏自身による「Ruby入門」をお届けします。日経Linuxの連載開始前の特別企画(2005年4月号)として,Rubyが他のスクリプト言語やオブジェクト指向言語とどこが違うのか,なぜ便利なのかを中心に解説してもらったものです。 ● 基本と他言語との違い ● 実装とRuby誕生の秘密 第1回 プログラミングとオブジェクト指向の関係 プログラマを目指す人々の中にも,「オブジェクト指向は難しい」とか,「なかなか分からない」という印象を持つ方が多いようです。そこで,Rubyを題材にオブジェクト指向という考え方について説明していきます。 ● その1 ● その2 ● その3 第2回 抽象データと継承 オブジェクト指向プログラミングを構成する3原則のうち,前回は「ポリモーフィズム」を学びました。今回はオブジェクト指向の歴史を復習した後,残りの「データ抽象」と
「DIする」,「インジェクション(注入)する」──新しい技術に敏感なソフトウエア開発者たちの間で使われている言葉である。DIとは,「軽量コンテナ」を実現する新しい設計思想Dependency Injection(依存性注入)の略称である。同じ概念をIoC(Inversion of Control,制御の反転)と呼ぶ場合もある(詳細は後述)。「DIする」と言えば開発者の間では通用するぐらいに,この設計思想は注目されているのだ。 DIが注目される理由は簡単だ。ソフトウエア開発者の開発サイクルを大幅に改善するからだ。筆者が司会を担当した「軽量コンテナ」に関するパネル・ディスカッション(注1)では,DIを適用した軽量コンテナ「Spring Framework」のおかげで「睡眠時間が確保できるようになりました」と複数のパネリストが真顔でコメントしたほどである。DIは,それだけ有効な技術なのだ。 注1
この記事は日経ソフトウエア2009年2月号(2008年12月24日発売)に掲載した,特別レポート「はてなインターン日記(下)」(著者:伊藤直也氏)の再掲です。再掲にあたって一部編集していますが,記述内容は執筆当時の情報に基づいています。 この特別レポートは,筆者が勤務するはてなが,大学生や大学院生の方を対象に開催した「はてなサマーインターン2008」のまとめです。就職を少し先に控えた学生の皆さんが,はてなの京都オフィスで,4週間にわたって技術的なトレーニングや,実際のアプリケーション開発を体験します。期間は4週間です。 2009年6月12日に掲載した上編では,前半の2週間,はてなスタッフが講師となって,はてなでの開発に必要な知識の講義と,それを確認する課題の様子を書きました。最終回の今回は,後半の2週間。インターン生がはてなの開発現場に所属して,はてなのシステムに何らかの機能を追加します。
この記事は日経ソフトウエア2009年1月号(2008年11月22日発売)に掲載した,特別レポート「はてなインターン日記(上)」(著者:伊藤直也氏)の再掲です。再掲にあたって一部編集していますが,ほとんどの記述内容は執筆当時の情報に基づいています。 2008年夏,筆者が勤務するはてなは,大学生や大学院生の方を対象に「はてなサマーインターン2008」を開催しました。就職を少し先に控えた学生の皆さんが,はてなの京都オフィスで,4週間にわたって技術的なトレーニングや,実際のアプリケーション開発を体験するプログラムです。 このインターンシップ,はてなにとって初めての試みでした。狙いは,Web業界または社会への貢献です。はてなは創業してもう7年,社長の近藤をはじめとするはてなスタッフは,企業の社会的責任として,業界あるいは社会に貢献したいという思いがありました。このインターンシップで,学生の皆さんにW
本連載第5回でiPod用のLinuxを紹介したが,音楽に焦点を当てた「Rockbox」というオープンソースでフリーのファームウエアがある(図1)。Rockboxは,WAV,MP3,Ogg Vorbis,FLAC,WavPack,AC3,AAC(128kbpsまで),Apple Lossless,の各ファイル形式を再生できる。WMAには対応していない。詳細はWebサイトにある。 iTunesの管理下にあるMP3とAACの曲も再生できる。iPodのオリジナルの状態と,Rockboxの音質を比較すると,明らかにRockboxの音質が向上しているのが分かる。この音質の差は,iPodに付属したインナーイヤー・タイプのヘッドフォンではなく,大口径のヘッドフォン,例えば「audio-technica ATH-AD300」のようなものを使うと,差がよりはっきりする。オーディオ・ファイルのデコードに関係する
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く