ITエンジニア必修講座100は,ITpro会員の皆様向けにお届けしています。 講座の全文をお読みいただくためには,無料のITpro会員登録が必要です。
このパートでは,プログラミングを勉強するうえで欠かせないアルゴリズムの中でも定番中の定番を紹介します。ソート(並べ替え)やサーチ(検索)などの機能は今では標準のライブラリとして提供されています。実用的なプログラムを作るときにそのものずばりをいちいち書く機会は少ないかもしれません。しかし定番のアルゴリズムは,様々に形を変えて普段のプログラミングに登場します。 解説を読んで仕組みがわかったら,ぜひそれをプログラムにしてみてください。読んだだけではプログラムを書けるようにはなりませんし,プログラムを書いてみて初めて,実は十分に理解できていなかったと気付くことがよくあります。しかもアルゴリズムは特定のプログラミング言語に依存しないので,一度身に付ければ,後でどんな言語を学ぶ場合でも役に立ちます。 1番目から6番目まではソートのアルゴリズム,7番目から9番目まではサーチのアルゴリズムです。一つひとつ
1985年、AT&TのBjarne StroustrupがC++をこの世に送り出しました。その後C++は様々な拡張を繰り返しながら進化してきました。 1991年、ISOはC++の国際標準(standard C++)を定める作業を開始しました。標準C++の最終草案は1997年にISO C++標準化委員会に承認されました。 標準C++が規定するのは言語仕様だけなく、C++標準ライブラリも規格の中で明確に定められています。それまでC++のライブラリといえばiostreamぐらいのものでしたし、それもあくまで"事実上の標準"でしかありませんでした。 そしてそのC++標準ライブラリの一部として組み入れられたのがSTL(Standard Template Library)です。すなわちSTLは標準C++の仕様の一部ということです。 僕がSTLを知ったのは1995年、いくつかのコンパイラがtemplat
Summary: Using PowerShell to identify RPC ports in use by capturing content from PowerShell We'd like to introduce you today to one of our newest bloggers! It's a froopingly awesome friend of ours, Joel Vickery, PFE. (did I mention Dr. Scripto is a big fan of books written by Douglas Adams?....oops!) Take it away Joel! Thanks Doc! So ...
いまどきのデスクトップは色々モダンになっている. ただモダン化は API の裏側で進んでいるため, あまり興味を持たれていないらしい. 一見いろいろウォッチしていそうな知り合いと話していてわかった. 利用者視点の話題では, いまどきのデスクトップというとたとえばウィンドウが ヘナヘナ揺れるといったアイ・キャンディばかりが連想される. でもそのアイ・キャンディに至るにはきっと山ほど苦労があったはず. そのへんをちょっとねぎらってみたい. 念頭にあるのは Windows Vista, Mac OSX, XGL あたり. まず共通の階層化されたアーキテクチャを想定し, ケーススタディを交えつつその層を下から上へ順にたどっていきます. 復習: デスクトップ処理系の階層構造 そもそもデスクトップの中味はどんな構成をとっているのか. ざっと眺めておこう. 典型的なデスクトップ処理系のアーキテクチャはだ
このテキストは、2005年7月にデータハウスから出版された「アセンブリ言語の教科書」の原稿をWEB用に修正したものです。WEB用に修正したといっても、誤植を直した程度であり、ほぼそのままの状態で公開しています。 現在でも「アセンブリ言語の教科書」は書店で売られており、一般に流通しているため、本来ならば、出版社との契約上、このようにフリーでWEB上に公開することはできません。しかし、「アセンブリ言語の教科書」は、発売後すでに一年を過ぎようとしているにも関わらず、現在でも安定した売り上げを伸ばしており、当初の予想を超えて多くの方々に読んでいただけました。 よって、出版社に「本書の値段が高くて、読みたくても買えない学生の方々や、まだ本書の存在を知らない人たちのために、原稿の一部をWEB上にも公開できないだろうか」と、相談を持ちかけたところ、本書に関わった編集者からも「原稿のすべては無理だが一部分
はじめに 本稿では、Microsoft Visual C++のインラインアセンブラを用いて、アセンブリ言語の基本的な命令セットを学習します。本来のアセンブリ言語は、単純にアセンブリ言語の文法を覚えるだけでは使うことができず、CPUが内部で何を行っているのかや、メモリアドレスに関連した高度な知識が必要になります。しかし、インラインアセンブラであれば、多くのプログラマが使い慣れているC言語の内部にアセンブリ言語を埋め込むことができるので、スムーズにアセンブリ言語の学習ができます。インラインアセンブラであればメモリアドレスの計算などが不要で、C言語で宣言された変数などの識別子をそのまま利用することができるのです。アセンブリ言語初心者が、アセンブリ言語の学習を開始するのに非常に適しているでしょう。 インラインアセンブラの基本については、前稿『インラインアセンブラによるアセンブリプログラミング体験』
連載目次 わたしたちはコンピュータの奴隷じゃない! Windows PCを使っていて、あるいはWindowsサーバを管理していて、「何で人間様が、こんなこまごまとした作業を繰り返し、何度も何度もやらないといけないの?」と思うことはないだろうか。例えばこういう作業はどうだろう。 「My Documentsフォルダ内にある2005年に作成されたファイルのうち、最近1カ月更新してないテキスト・ファイルの中身を確認したいので、それらのファイルの1行目を抜き出して1つのテキスト・ファイルにする」 これを手作業でやろうと思うと大変だ。まずエクスプローラでMy Documentsを開き、詳細表示モードにし、作成日時と更新日時をにらめっこしながら該当するファイルを選び、メモ帳で開いて1行目をコピーし、もう1つメモ帳を立ち上げてそれを貼り付け……、という操作を複数のファイルで繰り返す。フォルダが階層化されて
Last revised on May 25, 2000 UNIX & XWindow 環境における C/C++プログラミング言語の基礎とその計算物理への応用を解説します。 このホームページの古い版の偽ミラーサイトが存在するのでご注意ください。 本物のサイトは http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/ です。 前書き 推奨図書一覧 C言語とC++言語の基礎文法の初心者向け解説 (プログラム初心者を対象としたC/C++言語の入門です) 第1章 C言語とC++言語の役割 第2章 簡単な計算 第3章 ループで繰り返し計算 第4章 配列で大量データ処理 第5章 関数で計算の分担 第6章 文字列の操作 第7章 ファイルの操作 第8章 グラフィック(XWindow System利用者向け) 高校物理の計算例 (高校生を対象として初歩的な物
明日からちょっと遅めのゴールデンウィークということでなんか更新しとくか。 まっさらな新人にPerl教えるのって本当にきついですね。 専門学校レベルのC言語しかやったことないとかいう人は配列やfor文を凄く好む。 ハッシュやforeach使えよと。 はたまた学校でPerlやってましたとか言う人もstrictってなんですか?ってな状態だし。 というかね、専門学校で教えられてるPerlのレベルがね、10年くらい時が止まってるんじゃねーのか、と思うくらいレベルが低いのがなんとかならんかなと。(ということはPerlでOOPとかstrictとかCPANとかを教えてくれるような専門学校があったら凄い生徒集まるんじゃない!?いやいや、世の中はPHP主流になりつつあるらしいぞ) いや、まとにかく勉強しないといけない項目を箇条書きでざーっと上げてみようか。 foreach文 ハッシュ 配列操作関数push,s
Perlの学習コスト高いよね、て感じのエントリが目立つのでふと思い返してみると、ぼくは1年前は 救命病棟でいうところのレベル4くらいでした。変数に our をつけると何がどう違うのかわかなかったりしたのを覚えてます。 その後1年、今はレベル8弱ってとこでしょうか。バグレポートはなるべく出すようにしていますが、車輪になりそうで、モジュールはまだ上げてません。 この1年どうやってレベルを上げてきたかなといえば、CPANあさり、これに尽きます。で、これから Perlやるぞって人にもしかして参考になるかもしれないので、ぼくがやってきた自己流の漁りかたを書いておきます。 1. まずはPerlStyleを読み直す miyagawa さんが以前 WEB+DB PRESS で連載していた Perl Style というのを、総集編マガジンで今も入手可能です。これはロギングとか OR マッピングなどの基本的題
はじめに XUL(XML-based User-interface Language, ズール)はXMLに基づいたGUI記述言語で、MozillaのGUIを作成するために作られました。外見はCSS(Cascading Style Sheet)によって調整し、動作はJavaScriptによって記述します。XPConnectという仕組みを使ってMozillaのコンポーネントにアクセスすることにより、ファイル操作やソケット通信なども行うことができます。つまり、ごく普通のアプリケーション(Mozillaのような)が作れるわけです。GIMPのGUIを記述するためのGTK+が独自に発展し、GNOMEにも使われているのと同様に、XULもMozilla以外のアプリケーションを作成するために使われていく可能性があります。 XULの最大の長所はクロスプラットフォームだということです。LinuxのGUIもMac
XPが注目を集めている昨今では、リファクタリングという言葉を聞いたことのある人は、結構多いことでしょう。この特集記事は、リファクタリングについて扱います。参考書籍「リファクタリング」の中に出てくる言葉で、私が一番好き、というよりも、心に留めている言葉があります。「すぐれたプログラマは人間にとってわかりやすいコードを書く」という言葉ですが、 これこそリファクタリングを表す言葉として非常に適切だと思います。
私は C/C++ あるいはアセンブラといった低級言語を主に使う職業プログラマですが, もちろん仕事や趣味で他の言語を使うこともあります。 特に「スクリプト言語」と呼ばれる高級言語は手軽に使えるため重宝しますが, メインで使っているわけではないので, しばらく使わないと忘れてしまいます。 JavaScript も同様で使わないとすぐに忘れます。 そこでこれから何回かに分けて自分自身への覚え書きを兼ねて JavaScript について書いてみます。 といっても JavaScript の言語マニュアルを書いてもしょうがないので, C/C++ プログラマから見て JavaScript を取り扱う際に注意すべき点などを主に書いていきたいと思います。 あらかじめ予防線を張っておきますが, 私は言語系のプログラマではないですし特にスクリプト言語に関してはど素人同然です。 もし JavaScript に関
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く