Since: 2002/09/22   Total:311617,    Today:24,   Yesterday:54   
<<前へ [ページ:1/6] 次へ>> [56件中 1 - 10件] 最初 / 最後
ちょいメモ v1.50
SEOに悩む
warning C4996
Visual Studio 2005
SPM Ver.0.61


 

ちょいメモ v1.50

 ちょいメモは、気楽に素早くメモをとれるように開発した、デザインを重視のメモ帳です。以下のような特徴があります。

  • シンプルなデザインで気軽に使える
  • アニメーション(スライド)して表示・非表示
  • 軽量かつコンパクトで常駐に最適
  • 画面の外に常駐して素早くメモ
  • 書いたメモは自動保存
  • ボタン一つで定型文を入力

スクリーンショット
ちょいメモ - スクリーンショット

» この記事を全部読む

 皆さんはサイトに何を求めるでしょうか。自分のサイトではなく、他の人のサイトにです。例えば情報であったり、娯楽であったりすると思います。
 普通に文章として情報を提供しているサイトは数多くあり、そのサイト管理者は、情報に対してあまり神経質に管理していないと思います。なぜなら、「情報は提供するけど、もし何かあっても自己責任で」とうたっているところが多いからです。
  しかし、こういった文章がどこかに書いてあるのでしょうけど、多くの人は読んでいないのが現実です。それは「自己責任で」というのが、今や暗黙の了解みたいなものだからです。

 さて、話は変わって最近の素材屋はどうでしょう。素材を提供するのだから著作権の問題などもあり、利用規約があるのは当たり前ですよね。ただ、この利用規約の掲示の仕方に問題があると思うのは私だけでしょうか。

» この記事を全部読む

 

SEOに悩む

 SEO(Search Engine Optimization)という言葉を1年くらい前からでしょうか、よく聞くようになりました。言わずと知れた検索エンジンへの最適化のことなのですが、これがまた何をどうしたらいいのかよくわかりません。下手に我流で対策すると、それがペナルティとなって逆にランクを下げてしまいます。
 昔は、同じキーワードを過度に何度も使うような方法があったのですが、今それをやってしまったら、スパム扱いになりかねません。

 それならSEOの知識なしで、まずは何をしたらいいのかを考えてみてください。単語数やキーワードの比率だとか、そんなのは後回しです。最初にやるべきことは、HTMLが正確に記述できているかをチェックすることです。
 自分は大丈夫だと思っていても実際にチェックしてみると、実は間違いであったり、ここはこうした方がいいという部分が多いことを思い知らされます。このサイトもチェックすると、実はおかしな部分が多いです。(このサイトはSEOを気にしていません)

 では本題です。

» この記事を全部読む

 朝起きたらサーバのHDD-LEDが点灯しっぱなしで落ちてました。そして、キーボードも何も反応しないので仕方なくリセットボタンで再起動。が、しかし、起動中にIDEだかDMAだかがTimeoutとエラー出て起動しません。まいったな〜と思いつつ、電源を落としコンセントを一度抜き、1分くらい放置して再度電源を入れてみたらなんとか起動しました。

 そして、気づくとログ(/var/log/messages)に以下のようなメッセージが・・・。

» この記事を全部読む

 

warning C4996

 VC++2005ではCRTのセキュリティ強化という事で、CRT関数にセキュリティ強化された関数が追加されました。これにより今までのソースをビルドすると、strcpyなどが「warning C4996: 'strcpy' が古い形式として宣言されました」と大量にwarningが出る場合があります。
 warningはstrcpy_sという「_s」の付いたセキュリティ強化バージョンを使えば出なくなるのですが、以前のソースを全部書き換えるのは面倒です。そこでそのwarningを出さないようにします。方法は2通りあり、1つは#pragma warningを使う方法と、もう1つは_CRT_SECURE_NO_DEPRECATEを定義する方法です。
#pragma warning ( disable : 4996 )

または

#define _CRT_SECURE_NO_DEPRECATE // こっちの方が正当派

 これでwarningを出なくすることができます。ですが新しくプログラムを書くのでしたら、やはりセキュリティ強化されたCRT関数を使った方がいいと思います。

 

Visual Studio 2005

 Visual Studio 2005 Standard Edition(以下VS2005)を買いました。VC6からのアップグレードで買ったので、価格は約2万円でした。最近、ほんと開発環境の価格が安くなりましたね。今回私が買ったのはスタンダードですが、以前のVisual Studioのプロフェッショナルに相当する機能を持っていると、どこかのニュースサイトで見ました。最初プロフェッショナルを買おうかと検討していたのですが、値段が高いのとその記事を見て結局スタンダードにしました。

» この記事を全部読む

 

メモリリークの検出

 MFCを使っていると、デバッグの終了時にメモリリークしているブロックを表示してくれます。しかしSDKやWTLだった場合、ちょっとした手続きを経ないとこれを表示してくれません。

  1. 次の定数を定義し、ヘッダをインクルードする
    #define _CRTDBG_MAP_ALLOC
    #include <stdlib.h>
    #include <crtdbg.h>
    
    これらは他のヘッダをインクルードするより前に記述します。

  2. プログラムの先頭で以下を呼び出す
    _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
    
    これでデバッグ終了時のメモリリークのダンプが有効になります。

以下のプログラムをデバッグモードで実行して終了すると、「出力」にメモリリークがダンプされます。

» この記事を全部読む

 まず現象ですが、VC++6.0でWTLのメッセージクラッカを使う場合、ATL3.0(VC++6.0のは3.0)ではメッセージマップのマクロにBEGIN_MSG_MAP_EXを使用する必要があります。しかし、BEGIN_MSG_MAP_EX( class )と書いてしまうとEND_MSG_MAPとの対応が取れずに、それ以降に書いたメンバがグローバル宣言のようにClassViewで表示されてしまいます。これではClassViewが使い物になりません。

 ということで対策としてBEGIN_MSG_MAP_EXではなく、BEGIN_MSG_MAPを使うように定義してあげます。
 BEGIN_MSG_MAP_EXはATL7.0以降では使用する必要はなく、BEGIN_MSG_MAPをそのまま使用できます。ですから次のような定義を書いてあげればいいわけです。

#if (_ATL_VER < 0x0700)
    #undef BEGIN_MSG_MAP
    #define BEGIN_MSG_MAP(x) BEGIN_MSG_MAP_EX(x)
#endif

 これを独自クラスのヘッダをインクルードする前あたりに追加し、BEGIN_MSG_MAP_EXを使わずにBEGIN_MSG_MAPのみを使うようにします。

マニフェスト


 XPのビジュアルスタイルを使うには、勿論WindowsXP以降のOSが必要になります。WindowsXPにはComCtl32.dllのバージョン5と6が両方入っていて、通常の手順でVC++6.0でアプリケーションを作成するとバージョン5が使用されます。つまりComCtrl32.dllのバージョン6を使うようにしてやればいいのですが、これにはマニフェストを使用します。

» この記事を全部読む

 

SPM Ver.0.61

 数年ぶりにSPMを少しだけいじりました。

ダウンロードはVectorから
SPM Ver.0.61 - パケットモニタ

ソースを希望される方は、こちらを参照してください。

<<前へ [ページ:1/6] 次へ>> [56件中 1 - 10件] 最初 / 最後