日本発国際郵便料金

日本発国際郵便料金計算Web

www.j-rep.com
www.netz.co.jp

Sun認定資格の紹介

Sun認定資格ホームページ

簡単の紹介は下記の通りです。
(Previewのために、Sun-Webからコピーしただけです。)


【SJC-A】Sun認定Javaアソシエイツ試験概要
SJC-A は、開発者を目指す初級 Java技術者の方、及び、Java関連のビジネスに携わる方々を対象とし,Java テクノロジーに関する全般的な基本知識及び、オブジェクト指向の概要と共に、プログラミングの基礎についてテストします。

試験番号  310-019
質問数   51問
合格ライン 68%(51問中35問正解)
質問形式  多岐選択式/ドラッグ&ドロップ
時間    115分
料金    ¥15,000-(税込¥15,750-)
前提条件  特になし
対象者   初級Java技術者、SE、 IT部門・ ITプロジェクトのマネージャ
 主な出題範囲
 例題


【SJC-P】Sun認定 Javaプログラマ 試験概要

Java の包括的な知識から、プログラムの作成まで
他言語での経験はあるが、オブジェクト指向プログラミング言語の経験がなく、アプリケーションを Java に移植ないし、Java を守備範囲に加えたいと思っているプログラマの方向けにプログラミングコンセプト、開発知識とともに Java の文法の知識、基本的なライブラリを使用したプログラミングの作成能力についてなど、Java の包括的な知識についてテストします。

J2SE 5.0バージョン対応資格 提供開始
J2SE 5.0は J2SE 1.4 から機能の大幅な拡張とコードの強化が施され、開発の迅速化、デバッグの簡素化、生産性やパフォーマンスの向上を実現し、安全で透明性の高いアプリケーションの開発を可能とします。J2SE 5.0バージョン対応の Java プログラマ資格では、J2SE 5.0 の新機能を含む Java の包括的な知識を証明します。400万人を超えるといわれる Java 開発者から、自身の能力を差別化するためには、最新の知識について客観的な評価を受けることが重要です。今後の業務アプリケーション開発の基盤となる J2SE 5.0の技術を修得し、その知識の証明を手に入れてください。

Sun Certified Programmer for Java 2 Platform 5.0
SJC-P    5.0
試験番号  310-055
質問数   72問
合格ライン 59%(72問中43問以上)正解
質問形式  多肢選択式/ドラッグ&ドロップ
時間    175 分
料金    ¥24,000-(税込¥25,200-)
前提条件  なし

Sun Certified Programmer for Java 2 Platform 5.0 Upgrade Exam
SJC-P    upgrade for 5.0
試験番号  310-056
質問数   46問
合格ライン 58%(46問中27問以上)正解
質問形式  多肢選択式/ドラッグ&ドロップ
時間    105 分
料金    ¥24,000-(税込¥25,200-)
前提条件  Sun Certified Programmer for Java 2 Platform 合格者

 主な出題範囲
 例題


【SJC-D】Sun認定Javaディベロッパ お申込
SJC-D は Java コンピューティングの基本構造やシンタックスは既に修得済で、実務的なアプリケーション作成へ技術を向上させたいプログラマ向けに実際にアプリケーション作成の複雑なプログラミング課題を行い、次にその課題を実行するために必要な知識について小論文形式でテストします。

本試験は、パート I・パート II 2つのパートから構成されています。
パート I はプログラミング課題です。この課題がDeveloperプログラムの実習部分になります。
パート II では、課題の解決策に関連する 5 から 10 の記述式の問題が出されます。この試験に進むには、課題を完了し、答えがアップロードされていなければなりません。下記のリストから正しい試験番号を選択してください。どの試験を受験すればよいかわからない場合は、こちら よりお問い合せください。

 主な出題範囲
 例題(なし)



【SJC-WC】Sun認定Webコンポーネントディベロッパ 試験概要
サーバーサイドJavaシステム開発の土台を作る
Javaコンピューティングの基礎知識を既に修得している方向けの試験で、システム開発に不可欠なサーブレット、JSPといったプログラミング能力の包括的な知識をテストします。
料金    ¥24,000-(税込¥25,200-)
前提条件  【SJC-P】Sun Certified Programmer for the Java Platform 取得


