Category: Microsoft開発全般

OSSはじめました!(ほぼ日記)

始めたきっかけ いままで、Azure, Office365, Windows OS上で使用するプロダクトを作ってきましたが。 もっと、たくさんの人に使ってもらえるように出来ないかと思い始めました。 また、開発者にもブランド化してほしいと思います。   世の中も、AI, IoT Robotと目まぐるしく変化しています。 やばい、やばすぎる、この現実、時は残酷なり。 10年に1回モデルチェンジをしている私としては、モデルチェンジの時期がきたと思いました。 ということで、大幅に考えを変えることにしました。   時代はOSS、Microsoft も Love Linuxの時代です。 そこで、OSSだと思いました。 OSSとは一体何か? 今回詳しく調べてみました。 オープンソースソフトウェアとは OSSとは、オープンソースの概念に基づき、ソフトウェアのソースコードが無償で公開され、改良や再配布を行うことが誰に対しても許可されているソフトウェアのことである。あるいは、オープンソースに関する文化の啓蒙活動を行っているThe Open Source Initiativeによって認定されたソフトウェアのことである。 Weblio ソースコードを無償で公開して、改良・再配布を自由に行うことができるようにすること。 いままで、商売でコードを書いてきた私にとっては、とてつもなく高いハードル。。。。。 でもこのままでは、古い人間になってしまう。 ということで、オープンソースで収益を上げている人たちを調べてみました。 Profitモデル RedHat 有名なRedHat なんと20億ドルも売り上げをあげている。Global企業すぎていける気がしない Red Hatはクラウドへの移行で50億ドル企業をねらうが、Linuxだけでは無理かもしれない EC-CUBE 日本初のE-Commerce OSS 有名だが、売上わからない。帝国データバンクで調べないといけないのでパスしました。カート決済、サイトのホスティングサービス、カスタマイズでたくさん儲けてそうです。 GitHub Gitを使いSaaSサービスを無料・有償で提供しています。 Wijmo 開発ツール、無料と商用ありで、当社も購入しています。 ライセンス いづれの企業もユーザの導入障壁を下げて、OSSを簡単に利用でき、ライセンス費用、ベンダーロックを回避することにより、良いサービスを多くのユーザに届けています。 金勘定は、後ですることにして、私の会社で適用できそうなビジネスモデルは以下かなと思います。 SaaSでサービス提供(サーバ運用・サポート) 技術アピールによる、受託サービス   ツールの選定 現在ベトナムの英語ベースの技術者ロンさんと開発しているので、 日本に依存したツールは一切排除、開発も全部英語でしています。 これで、私の英語レベルも向上して将来的には世界へプロダクトをプレゼンして売るぞと!!! Xamarin 時代はスマホということで、スマホのアプリを作るうと。 AndroidとiOS, Windows Phone で全部作りこむ体力がないので、問答無用でXamarinにしました。 現在、Azureの講師もしているので、Azure Loveな私としては、サーバはAzureでこちらも問答無料です!! ベトナムではAWSがひろまっているようですので、Azureのよさをベトナムに広げていきます!! ということでこちらが最終構成イメージになります。   Office365 もちろん、Office365も連携させますよ。使命をもって!!   GitHubで始めたOSSプロジェクト https://github.com/exceedone   では、皆様おろしくお願いします。  

Tokyo ComCamp 2016 powered by MVPs で登壇しました。

予約ページ  Tokyo ComCamp 2016 powered by MVPs – connpass 株式会社gloopsさんにて、Office365 の開発について登壇を行いました。 Office365の開発は、ユーザ数が増えて、開発者も増えてきました。 機能が多いので、開発手法についてデモを交えながら、説明しました。 詳しい方もいたので、Office365について知識が深まりました。     スライド  

Windows用OneDrive API 2.0導入まで

以前紹介いたしましたOneDrive APIはMicrosoftアカウントのみの対応でしたが、 2.0になってOneDrive For Businessに対応になりました。 事前に用意するもの ・VisualStudio 2015 ・Microsoftアカウント ・一般法人向けOffice365 (OneDrive For Businessで必要) ・AzureAD(AzureADは一般法人向けOffice365についてきます) 何が変わったか 2015年2月に出たライブラリとは互換性がないのが残念ですが、nugetから最新のパッケージが入手できるようになっております(Microsoft.OneDriveSDKで検索)。 もちろん、サンプルも新しくなっておりURLも変わっております。 サンプルを動かしてみよう サンプルはWindows Form用とユニバーサルアプリの2通りが入っておりますので、 OneDriveに対応したアプリを作成される場合、サンプルに沿って作れば比較的楽に作れると思います。 2016/1/30時点では下記のような設定を入れないと動かなかったことを確認しております。 上記の設定のあとビルドし、OneDrivePhotoBrowserを起動すると下記のような画面が表示されます。 Log in to AADを押すと、Office365ログイン画面が表示されたのち、OneDrive For Businessのファイル情報が表示されました。 ※実行時はLog in to MSA側は動作しませんでしたが、OneDriveApiBrowser側では動作しておりましたので、 MSA側が気になる方はそちらを参考にするとよいと思います。

