ささいなことですが。

Windowsアプリテスト自動化ライブラリFriendly開発者の日記です。

lambdicSql - CASE式に対応しました -

LabdicSql_α0.0.39をリリースしました。CASEに対応しています。 www.nuget.org 迷いましたがWHENとTHENはC#上ではWhenThenで書くようにしました。それからENDは書かなくても良いようにしました。 SELECT句への合成はサブクエリと同じ書き方で書くようにしま…

LambdicSql -DistinctとAll

α0.0.36をリリースしました。 www.nuget.org DistinctとAll enumで指定できるように変更しました。 Select文 [TestMethod] public void Distinct() { var query = Db<DB>.Sql(db => Select(AggregatePredicate.Distinct, new { id = db.tbl_remuneration.staff_i</db>…

lambdicSql - パフォーマンス改善せねば④ SQLite -

プロファイラで見てわかりやすかったところを対応しました。 www.nuget.orgこっから先は難しいですね。 で、もう少しノイズを減らすためにDBをSQLサーバーからSQLiteに変えました。ファイルアクセスなんで余計なブレはすくないでしょう。ちなみに計測はSurfa…

lambdicSql - パフォーマンス改善せねば ③計測 -

※この書き方は最新のLambdicSqlとは異なります。速度計測の記録なので以前のままにしております。もう少し詳しく計測してみることにします。 VisualStudioのパフォーマンスプロファイラが便利ですね。 VSTestではイマイチやりにくいのでコンソールアプリでや…

lambdicSql - パフォーマンス改善せねば② -

※この書き方は最新のLambdicSqlとは異なります。速度計測の記録なので以前のままにしております。 やっぱ、昨日の仕様なし 前回コンパイルを減らすためにパラメータを渡すという仕様にしたのですが、やめます。 www.nuget.org 変数から値を取得するラムダを…

lambdicSql - パフォーマンス改善せねば -

※この書き方は最新のLambdicSqlとは異なります。速度計測の記録なので以前のままにしております。前回ので、Dapperに完敗を喫したわけですが、ここで勝負を投げるわけにはいかないですね。改善策を考えてみました。 遅いのは、コンパイル 他にも要因はあるか…

LambdicSql - 速度はまだまだでした・・・ -

※この書き方は最新のLambdicSqlとは異なります。速度計測の記録なので以前のままにしております。※@yone64さんと@neueccさんにご指摘いただき、タイトルを含め修正しました。 結果から書くと、負け負けのようですね。 これはパフォーマンス改善を先にやるか…

LambdicSql - α 0.0.14リリース - Nullable 対応

Nullableに対応しました。www.nuget.org public class RemunerationNullable { public int id { get; set; } public int? staff_id { get; set; } public DateTime? payment_date { get; set; } public decimal? money { get; set; } } public class DBNulla…

LambdicSql - α 0.0.13リリース - IS NULL 対応

IS NULL 対応しました。 www.nuget.org最初は IS NULL は何かキーワードを用意して特殊対応にしようと思ってました。int値の時とか面倒ですしね。でも、@yone64さんが、「昔にこの問題に対応したことがある」的なことを言っていたので、やっぱりnullの時に I…

LambdicSql - α 0.0.12リリース - プリペアド対応

GitHub - Codeer-Software/LambdicSql前回のTODOのうちのプリペアドに対応しました。 変数や直値で渡した値は自動でプリペアドに変換されます。 Where句だけでなく他の句でも同様に置き換え処理が実施されます。 ふう、一安心。 今までブログで書いたサンプ…

LambdicSql - TODO 今後の改善ポイント

GitHub - Codeer-Software/LambdicSql私のSQL力の低さを補うべく、SQLServerのMVPのおださんに、色々教えてもらいました。(えらい初心者向けのことから)いや、このシリーズの初回にも書きましたが、本当にSQLはほとんど書いたことがなかったのです。組み込み…

LambdicSql - 機能紹介 - サブクエリ

GitHub - Codeer-Software/LambdicSql前回も少し書きましたが、LambdicSqlはサブクエリを書けます。今回の例もこんなDBが対象です。 //テーブルが二つあるDB public class DB { public Staff tbl_staff { get; set; } public Remuneration tbl_remuneration …

LambdicSql - 機能紹介 - Where

GitHub - Codeer-Software/LambdicSqlWhereです。 私の少ないSQL経験ではプログラムで動的にSQLを組み立てる場合、これが一番面倒でした。なので色々できるように工夫しました。 サブクエリ使えるようにできたときは、めっちゃテンション上がりましたw操作対…

2016 MVP アワードを受賞いたしました!

今年も受賞することができました! これも開発者コミュニティーの皆さまのおかげです。 ジャンルはVisual Studio and Development Technologiesです。 より一層OSSに取り組みます。 もちろん、テスト自動化もより一層やりやすいものにするべく新機能を追加し…

LambdaでSQLを書きたい - ①LambdicSql始めました

文字列でSQL書くのが苦手なのです。 SQL弱者としてはインテリセンスなしでSQL書くの辛いんです。(Friendyでdynamic使わせてるのにって怒られそうですが)コード中に文字列演算がバンバン入るのがイマイチですしね。何とかしたいよなー。 LambdicSql始めまし…

ViewModelをシンプルに書きたい! - ⑦MVVMを考える編 - 本編 -

ViewModelとはViewをモデル化したものである ある人に教えてもらったのですが、その瞬間に色々なことがスッキリしました。ViewModelの役割って様々な主張があるけど、骨子はこれですね。 モデル化とは・・・ 検索したら++C++がかかりました。さすが岩永さん…

ViewModelをシンプルに書きたい! - ⑥MVVMを考える編 - MVナントカ -

基本に帰ってMVVMの話です。そんなMVVM得意ってわけではないですが、自分の中の整理の意味も込めてアウトプットしてみます。このシリーズの⑤までの話もこの考えに基づいています。それからMVナントカに関しては、あくまでWinFormsやWPFなどのリッチクライア…

ViewModelをシンプルに書きたい! - ⑤Delegate→Method接続仕組み実装編 -

前回はこんな感じでViewModelのDelegateとViewのメソッドを接続できるようにしたという内容でした。

ViewModelをシンプルに書きたい! - ④Delegate→Method接続編 -

ViewModelからViewの操作を呼び出したいときあります。メッセージボックスとかメッセージボックスとか。 Messengerは良いものだとは思いますが、個人的にはあんまり好きくない。 以下のように書けるようにしてみました。こんなアプリで ViewModelはこんな感…

ViewModelをシンプルに書きたい! - ③コマンド接続編 -

コマンドはReactiveCommand使えばこんな感じに書けます。シンプルですね。 ishikawa-tatsuya.hatenablog.com でも、Commandも直接メソッドにつなぎたいんですよ。 前回はそれをイベントでつなぎました。今回はコマンドでつなげてみます。 常にCanExecuteがEn…

ViewModelをシンプルに書きたい! - ②イベント接続編 -

はい。この辺からはオレオレな感じになっていきますよー。 イベントですよね。直でViewModelと接続したい。 そういう時は、EventTriggerつかって・・・。それもいいですけど、こんな感じで書きたいなー。 using Reactive.Bindings; using System.Reactive.Li…

ViewModelをシンプルに書きたい! -①ReactiveProperty編-

最近、仕事でも少しづつWPFアプリを作る機会が増えてきました。 でもViewModel書くのがめんどいと、ちょっとWinFormsが恋しくもなるんですよねw なので、できるだけシンプルにViewModel書けないかなーと試行錯誤してます。 せっかくなんでブログに書いていき…

Selenium + COM でIE対応

IEのテスト自動化をしていて、IEDriverServerが落ちる現象が多発していました。 こんなのですね。 ポストバックが発生してその後重たいJavaScriptが動くような処理のトリガをSeleniumで実行したとき、もしくはその直後の操作で発生していました。とは言え、…

Seleniumハマりました(IE)

Seleniumでテスト自動化を一仕事経験したわけですが、すげー大変でした。 大量のテストケースを自動化して、かつChorem、Firefox、IEで安定動作させるというものです。大変だった分、色々ノウハウも蓄積しました。 多くの方々にお世話になったので、ささやか…

Selenium始めました。

実は最近Windowsアプリの自動化だけでは飽き足りず、 Webアプリのテスト自動化にまで手を出し始めましたwSeleniumは様々な言語でサポートされているので、 プロダクトの開発言語でやるのが、とっつきやすいですよね。というわけで、弊社はC#×Seleniumでテス…

Friendly.UWP_α 0.0.1 をリリースしました!

Friendly.UWP_α 0.0.1 をリリースしました! なんと、種も仕掛けもないUWPアプリのAPIを外部から呼べるのです! (制限はあるw www.nuget.orgまずは体験してみてください。 ここからサンプルをダウンロード github.comダウンロードはこのボタンです。 解凍前…

Friendly.WPFStandardControls 1.7.0をリリースしました。

www.nuget.org 機能追加しました。 何をってこれです。 blog.okazuki.jp やっぱり、コントロールドライバの対応があった方が安心感ありますよね。 ちなみにご意見いただいた、かずきさんは開発メンバーに加わっていただきました(無理やりw それから、WPFのコ…

10/30に第二回Friendlyハンズオンを開催します。

最近、告知ばっかりですけどw (そのうち、ちゃんとしたのも書きますよ・・・vshtc.doorkeeper.jp 第一回を逃した人も是非 そうなんです。 連載物なんですよね。 だから、基本的には一回目の知識が必要です。 でも、前回分をこっちにアップしているので、 こ…

Friendly(基本編)ハンズオン大阪、大盛況でした!

そして、9/24には大阪でもハンズオンを開催させていただきました。vshtc.doorkeeper.jp 平日にもかかわらず、大勢のご参加本当にありがとうございました! 場所は、SCSK様です。SCSKグループで品質保証を担ってきたベリサーブ様の協賛を得ての開催となりまし…

Friendlyハンズオンを東京で開催しました!

9/19(土)にFrienlyハンズオンを東京で開催しました。madoguchi100.connpass.comシルバーウィーク初日にも拘わらず、大勢の方のご参加ありがとうございました! 会場提供はSHIFT様。 ありがとうございました! オシャレですねー。東京タワー見えてるし。 な…