かきスタンプ

福岡でフリーランスの物流系のエンジニアやってます。

Windows環境にて Dockerを使用する(Hyper-V)

<環境> ホストOS:Windows 10 Pro ※Home Editionでは、Hyper-Vが使えません。 Hyper-V を有効化 コントロールパネル → プログラムと機能 → Windowsの機能の有効化または無効化 にて、「Hyper-V」 のチェックをON。 その後、再起動。 dockerをインストール …

tsv・csv から INSERT文を作成するスクリプト

tsv または csv から INSERT文を作成するスクリプトを書いてみた。 https://kakisoft.github.io/MyTrivialTools/CreateInsertStatement.html Chrome と Firefox で動作確認しています。 使う場面 開発時、適当にテストデータを作って、サクッとデータを登録…

IFTTT:RSS配信情報を Twitterに投稿する。

RSS配信情報を、Twitterに投稿する方法。 IFTTT という、異なるサービス通しを、上手い事繋げてくれるサービスを使っています。 ユーザ登録は、googleアカウントや FacebookでもOKです。 また、Twitter API登録は不要です。 ログインし、「My Applets」を選…

1月31日の1ヶ月後は何日? 3月31日の1ヶ月前は何日? 各種RDBで確認してみた。

『期限切れとなるのは、登録日より1ヶ月後です』 『1か月前に告知されます』 というのを見た時、「何日だろ?」と思ったのがきっかけ。 法的に決められたルールや、国際ルールがあるんかな。 パッとググってみた感じ、見つけきれなかったんで、RDBに聞いて…

マークダウンで簡単にスライドが作れるサービス『GitPitch』の使い方(応用編)

GitHubアカウントがあれば、マークダウンでお手軽にスライドが作れるサービス「GitPitch」の使い方(応用編)を、スライドにしてみた。 https://gitpitch.com/kakisoft/HowToUseGitPitch3 GitPitchを使ってどんな事ができるのか、直感的に分かるようにしてみ…

Vagrant:IPアドレスを振っていない仮想マシンに sshログインする方法

<環境> ホストOS:Windows 10 ゲストOS:CentOS 7 仮想化ツール:VirtualBox sshクライアントツール:Tera Term Vagrantで作成した仮想マシンは、通常「vagrant ssh」コマンドでログインするかと思いますが、通常の sshログインも可能です。 以下、デフォ…

Linux:アクセス有効期限って、2種類あったんだね。って事に気が付いたんで、整理してみた。

以下のコマンドで、ユーザアカウントの有効期限の状態を確認できる。 chage --list ユーザー名 出力例 [kakisoft@localhost ~]$ chage --list kakisoft Last password change : Aug 06, 2018 Password expires : Sep 05, 2018 Password inactive : never Acc…

C#:Visual Studioを使って、コードの複雑度を測定する方法。