JenkinsとMSBuildでビルド自動化

最近、定期的にTeam Fundation Serverからチェックアウトして、 プロジェクトをビルドし、指定されたところにコピーする決まった作業をどうにかしたいので、 TFSや.NetFrameworkのビルドが扱えるJenkinsの利用を始めました。 何ができるか ・分単位で指定した時間にバッチ処理を実行することができる ・ビルドテストができる(ビルド単位で結果を保存することも可能) ・デプロイができる ・コミット(チェックイン)で起こるコードの不整合をメールで通知してくれる。(多人数開発で便利) その他いろいろ  設定は難しい? 機能ごとにヘルプがついており、記述方法も記載されているので 比較的わかりやすくなっております。 右の?がヘルプです。 自動ビルドだと成功したかわかりにくくない? 実行した後、ビルドごとにログが残っているので詳細がわかりやすいし、 仮にエラービルドが発生した場合はメール通知も可能です。 チェックインログはTFSで見ないといけない? ビルドする際にチェックアウトしたデータが前回から変わっている場合は 差分情報が表示されます。エラーの場合はどこのバージョンでエラーが混入したか わかりやすくなっています。 設定するのに時間かかるのでは? セットアップから簡単なジョブの設定であれば数十分程度で終わります。 今までは「最新のビルドを作ってください」と言われておりましたが、 これからは「決められたところからダウンロードして使ってください」になり、ビルド待ちが減りましたので 開発効率があがりそうです。

Azure経由でPush通知ができます

2015年後半にWindows10 Mobileが出てから徐々に WindowsPhoneが見直されてきそうなかんじですが iOS、AndroidにあるPush通知はWindowsにもあります。 WindowsPhoneのPush通知はこんな感じです Push通知はAzureを使えばWindowsだけではなくiOS、Androidも制御できたりします。 開発に関してはNotification Hubsの利用がわかりやすいと思います WindowsでPush通知を使うためにはストアアプリであることが前提であるみたいですので Windowsデベロッパーセンターの登録と、Azureの登録が必要になります。 Windowsデベロッパーセンターのダッシュボードにアプリケーションを登録して、 サービスのPush通知設定をし、AzureにWindowsデベロッパーセンターで指定された 情報を登録したのち対応しているアプリケーションを作成すると通知が使えるようになります。 Azureには無料枠があるみたいなので、お試ししたい方はぜひ。 ※Windowsデベロッパーセンターは登録料が必要です。(2016/1現在) ※この記事は筆者のブログ1、2が基になっております。

第2回 MSストア アプリ もくもく会 for O365API, Office Add-ins, SharePoint Add-ins, Windows Store App, Dynamics

予約ページ https://office365dev.doorkeeper.jp/events/34387 Excel女子で有名な、株式会社エーアイエル様にて勉強会を行いました。 今回は、Office Add-ins を教えながらいっしょに作ったりしてアイデア交換できて楽しかったです。 私を含めて数人は個人的、会社的に作るものがあり、各自アプリを作っていました。(Office Add-ins, SharePoint Add-ins, Windows Phone App等) アイデアを共有したり、技術を教えあったり、またもや、もくもく会というよりペラペラ会になりました。 第3回は1月30日に予定しています。  

2015/11/09 第1回 MSストア アプリ もくもく会 for O365API, Office Add-ins, SharePoint Add-ins, Windows Store App, Dynamics

予約ページ https://office365dev.doorkeeper.jp/events/33350 初めてプログラムを作る大学生も参加していました。 学校にはVIsual Studioがあるらしいのですが、 最近の若い人は初めてでもすぐに四則演算アプリを作っていたので、デジタルネイティブの可能性を感じました。 私を含めて数人は個人的、会社的に作るものがあり、各自アプリを作っていました。(Office Add-ins, SharePoint Add-ins, Windows Phone App等) アイデアを共有したり、技術を教えあったり、もくもく会というよりペラペラ会になりました。 帰りには懇親会に行き中華を食べました楽しかったです。 第2回は12月19日に予定しています。  

Windows用OneDriveAPI導入まで