【SJC-BC】Sun認定ビジネスコンポーネントディベロッパ 試験概要
SJC-BC は近年ますます需要の増加しているオープンなコンピュータシステムにおいて不可欠な要素となる、J2EEベースのアプリケーションサーバで業務アプリケーション開発を行う技術者を主な対象とした認定資格です。EJB(Enterprise JavaBeans)を利用したアプリケーションの設計、開発、テスティング、配備、統合などの技術を習得された方に最適です。EJBの概要および、 Session Bean,Entity Bean,Message-driven Beanといった各種Enterprise Beanとそれに関連するサービスについての知識を問う内容となります。
料金    ¥24,000-(税込¥25,200-)
前提条件  【SJC-P】Sun Certified Programmer for the Java Platform 取得


【SJC-MA】Sun認定モバイルアプリケーションディベロッパ試験概要
SJC-MA は、近年ますます成長を続けている、モバイルのデータサービス用の主要なプラットフォームとして使用されている J2ME テクノロジーを使用して携帯電話や他の Java 対応のデバイスにモバイルアプリケーションを開発しているプログラマのための資格です。SJC-MA を取得することにより JTWI (Java Technology for Wireless Industry)、WMA (Wireless Messaging applicationprogramming interface)、MMAPI(Mobile Media APIs) などの仕様を含むモバイル Java 技術に対しての全般的な知識とプログラミング能力が証明されます。
料金    ¥24,000-(税込¥25,200-)
前提条件  【SJC-P】Sun Certified Programmer for the Java Platform 取得


【SJC-EA】Sun認定エンタープライズアーキテクト 試験概要
SJC-EA はオブジェクト指向概念、レガシー接続、EJB、プロトコル等J2EEを使用したシステムのアーキテクチャに必要とされる知識についてテストします。

关于Java认证

Java认证-中文
gceclub.sun.com.cn/cert_process.html

Java认证-English
www.sun.com/training/certification/java/index.xml

Java認定-日本語
suned.sun.co.jp/JPN/certification/javamain.html


SUN中国技术社区
gceclub.sun.com.cn
西安信息资源网
www.infoxa.com

Oracle入门与认证

Oracle入门及各种基础教材
www.ibook8.com/book/oracle

旧ORACLE 认证:ORACLE MASTER,分为如下:
ORACLE MASTER --Bronze入門資格
ORACLE DBA
ORACLE SQL基礎I

ORACLE MASTER --SILVER
ORACLE SQL基础
ORACLE 数据库入门

ORACLE MASTER --GOLD
ORACLE PL/SQL基础
ORACLE 数据库管理I

ORACLE MASTER --PLATINUM
ORACLE管理II (备份和恢复)
ORACLE管理II (NETWORK ADMINISTRATOR)
ORACLE PERFORMANCE TUNING

新ORACLE 认证:ORACLE MASTER 具体信息参看
www.oracle.co.jp/education/master





参考
ORACLE MASTER Silverとは、日本オラクルによるOracle製品を扱う技術の認定資格「ORACLE MASTER」シリーズのうち、最も基礎的な資格のことである。Oracleデータベースの入門レベルの資格に相当する。ORACLE MASTER Linux+取得の前提条件でもある。上位の資格として「ORACLE MASTER Gold」、最上位の資格として「ORACLE Platinum」がある。

ORACLE MASTER Goldとは、日本オラクルによるOracle製品を扱う技術の認定資格「ORACLE MASTER」シリーズのうち、中級の資格のことである。データベース管理・運用部門の2段階目の資格で、データベースの基本的な管理・運用やユーザへの指導ができると認定されたことになる。Oracle 8対応、Oracle 8i対応の二種類がある。下位資格には「ORACLE MASTER Silver」が、上位資格には「ORACLE Platinum」がある。

ORACLE MASTER Platinumとは、日本オラクルが運営しているOracle製品を扱う技術の認定資格「ORACLE MASTER」シリーズのうち、最上級の資格である。「ORACLE MASTER」シリーズには、このほかにも入門レベルの「ORACLE MASTER Silver」、中級レベルの「ORACLE Gold」があり、ORACLE MASTER Platinumは、一連の資格の中で最上級のものに位置づけられている。

ORACLE MASTER Platinumで測定されるのは、データベースを運用する上でのコンサルティングや、データベースの効率的な運用・管理・指導ができる能力があるかどうか、である。またORACLE MASTER Platinumには、 2006年4月現在、Oracle 9対応のものと、Oracle 9i対応のものの二種類がある。なお、ORACLE MASTER Platinumの取得者は同時に、世界共通の資格である「Oracle Certified Professional」(OCP)としても認定されることになっている。

