misc.log

日常茶飯事とお仕事と

プログラミング

64bit環境での整数型の選択

忘れないようにメモ。以下、研修で出した話。.NET Frameworkで登場する整数型は、 int …… 32bit 符号付き整数 long …… 64bit 符号付き整数 です。CPUとWindowsなどが64bitなら、64bit整数を使った方がいいのかな?と思いそうなところですが、実際の世の中の…

C#の逐語的リテラル(Verbatim String Literals)

自分用メモ。英語名などがわからなかったので調べました。その記録。 逐語的リテラルを表す「@」 C#で、文字列の冒頭、ダブルクォーテーションの前に"@"(アットマーク)をつけると、その文字列は「記載されたまま」取り扱われます。たとえば文字列中に特殊…

teratailの順位とスコアが同点になった(笑)

技術系質問掲示版、teratail(テラテイル)に昨年夏くらいから登録して適当に回答したりしていたのですが、スコアと順位が同点になるという面白い現象になったので記録。teratail、スコアと順位が同点に回答したり高評価を得たりするとスコアが入り順位など…

ファイル指定とフォルダ指定の指針

業務アプリだと、データファイルを読み込んでデータベースに記録したり、画面に表示しているデータをファイルとして保存したりというような処理がちょくちょく登場します。そのような処理の設計や実装方針で非常にぶれているような場面があったので、その際…

C#でスコープの宣言を省略するとprivateになる(涙)

新人研修用の課題として、C#で継承クラスを作りカスタマイズ、DLLにして配布してみるというのをやろうとしたのですが……下記のソースでやってみたところ、クラスライブラリーのプロジェクトではフォームデザイナーのツールボックスにアイコンが出てくるのに、…

