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

  • EclipseでScalaプログラミングを始めるための基礎知識

    EclipseでScalaプログラミングを始めるための基礎知識:スケーラブルで関数型でオブジェクト指向なScala入門(1)(1/3 ページ) 人気の「Scala」を一から学ぼう 最近、私の周りでもScalaに関する話題が増えてきました。Twitterやブログ、技術系のニュースサイトでは毎日のようにScalaに関連する話を見かけます。 また、筆者が現在携わっているプロジェクトでも実際にScalaを用いて開発しています。いままではJavaで開発をすることが多かったのですが、それよりも簡潔で柔軟性のある記述が可能であり、Scalaでの開発は非常に生産性が高いと感じています。 連載は、Scalaの特徴を紹介し、基構文や関数、クラスなど、Scalaの基的な機能について解説していきます。何らかのプログラミング言語を学んだことがあり、プログラミングの基的なことが分かる人を対象としています。特に

    EclipseでScalaプログラミングを始めるための基礎知識
  • GitHubをもっとソーシャルに使いこなすための7つ道具

    新サービスが続々登場してアツい! 「GitHub」とは 皆さんは「GitHub」を活用しているでしょうか? 「GitHub」(ギットハブ)はソースコード管理用の分散型バージョン管理システム「Git」を使ったホスティングサービスです。 Gitの特徴は、作業用として自分のコンピュータ上にあるローカルリポジトリがあれば、ネットワークに接続できない状態だったとしても、ソースコードの更新や、履歴を調べたりできる点にあります。その特徴はGitHubにも生かされていて、オープンソースとして公開中の既存のコードを分岐(fork)して、新しいプロジェクトとして開発できます。 また、自分が手元のローカル環境でバグ修正したり、拡張したソースコードを家のオープンソースプロジェクトに取り込んで(pull)もらうことも手軽にお願いできます。 さらに、READMEテキストファイル(README.md)などを独特のマー

    GitHubをもっとソーシャルに使いこなすための7つ道具
  • WebSocketで目指せ“リアルタイムWeb”!第1回 node.jsの衝撃とWebSocketが拓く未来 - @IT

    ご挨拶 こんにちは、ロンドンのNew Bambooという会社でWebエンジニアとして働いている@makoto_inoueです。ここのところ、PusherというWebSocketのクラウドサービスの開発に関わっています。今回から3回に渡ってWebSocketに関する短期連載を担当させていただきます。 私を含めたNew Bambooの面々(我々は自分たちのことをBambinoと呼んでいます)がWebSocketになぜ興味を持ったかということからはじまり、実際にクラウドサービスを始めるまでにいたったストーリーをお話ししたいと思います。そのストーリーを通じて、WebSocketが切り開く「リアルタイムWeb」な世界への可能性や技術的課題を皆さんと共有できればと思っています。

    WebSocketで目指せ“リアルタイムWeb”!第1回 node.jsの衝撃とWebSocketが拓く未来 - @IT
  • 「つぶやき」アプリを改修してみよう(前編) - @IT

    ここからは、「実際に動作するコードがあると想定して、そのコードが正しく利用できることを確認するためのコード」、すなわちテストコードを書いていきます。 ここでは、先ほど検討したUserとHitokotoの関連が実装できたと想定して、それぞれのクラスから、関連するクラスを取得するためのテストコードを書いてみましょう。 なお、今回実装する番コードは、Ruby on Railsのアソシエーション機能を利用するだけのシンプルなものですので、テストコードを書くまでもないと感じられるかもしれません。しかし、稿では実際のテストコード実装を含めた開発イテレーションを紹介するために、あえてテストコードを実装し、テスト実行の過程を追っていきます。 ユニットテストコードは[Railsエクスプローラー]のtsubuyakiプロジェクト以下、[テスト]-[ユニットテスト]以下に書いていきます。まずは、[ユニットテ

  • いまさら聞けないiPhone/iPadアプリの作り方の基礎

    いまさら聞けないiPhone/iPadアプリの作り方の基礎:SDKで始めるiPad/iPhoneアプリ開発の勘所(1)(1/4 ページ) 初めてiPhone/iPadアプリ開発に挑戦する人が、迷わず短時間でアプリを作れるように、数多くの情報の中から要点をグっと絞った開発の勘所を紹介する入門連載です 迷わず短時間でiPhone/iPadアプリを作れるように 皆さんのお気に入りのiPhone/iPadアプリは何でしょうか。筆者は、Googleカレンダーと同期してくれるスケジュール管理アプリがお気に入りです。いまでは目的のアプリを探すのも大変なほど、日々多くのiPhone/iPadアプリが登場しています。 6月8日にはiPhone 4の発表があり、マルチタスクやモバイル広告ネットワーク、ゲーム開発など、iPhone OS改め、iOS 4で実現できる機能がたくさん追加され、さらに魅力的になりました

    いまさら聞けないiPhone/iPadアプリの作り方の基礎
  • 企業LANへのIPv6導入のポイント

    最近、IPv6に関する動きが盛んです。「IPv6なんてまだ必要ない」という意見も聞かれたりしますが、IPv4に限界が見えている以上、遅かれ早かれIPv6への流れは必然だといえます。長期的視点で見れば、いまはまだ導入の段階に至っていなくても、将来的な導入に備えて知っておくべきことはいろいろあるはず。導入の際に役立つノウハウ、最新情報など、まとめて連載形式でお届けします(編集局) ここ数年で、アジアやヨーロッパでIPv6を盛り上げる動きが盛んになっている。その中でも、日の動きが世界で一番早い。ところが、実際にIPv6ネットワークを運用する経験を持っているネットワーク管理者は、それほど多くないのが現状であると推測される。 連載では、企業LANをIPv6対応させるときに気を付けるべきことを説明しながら、IPv6ネットワーク構築のノウハウを具体的に説明していく。今回はまず「自社ネットワークをIP

    企業LANへのIPv6導入のポイント
  • RJSなら数行のRubyコードでAjaxアプリを作成できる

    RJSなら数行のRubyコードでAjaxアプリを作成できる:Ruby on RailsのRJSでかんたんAjax開発(後編)(1/4 ページ) ほんの数行のRubyコードで、Ajaxアプリケーションを 今回は、前回の「かんたんAjax開発をするためのRuby on Railsの基礎知識」に引き続き、Ruby on Rails(以降、Rails)が提供するRJSを使用したAjaxの開発の仕方について解説しています。 まだRailsを使ったことがない方でも大枠の理解ができるように、前回はRuby言語やRailsの基部分を解説しました。後編である今回はいよいよ題のRJSの解説をメインに進めていきます。RJSを利用すれば、ほんの数行のRubyコードを書くだけで、非常に簡単にアプリケーションをAjax対応できることを解説していきます。 もう一度、サンプルをおさらい 今回のサンプルプログラム(拡大

    RJSなら数行のRubyコードでAjaxアプリを作成できる
  • プログラミングは人生だ――まつもとゆきひろ ― @IT

    私がプログラミングを始めたのは中学校3年生のときでした。父が買ってきたシャープのポケットコンピュータ(PC-1210)でBASICを使うようになったのです。わずか400ステップしか入力できない小さなコンピュータでしたが、それでも自分の命令したとおりに動作するポケコンを見ていると、自分にはなんでもできるようなそんな「万能感」を感じさせてくれました。 それから四半世紀以上たちましたが、私がプログラミングから感じる「わくわく」は少しも減ることはありません。むしろ、どんどん増えているように感じます。長いプログラム経験を踏まえて、いま、感じるのは、 プログラミングは人生だ ということです。プログラムには人生のあらゆる側面が詰め込まれています。文字どおり、人生そのものといってもいい過ぎではないでしょう。……うーん、やっぱり、いい過ぎかな。 プログラミングはスポーツだ 皆さんの多くは若いときにスポーツに

  • Twitterの面白さが分からない!? そんな人にこそ「Togetter」! - @IT

    2010/02/19 Twitterが新しいコミュニケーションのプラットフォームとなるという予感は多くの人が持っていると思う。それはTwitter上で今まで見えなかったものが可視化され、新しいコミュニケーションが生まれているからだ。ソフトバンクの孫正義氏や楽天の三木谷浩史氏がダイレクトに利用者とコミュニケーションするようなシチュエーションは、これまで考えづらかった。 こうした新しいコミュニケーションに加え、Twitterが利用価値を高めているのは、Twitterを土台にして新しい使い方やアイデア、サービスが次々に誕生しているからだろう。 140字という気軽さから多くの人が心情や情報をアウトプットし、シェアする。あるいは“ボット”と呼ばれる機械(サーバ上のプログラム)までがリアルな世界のアップデートをつぶやくようになる。後は、それをどうフィルタし、加工し、検索し、統計処理するかという話になっ

  • @IT:Ubuntuで始めるクラウドコンピューティング(1/3)

    Amazonとユーカリ、コアラが好きなのはどっち?~ Ubuntuで始めるクラウドコンピューティング Ubuntu 9.10には、EucalyptusをベースにしたAmazon EC2/S3互換の仮想化環境構築ソフトウェア「Ubuntu Enterprise Cloud」(UEC)が含まれています。早速試してみませんか(編集部) Ubuntu Japanese Team/株式会社創夢 吉田 史 2009/11/25 EucalyptusとUEC 10月29日にリリースされたLinuxディストリビューション「Ubuntu 9.10」(開発コードネーム“Karmic Koala”)には、「Ubuntu Enterprise Cloud」(UEC)という、Amazon EC2/S3互換の仮想化環境構築ソフトウェアセットが含まれています。 UECはUbuntu 9.10の主要機能の1つとして開発

    mappochi
    mappochi 2009/11/26
    Ubuntu 9.10には、「Ubuntu Enterprise Cloud」(UEC)という、Amazon EC2/S3互換の仮想化環境構築ソフトウェアセットが含まれています。
  • pushd/popdでフォルダーを移動する

    cdコマンドで移動すると履歴が残らず、元のフォルダーへ戻るのが面倒である。pushdコマンドで移動すると、履歴がスタックに残り、popdコマンドで簡単に戻ってくることができる。引数なしでpushdコマンドを実行すると、履歴が表示される。 解説 コマンドプロンプト上で作業をする場合、あちこちのフォルダーへ移動しながらファイルを操作したり、コマンドを実行したりすることが多い。Windows OSに限らず、コマンドや設定ファイル、ログファイルなどは複数のフォルダーに分かれて置かれているため、このような移動は避けられない。もしフォルダーを移動せずに作業しようとすると、全てのファイルパスをフルパスで指定しなければならず、とても煩わしくなるからだ。 ●cdではなく、pushdコマンドで移動する フォルダーを移動する場合、コマンドプロンプトでは「cd」コマンドを利用する。引数に移動したい先のフォルダー名

    pushd/popdでフォルダーを移動する
  • グーグル、コアJavaライブラリ「Guava」をOSSで公開 - @IT

    2009/09/17 グーグルは9月15日、Java 1.6向けのコアライブラリ「Guava」のソースコードをApache2.0ライセンスで公開した。Guavaはグーグル社内のJava関連プロジェクトの多くで使われているという。APIのドキュメントと概要説明資料も同時に公開されている。JDK6で使えるほか、AndroidGoogle App Engineでもおそらく使える、としている。 これまでグーグルは自社プロダクトで使っている基盤技術として言語非依存のシリアライザ、「Protocol Buffers」やC++向けモック・フレームワーク「Google C++ Mocking Framework」、メモリ管理・パフォーマンス解析ツールの「Google Performance Tools」などを公開してきた。Java関連ではAjaxツールキットの「Google Web Toolkit」、D

  • SNSとアプリのID連携もかんたんに実現するOpenPNE

    SNSとアプリのID連携もかんたんに実現するOpenPNE:社内SNSをOpenPNEで作ってみよう(2)(1/2 ページ) 前回は社内SNSそのものの説明、業務に役立つ使い方・楽しみ方やSNSのオープンソースソフトウェアであるOpenPNEのセットアップについて解説しました。 今回は社内SNSとID管理の関係やOpenPNEを使ったほかのアプリケーションとのID連携の仕方について解説します。 社内SNSのように、特定の目的を持った組織の中での情報交換は、ID管理が非常に重要になってきます。 社内SNSはIDの管理・連携が重要 さて皆さんは、社内SNS以外にも多くのアプリケーションを使い分けていると思いますが、複数のアプリケーションに対して、それぞれのアカウント(ID)を使い分けるのは、管理が複雑になり大変なものですよね。 会社の機密管理のためにも、アカウントが分散することは非常に危険です

    SNSとアプリのID連携もかんたんに実現するOpenPNE
  • KVMの導入と基本的な使い方

    アナウンス後わずか2カ月でLinux Kernelにマージされたことで一躍注目を浴びることになった仮想化技術「KVM」。しかし、その具体的な仕組みや使用方法となると、意外と知られていないのではないでしょうか。この連載ではそんなKVMについて紹介します(編集部) 前回「Linux標準の仮想化技術『KVM』の仕組み」では、、KVM(Kernel-based Virtual Machine)の概要について説明しました。今回はそれを踏まえて、基的な使い方を説明します。KVMはGUIツールで操作することもできますが、今回は基を押さえるため、すべてコマンドラインで行ってみましょう。 実際にKVMを使う場合にはGUIツールを使うことが想定されますが、コマンドラインでの操作を押さえておけば、GUIツールの裏側で実際に何をやっているのかを理解できるかと思います。 今回の話の流れは以下のとおりです。

    KVMの導入と基本的な使い方
  • Javaプラットフォームを進化させるJRuby - @IT

    「JVM上で不可能なことなど何もない」(Nothing is impossible on the JVM)――、こう話すのはJRubyでコア開発メンバーを務めるチャールズ・ナッター氏だ。2009年6月1日、米国サンフランシスコで開催されたCommunityOne(JavaOne)で講演したナッター氏は、JavaVM上にRuby処理系を実装した経験について話した。当初まったく実現不可能に思えたプロジェクトで、どう障害を乗り越え、その取り組みがいかにJavaプラットフォームに影響を与えているかについて解説した。講演のタイトルは「不可能を超えて:JRubyはいかにJavaプラットフォームを進化させたか」(Beyond Impossible:How JRuby Has Evolved the Java Platform)だ。 Ruby on JVM!? そんなの実現不可能! もともとJava言語向

  • 21世紀の教養は、「社会貢献」と「運動」である

    現代人に体を鍛えることの重要性を強く訴えている人がいる。パーソナルトレーナーの肥塚隆裕氏だ。肥塚氏は、全米ストレングス&コンディショニング協会パーソナルトレーナーの資格を持ち、トレーニング指導や講演、ブログ執筆、ボディビルディング競技など幅広いジャンルで活動している。そんな肥塚氏の肩書は「社会派パーソナルトレーナー」。自身のブログ「ツッコミおやじのフィットネス川柳」では、「フィットネスが社会を救う」というスローガンを掲げ、川柳を通してフィットネスと社会とのかかわりを示している。その目的は、「現代人の筋肉を鍛え直すことで人々が健康で幸せな人生を送れるようにすること」(肥塚氏)だ。 肥塚氏が考える、現代人が体を鍛えることの重要性の中から、今回は(1)福祉、(2)環境、(3)教養の3つにスポットを当てる。 (1)フィットネスは「福祉」を救う 肥塚氏は、寿命が長くなっているにもかかわらず、寝たきり

    21世紀の教養は、「社会貢献」と「運動」である
  • MySQLがフォークか、オープンアライアンスが誕生 - @IT

    2009/05/14 オラクルによるサン・マイクロシステムズ買収で注目が集まるOSSプロダクトの1つ「MySQL」に異変が起きている。MySQLのオリジナル開発者で創業者でもあるマイケル・ウィデニウス(Michael Widenius)氏は5月13日、オープンソースコミュニティベースでMySQL関連の開発やサポートを行うためのハブとなる「The Open Database Alliance」(ODA)の設立を発表した。 PostgreSQLと並んでオープンソース界でデータベース製品のデファクトスタンダードとなっているMySQLは、サン・マイクロシステムズに2008年1月に買収されたことで同社の一部門に。その後、2009年4月にオラクルがサン・マイクロシステムズを買収すると発表したことから、開発体制やライセンスモデルなどを巡って憂慮の声や憶測が流れていた。オラクルのデータベース製品との整合性

  • VLANの基本的な仕組みを攻略する

    VLANの目的とは? VLANとは“Virtual LAN”の意味だが、実際には「仮想サブネット」といい換えた方がイメージしやすいかもしれない。一般にVLANという場合、スイッチの内部で複数のネットワークに分割する機能のことを指す。すでに定着した技術だが、無線LANの利用拡大やVoIPのような新しいネットワーク・アプリケーションの普及、セキュリティに対する関心の高まりなどの理由により、最近あらためて注目されている。ここでは、VLANの基的な知識を再確認し、その実情を把握する一助としたい。 VLANの使用目的は、「ネットワークを任意に分割する」ことである。「EthernetはCSMA/CD方式のネットワークなので、ノードが増えると急速にパフォーマンスが劣化する」というのは、技術的にはいまでも同じだが、利用の現実からするともう過去の話になったといっても過言ではないだろう。シェアードハブの利用

    VLANの基本的な仕組みを攻略する
  • Debianがglibcの派生版「eglibc」を採用へ - @IT

    2009/05/07 Debian GNU/Linuxで、C言語の標準ライブラリである「GNU C Library」(glibc)が、その派生版である「Embedded GLIBC」(eglibc)に置き換わる可能性が出てきた。現在はまだDebianの開発版に入る前という段階だが、もし実現すれば、Debian系のディストリビューションであるUbuntuやKnoppix、Xandrosでも置き換わる可能性が高い。家ともいえるFree Software FoundationのGNU版のライブラリをさしおいて、派生版がDebianに入る可能性が高まったことで、ちょっとした波紋が広がっている。eglibcプロジェクトではglibcとの高い互換性を目標に掲げているものの、glibcは、Linux上のサーバソフトウェアを含む多くのアプリケーションが依存しているライブラリだけに、今後の影響範囲が見えづ

  • 仮想化ソフトの新バージョン、vSphere 4の機能とは

    ヴイエムウェアが4月22日に発表した「VMware vSphere 4」は、拡張性を高めるとともに、管理性を向上する多数の機能を搭載した製品だ。 各仮想マシンに構成できるCPU数は従来の4論理CPUから8論理CPU(インテルのハイパースレッディングを有効にした場合は4物理CPU、無効にした場合は8物理CPU)、メモリ量は従来の64GBから256GBに拡大する。IOPSは従来の10万から20万以上に向上する。例えばeBayのWebトラフィックを、サーバ当たりこれまでの3倍処理できるようになったという。 vSphere 4.0の主な新機能は、VMware FT、Storage Thin Provisioning、VM DirectPath I/O、vNetwork Distributed Switch、vShield Zonesなどだ。 VMware FTは仮想マシンレベルでノンストップ環境を

    仮想化ソフトの新バージョン、vSphere 4の機能とは