タスクバーの位置や大きさ

タスクバーの位置や大きさ

タスクバーの位置や大きさを取得するには、SHAppBarMessage関数で簡単に取得できます。
まず、この関数を使うためにをincludeします。
次にパラメーターとして使うAPPBARDATA構造体を0で初期化し、cbSizeメンバにこの構造体の大きさを入れておきます。
そして、SHAppBarMessage関数を呼び出します。

#include

APPBARDATA ABData;
ZeroMemory(&ABData, sizeof(ABData)); //0で初期化
ABData.cbSize = sizeof(ABData); //構造体の大きさを入れる
SHAppBarMessage(ABM_GETTASKBARPOS, &ABData);


これで、タスクバーの位置がAPPBARDATA構造体のrcメンバにRECT型で入っています。


サンプル

void GetTaskBarPosition(CRect* lpcRectTaskBar)
{
  APPBARDATA sBarInfo;

  ZeroMemory(&sBarInfo,sizeof(APPBARDATA));
  sBarInfo.cbSize = sizeof(APPBARDATA);
  sBarInfo.hWnd = m_hWnd;
  SHAppBarMessage(ABM_GETTASKBARPOS,&sBarInfo);
  *lpcRectTaskBar = sBarInfo.rc;
}

結果
  *lpcRectTaskBarに{top=1412 bottom=1442 left=-2 right=1802}のように
  スクリーン座標で格納される。leftの値が負であることに注意。

//*********************************************************
// タスクバー領域の矩形を返す。
//*********************************************************
RECT GetTaskbarRect( void )
{
  APPBARDATA abd;

  memset( &abd, 0, sizeof( abd ) );
  abd.cbSize = sizeof( abd );

  SHAppBarMessage( ABM_GETTASKBARPOS, &abd );
  return abd.rc;
}//GetTaskbarRect



デスクトップ領域のサイズ

デスクトップ領域のサイズを取得する方法。

GetSystemMetrics( SM_CXSCREEN ) // デスクトップ領域の幅を返す。
GetSystemMetrics( SM_CYSCREEN ) // デスクトップ領域の高さを返す。


//*********************************************************
// デスクトップ領域の矩形を返す。
//*********************************************************
RECT GetScreenRect( void )
{
  RECT Rect;

  Rect.left = 0;
  Rect.top  = 0;
  Rect.right = GetSystemMetrics( SM_CXSCREEN );
  Rect.bottom = GetSystemMetrics( SM_CYSCREEN );
  return Rect;
}//GetScreenRect


--------------------------------------------------------------------------------

デスクトップ作業領域(デスクトップ領域からタスクバー等を除いた領域)のサイズを取得する方法。
このサイズは最大化されたウィンドウのサイズと一致する。

GetSystemMetrics( SM_CXFULLSCREEN ) // デスクトップ作業領域の幅を返す。
GetSystemMetrics( SM_CYFULLSCREEN ) // デスクトップ作業領域の高さを返す。


//*********************************************************
// デスクトップ作業領域の矩形を返す。
//*********************************************************
RECT GetWorkareaRect( void )
{
  RECT Rect;

  SystemParametersInfo( SPI_GETWORKAREA, 0, &Rect, 0 ); // デスクトップ作業領域の矩形を取得する。
  return Rect;
}//GetWorkareaRect


タスクバーの大きさをのぞいた画面の大きさ

タスクバーの大きさをのぞいた画面の大きさを得たいときがあると思います。
そんなときはSystemParametersInfoAPIを使います。


使用法は、

RECT rc;
SystemParametersInfo(SPI_GETWORKAREA,0,&rc,0);

です。
これで、RECT構造体のrcに画面の左上と右下の座標が入ります。


プログラムが起動するまで待つ

