スキップしてメイン コンテンツに移動

投稿

2009の投稿を表示しています

How to convert java-project to web-project in Eclipse

I faced the problem that I could not convert simple java project to wtp project in eclipse. I asked Dr.Google, then he gave me an answer :). Please see the below article. This is exactly what I wanted to know!! How to convert Java Project to Web Project in Eclipse Quick Tips You should check .project file if your project is not what you expect. eclipse determine the project style by the natures section in the file. You should use Navigator window, if you would like to see the files which starts ".".

Sandcastle

I tried using Sandcastle which is the documentation build tool for generating MSDN-style documentation from .NET assemblies and their associated XML comments files like NDoc . I googled information around it and found out good articles and some of related tools. Tools DocProject This tool uses the latest version of Microsoft Sandcastle to build HTML help topics. It can generate variety formats of API documents :). Sandcastle Help File Builder This tool can make building documents from Sandcastle easier. The latest version of Sandcastle Help File Builder (1.8.0 or later) does NOT include SandcastleBuilderConsole.exe which can be used from console for generating domenet. Sandcastle project think that all the process should be done in MSBuild rather than console. If you need SandcastleBuilderConsole.exe please get and use 1.7.0 from here . Articles Generating MSDN-style Documentation with Sandcastle, NAnt and CruiseControl.NET This article is a good example of how to use sandcastle. Th

Eclipseのプラグインメニューの英語化

私は英語版のeclipseを使っているのですが、インストールしたSubverionやFindBugsのプラグインのメニューやメッセージがデフォルトでは日本語になってしまいました。Google先生で調べたところ、 国際化プログラミングの常識 で答えが見つかりました。 eclipse.ini に以下の2行を追加してlocaleを変更すればよいようです。 -Duser.language=en -Duser.country=US 私の場合はこれでメニューを英語に統一できました。

Outlookにアクセスしてメールを送信するVBAコード

Public Sub GenerateOutlookEmail() Dim Outlook As Outlook.Application Dim message As Outlook.MailItem Set Outlook = CreateObject("Outlook.Application") Set message = Outlook.CreateItem(0)  With message  .Subject = "Test Mail"  .To = "foobar@foobar.com"  .HTMLBody = "Good morning life"  .Display End With End Sub

WinHttp.WinHttpRequestを使ってHttp PostでByte配列やString配列を送信するプログラム(Excel VBA)

WinHttp.WinHttpRequestオブジェクトを使って使ってHttp PostでByte配列のデータを送信するExcel VBAプログラムです。 WinHttp.WinHttpRequestを使う際には、 1. ExcelのMicrosoft Visual Basic エディタのメニューバーから「ツール->参照設定」とたどる。 2. 表示されたダイアログからMicrosoft WinHTTP Serviceにチェックを入れる。 という手順が必要です。 Byte配列をPOST Private Const BOUNDARY As String = "SOMETHING" Private Function httpPostServletByte(url As String, data() As Byte) As Byte() On Error GoTo e Dim WinHttpReq As WinHttp.WinHttpRequest If (WinHttpReq Is Nothing) Then Set WinHttpReq = New WinHttpRequest End If WinHttpReq.Open "POST", url, False WinHttpReq.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded; boundary=" & BOUNDARY WinHttpReq.send data Dim response() As Byte: response = WinHttpReq.ResponseBody httpPostServletByte = response Set WinHttpReq = Nothing Exit Function e: Set WinHttpReq = Nothing Debug.Print "httpPost Error:" & Err.

ADODB.streamオブジェクトを使って文字列とByte配列を相互変換(Excel VBA)

