2011-07-01から1ヶ月間の記事一覧

OSの主要な役割を復習しておく

基盤製品のプロファイラ整理の前準備として、OSの役割について復習しておく。 プロセス管理: マルチタスクのため メモリ管理: メモリ割り当て ファイルシステム: ファイル名呼び出しやディレクトリ化のため 入出力管理: ドライバとアプリケーションの間を取…

My自作マシン 起動しない問題解消!!

ビープ音だけを信じて動いていては決してたどりつけなかった対応で、不具合解消に成功した。 やはり、経験豊富な先輩エンジニアの経験則に勝るものはなかった、ということか。 現象 Fedoraで正常に動作していたマシンにCentをインストールした。 2度目の起動…

コンピュータ起動時の内部動作についてひとまず調べた

My自作PCが起動しないので、コンピュータ起動時の内部動作についてひとまず調べてみた。 コンピュータ起動時の内部動作 (電源ボタンを押下) (CPU に通電?) CPU が BIOS のプログラムを実行 Power On Self Test(POST) 診断エラーが発生した場合は、ビー…

Node.jsのexe版をダウンロードしてみた

Node.jsのexe版が出たとのことで、ダウンロードしてみた。 ダブルクリックで実行するとコマンドラインが表示され、そこにJavaScriptのコードを記述できる。 これってつまり、JavaScriptエンジンV8込みでexeに固まってるってこと?ってことで、今後はお手軽に…

Wake-On-LANという機能があるらしい

以前から、自宅内の別の部屋にサーバを配置していたため、PCの電源をONにしに行くのが面倒だと思っていた。 日経Linux8月号を読んでいて、「Wake-On-LAN」というキーワードを知った。なにやら、対象のPCのMACアドレスを含んだデータリンク層の特殊パケットを…

My自作PCの構成をメモしておく

2度目の不稼働状況に陥っている、My自作PCの構成をメモしておく。今日、電源を新調して稼働させる予定。 構成 マザーボード: ASUSTek P5Q-E CPU: Core 2 Duo E8400 メモリ: CFD ELIXIR W2U800CQ-2GL5J(DDR2 2GB)×2 HDD: Western Digital WD Caviar Green ビ…

ExcelVBAの基本の基本

ExcelVBAを以前学んだ際のメモを記載しておく。基本の基本。 概要 VBE(Visual Basic Editor) 原則、「標準モジュール」としてコードを作成する。(挿入>標準モジュール) Ctrl+SPACEでコードアシスト。 APIマニュアルは、ヘルプ>Microsoft Visual Basic ヘ…

GitHubのアカウントを作ってみた

GitHubを使ってみた。 とりあえず、$0の「Free for open source」でアカウントを作成し、以下の通り、 GitHub Bootcamp メニューの SetUp Git に沿ってセットアップし、Create A Repo に沿ってリポジトリを作ってみた。 URLはこちら。 Gitのダウンロード&イ…

DBチューニングのための指標を整理してみた

以下、考えたり調べたりしたけど、やはりDBのチューニングは、インデックス、メモリ、統計情報、待機回避、ソート回避、解析再利用、そして負荷分散、という観点に落ち着きそうだ。 (※以下、基本的にOracleについての情報です) ブレスト的に考えみた指標 …

okknパッケージを作ってみた2〜インスタンスメソッドとスタティックメソッドの区別〜