はじめに
バッチ処理等で、あるプログラムが終了するまで次のプログラムを実行させたくないときに、プログラムの終了を待つ方法です。
プログラムの終了を待つには、WaitForSingleObjectというAPIを使います。この関数は、あるオブジェクトがシグナル状態になるまで待つという関数です。なんかややこしい言い方ですが、要するに指定したスイッチがオンになるまで待つということです。そして今回使うスイッチは、プログラムが終了するとオンになるスイッチです。このスイッチは、CreateProcessを使ってプログラムを実行すると手に入ります。PROCESS_INFORMATION構造体に返ってくるhProcess(プロセスのハンドル)がそれです。あとはそれを、WaitForSingleObjectに渡せばOKです。
  PROCESS_INFORMATION Procinfo;
  STARTUPINFO StartInfo;

  StartInfo.cb=sizeof(stinfo);
  StartInfo.lpReserved=NULL;
  StartInfo.lpDesktop=NULL;
  StartInfo.lpTitle=NULL;
  StartInfo.dwFlags=0;
  StartInfo.cbReserved2=0;
  StartInfo.lpReserved2=NULL;

  //プログラムの実行
  CreateProcess(NULL,"notepad.exe",NULL,NULL,FALSE,0,NULL,NULL
          ,&StartInfo,Procinfo);

  //終了まで待つ
  WaitForSingleObject(Procinfo.hProcess,INFINITE);


さいごに
これでプログラムの終了が待てますが、エクスプローラーだけはこの方法が使えないので注意してください。エクスプローラー(explorer.exe)は、別のエクスプローラー本体を実行して自分はさっさと終了してしまうので、その時点でWaitForSingleObjectから戻ってきてしまいます。


閉じるボタンを灰色にして使えなくする

ウインドウの閉じるボタンを灰色にして使用できなくします。
閉じるボタンはシステムメニューの閉じる項目を使用不可にすると、一緒に使用不可になってくれます。


  hMenu = GetSystemMenu(hWnd,FALSE);
  EnableMenuItem(hMenu,SC_CLOSE,MF_BYCOMMAND|MF_GRAYED);


元に戻すときは、

  hMenu = GetSystemMenu(hWnd,FALSE);
  EnableMenuItem(hMenu,SC_CLOSE,MF_BYCOMMAND|MF_ENABLED);


とします。


環境変数の展開


はじめに
%windir%\explorer.exeのように環境変数を含んだパスを、c:\windows\explorer.exeのように環境変数を展開したパスにする方法です。
方法といっても、そういうAPIがあるので別になんということはないです。

char Name[] = "%windir%\explorer.exe";
char ExpandName[MAX_PATH];

ExpandEnvironmentStrings(Name,ExpandName,sizeof(ExpandName));

これだけです。
このAPIは別にパスじゃなくても単なる文字列でも使えます。というかそっちが本当の使い方。

おわりに
今回のは、小技でも何でもないのですが、私がどうするのか分からなくて結局人に教えてもらったので、誰かが私のように悩まないように載せました。


メモリリークチェック


はじめに
今回はメモリリークのチェックに使っているツールを紹介します。
このツールはVisual C++のデバッグルーチンを使っています。

ソース

リファレンス
必要なインクルードファイル
#include
#include "MyMacro.h"
#include "MyCrtDbg.h"

プロジェクトに追加するファイル
MyCrtDbg.cpp


int WinMain(.............)
{
  DEBUGMEMINIT();
  //DEBUGMEMSETFLAG(DBGMEM_LOG); //メモリ確保時にログが出力される

  pTest = NEW CTest(); //newの代わりにNEWを使用する

  DEBUGMEMRELEASE();
}


出力結果
D:\MyProjects\test.cpp(737) : Allocate Size = 68byte
D:\MyProjects\test.cpp(737) : Allocate Size = 68byte
D:\MyProjects\test.cpp(77) : Allocate Size = 14byte
D:\MyProjects\test.cpp(737) : Allocate Size = 68byte
↑DEBUGMEMSETFLAG(DBGMEM_LOG)設定時のみ

----------------------------------------------------------
メモリ分布
  0 ~ 31 Total: 47 Max: 41
32 ~ 63 Total: 28 Max: 27
64 ~ 95 Total: 10 Max: 10
96 ~ 127 Total: 4 Max: 3
128 ~ 159 Total: 1 Max: 1
160 ~ 191 Total: 0 Max: 0
192 ~ 223 Total: 0 Max: 0
224 ~ 255 Total: 0 Max: 0
256 ~ 287 Total: 0 Max: 0
288 ~   Total: 3 Max: 1
----------------------------------------------------------

最大6204バイトのメモリを確保しました。
64バイト以下のメモリを最大68個 最大1918バイト確保しました。



おわりに
メモリサイズごとの確保回数が出力されるので個人的には重宝しています。