propg さん プロフィール

  •  
propgさん: プロプログラマ
ハンドル名propg さん
ブログタイトルプロプログラマ
ブログURLhttp://propg.ee-mall.info/
サイト紹介文プログラマーを職業としてます。 Flex,Air,C#,Oracle,PHPの言語ノウハウを中心に情報発信していきます。
自由文最近は、ios, androidアプリ開発も進めてます。
iPhoneユーザーです。
参加カテゴリー
更新頻度(1年)情報提供33回 / 365日(平均0.6回/週) - 参加 2013/01/24 12:41

propg さんのブログ記事

  • Googleがインターネット接続テストサービスを実装
  • インターネットの通信速度を調べる方法はいろいろあって、アプリもたくさんありますが、何も入れなくても、ブラウザからかんたんにテストできるサイトが、Googleからリリースされています。使い方は簡単で、ブラウザのグーグル検索ページからから『インターネット速度テスト』と入力して検索します。速度テストを実行ボタンを押せば開始します。30秒程度です。終わると結果が表示されます。遅い。。。気軽に確認できるので、環境が [続きを読む]
  • Excel2016 『テキストに合わせて図形のサイズを調整する』がつかえない
  • しばらくは気のせいかと思っていたのですが、どうもExcel2016ではテキストボックスに対して「テキストに合わせて図形のサイズを調整する」設定をしても有効にならないようです。2016版になってからのようです。調べてみましたがどうもバグのようで、操作の仕方を変える程度では解決しません。対応としては、以前のバージョンで設定したものを2016で開くか、VBAで設定となります。自身の環境では以前のバージョンは残っていないため [続きを読む]
  • [WPF] TextBlockの値変更時に点滅させる
  • TextBlockのTextを変更したときに、文字全体を点滅させます。TextBlockにはTextChangedイベントがありません。代わりに、Binding.TargetUpdatedイベントを使用することで同じような動きにできます。ただし、このイベントは通常は発生しません。発生させるためには、TextにBindするときにオプション指定が必要です。Text="{Binding Message,NotifyOnTargetUpdated=True}"こうすることで、バインドされた値が変更されたときに、Targe [続きを読む]
  • [WPF] XAMLデザイナーがやたらエラーを出力するとき
  • XAMLデザイナーを開いたときに、貼り付けている部品が×マークになったり、エラー一覧に覚えのないエラーが大量に吐かれたりすることがあります。ひどくなると画面デザイン自体が開かなくなります。特にUserControlを貼り付けたときになりやすい。これは、デザイナーがキャッシュを持っているためで、そのキャッシュに不整合?が起こると、デザイナーでエラーになるようです。エラーが出ていてもわかっていれば無視することもでき [続きを読む]
  • [SQLServer] 指定した範囲内の乱数を生成する
  • SQLServerで乱数を取得するにはRAND関数を指定します。ほかの言語と同様に、0〜1の間の数が生成されるので、指定範囲内の整数値乱数が必要な場合は、SELECT FLOOR([FROM値] + (RAND() * ([TO値] - [FROM値] + 1)))のようにすれば取得できます。これもほかの言語と同様に乱数は毎回同じ乱数を発生させてしまうため、通常はRANDの引数にSEED値を指定してます。ココにも乱数で取得された値を指定すればいいのですが、あえて違う乱数取 [続きを読む]
  • [SQL Server] database restore時に「アクセスが拒否されました」
  • backupしたデータをrestoreしようとしたときに、バックアップ デバイス ‘*********.bak’ を開けません。オペレーティング システム エラー 5(アクセスが拒否されました。)。のようなエラーが出るときがあります。メッセージの通りでアクセス権がないのが問題です。SQLServerのインスタンスサービスにこのファイルへのアクセス権がないので、サービス実行ユーザーに対して権限を与える必要がありますが、サービス実行ユーザーを変 [続きを読む]
  • [LINQ][C#] 指定したファイル名の拡張子が想定した拡張子かを確認する
  • 画像ファイルの保存時などに、指定されたファイルが保存できるファイルの拡張子かどうかをチ
    ェックするロジックです。LINQを使えば1行で書けます。// 例1)Falseが返りますvar res1 = new string[]{&
    quot;.BMP", ".JPG", ".GIF", ".PNG", "GIF"}.Contains(System.IO.Path.GetExtension("
    ;c:/test1.gif").ToUpper());// 例2)Trueが返りますvar res2 = new string[]{".BMP", ".JPG", "
    ;.GIF", ".PNG", "GIF"}.Contains(System.IO.Path.G [続きを読む]
  • [WPF] ComboBoxにVirtualizingStackPanelを指定すると表示が爆速になる
  • WPFのComboBoxに大量のデータをバインドさせると、コンボボックスを開くときにかなり待たされます。2回目以降はだいぶましになりますがそれでも遅いです。データ量が多いのだからしょうがないとあきらめ気味でしたが、VirtualizingStackPanelを指定すると描画がものすごく早くなることが分かりました。Comboboxのリスト部にはStackPanelが指定されており、バインドされたデータをすべて描画しています。そのため、特に初回の表示が [続きを読む]
  • [C#] LINQを使ったファイル一覧の取得方法
  • 指定したディレクトリ内にあるファイル一覧を取得する場合、var files = Directory.GetFiles(@"c:");このように書けば簡単に取得できます。このファイルの一覧の並び順はファイル名順?かと思いますが、並び順を指定したい場合、以前だとArrays.Sortを使用して独自ソート順を指定していました。ですが、LINQを使用すると、いとも簡単にソートして取得することができます。var di = new DirectoryInfo(@"c:");var files = di.GetFil [続きを読む]
  • SQLServerはNullと空文字を区別する
  • 今までずっとOracleを使ってきましたが、最近SQLServerを使うことが増えてきました。そこで、なんで?と思うことがありました。SQL Serverは空白、空文字(Empty)、Nullを厳密に区別するOracleだと、UPDATE xxxx SET cd=”;と指定しても、NULLで登録されます。ですが、SQLServerの場合は、そのまま空文字が登録されます。こちらの方が自然なのですが、Oracleに慣れていると逆に不自然です。条件指定する際には、IS NULLと=”を合わ [続きを読む]
  • [C#] EXEとDLLをマージして1つのEXEファイルにする
  • C#でプログラムを作成する際に参照設定で追加していると、ビルドフォルダにはDLLファイルがコピーされます。これらのDLLファイルがないと実行できないので、配布する際にはDLLと一緒にコピーする必要があります。大きなプログラムならそれでいいんですが、ちっさなおまけプログラムの場合、EXEだけコピーして実行できたら便利です。そういう時は、EXEファイルにDLLファイルをマージして1ファイルにすることができます。1. ILMerge [続きを読む]
  • [Excel] VLOOKUP関数の範囲はセル指定でなくてもよい
  • VLOOKUPの第2引数にはデータの参照先(テーブル)を指定しますが、ここはセル範囲でなくてもよいことに気づきました。CSVのような感じで指定すれば参照できました。以下ののような感じです。記載方法も画像を参考にしてください。各行に参照データを記載するので無駄ですが、数が多くないちょっとしたコードや区分の変換ぐらいだったら、いちいち別シートに変換テーブルを定義しなくてもよいので便利だと思います。変換用のシートを [続きを読む]
  • システム開発におけるステークホルダーとは
  • ステークホルダーという言葉があります。日本語では利害関係者という固い訳し方をします。利益や損害を得る可能性がある人となります。システム開発においては、関連する人や企業全てを表すことが多いと思います。システム開発においてのステークホルダーは、・そのシステム開発を発注した会社・システムを利用するエンドユーザー・システムを受注した開発会社と開発者 ・プロジェクトマネージャー ・システムエンジニア ・プロ [続きを読む]
  • [C#] null合体演算子
  • 値がNULLの時に代わりの値を代入する場合、if文や3項演算子でnull判定をして分岐をするif (value1 == null){ value1 = "";}または、value1 = value1 == null ? "" : value1;などとするのが普通だが、C#ではもっと省略できるvalue1 = value1 ?? "";知らないと何が書かれているか判別できないが、value1がnullの時は”??”の後ろの値をセットするという意味。OracleのNVL関数と同じようなものすごく省略できるけど、コメントで説明 [続きを読む]
  • [.NET] [NLog] ログ出力フォルダにコンピュータ名を指定する
  • .NET用のログライブラリ「NLog」です。ログライブラリと言えば、Log4xxxが有名ですが、今はあえてNLogを使っています。 特別な思い入れはありませんが、なんとなく使いやすいように思います。NuGetから簡単にインストールできますし。とはいえ、できることは基本的に変わりません。このNLogでログファイルを出力する際、フォルダ名にコンピュータ名を指定したいと思い、いろいろやってみた結果うまくいったので紹介します。config [続きを読む]
  • [Excel] セル内改行を簡単に取り除く
  • Excelではセル内の文字を改行して複数行入力することができます。とても便利ですが、この改行が邪魔になるときがあります。今までは、SUBSTITUTE関数で、改行文字を空文字に置き換えていたのですが、もっと簡単な関数がありました。CLEAN関数です。セル内改行と取るための関数で、引数に対象セルを指定するだけで済みます。SUBSTITUTE関数は文字列を置き換える関数ですが、いつもセル内改行の改行コードがなんであるか忘れてしまい [続きを読む]
  • Flash実装を試せるWonderflサービスが終了していた!!
  • このブログでも使っていたWonderflというサービスがありました。Web上でアクションスクリプトコードを書くとコンパイルされて動かせるというとても便利なサービスでした。試して実装してみるときや、実装内容を公開するときに便利に使っていたのですが、4月に入って久しぶりに開いてみたら、既にサービス終了していました。。。2017年3月まででした。https://www.kayac.com/service/other/94 アカウントを作っていくつかソースコー [続きを読む]
  • (いまさら) Windows10 Anniversary Update(1607)にアップデートできた!!
  • 昨年8月に公開されたWindows10 Anniversary Updateですが、ずっとアップデートできずにいました。原因は不明で、アップデート自体はうまくいったように見えるのですが、一通り処理された後、再起動していざ起動するかというタイミングで、起動せず延々と起動中画面になる状況でした。何かのドライバが問題ではないかと、つながっている機器を外してみたりして何度か試していました。もうかれこれ5回以上は「Update⇒システム復元で [続きを読む]
  • [python] Inflectorする(単数形を複数形に変換したり..)
  • クラス名、メソッド名などに使われる、キャメル形式やアンダースコア形式の定義を相互変換したり、単数形の単語を複数形に変換したりできる便利なライブラリです。自力でも実装できないことはないのですが、既にライブラリがあればそれを使ったほうが楽で間違いないです。特に、単数形⇔複数形はいろいろパターンがあると思いますので助かります。使用するにはとても簡単で、pipが使えればpip install Inflectorだけでインストール [続きを読む]
  • [Excel] オートフィル機能で○付き数字を連続コピーするには
  • Excelのオートフィル機能を使うと、連続した番号を一気に入力することができます。セルの右下をつかんで下にドラッグする操作です。ただし、オートフィルに対応している文字は決まっていて、例えば①は下にドラッグしても全部①になります。結局1つずつ入力する必要があり、面倒ですね。実は、オートフィル(連蔵データ入力)で対応する文字のパターンは追加することができます。メニューのファイル-オプションを開きます。ユーザー [続きを読む]
  • [Oracle] VARCHAR2型カラムのMAXを取得するときの注意
  • VARCHAR2カラムの値に対してMAX関数を使うと、思った結果にならない場合があります。たとえば、カラムに”9″と”10″が登録されている場合、MAX関数の戻り値は”9″になってしまいます。“11”や”89″などが登録されていてもMAX関数はやはり”9″を返してしまいます。文字列型の場合は、文字コードとしての判定を行うためです。回避方法としては(1) “009”、”010″のように桁を合わせて登録する(2) MAX(TO_NUMBER(***))のよう [続きを読む]