読者です 読者をやめる 読者になる 読者になる

プログラムの事とか

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

Xamarin.iOSで時計とやり取りするあれこれ

以前 puni-o.hatenablog.com を書きましたが、あれから時が経ちました 久しぶりにいじったらいろいろ変わっていてはまったのでそんなことを 大前提 古いバージョンはストアに出さない これさえなければはまることもなく古い奴を出しっぱなしで済んだんですけ…

WPFのItemsControlで仮想化が効かない時に確認すること

WPF

なんで仮想化しないんだろー、と悩んでいたら当たり前だったこと 準備 <DataTemplate> <TextBlock Text="{Binding Converter={StaticResource TextConverter}}"/> </DataTemplate> DataTemplateをこんな感じで書いて public class TextConverter : IValueConverter { private int _counter; public object Convert(object value, Type targetType, object paramete…

.Net Framework 4.7で動きが変わったところ(WPF)

たまたま見つけたの一つだけです <Grid> <Grid.RowDefinitions> <RowDefinition MaxHeight="0" /> <RowDefinition Height="*" /> <RowDefinition MaxHeight="4" /> </Grid.RowDefinitions> <Rectangle Fill="Green"/> <Rectangle Grid.Row="1" Fill="Blue"/> <Rectangle Grid.Row="2" Fill="Orange"/> </Grid> こういうXAMLを用意します RowDefinitio…

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

C#

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

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

C#

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

YouTubeのアカウントが停止されて復活した話

FF15をやるためにPS4 Proを買いました 去年の11月のことです ウホッ pic.twitter.com/P0d2CBRieL— ぷにお (@vl_o_lv) 2016年11月29日 PS4を買ったらやりたかったのがゲーム動画のShare機能でプレイ動画がLive配信できるやつ manuals.playstation.net 見てほ…

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

前回のブログ puni-o.hatenablog.com の続き 前回の設定でちゃんと動くようになったと思っていたんですが、やっぱり駄目でした そこそこ効果がありそうなおまじないを唱えることができたので、前回のものに追記しつつその対策までを(おまじないなので解決策…

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

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

WPFで雑にウォーターマーク付きのテキストボックスを作る

WPF

ウォーターマークのあるテキストボックス(未入力だと透かしがでるやつ)がたまにほしくなりますよね ガッツリ作る必要もない時はテンプレートで適当に作ってしまえばいいんじゃない? <Window.Resources> <Style x:Key="WatermarkTextbox" TargetType="{x:Type TextBox}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type TextBox}"> <Grid Background="White"> </grid></controltemplate></setter.value></setter></window.resources>

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

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

WPFのInkCanvasで塗りつぶす

WPF

InkCanvasは線を描くものっぽくて閉じた領域の塗りつぶし、みたいなことは標準ではできなさそうでした ということでとりあえず適当に塗りつぶすようにしていみます 塗りつぶす人 System.Windows.Ink.Strokeを継承してDrawCoreで塗りつぶすようにします ソー…

WPFのItemsControl.ItemTemplateでリストの一つ前を参照する

WPF

WPFのItemsControlはすごく強力だとおもいますよね ItemsControl.ItemsSourceにリストをバインドして、ItemTemplateで中身を定義すると自由なリストが簡単に作れるので一度使うと癖になります 簡単な例だとこんな感じ <ItemsControl ItemsSource="{Binding Numbers}"> <ItemsControl.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal" Margin="5"> <TextBlock Text="{Binding}"/> </textblock></stackpanel></datatemplate></itemscontrol.itemtemplate></itemscontrol>

WPFでShapeをResourceにして使いまわす

WPF

WPFに限らず今時のアプリではアプリ内で使うアイコン等をベクトルデータで持っていることが多いと思います Illustrator → SVG → XAML って感じでアイコンデータがやってきたりすると思いますが、これをそのままContentに張り付けるのは悪手ですよね(面倒な…

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…

何かに使えるかもしれないデータを公開しました

はてなにそろそろ記事を書けと言われていたので書きます。 puni-o.hatenablog.com で収集したデータをGitHubに置きました。 github.com レシピデータは某レシピサイトをクロールして集めた物なので文句言われたら消すかもしれません。 このデータが何か面白…

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からファイルの読み込みはできます) を調べていたと…

Windows 10 のストレージの設定を変更したらUWPの開発で詰んだ話

現時点でも解決していないんですけど、これ以上進展しなさそうなので書きます。 現象が起きた環境 Windows 10 64bit 1511 Visual Studio 2015 Update2 原因(と思われるもの) Windows 10 のシステム→ストレージの新しいアプリの保存先をデフォルト以外(今…

UWPで動的にスタイルを変更する

UWP

UWPのXAMLではDynamicResourceが指定できないので無理ですね。(DynamicResourceないよね・・?) おしまい。 それっぽくがんばる ということでそれっぽく頑張ります。 まずは準備 App.xaml <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="Styles/StandardStyle.xaml" /> </resourcedictionary></resourcedictionary.mergeddictionaries></resourcedictionary></application.resources>

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…

UWPで地図にTileSourceを追加したりしてみる

してみます UWPに地図を出すのは@okazukiさんのブログ blog.okazuki.jp を見てください。私が説明するよりわかりやすいと思うので割愛します。 とりあえずこんな感じなところまで準備します。日本が残念な感じになっているのがいい感じですね。 (そういえば…

Microsoft Bot Frameworkを使ってslackのボットを作ってみる

前回 puni-o.hatenablog.com の続きです。 続きというか追記みたいな感じ。 完成 で、Botは完成したのですがこれだけではAzureのサービスを呼び出す時にForbiddenを返すだけのbotになってしまいます。(というかなっていました) ちゃんと前述のドキュメント…

これでいいの?AzureのApp ServiceでPythonが動いちゃったんだけど

puni-o.hatenablog.com の続きです。 not a valid Win32 applicationはやっぱり32bitと64bitが混在原因だよなー、と思ったのでダメ元で実験しました。 32bit開発環境を準備 OSをHyper-Vに入れます ちょうどIPが出たばかりだったので後で遊ぶつもりでこれを入…

.NET FrameworkのMutexではまったこと

C#

たった今バグを見つけたので忘れずに書いておきます。 Mutex.WaitOne(timeout) というかWaitHandle.WaitOne()かな? private void Func(object o) { var mutex = new Mutex(false, "Mutex"); if (mutex.WaitOne(500)) { System.Diagnostics.Debug.WriteLine(…

助けて!AzureのApp ServiceでPythonが動いてくれないの

Pythonで作ったWebプロジェクトをAzureにデプロイすると動いてくれない、というお話。 Python初心者には何をしていいやら・・解決策を教えてください。 Visual Studio 2015でプロジェクトを作ります 開発環境はWindows 10 64bitです。念のため。 今回はDjang…

Microsoft Bot Frameworkを使ってslackのボットを作ってみる直前までやってみる

C#

Build2016 Keynote Day1 でMicrosoft Bot Frameworkっていうのが発表されたみたいですね。 今回はPREVIEW版のこれをつかってボット作ってみます。 といっても docs.botframework.com これをなぞるだけですが・・・ Visual Studioのテンプレートからボットを…

機械学習でよくわからないまま文章を作らせてみる その3

まだまだ遊びます。 前回はレシピのタイトルを自動で作ってもらったので、同様に材料と手順もchainerを使って作ってもらいます。 本当はタイトルに関連づいて自動生成とかできればすごいと思うのですが、私ののうみそではそんな事無理です。 ということで1行…

機械学習でよくわからないまま文章を作らせてみる その2

前回環境を作れたので遊んでみます。 目標はでっかく 某料理レシピサイトのレシピを学習させて面白レシピを作る The Watson Dinner Party | Howcookingworks すでにもっとすごいのがありました。 上記リンクのような真面目なレシピではなく、既存のレシピを…

機械学習でよくわからないまま文章を作らせてみる その1

はじめに断っておきますがなんの成果もありませんでした。 経緯をグダグダな感じで書き綴るだけです。 文章を自動生成させるためには それっぽい感じで作るのであればMeCab+マルコフ連鎖でいいような気がしました。 blog.shibayan.jp こちらをみれば.Net Fr…

Windows 10 de Docker

Hyper-VにDockerを入れます。 sa.muel.be このページそのままでいけます。 Hyper-Vの準備 します Docker Machineのインストール 私はDocker Toolboxを入れてしまったのですがこれだとVirutal Boxも一緒に入ってしまいます。 Virtual Boxがいらないならこれじ…

機械学習でよくわからないまま画像識別して遊んでみる その4

前回までの結果ではAccord.NET使えねーとなってしまいそうですが使えないのは私です。 機械学習において大事なのは訓練用のデータだとどこかで読みました。 多分Bingの結果をそのまま渡したらダメなんだと思います。 とりあえずBingから持ってきたデータから…

機械学習でよくわからないまま画像識別して遊んでみる その3

それでは実際に動かして遊んでみます。 まずは学習 その1で収集しておいた各200枚のBing検索のサムネイル画像を食わせます。 学習中にCPUが100%になっているところなんか、何か頑張っている風でいいですね。 全てのコアが100%になっているのはAccord.NETが内…

機械学習でよくわからないまま画像識別して遊んでみる その2

いよいよ作っていきます。 といっても学習ロジックは既存のライブラリに任せるので、そのライブラリをよくわからずに使うだけです。 学習部分を作るなんて無理っすよ。 プロジェクトを作る 画像やリストを出してみたい予定なのでWPFでつくります。 MVVMは面…

機械学習でよくわからないまま画像識別して遊んでみる その1

今流行りの機械学習ですよ。 機械学習で何かくだらないことをしてみたいけど僕にはそんな知識は無かった— ぷにお (@vl_o_lv) 2016年3月11日 とつぶやいた通り、試しに使ってみようと思ったAzure MLは私には難しすぎたんです。あれはちゃんと知識がある人が使…

Azure Machine Learning のチュートリアルがすごすぎた

機械学習とかさっぱり分からないんですがAlphaGoが話題になっているので何かやってみようと思いました。 ということでAzure Machine Learningでもいじってみようと思いMicrosoft Azure Machine Learning Studio(長い)を起動すると こんなのが出ました。 Az…

UWPでWindows 10 Mobile用にタイルアイコンを透過にする

UWP

Windows 10 Mobileのイイ!と思う機能にタイルが透過できる、というところがあります。 下は現在UWPに移植中のTweet Radarをスタート画面にピン止めした時のものです。 ちょっとわかりづらいんですが、上のMapsアプリやその横のアイコンがまとまっているやつ…

UWPにアプリ内課金処理を入れる

本当に意味のないうなじ。 UWPにアプリ内課金処理を入れてみます。いつもいい加減な内容ですが、今回は特にいい加減です。 今回はおカネが絡む事なので実装する際は自分でちゃんと調べてテストしてからリリースしてくださいね。 私は一切の責任をとれません…

UWPの共有を実装したアプリを公開しました

前回の調査結果を踏まえてUWPに共有機能を追加しました。 www.microsoft.com デスクトップの裏で動き続けることを前提としたアプリなので、使い勝手はいいとは言えないです。 興味があったらイレテみてください。 使ったプロパティとメソッド package.Proper…

UWPの共有で使われる項目がよくわからなかったので調べてみた

写真は単なる釣りです。 ほとんど使っていないと思いますがWindows10の場合は Win+Hで共有チャーム(ってまだ呼んでいいの?)が出てきますね。 存在を知らない人もかなりいるんじゃないでしょうか。 それでもUWP(Universal Windows Platform)アプリでち…

続 非同期処理の戻り値をまとめて待ちたい

C#

昨日の続きです。 var numbers = new[] { 2, 4, 6, 9 }; var resultList = new List<bool>(); foreach (var task in numbers.Select(IsEven).ToArray()) { resultList.Add(await task); } Console.WriteLine($"Even {resultList.Count(r => r)}, Odd {resultList.C</bool>…

非同期処理の戻り値をまとめて待ちたい

C#

基本は分かったつもりになっていても、相変わらず少し複雑になるとよくわからない私です。 C#にasync/awaitが追加されたのは何年前だったでしょうか。みなさん当たり前のように使っているとおもいます。 私だって使ってます。 static async Task<bool> IsEven(int </bool>…

.NET Frameworkで2点間(緯度経度)の距離を求める

C#

三平方の定理じゃだめです。 地球は丸いのでかなりの誤差がでます、ごめんなさい。 ということでちゃんと求めたくなる度にググって上位の結果から処理を作っていたんですが・・・ https://msdn.microsoft.com/ja-jp/library/system.device.location.geocoord…

iOSアプリのValidateに失敗していた期間限定の理由

スクショは撮り忘れました。 Xcode attempted to locate or generate matching signing assets and failed to do so because of the following issues. Missing iOS Distribution signing identity for _____. Xcode can request one for you. こんな感じの…

Reactive Extensions使って非同期に読みながら非同期に書き込む処理を書いたけど書けなかった話

Rxすごい!便利!と思い始めて早数年。 いまだにWhereとかThrottleとか使う程度です。難しいの書けません。ぎりぎり読める程度です。 それでも使っていなきゃ使えるようにはならないので頑張るのです。 非同期で読み続けるデータを非同期に書き込みたい こん…