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

  • Part1 誰でも作れるプログラム言語

    “プログラム言語*1を作る”って一体どういうこと?──この特集のタイトルを見てそう思った方もいるでしょう。最初に,その疑問にお答えしましょう。 普段,皆さんはプログラミングをするとき,出来合いのコンパイラやインタプリタを使っている方がほとんどだと思います。最初にプログラム言語を選んだとき,実際は,その言語を使ったプログラミングに必要なコンパイラやインタプリタを含む「プログラム言語処理系」(単に処理系と呼ぶことが多いです)を選んでいるわけです*2。 コンパイラやインタプリタなどの処理系は,アプリケーションを開発するための基盤となるソフトウエアですから,中身を知らなくてもきちんと動くことが前提です。正しくプログラムを書けば,実行可能なファイルを生成(インタプリタの場合はすぐに実行)しますし,プログラムが間違っていればエラーを返します。それが具体的にどんな処理をしているのかを気にすることはありま

    Part1 誰でも作れるプログラム言語
    haiju
    haiju 2009/03/01
    programming program lang
  • 生年月日から年齢を計算する簡単な計算式:ITpro

    私の個人ブログに掲載したら好評でしたので、こちらでもご紹介してみます。 最近知ったんですが、生年月日から年齢を計算する簡単な計算式というのがあるそうです。 (今日の日付-誕生日)/10000の小数点以下切捨て。 PHPで書くと echo (int)((20070823 - 19850101)/10000); Perlで書くと print int ((20070823 - 19850101)/10000); JAVAで書くと System.out.println( (int)((20070823 - 19850101)/10000) ); という感じになります。 日の法律を確認してみました。誕生日の前日が終了する瞬間(すなわち誕生日をむかえる午前0時00分の直前)に1歳を加えることになる。ただしうるう年など、年によって期間を定めた場合において最後の月に応当する日がないときは、その月の末日を

    生年月日から年齢を計算する簡単な計算式:ITpro
    haiju
    haiju 2009/03/01
    algorithm tips 年齢計算
  • 技術者交流会への正しい参加の仕方を考える

    ちょっと調べてみるだけでもいろいろな技術者交流会が開催されていることがわかります。私もたまに技術者交流会に参加するのですが、その際好奇心から他の参加者に対して技術者交流会の参加理由を尋ねることがあります。そこで一番多い回答が「人脈作り」と「業界情報を仕入れる」です。しかし残念なことにそのような回答をなさった方々は結果的に人脈も作れなければ、業界情報を仕入れることもできない場合がほとんどなようです。そこで今回は技術者交流会への正しい参加の仕方を考えてみました。 1.技術者交流会で期待できること 私の経験から、技術者交流会で期待できることは次の3つです。 知り合い作り (あえて人脈作りとは言わない) 飲み友達作り (技術的なテーマや趣味などの部分で盛り上がれる友達を作る) ビジネスアライアンス作り (利害関係が一致することで新しいビジネスが産まれる) ここには「人脈作り」とか「業界情報を仕入れ

    技術者交流会への正しい参加の仕方を考える
    haiju
    haiju 2009/03/01
    communication IT
  • 定番アルゴリズムを徹底理解! - 今からでも遅くない!アルゴリズム入門:selfup

    このパートでは,プログラミングを勉強するうえで欠かせないアルゴリズムの中でも定番中の定番を紹介します。ソート(並べ替え)やサーチ(検索)などの機能は今では標準のライブラリとして提供されています。実用的なプログラムを作るときにそのものずばりをいちいち書く機会は少ないかもしれません。しかし定番のアルゴリズムは,様々に形を変えて普段のプログラミングに登場します。 解説を読んで仕組みがわかったら,ぜひそれをプログラムにしてみてください。読んだだけではプログラムを書けるようにはなりませんし,プログラムを書いてみて初めて,実は十分に理解できていなかったと気付くことがよくあります。しかもアルゴリズムは特定のプログラミング言語に依存しないので,一度身に付ければ,後でどんな言語を学ぶ場合でも役に立ちます。 1番目から6番目まではソートのアルゴリズム,7番目から9番目まではサーチのアルゴリズムです。一つひとつ

    定番アルゴリズムを徹底理解! - 今からでも遅くない!アルゴリズム入門:selfup
    haiju
    haiju 2009/03/01
    algorithm programming
  • リアルな映像を作るグラフィックス・アルゴリズム

    3次元コンピュータ・グラフィックス(3DCG)の世界で,リアリティは非常に重要なテーマです。リアルな3DCGを作るため,これまで様々な研究/開発がなされ,その成果は映画やビデオ・ゲームなどで誰でも目にすることができるようになっています。そして,現在でもさらなるリアリティの追求のため,日々研究や開発が続けられています。このパートでは,そうしたリアルな3DCGの裏側にある技術の一端をお見せします。 3DCGのリアリティは「形状」「色/質感」「動作」という三つの要素に分けて考えることができます。これらが技術的にどのような難しい点を含んでおり,どのように解決されてきたかは,最後のカコミ記事「3DCGのリアリティを実現する三つの要素」を参照していただくとして,これらの三要素が一定の水準に達したところで浮かび上がってきた,ある問題に焦点を合わせてみましょう。それは自然な動作の大量生成が難しい,という問

    リアルな映像を作るグラフィックス・アルゴリズム
    haiju
    haiju 2009/03/01
    algorithm 3d graphic
  • Part6 組み込みOSってどんなもの?

    まるごと大特集OS完全理解!の最後に,Mac OS XのUNIXな使い方に続いて,組み込みシステムを説明します。ちなみに,組み込みシステムに関しては,組み込みLinux入門でも紹介しています。 携帯電話,湯沸かしポット,エアコン,カーナビ,自動車,産業用ロボット──現在の私たちの身の回りには,マイクロプロセサが組み込まれ,制御を行っている機器が数多くあります。規模の大小を問わず,こうした機器制御のために組み込まれるマイクロプロセサのことを「マイコン」と呼び,マイコンを含む制御システムのことを「組み込みシステム」と呼びます(図1)。 図1●機器制御を行う「マイコン」を組み込んだ「組み込みシステム」は,私たちの身の回りの様々な機器に使われている [画像のクリックで拡大表示] 組み込みシステムにおいても,ソフトウエアの機能拡張や複雑化に伴い,必要に応じてOSが搭載されます。特集では,そんな組み

    Part6 組み込みOSってどんなもの?
    haiju
    haiju 2009/03/01
    os 組み込み
  • Part4 仮想マシンの仕組みを理解する

    Part1「今さら聞けないOSの疑問」,Part2「これがWindows Vistaだ!」,Part3 「Windows XP Tips 25 」に続いてPart4は,Javaなどで用いられている『仮想マシン』を解説します。 Java技術が誕生したのは1995年。誕生してからすでに10年以上の歳月が流れました。登場当初はばく大なメモリーを消費するとか,とにかく遅いという理由で敬遠されがちでしたが,現在ではWebアプリケーションを中心に幅広く普及しています。遅いという欠点も徐々に克服していき,今では性能が重視されるバッチや組み込み系のアプリケーション,変わったところでは火星探査車両の制御にも利用されるようになりました。 ここまでJavaが普及した大きな要因の一つに,一度作成したプログラムが多様なOSの上で動作するという点が挙げられます。この特徴を表す標語として「Write once, run

    Part4 仮想マシンの仕組みを理解する
    haiju
    haiju 2009/03/01
    VM
  • プログラム言語を作る!---目次

    プログラム言語は使うだけの道具ではありません。アイデアとやる気があれば,自分にとって一番使いやすいオリジナルの言語を作ることだってできるのです。言語処理系の実装には,ソフトウエア開発の様々な技術やノウハウがぎっしり詰まっています。何より,とてもクリエイティブで楽しい作業です。プログラムはどのようにして解析/実行されるのかといった言語処理の中身を知るだけでも,普段のプログラミングに大きなプラスになります。 誰かが作った言語をただ使うだけの日常からちょっと離れ,言語処理の世界を探検してみましょう!

    プログラム言語を作る!---目次
    haiju
    haiju 2009/03/01
    programming language development
  • Google/Amazon/Yahoo! Webサービス徹底活用:ITpro

    Web 2.0というキーワードが登場するなか,注目を浴びてきたのが「Webサービス」です。数年前,華々しく登場したわりにはパッとしなかったこの技術も,ようやく実用的になってきました。Google Web APIs,Amazon WebサービスYahoo! Webサービス…など,いずれもプログラマの好奇心をくすぐるものばかりです。また,Google Homepage APIのような,手軽にプログラミングの対象となるサービスも出てきました。 この特集では,これらWebに公開されているプログラミング・インタフェースをまとめて「Web API」と呼び,実際の活用テクニックを紹介します。Googleの検索エンジンのパワーが,Amazonの商品データベースが,あなたのアプリケーションの中で使えるのです。とにかく,トライしてみましょう!

    Google/Amazon/Yahoo! Webサービス徹底活用:ITpro
    haiju
    haiju 2009/03/01
    Webサービス programming
  • あなたもコンサルタントになろう---目次

    はじめまして。コンサルタントの金子です。読者の皆様の大半はプログラマの方で,「コンサルティングなんてオレには関係ない」とか,「適当なことを言って高い報酬を得ている」などと思っているかもしれません。この連載は,そのような誤解を解くと同時に,等身大の身近なコンサルティング・テクニックを,いかにして情報戦略の立案といった難しいテーマに応用していくかをやさしく解説するものです。コンサルタントという職業につこうとしている人でなくても,役に立つところがあるのではないかと思います。初回は,コンサルティングの最も基的な立脚点である「わからない」ということを中心に,お話を進めます。最後まで,気楽におつきあいください。 目次

    あなたもコンサルタントになろう---目次
    haiju
    haiju 2009/03/01
    コンサルタント
  • 第6回 「時間軸で情報を整理するソーシャル・タイムライン」

    1965年愛知県生まれ。多摩美術大学卒業。石橋を叩いて渡るA型。美術大学卒業のキャリアを活かして,あちこちでWebデザインの原稿とか書くくせに,サイト全部のHTMLをマメに書くのが面倒だから自分のサイトもブログ・システムに変えてしまった不精者。つまり今回のテーマであるWeb APIを語るには,まさにうってつけのWebプログラム系フリーライター。http://www.japan.xitami.net/ 世の中には当にたくさんのWebサービスが存在します。そしてほとんどのWebサービスの多くは“今,何が起きているか”という観点から発想や設計がスタートしているようです。ニュース速報やRSSリーダーであるとか,楽曲のセールス・チャートだったり,一番極端な例では株価や為替のリアルタイム表示といったものです。時計のブログパーツなどは最たるもので,リアルタイムでなければ意味がありません。 たしかに自分

    第6回 「時間軸で情報を整理するソーシャル・タイムライン」
    haiju
    haiju 2009/03/01
    webサービス social timeline
  • 第9回 「ブログの手抜きをするためのブログパーツ」

    1965年愛知県生まれ。多摩美術大学卒業。石橋を叩いて渡るA型。美術大学卒業のキャリアを活かして,あちこちでWebデザインの原稿とか書くくせに,サイト全部のHTMLをマメに書くのが面倒だから自分のサイトもブログ・システムに変えてしまった不精者。つまり今回のテーマであるWeb APIを語るには,まさにうってつけのWebプログラム系フリーライター。http://www.japan.xitami.net/ 「継続は力なり」と言われる理由 私は子供の頃から(結構大きくなる最近まで)飽きっぽい性格だったものですから,何かにつけて父親から「継続は力なり」と説教されて育ちました。どんな小さなことであっても,続けてなんぼ,続けるうちに価値も出てくるということらしいです。この教訓は何事に対しても通じます。もちろんブログも。しかしブログへの投稿がやっぱり毎日続かないんです。油断していると平気で1カ月放置です。

    第9回 「ブログの手抜きをするためのブログパーツ」
    haiju
    haiju 2009/03/01
    blog parts
  • 前編:Flashムービー作成フリーソフト「Suzuka」で簡単アニメーションを作ってみよう:ITpro

    この記事では,Flashムービーを作成することのできるフリーソフト,「Suzuka」をご紹介します。SuzukaはUzo氏がご自身のサイトで公開しているフリーソフトです。携帯向けFlashムービーから,最新のFlash8で作成できる画像のエフェクト機能を備えたムービー*1まで,タイムライン・ベースの開発環境で作成できます。 Suzukaでできることは,次の通りです。 Flashムービーの作成 ActionScriptを使ったプログラミング サウンドの再生 FLVファイルの再生 図1,図2のようなムービーも,Suzukaを使用すれば無料で作成できますよ。 図1:Suzukaで作成したFlashアニメーション(クリックするとムービーを表示します。音が出ます) 図2:Suzukaで作成したActionScriptを利用したムービー(クリックするとムービーを表示します) Flashムービーを作成す

    前編:Flashムービー作成フリーソフト「Suzuka」で簡単アニメーションを作ってみよう:ITpro
    haiju
    haiju 2009/03/01
    flash animation Suzuka
  • Linuxディストリビューション発掘隊 目次

    日経Linuxでは,FedoraやUbuntuなどといったたくさんのディストリビューションを紹介しています。サイトでも最新のディストリビューションを「画面で見る最新オープンソース/Linux」にて紹介しています。 しかし,世界には日経Linuxサイトで紹介したディストリビューション以外にたくさんのディストリビューションが存在します。そこでページでは,日経Linuxで紹介していないLinuxディストリビューションを紹介します。 Damn Small Linux 4.2(2008年4月20日) 人気のUbuntuから派生した多種多様なLinuxディストリビューション(2009年5月8日)

    Linuxディストリビューション発掘隊 目次
    haiju
    haiju 2009/03/01
    linux distribution
  • 画面で見る最新オープンソース/Linux

    業務改革プロジェクトリーダー養成講座【第15期】 3日間の集中講義とワークショップで、事務改善と業務改革に必要な知識と手法が実践で即使えるノウハウ...

    画面で見る最新オープンソース/Linux
    haiju
    haiju 2009/03/01
    linux distribution
  • 快適な言語入力環境を提供 SCIM(Smart Common Input Method)

    SCIMは,多言語入力環境をUNIX系OS上に提供するソフトウエアだ。Anthy等の日語変換エンジンと併用することにより,快適な日本語入力環境を構築できる。GUI操作も分かりやすく,簡単に使える。 SCIM(Smart Common Input Method)は,UNIX系OSにおける多言語入力環境の向上を目的にして開発が進められているソフトウエアだ。従来,UNIX系OSでは,フリーの多言語入力システムにはXIM*1がよく利用されてきた。例えば,これまで広く利用されてきたkinput2は,XIMに沿った日本語入力ソフトである*2。しかし,XIMには以下の問題が存在する。 ・X Window System上でしか利用できない ・入力言語を動的に切り替えられない ・ユーザー・インタフェースが貧弱である これらの問題を解決すべく,SCIMやIIIMF*3,uim*4といった,マルチプラットフォ

    快適な言語入力環境を提供 SCIM(Smart Common Input Method)
    haiju
    haiju 2009/03/01
    scim linux software
  • SCIM入力メソッドの設定

    入力メソッドの基的な設定を行う。 ・「キーボードの配列」・・・入力に利用するキーボードの配列を設定する ・「未確定文字列を入力対象のウインドウに表示する」・・・入力した文字をアプリケーション内に表示する ・「全てのアプリケーションで同一の入力メソッドを使用」・・・全てのアプリケーションで同じIMエンジン(かな漢字変換など)を利用する際にチェックする 入力メソッド関するキーボードのショートカットを設定する。各設定の左にあるボタンでキーの設定を追加および削除できる ・「開始/終了」・・・入力メソッドでの入力を始める際,および終わる際のキーを設定する ・「開始」・・・入力メソッドでの入力を始める際のキーを設定する ・「終了」・・・入力メソッドでの入力を終わる際のキーを設定する ・「次の入力メソッド」・・・IMエンジンを切り替えるキー設定をする ・「前の入力メソッド」・・・IMエンジンを切り替え

    SCIM入力メソッドの設定
    haiju
    haiju 2009/03/01
    scim input_method linux
  • ログインしてください:日経クロステック(xTECH)

     会員限定サービスです 月額プランが10月末まで無料 お申し込み 会員の方はこちら ログイン 日経クロステック TOPページ

    haiju
    haiju 2009/03/01
    security flash
  • 第9回 Emacsエディタ入門

    Emacsは,LinuxをはじめとするUNIX系OS上において,前回に紹介したvi(「viエディタ入門」を参照)と並んで人気の高いエディタです。 Emacsは,しばしば「単なるエディタではなく,一つの環境である」といわれます。その理由は,ソースコードの編集,コンパイル,デバッグはもちろん,メールやWebブラウジングまでEmacsの中で完結できてしまうという,拡張性の高さでしょう。 今回は,Emacs入門を紹介します。 Emacsの概要 Emacsは,今から30年以上前,GNUプロジェクトの創始者であるリチャード・ストールマン(Richard Stallman)氏によって原型となるエディタが作られました。その後,様々なEmacsの実装が作られましたが,その中心となるのは,リチャード・ストールマン氏によるGNU Emacsです。この連載で取り上げている「Ubuntu(Ubuntu 8.04 L

    第9回 Emacsエディタ入門
    haiju
    haiju 2009/03/01
    emacs tutorial
  • 第10回 シェル・スクリプト入門(1)

    前回,前々回は,Linux上でプログラミングをするときによく使うテキスト・エディタ「Emacs」と「vi」の基操作法を説明しました。今回は,Linuxを操作するときに大きな役割を果たす「シェル」について説明します。シェルは,プログラマとシステムの“仲介役”です。シェル・スクリプトというプログラムを用意しておけば,複数のコマンドをバッチ処理することも可能です。 シェルの役割 コマンドを使ってLinuxを操作しているとき,我々はシェルのお世話になっています。シェル(shell)は,ユーザーからのコマンド入力を受け付けて処理を実行するプログラムです。そのため,コマンド・インタープリタとも呼ばれます。 大まかなシェルの仕事の流れは,次の通りです。 (1) プロンプトを表示してコマンド入力を受け付ける (2) ユーザーから入力されたコマンドラインを受け取る (3) コマンドラインを「コマンド」「引

    第10回 シェル・スクリプト入門(1)
    haiju
    haiju 2009/03/01
    shell script tutorial