インスタンスフィールドにアクセスしないスタティックメソッドは、メモリ削減のためプロトタイプ側に定義した。 okkn.js if(okkn === undefined) { var okkn = {}; } if(okkn.util === undefined) { okkn.util = {}; } (function() { //*** パッケージ間共通…

性能計測機能を作ってみた5〜okknパッケージを作ってみた1〜

ロガーも追加して、パッケージ okkn.util としてひとまとめにしてみた。 okkn.js if(okkn !== undefined) { var _okkn = okkn; } var okkn = {}; okkn.util = (function() { /** * デフォルト出力先にメッセージを出力します。 * @param str メッセージ */ f…

JavaScript課題対応で発見したTips2

動的にscript要素を作成、編集するパターンおよびブラウザ間の挙動の違いをメモしておく。 大まかには以下の認識でよいだろう。(※例外ケースは、後述の詳細で赤文字で記載している) textよりもsrcが優先される IE8以前はDOMにアペンド後のscript要素の操作…

性能テスト用DOM生成 jQuery プラグインを作ってみた

DOMアクセスの性能計測の際に利用するために、テスト用DOM生成の jQuery プラグインを作ってみた。 jquery.appendchildren.js ;(function($) { var _ID_DLMT = '_'; var _ID_NUM_DLMT = ''; var _nodeStructureMap = { div: ['div'] , table: ['table', 'tbo…

JavaScript課題対応で発見したTips3

focusoutイベントの処理でモーダルポップアップを表示する記述をしていた。 このとき、IE8では、ウィンドウの×ボタン押下によるフォーカスアウトでモーダルポップアップが表示されると、親画面が見た目上閉じられて、モーダルポップアップがフリーズ状態にな…

JavaScript課題対応で発見したTips1

とりあえず箇条書きでメモしておく。 近々、昔対応した際の技術Tipsをまとめてメモしよう。 jQueryでセレクタ 'input:hidden' で取得した場合、hidden要素だけでなく、非表示状態の任意の input 要素も取得される iframe内で画面遷移した場合でも、 window.h…

DBの性能について整理しておく

久々にDBについて考えていた。 結局、DB周りのチューニングの肝は以下になると思う。 インデックスのはり方、使い方 テーブル結合のし方 メモリの使い方 通信の削減 ロック競合の回避 これらについて「現状分析」を行うためのツールを、各DBMSについて近々ま…

コードの再利用方法をメモしておく

JavaScriptにおけるコードの再利用方法には下記などがある。 単なる呼び出し メソッドの拝借 コンポジション ミックスイン プロトタイプ継承 (擬似)クラス継承 メソッドの拝借 全ての関数オブジェクトがもつメソッドである call あるいは apply を用いる。…

JavaScriptの性能について整理しておく

JavaScriptのチューニングの実践を通して学んだことを整理しておく。 クライアントJavaScriptの高速化の肝はDOMアクセスと変数アクセスにある。 特にDOMアクセスのコストは格段に高いため、一番のチューニングポイントになる。 DOMアクセス DOMアクセスの削…

今更ながら、Log4Jについて復習しておく

毎度忘れるので、Log4Jを復習&メモしておく。 うまみ 下記を外部ファイルで設定できる点、性能面が考慮されている点、など。 出力先(コンソール、ファイル、Syslogデーモン、データベース、メール、など) 表示内容(SimpleLayout、HTMLLayout、XMLLayout…

JMeterについて調べてみた

性能計測をすることが多くなってきたので、この辺でJMeterを使えるようになっておこうと思う。 概要 用途 ロードテストおよびパフォーマンス計測を行う。当初はWebアプリ用であったが、拡張された結果、「static and dynamic resources (files, Servlets, Pe…

クライアントサイドJavaScriptのフレームワークを調べてみた

JavaScriptフレームワークというキャッチーな用語について調べてみた。 ちなみに、調査前に私が知っていたものはマスカットだけである。本当に(※)フレームワークと呼べそうものでは、下記が見つかった。(※補足を参照) Ample SDK レイアウトを、XMLベース…

CSSの適用について、予想外の事実を知った

[1]の読書にて、予想外な事実を知ったためメモしておく。 それは・・・ 「CSSセレクタは右から左へと照合される」 という事実だ。 つまり、 #id1 td というセレクタの場合、以下の順番で照合される。 DOM内の全ての td 要素を探索 上記で見つかった各 td 要…

性能計測機能を作ってみた4〜jquery-aopで織り込んでみた〜

以前作った 性能計測機能を、jquery-aop で織り込んでみた。 <HTML> <HEAD> <TITLE>タイトル</TITLE> <SCRIPT src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.js"></SCRIPT> <SCRIPT src="./aop.js"></SCRIPT> </head></html>

jquery-aop1.3 を調べ&使ってみた

Joinpoint Joinpoint は、下記の組み合わせで指定できるメソッドの内部となる。 正規表現可能)> 上記で指定したメソッド内での位置のバリエーションは下記の通り。 before a method after a method after a method throws an exception(afterThrow) after a…

AOPの復習

なんだかんだ基本用語の記憶がふんわりしてきたので、この辺りで復習しておく。 AOPの復習[1] Aspect AdviceとPointcutの集まり Advice 割り込ませる処理 Pointcut Adviceを軸に集めたJoinpoint Joinpoint 処理を割り込ませることが可能なプログラム上の箇所…

JavaScript で AOP を考える

JavaScriptのように関数をオブジェクトとして扱える言語であれば、AOP は比較的簡単に実現できそうだと常々思っていた。 とはいえ、思いつく方法は、単純に対象の関数をその関数を内部で呼び出すような関数で上書きする方法だ。 そこで、Java における AOP …

性能計測機能を作ってみた3

前回作成したコンストラクタ版を、クロージャを利用したモジュール版に変更した。 背景 JavaScriptでは、コンストラクタと一般の関数との区別がない。 そのため、コンストラクタとして使用されることを想定して実装した関数でも、もちろん new 演算子なしに…

性能計測機能を作ってみた2

前回作ったものを、コンストラクタ形式に書き換えた。 これにより、内部で使用する変数を隠蔽することができる。 var st = new SpeedTester(); st.setStart('処理1'); // 処理1のコード st.setEnd('処理1'); st.setStart('処理2'); // 処理2のコード st.setE…

JavaScriptでの例外処理について整理する

JavaScriptにおける例外処理の特徴に着目して整理する。 例外オブジェクト 下記に引用する[1]「6.16 throw 文」の記述から、JavaScriptにおける例外は任意のデータ型であることがわかる。 throw 文の書式は次の通りです。 throw expression; expression に指…

jQueryを読み込むテンプレ

jQueryを用いたコードを簡単に動かしたい場合のテンプレをメモしておく。 テンプレ1(Google Librariesから読み込み) <HTML> <HEAD> <TITLE>タイトル</TITLE> <SCRIPT src="http://www.google.com/jsapi"></SCRIPT> <SCRIPT type="text/javascript"> //</head></html>