Code for final

ふぁいなる向けのコード置き場です。すでにコードじゃないこともいっぱい。

SQL Serverでselectした結果のデータをinsert文としてSQLでエクスポートする方法。

SQLでselectしたデータをinsert文として出力したいときがあると思います。 初期データとしていれたデータを構築時にSQL流すだけで構築できるようにしたい場合とかです。 OracleのSQL Developerの感覚でManagement Studioでエクスポートしようとしたらできな…

SQL ServerにCSVファイル or Excelファイルからデータをインポートする際に注意(NOT NULLと改行)すること。

SQL Serverで開発システムの場合、テスト環境を構築する際に手っ取り早くデータをいれるときはManagement Studioのデータインポート機能を使うと思います。 そこで久々に使ったんですけど、ちょっとはまったので今後も忘れないように記録しておきます。 たい…

JenkinsでビルドしてCheckstyleでエラーになることがあることを初めて知った日。

Javaで開発していてJenkinsでビルドを自動化している環境ならついでにCheckstyleで静的解析でもしておくかーみたいな感じで、 ついてくると思います。 仕事で提供されたJenkinsの環境もその一つでした。 で、いままでJenkinsのビルドが通っていたのにあるプ…

SourceTree v1.9以降のバージョンをアカウント登録せずに使用する方法。

会社でGitを使ったプロジェクトをやっており、慣れ親しんだSourceTree(v1.9.6)をいれるかーと思って、インストールして起動し、ウィザードを進めていくと以下の画面が出現。 家だったら自分のアカウントでログインするけど客先のネットワークだし、変にログ…

PCをシャットダウンしてもUSB HDDの電源がOFFにならない場合、OFFにする方法。

PC

最近、PCを買い替えてしばらく普通に使っていたんですけど、ある異変に気付きました。 PCの電源を落としてもHDDのランプがついたままなのです。回転もしてるみたいです。 なんで? 調べてみると最近のパソコンはPCの電源が入ってない時でも、スマホとか充電…