ADODB.streamオブジェクトを使って文字列をByte配列に変換するコードのサンプルです。 ExcelVBAでADODB.streamを使う際には、 1. ExcelのMicrosoft Visual Basic エディタのメニューバーから「ツール->参照設定」とたどる。 2. 表示されたダイアログからMicrosoft ActiveX Data Objectsにチェックを入れる。 という手順が必要です。 文字列からByte配列へ Private Function ADOS_EncodeStringToByte(ByVal cset As String, ByRef strUni As String) As Byte() On Error GoTo e Dim objStm As ADODB.stream: Set objStm = New ADODB.stream objStm.Mode = adModeReadWrite objStm.Open objStm.Type = adTypeText objStm.Charset = cset objStm.WriteText strUni objStm.Position = 0 objStm.Type = adTypeBinary Select Case UCase(cset) Case "UNICODE", "UTF-16" objStm.Position = 2 Case "UTF-8" objStm.Position = 3 End Select ADOS_EncodeStringToByte = objStm.Read() objStm.Close Set objStm = Nothing Exit Function e: Debug.Print "Error occurred while encoding characters" & Err.Description If objStm Is No

HTMLのMETAタグから文字エンコードを取得するコード

ExtractEncodingメソッドでRegexを使ってMETAタグからcharsetの部分を取り出しています。 Readメソッドでは、まず与えられたpathにあるhtmlファイルからExtractEncodingメソッドを使って適切な文字エンコードを取得します。その後取得した文字コードで読み取ったhtmlを変換しています。 using System; using System.Text; using System.Text.RegularExpressions; using System.IO; namespace Utility { public static class EncodingUtils { private static readonly Regex r = new Regex( @"<META\s+http-equiv\s*=\s*Content-Type\s+content=\s*""[^""]*\s+charset\s*=\s*(?<charset>[^""\s]*).*""\s*>", RegexOptions.IgnoreCase | RegexOptions.Compiled); public static string ExtractEncoding(string html) { string result = null; lock (r) { Match m = r.Match(html); if (m.Success) { result = m.Groups["charset"].Value; } } return result; }

ThreadPoolクラスのサンプル

ThreadPoolクラスのサンプルです。C#のソースコードを以下に示します。もっと有益な情報を載せないといけませんね。 using System; using System.Threading; namespace Test { public static class ThreadPoolTest { public static void RunThread() { ThreadPool.QueueUserWorkItem(new WaitCallback(ThreadMethod), "A"); Console.ReadLine(); } private static void ThreadMethod(object state) { for (int i = 0; i < 10; i++) { System.Console.WriteLine(state+":"+i); Thread.Sleep(1000); } } } }

XmlTextReaderの使い方

備忘録としてSystem.Xml.XmlTextReaderのサンプルを載せておきます。 public static void ReadXMLSample(string path) { for (XmlReader textReader = new XmlTextReader(path); textReader.Read(); textReader.MoveToElement()) { Console.WriteLine("==================="); Console.WriteLine("Name:" + textReader.Name); Console.WriteLine("Base URI:" + textReader.BaseURI); Console.WriteLine("Local Name:" + textReader.LocalName); Console.WriteLine("Attribute Count:" + textReader.AttributeCount); Console.WriteLine("Depth:" + textReader.Depth); Console.WriteLine("Node Type:" + textReader.NodeType); } }

XmlTextWriterの使い方

備忘録としてSystem.Xml.XmlTextWriterのサンプルを載せておきます。 pathにxmlファイルを作成して保存するC#のプログラムです。 public static void CreateXMLSample(string path) { XmlTextWriter writer = new XmlTextWriter(path, Encoding.Default); writer.WriteStartDocument(true); writer.WriteStartElement("root"); for (int i = 0; i < 3; i++) { writer.WriteStartElement("element"); writer.WriteStartAttribute("path"); writer.WriteValue(@"c:\temp\test.txt"); writer.WriteEndAttribute(); for (int j = 0; j < 3; j++) { writer.WriteStartElement("attr"); writer.WriteStartAttribute("type"); writer.WriteValue("integer"); writer.WriteEndAttribute(); writer.WriteStartAttribute("value"); writer.WriteValue(j); writer.WriteEndAttribute(); writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteEndElement(); writer.WriteEndDocument(); writer.Close(); }

Python関連のリンク集・書籍

関連サイト Python公式サイト Python Tutorial ActivePython PythonWeb (Japanease) Effective Python すぐに忘れる脳みそのためのメモ ここのブログはHaskellについての投稿も充実しています。 RSS Feedのパーサモジュール Universal Feed Parser 数学関数のライブラリ(配列、行列計算で便利) NumPy kVerifeir Lab さんの ここのページ が参考になります。 書籍 Python クックブック 第2版 (Oreilly) Pythonクイックリファレンス(Oreilly) 初めてのPython 第3版(Oreilly) 柴田 淳著: みんなのPython

html読み込みの進捗状況を表示するjavascriptのプログレスバー

以下のコードの coutUp functionをhtmlの途中に埋め込むことで、そのhtmlページの読み込みの進捗状況を表示することができます。(こういう方法がいいかどうかはわかりませんが。) function ProgressBar(id) { this.div = setProgressDIV(id); this.init = init; this.countUp = countUp; var progress; function setProgressDIV(id) { if(!id){ id = "_progress"+(new Date()).getTime(); var creprgDIV = document.createElement("DIV") ; this.div = document.body.appendChild(creprgDIV) ; this.div.setAttribute("id",id) ; this.div.style.position = "relative"; this.div.style.top = "0px"; this.div.style.left = "0px"; this.div.style.width = "0px"; this.div.style.height = "0px"; } else { this.div = document.getElementById(id) } this.div.style.color = 'blue' ; this.div.style.margin = '0px' ; this.div.style.padding = '4px'; this.div.prog_bar= '|'; this.div.prog_count

JavascriptでProgressBarを実装

Javascriptで簡単な プログレスバー を実装してみました!ソースコードは以下の通りです。 function ProgressBar(id, max_count, bar_char, color) { this.div = setupProgressDIV(id, max_count, bar_char, color); this.startProgress = startProgress; this.stopProgress = stopProgress; this.finish = finish; var finishFlag = 0; function setupProgressDIV(id, max_count, bar_char, color) { if(!id){ id = "_progress"+(new Date()).getTime(); if(document.getElementsByTagName('BODY').length==0) document.write('<body>') var creprgDIV = document.createElement("DIV") ; this.div = document.body.appendChild(creprgDIV) ; this.div.setAttribute("id",id) ; this.div.style.position = "relative"; this.div.style.top = "0px"; this.div.style.left = "0px"; this.div.style.width = "0px"; this.div.style.height = "0px"; } else { this.div = document.

C#: ファイルパスから絶対URIを返すコード

ファイルパスから絶対URIを返すコードです。(特に相対ファイルパスで便利かも知れません。) public static string GetAbsoluteUri(string filepath){ FileInfo fileInfo = new FileInfo(filePath); Uri uri = new Uri(fileInfo.FullName); return uri.AbsoluteUri; } ちなみにコードの色づけには google-code-prettify を使わせて頂きました。さすがGoogle! 使い方は以下のリンクが参考になります。 Learning Log Book: Bloggerでシンタックス・ハイライト

Microsoft Outlookの.msgファイルをC#で読みこむ方法

.NetライブラリのMicrosoft.Office.Interio.Outlookを使う ディスクなどに保存された.msgファイルを読み込むことは難しいのではないかと思います。 未検証です。 CodeProjectで公開されているライブラリを使う このページ で公開されているプロジェクトファイルを使えばできそうです。こういうものをさくっと作れるのはうらやましいですね。 この記事は書き途中です。よりよい方法が見つかり次第更新します!

ActionScript 3.0 ライブラリ集

ライブラリのリンク集 ntt.cc で細かく紹介されています。記事へのリンクは こちら から。 noein さんの このページ でもいろいろ紹介されています。 phpspot開発日誌 さんでも大量にリンクが紹介されています。リンクは こちら から。 Adobe Labs でも有用なライブラリが このページ で多数公開されています! Spark project では非常に有用なライブラリが公開されています。是非チェックしてみてください! Adobe Open Source テスト flexunit :テストライブラリの定番 asunit : 私は2009年頃、このライブラリを使っていましたが、どうやら最近は更新をしていないようです。 Dukeさんの気になるライブラリをピックアップ printf-as3 : ActionScript 3.0で実装されたprintf AS3DS : データ構造(スタック、キューなど)のライブラリです。 log4as3 : ActionScript 3.0のためのlogging APIです。log4jのActionScript 3.0版といったところでしょうか。 Flex: Using the Flex3 Logging API でlog4as3以外のlogging APIについて比較・検討されています。 AS 3 Parametric Curve Library :パラメトリック曲線に関するライブラリ alivepdf :ActionScript 3.0で実装されたpdf生成のためのライブラリ as3xls : ActionScript 3.0 からMicrosoft Excelを読み書きするためのライブラリ ActionScript TIFF Encoder :ActionScript 3.0で実装されたTIFFエンコーダーです。 Kevin Hoyt さんで公開されています。素晴らしい!! as3gif :ActionScript 3.0で実装されたFlash上でGIFアニメを再生するためのライブラリです。 PaperVision3D :Flash上で高度な3Dグラフィックスを実現するためのライブラリです。Coolなデモがたくさん揃っています! ASTRA: Acti

Test Tools for .Net

Unit Testing Framework for .Net NUnit @ITのNunitの解説ページ Code Coverage Tool for .Net NCover :I think this is the famous one rather than the one below which has the same name. The problem is this tool is not free :(. NCover : Free open source code coverage tool for .Net. partcover : This is the alternative tool of NCover. I'll try to use it ;). ReportGenerator : This can generate cool and readble code coverage report.

Visual Studio 2008 のショートカットキー一覧

Microsoft公式(日本語) Visual Studio shortcut keys 10 Visual Studio Shortcuts You Must Know Visual Studio:Visual Studio ショートカット よく使うショートカット (独断と偏見) Ctrl+R, E : メンバー変数のカプセル化。Getter, Setter生成。 Ctrl+K, F : 選択した範囲のコードのオートインデント。 Ctrl+K, K : 行をブックマーク。 Shift+Alt+F10 : インタフェースの自動実装。 ちなみにVisual Studio Express Editionは ここ からダウンロードできます。

SSE2を使ってdouble型配列の要素の値の合計を求める関数

SSEに興味があり、ためしに配列の値の合計を求めるプログラムを書いてみました。 まだまだ勉強中なので、プロの方から見たら駄目駄目かもしれません。こんなコードでもIntelのCPUでは、SSEなしで書いたプログラムより単純に2倍ぐらい高速になるので面白いです :) #include <emmintrin.h> double sum(double *src, int len){ int o = len%2; double a[2] = {0,0}; __m128d xsum = _mm_loadu_pd(a); for(int i = 0, loopNum = len - o; i < loopNum; i+=2 ) { xsum = _mm_add_pd(xsum, _mm_loadu_pd(src + i)); } _mm_storeu_pd(a, xsum); if(o) { return a[0]+a[1]+src[len-1]; } else{ return a[0]+a[1]; } }

Office XP用のCOM

Office XP用のCOMは Office XP PIAs からダウンロードできます。Microsoftさんの簡単なサポートページは以下にあります。 Microsoft Office XP primary interop assemblies (PIAs) are available for download

Excel VBAで役立つサイト

Office TANAKA : 基礎的なことは網羅されています。 特に Excel(エクセル) VBA入門:配列の利用 のページが参考になりました。 よねさんのWordとExcelの小部屋 Anthony's VBA Page SheetやRangeに関する記事が役に立ちました

C++ Libraries

Testing googletest I didn't know that Google has developed C++ testing framework!! Amazing.... CppTest Testing tools available for Visual Studio BTW the following stack overflow threads really helps for finding out C++ test tools which is available for Visual Studio. There are much more than I thought. How to set up unit testing for Visual Studio C++ XML TinyXML Xerces C++ Boost Boost is the most famous C++ library. I bought the following book and was studying it. The left is original version and the right one is Japanese translated version. Beyond the C++ Standard Library: An Introduction to Boost

Information Visualization

Software NattoView : Haha what a interesting software! KeyGraph : Visualize information relation and help people to discover hidden Key Information Book Beautiful Visualization Visualizing Data Beautiful Data Programming Language Processing : For Japanese, this entry of this blog contains a lot of information.

ExportSWC - FlashDevelopでswcファイルを生成

ExportSWC というアドインで FlashDevelop からswcファイルを生成できます。 私はこのアドインを使って、swcファイルを生成しようとしたのですが、以下のエラーに遭遇しました。 --- Error: could not find source for resource bundle containers. Error: could not find source for resource bundle core. Error: could not find source for resource bundle effects. Error: could not find source for resource bundle skins. Error: could not find source for resource bundle styles. --- Google先生で調べてみると、以下のページを見つけました。 Unable To Generate a SWC if using a third party SWC 結論から書きますと、 -library-path {flexSDK}/frameworks/locale/en_US をCompiler Optionに加えればいいようです。私は面倒くさかったので、必要なswcファイルを全部かき集めて1つのディレクトリ(例:lib)に入れて、 -library-path lib をCompiler Optionに加えてコンパイルしました。:)

C#: SaveFileDialogの使用サンプル

SaveFileDialogの基本的な使い方を以下に示します。他の種類のダイアログでも基本的な使い方は同じです。 SaveFileDialog dialog = new SaveFileDialog(); dialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; dialog.FilterIndex = 2; dialog.RestoreDirectory = true; if (dialog.ShowDialog() == DialogResult.OK) { MessageBox.Show("Saved!"); }

WebRequestクラスを使ってStringをPostするコード

使用するEncodingはUTF-8を仮定しています。 public static void PostData(string host, int port, string data) { try { Uri requestUri = new Uri(string.Format("http://{0}:{1}/", host, port)); WebRequest request = WebRequest.Create(requestUri); request.Proxy = new WebProxy(); request.Method = "POST"; byte[] postDataBytes = Encoding.UTF8.GetBytes(data); request.ContentLength = postDataBytes.Length; using (Stream stream = request.GetRequestStream()) { stream.Write(postDataBytes, 0, postDataBytes.Length); WebResponse response = request.GetResponse(); using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8)) { string strResp = reader.ReadToEnd(); // Do something... } } } catch (Exception ex) { log.ErrorFormat("Error in {0} method\n{1}", MethodBase.GetCurrentM

C++.NetでのThreadの実行方法

C++.NetでのThreadの実行方法です。C#でThreadの使い方を知っていれば、理解はしやすいと思います。 using namespace System; using namespace System::Threading; ref class Work { public: static void DoWork() { Console::WriteLine( "Static thread procedure." ); } void DoMoreWork() { Console::WriteLine( "Instance thread procedure."); } }; int main(array ^args) { Work ^w = gcnew Work; ThreadStart ^start = gcnew ThreadStart(w, &Work::DoMoreWork); Thread ^t = gcnew Thread(start); t->Start(); Console::ReadLine(); return 0; }

ActionScript 3.0 でのSoundのメモリリーク解消方法

ActionScript 3.0のSoundクラスを用いてメモリ上にロードしたサウンドの開放方法が分からなかったので、Google先生で調べてみました。いくつか有用な記事が見つかりました。 Arrayの要素としてSoundオブジェクトを生成、deleteおよびnull代入によって開放を行うようです。 Memory Optimization Flash Action Script 3 AS3 - Working with Sound. 2010/3/25 追記 私もロードされたデータを開放できるSoundクラスを書いてみました。ご自由に利用してください。むむむ、余計な部分があって長過ぎですね。。。 package utils.sound { import flash.errors.IOError; import flash.events.Event; import flash.events.IOErrorEvent; import flash.media.ID3Info; import flash.media.Sound; import flash.media.SoundChannel; import flash.media.SoundTransform; import flash.net.URLRequest; public class SoundCacheCore { public static const LOADING:int = 0; public static const LOAD_COMPLETE:int = 1; public static const NO_LOAD:int = 2; private var _url:String; private var sound:Array; private var sndChannel:SoundChannel; private var _duration:Number; private var _loadStatus:int = NO_LOAD; private var _isPlaying:Boolean; private var _pauseTime:Number; private var _initialSoundVolume:Nu

.Net用のLogツール

log4net .Net用の強力なLoggingツールです。Log4Jの.Net版といったところでしょうか。 解説サイト O'Reillyの WindowsDevCenter.com の このページ が大変参考になります。 @ITの このページ も参考になります。

Visual Studioで使えるPlugin

有償のものもあるので、ご注意。。。 SVN ankhsvn オープンソースのサブバージョンプラグイン。 第1回 Subversionを利用したイケてる.NET開発 が参考になります。Visual StudioのExpress Editionではプラグインをインストールできないので使えません。 VisualSVN SVN plug-in 未分類 ReShaper : JetBrains のVisual Stusio用アドイン

JavaのString#hasCodeの計算方法

Java2のバージョンが1.2以前の場合、Stringオブジェクトの16文字以上の部分はhashCodeの計算に用いられません。そのためhashCodeの衝突が起きやすくなっています。 Java2のバージョンが1.3以降の場合、hashCodeの計算方法が改良され、16文字以上の部分も計算に利用されるようになりました。 BOOLEANLABEL さんの String.hashCode() の変遷 が参考になります。 バージョン1.2以前での衝突するhashCodeのBugレポートが Bug ID: 1258091 String.hashCode() produces the same value for too many unequal strings. にあります。

Spring.Net

Spring.Net .Net版のSpring Frameworkです。基本的な使い方はJava版の本家Springに準じています。 日本語では こちら の記事が参考になります。

Visual Studio 2008でファイル保存時にCPU使用率が上昇し、操作不能になる問題の回避方法

Visual Studio 2008 を使っているときに「Ctrl+S」でファイルを保存を実行すると、 数秒間CPU使用率が上昇し、Visual Studioを操作不能になる問題に遭いました。 Google先生で調べたところ、以下のMicrosoftのサポートページの中に解決法を見つけました。 フィードバック: ファイル更新後の保存時 (Ctrl+Sなど) にCPU使用率が最大となり、しばらく操作不能となる 解決法だけまとめますと、 1. メニューバーから 「ツール」 -> 「オプション」 を選択 2. オプションダイアログ内の左側のメニューから 「環境」 -> 「スタートアップ」 を選択 (ここで「スタートアップ」という項目が見つからない場合、オプションダイアログの左最下部にある 「すべての設定を表示」 のチェックボックスを オン にすれば表示されます) 3. オプションダイアログ内の右側のパネルで 「コンテンツをダウンロードする間隔」 のチェックボックスを オフ に設定(下のキャプチャ画像を参照) 私の場合はこれで直りました!

Shellscript Sample: Sum up input numbers

This shellscript sum up the numbers from arg1 to arg2. #!/bin/sh i=0 sum=0 if [ $# -eq 0 ]; then echo "No input parameter!" elif [ $# -eq 1 ]; then echo "Plese input 2 parameters!" else i=$1 for i in seq $1 $2; do sum=`expr $sum + $i` done echo "$1 + ... + $2 = $sum" fi exit 0

C# and .Net Tips

C#でのリフレクション Dynamically load a class and execute a method in .NET Assembly Load Assembly C# / CSharp Tutorial オープンソースの.Netプラットフォーム Mono : Cross Platform + Open Source .Net environment Microsoft C# でのHTML構文解析 Microsoft C# でのHTML構文解析 Flashを.Net環境 で扱うためのヒント CodeZine の このページ が参考になります。 .Net環境で時間を計測する方法 処理時間を正確に計測するには?[2.0のみ、C#、VB] ImageAnimator C#でGIF Animeを再生できるクラス .NetのApp.configファイル アプリケーション構成ファイル(App.config)、 Web構成ファイル(Web.config)にカスタム構成セクションを追加する C#におけるCastとAs演算子を用いた型変換の性能差 Type casting impact over execution performance in C# .Net用のメールライブラリ JMail.NET 解析ツール FxCop :.Netでコンパイルされたdllを解析するためのツールです。 .Net, C# に関する便利なサイト DOBON.NET 連載:改訂版 C#入門 C# Certification, Development, and Training .Net Tips C# ソースコード集 :色々サンプルがありますので、参考になると思います。 C#とVB.NETの入門サイト

XML/XSL関連リンク集

XSLについては公式ページが参考になると思います。 W3C の XSLのページ XMLの基本 XMLマスター:ベーシック 実力養成講座 XMLで遊ぼう EXSLT サンプルで覚える XSLTプログラミング XML -伸び縮みマークアップ言語- xslメモ たのしいXML XSLT2.0の感覚 Abbey Workshop さんの XML関連の記事 の XMLのノードの値をSplitする方法の記事 は秀逸です! Project xml-common

Webサイトの高速化

2017年7月に内容を大幅に更新しました。 2017年現在では、Full SSL化やHTTP/2、PWAの技術が一般的になり、下記に紹介してきた書籍の内容は古くなっています。 たとえば、HTTP/2のリソースの並行ダウンロード機能は非常に有用です。 またdns-prefetch, preload, preconnectなど新しい機能が多く発表されてきています。 恐らく書籍下記の書籍はもう古すぎるので、発表当時ほどのインパクトは低く、あまり読む必要はないかと思います。 書籍 書籍下記の書籍はもう古すぎるので、発表当時ほどのインパクトは低く、あまり読む必要はないかと思います。記録のため残しておきます。 オライリーから出版されている ハイパフォーマンス Webサイト 原著のHigh Performance Web Sitesのページは こちら 。 原著者のSteve Soudersさんのホームページは こちら 。 また翻訳者の サポートページ があります。 続編の 続ハイパフォーマンス Webサイト   ツール PageSpeed Insights 有名過ぎるので、いまさら紹介するまでもありませんが、Google先生のは是非試してみてください。CSSスプライトを利用しなさい、Expiryをヘッダーに付加しなさい、gzip圧縮を有効にしなさいなど、色々なアドバイスを出してくれます。 WebPagetest 実際のページを表示する際に必要な画像をダウンロードするのにかかる時間を細かく測定し、Water fall chartやビデオなどでデータを出力してくれる非常に優れたツールです。 PageSpeed Insightsはスコアという形で表示されますが、実際のユーザの体感を調べるのはこちらのツールの方が優れていると思います。

ソースコードの難読化ツール

.Net Nandoku .Net Reflector Dotfuscator Community Edition :2003年の記事ですが@ITに .NET逆コンパイラと コードを難読化するDotfuscator の記事があります。 Java ProGuard Javascript このページ によくまとまっています。 「成分解析」研究室 さんの このページ に非常によくまとまっています。 難読化手法については ここ によくまとまっています。

Java Web Startの関連リンク

Sun 公式 Deploying Software with JNLP and Java Web Start Java Web Start ガイド :バージョン1.6対応 Java Web Start ガイド :バージョン1.5対応 開発者ガイド :バージョンが古い(バージョン1.2)ので参考程度にしてください(2009年1月11日追記)。 その他参考になるページ 株式会社日本ユニテック の ページ (少し古いです。) むいみこむ さんの ページ てんぷらメモ さんの ページ Canadian Mind Products mindprod.com さんの ページ Java Web Startをローカルで動かす方法 こちら の投稿が参考になります。 Java Web Startのリモートデバッグの方法 株式会社SMG さんのこの ページ が参考になります。