ブックマーク / blog.okazuki.jp (34)

  • Xamarin.Forms の Shell のプロジェクトテンプレート見てみた - かずきのBlog@hatena

    VS 2019 RC で Xamarin.Forms プロジェクト作成しようとしたら Shell がありました。(前はなかったよね? ということで、プロジェクト新規作成して Shell ってどんなもの?っていうのを見てみようと思います。 最終的にはドキュメントもちゃんと見ないといけないけど、とりあえずどんなの?っていうのを見るときにはテンプレートが吐いてくれるコードを見るのも個人的には好きです。ということで、私が知らないプロジェクトを見るときに、どういった順番で見てるのか?とかっていうのも参考になればと思うので、このブログは普通に作業ログ的に書いていきます。 問題は、プロジェクトテンプレートの吐くコードが難解だったときですよね。例えば今回の場合は Shell の使い方を見たいって思ってるのに Shell 以外の部分がたくさんあるときです。 今回はそんなんじゃないといいなぁ。 ちなみに Sh

    Xamarin.Forms の Shell のプロジェクトテンプレート見てみた - かずきのBlog@hatena
    ytabuchi
    ytabuchi 2019/03/13
    ふむふむ
  • Google アシスタントアプリを開発する時に Fulfillment の先を C# で開発する方法(スマートスピーカーを遊びたおす会での LT 内容) - かずきのBlog@hatena

    別に C# じゃなくても開発できるんですが個人的に一番好きな言語なので。 Fulfillment は決まった形の JSON でやり取りするだけの、ただの webhook なので POST を受け取る webhook が使えれば何でもいいです。 Azure のアカウントを作る とりあえずそこそこの金額を無料で使えるので作りましょう。 azure.microsoft.com あとは、このほかにもハンズオン系イベントとかでもバウチャーとか配られてるケースもあったり Visual Studio Subscription を持ってたりする人は特典として Microsoft Azure を開発目的で毎月数千円使える権利がついてたりします。 https://my.visualstudio.com あたりから有効化してしまいましょう。 ちなみに無料で使えると書いてある製品の中の Azure Functio

    Google アシスタントアプリを開発する時に Fulfillment の先を C# で開発する方法(スマートスピーカーを遊びたおす会での LT 内容) - かずきのBlog@hatena
    ytabuchi
    ytabuchi 2018/06/28
    @okazuki さんの技術紹介記事はいつも内容がぎっしり。さすがですわ…!
  • 今風の開発環境を整えるぞ!!github に CircleCI に Jira だ!?→それ VSTS でも出来るよ! - かずきのBlog@hatena

    タイトルのような組み合わせを構築して運用していい感じに回してる話しをよく聞きます。Jira のところが Redmine のケースや他のサービスを使ってるっていうパターンもありますね。Circle CI のところは自前 Jenkins とかみたいなケースもありますね! 私は Jenkins は太古のバージョン(Hudson から名前が変わった直後くらい)と Redmine を一時期使ったことがあるくらいなので、これから書く、これらのツール類についてのことは正しいことを書いてない可能性が高いです。間違えてたらコメントなどで是非最近の〇〇はこういうところが凄くいい!!って教えてください。 とりあえず言いたいのは「それ Visual Studio Team Services(VSTS) でも出来るよ!?」ということです。 別に今時点で運用がうまく回ってるものを無理に VSTS にしてほしいわけでは

    今風の開発環境を整えるぞ!!github に CircleCI に Jira だ!?→それ VSTS でも出来るよ! - かずきのBlog@hatena
    ytabuchi
    ytabuchi 2018/06/20
    NetCoreだけ(ビルドマシンがLinux)だったので.NET 自動ビルドもいいな。UIが変わったらしいのでそこに期待したい。
  • Progressive Web app を Windows 10 のインストールパッケージに固めてしまおう(Microsoft ストアに出せるようになるよ) - かずきのBlog@hatena

    さて、Progressive Web app(PWA)が Microsoft store で配られるのですが自分のサイトも!!と思ってる人は以下のような手順でいけると思います。 マニフェストを用意しよう PWA Builder というサイトを使うと簡単に出来ます。 www.pwabuilder.com まぁ、マニフェストファイル用意するだけなら別にいらないんですが。 このサイトに URL を入れて開始すると manifest.json を生成してくれます。まだマニフェスト無いひとはやってみよう! manifest.json という名前で保存して Web サイトの html の head タグに以下のような定義を追加します。 <link rel="manifest" href="manifest.json"> manifest.json と修正した html をデプロイしましょう。 注意点

    Progressive Web app を Windows 10 のインストールパッケージに固めてしまおう(Microsoft ストアに出せるようになるよ) - かずきのBlog@hatena
    ytabuchi
    ytabuchi 2018/04/17
    ほう、Windows 10のデスクトップアプリとしてPWAを!面白いですね!
  • Reactive Extensions とか知らない人向け ReactiveProperty のはじめの使い方 - かずきのBlog@hatena

    ReactiveProperty は MVVM + Rx でプログラム組むときにいい感じにしてくれるものですが MVVM だけでも大変なのに Rx なんて魔法みたいなものを覚えないといけないなんて…!!ということで学習コストが高いので導入をためらうことがあると思います。 当然、何かを使うということは導入のためのコストを払って開発を通じて回収していかないといけないので、そこのバランスが取れないものをあんまり入れると大変なことになりますよね。 ということで Rx 知らない人向けに Rx 成分無しで ReactiveProperty 使って感覚を掴むための使い方を紹介したいと思います。 導入 ReactiveProperty の NuGet パッケージを追加して終わりです。 UWP, Xamarin.Forms, WPF のような XAML を使うものでいい感じで動きますが、まぁ使えそうだと思っ

    Reactive Extensions とか知らない人向け ReactiveProperty のはじめの使い方 - かずきのBlog@hatena
    ytabuchi
    ytabuchi 2018/03/26
    わー嬉しい!!!触ってみよう。
  • Microsoft Tech Summit 2017 で Visual Studio Mobile Center について登壇してきました その2「感想編」 - かずきのBlog@hatena

    その1 blog.okazuki.jp 登壇の感想 5月に開催された de:code 2017 に続いての大型イベントでの登壇の機会を頂くことができました。 おそらく1000人規模のイベントになるかと思います。 セッション受講者 メインターゲットが IT Pro ということになっているのでアプリケーションをばりばり開発するタイプの人たちは、そんなに多くないという毛色のイベントになります。 実際にセッションに参加して頂いた方の分布も以下のような感じで(これ見れるのスピーカーとしてはとても有難いですね!欲を言えばセッションスケジュール情報に基づいて事前に知りたいけど。このイベントアプリを作成して頂いた JMAS さんには感謝です!プログレスバーがかっこいい。)60% 以上の方がアプリケーション開発系ではないという感じでした。 セッション開始まで… 共同登壇という形での登壇ははじめてだったので勝

    Microsoft Tech Summit 2017 で Visual Studio Mobile Center について登壇してきました その2「感想編」 - かずきのBlog@hatena
    ytabuchi
    ytabuchi 2017/11/10
    実際にSIerでもがきながら .NETの技術を研鑽してMVPになりMSに転職したかずきさんだからこその重みのあるエクセル方眼紙…!
  • LINQで書くとデバッグしづらいよね?そんなことないよ - かずきのBlog@hatena

    小ネタです。 LINQで処理をぱぱっと1ステートメントで書けると気持ちいいですよね。 でも、デバッグ難しくない?ということがあるのですが大丈夫です安心してください。 ブレークポイントのはり方のコツさえつかめば大丈夫です。例えば以下のようなコードがあるとします。 using System; using System.Linq; namespace ConsoleApp10 { class Program { static void Main(string[] args) { var numbers = new[] { 1, 2, 2, 3, 3, 3, 4, 4, 4 }; var values = numbers .Where(x => x % 2 == 0) .Distinct() .Select(x => x * x); foreach (var value in values) {

    LINQで書くとデバッグしづらいよね?そんなことないよ - かずきのBlog@hatena
    ytabuchi
    ytabuchi 2017/07/24
    へー!!!!知らなかった!PreviewじゃないStableのVS2017でもできるのかな?
  • Xamarin.Forms と Azure の組み合わせサンプル書いてみたよ - かずきのBlog@hatena

    Microsoft Cognitive Services を使ったサンプルを ABC 2017 Spring で作ってみたら動かなくて悲しい目にあったので、全部スマホでやってた処理を、きちんとサーバーサイドとクライアントサイドにわけてデータも1度処理したものは永続化してというのをやってサンプルプログラムにしてみました。 どんなプログラムなの? Twitter から #microsoft のハッシュタグを検索して画像を収集するアプリケーションになります。収集した画像は、Microsoft Cognitive Services の Vision API を使ってカテゴリ分けを行い、画像がどんなものかという説明文も Vision API を使って生成しています。 Vision API の結果は英語でかえってくるので Microsoft Cognitive Services の Translato

    Xamarin.Forms と Azure の組み合わせサンプル書いてみたよ - かずきのBlog@hatena
    ytabuchi
    ytabuchi 2017/06/08
    強い(つよい
  • SIerから日本マイクロソフトへ転職しました - かずきのBlog@hatena

    2月17日付で富士通の子会社のSIer退職しました。2月20日から日マイクロソフトで働きはじめました。 ということで振り返りを。 富士通の子会社に入社 2005年に富士通の子会社に入社しました。確か当時1500人規模だったと記憶しています。 新宿に拠点を構えて、中部、大阪にも支社がある感じです。 そんなところで何をしてきたかというと、半年間みっちりJavaでWebアプリケーション開発を行う研修をしました。 当時はまだVisual Studioとかは企業向けでは無償ではなくてSharpDevelop?とかExpressEditionがではじめたかも?というくらいでした。それを使ってチャットアプリケーションを作って同期にばらまいて、授業中にチャットでわからないところとか質問し合ってたのはいい思い出です。 研修が終わり配属されたのは全社の技術支援を行うような感じの部門。(ちなみに配属先希望の

    SIerから日本マイクロソフトへ転職しました - かずきのBlog@hatena
    ytabuchi
    ytabuchi 2017/02/20
    おめでとうございます!ますますのご活躍を期待しています!!!あー、今後かずきさんに手伝ってもらいたい時はお金が発生するのか(違
  • Xamarin.FormsでPrism.Formsを使ってPCLに非対応なライブラリを使う方法 - かずきのBlog@hatena

    例えばMicrosoft.AzureのStorageのライブラリなんかがXamarin.AndroidXamarin.iOSには対応してるけどPCLには対応してないといった感じです。 被害者がここに。 @chomado ウワアアあああああ ああああああああああああ Xamarin .Forms PCL の私 爆死\(^o^)/#JXUG <- Xamarinでの開発時の困った時に押すボタン pic.twitter.com/n5yi8UAPba— ちょまど@MS入社して8ヶ月 (@chomado) 2016年12月8日 対応方法 ということで対応方法ですが、id:chomadoさんがちゃんと対応してました。 今日はここまでだな!めっちゃコード書いた!C#/Xamarinはいいぞ! 取り敢えず今日1番ハマったのはこれだった。Azure Storage の nugetが Xamarin .Fo

    Xamarin.FormsでPrism.Formsを使ってPCLに非対応なライブラリを使う方法 - かずきのBlog@hatena
    ytabuchi
    ytabuchi 2016/12/09
    そうか、同じコードでよければ、Linkで作ればコピーしなくていいんですね。
  • モバイルアプリなどの練習用WebAPIを作成しました - かずきのBlog@hatena

    モバイルアプリやUWPの練習でたたける簡単なAPIがほしいかも?ということで作ってAzureに置いてみました。一応認証のかかったシンプルなAPIです。 OAuth2で、ユーザー名admin、パスワードp@ssw0rdでトークンが取得できます。 Web APIは以下のような感じです。 ルート:https://okazukisampleapi.azurewebsites.net/ GET api/People?page=数字 1ページ50件でデータを返す。pageを省略した場合は最初のページのデータを返す。 api/People/数字 数字で指定したIDのデータを1件取得する PUT api/People/数字 BODYに渡した内容でデータを更新する POST api/People BODYに渡した内容でデータを作成する DELETE api/People/数字 数字で指定したIDのデータを削

    モバイルアプリなどの練習用WebAPIを作成しました - かずきのBlog@hatena
    ytabuchi
    ytabuchi 2016/09/28
    ありがとうございます!練習すんべ…!
  • 今さら入門するMVVMに必要な技術要素(Xamarin.Forms & UWP) - かずきのBlog@hatena

    Model View ViewModelパターン(以下MVVMパターン)が登場して約10年になります。 ここらへんで一度MVVMを実装するうえで必要になる技術要素を振り返ってみたいと思います。 その前にMVVM MVVMは以下のWikipediaあたりでも見てください。 Model View ViewModel - Wikipedia 見た目と、それ以外にクラスを分離して、さらに見た目をXAMLで作りやすいようにViewとViewModelに分離したようなイメージです。 見ていこう ということでMVVMで必要になる技術要素を見ていこうと思います。 INotifyPropertyChangedインターフェース まずは、これが無いと始まりません。MVVMではViewはViewModelを監視して、ViewModelはModelを監視していることが多いです。その時に、クラスのプロパティが変わった

    今さら入門するMVVMに必要な技術要素(Xamarin.Forms & UWP) - かずきのBlog@hatena
    ytabuchi
    ytabuchi 2016/09/16
    素晴らしすぎます… ちょうど私が勉強してきたことが一から書いてある感じです。
  • Azure Mobile AppsでUWPを作ってみよう - かずきのBlog@hatena

    わず嫌いしてるMobile Appsですがここらへんで触ってみようと思います。バックエンドが簡単に作れるならそれにこしたことはないよね。ということで行ってみよう。 Mobile Apps Quickstartの作成 まず手始めにとっかかりをつかむには、Mobile Apps Quickstartというのを作るといいです。こいつはTodoアプリの完成形が出来上がってます。 下のような感じで適当に作ります。 そうすると、以下のセットが出来上がります。 プロジェクトのダウンロードと実行 AppServiceを選んで、Quickstartを選ぶと、様々なプラットフォームのプロジェクトのひな型がDLできるようになっています。今回はUWPでいきたいのでWindows(C#)を選びます。 Quickstartは、SQLiteを使ってるみたいですね。後で、SQL Databaseに変えてね的なメッセージ

    Azure Mobile AppsでUWPを作ってみよう - かずきのBlog@hatena
    ytabuchi
    ytabuchi 2016/09/08
    さすがお早い… Mobile AppsをXamarinで使うやつを書かないと!
  • Visual Studio Team ServicesでXamarin.FormsのDroidプロジェクトのビルドとapkの作成をしてみよう - かずきのBlog@hatena

    プロジェクトの作成 まず、Xamarin.FormsのプロジェクトをVisual Studioで作成します。 作成したらWindows, WinPhone, UWPのプロジェクトを削除します。UWPあるとビルド通らなかったので…。 プロジェクト名は、ここではxfvstsにしました。 VSTS上のプロジェクトの作成 ソースをVSTS上にプッシュしておきます。ソリューションをソースコントロールに追加してチームエクスプローラーからさくっとできます。 ビルドの定義の作成 VSTSのポータルにアクセスしてBuild & ReleaseからBuildにいって+ New definitionを選択しましょう。 Visual Studioを選択してNext >を選択します。気になるのはXamarin.Android/Xamarin.iOSですが今回は無視しました。 次の画面は、そのままCreateします。

    Visual Studio Team ServicesでXamarin.FormsのDroidプロジェクトのビルドとapkの作成をしてみよう - かずきのBlog@hatena
    ytabuchi
    ytabuchi 2016/09/05
    VSTS!今度やってみよう。
  • PCLでHttpUtlitityのUrlEncodeとUrlDecodeを使いたい - かずきのBlog@hatena

    UriクラスのEscapeDataStringとUnescapeDataStringメソッドを使いましょう。 Console.WriteLine(HttpUtility.UrlEncode(s)); Console.WriteLine(Uri.EscapeDataString(s)); var encodedString = HttpUtility.UrlEncode(s); Console.WriteLine(HttpUtility.UrlDecode(encodedString)); Console.WriteLine(Uri.UnescapeDataString(encodedString));

    PCLでHttpUtlitityのUrlEncodeとUrlDecodeを使いたい - かずきのBlog@hatena
    ytabuchi
    ytabuchi 2016/07/18
    こっちの書き方もやってみます(^^)
  • WPFでPrismをライトウェイトに使いたい「Hello world」 - かずきのBlog@hatena

    WPF版Prismは使いこなすと強力です。でも使いこなすの大変です。ハイ。学習コストかけてられないし、学習コストかけたからといって1個のアプリ開発で、そのコストを回収できるかもわかりませんですしね。 ということで、なるべくライトにPrismを使ってみたいと思います。 Prismで使いたい機能 以下の機能を使おうと思います。 MVVM基クラス BindableBaseクラス DelegateCommandクラス ViewModelLocator InteractionRequest PopupWindowAction DIコンテナのUnity 逆に以下の機能は使わない前提です。 Bootstrapper Module Region では行ってみましょう。 プロジェクトの作成 LightweightPrismSampleという名前でプロジェクトを作ったという前提で説明します。NuGetからP

    WPFでPrismをライトウェイトに使いたい「Hello world」 - かずきのBlog@hatena
    ytabuchi
    ytabuchi 2016/07/17
    ちょうど「Prismは全部使わなくたっていいよね」って話してた矢先にこのエントリー。エスパーですか?
  • かずきのUWP入門をKindleでも販売をはじめました - かずきのBlog@hatena

    SlideShareに置いてあるのでそちらをどうぞ。SlideShareにログインすると資料のちょい下あたりのボタンにDownloadっていうのがあるので、そこからDLできます。 かずきのUWP入門 from 一希 大田 www.slideshare.net Kindleでも読みたいとか投げ銭的な感じで買ってもいいよって人はぽちってくれると喜びます。まだ、ちょっとの紹介がおかしいですがそのうち直します。 www.amazon.co.jp

    かずきのUWP入門をKindleでも販売をはじめました - かずきのBlog@hatena
    ytabuchi
    ytabuchi 2016/07/05
    ほおおお!お布施しないと!
  • WPF4.5入門 その56「コレクションのバインディング」 - かずきのBlog@hatena

    データバインディングでは、ここまで説明してきた単一項目のデータバインディングの他に、コレクションをバインディングすることができます。コレクションのデータバインディングは、IEnumerableを実装したコレクションなら、どれでも対象になります。その中でも、INotifyCollectionChangedインターフェースを実装したコレクションは、追加・削除などの変更操作をデータバインディングのターゲットと同期をとることが出来ます。 INotifyCollectionChangedインターフェースの実装は大変な作業なので、デフォルトでObservableCollectionという実装クラスが提供されています。特に理由がなければ、WPFでコレクションのデータバインディングを行う場合はObservableCollectionを使います。 NameとAgeプロパティを持つPersonクラスのコレクシ

    WPF4.5入門 その56「コレクションのバインディング」 - かずきのBlog@hatena
    ytabuchi
    ytabuchi 2016/06/04
    WPF便利…!
  • Xamarin.Forms + Prism.Formsで画面遷移DeepDive - かずきのBlog@hatena

    Prism.Formsは、地味にネストした画面遷移みたいなのをサポートしています。 画面遷移のINavigationService#Navigateメソッドに渡すURLに"/HogePage/FugaPage/BarPage?id=10"みたいに/で区切ってページ指定が出来ます。 最初が/だと絶対パスになるっぽくて画面全体を置き換えて、/から始まらない状態だと現在のページを起点に画面を置き換えるような動きをしています。(コード複雑で追いかけきれてないので自信がない) これが出来て何が嬉しいのかと言うと、NavigationPageとかの中にPageを入れ込んで画面遷移するというのが簡単に出来るようになります。とりあえずやってみましょう。MainPageの他にNextPageを作ってRegisterTypesで登録します。続けて、NavigationPageも登録しておきます。 protec

    Xamarin.Forms + Prism.Formsで画面遷移DeepDive - かずきのBlog@hatena
    ytabuchi
    ytabuchi 2016/04/24
    ほーPrism.FormsでNavigation.PushAsyncと同じ事が出来る!
  • XamarinでPrismを使ったHello world - かずきのBlog@hatena

    PrismってXamarinにも対応してるんですよね(Previewですけど)ということで、Hello worldしながら、基的な手順をやっていこうと思います。 プロジェクトの新規作成 まず、プロジェクトの新規作成を行います。Cross-Platform/Blank App (Xamarin.Forms Portable)を選択します。プロジェクト名は、ここではXamarinPrismHelloWorldにしました。UWPのターゲットバージョンをいくつにするかとか聞かれるのでOKを押してプロジェクトを作成します。 私の場合だけなのかもしれませんが、Xamarin.Formsのプロジェクトを作ったらAndroidのエミュレータ起動できない状態になることがあるのですが、そういう時は一度ソリューションを閉じて開きなおすことで解決します。 Prism.Formsの追加 まず、Androidのプロ

    XamarinでPrismを使ったHello world - かずきのBlog@hatena
    ytabuchi
    ytabuchi 2016/04/20
    Prismも来たー(^^) てか、なんか急に沢山知見がポストされ始めた!!