タグ

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

  • Cyanを設計した高校生、5カ月で5つの言語を習得

    読者の皆さんは、「Cyan」(サイアン)という言語をご存じないかもしれない。Cyanは、Lispのマクロを持ち、Python風のインデントによってブロックを表すプログラミング言語。2008年の春、林拓人という1人の高校生によって設計された。 連載第1回の竹内郁雄氏が「開発」の天才、第2回の五十嵐悠紀氏が「発想」の天才とするならば、今回の林氏は「プログラミング言語」の天才だ。 林氏がプログラミング言語に初めて触れたのは中学3年の夏休み。そこから冬休みまでの5カ月間に、5つのプログラミング言語を習得した。その後もいくつかのプログラミング言語を学ぶ中、林氏の興味はWebサービスなどのものづくりには行かず、ひたすら言語自体へと向かっていった。 高校2年の春、自身でプログラミング言語Cyanを作り上げた。Cyanを設計した林氏は、「U-20プログラミング・コンテスト」(以下、U-20プロコン)で経済

    Cyanを設計した高校生、5カ月で5つの言語を習得
  • 新しい業界標準「SQL99」詳細解説

    オブジェクト指向、Javaを取り入れた 新しい業界標準「SQL99」詳細解説 第一章 高度なデータ操作(1) 第一章では、SQL99の概要を説明するとともに、再帰SQLやOLAPなど、新しく可能になった高度なデータ操作を中心に紹介する。 SQL99の背景と特徴 1999年5月に島根県松江市の「くにびきメッセ」において、データベース分野の標準化についての重要な国際会議が、情報処理学会の主催で開かれた。 この会議では、情報処理分野で最も成功した国際標準(International Standard)の1つと言ってよいSQL言語が、SQL92版の制定から約7年の歳月をかけて大幅に改訂され、3世代目にあたる次期SQL標準の主要部分(表2を参照)を最終的に国際標準とすることが確認されたのである。新しいSQL標準はそれまでコード名「SQL3」と呼ばれていたが、1999年度版を意味する「SQL99」とし

    reptam
    reptam 2012/01/03
  • LAMP環境、自分で作りませんか?

    Webアプリケーションの開発・実行環境として多くの開発者が支持するのがLAMP(Linux、Apache、MySQLPHP/Perl/Python)です。この連載では、LAMP環境をソースコードから構築する方法を丁寧に解説していきます。(編集部) Webアプリ開発に不可欠のLAMP Webアプリケーション開発に欠かせないLAMP環境。皆さんはどのように用意していますか? サーバの選定からはじまって、LAMPのインストールと設定、テストや運用などなど、やるべき事はたくさんありますね。悩みやトラブルは尽きないと思います。 そこで連載では、LAMP環境の構築という観点からLAMPを攻略していきます。とりわけ環境の基礎を作る作業である、インストールから設定を中心に取り上げます。環境構築というと一般にはインフラエンジニアの範疇になると思いますが、開発環境を構築したいWebアプリケーション開発者や

    LAMP環境、自分で作りませんか?
    reptam
    reptam 2012/01/02
    "LAMP環境をソースコードから構築する方法を丁寧に解説していきます"
  • 処理時間を正確に計測するには?[2.0のみ、C#、VB] - @IT

    あるコードの実行にかかる時間をプログラムで計測したい場合、.NET Framework 1.1ではDateTime構造体(System名前空間)で開始/終了の時刻を取得して算出したり、より正確に計測したい場合にはWin32APIのQueryPerformanceCounter関数*などを直接呼び出したりする必要があった。 * この関数を利用するには、ハードウェアが高分解能パフォーマンスカウンタをサポートしている必要がある。このため古いPCでは利用できない可能性もある。 .NET Framework 2.0のクラス・ライブラリには、このQueryPerformanceCounter関数をベースにしたStopwatchクラス(System.Diagnostics名前空間)が新しく追加されており、正確な経過時間を簡単に計測できるようになっている。 Stopwatchクラス Stopwatchクラ

  • robocopyでフォルダをバックアップ/同期させる - @IT

    robocopyコマンドとは 2つのフォルダの内容を同期させ、ファイルやフォルダの内容を同じ状態に保つ機能は、ファイルサーバのバックアップや個人的なデータのバックアップ、リモートオフィス同士でのデータの同期など、システム管理のさまざまな場面で利用される。 このような用途に利用できるコマンドとして、Windows OSにはcopyやxcopyコマンドが標準装備されている。 フォルダの同期に利用できる標準装備のツールとしては、この他にも「robocopy.exe」というコマンドラインツールがある。 robocopyは、もともとはリモートのファイルサーバ同士でファイルやフォルダ、ユーザープロファイルデータなどを同期させるために作られたコマンドである。その名前は「Robust File Copy」の略であり、堅固(robust)で確実なファイルコピーという意味を持つ。具体的な機能の例を以下に記す。

    robocopyでフォルダをバックアップ/同期させる - @IT
  • どう書くんだっけ? を「コード・スニペット」で一発挿入!

    プログラムを書いていると、「あれ、また同じことを書いているぞ」と思うことがある。同じコードを何回も繰り返すことは明らかに無駄なので、偉大な先人は「サブルーチン」というものを発明した。同じプログラム内に、同じコードが複数あれば、それを1つにまとめ、それを呼び出すようにすれば無駄は減る。 しかし、別のプログラムに同じコードがある場合に、このテクニックは使えない。そこで、偉大な先人は「ライブラリ」というものを発明した。複数のプログラムで繰り返しよく使われるコードは、個々のプログラムのソース・コードとは別にまとめておき、各プログラムはそれを参照すればよい。これで、また無駄は減った。 しかし、まだ完ぺきではない。コードの基的な枠組みは共通しているが、内容は同じではないというパターンもあるのだ。このようなケースでは、コードをライブラリにする方法はなじまない。共通しているのは枠組みだけであって、具体的

  • 第2回 .NETにおけるマルチスレッドの実装方法を総括

    Threadクラスによるマルチスレッド 前述したように、.NETにおいて、マルチスレッドを実現するための最も基となるのがThreadクラスを使用した方法である。 List1-1は、Threadクラスを用いて「ThreadMethod」という名前のメソッドを別スレッドで動作させる簡単なプログラムである。.NETにおけるマルチスレッド・プログラミングが非常に簡単であることが分かっていただけるだろう。 using System; using System.Threading; public class List1_1 { public static void Main() { Thread threadA = new Thread( new ThreadStart(ThreadMethod)); // (1) threadA.Start(); // (2) for(int i = 0; i <

    第2回 .NETにおけるマルチスレッドの実装方法を総括
  • アドインなしで実現可能! ドラッグ&ドロップを使いこなそう

    HTML5のDrag and Drop APIは、Insider.NETの読者諸氏ならば習得が容易なはずだ。なぜなら、ドラッグ&ドロップの実装方法が.NET FrameworkのWindowsフォーム・アプリケーションのそれと類似しているからだ。 HTML 5のDrag and Drop APIの実装方法は「ドラッグ操作」と「ドロップ操作」に切り分けて考える必要があるが、この考え方はずばりWindowsフォーム・アプリケーションのそれと同様である。これは、Drag and Drop APIの設計にマイクロソフトが大きな影響を与えている点に由来している。 WHATWG(Web Hypertext Application Technology Working Group)がHTML5の仕様策定を進める際、「先進的な機能を実装しているブラウザの挙動を規格化する」という基理念があった。マイクロソ

    アドインなしで実現可能! ドラッグ&ドロップを使いこなそう
  • オラクル買収後のJava 7と8、JavaFXはどうなるのか (1/2) - @IT

    オラクル買収後のJava 7と8、 JavaFXはどうなるのか JJUG Cross Community Conference 2011 Spring レポート 有限会社オングス 杉山貴章 2011/5/30 2011年5月24日、日 Java ユーザグループ(以下、JJUG)の主催による「JJUG Cross Community Conference(以下、JJUG CCC) 2011 Spring」が行われた。JJUG CCCはJJUGが年2回開催している定例イベントであり、Javaに関する最新の動向や活用事例などが紹介される。稿では、同イベント内で行われた全16のセッションからJava SE(Standard Edition)/Java EE(Enterprise Edition)およびJavaFXの最新動向を追った。 コンシューマ化するIT技術Javaへの影響 今回のJJUG

  • 最新Intelプロセッサ「第2世代Core iシリーズ」は何が変わった?

    目次 Intelは、同社の主力プロセッサ・シリーズ「Coreプロセッサ・ファミリ」をフル・モデルチェンジし、「第2世代Coreプロセッサ・ファミリ(開発コード名:Sandy Bridge)」として販売を開始した(インテルのニュースリリース「インテル、ノートブック PC およびデスクトップ PC 向けに画期的なビジュアル性能を提供する第2世代インテル Coreプロセッサー・ファミリーを発表)。 プロセッサ名は、これまでのCoreプロセッサ・ファミリと同様、Core i3/i5/i7だが、マイクロアーキテクチャ(設計)はまったく新しくなっており、デスクトップ向けのプロセッサ・ソケットも第1世代のLGA1366/LGA1156から第2世代ではLGA1155に変更になっており互換性がない(第1世代のCoreプロセッサ・ファミリについては、「用語解説:Core i5/i7」参照)。対応するチップセッ

    最新Intelプロセッサ「第2世代Core iシリーズ」は何が変わった?
    reptam
    reptam 2011/12/23
  • Visual Studioアドインを実装しIDEで使う!(1/3) - @IT

    前編では、Visual Studioにおける機能拡張の全体像や、アドイン・ウィザードによるアドイン・プロジェクトの作成方法について解説しました。 今回は、前編で作成したアドインを拡張して「XMLファイル編集アドイン」を作成します。このアドインの作成を通して、右クリック・メニュー(=右クリックで表示されるコンテキスト・メニュー)などにコマンドを表示する手順も紹介します。 ■第1章 アドインの作成 今回作成する「XMLファイル編集アドイン」は図1-1のような画面を持っています。このアドインは、あらかじめスキーマの決まっているXMLファイルをデータ・ファイルとして扱い、その参照、編集をビジュアルに実現するための簡単なアドインです。 [ソリューション エクスプローラ]の右クリック・メニューから[SampleAddinで編集]を選択すると、左中央の[XmlEditor]ウィンドウ(XMLファイル編集

  • なぜDIコンテナを使うのか

    記事は2005年に執筆されたものです。Spring、DI、AOP全般の最新情報は@IT Java Solutuionのカテゴリ「DI×AOP(Spring/Seasarなど)」をご参照ください。 私がDIコンテナを使う理由 前回までで、Spring Framework(以下Spring)やDIの概念について説明してきました。最近では、実際の開発現場でもSpringのようなDIコンテナを利用するケースが増えてきているようです。 現場のエンジニアはDIの“機能”や“役割”は理解できるようです。しかしながら、「なぜそれが必要なのかピンと来ない」「学習してまで導入するほどの効果があるのか疑わしい」という声をよく耳にします。そのほかにも、自分自身はメリットを十分に理解して開発プロジェクトに導入したい気持ちがあるけれど、導入するためには上司や関係者を説得しなくてはならず、どのように説得すればよいか分

    なぜDIコンテナを使うのか
    reptam
    reptam 2011/12/18
  • JavaScriptでファイル操作!? File APIを使いこなそう

    連載目次 近年のWebアプリケーションでは、画像ファイルやテキスト・ファイル、Officeファイルのアップロードやダウンロードのやり取りが行われることが多くなってきている(例えば、Twitter上での画像ファイル共有やGoogleドキュメントでのOfficeファイルのアップロードなどがそれだ)。 HTML5では、ファイル操作に関するAPIとして「File API」が定義されたことで、ローカルのファイルをブラウザ上で直接、取り扱うことが可能となった。これによって、Webとローカルの違いをアプリケーションで意識しなければならない局面も少なくなる。 現在、File APIは以下の3種類の仕様が策定されている。

    JavaScriptでファイル操作!? File APIを使いこなそう
  • 「diskpart」コマンドでディスクのパーティションを操作する【Windows OS】

    ディスクやパーティションをコマンドラインツールで操作したい! Windows OSでディスクのパーティションを操作する場合、[コンピューターの管理]ツールにある[記憶域]-[ディスクの管理]か、[スタート]ボタンを右クリックして表示されるクイックアクセスメニューから起動できる「ディスクの管理」ツール(diskmgmt.msc)を使うのが一般的だろう。 しかし、こうしたGUIのツールが使えないこともある。Windows OSを正常に起動できない場合などに利用する「回復環境」やWindows PE、Windows ServerのServer Coreインストールはその代表例だ(リモートからdiskmgmt.mscで接続できなくはないが、事前にリモート管理を許可するなどの準備が必要である)。 またGUIだと、パーティション作成とフォーマットといった一連の処理を自動化しにくいという難点もある。 こ

    「diskpart」コマンドでディスクのパーティションを操作する【Windows OS】
  • WebKit/Google Chrome開発者に聞く、HTML5最前線 - @IT

    2010/05/12 「グーグルエンジニアがSafariのためにコードを書くこともあるんですよ。WebKitコミュニティの中では、そのほうが物事の進みが速いという不文律のようなものがあるんです」 こう語るのは、グーグルChrome開発に携わるソフトウェア・エンジニアの鵜飼文敏氏だ。鵜飼氏はChromeに機能を追加するために、WebKitコミュニティでWebSocketの設計、実装なども行なっている。 WebKitは不思議なプロジェクトだ。よく知られているように、Google ChromeApple Safari(およびiPhoneiPadに搭載されるそのモバイル版のMobile Safari)は、オープンソースベースで開発が進む「WebKit」というコードベースを共有している。ここにさらに、WebKitを統合したGUI開発フレームワーク「Qt」を抱えるノキアや、搭載ブラウザをWeb

  • 開発者が知っておくべき、6つのUIアーキテクチャ・パターン - @IT

    .NET開発者中心 厳選ブログ記事 開発者が知っておくべき、6つのUIアーキテクチャ・パターン ―― 「matarillo.com」より ―― 猪股 健太郎 2011/12/15 「.NET開発者中心 厳選ブログ記事」シリーズでは、世界中にある膨大なブログ・コンテンツの中から、特にInsider.NET/.NET開発者中心の読者に有用だと考えられるブログ記事を編集部が発掘・厳選し、そのブログ記事を執筆したブロガーの許可の下、その全文を転載・翻訳しています。この活動により、.NET開発者のブログ文化の価値と質を高め、より一層の盛り上げに貢献することを目指しています。 Martin Fowler氏の『GUI Architectures』を訳して公開しようと思ったのだが、FAQページに「PofEAAの続編などは商業出版する予定なので翻訳はしないでほしい」と書いてある。なので翻訳の公開はやめて、「

  • @IT:Windows TIPS -- Tips:巨大なサイズのファイルを簡単に作る方法

    巨大なファイルを使ってディスクやネットワークの速度を測定する ディスクやネットワークなどの性能(速度)がどのくらい出ているかを手っ取り早く調べるには、ある程度大きなデータファイルを用意しておいて、その読み書き速度や送受信速度を調べると簡単だ。 厳密なベンチマークツールがなくても、ファイルをコピーさせながら、その速度をタスクマネージャーやパフォーマンスモニターで見たり、完了するまでの時間を測定したりするだけでも大まかな速度は計測できる。 これを行うには、数十~数百GB以上のサイズのテストファイルが必要になる。Tech TIPSでは、「fsutil.exe」というコマンドを利用して、こうした巨大なファイルを簡単かつ素早く作成する方法を紹介する。 fsutilコマンドで巨大なファイルを作成する Windows OSで巨大なファイルを作成するには「fsutil.exe」というコマンドがとても便利

    @IT:Windows TIPS -- Tips:巨大なサイズのファイルを簡単に作る方法
  • 「Windowsコマンド」(1) Windows Server Insider - @IT

    IT 会議室 Indexリンク Windows Server Insider Insider.NET System Insider XML & SOA Linux Square Master of IP Network Java Solution Security & Trust Database Expert RFID+IC リッチクライアント & 帳票 Server & Storage Coding Edge @ITクラブ Cafe VB業務アプリケーション開発研究 @IT SpecialPR

    reptam
    reptam 2011/12/15
    compactコマンド
  • Windowsでディスクの内容を完全に消去する

    対象OS:Windows XP/Windows Vista/Windows 7/Windows Server 2003/Windows Server 2008/Windows Server 2008 R2 解説 コンピュータ・システムやハードディスクを破棄したり、人に譲渡したりする場合は、内部のデータを完全に消去しておかなければならないことは、改めていうまでもないだろう。中古で購入したシステムやディスクの中に、重要な(社内の機密)情報や顧客情報などが残っていて、それらが悪用されたり、インターネットなどで公開されたりするという事件もたびたび起こっているからだ。 このような事態が発生するそもそもの原因は、ディスクの内容を「完全に消去」することが簡単なようで、実はそうではないからであろう。ファイルやフォルダをごみ箱にドロップして、ごみ箱を空にしたり、ディスクのパーティションを削除したりするだけで

    Windowsでディスクの内容を完全に消去する
    reptam
    reptam 2011/12/14
    ディスクの全ファイルを消去してから、cipher /w:d: (dドライブの場合)
  • 第1回 初めてのVisual Studio 2010

    Visual Studio 2010(以降、「VS 2010」と表記)は、マイクロソフトが提供する開発ツールだ。この開発ツールを使えば、素早く簡単にさまざまなプログラムを作成することができる。実際にその開発を体験すれば、VS 2010による開発の「容易さ」と「速さ」にビックリすることだろう(ちなみに、この「簡単さ」と「速さ」のことを、プログラミングの世界では「開発生産性」と呼ぶ)。 連載は、プログラミング経験がほとんどない読者を対象として、VS 2010を使った開発のイロハを解説する。そのため、できるだけプログラミングの基礎から解説することを心掛けた。VS 2010は未経験でも、プログラミングの経験があるという読者の方々にとっては、説明が冗長な部分があると思われるが、ご了承いただきたい。VS 2010プログラミングの最初の取っ掛かりとして、企業の新人プログラマーや、.NETプログラミング

    第1回 初めてのVisual Studio 2010