2015年2月下旬にリリースされたOneDrive API(C#)の導入方法です。 事前に準備するもの VisualStudioとMicrosoftアカウント OneDriveとは何か 15GBの容量と、Office Onlineが無料で使える環境です。 詳しくはこちら APIやサンプルで何が出来るか OneDrive内の大抵の動作を制御することが出来ます。 ・MSアカウントのサインイン、サインアウト ・リフレッシュトークンを使用したサインイン継続 ・OneDrive内のファイル情報取得 ・OneDriveへファイルのアップロード(大きいファイル用にプログレスバー対応も有り) ・OneDrive内にあるファイルのダウンロード ・OneDrive内にあるファイルの削除 ・指定したURLからOneDriveへファイルのコピー ・OneDrive内にあるファイル検索 などなど ※OneDrive for Businessは非対応です 開発の準備をしよう サンプル(SDK入り)をダウンロードします ダウンロードするにはSamplesタブを選択して OneDrive API Explorer (Windows/C#) を選ぶとGitHubに遷移しますので、 右下にあるDownload ZIPを押してサンプルをダウンロードします。   Zipファイルのダウンロードが終わったら展開して OneDriveApiExokirer.slnを起動します。   VisualStudioが起動したら、ビルドして動作を確認しましょう。 ※OneDriveにはMicrosoftアカウントでサインインします。   一通り確認したところで、次に開発になります VisualStudioでC#用プロジェクトを作成し、 サンプルに入っているプロジェクトの参照設定情報を見てライブラリをインストールをします。 ※OneDriveSDKは、サンプルをビルドした際に出来たdllを使用します。 次にサンプルからサインイン、サインアウト用のコードを自分のプロジェクトに追加します。 ・Auth/OAuthAuthenticator.cs ・Auth/OAuthTicket.cs ここで注意! コピーしただけでは、「OneDriveApiExplorer」として動いてしまうので、 作成するアプリ用にクライアントIDとクライアントシークレットを取得しましょう。 取得方法は、 Microsoft アカウント デベロッパー センター にアクセスして、アプリケーション名と言語を選択して「同意」します。 次にマイアプリ→(作成するアプリ)→設定の編集→API設定に進み 「いいえ」になっている選択欄を「はい」にして保存ボタンを押下します。 これでMSアカウントを使ったアプリの登録は完了になります。 登録すると、クライアントIDとクライアントシークレットが発行されますので Auth/OAuthAuthenticator.csの msa_client_idにクライアントID msa_client_secretにクライアントシークレット をそれぞれ書き換えます。 新規に作成したプロジェクトではRefreshToken周りの設定がされていないと思いますので Settings.settingsの設定を下記のようにします。   これで自分のアプリとして開発する準備が整いました。 あとはサンプルから使いたい処理を参考にして開発する形になります。

メモ:CloudBusinessAppのビルドの診断ログ(Visual Studio 2013)

Visual Studio2013にて メニュー/ツール/オプション で診断にすると 以下のような詳細なログが出力されます。 CloudBusinessapp 参考 MSBuild Special Characters 方法 : ビルドで環境変数を使用する

Visual Studio 2013 GitHubの使い方

はじめに 最近よく聞く「GitHub」でVisual Studio 2013では標準で「GitHub」に接続できちゃいます。 そもそも「GitHub」は、GitというLinuxを作った人が、開発したオープンソースのバージョン管理ソフトです。 それを無料・有料でホスティングしているのがGitHubです。 そもそもGitHubとは一体何か? http://jp.techcrunch.com/2012/07/15/20120714what-exactly-is-github-anyway/ Microsoftの少し前の技術ですと「Visual Source Safe」や、今ですと「Team Foundation Server」 などを使用していたと思いますが。 公開してオープンソースで開発するとなるとGitHubが便利です。 ※公開しないプライベートでもできます。 自分のソースを公開したり、いっしょに開発したりするのによさそうです。 1. GitHubにユーザを登録しておきます。 2. GitHubにからのリポジトリを作成しておきます。 Tabの[Repositories]で、[New]をおします。 3. 今回は[Test3]でリポジトリを作成します。 4. Visual Studio で、なんでもいいので、新規プロジェクトを作成します。 今回は[MVC5]で作成しました。 5. Visual Studio の設定 [ツール][オプション] [ソース管理][プラグイン選択][現在のソース管理プラグイン]を[Microsoft Git Provider] に設定する。 6. GitHubへの接続設定 ユーザ名、、電子メールアドレス等設定する。 7. ソリューションを選んで右クリックしてコミットしてローカルリポジトリにソースを格納する。 PCのローカルのリポジトリにコミットされます。 8. リモートのGitHubと同期するために、[同期されていないコミット]ボタンを押す 最初のときだけGitHubのリポジトリのURLをきいてくるので入力します。 今回は https://github.com/snoro/Test3 と入力後発行します。 そしてGitHubをみるとアップロードされています。 補足1 GitHubのリモートアドレスの変更 GitHubのURLの設定のところは、ローカルリポジトリを作成後、同期のときの、1回しか、表示されないので、 もしかしたら、コマンド等でGitHub(リモートリポジトリ)のURLを変更しないといけないかもしれないのです。 わたしは、わからないので、ローカルリポジトリを新規作成して、GitHub(リモートリポジトリ)のURLを変更しています。 補足2 カレントのローカルリポジトリの変更 ソリューション作成時は、カレントリポジトリにプロジェクトを作ります。 また、カレントローカルリポジトリは消せませんので、削除する場合等には切り替える必要があります。 その場合、電源プラグみたいなアイコンをクリックしてカレントにしたいローカルリポジトリをダブルクリックします。 補足3 GitHubとの同期時に重複エラーが表示され、うまく同期でくなくなったら GitHub側でReadme 等修正するとなぜか重複等で、同期が失敗する場合があります。 コマンドたたけば治せるのでしょうけど、 GitHub側を正としていいなら、簡単なのでGitHubから、もう一度複製しちゃってもいいです。 参考 Create, Connect, and Publish using Visual Studio with Git http://blogs.msdn.com/b/visualstudioalm/archive/2013/02/06/set-up-connect-and-publish-using-visual-studio-with-git.aspx