プログラムの事とか

お約束ですが「掲載内容は私個人の見解です」

C#

Math.Atan2というかdoubleでひっかかったこと

C#

こにんちわC#初心者です きょはわたしがさっきやらかしたことをかきます static void Main(string[] args) { Console.WriteLine($"Math.Atan2(0,0) = {Math.Atan2(0, 0)}"); // Math.Atan2(0,0) = 0 Console.WriteLine($"Math.Atan2(-0,-0) = {Math.Atan2(-0…

Xamarin.Formsでページの壁紙をイイ感じに表示したい

今日(2018/12/12)時点の最新のXamarin.Forms(not Preview)でのお話 例によって正しいかどうかはご自身で判断してください 対象はiOS(Androidは確認してないから知らない) Emulatorでのみ動作確認 Visual Studio 2017でXamarin.Formsのプロジェクト作ってその…

フォルダ名の最後がスペースのフォルダを作る (作れない)

作れません 知っている人は当たり前だと思うかもしれませんが、そんな名前のフォルダ作ろうなんて思ったこともなかったので知らなかったよ 試してみる Explorerで こうすると こうなります。勝手に最後のスペースが消されます。警告とかそーいうの出ません …

ASP.NET CoreのSignalRでバイナリーデータをやり取りする

ASP.NET CoreのSignalRのお話です (2018/7/5時点) 古いSignalRは知らない SignalRがWebSocketを使えるなら使ってくれるのはご存知だとおもいます んで、WebSocketのペイロードデータにはTextとBinaryのどちらかを入れることができます データサイズに敏感な…

TCP/IPのサーバーが送るデータをマルチキャストするツール

C#

というのが必要になりました 昔作った記憶がうっすらとあるんですが、探すより作った方が早かったので作りました github.com ソケット繋いで受信したデータをマルチキャストするだけ 多分間違っていないと思うので必要な方は好きにしてください フィードバッ…

.NET でディレクトリの削除が失敗したりしなかったりする

C#

小ネタ Windows 10 Pro 1803、.NET Framework 4.7.2 でうごかしてます 準備 Visual Studioで新規のコンソールアプリを作って class Program { static void Main(string[] args) { Directory.Delete(@"F:\Test", true); } } 完成 FドライブはSEAGATE ST2000DM…

ディレクトリの一つ上のディレクトリをとる

C#

ネタにもなれないような小ネタですが そのものずばりなメソッドが無いかナーとググってみたんですが、バックスラッシュ探して文字列操作ってのが上位に出てきてそういものなのかな?と思って自作 public static string GetParentDirectory(string path) // p…

DateTimeOffsetの比較について

C#

知っている人にとっては何をいまさら、な感じなことですが知らなくてググってしまったのでメモメモ 確認は.Net 4.7.2でやってます。それ以外の奴や今後のことは知らない Q var t1 = new DateTimeOffset(2018, 5, 15, 12, 0, 0, TimeSpan.FromHours(0)); var …

WPFで速い描画方法が知りたい!

WPFで描画処理書いていてもっと速く描きたい!(ていうか自分の書いた処理遅い!)ということで実験を兼ねてプロジェクト作ってあわよくばすごい人に速い方法教えてもらおう! プロジェクトはこちら github.com 簡単な説明 class CustomDrawControl : Framew…

WPFのDrawingContextでアニメーション

