3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援→開発戻り浦島太郎状態の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。

2008-01-01から1年間の記事一覧

(.Net)RichTextBoxコントロールは勝手に改行コードをLF(ラインフィード)にしてしまう!?

またMicrosoftの陰謀の話です。 (VB.Net)DataObject.GetText()の引数にCSV(TextDataFormat.CommaSeparatedValu)指定時のバグ!? で上げたコードを使ってCSV出力時にセル値の改行コードを取り除く処理をやろうと思ったのですが、なぜか改行が出力されてしま…

(VB.Net)String型変数の値(文字列)を16進数でダンプする

デバッグ中に文字列を16進数でダンプする方法です。 エンコーディングを指定し、そのエンコーディングで文字列をByte型配列にします。 (WindowsはAPI等内部的に文字列はUTF-16で処理しているので、エンコーディングはUnicode(UTF-16)にしておきます。) その…

(Web)PDFを配布するため、AdobeReaderのロゴとダンロードページのリンクを張りたい

よくPDFを置いてるサイトにはAdobeReaderのバナーやダウンロードページへのリンクが張っているとおもます。 あれは正式にはどこで手に入れるのでしょう。 ということで、Adobe社のサイトを探してみました。 Adobe Readerダウンロードサイトへのリンクは下記…

Chromeが速い理由

@ITにChromeはなぜ速いのかという記事で載ってました。 たしかに、Chromeは他のブラウザに比べ、ページ表示が速いように感じます。 そのからくりが上記の記事に載せられているんですが、まあさすがGoogleだなという印象を受けました。 Chromeは下記の点で高…

(バグ管理)Mantisをインストールしてみた

Excelベースのバグ管理していたのを、ちゃんとしたバグトラッキングを使うようにするためにMantisを導入してみました。 (前の会社ではredmine導入を提案しそれで進捗管理もしてましたが、今回はバグ管理だけなのでMantisにしました。) まず、Mantisを動かす…

(CalePHP)日付で初期値を空白にさせる

