タグ

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

  • 一時ファイル用のランダムなファイル名を生成するには?[2.0のみ、C#、VB] - @IT

    プログラムで一時ファイルを作成する場合、そのフォルダにあるほかのファイルと重ならないようなファイル名が必要となる。 このような用途のために、Pathクラス(System.IO名前空間)にはGetTempFileNameメソッドが用意されている(このメソッドについては「TIPS:一時ファイル(テンポラリ・ファイル)を作成するには?」を参照)。 しかしこのメソッドは、ファイル名を生成する過程で、実際にそのファイル(サイズは0)を一時フォルダに作成するという副作用がある(これにより一時フォルダにあるほかのファイルと確実に重複しないファイル名を生成しているのだが)。 .NET Framework 2.0のクラス・ライブラリでは、一時ファイルのファイル名として利用できるランダムなファイル名を返すGetRandomFileNameメソッドが追加されている。このメソッドは乱数を基にして8.3形式のランダ

    hide98
    hide98 2009/08/28
  • インサイド .NET Framework [改訂版]第3回 アセンブリのロード(1/5) - @IT

    前回はアセンブリのアイデンティティについて解説した。アセンブリのアイデンティティは簡易名、バージョン、カルチャ、公開キーの4つの部分からなるデータ構造であり、アセンブリのメタデータには自分自身のアイデンティティの情報と、そのアセンブリが参照しているほかのアセンブリの情報が含まれている。 共通言語ランタイム(CLR)上でコードが実行されたときに、そのコードがほかのアセンブリに含まれている型を参照していると、CLRはそのアセンブリをメモリ上にロードする。今回は、そのロード手順を解説しよう。なお、前回説明したとおり、.NET Framework上での開発では、ほぼすべての場合でアセンブリには厳密名を付けなければならない。そのため、今回の解説はすべて、アセンブリには厳密名が付いているものと仮定している。あいまいな名前のアセンブリをロードする手順は稿の解説とは異なる可能性があるので、特に言及してい

    hide98
    hide98 2009/08/20
  • 文字列を数値に変換するには?[C#/VB]

    稿は2003/03/27に初版公開、2008/07/17に改訂した記事を再改訂し、Visual Studio 2017でコードの動作検証、2進数/8進数/16進数に変換する方法の追加、図版の追加、全般的な構成の変更などを行ったものです。

    文字列を数値に変換するには?[C#/VB]
  • 配列を操作するための関数@チェック式WSH入門 第6回

    VBScriptには、第4回で少し触れたように、配列を扱う関数がいくつか用意されている。例えば、“2006/10/19”という日付から、“Thu, 19 Oct 2006”という文字列を作成する方法を考えよう。 Option Explicit Dim strMonthNames, strWeekNames, strDateName '月の名前を格納する1次元配列 strMonthNames = _ Array("Jan", "Feb", "Mar", "Apr", _ "May", "Jun", "Jul", "Aug", _ "Sep", "Oct", "Nov", "Dec") '曜日の名前を格納する1次元配列 strWeekNames = _ Array("Sun", "Mon", "Tue", "Wed", _ "Thu", "Fri", "Sat") Dim dtmToday d

    配列を操作するための関数@チェック式WSH入門 第6回
    hide98
    hide98 2009/08/06
    配列の操作。要素数をカウントする関数UBound
  • 運用 実例で学ぶSBS 2003ネットワーク構築と運用 第2回 SBS 2003のメール設定 4.メールのオープン・リレー対策(2) - @IT

    ここでは、方法2と3を組み合わせた中継の制限方法について解説しておく。SMTPの中継を制限するには、サーバの管理ツールでExchange Serverの管理画面を開き、[詳細管理]-[ドメイン名]の下にある[サーバー]-[サーバー名]-[プロトコル]-[SMTP]を開く。そしてデフォルトで存在する[既定のSMTP仮想サーバー]を右クリックし、ポップアップ・メニューから[プロパティ]を選択する。

    hide98
    hide98 2009/08/04
  • PostgreSQLをWindowsでブンブン走らす裏技(1/2) - @IT

    Database Watch 3月版 Page 1/2 PostgreSQLWindowsでブンブン走らす裏技 加山恵美 2007/3/9 Oracleから超高速インメモリ・データベースの新バージョンが4月から出荷されることになりました。ところでこれはOracle Database 10gとはどう違うのでしょうか。 ■Oracleの超高速インメモリ・データベース Oracleは3月7日、「Oracle TimesTen In-Memory Database 7」(以下、Oracle TimesTen)を4月より出荷開始すると発表しました。今回のバージョン7は2005年6月にオラクルがTimesTen社を買収して以来オラクルで開発が進められたため、Oracle Database 10gとの互換性がかなり強化されています。 「おや? 互換性?」と気付いた方もいると思いますが、これはOracl

  • VBScriptの配列を極める - @IT

    連載目次 前回は、VBScriptを学ぶうえで避けて通れない、データ型の概念とそれぞれのデータ型の使用方法について詳説した。今回は、やはりVBScriptの重要要素である「配列」について、その概念と使用方法について述べるとともに、配列と併用することが多いステートメントや関数についても取り上げる。 配列とは

    VBScriptの配列を極める - @IT
  • Tomcatの環境を構築

    Javaを途中までかじったが挫折した。やはりJavaプログラマにスキルチェンジしたい!という読者のために、Tomcatの最新バージョンを使いながらJSPを基礎から解説していく。(編集局) Tomcatとは何か 前回は、Webアプリケーション開発の基盤技術としてJSPを紹介し、そのメリットやデメリットについて説明しました。引き続き今回は、JSPの実行環境となる「Webコンテナ」の1つ、「Tomcat」のインストール方法を紹介します。 前回説明したとおり、JSPページでは、通常のHTMLタグに加えてJSP固有のタグを記述できます。このJSPタグを用いることで、動的なコンテンツ生成を実現する仕組みです。しかしもちろん、こうして記述されたJSPページは、単純なWebサーバ(ApacheサーバやIISなど)に配置しただけでは動作しません。JSPページは、「Webコンテナ」と呼ばれる特別なサーバ・ソフ

    Tomcatの環境を構築
    hide98
    hide98 2009/07/28
    [
  • Windows XPの正体 強化されたコマンドライン・ツール(前編) - @IT

    Windows XPは、グラフィカルなユーザー・インターフェイスを備えたOSであり、いうまでもなくマウスとキーボードを使って操作するのが当たり前である。Windows XPでは、以前のWindows NTやWindows 2000と比べると、GUIにますます磨きがかかり、さらに使いやすくなっている(異論もあるかもしれないが……)。だが、この華やかなGUIの進化の影に隠れてはいるが、実はCUIインターフェイスである「コマンド プロンプト」もまだまだ健在である。いやそれどころか、さらにコマンド群が強化され、まだまだ頑張るつもりのようである。今回は、この強化されたCUIコマンド群についてみていきたい。 昨今では、GUIインターフェイスを備えたシステムが一般的なので、ほとんどすべての操作をキーボードだけでこなすユーザーはめっきり少なくなったが、管理者やプログラマなら、その重要性は十分認識しているだ

  • PostgreSQLを遅くしている犯人はどこだ?

    出力内容を追いかけろ 実際に実行してみてどれだけの時間がかかったかは「actual time=」で表示される数値を追いかけることで確認可能です。例えば、前ページのリストの1行目に出力されている「actual time」だけを取り出すと、次のようになります。 ↓最初の1件目を取得するまでにかかった時間 (actual time=9006.586..9011.968 rows=16842 loops=1) ↑最終的に結果行全体を取得するのにかかった時間 特に、右側の数値である「最終的に結果行全体を取得するのにかかった時間」では、そのSQLの処理開始からの累積時間で表示されます。このため、当該行の処理が完了するまでにどれだけの時間がかかったかを確認できます。 これを基に、SQLの中でどの処理に最も時間がかかっていたのかを確認していきましょう。 Total runtimeが9022.840msであ

    PostgreSQLを遅くしている犯人はどこだ?
  • 日時や時間間隔の加減算を行うには?

    連載目次 .NET Frameworkのクラス・ライブラリには、時間を表す構造体が2種類ある。1つは特定の日時を表すDateTime構造体(System名前空間)、もう1つは時間間隔を表すTimeSpan構造体(System名前空間)だ。稿では、これら2つの構造体における加減算について解説する。 日時(DateTime構造体)における加減算 2つのDateTimeオブジェクトは、両者を加算することはできないが、一方からもう一方を減算し、その時間間隔をTimeSpanオブジェクトとして求めることができる。これにはDateTime構造体のSubtractメソッドを使用するが、C#では、-演算子(マイナス演算子)がオーバーロードされているため、2つのオブジェクト同士の単純な引き算として記述できる(以下のサンプル・コードはすべてVB.NET)。 Dim startDateTime, endDat

    日時や時間間隔の加減算を行うには?
    hide98
    hide98 2009/03/26
    TimeSpan型
  • Chromeはなぜ速いのか - @IT

    Chromeの動作が圧倒的に速いように感じている。Chromeがリリースされた当初、それがなぜなのかよく分からなかった。グーグルだけにできて、ほかのWebブラウザ開発者にできないことなどあるように思えないが、それにしてはあまりに速いように感じたからだ。 その疑問のほとんどは、Chromeのオープンソースプロジェクト版「Chromium」の公式ブログの解説で氷解した。ブログを読んで分かったのはグーグルエンジニアたちが信じられないほどのスピード狂であることと、そのスピードへのこだわりには2種類の“スピード”があることだ。 1つは処理速度、もう1つは応答速度だ。特に後者、ユーザーをできるだけ待たせない、イラつかせないということに対する徹底したこだわりは、すさまじい。その背後には「スピードとは、つまりお金だ」という洞察があるようだ。 0.5秒の遅延でユーザー離れ グーグル創業約1年後の1999年

  • Windows XP SP2のZoneIdとは?

    解説 Windows XP Service Pack 2(以下XP SP2)のInternet Explorer(IE)では、セキュリティ対策の一環として、新たに「ZoneId(ゾーンID)」と呼ばれる仕組みが導入された。インターネットゾーンからダウンロードしたファイルや、Outlook Expressで保存したメールの添付ファイルに対して、ZoneIdと呼ばれる一種の「目印(マーカー)」を付けておき、エクスプローラなどでダブルクリックして実行しようとすると、当に実行してもよいかどうかがユーザーに対して問い合わせられる機能である。そして、ユーザーが許可した場合にのみプログラムの実行が行われる。従来は、いったんローカルにダウンロードすれば何の制約もなくファイルを実行することができたが、ZoneIdにより、インターネットゾーンから取得したファイルに対しては、ある程度の制約を課すことができるよ

    Windows XP SP2のZoneIdとは?
  • Webアプリに使えるAjaxライブラリ8選! ― @IT

    Ajaxライブラリの全体像を把握しよう Ajaxライブラリ(*注1)はすでに数多くのものが出回っていますが、多過ぎて全体像がつかめていないのではないでしょうか。今回は代表的なAjaxライブラリの一部を挙げ、それぞれを比較しながらAjaxライブラリの全体像を把握していきたいと思います。 どうして、Webアプリ開発にAjaxライブラリが必要なのか どのようなプログラミング言語でもライブラリが存在するように、Ajaxにおいてもライブラリが存在します。 初めにAjaxライブラリの必要性について見ていきたいと思いますが、ここではAjax開発ならではのライブラリの必要性を2点取り上げます(ほかの言語のライブラリと共通する必要性はあらためて取り上げません)。 クロスブラウザ対応 Ajaxの利点として、さまざまな環境における一般的なWebブラウザ上で実行できることが挙げられます。しかしWebブラウザの実装

    Webアプリに使えるAjaxライブラリ8選! ― @IT
  • がんばれ! アドミンくん − @IT

    第609話 ゴミ分別アプリ ゴミの分別があまりに複雑なので、スマホで写真を撮れば分別が分かるアプリを作ったぞ。(2019/04/02) 第608話 管理者のジレンマ 万一に備えて十分準備しておくこと。「転ばぬ先のつえ」は多くのシステム管理者の座右の銘、ではある……。(2019/02/05)