UTF-8かどうかの判定(C#)

別システムからのデータファイル取り込み処理で、文字コードが不明であった場合にどうするか、という話から、UTF-8かどうかのチェックができるのか?という話題になりました。 UTF-8の種類 UTF-8という文字コードには、BOM(Byte Order Mark)という情報があ…

Excel VBAでペーストを検出する

※結論に到達していません。未解決。 teratailで、Excelでペーストを禁止したい、それも特定セルや列だけという質問が出ていました。 teratail.com 興味あったので少し調べてみたところ、Google検索「excell イベント paste」でstackoverflowの下記質問が出て…

Visual Studio 2017 でインストーラーを作る(準備)

Windows用に作ったアプリは、Webアプリで無ければPCにインストールしたり、どこかのフォルダにおいて使う必要があります。フォルダにおくだけの場合は別にそれでいいのですが、複雑な設定や、特別な置き場所におく必要があるといった場合は、一般的には「イ…

ハッシュ値を実際に作ってみる

「宅ふぁいる便」というオージス総研がやっていたサービスで、480万件のアカウント情報が流出した件、パスワード情報が平文*1で保管されていたという件が盛り上がっています。 internet.watch.impress.co.jp これで「パスワードが暗号化されていない」という…

保護設定されたセルにExcel VBAからデータを書き換える方法

Excelで、セルに対して保護設定を行うというのは業務で使うテンプレートシートなどでよく使われる方法ですが、保護設定してしまうと、人間の操作だけではなくVBAからのセル内容操作も受け付けなくなってしまいます(エラー 1004が発生する)。これを回避する…

基本情報技術者試験で扱うプログラミング言語からCOBOLが外れる

先ほどtwitterでこんな話が。IPAは「基本情報技術者試験」の出題の見直しについて情報を公開しました。午後試験で出題するプログラム言語については「COBOL」を廃止し、「Python」の出題を追加予定です。適用時期などそのほかの詳しい内容はこちら→https://t…

イベント処理内でメッセージボックス表示するとメッセージ表示後に別フォームが前面に出てくる

職場での質問メモ。言語はC#。Grapecity(グレープシティ)のSpreadで、セル内の変更について「変更しますか?」というようなメッセージを出して可否を問うたあと、「いいえ」で戻ろうとするとそのフォームの親となるフォームが前面に飛び出してくるというト…

気になる本「問題解決力とコーディング力を鍛える 英語のいろは」

問題解決力とコーディング力を鍛える 英語のいろは職場の同僚がこんなのあるよ?と勧めてくれた本ですが、気になります。買おうかな。問題解決力とコーディング力を鍛える 英語のいろは作者: 鈴木達矢出版社/メーカー: 技術評論社発売日: 2018/11/23メディア…

C#7.0のValueTupleとStyleCopのシンタックスエラー

Visual Studio 2017 + .NET Framework 4.7でC# 7.0を使った開発で、複数の値のペア(2組以上もOK)を一度に扱える「Value tuple(バリュータプル)」を用いた場合、コードチェック用ツール「StyleCop」がシンタックスエラーを返してしまうようです。 SA0102 …

VB.NET C#とVisual Studio、.NET Framework

開発で使っているツール等について、正直、最近のバージョンが何がどうなのかよく分からなくなってきました。開発チーム向けの環境関連資料を整備するついでに自分用の情報をメモしておきます。 Visual Studio 2017と.NET Framework Visual Studio 2017では.…

Visual Studioでアスタリスクを連発するコメントを正規表現で消す

今メンテしているソース、C#なのですが、なんというか「昭和のC#かよ」というような記述が多く辟易しています。その1つがこれ //*********************************************************** // これはコメントです //***********************************…

VSCodeでJavaScriptをデバッグする

利用にはnode.jsが動かせる環境も用意する必要があるみたいで。とりあえず環境作った過程をQiitaに投げてみました。qiita.com15時間でわかる JavaScript集中講座作者: 宮下明弘,工藤雅人出版社/メーカー: 技術評論社発売日: 2016/11/18メディア: 大型本この…

Excel VBAからPHPのスクリプトを呼ぶ

仕事でデータの引っ越し処理を行う必要があり、Excelに貼り付けてデータ加工し、数式でInsert文を作るというものを作って大量データを一気に引っ越そうとしていたのですが、問題が発生。なんと、カタカナ等を半角変換しなければならないと……。いまどき半角か…

SQL Server、OpenQueryでのSQLは文字列連結などが使えない?

SQL ServerからOracleにリンクテーブル経由でアクセスしていろいろデータを持ってくる処理を作成中。サーバー名やらスキーマ名やらをピリオドでつないだSQL記法だとインデックスが使えず遅いため、SQL ServerのOpenQuery命令でSQLごとOracleに渡し、Oracle側…

PHPで全角半角変換を行う

全角文字、半角文字の混在が検索処理などを阻害しているとして、入力時に整形処理を行ってほしいとの要望。簡単にできないか、と思って調べたところ、標準関数でありました。あるんですね。いいなこれ。関数名は「mb_convert_kana」。使い方は下記のような感…

CodeIgniterでちょっと作ってみるメモ

自分の作業用メモなので。間違ってたりそれじゃ無いとか有るかも知れませんが、とりあえず。あとで自分で思い出すためのメモです。ちなみにPHP自体の言語仕様にも不慣れなのでその辺お察しを。 開発環境を即Web公開状態にする Eclipseのワークスペース上にあ…

Windows Server 2008 R2上のPHPからSQL Server 2000に接続する

7月に、Windows Server 2008 R2上で動くPHPで作ったアプリから、SQL Server 2000にアクセスできるか?というのを試していたのですが、試行の過程を記録していませんでした。簡単ですがメモっておきます。多分あとで自分が使うので。発端については7月15日に…

VBAによるレジストリへの書き込みと管理者権限

今更な話題ですが……Excel VBAからWin32 API(RegSetValueEx)をつかってレジストリに設定値などを書き込もうとした場合、今実際に調べた感じでは以下のような制約があるようです。※業務用の環境で試していますので、一般的な話では無いかもしれません。あくま…

拡張子 xlsx のExcel 2007/2010/2013データをResponseで返す

とりあえず備忘録。ASP.NETにて、xlsx形式のデータ(っても実体はHTML形式)をResponse.Writeで返し、無理やりExcel 2010などで開かせようとしたのですがうまくいかず。2003形式だとできるのにね。おそらくOpenXMLの規格とかにマッチしていないから開けない…

Response.TransmitFile等で返したExcelファイルのファイル名が化ける

ASP.NETで、Response.TransmitFileやResponse.Writeを使ってExcel形式のデータやファイルを返送しようとしたのですが、ファイル名が化けてしまうという現象が。データの内容は問題ないのですが、ファイル保存ダイアログなどのファイル名が化けてしまいます(…

WCFサービスをDLL無しで配置、稼働させる

WCFで作成したRESTサービスを、DLLとしてまとめるのではなく、ソースのままWebサーバー(IIS)に配置する方法を調べていたのですが、なんか上手くいったっぽいのでメモ。大筋は職場の人が組み立ててくれた手順に従っての作業だったのですが、最後の最後、そ…

日本語フォント名から英語フォント名を取得する

昨年の話なんですが、記録し忘れていたので。米国製のコンポーネント(GUIを伴うもので、テキスト入力なども処理する)を利用していて、フォント名プロパティに日本語フォント名を指定すると、次にフォント設定を表示させたらフォント名が文字化け、おまけに…

64bitアプリと32bit DLLの混在

意外に実験したことが無く、結構即答で答えられない質問だったのでしらべてみました。64bit用に対象アーキテクチャをx64としてビルドされた.NETのアプリケーションから、32bit用、即ちx86用としてビルドされたアセンブリを参照して実際に動かせるのか?とい…

Windows Serviceのデバッグを簡単に行う方法

時間が無いので手短にメモ。Windows Serviceのデバッグはいろいろと面倒ですが、サービスの登録や動作環境さえ整えば、以下の方法で簡単に実施できます。 OnStartメソッドに「Debugger.Launch()」と書く サービスを開始する 「Visual Studioでデバッグします…

Excel VBAの文字列操作関数がコンパイルエラー?

客先の環境でテストをしている同僚より、自社では動いたExcel VBAの命令がコンパイルエラーで動かないとの連絡が。問題の関数はTrim(文字列の空白削除)。VBAはVisual Basic 6.0に似た言語であることから、VB6.0のランタイムなど、何か必要なモノが入ってい…