"Rextester" ブラウザ上でいろいろな言語(C#, Java, Ruby...)を実行して、結果を確認することができるサービス。

ついこないだいろんなDBMSでSQLを実行できるというサービス*1を見つけて興奮していたんですが、 SQLだけでなく、いろんな言語をオンラインでソースコードをテスト実行できるという究極のサービスを見つけてしまいました。 Rextesterはブラウザ上で実行環境を…

ブログでよく使うMarkdownの書き方を忘れたときにみるもの。

ドキュメントを書くのに便利なMarkdown記法ですが、まだイマイチ身についていなく、久々にブログを書くと忘れたりするのでよく使うものをφ(..)メモメモ 文字修飾 改行 見出し テーブル コード 箇条書き 通常 連番 リンク 通常 埋め込み エスケープ 脚注 イメ…

Git(SourceTree)でブランチを切り替えただけなのにエラーになって元のブランチに戻れなくなった場合

SourceTreeでmasterの変更をdevelopにマージ(普通は逆)しようと思って masterに変更(コミット漏れ)がないことを確認してdevelopに切り替えて masterを選択して右クリックメニューから"現在のブランチにmasterをマージ"を選んでマージしようとすると以下の…

"SQL Fiddle" ブラウザ上でいろいろなDBMSでSQLをテスト実行して、結果を確認することができるサービス。

いろいろなDBMSでSQLの挙動を確認したいけど、環境構築するのが面倒な方に朗報です。 SQL Fiddleはブラウザ上でDBMSを切り替えて、SQLを実行できるのでDBMSごとに異なるSQL関数の振る舞いの違いなどを簡単に確認できるサービスです。 2016/09/11現在、対応し…

SQLite( or PostgreSQL)でファイルパスからファイル名だけを取得する。

SQLiteでファイルパスからファイル名を取得したくなったので調べてみました。 SQLiteにはlastIndexOfのようなものがないみたいです。 instr()で文字列の位置を検索できますが、最初の位置しか返さないのでファイル名取得には使用できません。 Oracleみたいに…

Rubyのhttps通信で"certificate verify failed (OpenSSL::SSL::SSLError)"というエラーが出たが、証明書を設定するのが面倒でとりあえず動かしたいとき。

Rubyで'net/https'を使ってHTTPS通信を行ったとき、以下のエラーがでました。 C:/Ruby23-x64/lib/ruby/2.3.0/net/http.rb:933:in `connect_nonblock': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (O…

"gitignore.io" 管理したいソースに対応した.gitignoreを自動で生成してくれるサービス。

gitになれるとなんでもgitで管理したくなりますが、面倒なのがgitの除外設定です。 gitignore.ioは管理するソースに対応した.gitignoreのテンプレートを出力してくれるサービスです。 VisualStudioやEclipseってキーワードをいれるだけで生成されます。 便利…

C#で動的にコンテキストメニューを作成したとき、初回だけ表示されないときはOpeningイベントでe.Cancelにfalseを設定するべし。

C#

ExplorerWindowsCleanerにデスクトップをダブルクリックでコンテキストメニュー(右クリックメニュー)を表示するように 実装したんですけど、なぜか初回のダブルクリックだけ表示されませんでした。 2回目以降のダブルクリックで表示されるので、しばらく…

C#でWin32 API(グローバルフック等)を使用してデバッグすると「指定されたモジュールが見つかりません」と表示されたとき。

C#

ExplorerWindowCleanerにグローバルフックを実装しようとしてコードを書いてデバッグで起動すると 以下のエラーが… System.ComponentModel.Win32Exception (0x80004005): 指定されたモジュールが見つかりません。 モジュールが見つからない??? Windows10…

intra-martのeBuilderのモジュールプロジェクトで各フォルダに格納するものとデプロイ先まとめ。

intra-martのaccelからeBuilderも大きく変わりました。 モジュールという概念が導入されたことにより、モジュールプロジェクトができました。 アプリを開発するときはeBuilderでモジュールプロジェクトを作成するところから始めます。 モジュールプロジェク…

intra-mart(accel)でModule.alertの代わりとなるっぽい汎用的に使えるエラー画面を出す。

intra-martを昔からやっている人はわかると思いますが、製品標準でエラー画面が用意されています。 そうです、Module.alertオブジェクトです。 エラー画面というか警告画面っぽいですけど。 以下のようにサーバサイドでメッセージID、詳細メッセージを渡すだ…

intra-martで作成したアプリ(スクリプト開発)のログを簡単に出力する方法。

ログ絡みでもう一個だけ。 intra-martで作成したアプリ(スクリプト開発)でログを簡単に出力するやり方です。 スクリプト開発プログラミングガイドの記載内容ではちょっとだけ理解に時間がかかったのでまとめときます。 1. ログ設定を作成する。 アプリ用のロ…

intra-martでSQLログを効率よく出力する方法。

intra-martでSQLログを出力する場合ですが、真っ先に思いつくのが製品標準のdatabaseロガーを使う方法です。 ログレベルがデフォルトでoffになっているのでdebugにします。 WEB-INF/conf/log/im_logger_database.xml こうするだけで以下にSQLログが出るんで…

intra-mart(accel)でポップアップ画面を表示したときスクロールバーが出る問題。

intra-mart Accel Platformではポップアップ画面は非推奨ですが、エンドユーザから昔ながらの操作性を維持したいということでポップアップを希望されることもあります。 その場合、window.open()でaccelの画面を指定して開くと思いますが、何故かスクロール…

intra-martでルーティング追加したあと再起動してログインしただけなのに500エラーが出て詰んだとき。

accel開発経験者なら必ずあるのではないでしょうか。 メニューに新しい画面を追加して、ルーティングを追加して再起動してログインすると500エラーになって何もできなくなること。 ほかの人からメニューをもらってインポートしたあとトップページを表示した…

intra-martのWeb Platform開発経験者がAccel Platformで開発する際に学習したほうがいい8つのこと。

ついこないだまでやってたプロジェクトがintra-mart Accel Platformでの開発の初体験でした。 そしてまた違うプロジェクトになったのでまた戻っても忘れないようにいろいろと気をつけることをメモってこうと思います。 intra-mart Accel Platform(iap)といっ…

Windows 8.1 / 10で別のPCからc$(管理共有)でアクセスが拒否されたときにやること。

エクスプローラで"\IPアドレス\ドライブレター$"を入力すると、共有設定していなくても外からドライブの中を参照できる管理共有という便利な機能があります。 が、Windows8.1や10にしてから以下のようにc$(d$なども)でアクセスできなくなりました。 Android(…

Windows インストール メディア作成ツールが0%のまま動かないとき

むか~しにキャンペーンで買ったWindows 8 Proのラインセンスキーを使用してWindows 8.1 Proをクリーンインストールするためのインストールメディアを作成しようと思い、メディア作成ツールを以下からダウンロードして実行しました。 windows.microsoft.com …

imuiTree(jsTree)で初期表示をすべて展開状態にする。

intra-martのパッケージの画面でimuiTree(jsTree)で実装されているツリー表示の画面があるのですが、 エンドユーザ様からすべて展開状態で初期表示してくれと言われたのでカスタマイズ方法を調べてみたら思いのほか簡単にできました。 ツリーのデータを設定…

BitbucketからGitHubにリポジトリを自動インポートで移行する。

BitbucketからGitHubに移行するときに毎回やり方を忘れるのでメモ。 GitHubにはインポート機能があるのでBitbucketのURLをいれるだけで簡単に移行できる。 https://import.github.com/ URLはhttps://bitbucket.org/finalstream/movselexといったBitbucketの…

imuiTree(jsTree)で動的にノードを追加する。

intra-martの画面でツリー表示を行う場合、imuiTreeを使うと思います。 ついこないだプロジェクトで使っていて、初期表示のサーバサイド処理で全ツリーデータを生成していたんですけど、 ぜんぜん性能がでなくて1階層ずつ表示するように変更することにしよう…

Apache JMeterを使って簡単にWEBの表示時間を測定するポイント。

ひさびさにJMeterを使ったので、忘れかけていたポイントをまとめときます。 WEBシステムでよくあるログインからログイン後のトップページの表示、さらに別画面表示までの表示時間を測定する手順です。 1. JMeterを起動する。 性能測定にはJMeterを使います。…

intra-martでexists_table.sql is not found.というエラーが出た場合はデータベースの接続に失敗している。

intra-martでexists_table.sql is not found.が出た場合はデータベースの接続に失敗してます。 java.lang.RuntimeException: resource: iwp/platform/schema/exists_table.sql is not found. at jp.co.intra_mart.mirage.SqlManagerImpl.prepareNode(SqlMana…

WPFのDataGridで初期ソート(複数ソートキー)を設定する。

WPFのDataGridで初期ソート(複数ソートキー)を設定したくなったので方法を調べてみました。 まず思いついたのが、DataGridにバインドしているObservableCollectionを並び替えて設定する方法ですが、 これは並び替えるたびにイベントが発火して遅いようです。…

WordPress 4.4の自動更新後、必要なファイルをコピーしています…で止まった場合の対処。

新年早々、新たな気分で抱負でも書こうと思って、WordPressを更新したのが間違いでした。。 いつもなにげなく自動更新してすんなり成功しているので甘く見てました。 実行してしばらくするとファイルコピーのフェーズになるんですが、いつもそれなりにかかる…

クライアントからActive Directoryに接続してユーザとかグループの属性を確認する方法。

最近までActive Directory(AD)の連携テストをしていたのですが、1個のサーバをみんなで使うわけなので リモートデスクトップのセッション争奪戦になるわけです。 確認したかったのはADのユーザができているかとかなので、リモートデスクトップほどなんでもで…

GitHubに登録したリポジトリを新しいリポジトリに分割(切り出し)する際の手順。

GitHubにあげたリポジトリを分割する場合の手順を忘れそうなので以下にまとめます。 以下の例ではGitHubのFinalstreamCommonsからFinalstreamCommons.Coreを切り出すというストーリーです。 あと以下の手順はGitHubでなくても同じだと思います。 1.分割した…

Visual Studioでビルドすると参照コンポーネントがすべて見つからないと言われたときにすること。

nugetを含むプロジェクトをコピーして作ったりするとたまに以下の様なエラーに見舞われることがあります。 警告 17 参照コンポーネント 'System' が見つかりませんでした。 Systemとかは標準で入っているはずなのに見つからないわけがありません。 そして参…

Internet Explorer 11をオフラインでインストールする手順と気をつけること。

仕事でオフラインの環境に支給されたPCがWindows7(デフォルトはIE8)だったので、 開発しているWEBアプリのサポートバージョンのIE11にバージョンアップしようとしたときに ちょっとひっかかったので備忘録として残しておきます。 単純にオフラインインスト…

intra-martでajaxを使用する場合のサーバサイドロジックをシンプルに記述する方法。

intra-martのajax処理でサーバサイドのロジックの記述(スクリプト開発モデル)のベストプラクティスを考えてみました。 通常、スクリプト開発モデルの場合はhtmlとjsで1セットだと思いますが、ajaxの場合は画面がないのでhtmlを必要としません。 htmlに<imart type="string">を</imart>…

AppVeyorでGitHubプロジェクトと連携したときにする最低限の設定。

GitHubでプロジェクトを作成するごとにいつもAppVeyorの設定をいままで作ったものを見ながら 設定していたんですけど、毎回見ながらやるのがメンドウになったので最低限にやることをまとめておきます。 1.AppVeyorにログインして新しいプロジェクトと紐付け…

WPFでTextBlockの高さを文字数に合わせて自動で調整する。

WinFormと比べてWPFのいいところは可変のレイアウトが作りやすいことだと思います。 ただ、慣れてないと思うようにいかないことが多々あります。 グリッドの下にテキストを表示して選択中のものを表示するといったことを実装する際にちょっとハマったので記…

AppVeyorでNugetを参照するプロジェクトがビルドエラーになるとき

ExplorerWindowCleanerでAppVeyorを使っているのですが、 GitHubにあげてAppVeyorでビルドしたら以下のようにビルドエラーになりました。 warning MSB3245: Could not resolve this reference. Could not locate the assembly "MahApps.Metro, Version=1.1.2…

GitHubのReadme.mdに簡単にスクリーンショットを添付する方法。

GitHubのREADME.mdにスクリーンショットを添付したいと思いまして、ドラッグ&ドロップしても受け付けてくれませんでした。 WEBサーバにアップロードするのもいまいちだし、といろいろと調べていたらありました。 邪道っぽいですが、Issueの入力フォームを使…

GitHubでREADME.mdを編集したとき、AppVeyorでビルドされないようにする。

GitHubでREADME.mdを編集したとき、そのままだとAppVeyorのビルドが走ってしまいます。 README.mdってこまめに編集したりするとそのたびにビルド番号があがってなんかかっこ悪いです。 そういう場合、README.mdの編集後のコミットメッセージに[skip appveyor…

AppVeyorのビルド後にGitHubを自動リリースする。

GitHubのプロジェクトのリリースを自動化したくて、AppVeyorと連携できないかと調べたらありました。 以下に簡単な手順を記します。 1. AppVeyorのArtifactsを設定しておく。 GitHubのリリースからダウンロードできるようにArtifactsを設定しておく必要があ…

jQueryなしでもセレクタが使えることをはじめて知った日。

jQueryに慣れすぎてて昨日まで知りませんでした。 仕事でレガシーなWEBアプリのエンハンスを任されて、当然jQueryとか使えなくてdocument.getElementById()とdocument.getElementsByName()を駆使して 懐かしみながらコードを書いていたのですが、ふと調べ物…

DataGridでヘッダクリックのソート順を昇順→降順→なし→昇順にしたい。

DataGridのヘッダクリックのソートは便利です。(3回目) ただ、デフォルトだとソートの切替が昇順→降順→昇順のループになって元に戻せません。 初期ソート順が、第2ソートキーまである場合とかだと、ヘッダクリックで元の表示順に戻せないのは致命的です…

WPFでDataGridのソート後にSelectedIndexでデータを取得すると違うものがとれるとき。

WPFのDataGridはヘッダクリックのソートが実装されており、非常に便利なのですが、 一つ気をつけないとならないことがあります。 DataGridには通常、リストとかのItemsSourceをバインドすると思います。 そしてその選択行に対して何かしたいときに選択行を取…

ItemsControl(DataTemplate)内から親のDataContextを取得する。

ItemsControl(DataTemplate)内でBindingを行うとItem要素のBindingとなり、 ItemsControlの外とバインディングのターゲットが異なります。 そうなるともう、ItemsControl内では親(Window)のバインディングのターゲットは取得できないと思っていました。 でも…

XAMLでthisと同じことをする。

WPFを書いているとthisを取得したいときがくると思います。 コードを書いたほうがわかりやすいので以下に書きます。 以下のコードはTextBlockに自分自身のToolTipの値をテキスト表示しています。

XAMLで子から親の要素を取得する。

WPFを書いていると親の要素を取得したいときがくると思います。 その場合のやり方を書きます。 コードを書いたほうがわかりやすいので以下に書きます。 以下のコードはTextBlockに親であるWindowの幅をテキスト表示しています。

Windows 8.1のWindows UpdateでKB2919355を適用するとエラー(80070005)が出た場合にすること。(解決済み)

コードではないんですが、会社でえらくはまったので。 半年くらい前に会社で新しく買ったマシンにWindows 8.1をインストールしてWindows Updateしたらわけのわからないエラー(80070005 ACCESS DENIED)がでたとこから始まります。 そのときは時間がなかったの…

intra-mart Accel Platformの互換ページで部分的にAccelの画面を埋め込む。

今回はintra-martについてです。 特殊なケースかもしれないですが、先日、会社ではまったので。 v7.2からaccel platformに移行する場合、予算の都合上互換モードで動かす場合も少なくないと思います。 かくいう私のプロジェクトでもリスクと予算で互換でとい…

WPFのDataGridでカスタムソートを実装する

WPFのDataGridではデフォルトでヘッダクリックのソート機能が実装されます。 しかもデータの型がint型の場合は数値ソートになります。 ただ、数値以外も混じる場合はstring型にせざるを得ないと思います。そのstring型にすると文字列ソートになます。 文字列…