CakePHP1.2 $fomm->inputヘルパー で'type'=>'date' で日付を入力するコンボボックスを作れますが、デフォルトだと値が本日の日付となってしまいます。 これを選択されていないように空とするには下記のようにすればOKです。 echo $form->input('Member.mem_…

(.Net)一時ファイル、フォルダの使用方法

■一時ファイルは.Netでは非常に簡単に作成できます。 最初は、System.Environment.GetFolderPath(Environment.SpecialFolder.値) で取れるのかと思いましたが、違ってました。 Dim tmpFile As String = System.IO.Path.GetTempFileName() とするだけで、ユー…

VisualStudio2008 アウトラインをすべて展開する方法はないのか?

Visual Studioにはアウトラインという機能がありますが、全てが折りたたまれたアウトラインを全て展開する方法はないのかといろいろ調べてみました。 Ctrl+M→Ctrl+L というショートカットキー(すべてのアウトラインの切替)がありますが、この場合 Region が…

VisualStudio2008 インテリセンス・オブジェクトブラウザの英語になる問題

Visual Sudio2008 でSP1をあてるとインテリセンスやオブジェクトブラウザの情報が英語で表示されるようになっていました。 しばらくは仕方ないと思いつつ使ってましたが、この不具合の修正プログラムが公開されていたようです。 詳細情報:http://support.mi…

Visual SourceSafe 2005でPDFファイルを追加し、取得するとファイルが破壊される

表題のとおりですが、Visual SourceSafe 2005(以下VSS)でPDFを追加し、そのPDFファイルを開こうとすると「この文書を開くときにエラーが発生しました。ファイルが壊れています。修復できませんでした。」とAdobe Reader9に怒られます。 どうやらVSSが悪さを…

(ADO.Net)パスワード付mdbにアクセスする際の ConnectionString の書式

いつも忘れてしまうのでメモ。 .NetからDataSetを使わずに接続型でパスワード付mdbにアクセスするための方法です。 Try Dim cn As New OleDb.OleDbConnection() '接続文字列設定 cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\a.…

(Firefox)アドオンのインストール、更新時に「ダウンロードのエラー」と怒られる

自宅PCではFirefox2をこないだまで使っていたのですが、アドオンのインストール、更新時に下記のように「原因:ダウンロードのエラー -228」と怒られていました。 Firefoxのバージョンの問題化と思いFirefox3にしたのですが、それでもダメでした。 でいろいろ探…

(CakePHP)携帯電話でもセッションを使えるようにする

最近のauやソフトバンクならクッキーを使える(ゲートウェイでクッキーつけてるっぽい?)ので問題ないのですが、厄介なのはドコモです。 ドコモはクッキーも使えませんし、HTMLのほうも、CSSが全く利用できません。 つくづく、独自規格をいくキャリアですね。…

(CentOS)MySQLの設定とリモートからのアクセス許可方法

環境: CentOS5.2 MySQL5.0 CentOSにデフォルトで入ってるMySQLですが、運用に入る前に初期設定をしないといけないようです。 MySQLを起動後、下記のコマンドで初期設定を行えます。 # mysql_secure_installation 初期設定の詳細はデータベースサーバー構築(M…

(PHP)携帯電話のキャッシュを無効にする

CakePHPで携帯向けのサイト作っていたのですが、データを登録してもページ更新しない限りは表示内容が更新されません。 調べるとやはり、キャッシュっぽいです。 ということで、携帯電話のキャッシュを無効にする方法です。 こちらを参考にさせてもらいまし…

(CakePHP)命名規約の単数形、複数形を自動的に変換してくれるサイト

CakePHPはファイル名や、コントローラ名、モデル名、ビュー名、テーブル名などに規約が定められています。 規約については、ここやここに細かいことが書かれています。 そして、めんどいのは単数形、複数形の規約があることです。 英語の心得がない自分には…

(VB.Net)MD5のハッシュからBase32エンコードを行う。

ソフトのプロダクトキー(シリアルキー)をMD5に基づくものにしようと思って考えたものです。 .NetでMD5の値を得ると16進数のByte型配列で帰ってくるのですが、これをBase32化するとちょうど桁数が25.6桁になります。 最後の0.6桁を切り捨てるとちょうど25桁と…

(VB.Net)時間用コンボボックスのユーザコントロールを作ってみた

業務で必要だったので時間入力用コンボボックスをユーザコントロールで作ってみました。 機能は コンボボックスでプロパティで指定された区切り時間を選択できる。 直接入力も可能。(その場合は、入力チェックを行う) 直接入力とドロップダウンリストのみで…

(VB.Net)RichTextBoxで最下行にスクロールする

したいこと:RichTextBoxをログ等の出力先にして、キャレットがRichTextBoxの最後尾に来るようにしたい。 要は表示データをRichTextBoxに入れたときに、最下部に自動的にスクロールしてほしいわけです。 で、このときはTextBoxBase.ScrollToCaret()が有用で…

(VB.Net)ハンドルされない例外を捕まえる方法

本来はイベント毎にTry Catch構文で例外を捕まえたらいいのでしょうが、なかなかそうはいかないこともあります。 デバッグ中にハンドルされない例外が発生すると下記のようになります。 デバッグ中でない場合に実行すると下記のようにエラーダイアログがでま…

(.Net)Control.Reset()メソッドは使えるか?

現在、フォームの拡大Verを作っており、拡大設定にすると、すべてのコントロールのサイズ、フォントを大きくし、小設定にすると通常サイズに戻す部分を作っています。 で、フォントを元に戻すという部分ですが、MSDNのコントロールのリファレンス見てると面…

(VB.Net)ADO.NetでOLEDBのトランザクション

ADO.Netでトランザクションするコードです。 '接続型でDBにつなぐ Dim cn As New OleDb.OleDbConnection cn.ConnectionString = テーブルアダプタ.Connection.ConnectionString 'コネクションを開く cn.Open() 'コマンドオブジェクト生成 Dim cmd As New Ole…

(SQL)顧客毎に日別で売上回数をカウント、売上金額合計を抽出するSQL

SQL

いつものごとく苦手SQLのためわかりにくい件名ですが、したいことは下記の通りです。 まず、下記のようなテーブルがあるとします。 Customerテーブル ┌───────────────────┐ │CustomerID CustomerName CustomerKana│ │3 新垣 アラガキ │ │4 戸田 トダ │ │21 …

(VB.Net)テキストボックスでマウスオーバー時に背景色が変わってしまうバグ

下記の手順でテキストボックスでマウスオーバー時に背景色が変わってしまうバグを発生できます。 1.TabControl の上に GroupBox を乗せ、その上に TextBox を配置します。 2.その TextBox のプロパティで、Multiline=True , ScrollBars=Both にします。 3.そ…

(WEB)Webページの表示している内容のスクリーンショットを撮る。

今回使ったのは「WebKut」というツールです。 このツールがAirアプリケーションというのも特徴ですね。(実行前にAirの実行環境をインストールする必要があります) レンダリングエンジンはWebKitを使ってるっぽいです。 ページのすべてを保存したり、今見てい…

(ブログ)Exciteブログでアクセス解析する方法

ネット上には無料で使えるいろいろアクセス解析のサービスがありますが、たいていのアクセス解析用のコードがJavaScriptを使っています。 が、Exciteブログは禁止タグが多く、も使えません。(Exciteの禁止タグは一覧は公式ヘルプに書いてます。) ということ…

(サーバ)WEBサーバの稼働状況や使っているOS、サーバデーモン名を取得する

Netcraft(http://www.netcraft.com/)というサイトでWEBサーバに関するいろいろな情報を取得できます。 特にシステムの稼動状況(再起動までの時間など)がグラフ表示が表示されるとこは興味深いですね。 指定したDNS名のIPの履歴も見たりできます。 Netcraft…

(VB.Net)DataTableで特定の列の最大値を含む行を取得したい。(DataTable.Select)

例えばDataGridViewでDataTableをデータソースに設定し、新規行を作ったときに、ID列を自動採番するときに、今のID列の最大値を取得してそれ+1の値を新規にIDにしたいときがあると思います。 このときに新規IDを得るための最大値を取得する方法です。 このよ…

(VB.Net)ADO.Netで大量のデータをテーブルに追加するときのレスポンス Part2

前の記事の続きです。 最後に、コマンド オブジェクトによる新規レコードの挿入例です。 'CSVファイルをTextFieldParserクラスを使用して読み込む Dim parser As New FileIO.TextFieldParser("KEN_ALL.CSV", System.Text.Encoding.GetEncoding("Shift_JIS"))…

(VB.Net)ADO.Netで大量のデータをテーブルに追加するときのレスポンス Part1

したいことは、郵便番号データCSVをDB(今回はOLEDB経由のmdb)にインポートすることです。 全国版の郵便番号データCSVは12万件程度あるのでDBにインポートもそれなりに時間がかかると思います。 試してみた方法はMSDN:「方法 : データベースに新しいレコードを…