Visual Studioを使って、コードの複雑度を測定する方法。 ブラックボックスが多い、未知のプロジェクトに着手する時の指標に。 1. メニューから[分析]→[コードメトリックスを計算する]を選択する。 (ソリューション単位で計測するか、プロジェクト単…

C#(MVVM):Vとバインドしたプロパティに対して VM側で値を変更する処理を記述する場合、アクセサでなくプライベート変数に変更をかけた方がいいのではないかという話。

C#

Vとバインドしたプロパティに対して VM側で値を変更する処理を記述する場合、アクセサでなくプライベート変数に変更をかけた方がいいのではないかという話。 以下、サンプルソースです。 今回の話題に必要なパートのみを抜粋した状態です。 <TextBox Text="{Binding Path=MyVmString01, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" /> <Button Content="AddText" Command="{Binding Path=AddTextCommand}" /> /// <summary> /// プ…</summary></button></textbox>

C#(MVVM):ソースコードにてバインディング設定する方法

C#

xamlでなく、ソースからバインド設定をするには、SetBinding メソッドを使用します。 (例) Button myButton01 = new Button(); // Content に「MyString01」というプロパティとのバインディング設定を追加 myButton01.SetBinding(Button.ContentProperty, …

WPF:ListViewの列を、幅いっぱいに広げる(GridViewにアイテムをセットする場合)

GridView でアイテムをセットした ListView にて、セットした内容を横幅いっぱいに広げるには、カラムの Width を ListView の Width とバインディングさせる方法があります。 (例) <ListView x:Name="myListView01" Width="300"> <ListView.View> <GridView> </gridview></listview.view></listview>

WPF:XAML側で設定した値を、XAML側にてバインディング

V(XAML)と VMとのバインディングは頻繁に使いますが、XAML側で定義した値とのバインディングも可能です。 以下のように、「ElementName」に、XAML側にて定義したNameを指定します。 (例) <TextBox Name="myTextBox01" Text="input" /> <TextBlock Name="myTextBlock01" Text="{Binding Text, ElementName=myTextBox01}" /> この例では、TextBlock の Textに、TextBoxの内容をバインディ</textblock></textbox>…

PL/SQL:update文の where条件に、 配列を使用する

以前、配列を where句における in の条件式として使用するというエントリを書きましたが、update文にて、この書き方をすると、ORA-00902: データ型が無効です。というエラーが発生します。 ですので、update文の where 条件にて、配列を引数に取るには、fora…

Oracle12c:PL/SQLのデバッグ実行に必要な設定【忙しい人向け】

Oracle 12cにて、PL/SQLをデバッグするために必要な設定 DEBUG CONNECT SESSION 権限の許可 DBMS_DEBUG_JDWP に対する EXECUTE 権限 デバッグするストアド・プロシージャーに対する EXECUTE 権限 JDWP ACL 実行権限 ストアドプロシージャが "Compiled for De…

PL/SQL:配列を WHERE句における in の条件式として使用する

こんな感じ。 type TYPE_NUM_LIST is table of number index by binary_integer; --//////////////////////////////// -- 配列データをINに渡して参照 --//////////////////////////////// PROCEDURE MY_PROCEDURE_02_4 ( IN_NUM_LIST IN TYPE_NUM_LIST --配…

Oracle(PL/SQL):配列型の引数に、値を設定してデバッグする

Oracle開発ツールのいくつかは、PL/SQL の引数が配列の場合、自由に値がセットできなくて、苦労するケースもあるかと思います。 Oracle SQL Developer のデバッグ実行にて、『PL/SQL ブロック』を編集することで、配列型の引数に、好きな値を設定する事がで…

Oracle SQL Developer:出力結果を、列名を含めてコピー

Oracle SQL Developerにて、select文の結果を、「Ctrl + A」「Ctrl + C」⇒「Ctrl + V」と操作すると、レコードのみがペーストされます。 「Ctrl + A」「Ctrl + Shift + C」⇒「Ctrl + V」で、列名を含めてコピーが可能です。

WPF:DataGrid の ItemsSource に、配列データを設定すると妙な出力結果になるんで、その場合は ListView を使おうという話

郵便番号/住所/緯度経度データ等の地理情報を、XML or JSON で取得できるサービス『HeartRails Geo API』にて、エリア情報を叩くと、こういう値が返ってきます。 { "response": { "area": [ "北海道", "東北", "関東", "中部", "近畿", "中国", "四国", "…

C#:DBから取得したModelのリストを、Modelを継承した要素で表現する

C#

こういう状況。 Model定義されたクラスがある Model のデータは、DBなどから参照し、List にしている List の中身を、Model を拡張したクラスで表現したい(画面制御のみで使用するプロパティを付与したい) (例) List<Users> //Model(のリスト) List<ExtendUsers> //Modelを</extendusers></users>…

C#:アップキャストとダウンキャストについて、サンプルソース付きで解説してみる

C#

アップキャストは、常に安全に行える ダウンキャストは、エラーが発生する事がある。 ※ 解説 ※ キャストは型を変更するだけで、中身が消える訳ではない。 (アクセスできる範囲が変わるだけで、実態は存在している) インスタンス作成時、メモリに領域が割り…

C#:ネット上で一番簡単な、async/await を使用した非同期処理の説明とサンプル

C#

非同期処理にて使用する async/await の超簡単な説明 非同期メソッドには async キーワードを付ける。 呼び出し先が async void の場合、呼び出し元に awaitは不要 呼び出し先が async Task の場合、呼び出し元に awaitを記述する。 Task<T> は T の型が返る。</t>…

WPF:Grid上の好きなポジションに、動的に要素を配置

System.Windows.Controls.Grid は、Grid.Row と Grid.Column にて、要素のポジションを指定します。 動的に要素を配置する場合、SetValue にて、Grid.RowProperty と Grid.ColumnProperty を設定するとOKです。 実行例 ソース xaml側

WPF:動的に配置したボタンにイベントを定義

WPF(C#)で、ボタンを動的に配置し、イベントを定義する方法。 実行例 ※ボタンはソース側にて、動的に配置しています。 ボタンを押したときのイベント内容 dynamicButton01がクリックされました。 dynamicButton02がクリックされました。 (記述例) xaml側

WPF:ボタンのテキストで改行させる

WPFにて、ボタンのテキストを改行して表示させる場合、TextBlock を入れ子にする方法があります。 xaml側、cs側の、どちらでも対応可能です。 (実行例) (記述例) xaml側

Oracle:大文字/小文字 半角/全角 ひらがな/カタカナ を区別しないで検索

以下の関数を組み合わせて、大文字/小文字 半角/全角 ひらがな/カタカナ を区別せずに検索できます。 UPPER(小文字→大文字) TO_MULTI_BYTE(半角→全角) UTL_I18N.TRANSLITERATE(詳細は後述) (例) 以下で、「大文字・全角・カタカナ」に変換しています…

Oracle12:【忙しい人向け】ユーザ作成方法

Oracle12にて、以下のようなメッセージが出てユーザが作成できなかった時の対処。 【エラーメッセージ】 ORA-65096: 共通ユーザーまたはロール名が無効です ググったら、何やら複雑な情報がバシバシと出てくるけど、要は「12からアーキテクチャが変わった」…

TypeScript:外部モジュールを含めたソースのコンパイル方法と、実行時の注意点

TypeScriptでは、外部モジュールを含めてコンパイルする場合、「-m」オプションを使用します。 (オプションを指定しない場合、別々の jsファイルが生成される。) (例:コンパイル CommonJS方式) tsc sample01.ts -m commonjs (例:コンパイル AMD方式)…

TypeScript:別ファイルのモジュールが認識されない

TypeScriptでは、スラッシュを3つ付けたコメントの後に、importするモジュールを指定する。 (例) main.js module UserModule { export var name = "yamada"; } console.log(UserModule.name); /// <reference path="./developers.ts" /> console.log(DeveloperModule.name); developers.ts mod</reference>…

.NETアプリを無料で公開できるサービス:『AppHarbor』について

.NETアプリを無料で公開できるサービス『AppHarbor』についての内容を、スライドにしてみました。 https://gitpitch.com/kakisoft/DeployDotnetApplicationsFreeUsingAppHarbor 『Fukuoka.NET #9』 でのLT資料として使用しました。

MySQL Trend Seminar 2018 @福岡:ダイジェスト

『MySQL Trend Seminar 2018 @福岡』での話のダイジェスト。 sosl.connpass.com MySQL 8.0 について MySQLは、分析とかは元々あまり得意ではなかったが、改善されて、どんどん良くなった。 GIS(空間図形情報)サポートの強化 Boost.Giometryライブラリを統…