タグ

ブックマーク / xtech.nikkei.com (9)

  • Scalaで学ぶ関数脳入門

    オブジェクト指向や手続き型のプログラミングが散文であるとしたら、関数型プログラミングは俳句や短歌のようなものだ。関数型の利点の一つは処理を簡潔に記述できること。例えば、1~9の数値リストから偶数だけを抽出したいとき、関数型で書くなら「filter(lambda x:x%2==0, [1,2,3,4,5,6,7,8,9])」のようなコードとなる(Pythonの関数型機能を使った場合)。for文やループカウンタ用変数などは出てこないのだ。 しかし、関数型の入門者にとってはこの簡潔さが逆にハードルとなる。記述がシンプル過ぎて何をやっているのかよくわからないと感じてしまう。俳句や短歌を味わうのにその背景となる様々な事象を知らなければならないのと同様、関数型言語の簡潔な記述を読みこなすには、関数型特有の様々な概念の理解が必要なのだ。学習の初期段階では細かい文法やライブラリの使い方よりも、「高階関数」

    Scalaで学ぶ関数脳入門
  • 便利なコマンドの使い方(2:「diff」「grep」の使い方)

    ファイル操作のコマンド これまでの連載においても,ファイル操作に関するコマンドをいくつか紹介してきました。ここでは,テキスト・ファイルを操作したり,Windowsのファイルにアクセスするためのコマンドを紹介します。 ●cat コマンドcat*5は,「ファイルを連結する」コマンドです。「Linux全般編 ファイルの仕組みと操作法(4)」ではファイルを標準出力に渡す*6ためだけに利用しました。ここでは,catコマンド来の機能であるファイルの連結を紹介します。 例えば,ファイルfile1とfaile2を連結し,ファイルfile3を新たに作成するには, と入力します。catコマンドの出力先は標準出力ですので,シェルのリダイレクション機能で出力先を切り替えています。連結するファイルには,3つ以上のファイルを指定することもできます。 ●split ファイルの連結と逆の操作,すなわち分割を実行するコマ

    便利なコマンドの使い方(2:「diff」「grep」の使い方)
  • 第4回 簡単なRSSリーダーを作ってみる - Androidで広がる,携帯アプリ開発の世界:ITpro

    前回までの3回で、Androidアプリケーションの開発に必要なSDKの導入方法や、Android Marketへの申請方法を一通り説明してきた。この回からは、シンプルなRSSリーダー・アプリケーションの開発を通じて、アプリ開発の実際の手法や必要な知識を紹介していく。 実践的な内容も多少含んでいることから、Java言語の基礎に加えて、Androidアプリ開発の基礎をある程度習得している読者が対象になるが、Androidアプリの自作を考える読者にとっては、参考になるだろう。 基的な開発作業の流れを中心に、アクティビティの実装部分についてもほんの触りだけだが、解説していく。 開発するRSSリーダーの概要 今回、題材として開発を進めていくRSSリーダーは、ITproがすでにAndroid Marketで公開しているニュース・リーダーの機能縮小版という位置付けのアプリである。Android端末をお

    第4回 簡単なRSSリーダーを作ってみる - Androidで広がる,携帯アプリ開発の世界:ITpro
  • ディジタル通信の基礎---目次

    ディジタル通信では,情報を“1”または“0”の符号にして伝送します。“1”と“0”の情報は,電気信号のパルスの形で送られます。またこのとき,“1”または“0”を表す単位を「ビット」と言います。通信回線の性能は,1秒間に送れるビット数で決まります。 「このパソコンは33.6kbpsのモデムを使っているので,インターネットにつなぐとかなり速いよ」,「でも,ISDNは64kbpsだからもっと高速だ」--などという会話をよく耳にします。ここで使われている「ビット・パー・セカンド」(bps,b/s,ビット/秒などと書く)とは,ディジタル信号の伝送速度(ビット・レート)を表す単位です。つまり,1秒間に何ビットのディジタル信号を送れるか,ということです。例えば,1秒間に8ビットの信号を送れば,伝送速度は毎秒8ビット,すなわち8bpsです。 ディジタル通信の基礎 第1回---「ビット・パー・セカンド」とは

    ディジタル通信の基礎---目次
  • ディジタル通信の基礎 第13回---パケットとフレームはどう違うのか?(下)

    ディジタル通信の基礎 第13回---パケットとフレームはどう違うのか?(下) パケットとフレームの違いを理解しよう パケットをフレームに入れて送る 元のデータから作ったパケットを,そのまま続けて通信回線に送出すると,パケットとパケットの境目がわからなくなってしまいます。また,伝送中にビット・エラーが生じたり,パケットが失われたりすると,正しいデータを送ることができません。 こうした問題を解決するために用いられるのがフレームです。パケットはある端末から目的の端末に運ばれます。その過程において,端末と交換機の間または交換機同士の間で,パケットを運ぶのがフレームの役割です。フレームは,パケットの始まりと終わりを示す信号(フラグ),ビット・エラーを検出するために使う信号,フレームの順番を示す番号などを,パケットに付け加えて作ります。 交換機の中には,フレームのレベルで中継する“フレーム交換機”とい

    ディジタル通信の基礎 第13回---パケットとフレームはどう違うのか?(下)
  • IEEE802.11n

    IEEE802.11nは,スループットで100Mビット/秒超を目指す高速版の無線LAN仕様である。現在使われているIEEE802.11aと同11gの最高伝送速度は54Mビット/秒。これらは,メーカー独自の技術を使わない限り,スループットは最高でも25Mビット/秒程度にとどまる。これに対してIEEE802.11nは,802.11a,同11gと同じ帯域幅ながら,複数の技術を組み合わせて,伝送効率を4倍程度高める(図)。 まず最初にMIMO(multi-input,multi-output)という技術を使う。これは,複数のアンテナによって帯域当たりの伝送速度を高速化する技術である。IEEE802.11nの規格では,送信用と受信用のアンテナをそれぞれ2にする。これで,伝送速度は単純に2倍になる。さらに,データを符号化するときの効率を上げるという工夫を組み合わせることで,伝送速度を140Mビット/

    IEEE802.11n
  • MIMO

    MIMOとは多入力・多出力という意味で,無線通信方式の一つ。現在,標準化作業が進められている次世代の無線LAN規格IEEE802.11nを実現する伝送技術として有望視されている。 特徴は,複数のアンテナでデータを同時伝送する点にある。MIMOは複数のアンテナを使うことで生じる複数の経路を独立した伝送路と見立てて,各アンテナがそれぞれ異なるデータを同時に送受信する。このため,アンテナの数に比例して伝送速度が向上する。 アンテナを2使った例で説明しよう(図)。送信側の端末はデータを2分割し,それぞれを別々のアンテナから送信する。一方,受信側のアンテナには送信アンテナ1から送信された信号と,送信アンテナ2からの信号が合成された形で届く。したがって,受信側では合成された信号から,元の信号に戻す必要がある。 そこで,受信側端末は信号が伝わる経路の伝達特性をあらかじめ調べておく。例えば,「送信アンテ

    MIMO
  • マルチアンテナ 通信速度を数倍にするMIMO:ITpro

    最後に高速無線LAN規格「IEEE 802.11n」でも採用された高速化技術「MIMO」を取り上げる。MIMOは,送信データをあらかじめ複数の信号(ストリーム)に分割し,それらを複数のアンテナから同じ周波数帯域で同時転送する方式である(図1)。受信側も複数のアンテナを備える必要があるが,送信側と受信側でアンテナの数を合わせる必要はない。 図1●通信速度を数倍に高める「MIMO」 送信データを複数の信号(ストリーム)に分け,複数のアンテナでそれらの信号列を同時送信する方式。受信側も複数のアンテナで受信する。受信電波はそれぞれのアンテナが送信した電波の合成波であるが,それぞれのアンテナから送られてくる電波の経路別のひずみを演算処理して,元の信号を取り出す。この原理により,二つの信号(2ストリーム)に分けたときは伝送速度が2倍に,三つの信号(3ストリーム)のときは3倍になる。 [画像のクリックで

    マルチアンテナ 通信速度を数倍にするMIMO:ITpro
  • [LTE-3]多値変調とMIMOで高速化,OFDMで無線リソースを効率的に割り当て

    前回は,LTEの仕様策定時の要求条件を解説した。その後,仕様の詳細化に伴い,これを実現する具体的技術が3GPPの仕様として承認されている。さらに,商用化に向けた開発の中でも,これらの仕様が現実のものとして具現化される見通しが得られている。今回は,これらの高速化を実現する具体的な方法について解説する。 高速化を実現する三つのアプローチ 高速化を実現するアプローチは大きく三つある。(1)広帯域化,(2)変調信号の多値化,(3)空間の利用――である。以下,順に見ていく。 広帯域化のアプローチでは,帯域を広げることにより高速化を実現する手法である。一般に,帯域がn倍になれば,原理的にn倍の高速伝送が可能となる。 ただし,広帯域化すると,建物などによって反射されてくる信号が次の信号と重なり合うことにより,いわゆるマルチパス干渉の発生が問題となる。このためLTEの下りリンクでは,マルチパス干渉に強いO

    [LTE-3]多値変調とMIMOで高速化,OFDMで無線リソースを効率的に割り当て
  • 1