DrawingContextの謎メソッド(自分の中で)の実験 WPFでちょっと変わった表現をしたい時とか結局自分で描きますよね(WPFに限らずですが) 例えば public class DrawTest : FrameworkElement { protected override void OnRender(DrawingContext drawingCont…

自己交差ポリゴンを分割する

C#

どういうことかというとこういうことをやりたいんです WPFの画面ですが、左側は5点で構成されているポリゴンです FillRuleがEvenOddになっているので偶数回重なっているところは塗りつぶさないようになってます んで、これを右側のように5個のポリゴンに分け…

WEB PUSHをASP.NETとか使ってC#でやってみる

EdgeもPreview版では対応しているらしいしハードルも当初に比べると下がっているらしいので試してみました WEB PUSHの詳しいあれこれはググってください、私はよくわかってませんので 今回の記事で出来上がったものはこちらに上げてあります github.com 簡単…

音声認識を作る時に周りに人がいてしゃべるのが恥ずかしいのでどうにかしようと思った話

UWPでの話です アプリに音声認識機能を入れたいんですがそのテストに困ることありませんか? オフィスの静かなところでマイクに向かってぶつぶついって白い目で見られたり、そもそも英語のネイティブな発音できなくて困ったり、という私に向けた内容です 答…

ASP.NETのWeb APIの戻りを圧縮して返す

.NET FrameworkのASP.NETの話です(Coreは知らない) Web APIででっかいjson返すようなときにgzipで圧縮してほしい、ってことを定期的に調べているので自分用に書いておきます 自動でやってくれない・・・よね? 準備 Visual Studio 2017で「ASP.NET Web ア…

WPFでアプリ画面をキャプチャーしてJpegで保存する(exif付き)

なにでググったらよかったのか分からなかったので自分で書きます(主にexifのところが) ソース github.com とりあえず動くものを置きました。自由に使ってください 以下はその説明みたいな感じ UIElementを画像にする WPFなのでSystem.Drawingは使いません(た…

ファイルの変更をRxで監視する

C#

前人の知恵がググると簡単にでてきます qiita.com まぁこれでホボ完成なんですが私はコンソールアプリで読み込むだけだったので、スケジューラー指定してとかそういうところを割愛 するとファイルの変更イベントが2回上がるようになりました ほぼ同時なので2…

イベントをObservableにしたソケットラッパーをNugetで公開しました

C#

ソケットのイベントをObservableにしただけ的な俺得ライブラリをNugetに上げることができました 名前はRxSocketで完全に名前負けしてます 期待した人ごめんなさい 名前はどうしたらよかったんですかねぇ www.nuget.org RxSocketって名前は既に使われていたみ…

イベントをObservableにしたソケットラッパーを作りました

C#

似たようなのはたくさんありそうな気がしますが、(自分の)使い勝手がいいものがなかなか見つからずいつも似たようなコードを書いていたのでライブラリ化しました github.com とりあえずTcpのServer/Clientができたので公開 いまだにIObservableとかちゃん…

IISとASP.NETとApplicationPoolをいじっていたらよくわからない現象に悩まされたこと

原因がわかっていないので私が気付いている範囲で環境とかやったことを書きます 環境 Windows Server 2012 R2 アプリ ASP.NET MVCでWeb API 2 (だっけ?)を作成 Web API内ではサードパーティー製の64bit DLL (Cで使うやつ)をラップしたDLLをP/Invokeで使用 …

Xamarin.iOSでUITextFieldの変更イベントをとる

CodeBehind(?)でUITextFieldの変更イベントを知りたいとおもいました ほかのコントロール(UISlider等)と同じようにやればいいとおもっていました var _text = new UITextField(); _text.ValueChanged += (sender,e)=> { // 変更 }; こんな感じに書いたんです…

WPFのCanvas上で動くShapeを線でつなぐ

とりあえずこんな感じの奴を用意します <Canvas> <Rectangle x:Name="Rect1" Width="50" Height="50" Fill="Cyan" Canvas.Left="0" Canvas.Top="0"/> <Ellipse x:Name="Ellipse1" Width="50" Height="50" Fill="Magenta" Canvas.Left="200" Canvas.Top="200"/> </ellipse></rectangle></canvas>

goto文の使い道

C#

バグの原因になるからと避けていたり、よほどのことが無い限り使わなくなったgoto文ですが、昔の私が変なもの書いていたのでブログネタに C#のコンソールアプリで static void Main(string[] args) { for (var i = 0; i < 4; i++) { Console.WriteLine($"\nF…

ASP.NETのWeb APIが吐くJSONをlower camelケースにしたい

いつものことですがちゃんと確認していません。 ASP.NET MVC5(4?)での話です。 Web APIのGetとかはクラスをそのまま返せばあとはASP.NETが勝手にJSONにして返してくれますよね。 public class Person { public string FirstName {get;set;} public string La…

UWPのInkCanvasで入力デバイスを指定する

Windows 10 1511での話です、今後のバージョンアップでどうなるのかしりません UWPのInkCanvasには InkCnavas.InkPresenter.InputDeviceTypes というプロパティがあります 指定するのは下のenumで取りたいデバイスだけを指定することができます public enum …

UWPのリリースビルドアプリでMissingInteropDataExceptionが出た

UWPの開発でデバッグ中(デバッグビルド)では全然問題が無かったのに、リリースビルドで実行したら例外が出ちゃった話です。 ソースはこんな感じ class Coordinate { public double Latitude { get; set; } public double Longitude { get; set; } } var po…

Insider Preview にしたらコルタナさんが遠い存在になった件

昨日のブログの最後の現象 コルタナさんを使うアプリでVoiceCommandDefinitionManager.InstallCommandDefinitionsFromStorageFileAsyncがFileNotFoundExceptionを吐くようになりました。(上記StorageFileからファイルの読み込みはできます) を調べていたと…

Xamarin.Androidで地図にTileを追加したりしてみる

puni-o.hatenablog.com puni-o.hatenablog.com puni-o.hatenablog.com puni-o.hatenablog.com のXamarin.Android版です。 最後にしたのは環境とか下準備が面倒だからです。面倒なので下準備はググってください。 準備完了 Open Street Mapを追加する 追加し…

WPFで地図にTileを追加したりしてみる

puni-o.hatenablog.com puni-o.hatenablog.com puni-o.hatenablog.com のWPF版です。(今度こそXamarin.Androidだと思った?ねぇ思った?) サクッとやりますよ。 使うのはMicrosoft.Maps.MapControl.WPFです。Nugetでゲットできます。 こんな感じ。みんな地…

Silverlightで地図にTileを追加したりしてみる

puni-o.hatenablog.com puni-o.hatenablog.com のSilverlight版です。(次はXamarin.Androidだと思った?ねぇ思った?) すでにオワコンのSilverlight情報なんて誰得(多分私の得にもならない)ですがまぁネタということと、TMSにかかわるきっかけでもあった…

Xamarin.iOSで地図にTileを追加したりしてみる

前回 puni-o.hatenablog.com のXamarin.iOS版です。(Xamarin.Formsではありませんよ) iOSで標準の地図コントロールと言えばMKMapViewだと思うのでこれを使っていきます。当然TMSです。 とりあえずこんな感じで。(StoryboardにMKMapViewを置いただけ) UWP…