[{"content":"AI! AI! AI! という感じでしたね。Microsoft Ignite 2023 Book of Newsから気になったところをピックアップしました。\nAzure Machine Learning プロンプトフロー 大規模言語モデル（LLM）を利用したアプリケーションの開発ライフサイクル全体を合理化\nモデルカタログ Hugging Face、Meta、OpenAIのような有名なプロバイダーから基盤モデルを発見、評価、微調整、展開\nMetaのLlama 2などのモデルをAPIエンドポイントとして統合 Microsoft FabricのOneLakeとの統合プレビュー Azure AI Studio 最先端のAIツールと機械学習モデルを使用してAIソリューションをシームレスに探索、構築、テスト、展開するためのワンストップ\nCustomer Copyright Commitment Azure OpenAI Serviceも商用利用している顧客を著作権侵害の訴訟から守り、補償するコミットメント基準を設定\nAzure AI Vision Liveness機能 顔認識なりすまし攻撃の防止 *Vision SDK\n開発者がモバイル・アプリケーションに顔認識とライブ性を簡単に追加\n画像解析 4.0\n強化された OCR モデルは、画像内のタイプされたテキストと手書きテキストの両方に対する精度の向上\nフローレンス基盤モデル 何十億ものテキストと画像のペアで訓練\nAzure OpenAI Service 16Kトークンのプロンプト長を持つGPT-3.5 TurboモデルとGPT-4 Turbo 2023/11末パブリックプレビュー予定\nビジョン付きGPT-4ターボ（GPT-4V） Azure AI Visionと統合されたGPT-4Vは、テキストと一緒に画像や動画を含めることを可能\nビデオ解析のようなAzure AI Vision強化の恩恵を受け、体験を強化\n2023年末までにプレビュー開始予定\nBing SearchとAdvanced Data Analyticsプラグイン\nBing Searchとの統合により、Azure OpenAI Serviceから直接アクセス可能\nAzure AI Language 英語での翻訳を仲介することなく、ある言語から別の言語への翻訳が可能 独自のインフラストラクチャ上でAIサービスを実行可能 パーソナルボイス 60秒間の音声サンプルを使って、企業がユーザー向けにカスタムニューラルボイスを作成\n音声合成アバター 入力されたテキストと実際の人物が話しているビデオデータを基に、リアルな人物の似顔絵を生成する新しい音声合成機能\nAzure AI Video Indexer、Azure AI Search、Azure OpenAI Serviceの強力な統合 動画からテキストへの要約、効率的な動画コンテンツ検索が可能に\nAzure AI Search ベクトル検索 より高速で効率的な検索が可能\nセマンティック検索 Microsoft Bingから採用された多言語、ディープラーニングモデルにより、最も関連性の高い検索結果を優先的に配信\nAzure AI Studioでの提供開始 Azure Cosmos DB パーティション/リージョンごとの動的スケーリング Microsoft Copilot for Azure統合 Azure Cosmos DB Data Explorerのクエリエディタで、自然言語による質問をAzure Cosmos DB NoSǪLクエリに変換可能\nAzure Cosmos DB for MongoDB vCore MongoDBと互換性あり\n無料版もあり ベクトル検索対応 Azure Database for MySǪL Business Critical Principled Technologiesがパフォーマンス・ベンチマーク調査 https://www.principledtechnologies.com/Microsoft/Azure-Database-for-MySQL-Flexible-Server-competitive-1123.pdf\nAmazon Web Services（AWS）のリレーショナルデータサービス上のMySǪLよりも最大50%高速 Google Cloud Platform（GCP）のCloud SǪL for MySǪLよりも最大2.6倍高速 Azure Database for PostgreSǪL パフォーマンスとスケーラビリティが強化 Premium SSD v2は、ミリ秒以下のディスクレイテンシー\n最大64TBのストレージ、80K（IOPS）\nオンライン、動的なコンピュートとストレージのスケーリングは、ほぼゼロのダウンタイム\nAzure AI向けのAzure Database for PostgreSQL拡張\nAzure OpenAI Serviceに呼び出して、効率的な類似性検索を可能にするLLMベースのベクトル埋め込みを生成\nセンチメント分析、言語検出、エンティティ認識など、さまざまなシナリオのためにAzure AI Languageを呼び出し カスタムシリコン発表 Microsoft Azure MaiaとMicrosoft Azure Cobaltの2つを発表\nMicrosoft Azure Maia OpenAIモデル、Bing、GitHub Copilot、ChatGPTなどのAIワークロード向けに、クラウドベースのトレーニングと推論を実行するように設計されたAIアクセラレータチップ\nMicrosoft Azure Cobalt Armアーキテクチャをベースとし、汎用ワークロード向けにパフォーマンス、電力効率、コスト効率を最適化したクラウドネイティブなチップ\nAzure Boostの一般提供 ストレージの性能向上\nリモート・ストレージ性能は12.5Gbps, 65万IOPS ローカル・ストレージ性能は17.3Gbps, 380万IOPS Azure Container Apps クラウドへのコードのデプロイとAIワークロードの実行を容易にする新機能を追加\n専用のGPUワークロードプロファイル Azure Container Apps ランディングゾーン アクセラレータ Azure Container Apps コードからクラウドへ ベクターデータベースアドイン Azure Functions .NET 8サポート Flex Consumption Plan Azure Kubernetes Service Kubernetes AI toolchain operator リリース 大規模言語モデル（LLM）のような特殊な機械学習ワークロードをサポート\nAzure Kubernetes Fleet Manager 複数クラスタのアップデートをオーケストレーション可能\nAzure Communication Services Azure AI SpeechがAzure Communication Services Call Automationワークフローに統合 自由形式の文章だけでなく、特定のフレーズを認識。顧客が対話型音声応答（IVR）メニューのナビゲートに費やす時間を短縮\nジョブルーター インバウンドの顧客とのコミュニケーションにおけるルーティング機能の開発を簡素化\nAzure App Service LinuxとWindowsのアプリ移行を簡素化する新機能\n複数のAppサービスプランに対するシングルサブネットのサポート LinuxでのWebJobsのプレビューが開始 Linuxでの拡張性サポート LinuxでのgRPC対応 Azure API Management Defender for APIs が一般提供 Microsoft Copilot for Azure どんなことができるかまだよくわかりませんが、Copilotはほんとどこでも使えますね\nMicrosoft Copilot Studio こんだけいろいろ使えるんだから、当然作れるようにもなりますよね\nWindows AI Studio Windowsアプリケーションでローカルに使用する小規模言語モデル（SLM）の微調整、カスタマイズ、配備の一元管理。 プロンプト・オーケストレーションのためのプロンプト・フロー機能 ","permalink":"/entry/ignite2023-summary/","summary":"\u003cp\u003eAI! AI! AI! という感じでしたね。\u003ca href=\"https://news.microsoft.com/ignite-2023-book-of-news/\"\u003eMicrosoft Ignite 2023 Book of News\u003c/a\u003eから気になったところをピックアップしました。\u003c/p\u003e\n\u003ch3 id=\"azure-machine-learning\"\u003eAzure Machine Learning\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eプロンプトフロー\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e大規模言語モデル（LLM）を利用したアプリケーションの開発ライフサイクル全体を合理化\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eモデルカタログ\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHugging Face、Meta、OpenAIのような有名なプロバイダーから基盤モデルを発見、評価、微調整、展開\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMetaのLlama 2などのモデルをAPIエンドポイントとして統合\u003c/li\u003e\n\u003cli\u003eMicrosoft FabricのOneLakeとの統合プレビュー\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"azure-ai-studio\"\u003eAzure AI Studio\u003c/h3\u003e\n\u003cp\u003e最先端のAIツールと機械学習モデルを使用してAIソリューションをシームレスに探索、構築、テスト、展開するためのワンストップ\u003c/p\u003e\n\u003ch3 id=\"customer-copyright-commitment\"\u003eCustomer Copyright Commitment\u003c/h3\u003e\n\u003cp\u003eAzure OpenAI Serviceも商用利用している顧客を著作権侵害の訴訟から守り、補償するコミットメント基準を設定\u003c/p\u003e\n\u003ch3 id=\"azure-ai-vision\"\u003eAzure AI Vision\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLiveness機能\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e顔認識なりすまし攻撃の防止\n*Vision SDK\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e開発者がモバイル・アプリケーションに顔認識とライブ性を簡単に追加\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e画像解析 4.0\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e強化された OCR モデルは、画像内のタイプされたテキストと手書きテキストの両方に対する精度の向上\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eフローレンス基盤モデル\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e何十億ものテキストと画像のペアで訓練\u003c/p\u003e\n\u003ch3 id=\"azure-openai-service\"\u003eAzure OpenAI Service\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e16Kトークンのプロンプト長を持つGPT-3.5 TurboモデルとGPT-4 Turbo\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e2023/11末パブリックプレビュー予定\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eビジョン付きGPT-4ターボ（GPT-4V）\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAzure AI Visionと統合されたGPT-4Vは、テキストと一緒に画像や動画を含めることを可能\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eビデオ解析のようなAzure AI Vision強化の恩恵を受け、体験を強化\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e2023年末までにプレビュー開始予定\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBing SearchとAdvanced Data Analyticsプラグイン\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBing Searchとの統合により、Azure OpenAI Serviceから直接アクセス可能\u003c/p\u003e\n\u003ch3 id=\"azure-ai-language\"\u003eAzure AI Language\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e英語での翻訳を仲介することなく、ある言語から別の言語への翻訳が可能\u003c/li\u003e\n\u003cli\u003e独自のインフラストラクチャ上でAIサービスを実行可能\u003c/li\u003e\n\u003cli\u003eパーソナルボイス\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e60秒間の音声サンプルを使って、企業がユーザー向けにカスタムニューラルボイスを作成\u003c/p\u003e","title":"Microsoft Ignite 2023 個人的に気になった部分まとめ"},{"content":"10年目になりました。記念リングもらえるらしい。うれしい。\nまた１年貢献できればと思います。AzureよりはAIが増えそうだけど。\nこんなデジタルバッジももらえました。カッコイイ。 www.credly.com\n","permalink":"/entry/2023/07/07/090209/","summary":"\u003cp\u003e10年目になりました。記念リングもらえるらしい。うれしい。\u003c/p\u003e\n\u003cp\u003eまた１年貢献できればと思います。AzureよりはAIが増えそうだけど。\u003c/p\u003e\n\u003cp\u003eこんなデジタルバッジももらえました。カッコイイ。\n\u003ca href=\"https://www.credly.com/badges/48227331-da88-43cc-916f-88177c3240b0\"\u003ewww.credly.com\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"2023-2024 Microsoft Most Valuable Professional (MVP) for Microsoft Azureを受賞しました"},{"content":"めちゃくちゃ色々な発表あって目まぐるしいです。AI、Copilotが来てますね。後で読む向けリンク。随時更新\nMicrosoftのBuild2023発表内容全部まとめ 本家公式。網羅的に全部見たい人向け。かなりボリュームあるので覚悟を。 news.microsoft.com\nキーノートまとめ キーノート情報を短時間で読みたい人向け。毎回まとめに感謝。\nMicrosoft Build 2023 Day 1 Keynote | ブチザッキ Microsoft Build 2023 キーノートまとめ - Windows Copilot、Microsoft Fabric、Azure AI Studioなどを発表 - 吉田の備忘録 AI Azure Cognitive Search にベクトル検索機能が搭載されプライベートプレビューが開始 - Qiita Microsoft Build 2023のAI/MLアップデート最速まとめ Microsoft Build 2023 で発表された AI 関連アップデートまとめ Generative AI for Developers: Exploring New Tools and APIs in Azure OpenAI Service Azure AI Studioでデータ参照できるかなーって何度かリロードしてたら6月からだよって書いてたわ・・・\nAzure OpenAI Service on your data is a new feature coming to public preview in June.\nPower Platform系 更に強化された次世代のAI/GPT機能により Power Apps はより多くのプログラマーに力を - 吉田の備忘録 Microsoft Power Automate の開発とオーケストレーションを大幅に強化する機能発表 - Microsoft Build 2023 - 吉田の備忘録 【Microsoft Build 2023】Power Platform 関連の発表まとめ【速報】 - Qiita Power BI Power BI Session List in Build 2023.xlsx Azure \u0026amp; Data Build 2023 で個人的に気になった内容 at SE の雑記 Azure Updates (2023.05.24 Build Day 1) | ブチザッキ Microsoft Fabric AIにはデータが必要なので、これはめちゃくちゃ気になっている。\nMicrosoft Fabric - Next Generation Cloud Data Analytics Solution - Qiita これは必見。網羅的にまとまっている\nすべてのデータを一か所に集める OneDriveとの使い分けEliminate data silos with OneLake, the OneDrive for Dataより Cosmos DB Introducing Vector Search in Azure Cosmos DB for MongoDB vCore - Azure Cosmos DB Blog AI に使えるベクターサーチサポート。Cognitive Searchを使うまでもない場合はこれでよさそう\nUnlocking the power of Time-Travel in Azure Synapse Link for Azure Cosmos DB - Azure Cosmos DB Blog 履歴のようなテーブルが不要になる。小規模なサービスならこれだけで良さそう。\nReal time data processing with new Azure Cosmos DB change feed modes - Azure Cosmos DB Blog 削除もすべて記録されるようになるので、ソフト削除（論理削除）のようなものは不要になりそう。\nニュースサイト系 ［速報］マイクロソフト、ChatGPTとCopilotのプラグイン共通化を発表。プラットフォーム化とエコシステムを促進。Build 2023 － Publickey ［速報］マイクロソフト、クラウドPCにつながる「Windows 365 Boot」パブリックプレビュー発表。PCを起動するとクラウドPCにログイン。Build 2023 － Publickey ［速報］マイクロソフト、Windows上の開発者向けダッシュボード「Dev Home」発表。プルリクやタスク、開発ツールなど一覧。Build 2023 － Publickey ［速報］マイクロソフト、開発環境向けにビルド高速化を実現する「Dev Drive」発表、新ファイルシステムなど採用。Build 2023 － Publickey ［速報］開発環境を丸ごとクラウドPC化する「Microsoft Dev Box」、7月に正式リリースと発表。Build 2023 － Publickey ［速報］WindowsにチャットAIを搭載「Windows Copilot」発表、サイドバーから利用可能。6月にプレビュー版が登場予定。Build 2023 － Publickey https://home.microsoftpersonalcontent.com/contentstorage/CSP_8835daef-736e-4c34-a91d-b00f6e3a427d/_layouts/15/guestaccess.aspx?share=EaD8L0vkpjFLun3BesMAKZsB-k7OU6GSyyx8MCXw6kjn-g\u0026amp;e=cd2kia\u0026amp;nav=cz0lMkZjb250ZW50c3RvcmFnZSUyRkNTUF84ODM1ZGFlZi03MzZlLTRjMzQtYTkxZC1iMDBmNmUzYTQyN2QmZD1iITc5bzFpRzV6TkV5cEhiQVBianBDZlF5cTdFaXF6YXhBaHEtcTM0OUdOUXFhMlpWNUNuU1FTNUlWMW81TnI3QXYmZj0wMUxOWDNMRVZBN1FYVVhaRkdHRkYzVTdPQlBMQlFBS00zJmM9JTJGJmZsdWlkPTEmYT1Mb29wQXBwJnA9JTQwZmx1aWR4JTJGbG9vcC1wYWdlLWNvbnRhaW5lciZ4PSU3QiUyMnclMjIlM0ElMjJUMFJUVUh4b2IyMWxMbTFwWTNKdmMyOW1kSEJsY25OdmJtRnNZMjl1ZEdWdWRDNWpiMjE4WWlFM09XOHhhVWMxZWs1RmVYQklZa0ZRWW1wd1EyWlJlWEUzUldseGVtRjRRV2h4TFhFek5EbEhUbEZ4WVRKYVZqVkRibE5SVXpWSlZqRnZOVTV5TjBGMmZEQXhURTVZTTB4RlZVNVdTVUpaVDAweVRWWkNSVnBEVUZwSU16SktRMHBHU0RjJTNEJTIyJTJDJTIyaSUyMiUzQSUyMmJhNzcwMTY2LWU4YjktNGEzZS04NDkxLTBhYWM3NTZiOGRhNCUyMiU3RA%3D%3D\n","permalink":"/entry/2023/05/24/075327/","summary":"\u003cp\u003eめちゃくちゃ色々な発表あって目まぐるしいです。AI、Copilotが来てますね。後で読む向けリンク。随時更新\u003c/p\u003e\n\u003ch3 id=\"microsoftのbuild2023発表内容全部まとめ\"\u003eMicrosoftのBuild2023発表内容全部まとめ\u003c/h3\u003e\n\u003cp\u003e本家公式。網羅的に全部見たい人向け。かなりボリュームあるので覚悟を。\n\u003ca href=\"https://news.microsoft.com/build-2023-book-of-news/ja/?fbclid=IwAR38BE8H7UDT5ugBizEEQlEaPSXHCKZBzXpqos2VveosLeKoZwyvnkCWpO0\"\u003enews.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"キーノートまとめ\"\u003eキーノートまとめ\u003c/h3\u003e\n\u003cp\u003eキーノート情報を短時間で読みたい人向け。毎回まとめに感謝。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://blog.azure.moe/2023/05/24/microsoft-build-2023-day-1-keynote/\"\u003eMicrosoft Build 2023 Day 1 Keynote | ブチザッキ\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://memo.tyoshida.me/others/microsoft-build-2023-keynote-summary/\"\u003eMicrosoft Build 2023 キーノートまとめ - Windows Copilot、Microsoft Fabric、Azure AI Studioなどを発表 - 吉田の備忘録\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"ai\"\u003eAI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://qiita.com/nohanaga/items/f710cac82072b63bc73f\"\u003eAzure Cognitive Search にベクトル検索機能が搭載されプライベートプレビューが開始 - Qiita\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://zenn.dev/microsoft/articles/dbd3119d44faf0\"\u003eMicrosoft Build 2023のAI/MLアップデート最速まとめ\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://zenn.dev/microsoft/articles/6b6429f8cfc982\"\u003eMicrosoft Build 2023 で発表された AI 関連アップデートまとめ\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://techcommunity.microsoft.com/t5/ai-cognitive-services-blog/generative-ai-for-developers-exploring-new-tools-and-apis-in/ba-p/3817003\"\u003eGenerative AI for Developers: Exploring New Tools and APIs in Azure OpenAI Service\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAzure AI Studioでデータ参照できるかなーって何度かリロードしてたら6月からだよって書いてたわ・・・\u003c/p\u003e\n\u003cp\u003eAzure OpenAI Service on your data is a new feature coming to public preview in June.\u003c/p\u003e","title":"Microsoft Build 2023 いろいろまとめ"},{"content":" Edge の右上に追加されたこのボタン鬱陶しく思っている人も多いかもですがめちゃくちゃ便利です。\n以下はタブの「作成」でこんな設定で作ったブログ記事です。これなら更新滞り中な自分のブログも量産できると思いました。\n作成の設定例 こんにちは、皆さん。今日は、人工知能（AI）の分野で注目されている非営利団体、OpenAIについて紹介したいと思います。OpenAIとは、どんな組織なのでしょうか？どんな研究や製品を提供しているのでしょうか？そして、私たちにどんな影響を与えるのでしょうか？\nOpenAIとは OpenAIは、2015年12月にサンフランシスコで設立された非営利法人です。設立者には、イーロン・マスクやピーター・ティールなどの有名な起業家や投資家が含まれています。OpenAIの目標は、「人類全体に利益をもたらす形で友好的なAIを普及・発展させること」です。そのために、オープンソースの原則に基づき、高度なAIの研究成果を公開しています。\nOpenAIは、2019年に営利法人OpenAI LPとその親会社である非営利法人OpenAI Inc.からなる新しい組織構造に移行しました。これは、より多くの資金や人材を集めるための戦略です。現在、OpenAI LPはマイクロソフトから10億ドルの投資を受けています。\nOpenAIの研究と製品 OpenAIは、様々な分野の先進的なAI技術を開発しています。代表的なものとして、\nGPT-3：自然言語処理（NLP）分野で最大級のモデルであり 1750億個ものパラメーターを持ちます。文章生成や要約、翻訳、質問応答など多くのタスクが可能です。 DALL-E：GPT-3と画像生成モデル（VAEやCLIP）を組み合わせたモデルであり 文章からイラストや写真を作り出すことができます。 ChatGPT：対話型言語モデルであり GPT-3.5系のモデルがベースになっています。会話形式で応答したりフォローアップしたりすることができます。 OpenAI Codex：プログラミング言語処理分野で最大級のモデルであり 自然言語からコードを生成することができます。 これらの技術はすべて、一般公開されていませんが OpenAI APIというプラットフォームを通じてアクセスすることが可能です。\nOpenAIの影響 OpenAIは、人工知能技術をオープンかつ安全に普及させることを目指しています。しかし、その一方では悪用や倫理的問題も生じる可能性があります。 人工知能（AI）は、私たちの生活や社会に大きな影響を与える技術です。しかし、AIがどのように発展し、誰がその恩恵を受けるかは、まだ不確かなものです。\nOpen AIはその後、数々の画期的な研究やサービスを発表してきました。その中でも特に注目されているのがGPTシリーズです。GPTとはGenerative Pre-trained Transformerの略で、深層学習を用いた言語モデルです。言語モデルとは、ある文章が自然であるかどうかや、次に来る単語は何かなどを予測するモデルです。\nGPTシリーズはその規模と性能が他の言語モデルを圧倒しています。最新版のGPT-4は1.5兆個ものパラメーター（モデル内部で学習される数値）を持ち、インターネット上から収集した大量のテキストデータから学習しています 。その結果、文章の生成や要約、質問への回答、翻訳など様々なタスクに対応できます 。また、画像処理も可能であり 、「この写真からイラスト化した絵」や「この写真から動物だけ消した絵」などという指示に従って画像生成や加工も行えます 。\nGPTシリーズはオープンソース化されており 一般公開されています 。しかし、その強力さゆえに悪用される恐れもあります。例えば、「偽ニュース」や「プラグライズム」、「フィッシングメール」などが容易に作成される可能性があります 。そこでOpen AIでは安全性や倫理性も重視しており 一定の制限や審査を設けています 。\nOpen AIは今後も人工知能（AI）分野で革新的な研究やサービスを提供していく予定です。\n","permalink":"/entry/2023/03/18/103215/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20230318102842.png\" width=\"48\" height=\"37\" loading=\"lazy\" title=\"\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/figure\u003e\n\u003cp\u003eEdge の右上に追加されたこのボタン鬱陶しく思っている人も多いかもですがめちゃくちゃ便利です。\u003c/p\u003e\n\u003cp\u003e以下はタブの「作成」でこんな設定で作ったブログ記事です。これなら更新滞り中な自分のブログも量産できると思いました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\" title=\"作成の設定例\"\u003e\u003cspan itemscope itemtype=\"http://schema.org/Photograph\"\u003e\u003cimg src=\"/images/20230318103025.png\" width=\"384\" height=\"935\" loading=\"lazy\" title=\"\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/span\u003e\u003cfigcaption\u003e作成の設定例\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eこんにちは、皆さん。今日は、人工知能（AI）の分野で注目されている非営利団体、OpenAIについて紹介したいと思います。OpenAIとは、どんな組織なのでしょうか？どんな研究や製品を提供しているのでしょうか？そして、私たちにどんな影響を与えるのでしょうか？\u003c/p\u003e\n\u003ch3 id=\"openaiとは\"\u003eOpenAIとは\u003c/h3\u003e\n\u003cp\u003eOpenAIは、2015年12月にサンフランシスコで設立された非営利法人です。設立者には、イーロン・マスクやピーター・ティールなどの有名な起業家や投資家が含まれています。OpenAIの目標は、「人類全体に利益をもたらす形で友好的なAIを普及・発展させること」です。そのために、オープンソースの原則に基づき、高度なAIの研究成果を公開しています。\u003c/p\u003e\n\u003cp\u003eOpenAIは、2019年に営利法人OpenAI LPとその親会社である非営利法人OpenAI Inc.からなる新しい組織構造に移行しました。これは、より多くの資金や人材を集めるための戦略です。現在、OpenAI LPはマイクロソフトから10億ドルの投資を受けています。\u003c/p\u003e\n\u003ch3 id=\"openaiの研究と製品\"\u003eOpenAIの研究と製品\u003c/h3\u003e\n\u003cp\u003eOpenAIは、様々な分野の先進的なAI技術を開発しています。代表的なものとして、\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGPT-3：自然言語処理（NLP）分野で最大級のモデルであり   1750億個ものパラメーターを持ちます。文章生成や要約、翻訳、質問応答など多くのタスクが可能です。\u003c/li\u003e\n\u003cli\u003eDALL-E：GPT-3と画像生成モデル（VAEやCLIP）を組み合わせたモデルであり  文章からイラストや写真を作り出すことができます。\u003c/li\u003e\n\u003cli\u003eChatGPT：対話型言語モデルであり GPT-3.5系のモデルがベースになっています。会話形式で応答したりフォローアップしたりすることができます。\u003c/li\u003e\n\u003cli\u003eOpenAI Codex：プログラミング言語処理分野で最大級のモデルであり 自然言語からコードを生成することができます。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eこれらの技術はすべて、一般公開されていませんが OpenAI APIというプラットフォームを通じてアクセスすることが可能です。\u003c/p\u003e\n\u003ch3 id=\"openaiの影響\"\u003eOpenAIの影響\u003c/h3\u003e\n\u003cp\u003eOpenAIは、人工知能技術をオープンかつ安全に普及させることを目指しています。しかし、その一方では悪用や倫理的問題も生じる可能性があります。\n人工知能（AI）は、私たちの生活や社会に大きな影響を与える技術です。しかし、AIがどのように発展し、誰がその恩恵を受けるかは、まだ不確かなものです。\u003c/p\u003e\n\u003cp\u003eOpen AIはその後、数々の画期的な研究やサービスを発表してきました。その中でも特に注目されているのがGPTシリーズです。GPTとはGenerative Pre-trained Transformerの略で、深層学習を用いた言語モデルです。言語モデルとは、ある文章が自然であるかどうかや、次に来る単語は何かなどを予測するモデルです。\u003c/p\u003e\n\u003cp\u003eGPTシリーズはその規模と性能が他の言語モデルを圧倒しています。最新版のGPT-4は1.5兆個ものパラメーター（モデル内部で学習される数値）を持ち、インターネット上から収集した大量のテキストデータから学習しています  。その結果、文章の生成や要約、質問への回答、翻訳など様々なタスクに対応できます  。また、画像処理も可能であり 、「この写真からイラスト化した絵」や「この写真から動物だけ消した絵」などという指示に従って画像生成や加工も行えます 。\u003c/p\u003e\n\u003cp\u003eGPTシリーズはオープンソース化されており 一般公開されています 。しかし、その強力さゆえに悪用される恐れもあります。例えば、「偽ニュース」や「プラグライズム」、「フィッシングメール」などが容易に作成される可能性があります  。そこでOpen AIでは安全性や倫理性も重視しており 一定の制限や審査を設けています  。\u003c/p\u003e\n\u003cp\u003eOpen AIは今後も人工知能（AI）分野で革新的な研究やサービスを提供していく予定です。\u003c/p\u003e\n\u003chr\u003e","title":"Edge の Bing のボタンが邪魔だと思っている人に試してほしい「作成」"},{"content":"今話題の ChatGPT が Azure OpenAI Service で近日、一般提供(GA)される予定らしい。\nwww.itmedia.co.jp\nまだサービスのページではプレビューになっているが期待したい。サービスが提供されたら自分でもなにか学習させてみたいと思います。\nazure.microsoft.com\n","permalink":"/entry/2023/01/17/184450/","summary":"\u003cp\u003e今話題の ChatGPT が Azure OpenAI Service で近日、一般提供(GA)される予定らしい。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.itmedia.co.jp/news/articles/2301/17/news094.html\"\u003ewww.itmedia.co.jp\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eまだサービスのページではプレビューになっているが期待したい。サービスが提供されたら自分でもなにか学習させてみたいと思います。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://azure.microsoft.com/ja-jp/products/cognitive-services/openai-service\"\u003eazure.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"Azure で ChatGPT が利用可能になるらしい"},{"content":"Offic365 の Power Point で各スライドに音声が吹き込めるようになり、便利に使っています。\n一つ困ったことがあって、録音した声が割れてしまうことがあり困ってました。\n解決策はマイクのレベルを-8.0dbかVolumeを9まで減らすと割れなくなりました。\nそれぞれコントロールパネルかWindows 10の設定から行えます。\nDevice Property と入れると見つけやすいです なお、これらのボリュームはブラウザやTeamsなどで自動で変わってしまうため、Power Pointの録音前に確認したほうが良いです。\n","permalink":"/entry/2022/11/11/151041/","summary":"\u003cp\u003eOffic365 の Power Point で各スライドに音声が吹き込めるようになり、便利に使っています。\u003c/p\u003e\n\u003cp\u003e一つ困ったことがあって、録音した声が割れてしまうことがあり困ってました。\u003c/p\u003e\n\u003cp\u003e解決策はマイクのレベルを-8.0dbかVolumeを9まで減らすと割れなくなりました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20221111150635.png\" width=\"1061\" height=\"777\" loading=\"lazy\" title=\"\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/figure\u003e\n\u003cp\u003eそれぞれコントロールパネルかWindows 10の設定から行えます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20221111150812.png\" width=\"1013\" height=\"625\" loading=\"lazy\" title=\"\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\" title=\"Device Property と入れると見つけやすいです\"\u003e\u003cspan itemscope itemtype=\"http://schema.org/Photograph\"\u003e\u003cimg src=\"/images/20221111150907.png\" width=\"827\" height=\"525\" loading=\"lazy\" title=\"\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/span\u003e\u003cfigcaption\u003eDevice Property と入れると見つけやすいです\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eなお、これらのボリュームはブラウザやTeamsなどで自動で変わってしまうため、Power Pointの録音前に確認したほうが良いです。\u003c/p\u003e\n\u003chr\u003e","title":"Power Point でプレゼンを録画する場合のマイクの調整法"},{"content":"9回目の受賞です。カテゴリは変わりなく Microsoft Azure です。\nmvp.microsoft.com\nblog を書こうと思っていることはたくさんあるんですけど、なかなか書けず。今年は更新頻度上げていければなと思います。\nまた1年よろしくお願いいたします。\n","permalink":"/entry/2022/07/06/104854/","summary":"\u003cp\u003e9回目の受賞です。カテゴリは変わりなく Microsoft Azure です。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://mvp.microsoft.com/en-us/PublicProfile/5000821\"\u003emvp.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eblog を書こうと思っていることはたくさんあるんですけど、なかなか書けず。今年は更新頻度上げていければなと思います。\u003c/p\u003e\n\u003cp\u003eまた1年よろしくお願いいたします。\u003c/p\u003e\n\u003chr\u003e","title":"2022-2023 Microsoft Most Valuable Professional (MVP) を受賞しました"},{"content":"Node.js で npm で何かするたびに以下メッセージが出て目障りでした。\nnpm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead. 軽く検索すると、 npm -g update で直るとあるが直らず。直接 npm.cmd を編集すればよいとありますが、そんなことはしたくなく。\n以下コマンドを、PowerShell を 管理者権限 で実行することで解決しました。\nSet-ExecutionPolicy Unrestricted -Scope CurrentUser -Force npm install -g npm-windows-upgrade npm-windows-upgrade ただし、注意点として、この npm-windows-upgrade のリポジトリはもうアーカイブされているので、あまり良い手段ではないかもしれません。\ngithub.com\n[追記]\nnpm を最新の 8.13.0 にしたところ、一部 npm で問題が出たので、 8.12.2 にしたところ問題が解消しました。\nnpm -v で表示されているバージョンから少しずつ上げて様子見したほうが良いかもしれません。\n","permalink":"/entry/2022/06/23/150212/","summary":"\u003cp\u003eNode.js で npm で何かするたびに以下メッセージが出て目障りでした。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003enpm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e軽く検索すると、 \u003ccode\u003enpm -g update\u003c/code\u003e で直るとあるが直らず。直接 \u003ccode\u003enpm.cmd\u003c/code\u003e を編集すればよいとありますが、そんなことはしたくなく。\u003c/p\u003e\n\u003cp\u003e以下コマンドを、PowerShell を 管理者権限 で実行することで解決しました。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eSet-ExecutionPolicy Unrestricted -Scope CurrentUser -Force\nnpm install -g npm-windows-upgrade\nnpm-windows-upgrade\n\u003c/code\u003e\u003c/pre\u003e\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20220623145355.png\" width=\"976\" height=\"442\" loading=\"lazy\" title=\"\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/figure\u003e\n\u003cp\u003eただし、注意点として、この npm-windows-upgrade のリポジトリはもうアーカイブされているので、あまり良い手段ではないかもしれません。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/felixrieseberg/npm-windows-upgrade\"\u003egithub.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e[追記]\u003c/p\u003e\n\u003cp\u003enpm を最新の 8.13.0 にしたところ、一部 npm で問題が出たので、 8.12.2 にしたところ問題が解消しました。\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003enpm -v\u003c/code\u003e で表示されているバージョンから少しずつ上げて様子見したほうが良いかもしれません。\u003c/p\u003e\n\u003chr\u003e","title":"Windows で npm WARN config global を表示させなくする方法"},{"content":"問題 AKS 上で NGINX Ingress Controller を使っていて、 v1.0.0 にアップグレードしたらサイトが404エラーになってしまった。\n404 解析 ログを見ると以下エラーが出ていた。ingress class のバリデートでエラーが出たから Ingress を無効化したらしい。\nI0927 15:01:58.774073 6 store.go:361] \u0026ldquo;Ignoring ingress because of error while validating ingress class\u0026rdquo; ingress=\u0026ldquo;mvp-staging/sitecore-ingress\u0026rdquo; error=\u0026ldquo;ingress does not contain a valid IngressClass\u0026rdquo;\nエラーログ 結構重要なログだと思うので Info じゃなくて、 Error 以上で出してほしい。。。\n原因 NGINX Ingress Controller v1.0.0 から ingressClass オブジェクト が必須となったため。\n対処 annotations に kubernetes.io/ingress.class: \u0026quot;nginx\u0026quot; を追加。\n対処例 本来であれば ingressClass オブジェクトを追加するほうが良いらしいが、ひとまずこれで動く。\n本問題とは別だが、対処例の apiVersion も networking.k8s.io/v1 とするのが適切。\nまとめ Kubernetes のバージョン以外に、NGINX Ingress Controller のバージョンアップでもこういった躓きポイントがあるのでしっかりした検証が必要と再認識した。\nプロダクション環境ではこういった部分もリリース後の確認、失敗時の切り戻し手順などを確立しておきたい。\n参考サイト github.com\nforum.linuxfoundation.org\nkubernetes.github.io\n","permalink":"/entry/2021/09/28/120928/","summary":"\u003ch1 id=\"問題\"\u003e問題\u003c/h1\u003e\n\u003cp\u003eAKS 上で NGINX Ingress Controller を使っていて、 v1.0.0 にアップグレードしたらサイトが404エラーになってしまった。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\" title=\"404\"\u003e\u003cspan itemscope itemtype=\"http://schema.org/Photograph\"\u003e\u003cimg src=\"/images/20210928114758.png\" alt=\"f:id:nnasaki:20210928114758p:plain\" width=\"319\" height=\"129\" loading=\"lazy\" title=\"\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/span\u003e\u003cfigcaption\u003e404\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch1 id=\"解析\"\u003e解析\u003c/h1\u003e\n\u003cp\u003eログを見ると以下エラーが出ていた。ingress class のバリデートでエラーが出たから Ingress を無効化したらしい。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eI0927 15:01:58.774073       6 store.go:361] \u0026ldquo;Ignoring ingress because of error while validating ingress class\u0026rdquo; ingress=\u0026ldquo;mvp-staging/sitecore-ingress\u0026rdquo; error=\u0026ldquo;ingress does not contain a valid IngressClass\u0026rdquo;\u003c/p\u003e\u003c/blockquote\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\" title=\"エラーログ\"\u003e\u003cspan itemscope itemtype=\"http://schema.org/Photograph\"\u003e\u003cimg src=\"/images/20210928115240.png\" alt=\"f:id:nnasaki:20210928115240p:plain\" width=\"1200\" height=\"199\" loading=\"lazy\" title=\"\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/span\u003e\u003cfigcaption\u003eエラーログ\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e結構重要なログだと思うので Info じゃなくて、 Error 以上で出してほしい。。。\u003c/p\u003e\n\u003ch1 id=\"原因\"\u003e原因\u003c/h1\u003e\n\u003cp\u003eNGINX Ingress Controller v1.0.0 から ingressClass オブジェクト が必須となったため。\u003c/p\u003e\n\u003ch1 id=\"対処\"\u003e対処\u003c/h1\u003e\n\u003cp\u003e\u003ccode\u003eannotations\u003c/code\u003e に \u003ccode\u003ekubernetes.io/ingress.class: \u0026quot;nginx\u0026quot;\u003c/code\u003e を追加。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\" title=\"対処例\"\u003e\u003cspan itemscope itemtype=\"http://schema.org/Photograph\"\u003e\u003cimg src=\"/images/20210928120417.png\" alt=\"f:id:nnasaki:20210928120417p:plain\" width=\"535\" height=\"298\" loading=\"lazy\" title=\"\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/span\u003e\u003cfigcaption\u003e対処例\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e本来であれば ingressClass オブジェクトを追加するほうが良いらしいが、ひとまずこれで動く。\u003c/p\u003e\n\u003cp\u003e本問題とは別だが、対処例の \u003ccode\u003eapiVersion\u003c/code\u003e も \u003ccode\u003enetworking.k8s.io/v1\u003c/code\u003e とするのが適切。\u003c/p\u003e","title":"Kubernetes NGINX Ingress Controller v1.0.0 で 404 エラーになる問題の対処"},{"content":"問題 Windows コンテナで docker-compose build で次のエラーが発生。\nエラー画面 何回か試したが解消せず。\n原因 どうやら Box が原因っぽい。\nstackoverflow.com\nC:\\windows\\system32\\driver\\cbfsconnect2017.sys を利用していると発生するっぽい。 cbfs6.sys だということもあるそうでこの辺はよくわからない。\n確認したところ確かに該当のファイルが存在していた。\ncbfsconnect2017.sys fltmc というコマンドで利用していることを確認できる。レガシーとでるのでなんとなく良くなさそうな感じはする\nファイル削除前fltmc確認結果 対処 とりあえず読み込まれないようにリネームして再起動をした\ncbfsconnect2017.sys.bakにリネーム 対処確認 再び fltmc で確認したところ読み込みはされなくなっていた。\nファイルリネーム後fltmc確認結果 docker-compose build でエラーが出ないことを確認した。\n副作用 当然ながら、 Box Drive クライアントがエラー出るようになってしまい起動できなくなる。\nまとめ Github に Issue が上がっていてまだ解決していない。\ngithub.com\nBox Drive が利用しているリネームしたドライバーは CBFS Connect というものみたいだ。このドライバーは2020年にワークアラウンドで対応したとも Issue に書いてあるが、まだ発生しているようにも思える。\nwww.callback.com\nBox Drive を利用する場合 Windows コンテナを利用するのは控えたほうが良いと言わざるを得ない。また、Box 以外にもこのドライバーを利用しているソフトはいくつかあるので、結構根が深い問題となりそう。\n","permalink":"/entry/2021/08/31/102109/","summary":"\u003ch3 id=\"問題\"\u003e問題\u003c/h3\u003e\n\u003cp\u003eWindows コンテナで \u003ccode\u003edocker-compose build\u003c/code\u003e で次のエラーが発生。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\" title=\"エラー画面\"\u003e\u003cspan itemscope itemtype=\"http://schema.org/Photograph\"\u003e\u003cimg src=\"/images/20210820181541.png\" alt=\"f:id:nnasaki:20210820181541p:plain\" width=\"865\" height=\"732\" loading=\"lazy\" title=\"\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/span\u003e\u003cfigcaption\u003eエラー画面\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e何回か試したが解消せず。\u003c/p\u003e\n\u003ch3 id=\"原因\"\u003e原因\u003c/h3\u003e\n\u003cp\u003eどうやら Box が原因っぽい。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://stackoverflow.com/questions/58986352/docker-build-fails-always-with-error-hcsshimpreparelayer-failed-failed-in-wi\"\u003estackoverflow.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eC:\\windows\\system32\\driver\\cbfsconnect2017.sys\u003c/code\u003e を利用していると発生するっぽい。 \u003ccode\u003ecbfs6.sys\u003c/code\u003e だということもあるそうでこの辺はよくわからない。\u003c/p\u003e\n\u003cp\u003e確認したところ確かに該当のファイルが存在していた。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\" title=\"cbfsconnect2017.sys\"\u003e\u003cspan itemscope itemtype=\"http://schema.org/Photograph\"\u003e\u003cimg src=\"/images/20210820182215.png\" alt=\"f:id:nnasaki:20210820182215p:plain\" width=\"806\" height=\"201\" loading=\"lazy\" title=\"\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/span\u003e\u003cfigcaption\u003ecbfsconnect2017.sys\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ccode\u003efltmc\u003c/code\u003e というコマンドで利用していることを確認できる。レガシーとでるのでなんとなく良くなさそうな感じはする\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\" title=\"ファイルリネーム前fltmc確認結果\"\u003e\u003cspan itemscope itemtype=\"http://schema.org/Photograph\"\u003e\u003cimg src=\"/images/20210820182305.png\" alt=\"f:id:nnasaki:20210820182305p:plain\" width=\"568\" height=\"280\" loading=\"lazy\" title=\"\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/span\u003e\u003cfigcaption\u003eファイル削除前fltmc確認結果\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"対処\"\u003e対処\u003c/h3\u003e\n\u003cp\u003eとりあえず読み込まれないようにリネームして再起動をした\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\" title=\"cbfsconnect2017.sys.bakにリネーム\"\u003e\u003cspan itemscope itemtype=\"http://schema.org/Photograph\"\u003e\u003cimg src=\"/images/20210820182416.png\" alt=\"f:id:nnasaki:20210820182416p:plain\" width=\"837\" height=\"174\" loading=\"lazy\" title=\"\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/span\u003e\u003cfigcaption\u003ecbfsconnect2017.sys.bakにリネーム\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"対処確認\"\u003e対処確認\u003c/h3\u003e\n\u003cp\u003e再び \u003ccode\u003efltmc\u003c/code\u003e で確認したところ読み込みはされなくなっていた。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\" title=\"ファイルリネーム後fltmc確認結果\"\u003e\u003cspan itemscope itemtype=\"http://schema.org/Photograph\"\u003e\u003cimg src=\"/images/20210820183835.png\" alt=\"f:id:nnasaki:20210820183835p:plain\" width=\"513\" height=\"236\" loading=\"lazy\" title=\"\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/span\u003e\u003cfigcaption\u003eファイルリネーム後fltmc確認結果\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ccode\u003edocker-compose build\u003c/code\u003e でエラーが出ないことを確認した。\u003c/p\u003e\n\u003ch3 id=\"副作用\"\u003e副作用\u003c/h3\u003e\n\u003cp\u003e当然ながら、 Box Drive クライアントがエラー出るようになってしまい起動できなくなる。\u003c/p\u003e\n\u003ch3 id=\"まとめ\"\u003eまとめ\u003c/h3\u003e\n\u003cp\u003eGithub に Issue が上がっていてまだ解決していない。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/docker/for-win/issues/3884\"\u003egithub.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eBox Drive が利用しているリネームしたドライバーは  CBFS Connect というものみたいだ。このドライバーは2020年にワークアラウンドで対応したとも Issue に書いてあるが、まだ発生しているようにも思える。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.callback.com/cbfsconnect/\"\u003ewww.callback.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eBox Drive を利用する場合 Windows コンテナを利用するのは控えたほうが良いと言わざるを得ない。また、Box 以外にもこのドライバーを利用しているソフトはいくつかあるので、結構根が深い問題となりそう。\u003c/p\u003e\n\u003chr\u003e","title":"Windows コンテナ の docker build 時に hcsshim::PrepareLayer - failed failed in Win32: Incorrect function. (0x1) が発生する場合の対処"},{"content":"アバナード株式会社を2021年7月に退社し、同月にサイトコア株式会社に入社しました。\nポジションはパートナーテクニカルイネーブルメントという新しいポジションで、パートナー様がサイトコア製品を扱うにあたり、技術的な部分をお手伝いすることになります。\n退職理由について 初めにアバナードを退職した理由に特にネガティブな要素は無く、単純に自分のキャリアアップです。\nアバナードには2019年7月に入社し、ちょうど2年間勤めたということになります。\n当時は初のリモート採用ということで例外的に取り扱っていただいた部分も多々あり、私のボスはもちろんのこと人事などのバックオフィスの方々には大変感謝しています。\n幸いメンバーたちにも恵まれて、楽しく仕事ができました。\n転職のきっかけ 理由は3つあります。\n1つめは、自分のキャリアを振り返ると約20年間ITに携わっていますが、自社サービス開発を作ったり売ったりという経験はあまりなく、そちらに興味がシフトしてきたという点。\n2つめは、サイトコアというと.NETで作られたCMSというイメージがありましたが、今年初めに Sitecore社、12億ドルの投資を受け成長計画を開始 というニュースがあり、買収をすすめCDPやMAなどのプロダクトが増えています。\nソフトウェアアーキテクチャも .NET だけではなく、Docker, Kubernetes, JavaScriptやコンポーザブルであったり、まさに過渡期という感じで、そのスピード感を実際に体感してみたいと思った点。\n3つめは、これは当たり前かもしれませんが、数回行った面接プロセスで対話を重ね、皆さんと一緒に働いてみたいと思ったことです。\nおわりに Azure も引き続き使いますし、Docker/Kubernetes といった近年の私がフォーカスしていた技術分野も継続していきます。仙台からリモート勤務も引き続きです。\n今後ともよろしくお願いいたします。\nなお、サイトコアではさまざまなポジションを現在募集中です。具体的にどんな会社かとか、知りたいことがあればツイッター(@nnasaki)までDMなどいただければ、個別に回答いたしますのでご連絡お待ちしています。\nwww.sitecore.com\n","permalink":"/entry/2021/08/30/073840/","summary":"\u003cp\u003eアバナード株式会社を2021年7月に退社し、同月にサイトコア株式会社に入社しました。\u003c/p\u003e\n\u003cp\u003eポジションはパートナーテクニカルイネーブルメントという新しいポジションで、パートナー様がサイトコア製品を扱うにあたり、技術的な部分をお手伝いすることになります。\u003c/p\u003e\n\u003ch3 id=\"退職理由について\"\u003e退職理由について\u003c/h3\u003e\n\u003cp\u003e初めにアバナードを退職した理由に特にネガティブな要素は無く、単純に自分のキャリアアップです。\u003c/p\u003e\n\u003cp\u003eアバナードには2019年7月に入社し、ちょうど2年間勤めたということになります。\u003c/p\u003e\n\u003cp\u003e当時は初のリモート採用ということで例外的に取り扱っていただいた部分も多々あり、私のボスはもちろんのこと人事などのバックオフィスの方々には大変感謝しています。\u003c/p\u003e\n\u003cp\u003e幸いメンバーたちにも恵まれて、楽しく仕事ができました。\u003c/p\u003e\n\u003ch3 id=\"転職のきっかけ\"\u003e転職のきっかけ\u003c/h3\u003e\n\u003cp\u003e理由は3つあります。\u003c/p\u003e\n\u003cp\u003e1つめは、自分のキャリアを振り返ると約20年間ITに携わっていますが、自社サービス開発を作ったり売ったりという経験はあまりなく、そちらに興味がシフトしてきたという点。\u003c/p\u003e\n\u003cp\u003e2つめは、サイトコアというと.NETで作られたCMSというイメージがありましたが、今年初めに \u003ca href=\"https://www.sitecore.com/ja-jp/company/news-events/press-releases/2021/01/sitecore-embarks-on-1_2b-investment-plan-to-accelerate-growth\"\u003eSitecore社、12億ドルの投資を受け成長計画を開始\u003c/a\u003e というニュースがあり、買収をすすめCDPやMAなどのプロダクトが増えています。\u003c/p\u003e\n\u003cp\u003eソフトウェアアーキテクチャも .NET だけではなく、Docker, Kubernetes, JavaScriptやコンポーザブルであったり、まさに過渡期という感じで、そのスピード感を実際に体感してみたいと思った点。\u003c/p\u003e\n\u003cp\u003e3つめは、これは当たり前かもしれませんが、数回行った面接プロセスで対話を重ね、皆さんと一緒に働いてみたいと思ったことです。\u003c/p\u003e\n\u003ch3 id=\"おわりに\"\u003eおわりに\u003c/h3\u003e\n\u003cp\u003eAzure も引き続き使いますし、Docker/Kubernetes といった近年の私がフォーカスしていた技術分野も継続していきます。仙台からリモート勤務も引き続きです。\u003c/p\u003e\n\u003cp\u003e今後ともよろしくお願いいたします。\u003c/p\u003e\n\u003cp\u003eなお、サイトコアではさまざまなポジションを現在募集中です。具体的にどんな会社かとか、知りたいことがあればツイッター(@nnasaki)までDMなどいただければ、個別に回答いたしますのでご連絡お待ちしています。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.sitecore.com/ja-jp/company/careers\"\u003ewww.sitecore.com\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"サイトコア株式会社に入社しました"},{"content":"乗り換え経緯 スプラトゥーン２をやっていると、たまに画面が止まることに気が付いて ping を継続的にとってみたところ、波があることに気が付いた。\n利用したサイトはこちら\nminsoku.net\nIPv6 の MAP-E でつないでいるんですが、通常は10ms-20msのところたまに1000ms近くまで跳ね上がることがあります。\nf:id:nnasaki:20210706102327p:plain PPPoE な別プロバイダーを契約しているので、そちらで測定したところ以下のように跳ね上がるってことはなくなりました。\nf:id:nnasaki:20210706102526p:plain 以上から、現在利用しているプロバイダーが原因だろうなぁと思い乗り換えることにしました。\nドコモ光のプロバイダー変更方法 キャッシュバックでもあるかなぁと kakaku.com あたりを探したんですがイマイチ見つからず。\nどうやら変更の場合はドコモショップに行くかドコモインフォメーションセンターに電話するしかないようです。\nwww.nttdocomo.co.jp\nドコモ光のプロバイダー変更申し込みをしてみた ドコモインフォメーションセンターに電話をしました。自動音声案内にしたがって進んでいき、オペレーターに接続します。\n日曜日の午後5時半ぐらいで、待ち時間は10分程度だったと思います。\n私の携帯はドコモなのでネットワーク暗証番号が必要でしたのであらかじめ準備しておくとよいと思います。\n乗り換えしたいプロバイダーを伝え、最短で約10日後に可能ということで申し込みをしました。\n手続きとしては以上で、後日現在利用しているプロバイダーから契約解除の意思確認があり、それで完了のようです。\n料金についても特に変更はなく、現在の請求はそのまま継続されるとのことでした。\nWeb で手続きできないのは少し不満ですが、電話一発で特に申込書などに記入せずにできるので、これはこれでまぁいいかなと思います。\n解約にあたり TODO 違約金とかあるかな\n乗り換え結果 乗り換え前プロバイダー PING（再掲） f:id:nnasaki:20210706102327p:plain 回線速度 [\nhttps://www.speedtest.net/result/11683936979.png ](https://www.speedtest.net/result/11683936979.png)\n乗り換え後プロバイダー PING（再掲） 回線速度 PPPoE プロバイダー（参考） PING（再掲） f:id:nnasaki:20210706102526p:plain 回線速度 [\nhttps://www.speedtest.net/result/11683934061.png ](https://www.speedtest.net/result/11683934061.png)\n","permalink":"/entry/2021/07/06/104015/","summary":"\u003ch2 id=\"乗り換え経緯\"\u003e乗り換え経緯\u003c/h2\u003e\n\u003cp\u003eスプラトゥーン２をやっていると、たまに画面が止まることに気が付いて ping を継続的にとってみたところ、波があることに気が付いた。\u003c/p\u003e\n\u003cp\u003e利用したサイトはこちら\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://minsoku.net/stb_check\"\u003eminsoku.net\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eIPv6 の MAP-E でつないでいるんですが、通常は10ms-20msのところたまに1000ms近くまで跳ね上がることがあります。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20210706102327.png\" alt=\"f:id:nnasaki:20210706102327p:plain\" width=\"771\" height=\"375\" loading=\"lazy\" title=\"\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20210706102327p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003ePPPoE な別プロバイダーを契約しているので、そちらで測定したところ以下のように跳ね上がるってことはなくなりました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20210706102526.png\" alt=\"f:id:nnasaki:20210706102526p:plain\" width=\"779\" height=\"386\" loading=\"lazy\" title=\"\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20210706102526p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e以上から、現在利用しているプロバイダーが原因だろうなぁと思い乗り換えることにしました。\u003c/p\u003e\n\u003ch2 id=\"ドコモ光のプロバイダー変更方法\"\u003eドコモ光のプロバイダー変更方法\u003c/h2\u003e\n\u003cp\u003eキャッシュバックでもあるかなぁと kakaku.com あたりを探したんですがイマイチ見つからず。\u003c/p\u003e\n\u003cp\u003eどうやら変更の場合はドコモショップに行くかドコモインフォメーションセンターに電話するしかないようです。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.nttdocomo.co.jp/hikari/change_provider/\"\u003ewww.nttdocomo.co.jp\u003c/a\u003e\u003c/p\u003e\n\u003ch2 id=\"ドコモ光のプロバイダー変更申し込みをしてみた\"\u003eドコモ光のプロバイダー変更申し込みをしてみた\u003c/h2\u003e\n\u003cp\u003eドコモインフォメーションセンターに電話をしました。自動音声案内にしたがって進んでいき、オペレーターに接続します。\u003c/p\u003e\n\u003cp\u003e日曜日の午後5時半ぐらいで、待ち時間は10分程度だったと思います。\u003c/p\u003e\n\u003cp\u003e私の携帯はドコモなのでネットワーク暗証番号が必要でしたのであらかじめ準備しておくとよいと思います。\u003c/p\u003e\n\u003cp\u003e乗り換えしたいプロバイダーを伝え、最短で約10日後に可能ということで申し込みをしました。\u003c/p\u003e\n\u003cp\u003e手続きとしては以上で、後日現在利用しているプロバイダーから契約解除の意思確認があり、それで完了のようです。\u003c/p\u003e\n\u003cp\u003e料金についても特に変更はなく、現在の請求はそのまま継続されるとのことでした。\u003c/p\u003e\n\u003cp\u003eWeb で手続きできないのは少し不満ですが、電話一発で特に申込書などに記入せずにできるので、これはこれでまぁいいかなと思います。\u003c/p\u003e\n\u003ch2 id=\"解約にあたり\"\u003e解約にあたり\u003c/h2\u003e\n\u003cp\u003eTODO 違約金とかあるかな\u003c/p\u003e\n\u003ch2 id=\"乗り換え結果\"\u003e乗り換え結果\u003c/h2\u003e\n\u003ch3 id=\"乗り換え前プロバイダー\"\u003e乗り換え前プロバイダー\u003c/h3\u003e\n\u003ch4 id=\"ping再掲\"\u003ePING（再掲）\u003c/h4\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20210706102327.png\" alt=\"f:id:nnasaki:20210706102327p:plain\" width=\"771\" height=\"375\" loading=\"lazy\" title=\"\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20210706102327p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch4 id=\"回線速度\"\u003e回線速度\u003c/h4\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://www.speedtest.net/result/11683936979.png\" class=\"http-image\" alt=\"https://www.speedtest.net/result/11683936979.png\"\u003e\u003cfigcaption\u003ehttps://www.speedtest.net/result/11683936979.png\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"https://www.speedtest.net/result/11683936979.png\"\u003ehttps://www.speedtest.net/result/11683936979.png\u003c/a\u003e)\u003c/p\u003e\n\u003ch3 id=\"乗り換え後プロバイダー\"\u003e乗り換え後プロバイダー\u003c/h3\u003e\n\u003ch4 id=\"ping再掲-1\"\u003ePING（再掲）\u003c/h4\u003e\n\u003ch4 id=\"回線速度-1\"\u003e回線速度\u003c/h4\u003e\n\u003ch3 id=\"pppoe-プロバイダー参考\"\u003ePPPoE プロバイダー（参考）\u003c/h3\u003e\n\u003ch4 id=\"ping再掲-2\"\u003ePING（再掲）\u003c/h4\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20210706102526.png\" alt=\"f:id:nnasaki:20210706102526p:plain\" width=\"779\" height=\"386\" loading=\"lazy\" title=\"\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20210706102526p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch4 id=\"回線速度-2\"\u003e回線速度\u003c/h4\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://www.speedtest.net/result/11683934061.png\" class=\"http-image\" alt=\"https://www.speedtest.net/result/11683934061.png\"\u003e\u003cfigcaption\u003ehttps://www.speedtest.net/result/11683934061.png\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"https://www.speedtest.net/result/11683934061.png\"\u003ehttps://www.speedtest.net/result/11683934061.png\u003c/a\u003e)\u003c/p\u003e\n\u003chr\u003e","title":"ドコモ光のプロバイダーを乗り換えた"},{"content":"今年もなんとか継続することができました。カテゴリは変わりなく Microsoft Azure です。\nmvp.microsoft.com\n8回目の受賞となります。10回目ぐらいまではなんとか頑張りたいと思っています。\nワクチン接種も落ち着いてきたらまた勉強会など開催したいなーと思っていますので、みなさんもう1年よろしくお願いいたします！\n","permalink":"/entry/2021/07/02/093019/","summary":"\u003cp\u003e今年もなんとか継続することができました。カテゴリは変わりなく Microsoft Azure です。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://mvp.microsoft.com/en-us/PublicProfile/5000821\"\u003emvp.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e8回目の受賞となります。10回目ぐらいまではなんとか頑張りたいと思っています。\u003c/p\u003e\n\u003cp\u003eワクチン接種も落ち着いてきたらまた勉強会など開催したいなーと思っていますので、みなさんもう1年よろしくお願いいたします！\u003c/p\u003e\n\u003chr\u003e","title":"2021-2022 Microsoft Most Valuable Professional (MVP) を受賞しました"},{"content":"おめでとうございます！次は日本DC開始記念かな！\nblog.azure.moe\n","permalink":"/entry/2021/02/01/114700/","summary":"\u003cp\u003eおめでとうございます！次は日本DC開始記念かな！\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://blog.azure.moe/2021/02/01/microsoft-azure-11%e5%91%a8%e5%b9%b4/\"\u003eblog.azure.moe\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"祝！Microsoft Azure 11周年！"},{"content":"エラー内容 Azure DevOps でスプリントを追加すると \u0026ldquo;TF400491: User has no team write permissions\u0026rdquo; エラーが出る。\n解決方法 ユーザーに team administrator か a project administrator の権限どちらかを付与する。\n詳細 project setting-\u0026gt;Project configuration-\u0026gt;Iterations -\u0026gt; iteration に各種権限を付与しただけだとエラーは出るがスプリントは作成できる。\nまとめ 同じ権限を与えているはずなのに、administrator 権限が無いとダメっぽい。不思議だなぁ。\n参考リンク Basic user unable to create a new sprint - Developer Community\n追記(2020/08/19 10:00 管理者がスプリント決めるべきという思想があるかも。\nこれ何か理由があったはずなんだけどなー建前的には管理者がスプリント決めるから…だったかなぁ。ここのTipのところ。https://t.co/6KXw6jhOlt https://t.co/LVFNlwGwxE— kkamegawa (@kkamegawa) August 18, 2020\n","permalink":"/entry/2020/08/18/183559/","summary":"\u003ch3 id=\"エラー内容\"\u003eエラー内容\u003c/h3\u003e\n\u003cp\u003eAzure DevOps でスプリントを追加すると \u0026ldquo;TF400491: User has no team write permissions\u0026rdquo; エラーが出る。\u003c/p\u003e\n\u003ch3 id=\"解決方法\"\u003e解決方法\u003c/h3\u003e\n\u003cp\u003eユーザーに team administrator か a project administrator の権限どちらかを付与する。\u003c/p\u003e\n\u003ch3 id=\"詳細\"\u003e詳細\u003c/h3\u003e\n\u003cp\u003eproject setting-\u0026gt;Project configuration-\u0026gt;Iterations -\u0026gt; iteration に各種権限を付与しただけだとエラーは出るがスプリントは作成できる。\u003c/p\u003e\n\u003ch3 id=\"まとめ\"\u003eまとめ\u003c/h3\u003e\n\u003cp\u003e同じ権限を与えているはずなのに、administrator 権限が無いとダメっぽい。不思議だなぁ。\u003c/p\u003e\n\u003ch3 id=\"参考リンク\"\u003e参考リンク\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://developercommunity.visualstudio.com/content/problem/809552/basic-user-unable-to-create-a-new-sprint.html\"\u003eBasic user unable to create a new sprint - Developer Community\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"追記20200819-1000\"\u003e追記(2020/08/19 10:00\u003c/h3\u003e\n\u003cp\u003e管理者がスプリント決めるべきという思想があるかも。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eこれ何か理由があったはずなんだけどなー建前的には管理者がスプリント決めるから…だったかなぁ。ここのTipのところ。\u003ca href=\"https://t.co/6KXw6jhOlt\"\u003ehttps://t.co/6KXw6jhOlt\u003c/a\u003e \u003ca href=\"https://t.co/LVFNlwGwxE\"\u003ehttps://t.co/LVFNlwGwxE\u003c/a\u003e— kkamegawa (@kkamegawa) \u003ca href=\"https://twitter.com/kkamegawa/status/1295671464583024642?ref_src=twsrc%5Etfw\"\u003eAugust 18, 2020\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003chr\u003e","title":"Azure DevOps で TF400491: User has no team write permissions エラーの解決方法"},{"content":"私の家のインターネットはドコモ光と@niftyを使っていて、v6プラスで高速に接続しています。\n固定IPアドレスが必要な状況となり、その対応に手間取ったのでメモしておきます。\n結論 ドコモ光はマルチセッション対応しているので、v6プラスのプロバイダーとは別に固定IPアドレスが使えるプロバイダーと契約する。\n説明 @niftyではv6プラスと固定IPアドレスを同時に利用できない 2020/04/19現在、v6プラスを利用しているのですが、@niftyでは固定IPアドレスが同時に利用できません。下記の申込ページにちっちゃく書いてあります。\n※固定IPサービス、@niftyフォンは同時利用できません。\ncsoption.nifty.com\nドコモ光は同時に二つまでのマルチセッション対応 マルチセッションとはなにかというと、1つの回線契約で複数のプロバイダーに同時接続ができることです。ドコモ光では2つまでの接続が同時に利用可能です。\nつまり、私の例ですとドコモ光の回線契約が一つあり、@niftyで１セッション。それに加えてもう1セッションをほかのプロバイダーで利用できます。\nこれはフレッツ光、SoftBank光も同様のようです。インターリンクの図を引用します。\nマルチセッションを使い複数ID（固定IP）で同時に接続する方法 | インターリンク より引用 設定手順 固定IPアドレスに対応したプロバイダーと契約する 今回は インターリンクのマイIP を申し込みました。理由は申し込み後すぐに利用可能で2か月間お試しができたから。利用料金も月額1,100円で安いと感じました。\nもしうまくいかなくても無料期間で解約すればいいだけなので、かなり手軽に利用できると思います。\n宣伝の通り、クレジットカードで申し込み後すぐに接続IDとパスワードがメールが届いて利用可能でした。かなり自動化されていますね。プロバイダーの申込というと郵送で送られてくるという固定観念があったので、時代は変わっているなぁと思いました。\nルーターを設定する @niftyとインターリンクを同時接続するように設定を変更します。 Synology RT2600ac というルーターを利用していてマルチセッションに対応しています。その設定例を載せておきますので参考にしてください。RT2600acからONUまではハブを利用して、WANとLAN1ポートをつなげる必要があります。\n[\nSynology 高機能無線ルーター 800Mbps + 1,733Mbps(11a/b/g/n/ac対応) 高セキュリティ VPN Plus対応 RT2600ac ](https://www.amazon.co.jp/exec/obidos/ASIN/B073TTZTK3/nnasaki-22/)[Synology 高機能無線ルーター 800Mbps + 1,733Mbps(11a/b/g/n/ac対応) 高セキュリティ VPN Plus対応 RT2600ac](https://www.amazon.co.jp/exec/obidos/ASIN/B073TTZTK3/nnasaki-22/)- 発売日: 2017/07/21- メディア: Personal Computers\n第一インターフェースに@niftyのv6プラス、第二インターフェースにインターリンクのPPPoEを設定 フェイルオーバーでバックアップ側をインターリンクにする。 インターリンクの固定IPを使いたいPCをポリシールートのソースIPに加える。ディスティネーションIPは空白のまま 今回は特定のPCのみ利用したかったので、ソースIPを一つとしています。サブネットマスクで複数台指定することも可能です。\nハマりポイントはディスティネーションIPで通信先はすべてを対象としたかったので、「0.0.0.0/0」を指定しようとしたらバリデーションエラーで登録できませんでした。試行錯誤した結果なにも入れないが正解で、何も入れていなければ「0.0.0.0/0」と識別されるようです。\nフェイルオーバー設定でもバックアップの接続が維持されているので、@niftyとインターリンクの両方で通信できることを確認しました。\n動作を確認する 確認くんなどでIPアドレスが固定化されているか確認します。\nまとめ 月額1100円で固定IPアドレスが取得できるのは非常にメリットだと思いました。接続速度も私の地域は高速な部類に入ると思います。\n冒頭でも書いた通り、うまくいかなかったら解約すれば無料なので、お気軽に試せると思います。\n","permalink":"/entry/2020/04/19/214338/","summary":"\u003cp\u003e私の家のインターネットはドコモ光と@niftyを使っていて、v6プラスで高速に接続しています。\u003c/p\u003e\n\u003cp\u003e固定IPアドレスが必要な状況となり、その対応に手間取ったのでメモしておきます。\u003c/p\u003e\n\u003ch3 id=\"結論\"\u003e結論\u003c/h3\u003e\n\u003cp\u003eドコモ光はマルチセッション対応しているので、v6プラスのプロバイダーとは別に固定IPアドレスが使えるプロバイダーと契約する。\u003c/p\u003e\n\u003ch3 id=\"説明\"\u003e説明\u003c/h3\u003e\n\u003ch4 id=\"niftyではv6プラスと固定ipアドレスを同時に利用できない\"\u003e@niftyではv6プラスと固定IPアドレスを同時に利用できない\u003c/h4\u003e\n\u003cp\u003e2020/04/19現在、v6プラスを利用しているのですが、@niftyでは固定IPアドレスが同時に利用できません。下記の申込ページにちっちゃく書いてあります。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e※固定IPサービス、@niftyフォンは同時利用できません。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e\u003ca href=\"https://csoption.nifty.com/ipv6service/\"\u003ecsoption.nifty.com\u003c/a\u003e\u003c/p\u003e\n\u003ch4 id=\"ドコモ光は同時に二つまでのマルチセッション対応\"\u003eドコモ光は同時に二つまでのマルチセッション対応\u003c/h4\u003e\n\u003cp\u003eマルチセッションとはなにかというと、1つの回線契約で複数のプロバイダーに同時接続ができることです。ドコモ光では2つまでの接続が同時に利用可能です。\u003c/p\u003e\n\u003cp\u003eつまり、私の例ですとドコモ光の回線契約が一つあり、@niftyで１セッション。それに加えてもう1セッションをほかのプロバイダーで利用できます。\u003c/p\u003e\n\u003cp\u003eこれはフレッツ光、SoftBank光も同様のようです。インターリンクの図を引用します。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\" title=\"[マルチセッションを使い複数ID（固定IP）で同時に接続する方法 | インターリンク](https://www.interlink.or.jp/service/flets/multisession.html) より引用\"\u003e\u003cspan itemscope itemtype=\"http://schema.org/Photograph\"\u003e\u003cimg src=\"/images/20200417153413.png\" alt=\"f:id:nnasaki:20200417153413p:plain\" title=\"f:id:nnasaki:20200417153413p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/span\u003e\u003cfigcaption\u003e\u003ca href=\"https://www.interlink.or.jp/service/flets/multisession.html\"\u003eマルチセッションを使い複数ID（固定IP）で同時に接続する方法 | インターリンク\u003c/a\u003e より引用\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"設定手順\"\u003e設定手順\u003c/h3\u003e\n\u003ch4 id=\"固定ipアドレスに対応したプロバイダーと契約する\"\u003e固定IPアドレスに対応したプロバイダーと契約する\u003c/h4\u003e\n\u003cp\u003e今回は \u003ca href=\"https://www.interlink.or.jp/service/myip/join.html\"\u003eインターリンクのマイIP\u003c/a\u003e を申し込みました。理由は申し込み後すぐに利用可能で2か月間お試しができたから。利用料金も月額1,100円で安いと感じました。\u003c/p\u003e\n\u003cp\u003eもしうまくいかなくても無料期間で解約すればいいだけなので、かなり手軽に利用できると思います。\u003c/p\u003e\n\u003cp\u003e宣伝の通り、クレジットカードで申し込み後すぐに接続IDとパスワードがメールが届いて利用可能でした。かなり自動化されていますね。プロバイダーの申込というと郵送で送られてくるという固定観念があったので、時代は変わっているなぁと思いました。\u003c/p\u003e\n\u003ch4 id=\"ルーターを設定する\"\u003eルーターを設定する\u003c/h4\u003e\n\u003cp\u003e@niftyとインターリンクを同時接続するように設定を変更します。 Synology RT2600ac というルーターを利用していてマルチセッションに対応しています。その設定例を載せておきますので参考にしてください。RT2600acからONUまではハブを利用して、WANとLAN1ポートをつなげる必要があります。\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://m.media-amazon.com/images/I/41FEa7oYw3L._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"Synology 高機能無線ルーター 800Mbps + 1,733Mbps(11a/b/g/n/ac対応) 高セキュリティ VPN Plus対応 RT2600ac\" title=\"Synology 高機能無線ルーター 800Mbps + 1,733Mbps(11a/b/g/n/ac対応) 高セキュリティ VPN Plus対応 RT2600ac\"\u003e\u003cfigcaption\u003eSynology 高機能無線ルーター 800Mbps + 1,733Mbps(11a/b/g/n/ac対応) 高セキュリティ VPN Plus対応 RT2600ac\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"https://www.amazon.co.jp/exec/obidos/ASIN/B073TTZTK3/nnasaki-22/)%5BSynology\"\u003ehttps://www.amazon.co.jp/exec/obidos/ASIN/B073TTZTK3/nnasaki-22/)[Synology\u003c/a\u003e 高機能無線ルーター 800Mbps + 1,733Mbps(11a/b/g/n/ac対応) 高セキュリティ VPN Plus対応 RT2600ac](\u003ca href=\"https://www.amazon.co.jp/exec/obidos/ASIN/B073TTZTK3/nnasaki-22/)-\"\u003ehttps://www.amazon.co.jp/exec/obidos/ASIN/B073TTZTK3/nnasaki-22/)-\u003c/a\u003e 発売日: 2017/07/21- メディア: Personal Computers\u003c/p\u003e","title":"ドコモ光でv6プラス IPoE接続と固定IPアドレスを同時に利用する方法"},{"content":"やりたかったこと 軽い気持ちで Power BI から Azure SQL Database に接続したかった。\nPower BI の設定 発生した問題 テナントID が 00000\u0026hellip; という謎のエラーで認証が通らなかった。\nエラー画面 AADSTS900021: Requested tenant identifier \u0026lsquo;00000000-0000-0000-0000-000000000000\u0026rsquo; is not valid. Tenant identifiers may not be an empty GUID.\n解決方法 Azure SQL Database に Active Directory 管理者 を設定する。\nSQL Database サーバーの Active Directory 管理者 から 管理者の設定 を選択 管理者を選択する 管理者を確認して保存 参考サイト エラー番号でググったらこのサイトに当たりました。ありがとう。\nwww.mathdax.ca\n","permalink":"/entry/2020/02/28/073000/","summary":"\u003ch3 id=\"やりたかったこと\"\u003eやりたかったこと\u003c/h3\u003e\n\u003cp\u003e軽い気持ちで Power BI から Azure SQL Database に接続したかった。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\" title=\"Power BI の設定\"\u003e\u003cspan itemscope itemtype=\"http://schema.org/Photograph\"\u003e\u003cimg src=\"/images/20200228005155.png\" alt=\"f:id:nnasaki:20200228005155p:plain\" title=\"f:id:nnasaki:20200228005155p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/span\u003e\u003cfigcaption\u003ePower BI の設定\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"発生した問題\"\u003e発生した問題\u003c/h3\u003e\n\u003cp\u003eテナントID が 00000\u0026hellip; という謎のエラーで認証が通らなかった。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\" title=\"エラー画面\"\u003e\u003cspan itemscope itemtype=\"http://schema.org/Photograph\"\u003e\u003cimg src=\"/images/20200228004845.png\" alt=\"f:id:nnasaki:20200228004845p:plain\" title=\"f:id:nnasaki:20200228004845p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/span\u003e\u003cfigcaption\u003eエラー画面\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cblockquote\u003e\n\u003cp\u003eAADSTS900021: Requested tenant identifier \u0026lsquo;00000000-0000-0000-0000-000000000000\u0026rsquo; is not valid. Tenant identifiers may not be an empty GUID.\u003c/p\u003e\u003c/blockquote\u003e\n\u003ch3 id=\"解決方法\"\u003e解決方法\u003c/h3\u003e\n\u003cp\u003eAzure SQL Database に Active Directory 管理者 を設定する。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\" title=\"SQL Database サーバーの Active Directory 管理者 から 管理者の設定 を選択\"\u003e\u003cspan itemscope itemtype=\"http://schema.org/Photograph\"\u003e\u003cimg src=\"/images/20200228005650.png\" alt=\"f:id:nnasaki:20200228005650p:plain\" title=\"f:id:nnasaki:20200228005650p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/span\u003e\u003cfigcaption\u003eSQL Database サーバーの Active Directory 管理者 から 管理者の設定 を選択\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\" title=\"管理者を選択する\"\u003e\u003cspan itemscope itemtype=\"http://schema.org/Photograph\"\u003e\u003cimg src=\"/images/20200228005907.png\" alt=\"f:id:nnasaki:20200228005907p:plain\" title=\"f:id:nnasaki:20200228005907p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/span\u003e\u003cfigcaption\u003e管理者を選択する\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\" title=\"管理者を確認して保存\"\u003e\u003cspan itemscope itemtype=\"http://schema.org/Photograph\"\u003e\u003cimg src=\"/images/20200228010335.png\" alt=\"f:id:nnasaki:20200228010335p:plain\" title=\"f:id:nnasaki:20200228010335p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/span\u003e\u003cfigcaption\u003e管理者を確認して保存\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"参考サイト\"\u003e参考サイト\u003c/h3\u003e\n\u003cp\u003eエラー番号でググったらこのサイトに当たりました。ありがとう。\u003c/p\u003e","title":"Power BI データセット から Azure SQL Database に AADSTS900021 エラーでつながらなかったときの対処"},{"content":"2020/2/19 更新 Azure にて Virtual Network NAT というサービスがパブリックプレビューになり、AWS や GCP と同等の構成を行うことが可能になりました。\nAzure では Virtual Network NAT を使うという選択肢が増えたとお考え下さい。\ndocs.microsoft.com\nこの記事は Azure Advent Calendar 2019 の 11 日目です。 qiita.com\nMicrosoft Azure では Private IP から Public IP への通信は基本的に自動で NAT 変換が行われます。 Microsoft のドキュメントでは NAT ではなく、 SNAT と明記されることが多いようです。\nSNAT とは？ Source NAT, 送信元 NAT と呼ばれます。\n**SNATとは、2つのTCP/IPネットワークの境界にある機器が双方のIPアドレスを自動的に変換するNAT（Network Address Translation）のうち、送信元アドレスを書き換える方式。\n(中略)\nSNATは組織内のLANなどでプライベートアドレス（ローカルアドレス）しか持たないパソコンなどが、ネットワーク境界の機器が持つグローバルアドレス（インターネット上のアドレス）を使って外部と通信するためによく用いられる。\nSNAT（ソースNAT）とは - IT用語辞典 e-Words より引用\n具体的な例では Public IP を持たない VM がインターネットにアクセスしようとするときに SNAT 変換が行われます。\nAWS, GCP, Azure で SNAT できる構成はどんなの？ 私が調べた限りですと、 Azure だけちょっと特殊に見えました。それぞれ具体的に見ていきましょう。\nAWS VPC を使用して、 Public IP を持たない EC2 インスタンスがインターネットにアクセスするためには、 NAT Instance と呼ばれる EC2 を別途作成するか、またはマネージドな NAT Gateway を使用します。\n2019年12月現在、 NAT Instance を積極的に採用する理由はあまりなさそうに思えたので、 NAT Gateway を利用した場合のイメージを作成しました。正確に書くと Router が入るようですが、説明を簡素化するため省略しました。\nAWS の図 このとき、NAT Gateway と Elastic IP が課金**されます。\nGCP GCP の場合も AWS とほぼ同様に見受けられました。\nGCPの図 (Cloud NAT | Cloud NAT | Google Cloud より引用) こちらの情報が大変参考になりました。\nblog.jicoman.info\n料金は AWS とほぼ同様のようです。\nNAT ゲートウェイの 1 時間あたりの料金（NAT ゲートウェイにつき 1 時間あ- たり $0.045 から） ゲートウェイによって処理された上りトラフィックと下りトラフィックの 1 GB あたりの料金 VM からトラフィックをネットワーク外に送信するための下り料金は変更なし cloud.google.com\nAzure Azure の場合は NAT Gateway を用意しなくても SNAT 変換されます。\n公式ドキュメント のシナリオ３相当になるのですが、宇田さんの記事がよりわかりやすいです。\nwww.syuheiuda.com\n以下のように Azure の NAT は3種類のパターンに分かれます。\nVM に Public IP がある場合: VM (NIC) に紐づいた Public IP で SNAT VM に Public IP がなく、外部 LB に紐づいている場合: LB の Public IP で SNAT VM に Public IP も外部 LB にも紐づいていない場合: 当該リージョンの任意の Public IP で SNAT Azure の SNAT は3種類 Azure VM の SNAT の話 – Made in container より引用 Azure の良い特徴でもあり、悪いところかもしれません。ほかのクラウドを使っていた人からするとちょっと戸惑うと思います。\n明示的に SNAT Gateway のような機能を用意しなくても暗黙的に SNAT がされます。料金はかかりません。\n他のクラウドのように SNAT Gateway のようなものを作りたければ、先の2のパターンになり、外部 LB が NAT Gateway 兼 Load Balancer のように動作します。\nSNAT 変換ができなくなると何が起こる？ SNAT ができる数は限られていまして、枯渇すると単純に通信ができなくなります。数年前の自宅用ルーターではわりとよく起きていたと思います。\nクラウドにおいても、当然利用できるポートは限られています。\nAWS NAT ゲートウェイ - Amazon Virtual Private Cloud NAT ゲートウェイは送信先別に最大 55,000 の同時接続をサポートできます。\nGCP Quotas | Cloud NAT | Google Cloud For Cloud NAT, this limit is reduced to a total of 64k connections per VM for all supported protocols combined.\nVM ごとに 64k に制限されるというように読み取れます Azure 外部 LBを立てた場合です。\nアウトバウンド規則 - Azure Load Balancer | Microsoft Docs フロントエンドのパブリック IP アドレスごとに、SNAT ポートとして使用する最大 64,000 個のエフェメラル ポートが提供されます。\nただし、初期設定では最初の 50 VM インスタンスは 1024 ポート、51 から 100 の VM インスタンスは、512 ポートのみ使えるようになっています。1 VM に 10,000 ポートを割り当てたい場合は手動構成が必要。 詳細はこちら Azure の Outbound connections - Azure Load Balancer | Microsoft Docs\nSNAT をうまくやりくりするには？ アプリ上でプログラミングを工夫することで SNAT の消費を避けることができます。以前書いた記事を参照してください。\nblog.nnasaki.com\nしかしながら、個人的に懸念しているのは、昨今のアプリはコンテナ化により 1 VM 上で動作する個々のアプリは増加しており、それぞれのアプリは独立したコンテナ上で動いているため、使用する SNAT 数は爆発的に増えていると考えています。つまり、各コンテナ間で SNAT を共有するプールのような仕組みは無いため、 マイクロサービスのように Public IP で外部サービスを多数利用する場合、 SNAT の枯渇はかなり起きやすい問題では？ と考えています。\nまだ自分の中での仮説にすぎないので、今後この問題に直面した時に、なんらかの解があればまたブログなどにしたいと思います。\n今回は Azure だけでなく、AWS と GCP も加えましたので、皆さんの参考になれば幸いです。\n","permalink":"/entry/2019/12/11/073558/","summary":"\u003ch3 id=\"2020219-更新\"\u003e2020/2/19 更新\u003c/h3\u003e\n\u003cp\u003eAzure にて Virtual Network NAT というサービスがパブリックプレビューになり、AWS や GCP と同等の構成を行うことが可能になりました。\u003c/p\u003e\n\u003cp\u003eAzure では Virtual Network NAT を使うという選択肢が増えたとお考え下さい。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://docs.microsoft.com/en-us/azure/virtual-network/nat-overview\"\u003edocs.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eこの記事は Azure Advent Calendar 2019 の 11 日目です。\n\u003ca href=\"https://qiita.com/advent-calendar/2019/azure\"\u003eqiita.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eMicrosoft Azure では Private IP から Public IP への通信は基本的に自動で NAT 変換が行われます。 Microsoft のドキュメントでは NAT ではなく、 SNAT と明記されることが多いようです。\u003c/p\u003e\n\u003ch3 id=\"snat-とは\"\u003eSNAT とは？\u003c/h3\u003e\n\u003cp\u003eSource NAT, 送信元 NAT と呼ばれます。\u003c/p\u003e\n\u003cp\u003e**SNATとは、2つのTCP/IPネットワークの境界にある機器が双方のIPアドレスを自動的に変換するNAT（Network Address Translation）のうち、送信元アドレスを書き換える方式。\u003c/p\u003e\n\u003cp\u003e(中略)\u003c/p\u003e\n\u003cp\u003eSNATは組織内のLANなどでプライベートアドレス（ローカルアドレス）しか持たないパソコンなどが、ネットワーク境界の機器が持つグローバルアドレス（インターネット上のアドレス）を使って外部と通信するためによく用いられる。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://e-words.jp/w/SNAT.html\"\u003eSNAT（ソースNAT）とは - IT用語辞典 e-Words\u003c/a\u003e より引用\u003c/p\u003e\n\u003cp\u003e具体的な例では Public IP を持たない VM がインターネットにアクセスしようとするときに SNAT 変換が行われます。\u003c/p\u003e\n\u003ch3 id=\"aws-gcp-azure-で-snat-できる構成はどんなの\"\u003eAWS, GCP, Azure で SNAT できる構成はどんなの？\u003c/h3\u003e\n\u003cp\u003e私が調べた限りですと、 Azure だけちょっと特殊に見えました。それぞれ具体的に見ていきましょう。\u003c/p\u003e","title":"Microsoft Azure の NAT について AWS と GCP と比較"},{"content":".NET において REST API を呼び出す際、多くの方が HttpClient を使用すると思いますが、その時の注意点が帝国兵さんの Qiita で書かれています。\nqiita.com\nこの記事に書いてある通りで、 HTTP Client インスタンスをいちいち破棄して作成を繰り返していると、CLOSE_WAIT または TIME_WAIT 状態の SNAT ポートが増えてしまい、ポートが枯渇して通信ができなくなります。\n具体的には hping3 で繰り返しリクエストを行っているのと同じ状態であると思います。 hping3 の使い方の具体例は宇田さんのサイトをご覧ください。\nwww.syuheiuda.com\nさて、 private static readonly HttpClient HttpClient; を使うのも良いと思いますが、 .NET Core 2.1 以降 であれば HttpClientFactory を使うほうが良いと思います。\nHttpClientFactory とは docs.microsoft.com\nHttpClientFactory は、自己主張性の強いファクトリで、アプリケーションに使用する HttpClient インスタンスを作成するため、.NET Core 2.1 以降で使用できます。\nいやいや、この説明だけじゃなんのことかさっぱりわからんですよね。\nHttpClientFactory は名前の通り、先の HttpClient のファクトリーでより使いやすくなってます。\nHttpClientFactory のメリット 仕組みは色々とあるのですが、利用者として特に2点が有用だと思いました。\nASP.NET Core アプリケーションなどに DI できる ポリシーを利用してリトライ回数や待ち時間を調整できる 1. ASP.NET Core アプリケーションなどに DI できる ASP.NET Core アプリケーションに DI して利用する方法はこちらを参照。\ndocs.microsoft.com\nサンプルコードを引用します。\nStartup.ConfigureServices で IServiceCollection に登録します。\nservices.AddHttpClient(); DI が利用できる箇所で、IHttpClientFactory を使用して、HttpClient インスタンスが取得できます。サンプルコードでは Model で行ってますが、Service や Controller でも可能でしょう。\npublic class BasicUsageModel : PageModel { private readonly IHttpClientFactory _clientFactory; public IEnumerable\u0026lt;GitHubBranch\u0026gt; Branches { get; private set; } public bool GetBranchesError { get; private set; } public BasicUsageModel(IHttpClientFactory clientFactory) { _clientFactory = clientFactory; } public async Task OnGet() { var request = new HttpRequestMessage(HttpMethod.Get, \u0026#34;https://api.github.com/repos/aspnet/AspNetCore.Docs/branches\u0026#34;); request.Headers.Add(\u0026#34;Accept\u0026#34;, \u0026#34;application/vnd.github.v3+json\u0026#34;); request.Headers.Add(\u0026#34;User-Agent\u0026#34;, \u0026#34;HttpClientFactory-Sample\u0026#34;); var client = _clientFactory.CreateClient(); var response = await client.SendAsync(request); if (response.IsSuccessStatusCode) { Branches = await response.Content .ReadAsAsync\u0026lt;IEnumerable\u0026lt;GitHubBranch\u0026gt;\u0026gt;(); } else { GetBranchesError = true; Branches = Array.Empty\u0026lt;GitHubBranch\u0026gt;(); } } } 2. ポリシーを利用してリトライ回数や待ち時間を調整できる REST API を呼び出すと、相手先のサーバーがたまたま調子悪くて、5秒後に呼び出したらうまくいく。といった経験がある人も多いかと思います。\n今までは、try catch で wait を自分で入れたりしてましたが、それらをあらかじめ設定することができます。\n例えば、1回目失敗したら3秒後に再実施、以降5秒後、10秒後、30秒後と繰り返し最終的にエラーを返す。といったらことが可能になります。詳細はこちらをご確認ください。\ndocs.microsoft.com\nSDK から HttpClientを使う場合 自分で HttpClient を使わず、SDK などから REST API を呼び出すということも多々あると思います。例えば自前の Web アプリから Azure Active Directory を利用して認証を行うなどです。AzureAD/azure-activedirectory-library-for-dotnet: ADAL authentication libraries for .net の場合、Wiki の Providing an HttpClient に IHttpClientFactory をコンストラクタで渡す例が書いてありました。\nIHttpClientFactory myHttpClientFactory = new MyHttpClientFactory(); AuthenticationContext authenticationContext = new AuthenticationContext( authority: \u0026#34;https://login.microsoftonline.com/common\u0026#34;, validateAuthority: true, tokenCache: \u0026lt;some token cache\u0026gt;, httpClientFactory: myHttpClientFactory); こうすることで HttpClient を自分のアプリケーションと SDK で共有できるので、より効率的に SNAT を利用できることができます。\nまとめ .NET Core 2.1 以降 であれば HttpClient を直接使うより、 HttpClientFactory を利用したほうがよりメリットを享受できると感じました。\n帝国兵さんの Qiita 記事には SNAT の話があったので、そちらも後日 blog にまとめたいと思いました。 → 書きました。\nblog.nnasaki.com\n2019/10/05 追記 HttpClientFactory の実装について id:nishikawa_sh さんのコメントをいただいて、ソースを追いかけてみました。\nまず、https://github.com/aspnet/Extensions/blob/release/2.2/src/HttpClientFactory/Http/src/DefaultHttpClientFactory.cs#L125 に注目するとコンストラクタの引数が２つあります。\nvar client = new HttpClient(handler, disposeHandler: false); これはHttpClient Constructor (System.Net.Http) | Microsoft Docsにこう書いてあります。\n提供されたハンドラーを使用して、HttpClient クラスの新しいインスタンスを初期化し、このインスタンスが破棄されるときにそのハンドラーを破棄するかどうかを指定します。\nしたがって、第一パラメーターの HttpMessageHandler を渡しますが、ハンドラーは残ったままとなります。\nじゃぁ、ハンドラーはどうやって作っているかというと、先のソースの一行上 CreateHandler() で作っており、 _activeHandlers フィールドで管理しています。これは、コレクションになっていて要素はタイマーを使って消しているようでなかなか凝った実装をしているようです。\nおそらくこの _activeHandlers がPoolされている図の部分ですね。\nHttpClientFactory を使用して回復力の高い HTTP 要求を実装する | Microsoft Docs より引用 さて、Poolされている HttpMessageHandler はどうなっているかというと、abstract class で実態は .NET Framework および .NET Core 2.0 以前 と .NET Core 2.1 以降 で異なっていました。\n.NET Framework および .NET Core 2.0 以前 継承 Object -\u0026gt; HttpMessageHandler -\u0026gt; HttpClientHandler\nHttpClientHandler Class (System.Net.Http) | Microsoft Docs\n.NET Core 2.1 以降\n継承 Object -\u0026gt; HttpMessageHandler -\u0026gt; SocketsHttpHandler\nSocketsHttpHandler Class (System.Net.Http) | Microsoft Docs この実装の違いは HttpClient Class (System.Net.Http) | Microsoft Docs に SocketsHttpHandler を利用するメリットが書いてありました。\n以前の実装と比較して、パフォーマンスが大幅に向上しています。 プラットフォームの依存関係を削除することで、デプロイとサービスが簡単になります。 たとえば、はlibcurl 、macOS 用の .net core と Linux 用の .net core に依存しなくなりました。 すべての .NET プラットフォームでの一貫した動作。 結論として、 .NET Core 2.1 以降 は HttpClientFactory の利便性だけでなく、パフォーマンスも改善しているようだということがわかりました。\nCOMMENT: AUTHOR: nishikawa_sh DATE: 10/04/2019 18:29:30 何ヶ月か前に気になって実装を調べてみたところ、CreateClientするたびにHttpClientをnewしている・・・ https://github.com/aspnet/Extensions/blob/release/2.2/src/HttpClientFactory/Http/src/DefaultHttpClientFactory.cs#L125\nどういうことだと思ったのですが、実際にソケット接続を司っているのはHttpMessageHandlerで、HttpClientFactoryはそのHandlerを再利用するように作られていました。 https://github.com/aspnet/Extensions/blob/release/2.2/src/HttpClientFactory/Http/src/DefaultHttpClientFactory.cs#L136\nそして良くドキュメントを読むとHandlerがPoolされている図が書いてありました。 https://docs.microsoft.com/ja-jp/dotnet/architecture/microservices/implement-resilient-applications/use-httpclientfactory-to-implement-resilient-http-requests#how-to-use-typed-clients-with-httpclientfactory\n実装を見て不思議な気持ちになったのを誰かに伝えたくてコメントしてしまいました。 COMMENT: AUTHOR: nnasaki DATE: 10/05/2019 07:46:58 id:nishikawa_sh さん\n素晴らしいコメントありがとうございます！ソースまで追いかけていなかったので私も気づいていなかったです。いただいたコメントの通りです。\n私もちょっとソースを追いかけてみましたので共有させてください。\nまず、https://github.com/aspnet/Extensions/blob/release/2.2/src/HttpClientFactory/Http/src/DefaultHttpClientFactory.cs#L125 に注目するとコンストラクタの引数が２つあります。\nvar client = new HttpClient(handler, disposeHandler: false); これはHttpClient Constructor (System.Net.Http) | Microsoft Docsにこう書いてあります。\n提供されたハンドラーを使用して、HttpClient クラスの新しいインスタンスを初期化し、このインスタンスが破棄されるときにそのハンドラーを破棄するかどうかを指定します。\nしたがって、第一パラメーターの HttpMessageHandler を渡しますが、ハンドラーは残ったままとなります。\nじゃぁ、ハンドラーはどうやって作っているかというと、コメントの通り先のソースの一行上 CreateHandler() で作っており、 _activeHandlers フィールドで管理しています。これは、コレクションになっていて要素はタイマーを使って消しているようでなかなか凝った実装をしているようです。\nおそらくこの _activeHandlers がPoolされている図の部分ですね。\nさて、Poolされている HttpMessageHandler はどうなっているかというと、abstract class で実態は .NET Framework および .NET Core 2.0 以前 と .NET Core 2.1 以降 で異なっていました。\n.NET Framework および .NET Core 2.0 以前 継承 Object -\u0026gt; HttpMessageHandler -\u0026gt; HttpClientHandler HttpClientHandler Class (System.Net.Http) | Microsoft Docs .NET Core 2.1 以降 継承 Object -\u0026gt; HttpMessageHandler -\u0026gt; SocketsHttpHandler SocketsHttpHandler Class (System.Net.Http) | Microsoft Docs この実装の違いは HttpClient Class (System.Net.Http) | Microsoft Docs に SocketsHttpHandler を利用するメリットが書いてありました。\n以前の実装と比較して、パフォーマンスが大幅に向上しています。 プラットフォームの依存関係を削除することで、デプロイとサービスが簡単になります。 たとえば、はlibcurl 、macOS 用の .net core と Linux 用の .net core に依存しなくなりました。 すべての .NET プラットフォームでの一貫した動作。 結論として、 .NET Core 2.1 以降 は HttpClientFactory の利便性だけでなく、パフォーマンスも改善しているようだということがわかりました。\n私も勉強になりました。良いコメントありがとうございました。 COMMENT: AUTHOR: nnasaki DATE: 10/05/2019 07:52:36 コメントかなり見づらかったので記事に追記しました。 ","permalink":"/entry/2019/10/04/143936/","summary":"\u003cp\u003e.NET において REST API を呼び出す際、多くの方が HttpClient を使用すると思いますが、その時の注意点が帝国兵さんの Qiita で書かれています。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://qiita.com/superriver/items/91781bca04a76aec7dc0\"\u003eqiita.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eこの記事に書いてある通りで、 HTTP Client インスタンスをいちいち破棄して作成を繰り返していると、CLOSE_WAIT または TIME_WAIT 状態の SNAT ポートが増えてしまい、ポートが枯渇して通信ができなくなります。\u003c/p\u003e\n\u003cp\u003e具体的には hping3 で繰り返しリクエストを行っているのと同じ状態であると思います。 hping3 の使い方の具体例は宇田さんのサイトをご覧ください。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.syuheiuda.com/?p=5074\"\u003ewww.syuheiuda.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eさて、 \u003ccode\u003eprivate static readonly HttpClient HttpClient;\u003c/code\u003e を使うのも良いと思いますが、 \u003cstrong\u003e.NET Core 2.1 以降 であれば HttpClientFactory を使うほうが良いと思います。\u003c/strong\u003e\u003c/p\u003e\n\u003ch3 id=\"httpclientfactory-とは\"\u003eHttpClientFactory とは\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://docs.microsoft.com/ja-jp/dotnet/architecture/microservices/implement-resilient-applications/use-httpclientfactory-to-implement-resilient-http-requests\"\u003edocs.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHttpClientFactory は、自己主張性の強いファクトリで、アプリケーションに使用する HttpClient インスタンスを作成するため、.NET Core 2.1 以降で使用できます。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eいやいや、この説明だけじゃなんのことかさっぱりわからんですよね。\u003c/p\u003e\n\u003cp\u003eHttpClientFactory は名前の通り、先の HttpClient のファクトリーでより使いやすくなってます。\u003c/p\u003e\n\u003ch3 id=\"httpclientfactory-のメリット\"\u003eHttpClientFactory のメリット\u003c/h3\u003e\n\u003cp\u003e仕組みは色々とあるのですが、利用者として特に2点が有用だと思いました。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eASP.NET Core アプリケーションなどに DI できる\u003c/li\u003e\n\u003cli\u003eポリシーを利用してリトライ回数や待ち時間を調整できる\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"1-aspnet-core-アプリケーションなどに-di-できる\"\u003e1. ASP.NET Core アプリケーションなどに DI できる\u003c/h4\u003e\n\u003cp\u003eASP.NET Core アプリケーションに DI して利用する方法はこちらを参照。\u003c/p\u003e","title":"HttpClient よりも HttpClientFactory を利用したほうが良いかも"},{"content":"Cloud Run が発表されました。\ncloud.google.com\ncloud.google.com\n特徴 大きな特徴はKNativeベースのサービスです。 ローカルでテストすることも可能ですし、Serverless 環境を GCP があらかじめ用意してくれているので実行が楽です。 また、 GKE 上で実行することが出来るので、 GKE をすでに使用している場合、リソースを効率的に活用できることが期待できます。\nQuick Start をやってみる cloud.google.com\nQuick Start を3つあるうち、Quickstart: Deploy a Prebuilt Sample Container と Quickstart: Build and Deploy の2つ試してみました。3つめの Quickstart: Deploy to Cloud Run on GKE は GKE 上で動かすのですが、現在 GKE のクラスタを持っていないため省略しました。\nQuickstart: Deploy a Prebuilt Sample Container すでに用意されているコンテナを動かします。\n特に問題なくするするっと出来ました。一点だけ Check Allow unauthenticated invocations の部分はなぜかチェックできなく、一旦ログアウトしてもう一度ログインしたところチェックできるようになりました。 Allow unauthenticated invocations をチェックしないとブラウザでの確認が困難なので注意が必要です。\n初回デプロイは数分かかりましたが、2回目以降は数秒でデプロイが終わり立ち上がりも早く、実用的に感じました。\nブラウザでの実行結果 リージョンは日本に無いようですが、レスポンスタイムもそれほど気にならない (1秒程度) なので、ちょっとしたサービスを立ち上げるのならまったく問題ないかと思いました。\nQuickstart: Build and Deploy 自分のローカル環境でサンプルプログラムと Dockerfile を用意して、Cloud Build で Docker Image を作成し、それを Cloud Run で実行します。\nサンプルプログラムはいくつか用意されていて、Go を選択しました。 こちらも Windows 環境で少し不安でしたが、特に問題無く実行できました。\n料金について ちょっと試す分には、ほぼほぼ無料と思って良いです。ベータとはいえ安すぎる価格設定。\nhttps://cloud.google.com/run/pricing\nクォータや制限について Timeoutが15分ですので、バッチ処理などには向かないかもしれません。\nRequest size と Response Size もそれぞれ 32 MB までなので、大容量のファイルアップロードやダウンロードは、一旦ストレージに逃がすなど工夫が必要そうです。\nただし、この辺の制限は on GKE で動かせば無さそうです。\nコールドスタートについて 1時間ぐらいアクセスしないで再度アクセスしたところ、待たされる感覚はほぼ無し。どのくらいで止まるのか、それとも、起動がめっちゃ速いのか謎ですがかなりイイ感じです。\nまとめ KNative ベースで作成したサービスを出してきた GCP さすがだなぁという感じです。 Google Cloud Functions との棲み分けをどうしていくか今後気になりなる部分もあり、目が離せないと思いました。\n","permalink":"/entry/2019/04/10/071749/","summary":"\u003cp\u003eCloud Run が発表されました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://cloud.google.com/blog/products/serverless/announcing-cloud-run-the-newest-member-of-our-serverless-compute-stack\"\u003ecloud.google.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://cloud.google.com/run/docs/\"\u003ecloud.google.com\u003c/a\u003e\u003c/p\u003e\n\u003ch1 id=\"特徴\"\u003e特徴\u003c/h1\u003e\n\u003cp\u003e大きな特徴はKNativeベースのサービスです。\nローカルでテストすることも可能ですし、Serverless 環境を GCP があらかじめ用意してくれているので実行が楽です。\nまた、 GKE 上で実行することが出来るので、 GKE をすでに使用している場合、リソースを効率的に活用できることが期待できます。\u003c/p\u003e\n\u003ch1 id=\"quick-start-をやってみる\"\u003eQuick Start をやってみる\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://cloud.google.com/run/docs/quickstarts\"\u003ecloud.google.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eQuick Start を3つあるうち、Quickstart: Deploy a Prebuilt Sample Container と Quickstart: Build and Deploy の2つ試してみました。3つめの Quickstart: Deploy to Cloud Run on GKE は GKE 上で動かすのですが、現在 GKE のクラスタを持っていないため省略しました。\u003c/p\u003e\n\u003ch2 id=\"quickstart-deploy-a-prebuilt-sample-container\"\u003eQuickstart: Deploy a Prebuilt Sample Container\u003c/h2\u003e\n\u003cp\u003eすでに用意されているコンテナを動かします。\u003c/p\u003e\n\u003cp\u003e特に問題なくするするっと出来ました。一点だけ \u003ccode\u003eCheck Allow unauthenticated invocations\u003c/code\u003e の部分はなぜかチェックできなく、一旦ログアウトしてもう一度ログインしたところチェックできるようになりました。 \u003ccode\u003eAllow unauthenticated invocations\u003c/code\u003e をチェックしないとブラウザでの確認が困難なので注意が必要です。\u003c/p\u003e\n\u003cp\u003e初回デプロイは数分かかりましたが、2回目以降は数秒でデプロイが終わり立ち上がりも早く、実用的に感じました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\" title=\"ブラウザでの実行結果\"\u003e\u003cspan itemscope itemtype=\"http://schema.org/Photograph\"\u003e\u003cimg src=\"/images/20190408092518.png\" alt=\"f:id:nnasaki:20190408092518p:plain\" title=\"f:id:nnasaki:20190408092518p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003c/span\u003e\u003cfigcaption\u003eブラウザでの実行結果\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eリージョンは日本に無いようですが、レスポンスタイムもそれほど気にならない (1秒程度) なので、ちょっとしたサービスを立ち上げるのならまったく問題ないかと思いました。\u003c/p\u003e\n\u003ch2 id=\"quickstart-build-and-deploy\"\u003eQuickstart: Build and Deploy\u003c/h2\u003e\n\u003cp\u003e自分のローカル環境でサンプルプログラムと Dockerfile を用意して、Cloud Build で Docker Image を作成し、それを Cloud Run で実行します。\u003c/p\u003e","title":"Google Cloud Run を試してみた"},{"content":"普段はMacを使っているけど、最近はWindowsのPCがほしくなり、ちょうどデル アンバサダープログラムというものを見つけたので、申し込んでみたら当選してしまった。\ndell-ambassador.com\n概要 送られてきたのは Dell New XPS 13 という機種。\ndell-ambassador.com\n外観はこんな感じ。\nf:id:nnasaki:20190302144343p:plain 良いところ 13インチで4Kな鮮やかな画面\nf:id:nnasaki:20190302144526p:plain タッチもできる。今までタッチはノートPCで使ってなかったんだけども、寝っ転がりながらブラウザ操作するとかは想像以上に楽だった。\n悪いところ キーボードは右側が少し狭い。\nf:id:nnasaki:20190302144425p:plain 個人的になれなかったのが Enter と矢印そばにある PgUp, PgDn 。 Enter は一般的なキーボードより小さいため、キーの右側（スピーカー）部分を押してしまうことが多かった。このサイズだと苦肉の策なのだろうが、本体サイズが大きくなっても良いので、キーボード部分はフルキーボードのピッチにしてほしかった。\nPgUp, PgDn が左と右の矢印キーの上にそれぞれついているため、これも誤って押してしまうことが多かった。ホームポジションのようなキーに出っ張りがあると良さそうだった。\nまとめ 使っているとどうしても悪いところが気になってしまうので、悪いところの分量が多くなってしまったが、けして悪い端末ではないです。また機会があれば利用してみたいなと思いました。\nデルさんありがとう。\n","permalink":"/entry/2019/03/02/145620/","summary":"\u003cp\u003e普段はMacを使っているけど、最近はWindowsのPCがほしくなり、ちょうどデル アンバサダープログラムというものを見つけたので、申し込んでみたら当選してしまった。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://dell-ambassador.com/\"\u003edell-ambassador.com\u003c/a\u003e\u003c/p\u003e\n\u003ch1 id=\"概要\"\u003e概要\u003c/h1\u003e\n\u003cp\u003e送られてきたのは Dell New XPS 13 という機種。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://dell-ambassador.com/products/xps/13_9370/\"\u003edell-ambassador.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e外観はこんな感じ。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20190302144343.png\" alt=\"f:id:nnasaki:20190302144343p:plain\" title=\"f:id:nnasaki:20190302144343p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20190302144343p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch1 id=\"良いところ\"\u003e良いところ\u003c/h1\u003e\n\u003cp\u003e13インチで4Kな鮮やかな画面\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20190302144526.png\" alt=\"f:id:nnasaki:20190302144526p:plain\" title=\"f:id:nnasaki:20190302144526p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20190302144526p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eタッチもできる。今までタッチはノートPCで使ってなかったんだけども、寝っ転がりながらブラウザ操作するとかは想像以上に楽だった。\u003c/p\u003e\n\u003ch1 id=\"悪いところ\"\u003e悪いところ\u003c/h1\u003e\n\u003cp\u003eキーボードは右側が少し狭い。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20190302144425.png\" alt=\"f:id:nnasaki:20190302144425p:plain\" title=\"f:id:nnasaki:20190302144425p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20190302144425p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e個人的になれなかったのが Enter と矢印そばにある PgUp, PgDn 。\nEnter は一般的なキーボードより小さいため、キーの右側（スピーカー）部分を押してしまうことが多かった。このサイズだと苦肉の策なのだろうが、本体サイズが大きくなっても良いので、キーボード部分はフルキーボードのピッチにしてほしかった。\u003c/p\u003e\n\u003cp\u003ePgUp, PgDn が左と右の矢印キーの上にそれぞれついているため、これも誤って押してしまうことが多かった。ホームポジションのようなキーに出っ張りがあると良さそうだった。\u003c/p\u003e\n\u003ch1 id=\"まとめ\"\u003eまとめ\u003c/h1\u003e\n\u003cp\u003e使っているとどうしても悪いところが気になってしまうので、悪いところの分量が多くなってしまったが、けして悪い端末ではないです。また機会があれば利用してみたいなと思いました。\u003c/p\u003e\n\u003cp\u003eデルさんありがとう。\u003c/p\u003e\n\u003chr\u003e","title":"デル アンバサダープログラムで Dell New XPS 13 を使ってみた"},{"content":"この記事は Microsoft Azure Advent Calendar 2018 の 10 日目の記事です。\nqiita.com\nvirtual nodes とは 12/4 に 発表されたばかりの Azure Kubernetes Service(AKS) 向けの機能です。\nazure.microsoft.com\n名前の通り仮想ノードです。Kubernetes ではノードを常に立ち上げておく必要がありますが、virtual nodes では必要なときのみノードを立ち上げることで、バーストの対応や料金の節約が期待できます。\nザックリいうと、「Kubernetesノードのサーバーレス化」です。\nvirtual nodes と virtual kubelet との違いは？ Azure には従来から virtual kubelet というものが用意されています。\ngithub.com\n両者の違いは、自動で追加するか、手動で追加するかの違いです。\nvirtual nodes の実装は virtual kubelet です。従来の通り、 virtual nodes を使用せず、 virtual kubelet を手動で使用することもできますが、今後は virtual nodes を使用して、 AKS でマネージドしてもらうほうが手間いらずで便利なのではと思います。\nなお、余談ですが、virtual kubelet は CNCF プロジェクトになり、Azure 以外にも AWS Fargate などでも使用できます。\nwww.atmarkit.co.jp\nvirtual nodes を試してみる こちらの手順に沿って実行していきます。Azure CLI とポータルを使用するパターンがあります。ポータルから作成しました。\ndocs.microsoft.com\nAKS を作成する virtual nodes (preview) オプションを有効にして、 AKS を作成します。1点注意として、virtual nodes をサポートしているリージョンは複数あるのですが、US系は一部問題が発生しているらしく、 West Europe を選択しました。\nAKSクラスタの作成 デプロイを行うとおよそ8分くらいで AKS が出来上がります。\nデプロイの結果 ポータルから Monitoring - Insight(preview) にて確認すると virtual Node らしきものが表示されています。\nvirtual Node の確認 virtual nodes にサンプルアプリをデプロイする 次の yaml を デプロイします。\napiVersion: apps/v1 kind: Deployment metadata: name: aci-helloworld spec: replicas: 1 selector: matchLabels: app: aci-helloworld template: metadata: labels: app: aci-helloworld spec: containers: - name: aci-helloworld image: microsoft/aci-helloworld ports: - containerPort: 80 nodeSelector: kubernetes.io/role: agent beta.kubernetes.io/os: linux type: virtual-kubelet tolerations: - key: virtual-kubelet.io/provider operator: Exists - key: azure.com/aci effect: NoSchedule ポイントは nodeSelector と tolerations で virtual-kubelet が指定されています。この点からも virtual-kubelet がベースであるということがわかります。\nデプロイ方法は kubectl apply -f virtual-node.yaml を実行します。\nおよそ2分くらいで Running になりました。Azure Container Instances(ACI) の立ち上がる速度に依存します。早いときは30秒前後ということもありました。\nデプロイの様子 デプロイ後の動作確認 デプロイしたインスタンスは AKS の内部IPなので、外部からアクセスできません。チュートリアルに沿って、 AKS 上にもう一つインスタンスを動かして curl で確認します。\nインスタンス作成\nkubectl run -it --rm virtual-node-test --image=debian curl で動作確認\napt-get update \u0026amp;\u0026amp; apt-get install -y curl curl -L http://10.241.0.4 curl の実行結果に HTML が表示されているのが確認できました。\ncurl で動作確認結果 ノードの管理 AKS の Monitoring - Insight(preview) にて実際に動作している ACI を確認できます。こちらも便利な機能ですね。\nMonitoring - Insight(preview) でのACI表示 リソースグループには ACI インスタンスが表示されていました。\nACI のインスタンス 使ったインスタンスの削除 後始末をしてみます。\nkubectl delete -f virtual-node.yaml で deployment を削除します。\npod は即消える。(ここに表示されているのは動作確認時にcurlで使用したpod)\n削除後の pod 一覧 ACI も即消える。\nACI が削除されている様子 Monitoring - Insight(preview) にはまだ残っていました。こちらはタイムラグがあるようです。\nMonitoring - Insight(preview) の様子 まとめ virtual nodes は手軽に利用可能で、利便性が高そうです。まだ preview 段階ですが、積極的に使用していきたいと考えています。スピンアップがミリ秒単位になれば KNative などと組み合わせて、サーバーレス環境を構築するのも面白そうですね。\n","permalink":"/entry/2018/12/10/210000/","summary":"\u003cp\u003eこの記事は Microsoft Azure Advent Calendar 2018 の 10 日目の記事です。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://qiita.com/advent-calendar/2018/azure\"\u003eqiita.com\u003c/a\u003e\u003c/p\u003e\n\u003ch1 id=\"virtual-nodes-とは\"\u003evirtual nodes とは\u003c/h1\u003e\n\u003cp\u003e12/4 に 発表されたばかりの Azure Kubernetes Service(AKS) 向けの機能です。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://azure.microsoft.com/ja-jp/blog/bringing-serverless-to-azure-kubernetes-service/\"\u003eazure.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e名前の通り仮想ノードです。Kubernetes ではノードを常に立ち上げておく必要がありますが、virtual nodes では必要なときのみノードを立ち上げることで、バーストの対応や料金の節約が期待できます。\u003c/p\u003e\n\u003cp\u003eザックリいうと、「Kubernetesノードのサーバーレス化」です。\u003c/p\u003e\n\u003ch1 id=\"virtual-nodes-と-virtual-kubelet-との違いは\"\u003evirtual nodes と virtual kubelet との違いは？\u003c/h1\u003e\n\u003cp\u003eAzure には従来から virtual kubelet というものが用意されています。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/virtual-kubelet/virtual-kubelet\"\u003egithub.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e両者の違いは、自動で追加するか、手動で追加するかの違いです。\u003c/p\u003e\n\u003cp\u003evirtual nodes の実装は virtual kubelet です。従来の通り、 virtual nodes を使用せず、 virtual kubelet を手動で使用することもできますが、今後は virtual nodes を使用して、 AKS でマネージドしてもらうほうが手間いらずで便利なのではと思います。\u003c/p\u003e\n\u003cp\u003eなお、余談ですが、virtual kubelet は CNCF プロジェクトになり、Azure 以外にも AWS Fargate などでも使用できます。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://www.atmarkit.co.jp/ait/articles/1812/07/news063.html\"\u003ewww.atmarkit.co.jp\u003c/a\u003e\u003c/p\u003e\n\u003ch1 id=\"virtual-nodes-を試してみる\"\u003evirtual nodes を試してみる\u003c/h1\u003e\n\u003cp\u003eこちらの手順に沿って実行していきます。Azure CLI とポータルを使用するパターンがあります。ポータルから作成しました。\u003c/p\u003e","title":"Azure Kubernetes Service (AKS) で  virtual nodes を試してみた"},{"content":"当日の様子 **公演10分前ですが、たくさん来ていただいてありがたい！ #containerdaysjp #TerraceRoom https://t.co/mK2OaJfYBw pic.twitter.com/lL6SHS9lP8— YAMAMOTO Masaki (@nnasaki) 2018年12月5日\n発表資料 [Jenkins x Kubernetesが簡単だと思ったら大変だった話](https://www.slideshare.net/YamamotoMasaki/jenkins-x-kubernetes) ** from **[Masaki Yamamoto](https://www.slideshare.net/YamamotoMasaki)** [www.slideshare.net](https://www.slideshare.net/YamamotoMasaki/jenkins-x-kubernetes) アンケートの質問について CIマニアから見た各種CIツールの使い所 - くりにっき\nSRIA では CI/CD の導入や DevOps のコンサルも行っていますので、お気軽にご相談ください。\n","permalink":"/entry/2018/12/07/223004/","summary":"\u003ch2 id=\"当日の様子\"\u003e当日の様子\u003c/h2\u003e\n\u003cp\u003e**公演10分前ですが、たくさん来ていただいてありがたい！ \u003ca href=\"https://twitter.com/hashtag/containerdaysjp?src=hash\u0026amp;ref_src=twsrc%5Etfw\"\u003e#containerdaysjp\u003c/a\u003e \u003ca href=\"https://twitter.com/hashtag/TerraceRoom?src=hash\u0026amp;ref_src=twsrc%5Etfw\"\u003e#TerraceRoom\u003c/a\u003e  \u003ca href=\"https://t.co/mK2OaJfYBw\"\u003ehttps://t.co/mK2OaJfYBw\u003c/a\u003e \u003ca href=\"https://t.co/lL6SHS9lP8\"\u003epic.twitter.com/lL6SHS9lP8\u003c/a\u003e— YAMAMOTO Masaki (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/status/1070168985558114304?ref_src=twsrc%5Etfw\"\u003e2018年12月5日\u003c/a\u003e\u003c/p\u003e\n\u003ch2 id=\"発表資料\"\u003e発表資料\u003c/h2\u003e\n\u003cpre\u003e\u003ccode\u003e[Jenkins x Kubernetesが簡単だと思ったら大変だった話](https://www.slideshare.net/YamamotoMasaki/jenkins-x-kubernetes) ** from **[Masaki Yamamoto](https://www.slideshare.net/YamamotoMasaki)** [www.slideshare.net](https://www.slideshare.net/YamamotoMasaki/jenkins-x-kubernetes)\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2 id=\"アンケートの質問について\"\u003eアンケートの質問について\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sue445.hatenablog.com/entry/2018/12/07/114638\"\u003eCIマニアから見た各種CIツールの使い所 - くりにっき\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eSRIA では CI/CD の導入や DevOps のコンサルも行っていますので、お気軽にご相談ください。\u003c/p\u003e\n\u003chr\u003e","title":"Japan Container Days v18.12 で発表しました（仮）"},{"content":"TDDBC Sendai 8th を開催しました f:id:nnasaki:20181020180643j:plain イベントページはこちら\ntddbc.connpass.com\n当日の様子などツイートのまとめはこちら\ntogetter.com\nブログにもしていただきました\nhajimete-it.com\n2011年より毎年開催しており、2018年の今回が8年連続8回目となりました。いつもは「開催しました」記事を書いて終わり（書いていない年もあるけど）ですが、なんとなくふりかえってみたくなったので、後半にてふりかえりも書いてみました。\nまずはお礼 TDDBC Sendai は参加された皆様の善意で成り立っています。\n講師の@t_wadaさんをはじめ、 遠方からTAを引き受けていただいた@tosikawaさん、@terahide27さん、@ktanaka117さん。\nそして会場を無償で提供いただいた楽天さん、@bangucsさん、@pirobeemさん、@yohfeeさん、\nスタッフの@i_takehiroさん、@135yshrさん、@luckbizzoさん, カノさん、\n皆様休日にもかかわらず大変ありがとうございました。\nTDDBC Sendai 8th をふりかえって 詳細は先のtogetterをみていただくとして、私が印象に残っている点を書き留めておきます。\n**ビルの入口草#tddbc pic.twitter.com/ZiW6aZ6gAT— 🗼ダンボー田中🗼 (@ktanaka117) 2018年10月20日\n#tddbc 始まりました。 pic.twitter.com/wnZpalwMRX— いまいまさのぶ (@masanobuimai) 2018年10月20日\nいや、これ何のイベントだよｗ\nTDDBC 仙台のスタイル 大体決まっていて、主催者@135yshrさんのコスプレ、午前中は@t_wadaさんの講義、午後はペアプロとソースレビュー。イベント後はビアバッシュと二次会です。\nちなみにスパイダーマンは8回目なので、クモの足も8本なのでということでした。なんか解説している時点で負け感ある。\n午前中の@t_wadaさんの講義 f:id:nnasaki:20181020100903j:plain 和田さんのサバンナ感増加しているような・・・。\n毎年聞いているのですが、毎年変わっているので飽きないです。私の記憶だと定かではないのですが、初期は技術的話題が中心で生産効率向上を強調していました。中期は健康や心理的安全が強調されるようになりました。そしてここ数年はライブコーディング**によるデモが中心になっています。（個人の感想です）\nライブコーディングの模様は de:code 2017 の動画をみていただくと雰囲気がわかると思います。\n午後のペアプロ＆レビュー 午後はお題を用意してペアプロを回して定期的にレビューをするのですが、お題作成者の@i_takehiroさんの鋭いレビュー指摘(通称マサカリ)が大変好評(?)です。反省点としては1回のレビューに時間が取られすぎてしまい、全員分のレビューができなかった点です。この点はタイムキーパーをしっかりしないとなぁと思っています。\nf:id:nnasaki:20181020152656j:plain マサカる@i_takehikoさんの図\nなお、お題については公開されていますので、チャレンジしてみてください。\nTDD Boot Camp(TDDBC) - TDDBC仙台08/課題\nビアバッシュ お酒を飲みながら、LTとレビューを行いました。ここでも全員分のレビューができませんでしたが、反面、より深い話ができてよかったと思います。\nおまけ 当日レビューができなくて残念だったのでご紹介させてください。@masanobuimaiさんが黙々と作っていた、PICO-8という実行系で動くLuaのテスティングフレームワークです。まさしく才能の無駄遣いｗ\n**Aボタンを押すと、次々テストを実行するよ。#tddbchttps://t.co/fdri4Rllxb pic.twitter.com/w950gIV8Dg— いまいまさのぶ (@masanobuimai) October 20, 2018\nTDDBC 仙台 8年間のふりかえって さて、当日の話から変わりまして、2011年のデブサミ2011東北にて開催されてから、毎年仙台で開催され今年で8回目となります。\n昨年までに開催された内容についてはこちらをご覧ください。\n2011年 → http://codezine.jp/article/detail/6055 2012年 → http://d.hatena.ne.jp/masanobuimai/20120814/1344947479 2013年 → http://d.hatena.ne.jp/i-takehiro/20131016/1381932808 2014年 → http://togetter.com/li/730525 2015年 → http://blog.nnasaki.com/entry/2015/11/30/211755 2016年 → https://togetter.com/li/1053157 2017年 → https://togetter.com/li/1148943 特に印象に残っている2回目 1回目はデブサミなので主催は我々ではありませんでした。2回目は私が主催しました。初主催でしたが、結論からいうと資金面で失敗しました。\n会場費が圧迫 会場は市の貸会議室を借りました。一般的な貸会議室よりはだいぶ安いのですが、結果@t_wadaさんの交通費が全額支払えませんでした。\n私は持ち出しで不足分の交通費をお渡ししようとしましたが、@t_wadaさんから「来年のために使ってください」というお言葉に甘えてしまいました。\n3回目以降から改善 2回目の反省から、3回目以降は無償の会場にて実施するようにし、講師交通費を最優先で確保するようにしました。\nデータコム様、メンバーズ様、楽天様のご厚意により、会場を無償でご提供いただき、以降はなんとか手弁当にならないように工夫ができています。\nTDDBC 仙台のこれから まだまだ、悩み事はたくさんあります。TDDBC 仙台は「仙台」で開催していますが、実態は仙台の参加者と県外からの参加者は半々ぐらいです。\nどうすれば地元の参加者が増えるかと当初は策を考えていました。が、最近はこれはこれで良いのかなとも思い始めました。\n東京や他の地域では体験できない、仙台ならではの体験**が出来ればと。遠方からの参加者を呼び込むぐらいのイベントになれば良いと思っています。\nまた、来年はBootから一歩先の高度な内容を開催したいという案もあり、アイデアを出しあっているところです。\nTDDBC 仙台は参加されるすべての皆様に最高の体験をしていただけるよう、これからも開催を続けていきたいと思っています。よろしくおねがいします。\n[\nテスト駆動開発 ](http://www.amazon.co.jp/exec/obidos/ASIN/4274217884/nnasaki-22/)[テスト駆動開発](http://www.amazon.co.jp/exec/obidos/ASIN/4274217884/nnasaki-22/)- 作者: Kent Beck,和田卓人- 出版社/メーカー: オーム社- 発売日: 2017/10/14- メディア: 単行本（ソフトカバー）- この商品を含むブログ (1件) を見る\n[\nSwiftで書いておぼえるTDD (技術書典シリーズ（NextPublishing）) ](http://www.amazon.co.jp/exec/obidos/ASIN/484439858X/nnasaki-22/)[Swiftで書いておぼえるTDD (技術書典シリーズ（NextPublishing）)](http://www.amazon.co.jp/exec/obidos/ASIN/484439858X/nnasaki-22/)- 作者: 田中賢治- 出版社/メーカー: インプレスR\u0026amp;D- 発売日: 2018/10/19- メディア: オンデマンド (ペーパーバック)- この商品を含むブログを見る\n","permalink":"/entry/2018/10/26/071200/","summary":"\u003ch1 id=\"tddbc-sendai-8th-を開催しました\"\u003eTDDBC Sendai 8th を開催しました\u003c/h1\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20181020180643.jpg\" alt=\"f:id:nnasaki:20181020180643j:plain\" title=\"f:id:nnasaki:20181020180643j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20181020180643j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eイベントページはこちら\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://tddbc.connpass.com/event/99555/\"\u003etddbc.connpass.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e当日の様子などツイートのまとめはこちら\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://togetter.com/li/1278631\"\u003etogetter.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eブログにもしていただきました\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://hajimete-it.com/community-introduction/report/20181020-tddbc/\"\u003ehajimete-it.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2011年より毎年開催\u003c/strong\u003eしており、2018年の今回が\u003cstrong\u003e8年連続8回目\u003c/strong\u003eとなりました。いつもは「開催しました」記事を書いて終わり（書いていない年もあるけど）ですが、なんとなくふりかえってみたくなったので、後半にてふりかえりも書いてみました。\u003c/p\u003e\n\u003ch2 id=\"まずはお礼\"\u003eまずはお礼\u003c/h2\u003e\n\u003cp\u003eTDDBC Sendai は参加された皆様の善意で成り立っています。\u003c/p\u003e\n\u003cp\u003e講師の@t_wadaさんをはじめ、\n遠方からTAを引き受けていただいた@tosikawaさん、@terahide27さん、@ktanaka117さん。\u003c/p\u003e\n\u003cp\u003eそして会場を無償で提供いただいた楽天さん、@bangucsさん、@pirobeemさん、@yohfeeさん、\u003c/p\u003e\n\u003cp\u003eスタッフの@i_takehiroさん、@135yshrさん、@luckbizzoさん, カノさん、\u003c/p\u003e\n\u003cp\u003e皆様休日にもかかわらず大変ありがとうございました。\u003c/p\u003e\n\u003ch2 id=\"tddbc-sendai-8th-をふりかえって\"\u003eTDDBC Sendai 8th をふりかえって\u003c/h2\u003e\n\u003cp\u003e詳細は先のtogetterをみていただくとして、私が印象に残っている点を書き留めておきます。\u003c/p\u003e\n\u003cp\u003e**ビルの入口草\u003ca href=\"https://twitter.com/hashtag/tddbc?src=hash\u0026amp;ref_src=twsrc%5Etfw\"\u003e#tddbc\u003c/a\u003e \u003ca href=\"https://t.co/ZiW6aZ6gAT\"\u003epic.twitter.com/ZiW6aZ6gAT\u003c/a\u003e— 🗼ダンボー田中🗼 (@ktanaka117) \u003ca href=\"https://twitter.com/ktanaka117/status/1053447736480022528?ref_src=twsrc%5Etfw\"\u003e2018年10月20日\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003ca href=\"https://twitter.com/hashtag/tddbc?src=hash\u0026amp;ref_src=twsrc%5Etfw\"\u003e#tddbc\u003c/a\u003e 始まりました。 \u003ca href=\"https://t.co/wnZpalwMRX\"\u003epic.twitter.com/wnZpalwMRX\u003c/a\u003e— いまいまさのぶ (@masanobuimai) \u003ca href=\"https://twitter.com/masanobuimai/status/1053451362099388417?ref_src=twsrc%5Etfw\"\u003e2018年10月20日\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eいや、これ何のイベントだよｗ\u003c/p\u003e\n\u003ch3 id=\"tddbc-仙台のスタイル\"\u003eTDDBC 仙台のスタイル\u003c/h3\u003e\n\u003cp\u003e大体決まっていて、主催者@135yshrさんのコスプレ、午前中は@t_wadaさんの講義、午後はペアプロとソースレビュー。イベント後はビアバッシュと二次会です。\u003c/p\u003e\n\u003cp\u003eちなみにスパイダーマンは8回目なので、クモの足も8本なのでということでした。なんか解説している時点で負け感ある。\u003c/p\u003e\n\u003ch3 id=\"午前中のt_wadaさんの講義\"\u003e午前中の@t_wadaさんの講義\u003c/h3\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20181020100903.jpg\" alt=\"f:id:nnasaki:20181020100903j:plain\" title=\"f:id:nnasaki:20181020100903j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20181020100903j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e和田さんのサバンナ感増加しているような・・・。\u003c/p\u003e\n\u003cp\u003e毎年聞いているのですが、毎年変わっているので飽きないです。私の記憶だと定かではないのですが、初期は技術的話題が中心で生産効率向上\u003cstrong\u003eを強調していました。中期は\u003c/strong\u003e健康\u003cstrong\u003eや\u003c/strong\u003e心理的安全\u003cstrong\u003eが強調されるようになりました。そしてここ数年は\u003c/strong\u003eライブコーディング**によるデモが中心になっています。（個人の感想です）\u003c/p\u003e\n\u003cp\u003eライブコーディングの模様は de:code 2017 の動画をみていただくと雰囲気がわかると思います。\u003c/p\u003e\n\u003ch3 id=\"午後のペアプロレビュー\"\u003e午後のペアプロ＆レビュー\u003c/h3\u003e\n\u003cp\u003e午後はお題を用意してペアプロを回して定期的にレビューをするのですが、お題作成者の@i_takehiroさんの鋭いレビュー指摘(通称マサカリ)が大変好評(?)です。反省点としては1回のレビューに時間が取られすぎてしまい、全員分のレビューができなかった点です。この点はタイムキーパーをしっかりしないとなぁと思っています。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20181020152656.jpg\" alt=\"f:id:nnasaki:20181020152656j:plain\" title=\"f:id:nnasaki:20181020152656j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20181020152656j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eマサカる@i_takehikoさんの図\u003c/p\u003e\n\u003cp\u003eなお、お題については公開されていますので、チャレンジしてみてください。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://devtesting.jp/tddbc/?TDDBC%E4%BB%99%E5%8F%B008%2F%E8%AA%B2%E9%A1%8C\"\u003eTDD Boot Camp(TDDBC) - TDDBC仙台08/課題\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"ビアバッシュ\"\u003eビアバッシュ\u003c/h3\u003e\n\u003cp\u003eお酒を飲みながら、LTとレビューを行いました。ここでも全員分のレビューができませんでしたが、反面、より深い話ができてよかったと思います。\u003c/p\u003e\n\u003ch3 id=\"おまけ\"\u003eおまけ\u003c/h3\u003e\n\u003cp\u003e当日レビューができなくて残念だったのでご紹介させてください。@masanobuimaiさんが黙々と作っていた、PICO-8という実行系で動くLuaのテスティングフレームワークです。まさしく才能の無駄遣いｗ\u003c/p\u003e\n\u003cp\u003e**Aボタンを押すと、次々テストを実行するよ。\u003ca href=\"https://twitter.com/hashtag/tddbc?src=hash\u0026amp;ref_src=twsrc%5Etfw\"\u003e#tddbc\u003c/a\u003e\u003ca href=\"https://t.co/fdri4Rllxb\"\u003ehttps://t.co/fdri4Rllxb\u003c/a\u003e \u003ca href=\"https://t.co/w950gIV8Dg\"\u003epic.twitter.com/w950gIV8Dg\u003c/a\u003e— いまいまさのぶ (@masanobuimai) \u003ca href=\"https://twitter.com/masanobuimai/status/1053625061658189824?ref_src=twsrc%5Etfw\"\u003eOctober 20, 2018\u003c/a\u003e\u003c/p\u003e\n\u003ch1 id=\"tddbc-仙台-8年間のふりかえって\"\u003eTDDBC 仙台 8年間のふりかえって\u003c/h1\u003e\n\u003cp\u003eさて、当日の話から変わりまして、2011年のデブサミ2011東北にて開催されてから、毎年仙台で開催され今年で8回目となります。\u003c/p\u003e","title":"TDDBC 仙台の8年間をふりかえる"},{"content":"Kubernetes v1.12 が 2018/9/27 にリリースされました kubernetes.io\n今回のリリースでは Azure の VMSS(Virtual Machine Scale Sets) の対応がされました。これにより今までより早くノードが展開できることと、OSイメージによるノードの管理ができることが期待できます。\nリリースの詳細はこちらの記事を参照してください。\nkubernetes.io\n記事に書いてあるとおり、ACS(Azure Container Service) Engine ではすでに使えるようになっています。\nAKSの対応はまだですが、AKS の Service Level Objective (SLO) によるとマイナーバージョンアップは30日以内に対応するとあるので、今月末には使えるようになると思われます。\nSLO の詳細はこちらの記事を参照してください。\ndocs.microsoft.com\nACS Engine で Kubernetes v1.12 を早速試してみた ACS Engine の作成方法などは後回しにして、結果から書きます。\nエージェントノードの展開は2分後半から4分前半で完了 検証環境はSouthEastAsiaで行いました。次の結果です。\n変更前ノード数 変更後ノード数 デプロイ時間(mm:ss)\n2 5 02:17\n5 30 03:54\n5 30 04:08\n1 30 04:16\n30 5 01:47\n30 1 02:52\n30 1 02:18\nノード数を増やす操作が少数の場合が2分台、30台ほどで4分台という感じです。 ノード数を減らす操作は1分〜2分というところです。\n十分高速かなと思います。\n検証方法 下記サイトを参照して行いました。詳細を書こうと思ったんですが力尽きました。。。 また別の機会に書きたいと思います。\ngithub.com\nまとめ VMSS 対応でデプロイとノードのアップデートがやりやすくなりそうです。\nとはいえ、ノードを増やすのに4分程度はかかるので、瞬間的なスパイクはまだオートスケールでは対応しきれないと思います。 その点は Virtual-Kubelet で、ACI(Azure Container Instances) を使用すると瞬時にインスタンスが立ち上がるのでカバーできるかもしれません。\ndocs.microsoft.com\nオートスケールについて、後日また検証したいと思います。\n2018/10/11 追記 www.youtube.com\nラジオ聞いてて真壁さんのお話で思い出したんですが、Ephemeral OS Disk in limited preview にてこう書いてありました。\nEphemeral OS Disk, a new type of OS disk created directly on the host node, providing local disk performance and faster boot/reset time.\n明確にブートが早くなると書いてありましたね。ノード増やしたときのブート時間は今後もっと縮まる可能性が高いかもです。\nKubernetes に適用できるかはわかりませんが、早速プライベートプレビュー申し込んでみました。\nAzure のディスク性能は Ultra SSD にて 160K IOPS と劇的上がっています。\nまた、シングル VM において Windows Hyper-V 環境では 10-Million IOPS という研究もされているようです。\nAzure Ephemeral OS DiskってIaaSの使い方だけじゃなく、その上で動くPaaSにもインパクトあるんですよね。 なおローカルで爆速なストレージを、って背景はこの辺を読むとニヤニヤできます。 [PDF] Achieving 10-Million IOPS from a single VM on Windows Hyper-V https://t.co/bVgMyBJZ5Q— Toru Makabe (@tmak_tw) October 5, 2018\nクラウドはディスクが遅いと思われるかもですが、そろそろ逆転するかもしれませんね。\n","permalink":"/entry/2018/10/11/070000/","summary":"\u003ch3 id=\"kubernetes-v112-が-2018927-にリリースされました\"\u003eKubernetes v1.12 が 2018/9/27 にリリースされました\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://kubernetes.io/blog/2018/09/27/kubernetes-1.12-kubelet-tls-bootstrap-and-azure-virtual-machine-scale-sets-vmss-move-to-general-availability/\"\u003ekubernetes.io\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e今回のリリースでは Azure の VMSS(Virtual Machine Scale Sets) の対応がされました。これにより今までより早くノードが展開できることと、OSイメージによるノードの管理ができることが期待できます。\u003c/p\u003e\n\u003cp\u003eリリースの詳細はこちらの記事を参照してください。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://kubernetes.io/blog/2018/10/08/support-for-azure-vmss--cluster-autoscaler-and-user-assigned-identity/\"\u003ekubernetes.io\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e記事に書いてあるとおり、ACS(Azure Container Service) Engine ではすでに使えるようになっています。\u003c/p\u003e\n\u003cp\u003eAKSの対応はまだですが、AKS の Service Level Objective (SLO) によるとマイナーバージョンアップは30日以内に対応するとあるので、今月末には使えるようになると思われます。\u003c/p\u003e\n\u003cp\u003eSLO の詳細はこちらの記事を参照してください。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://docs.microsoft.com/ja-jp/azure/aks/supported-kubernetes-versions\"\u003edocs.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"acs-engine-で-kubernetes-v112-を早速試してみた\"\u003eACS Engine で Kubernetes v1.12 を早速試してみた\u003c/h3\u003e\n\u003cp\u003eACS Engine の作成方法などは後回しにして、結果から書きます。\u003c/p\u003e\n\u003ch4 id=\"エージェントノードの展開は2分後半から4分前半で完了\"\u003eエージェントノードの展開は2分後半から4分前半で完了\u003c/h4\u003e\n\u003cp\u003e検証環境はSouthEastAsiaで行いました。次の結果です。\u003c/p\u003e\n\u003cp\u003e変更前ノード数\n変更後ノード数\nデプロイ時間(mm:ss)\u003c/p\u003e\n\u003cp\u003e2                       \u003cbr\u003e\n5     \u003cbr\u003e\n02:17\u003c/p\u003e\n\u003cp\u003e5                       \u003cbr\u003e\n30  \u003cbr\u003e\n03:54\u003c/p\u003e\n\u003cp\u003e5                       \u003cbr\u003e\n30   \u003cbr\u003e\n04:08\u003c/p\u003e\n\u003cp\u003e1                        \u003cbr\u003e\n30     \u003cbr\u003e\n04:16\u003c/p\u003e\n\u003cp\u003e30                     \u003cbr\u003e\n5     \u003cbr\u003e\n01:47\u003c/p\u003e\n\u003cp\u003e30                     \u003cbr\u003e\n1       \u003cbr\u003e\n02:52\u003c/p\u003e\n\u003cp\u003e30                     \u003cbr\u003e\n1       \u003cbr\u003e\n02:18\u003c/p\u003e\n\u003cp\u003eノード数を増やす操作が少数の場合が2分台、30台ほどで4分台という感じです。\nノード数を減らす操作は1分〜2分というところです。\u003c/p\u003e\n\u003cp\u003e十分高速かなと思います。\u003c/p\u003e\n\u003ch3 id=\"検証方法\"\u003e検証方法\u003c/h3\u003e\n\u003cp\u003e下記サイトを参照して行いました。詳細を書こうと思ったんですが力尽きました。。。 また別の機会に書きたいと思います。\u003c/p\u003e","title":"Kubernetes v1.12 を Azure で動かしてみた"},{"content":"containerdays.jp\nmedium.com\nなんとCFPが通りまして、JAPAN CONTAINER DAYS V18.12に登壇させていただけることになりました。嬉しい限りで本当に皆さんのおかげだなと思います。CFPの内容は次の通りです。\nタイトル Jenkins x Kubernetesが簡単だと思ったら大変だった話\n概要 昨今、コンテナやkubernetesに対応したCI/CDツールはたくさんありますが、古くからあるJenkinsも当然対応しています。今回はプロダクション環境で実際に使用した経験から、Dockerビルドの苦労話や、Declarative Pipelineでコード化することでいわゆる「Jenkinsおじさん問題」を解決したことをお話しします。\nまた、Jenkinsを実際運用するにあたって、パブリッククラウドの比較や連携方法も合わせてお話しします。\nなぜ応募したか？ 理由は２つあると考えました。\nJAPAN CONTAINER DAYSはベンダー主催ではない公平な場であり、規模も自分にとってはde:code以来の大きさだと思いますので、自分の実力を試したいという気持ちがありました。なので、1つ目の理由は誰かのためというよりは自分のためですね。\n私はMicrosoft AzureのMVPなので、普段はMicrosoft系のコミュニティに参加することが多いです。コミュニティは「常連さん」みたいな感じで知り合いも多く、楽しいですし、とても居心地が良いです。しかし、そのままでは結局「内輪ウケ」にとどまってしまうと思い、Microsoft系以外のコミュニティに参加することがとても大事だと常々考えています。これはなにも突然思いついたことではなく、過去にも様々なコミュニティに参加させていただきました。\nつまり、もう一つの理由はMicrosoft系ではないコミュニティに参加することで、Microsoft Azureを普段リーチできない層に訴えかけることができる。と考えています。\nなにを伝えたいか？ 今回はAzure色はほとんどなく、CI/CDの考え方。kubernetesとどう連携させるか？その際ハマるポイントはどこか？という点をお伝えして、皆様が実際に構築・運用する際のヒントを持ち帰っていてだければと思っています。\nCFPに書いていたパブリッククラウドの比較については、主題から離れてぼやけてしまうのと、４０分にしてはちょっと盛り込みすぎ感がありますので、セッション構成上もしかしたら削ってしまうかもしれません。すみません。たとえ削ったとしても、それはそれでまた別な機会にお話させていただければと思います。\nまとめ 12月は皆様にお会いできることを楽しみにしています。どうぞよろしくおねがいします！\n申込みはこちらから！\neventregist.com\nちょっとだけ宣伝 Test Driven Development Boot Camp(TDDBC) 、テスト駆動開発のブートキャンプを10/20(土)に仙台で行います。気づいたら今年で8回目で震災後から毎年開催し、毎年TDD の伝道師、和田卓人(@t_wada)さんに来ていただいています。\n仙台の方も、遠方の方も是非お越しください。\ntddbc.connpass.com\n","permalink":"/entry/2018/10/01/073000/","summary":"\u003cp\u003e\u003ca href=\"https://containerdays.jp/\"\u003econtainerdays.jp\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://medium.com/@containerdaysjp/v18-12%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%83%97%E3%83%AD%E3%83%9D%E3%83%BC%E3%82%B6%E3%83%AB%E9%81%B8%E5%AE%9A%E3%83%95%E3%83%AD%E3%83%BC%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6-97c134b237a3\"\u003emedium.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eなんとCFPが通りまして、JAPAN CONTAINER DAYS V18.12に登壇させていただけることになりました。嬉しい限りで本当に皆さんのおかげだなと思います。CFPの内容は次の通りです。\u003c/p\u003e\n\u003ch3 id=\"タイトル\"\u003eタイトル\u003c/h3\u003e\n\u003cp\u003eJenkins x Kubernetesが簡単だと思ったら大変だった話\u003c/p\u003e\n\u003ch3 id=\"概要\"\u003e概要\u003c/h3\u003e\n\u003cp\u003e昨今、コンテナやkubernetesに対応したCI/CDツールはたくさんありますが、古くからあるJenkinsも当然対応しています。今回はプロダクション環境で実際に使用した経験から、Dockerビルドの苦労話や、Declarative Pipelineでコード化することでいわゆる「Jenkinsおじさん問題」を解決したことをお話しします。\u003c/p\u003e\n\u003cp\u003eまた、Jenkinsを実際運用するにあたって、パブリッククラウドの比較や連携方法も合わせてお話しします。\u003c/p\u003e\n\u003ch2 id=\"なぜ応募したか\"\u003eなぜ応募したか？\u003c/h2\u003e\n\u003cp\u003e理由は２つあると考えました。\u003c/p\u003e\n\u003cp\u003eJAPAN CONTAINER DAYSはベンダー主催ではない公平な場であり、規模も自分にとってはde:code以来の大きさだと思いますので、自分の実力を試したいという気持ちがありました。なので、1つ目の理由は誰かのためというよりは自分のためですね。\u003c/p\u003e\n\u003cp\u003e私はMicrosoft AzureのMVPなので、普段はMicrosoft系のコミュニティに参加することが多いです。コミュニティは「常連さん」みたいな感じで知り合いも多く、楽しいですし、とても居心地が良いです。しかし、そのままでは結局「内輪ウケ」にとどまってしまうと思い、Microsoft系以外のコミュニティに参加することがとても大事だと常々考えています。これはなにも突然思いついたことではなく、過去にも様々なコミュニティに参加させていただきました。\u003c/p\u003e\n\u003cp\u003eつまり、もう一つの理由はMicrosoft系ではないコミュニティに参加することで、Microsoft Azureを普段リーチできない層に訴えかけることができる。と考えています。\u003c/p\u003e\n\u003ch2 id=\"なにを伝えたいか\"\u003eなにを伝えたいか？\u003c/h2\u003e\n\u003cp\u003e今回はAzure色はほとんどなく、CI/CDの考え方。kubernetesとどう連携させるか？その際ハマるポイントはどこか？という点をお伝えして、皆様が実際に構築・運用する際のヒントを持ち帰っていてだければと思っています。\u003c/p\u003e\n\u003cp\u003eCFPに書いていたパブリッククラウドの比較については、主題から離れてぼやけてしまうのと、４０分にしてはちょっと盛り込みすぎ感がありますので、セッション構成上もしかしたら削ってしまうかもしれません。すみません。たとえ削ったとしても、それはそれでまた別な機会にお話させていただければと思います。\u003c/p\u003e\n\u003ch2 id=\"まとめ\"\u003eまとめ\u003c/h2\u003e\n\u003cp\u003e12月は皆様にお会いできることを楽しみにしています。どうぞよろしくおねがいします！\u003c/p\u003e\n\u003cp\u003e申込みはこちらから！\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://eventregist.com/e/containerdays1812\"\u003eeventregist.com\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"ちょっとだけ宣伝\"\u003eちょっとだけ宣伝\u003c/h3\u003e\n\u003cp\u003eTest Driven Development Boot Camp(TDDBC) 、テスト駆動開発のブートキャンプを10/20(土)に仙台で行います。気づいたら今年で8回目で震災後から毎年開催し、毎年TDD の伝道師、和田卓人(@t_wada)さんに来ていただいています。\u003c/p\u003e\n\u003cp\u003e仙台の方も、遠方の方も是非お越しください。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://tddbc.connpass.com/event/99555/\"\u003etddbc.connpass.com\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"JAPAN CONTAINER DAYS V18.12に登壇します"},{"content":"AzulとAzureちょっと名前が似ていますが違います。\nJava 11正式版がリリースされました。このバージョンからOracle JDKのサポートは有償になり、OpenJDKで無償の長期サポート(LTS)提供はあるかどうかわからないという状況です。\nwww.publickey1.jp\nAzureではAzul SystemsがビルドしたOpenJDK LTS版を無償で提供！ そんな不安な中、素敵なニュースが入りました！\nazure.microsoft.com\nAzureまたはAzure Stackで実行する場合、Azul Systems Zulu EnterpriseのOpenJDKを無償で使えるというアナウンスがありました。\nAzul Systems社が提供するJava SE 7、8、および11以降のすべてのLTSバージョンのOpenJDK for Azureを利用できます。\n下図の青い線がライフサイクルになります。\nf:id:nnasaki:20180926163343p:plain (Azul Systems Collaborates with Microsoft to Bring Free Java Production Support on Microsoft Azure and Azure Stackより転載)\nさらに詳細なライフサイクルはこちらです。Azul Systems Zulu Enterpriseの列になります。\nf:id:nnasaki:20180927002815p:plain (Azul Product Support Roadmapの図を加工)\n開発マシンでも利用可能！Dockerでも！ さらに嬉しいのは、MacやWindowsの開発環境でも利用可能で、yumやaptリポジトリが提供されます。Dockerイメージも提供され制限なしに組み込みもできるということで、開発には困らなさそうです。\nダウンロード先はこちらです。Java 11については9/28から利用可能となるようです。\nwww.azul.com\nまとめ Oracle JDKの有償サポート、OpenJDKのLTSサポートに不安を感じる人も多いかと思いますが、Azure上ではAzul’s Zulu Enterprise builds of OpenJDKを安心して長い間使うことができそうです。\n最後に宣伝で、SRIAではJavaアプリのオンプレミスからクラウドへのリフトアンドシフト、クラウド上でのJavaアプリ開発の支援を行っています。下記よりお気軽にお問い合わせください。\nsria.co.jp\n","permalink":"/entry/2018/09/27/063000/","summary":"\u003cp\u003eAzulとAzureちょっと名前が似ていますが違います。\u003c/p\u003e\n\u003cp\u003eJava 11正式版がリリースされました。このバージョンからOracle JDKのサポートは有償になり、OpenJDKで無償の長期サポート(LTS)提供はあるかどうかわからないという状況です。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.publickey1.jp/blog/18/java_11oracle_jdkopenjdk.html\"\u003ewww.publickey1.jp\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"azureではazul-systemsがビルドしたopenjdk-lts版を無償で提供\"\u003eAzureではAzul SystemsがビルドしたOpenJDK LTS版を無償で提供！\u003c/h3\u003e\n\u003cp\u003eそんな不安な中、素敵なニュースが入りました！\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://azure.microsoft.com/en-us/blog/microsoft-and-azul-systems-bring-free-java-lts-support-to-azure/\"\u003eazure.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eAzureまたはAzure Stackで実行する場合、Azul Systems Zulu EnterpriseのOpenJDKを無償で使えるというアナウンスがありました。\u003c/p\u003e\n\u003cp\u003eAzul Systems社が提供するJava SE 7、8、および11以降のすべてのLTSバージョンのOpenJDK for Azureを利用できます。\u003c/p\u003e\n\u003cp\u003e下図の青い線がライフサイクルになります。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20180926163343.png\" alt=\"f:id:nnasaki:20180926163343p:plain\" title=\"f:id:nnasaki:20180926163343p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20180926163343p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e(\u003ca href=\"https://www.azul.com/press_release/free-java-production-support-for-microsoft-azure-azure-stack/\"\u003eAzul Systems Collaborates with Microsoft to Bring Free Java Production Support on Microsoft Azure and Azure Stack\u003c/a\u003eより転載)\u003c/p\u003e\n\u003cp\u003eさらに詳細なライフサイクルはこちらです。Azul Systems Zulu Enterpriseの列になります。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20180927002815.png\" alt=\"f:id:nnasaki:20180927002815p:plain\" title=\"f:id:nnasaki:20180927002815p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20180927002815p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e(\u003ca href=\"https://www.azul.com/products/azul_support_roadmap/\"\u003eAzul Product Support Roadmap\u003c/a\u003eの図を加工)\u003c/p\u003e\n\u003ch3 id=\"開発マシンでも利用可能dockerでも\"\u003e開発マシンでも利用可能！Dockerでも！\u003c/h3\u003e\n\u003cp\u003eさらに嬉しいのは、MacやWindowsの開発環境でも利用可能で、yumやaptリポジトリが提供されます。Dockerイメージも提供され制限なしに組み込みもできるということで、開発には困らなさそうです。\u003c/p\u003e\n\u003cp\u003eダウンロード先はこちらです。Java 11については9/28から利用可能となるようです。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.azul.com/downloads/azure-only/zulu/\"\u003ewww.azul.com\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"まとめ\"\u003eまとめ\u003c/h3\u003e\n\u003cp\u003eOracle JDKの有償サポート、OpenJDKのLTSサポートに不安を感じる人も多いかと思いますが、Azure上ではAzul’s Zulu Enterprise builds of OpenJDKを安心して長い間使うことができそうです。\u003c/p\u003e\n\u003cp\u003e最後に宣伝で、SRIAではJavaアプリのオンプレミスからクラウドへのリフトアンドシフト、クラウド上でのJavaアプリ開発の支援を行っています。下記よりお気軽にお問い合わせください。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://sria.co.jp/contact/\"\u003esria.co.jp\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"Azul SystemsがビルドしたOpenJDK LTS版をAzure向けに無償で提供！"},{"content":"Microsoft Ignite が開催されています。\nwww.microsoft.com\nAzure 関連も次々にいろいろなサービスが出ています。詳しくはブチザッキを参照していただければと。\nAzure Update (2018.09.25) | ブチザッキ Microsoft Ignite 2018 Day1 Keynote | ブチザッキ 今回は新サービスの Azure Front Door Service が気になったので取り上げます。\nAzure Front Door Service とは？ L7ロードバランサー、CDN、WAFがセットになったようなサービスで、リージョンごとではなくグローバルに展開します。バックエンドプールにWeb AppsやVMなどを指定できます。Front Doorとバックエンドプール間のネットワークはMicrosoftのWANを通るので更に高速とのことです。\nf:id:nnasaki:20180926151031p:plain (Announcing public preview of Azure Front Door Services | Blog | Microsoft Azureより転載)\nポイントはグローバルに展開するので、リージョン間のフェールオーバーが簡単にできるという点です。従来ですとTraffice Manager, Application Gateway, CDNを組み合わせていましたが、単一サービスで実現可能となりました。\n試してみた Azure Quickstart - Create a Front Door profile for high availability of applications using the Azure portal | Microsoft Docs を早速試してみました。\nAzure Web Apps を２つ作る 今回はアメリカ西海岸と東日本の２つを作りました。わかりやすいようにデフォルトページにリージョンをいれました。\nf:id:nnasaki:20180926152155p:plain f:id:nnasaki:20180926152126p:plain Azure Front Doors をデプロイする Front Doors から Create を選び、サブスクリプションとリソースグループを指定して、次へ。\nf:id:nnasaki:20180926152556p:plain Configuration に順番に記入していきます。\nf:id:nnasaki:20180926152705p:plain 最終的にこんな感じになります。\nf:id:nnasaki:20180926152819p:plain ブラウザでアクセスしてみる https://nnasaki-test.azurefd.net にアクセスすると どちらかののページが表示されます。ケチってfreeプランにしたんですが結構速いです。しばらく放置しておきますので、皆さんお試しください。\nカスタムドメインを設定する https://frontdoor.nnasaki.com でアクセスできるようにしました。\n追加の仕方は Frontend hosts に追加したいドメインをいれます。httpsでアクセスする場合は、証明書をFront Door Managedにするか自分でKey Vaultに入れた証明書を使うか選びます。\n今回はFront Door Managedを選びました。こんな設定です。\nf:id:nnasaki:20180926153328p:plain 料金について Application Gatewayと異なり月額固定費用がかかりません。転送量（Inbound/Outbound両方）とルールの料金がかかります。プレビュー料金が適用されているので、とても安いです。ただし、他のAzureのサービスと異なり、Inboundの転送量がかかることに気をつける必要はありそうです。\nazure.microsoft.com\nその他気になること カスタムドメインの設定はCNAMEが必須なため、Zone Apexなドメイン(nnasaki.com)に設定が難しい Azure DNS ではZone ApexにCNAMEを設定することはできない\nAliasが設定できるようになったので今後の対応に期待 Announcing Alias records for Azure DNS | Blog | Microsoft Azure\nカスタムドメインのFront Door Managedな証明書発行が遅い Azure CDNと同様の仕組みだと思うけど、1時間以上かかった\nｼｯﾊﾞﾔｰﾝがLet\u0026rsquo;s Encrypt証明書発行をKey Vaultに対応中との噂があるので期待。 shibayan/azure-appservice-letsencrypt: Easy automation of Let\u0026rsquo;s Encrypt for Azure App Service (Web Apps / Functions)\nキャッシュのパージがポータルからできない Issueは出ている。対応中\nUnable to find where to purge cache · Issue #15523 · MicrosoftDocs/azure-docs\nAPIはある模様 azure-rest-api-specs/frontdoor.json at master · Azure/azure-rest-api-specs\nhttpからhttpsのリダイレクトが未サポート？ 機能としてあるかどうかわからないので質問中\nDoes Front Door supported HTTP to HTTPS redirection? · Issue #15639 · MicrosoftDocs/azure-docs\n表記のゆらぎが気になる。統一して欲しい。 ポータルではAzure Front Doorsだったり\nAnnouncing では Azure Front Door Services だったり まとめ プレビューということで荒削りなところはまだありますが、今後の展開に期待したいと思います。転送量が数GBならば100円もかからない料金設定は、スモールスタートにも最適と感じました。\n参考リンク Announcing public preview of Azure Front Door Services | Blog | Microsoft Azure Azure Front Door Service Documentation (Preview) | Microsoft Docs ","permalink":"/entry/2018/09/26/161128/","summary":"\u003cp\u003eMicrosoft Ignite が開催されています。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.microsoft.com/en-us/ignite\"\u003ewww.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eAzure 関連も次々にいろいろなサービスが出ています。詳しくはブチザッキを参照していただければと。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://buchizo.wordpress.com/2018/09/25/azure-update-2018-09-25/\"\u003eAzure Update (2018.09.25) | ブチザッキ\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://buchizo.wordpress.com/2018/09/25/microsoft-ignite-2018-day1-keynote/\"\u003eMicrosoft Ignite 2018 Day1 Keynote | ブチザッキ\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e今回は新サービスの Azure Front Door Service が気になったので取り上げます。\u003c/p\u003e\n\u003ch3 id=\"azure-front-door-service-とは\"\u003eAzure Front Door Service とは？\u003c/h3\u003e\n\u003cp\u003eL7ロードバランサー、CDN、WAFがセットになったようなサービスで、リージョンごとではなくグローバルに展開します。バックエンドプールにWeb AppsやVMなどを指定できます。Front Doorとバックエンドプール間のネットワークはMicrosoftのWANを通るので更に高速とのことです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20180926151031.png\" alt=\"f:id:nnasaki:20180926151031p:plain\" title=\"f:id:nnasaki:20180926151031p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20180926151031p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e(\u003ca href=\"https://azure.microsoft.com/en-us/blog/announcing-public-preview-of-azure-front-door-service/\"\u003eAnnouncing public preview of Azure Front Door Services | Blog | Microsoft Azure\u003c/a\u003eより転載)\u003c/p\u003e\n\u003cp\u003eポイントはグローバルに展開するので、リージョン間のフェールオーバーが簡単にできるという点です。従来ですとTraffice Manager, Application Gateway, CDNを組み合わせていましたが、単一サービスで実現可能となりました。\u003c/p\u003e\n\u003ch3 id=\"試してみた\"\u003e試してみた\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://docs.microsoft.com/en-us/azure/frontdoor/quickstart-create-front-door\"\u003eAzure Quickstart - Create a Front Door profile for high availability of applications using the Azure portal | Microsoft Docs\u003c/a\u003e を早速試してみました。\u003c/p\u003e","title":"新サービス Azure Front Door Service がリリース。グローバルL7LB, CDN, WAFの全部入り。早速使ってみた。"},{"content":"study-ruby-at-sendai.connpass.com\nGitLabエバンジェリストの佐藤さんから LT しませんかー、とお声がけいただいたので久しぶりに喋って来ました。\n特に難しいことは省いて、VM を使わずに App Service で動かせるんだよって話をして来ました。\nアンケートとったら Azure で Rails が動くということは一人しかいなかったので、まだまだ布教が必要だなぁと感じました。\n発表したスライドはこちらです。\n** Ruby on Rails on Azure ** from Masaki Yamamoto www.slideshare.net\n","permalink":"/entry/2018/08/06/201532/","summary":"\u003cp\u003e\u003ca href=\"https://study-ruby-at-sendai.connpass.com/event/90402/\"\u003estudy-ruby-at-sendai.connpass.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eGitLabエバンジェリストの佐藤さんから LT しませんかー、とお声がけいただいたので久しぶりに喋って来ました。\u003c/p\u003e\n\u003cp\u003e特に難しいことは省いて、VM を使わずに App Service で動かせるんだよって話をして来ました。\u003c/p\u003e\n\u003cp\u003eアンケートとったら Azure で Rails が動くということは一人しかいなかったので、まだまだ布教が必要だなぁと感じました。\u003c/p\u003e\n\u003cp\u003e発表したスライドはこちらです。\u003c/p\u003e\n\u003cp\u003e** \u003ca href=\"https://www.slideshare.net/YamamotoMasaki/ruby-on-railson-azure\"\u003eRuby on Rails on Azure\u003c/a\u003e ** from \u003cstrong\u003e\u003ca href=\"https://www.slideshare.net/YamamotoMasaki\"\u003eMasaki Yamamoto\u003c/a\u003e\u003c/strong\u003e \u003ca href=\"https://www.slideshare.net/YamamotoMasaki/ruby-on-railson-azure/\"\u003ewww.slideshare.net\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"第3回 はじめてのRuby勉強会 in 仙台 に登壇しました"},{"content":"Microsoft MVP は1年ごとの更新となっており、今回で5回目(5年目)となります。\n過去の記事 過去の受賞記事を貼っておきます。2016年は記事に書いていなかった。まだそんなに時間がたっていないつもりでしたが時が流れるのは早いですね。\nblog.nnasaki.com\nblog.nnasaki.com\nblog.nnasaki.com\nふりかえり 昨年の目標は2点ありました。\n自分はサトヤ仙台とJAZUG東北(Japan Azure User Group)のコミュニティ活動を継続して行い、仙台と東北でコミュニティを形成していくということは2014年から一貫して変わりません。\nコミュニティはコアメンバーの転居などもあり、昨年はあまり出来ていなかったと思います。\nまた、今年あえてチャレンジしたいことといえば、インフラ技術面を深掘りしたいです。具体的には Azure Container Service を活用して、dockerやkubernetesといったコンテナ技術を駆使した、アプリケーションプラットフォームの構築です。Blogで公開するのももちろんですが、実案件で使っていけるよう準備していければと思います。\nこちらは実案件でも ACS や docker, kubernetes を活用しています。\n仕事が忙しかったのでコミュニティイベントはあまり開催できませんでした。インプットはおかげさまで大分たまりましたので、コミュニティに還元してアウトプットを増やしたいと思います。\nもしかしたら少人数の勉強会会場を提供できるようになるかもしれません。\nまた1年、悔いの無いように活動していきたいと思います。\n","permalink":"/entry/2018/07/02/155459/","summary":"\u003cp\u003eMicrosoft MVP は1年ごとの更新となっており、今回で5回目(5年目)となります。\u003c/p\u003e\n\u003ch3 id=\"過去の記事\"\u003e過去の記事\u003c/h3\u003e\n\u003cp\u003e過去の受賞記事を貼っておきます。2016年は記事に書いていなかった。まだそんなに時間がたっていないつもりでしたが時が流れるのは早いですね。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://blog.nnasaki.com/entry/2017/07/04/060000\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2015/07/01/233428\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2014/07/01/231905\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"ふりかえり\"\u003eふりかえり\u003c/h3\u003e\n\u003cp\u003e昨年の目標は2点ありました。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e自分はサトヤ仙台とJAZUG東北(Japan Azure User Group)のコミュニティ活動を継続して行い、仙台と東北でコミュニティを形成していくということは2014年から一貫して変わりません。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eコミュニティはコアメンバーの転居などもあり、昨年はあまり出来ていなかったと思います。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eまた、今年あえてチャレンジしたいことといえば、インフラ技術面を深掘りしたいです。具体的には Azure Container Service を活用して、dockerやkubernetesといったコンテナ技術を駆使した、アプリケーションプラットフォームの構築です。Blogで公開するのももちろんですが、実案件で使っていけるよう準備していければと思います。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eこちらは実案件でも ACS や docker, kubernetes を活用しています。\u003c/p\u003e\n\u003cp\u003e仕事が忙しかったのでコミュニティイベントはあまり開催できませんでした。インプットはおかげさまで大分たまりましたので、コミュニティに還元してアウトプットを増やしたいと思います。\u003c/p\u003e\n\u003cp\u003eもしかしたら少人数の勉強会会場を提供できるようになるかもしれません。\u003c/p\u003e\n\u003cp\u003eまた1年、悔いの無いように活動していきたいと思います。\u003c/p\u003e\n\u003chr\u003e","title":"Microsoft MVP for Microsoft Azure 2018-2019 を再受賞しました"},{"content":"GA しました。これでプロダクション環境でも安心して使用出来ます。\nazure.microsoft.com\nAKS is now generally available in ten regions across three continents, and we expect to add ten more regions in the coming months!\nただし、東日本・西日本リージョンではまだ使えず、数ヶ月以内には使えるようになるかと思います。\nf:id:nnasaki:20180615054931p:plain ","permalink":"/entry/2018/06/15/055508/","summary":"\u003cp\u003eGA しました。これでプロダクション環境でも安心して使用出来ます。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://azure.microsoft.com/ja-jp/blog/azure-kubernetes-service-aks-ga-new-regions-new-features-new-productivity/\"\u003eazure.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eAKS is now generally available in ten regions across three continents, and we expect to add ten more regions in the coming months!\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eただし、東日本・西日本リージョンではまだ使えず、数ヶ月以内には使えるようになるかと思います。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20180615054931.png\" alt=\"f:id:nnasaki:20180615054931p:plain\" title=\"f:id:nnasaki:20180615054931p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20180615054931p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003chr\u003e","title":"Azure Kubernetes Service (AKS) が GA しました"},{"content":"たなかさんが https 化すると PV が8倍になるというので、https 化を決意した。\n. @kazuakix はてなブログHTTPS化したら、PVが8倍に上がったので、今すぐのHTTPS化をおすすめします pic.twitter.com/8AMtQA7pXj— たなか (@tanaka_733) June 12, 2018\nhttps 化は非常に簡単だった。ボタン押して \u0026lt;meta http-equiv=\u0026quot;Content-Security-Policy\u0026quot; content=\u0026quot;upgrade-insecure-requests\u0026quot;\u0026gt; 設定しただけ。\n証明書は Let\u0026rsquo;s Encrypt でした。\nf:id:nnasaki:20180615054456p:plain 誰でも手軽に SSL が使えるようになって良い時代になりましたね。\n","permalink":"/entry/2018/06/15/054636/","summary":"\u003cp\u003eたなかさんが https 化すると PV が8倍になるというので、https 化を決意した。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e. \u003ca href=\"https://twitter.com/kazuakix?ref_src=twsrc%5Etfw\"\u003e@kazuakix\u003c/a\u003e  はてなブログHTTPS化したら、PVが8倍に上がったので、今すぐのHTTPS化をおすすめします \u003ca href=\"https://t.co/8AMtQA7pXj\"\u003epic.twitter.com/8AMtQA7pXj\u003c/a\u003e— たなか (@tanaka_733) \u003ca href=\"https://twitter.com/tanaka_733/status/1006397319208550400?ref_src=twsrc%5Etfw\"\u003eJune 12, 2018\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003ehttps 化は非常に簡単だった。ボタン押して \u003ccode\u003e\u0026lt;meta http-equiv=\u0026quot;Content-Security-Policy\u0026quot; content=\u0026quot;upgrade-insecure-requests\u0026quot;\u0026gt;\u003c/code\u003e 設定しただけ。\u003c/p\u003e\n\u003cp\u003e証明書は Let\u0026rsquo;s Encrypt でした。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20180615054456.png\" alt=\"f:id:nnasaki:20180615054456p:plain\" title=\"f:id:nnasaki:20180615054456p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20180615054456p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e誰でも手軽に SSL が使えるようになって良い時代になりましたね。\u003c/p\u003e\n\u003chr\u003e","title":"はてなブログを https 化しました"},{"content":"support.sendgrid.kke.co.jp)\nSendGridは利用規約が厳しく、メールを送る会社が契約をする必要がある。\n例えば、A社から構築を委託されたB社が、構造計画研究所のSendGridを契約して、A社としてメールを送信すると利用規約違反となってしまう。B社がA社と関連するグループ会社だとしてもダメ。\nAzureからメールを送信する場合はSendGridを使うことが多いので、構築を委託されると結構困るパターンが多いと思われる。\nただし、この利用規約は構造計画研究所のSendGridを契約したときに適用されるもので、AzureのMarketplaceから購入したSendGridはSendGrid社との契約なので別である。\nSendGrid社の利用規約は英語になる。\nsendgrid.com\n従って自分の利用方法が適合するかどうかは、英語でSendGrid社に直接問い合わせする必要がある。\nsupport.sendgrid.com\n実際サポートに問い合わせたところ、すぐに返事が来て解決した。適合例はケースバイケースだと思うので、この記事でこの場合は大丈夫とは断言出来ない。各自、心配な場合は問い合わせをすべきだと思いました。\n","permalink":"/entry/2018/02/16/115757/","summary":"\u003cp\u003e\u003ca href=\"https://support.sendgrid.kke.co.jp/hc/ja/articles/205590193\"\u003esupport.sendgrid.kke.co.jp\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eSendGridは利用規約が厳しく、メールを送る会社が契約をする必要がある。\u003c/p\u003e\n\u003cp\u003e例えば、A社から構築を委託されたB社が、構造計画研究所のSendGridを契約して、A社としてメールを送信すると利用規約違反となってしまう。B社がA社と関連するグループ会社だとしてもダメ。\u003c/p\u003e\n\u003cp\u003eAzureからメールを送信する場合はSendGridを使うことが多いので、構築を委託されると結構困るパターンが多いと思われる。\u003c/p\u003e\n\u003cp\u003eただし、この利用規約は構造計画研究所のSendGridを契約したときに適用されるもので、\u003cstrong\u003eAzureのMarketplaceから購入したSendGridはSendGrid社との契約なので別である\u003c/strong\u003e。\u003c/p\u003e\n\u003cp\u003eSendGrid社の利用規約は英語になる。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://sendgrid.com/policies/tos/\"\u003esendgrid.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e従って自分の利用方法が適合するかどうかは、英語でSendGrid社に直接問い合わせする必要がある。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://support.sendgrid.com/hc/en-us\"\u003esupport.sendgrid.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e実際サポートに問い合わせたところ、すぐに返事が来て解決した。適合例はケースバイケースだと思うので、この記事でこの場合は大丈夫とは断言出来ない。各自、心配な場合は問い合わせをすべきだと思いました。\u003c/p\u003e\n\u003chr\u003e","title":"SendGridのライセンスの譲渡および二次ライセンスが不可について"},{"content":"タイトル長い。\nAutomation Accountを削除しようとしたら次のエラーが出た\n\u0026lsquo;automation-account\u0026rsquo; という名前の Automation アカウントの削除中にエラーが発生しました。 エラーの詳細: Conflict: Automation account is linked to a workspace. SubscriptionId: xxxxxxxxxxxx\nOMSのワークスペースからソリューションを削除してから、Automation Account のOMSワークスペースリンク削除。からの、Automation Account削除。で出来た。\n","permalink":"/entry/2018/02/16/114049/","summary":"\u003cp\u003eタイトル長い。\u003c/p\u003e\n\u003cp\u003eAutomation Accountを削除しようとしたら次のエラーが出た\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u0026lsquo;automation-account\u0026rsquo; という名前の Automation アカウントの削除中にエラーが発生しました。 エラーの詳細: Conflict: Automation account is linked to a workspace. SubscriptionId: xxxxxxxxxxxx\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eOMSのワークスペースからソリューションを削除してから、Automation Account のOMSワークスペースリンク削除。からの、Automation Account削除。で出来た。\u003c/p\u003e\n\u003chr\u003e","title":"ソリューションが追加されたOMSワークスペースに関連付けされたAutomation Accountの削除方法"},{"content":"docs.microsoft.com\nAutomation アカウントを作成するには、Azure AD ユーザー アカウントが、Microsoft.Automation リソースの所有者ロールに相当するアクセス許可を持つロールに追加されている必要があります。 詳細については、「Azure Automation におけるロールベースのアクセス制御」を参照してください。 Azure Portal の [Azure Active Directory] \u0026gt; [管理] \u0026gt; [アプリの登録] で、([アプリの登録] が [はい] に設定されている場合)、Azure AD テナント内の管理者以外のユーザーは Active Directory アプリケーションを登録できます。 [アプリの登録] が [いいえ] に設定されている場合、このアクションを実行するユーザーは Azure AD 内のグローバル管理者である必要があります。 [Azure Active Directory] \u0026gt; [管理] \u0026gt; [アプリの登録] はデフォルトで [いいえ] なので Azure AD 内のグローバル管理者 が必要になる。\nポータルからの登録方法\ndocs.microsoft.com\n制限付き管理者の一覧 https://docs.microsoft.com/ja-jp/azure/active-directory/active-directory-assign-admin-roles-azure-portal\nサブスクリプションとAAD管理者の違いはこれがわかりやすい。https://blogs.technet.microsoft.com/jpazureid/2017/11/04/azure-subscription-azuread-admin/\n","permalink":"/entry/2018/02/16/113741/","summary":"\u003cp\u003e\u003ca href=\"https://docs.microsoft.com/ja-jp/azure/automation/automation-create-standalone-account#permissions-required-to-create-an-automation-account\"\u003edocs.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAutomation アカウントを作成するには、Azure AD ユーザー アカウントが、Microsoft.Automation リソースの所有者ロールに相当するアクセス許可を持つロールに追加されている必要があります。 詳細については、「Azure Automation におけるロールベースのアクセス制御」を参照してください。\u003c/li\u003e\n\u003cli\u003eAzure Portal の [Azure Active Directory] \u0026gt; [管理] \u0026gt; [アプリの登録] で、([アプリの登録] が [はい] に設定されている場合)、Azure AD テナント内の管理者以外のユーザーは Active Directory アプリケーションを登録できます。 [アプリの登録] が [いいえ] に設定されている場合、このアクションを実行するユーザーは Azure AD 内のグローバル管理者である必要があります。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e[Azure Active Directory] \u0026gt; [管理] \u0026gt; [アプリの登録] はデフォルトで [いいえ] なので Azure AD 内のグローバル管理者 が必要になる。\u003c/p\u003e\n\u003cp\u003eポータルからの登録方法\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/resource-group-create-service-principal-portal#required-permissions\"\u003edocs.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e制限付き管理者の一覧 \u003ca href=\"https://docs.microsoft.com/ja-jp/azure/active-directory/active-directory-assign-admin-roles-azure-portal\"\u003ehttps://docs.microsoft.com/ja-jp/azure/active-directory/active-directory-assign-admin-roles-azure-portal\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eサブスクリプションとAAD管理者の違いはこれがわかりやすい。\u003ca href=\"https://blogs.technet.microsoft.com/jpazureid/2017/11/04/azure-subscription-azuread-admin/\"\u003ehttps://blogs.technet.microsoft.com/jpazureid/2017/11/04/azure-subscription-azuread-admin/\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"AzureADとサブスクリプションとサービスプリンシパル"},{"content":"この記事は Kubernetes2 Advent Calendar 2017 - Qiita の22日目です。\nMicrosoft Azure はコンテナをサポートしており、 Kubernetes を使う方法は主に３つあります。\nAzure Container Service (ACS) Azure Container Service Engine Azure Container Service (AKS) 2 の ACS Engine につきましては、ACS Engineを利用してAzure上にkubernetesをdeploy！ | 技術的な何か。 にて記事が既にありますので、そちらをご参照ください。\n今回は 3 の Azure Container Service (AKS) について説明します。\n余談ですが、AKS の 「K」 は Container ではなく、 GCP や AWS と同様に Azure Kubernetes Service としてもらったほうが ACS と見分けが付きやすいのになぁと思ってます。\nAzure Container Service (AKS) とは？ 完全に Managed な Kubernetes のクラスターです。マスターは Microsoft によって管理され無料です。エージェントノードは VM の分だけ課金されます。クラスターのアップグレード、クラスターのスケールアウトなどがサポートされます。\nACS, ACS Engine, AKS どれを選べば良いの？ ACS との大きな違いは AKS はマスターの課金が無いことです。AKS は Managed で手間いらずな反面、カスタマイズに乏しいので VNET との統合などよりカスタマイズが必要であれば、ACS Engine を選択するべきだと思います。 Kubernetes を使うにあたって、 ACS を選択する理由は SLA が必要であればとリージョンぐらいで、積極的に選択する理由は無いと思っています。\nまとめると次のとおりです。\nACS SLA が欲しい\n日本リージョンで使いたい\nACS Engine\nkubernetes のカスタマイズがしたい\nAKS プレビューを受け入れられる\nリージョンは問わない Kubernetes の管理はなるべく手間をかけたくない また余談ですが、単純に Web アプリを Docker コンテナを動かしたいだけであれば、 Azure Container Instancesが便利です。また、production, staging, development などの複数環境でブルーグリーンデプロイをしたいのであれば、Web App for Containersが便利です。\nkubernetes よりお手軽にコンテナを運用出来ますので、是非あわせてお試しください。\nAKS の作り方 早速試してみましょう。今回は次のクイックスタートを行ってみます。\ndocs.microsoft.com\n非常に簡単です。次のデモをご覧下さい。（Introducing AKS (managed Kubernetes) and Azure Container Registry improvements | Blog | Microsoft Azureより引用)\nf:id:nnasaki:20171221125017g:plain Azure Account を持っている人は次の Launch Cloud Shell のボタンを押すと、すぐに試すことが出来ます。\n[\nLaunch Cloud Shell ](https://shell.azure.com/bash)\nアカウントをお持ちで無い方は、無料サインアップでアカウントを作成してください。AKS はすべて無料枠で試すことが可能です。\nCloud Shell にて次の３行を入力するだけで、kubernetesクラスターが立ち上がります。\naz provider register -n Microsoft.ContainerService az group create --name myResourceGroup --location eastus az aks create --resource-group myResourceGroup --name myK8sCluster --node-count 1 --generate-ssh-keys AKS の使い方 通常の kubernetes と変わりません。\nCloud Shell では kubectl が既に入っているので、 az aks get-credentials --resource-group myResourceGroup --name myK8sCluster をしてクレデンシャルを引っ張ってくれば、kubectl にて操作できるようになります。\n例えば kubectl get nodes をすればノードの一覧が表示されます。\n出力例：\nNAME STATUS ROLES AGE VERSION aks-nodepool1-34892656-0 Ready agent 1h v1.7.7 アプリケーションの実行方法 通常の kubernetes と変わりません。yml を作成して、kubectl create すれば実行されます。サンプルで提供されている azure-vote.yml を Cloud Shell 上で作成します。 cat \u0026gt; azure-vote.yml などで以下をコピペして作って下さい。\napiVersion: apps/v1beta1 kind: Deployment metadata: name: azure-vote-back spec: replicas: 1 template: metadata: labels: app: azure-vote-back spec: containers: - name: azure-vote-back image: redis ports: - containerPort: 6379 name: redis --- apiVersion: v1 kind: Service metadata: name: azure-vote-back spec: ports: - port: 6379 selector: app: azure-vote-back --- apiVersion: apps/v1beta1 kind: Deployment metadata: name: azure-vote-front spec: replicas: 1 template: metadata: labels: app: azure-vote-front spec: containers: - name: azure-vote-front image: microsoft/azure-vote-front:redis-v1 ports: - containerPort: 80 env: - name: REDIS value: \u0026#34;azure-vote-back\u0026#34; --- apiVersion: v1 kind: Service metadata: name: azure-vote-front spec: type: LoadBalancer ports: - port: 80 selector: app: azure-vote-front 作成後 kubectl create -f azure-vote.yml でアプリケーションを実行します。\nアプリケーションを確認する 実行後サービス開始までには時間がかかります。 kubectl get service azure-vote-front --watch にて azure-vote-front サービスの EXTERNAL-IP が \u0026lt;pending\u0026gt; から IP アドレスに変わりましたらブラウザにてアクセス可能になります。\nf:id:nnasaki:20171222001500p:plain AKS を削除する 試し終わりましたら、次のコマンドですべてのリソースを削除できます。削除が終われば課金が止まります。\naz group delete --name myResourceGroup --yes --no-wait まとめ Azure でも Kubernetes サポートに力を入れていることをご紹介いたしました。\n開発体制もかなり強化しており、Kubernetes co-founder である brendandburns(@brendandburns)氏 が Microsoft に Join しています。Deis, Inc. | The Kubernetes Company を買収したりしています。\nKubernetes を使う際は是非 Azure も選択肢の1つとしてお選びください。\n","permalink":"/entry/kubernetes2-advent-calendar-2017-12-22/","summary":"\u003cp\u003eこの記事は \u003ca href=\"https://qiita.com/advent-calendar/2017/kubernetes2\"\u003eKubernetes2 Advent Calendar 2017 - Qiita\u003c/a\u003e の22日目です。\u003c/p\u003e\n\u003cp\u003eMicrosoft Azure はコンテナをサポートしており、 Kubernetes を使う方法は主に３つあります。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.microsoft.com/ja-jp/azure/container-service/kubernetes/\"\u003eAzure Container Service (ACS)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/acs-engine\"\u003eAzure Container Service Engine\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.microsoft.com/ja-jp/azure/aks/\"\u003eAzure Container Service (AKS)\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e2 の ACS Engine につきましては、\u003ca href=\"http://level69.net/archives/25206\"\u003eACS Engineを利用してAzure上にkubernetesをdeploy！ | 技術的な何か。\u003c/a\u003e にて記事が既にありますので、そちらをご参照ください。\u003c/p\u003e\n\u003cp\u003e今回は 3 の Azure Container Service (AKS) について説明します。\u003c/p\u003e\n\u003cp\u003e余談ですが、AKS の 「K」 は Container ではなく、 GCP や AWS と同様に Azure Kubernetes Service としてもらったほうが ACS と見分けが付きやすいのになぁと思ってます。\u003c/p\u003e\n\u003ch3 id=\"azure-container-service-aks--とは\"\u003eAzure Container Service (AKS)  とは？\u003c/h3\u003e\n\u003cp\u003e完全に Managed な Kubernetes のクラスターです。マスターは Microsoft によって管理され無料です。エージェントノードは VM の分だけ課金されます。クラスターのアップグレード、クラスターのスケールアウトなどがサポートされます。\u003c/p\u003e","title":"Azure で Kubernetes を使ってみよう"},{"content":"Microsoft Azure Advent Calendar 2017 16日目の記事です。\nqiita.com\nこれはなに？ Logic Apps で Azure Blob Storage に保存されたファイルを定期的にお掃除します。\n皆さんそろそろ年末の大掃除の季節ですよね？大掃除毎年大変ですよね？でも、お掃除は毎日やっていれば大掃除しなくて済みますよね？でも、面倒臭いですよね？\nそうですよね。毎日やりましょう。それもお手軽簡単に。\n今回のイメージは次の図のような感じです。例えば Linux から cron で定期的に Azure Blob Storage に保存されているファイル（ログとかDBバックアップとか）を、Logic Apps で毎晩30日より古いファイルを削除します。\nf:id:nnasaki:20171214105954p:plain Logic Apps についてはリンク先を見てください。簡単にいうとコーディング無しでサーバーレスで動きます。\nazure.microsoft.com\nなにが嬉しいの？ 沢山あります。某牛丼風に言うとこんな感じです。\n安い １アクション ¥0.002856 円！\n1000 アクションで ¥2.8 円です\n毎日定期実行で年間数円レベルですよ\n早い\n実行速度はそんなに速くありませんが、生産性がめちゃめちゃ高いです。すぐ作れます。\n今まで何世代前削除というのをシェルでゴニョゴニョ書いてcronで回すという手間が省けます\nうまい\nSLAがついていますので安心して実行を任せられます\n実行したログも残りますのでエビデンスガー勢も押さえ込めます ね？もう VM 立てて cron でバッチとかやる必要無いでしょ？\nどうやるの？ Azure Storage にBackup をする Linux から Azure Storage にバックアップを保存。今回の本題から外れるので省略します。 Azure CLI 2.0 などを使ってシェルを作成し、cron で回したりすれば出来ます。 Linux からの Backup は結局 cron 使うのかよっていうツッコミはとりあえず置いておきます。\nLogic Apps を作成する ポータルから Logic Apps を作成し、テンプレートのカテゴリで「スケジュール」を選択後、「Delete old Azure blobs」を選択\nf:id:nnasaki:20171213150541p:plain 「このテンプレートを使用する」を選択\nf:id:nnasaki:20171213151218p:plain 「作成」を選択\nf:id:nnasaki:20171213151406p:plain 「接続名」に名前を入力し、「ストレージアカウント」を選択して、「作成」をクリック\nf:id:nnasaki:20171213151529p:plain 「続行」をクリック\nf:id:nnasaki:20171213151634p:plain 沢山出てきますが、ひとつひとつ設定していきます。\nf:id:nnasaki:20171213152356p:plain Recurrence 繰り返す頻度です。デフォルトで1日1回になっています。 これで良ければ変更する必要はありません。\nf:id:nnasaki:20171213152006p:plain Set expiration age variable 何日前のファイルを消すか設定します。デフォルトは30日前です。 これで良ければ変更する必要はありません。\nf:id:nnasaki:20171213152420p:plain List blobs 削除対象のフォルダーを指定します。必須です。\nf:id:nnasaki:20171213152528p:plain 今回は backup-test を選択しました。\nf:id:nnasaki:20171213152743p:plain For each 実際の削除処理です。先ほど選択したフォルダ内のファイルを1つずつ最終更新日時を見て、 Set expiration age variable で設定した日数より古ければ削除します。特にここも変更する必要はありません。\nf:id:nnasaki:20171213152615p:plain 最後に保存して完了です。\nLogic Apps を実行する 実行は1日に1回されますが、すぐに確認したい場合は「概要」の「トリガーの実行」をクリックします。\nf:id:nnasaki:20171213153741p:plain 起動に成功すればこのように実行の履歴に「成功」と表示されます。\nf:id:nnasaki:20171213153850p:plain さらに、履歴をクリックすると、「実行の履歴」を表示します。\nf:id:nnasaki:20171213154007p:plain さらに、各項目をクリックすると実行結果も表示してくれるのでデバッグも楽ですね。\nf:id:nnasaki:20171213154121p:plain ファイルを確認すると本日(執筆時点の12/13)のファイルがあるときに実行したしたので、まだ消されていませんでした。\nf:id:nnasaki:20171213154455p:plain まとめ Logic Apps 便利で簡単で良いですね！\n【オマケ】本当に動いているかテストする ここから下は本当に動作しているか不安な人向けの記述です。手っ取り早く試したい人には不要なので読まなくて良いです。オマケのほうが本編より長いので。\nさきほどは31日前のファイルが実際に削除するかは確認出来ませんでした。というのも、Azure Blob Storage の最終更新日(last-modified)を参照しているのですが、このプロパティはユーザーが手動で変更出来ないためです。\nそこで、今回はストレージに meta-data を手動で付与して、強制的に31日前にして動作確認することにしました。\n流れとしてはこんな感じです。先の Logic Apps に追加分を【追加】としています。\n【追加】Storage の meta-data に date を設定する 【追加】Storage の SAS トークンを取得 ファイルの一覧を取得 一覧をループ 【追加】ファイルの meta-data から日付を取得\n【追加】ファイルの meta-data で比較して削除する 順番に見ていきましょう\n【追加】Storage の meta-data に date を設定する 動作確認なので portal にて設定してしまいましょう。 BLOBのメタデータの編集は次の図のようにクリックしていきます。\nf:id:nnasaki:20171214123530p:plain キーに date を追加し、値に 2017-12-13T06:01:56+00:00 を入れて保存。\nf:id:nnasaki:20171214123559p:plain 削除したいファイルのほうはとりあえず11/1にしてみましょう。 同じようにキーに date を追加し、値に 2017-11-01T06:01:56+00:00 を入れて保存。\n【追加】Storage の SAS トークンを取得 上記で設定した meta-data ですが、Logic Apps の Storage Connector から取得する方法がありません。 そこで、後述の「【追加】ファイルの meta-data から日付を取得」にて Storage の REST API を使用して取得します。この Storage の REST API の呼び出しは認証が必要でして、認証には Storage の SAS トークン（認証トークンのようなもの）取得が別途必要です。若干込み入った処理になりますので、今回は次の Azure Functions をデプロイして使います。\ngithub.com\n上記を Azure Functions に展開して、Logic Apps から REST API を呼び出すアクションを加えます。アクションの追加は「＋」のボタンを押すことで追加できます。次のような設定になりました。\nf:id:nnasaki:20171214124402p:plain ファイルの一覧を取得 ここは変更ありません。\n一覧をループ 【追加】ファイルの meta-data から日付を取得 For each の最初に次のような感じで追加します。\nf:id:nnasaki:20171214125004p:plain URI の部分は手動で設定が必要です。Logic Apps 上部のコードビューをクリックしてコードで編集します。\nf:id:nnasaki:20171214143714p:plain アクション名に「Get metadata」と付けていたので、「Get_metadata」で検索します。（スペースがアンダースコアに変わっているのに注意してください）\nuriの部分に https://[ストレージアカウント名].blob.core.windows.net/[ストレージコンテナ名]/@{items('For_each')?['DisplayName']}?comp=metadata\u0026amp;@{body('Get_storage_SAS_token')?['token']} と入れてください。 @{body('Get_storage_SAS_token')?['token']} が Azure Functions を呼び出したアクションの Response Body 中の JSON token の部分となります。\nf:id:nnasaki:20171214143921p:plain 【追加】ファイルの meta-data で比較して削除する 先ほどのコードビューにてループの Condition の expression を先ほど取得した meta-data の date を使用するように変更します。\n下図の expression の部分を @less(ticks(outputs('Get_metadata')['headers']?['x-ms-meta-date']), ticks(addDays(utcnow(), variables('ExpirationAgeInDays')))) と書き換えます。\nmeta-data は REST API の Response Header に x-ms-meta- と付いてくるので注意してください。\nf:id:nnasaki:20171214144603p:plain この辺の書き方はちょっと慣れが必要ですが、ある程度 MS 系で XML をいじったことがある人は、なんとなく雰囲気で理解できるかと思います。文法など詳しいドキュメントはこちらにあります。\ndocs.microsoft.com\n実行結果 １日も待っていられないのでまた、トリガーで実行してみます。今回２個のファイルを入れました。早速実行結果を見てみましょう。\n１個目は条件を満たしていないのでスキップされました。\nf:id:nnasaki:20171214150244p:plain ２個目は For each の「次へ」をクリックすると確認できます。先ほどと違って削除されました。\nf:id:nnasaki:20171214150415p:plain 【オマケ】まとめ 動作テストついでに Logic Apps の組み方をちょっと説明してみました。こんな感じでチャチャっと組めます。足りない機能は Azure Functions を使ったり、アクションを追加すれば解決出来ます。料金も格安ですので、皆さん是非使ってくださいね！\n尚、Logic Apps は日本語のユーザーグループ LogicFlow-ja があります。ご興味のある方は参加してください。\n","permalink":"/entry/azure-advent-calendar-2017-12-16/","summary":"\u003cp\u003e\u003ca href=\"https://qiita.com/advent-calendar/2017/azure\"\u003eMicrosoft Azure Advent Calendar 2017\u003c/a\u003e 16日目の記事です。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://qiita.com/advent-calendar/2017/azure\"\u003eqiita.com\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"これはなに\"\u003eこれはなに？\u003c/h3\u003e\n\u003cp\u003eLogic Apps で Azure Blob Storage に保存されたファイルを定期的にお掃除します。\u003c/p\u003e\n\u003cp\u003e皆さんそろそろ年末の大掃除の季節ですよね？大掃除毎年大変ですよね？でも、お掃除は毎日やっていれば大掃除しなくて済みますよね？でも、面倒臭いですよね？\u003c/p\u003e\n\u003cp\u003eそうですよね。毎日やりましょう。それもお手軽簡単に。\u003c/p\u003e\n\u003cp\u003e今回のイメージは次の図のような感じです。例えば Linux から cron で定期的に Azure Blob Storage に保存されているファイル（ログとかDBバックアップとか）を、Logic Apps で毎晩30日より古いファイルを削除します。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20171214105954.png\" alt=\"f:id:nnasaki:20171214105954p:plain\" title=\"f:id:nnasaki:20171214105954p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20171214105954p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eLogic Apps についてはリンク先を見てください。簡単にいうとコーディング無しでサーバーレスで動きます。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://azure.microsoft.com/ja-jp/services/logic-apps/\"\u003eazure.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"なにが嬉しいの\"\u003eなにが嬉しいの？\u003c/h3\u003e\n\u003cp\u003e沢山あります。某牛丼風に言うとこんな感じです。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e安い\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e１アクション ¥0.002856 円！\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e1000 アクションで ¥2.8 円です\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e毎日定期実行で年間数円レベルですよ\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e早い\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e実行速度はそんなに速くありませんが、生産性がめちゃめちゃ高いです。すぐ作れます。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e今まで何世代前削除というのをシェルでゴニョゴニョ書いてcronで回すという手間が省けます\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eうまい\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSLAがついていますので安心して実行を任せられます\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e実行したログも残りますのでエビデンスガー勢も押さえ込めます\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eね？もう VM 立てて cron でバッチとかやる必要無いでしょ？\u003c/p\u003e\n\u003ch3 id=\"どうやるの\"\u003eどうやるの？\u003c/h3\u003e\n\u003ch4 id=\"azure-storage-にbackup-をする\"\u003eAzure Storage にBackup をする\u003c/h4\u003e\n\u003cp\u003eLinux から Azure Storage にバックアップを保存。今回の本題から外れるので省略します。\nAzure CLI 2.0 などを使ってシェルを作成し、cron で回したりすれば出来ます。\nLinux からの Backup は結局 cron 使うのかよっていうツッコミはとりあえず置いておきます。\u003c/p\u003e","title":"サーバーレスでお手軽 Storage お掃除"},{"content":"「さとうなおきの「週刊アジュール」 ― 第13回」を見ていたところ、「Microsoft Azure開発者ガイド（第2版）」と「Azureアプリケーションアーキテクチャガイド」が公開されていることを思い出しました。\nascii.jp\nどちらもこれから Azure を始める人にも既に Azure を使っている人にも役立つと思いますので、是非目を通しておくことをオススメします。\n「Microsoft Azure開発者ガイド（第2版）」 開発者とついていますので難しく感じますが、インフラやはじめての人にもお勧めでです。\nAzure の各サービスの概要がまとまっていて、どんなことが出来るかというのが理解しやすく感じました。中々こういった資料って無いので貴重に感じました。\nazure.microsoft.com\n「Azureアプリケーションアーキテクチャガイド」 こちらは高度な内容が含まれていますが、実際にアプリケーションを設計する際のヒントが沢山あります。Azure を使い始めていたり、他のクラウドから乗り換える人にもお勧めです。Azure だけでは無くクラウドネイティブアプリケーションを作る際の設計のヒントにもなるかと思います。\ndocs.microsoft.com\n","permalink":"/entry/2017/12/15/160241/","summary":"\u003cp\u003e「さとうなおきの「週刊アジュール」 ― 第13回」を見ていたところ、「Microsoft Azure開発者ガイド（第2版）」と「Azureアプリケーションアーキテクチャガイド」が公開されていることを思い出しました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://ascii.jp/elem/000/001/603/1603868/index-4.html\"\u003eascii.jp\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eどちらもこれから Azure を始める人にも既に Azure を使っている人にも役立つと思いますので、是非目を通しておくことをオススメします。\u003c/p\u003e\n\u003ch4 id=\"microsoft-azure開発者ガイド第2版\"\u003e「Microsoft Azure開発者ガイド（第2版）」\u003c/h4\u003e\n\u003cp\u003e開発者とついていますので難しく感じますが、インフラやはじめての人にもお勧めでです。\u003c/p\u003e\n\u003cp\u003eAzure の各サービスの概要がまとまっていて、どんなことが出来るかというのが理解しやすく感じました。中々こういった資料って無いので貴重に感じました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://azure.microsoft.com/ja-jp/campaigns/developer-guide/\"\u003eazure.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003ch4 id=\"azureアプリケーションアーキテクチャガイド\"\u003e「Azureアプリケーションアーキテクチャガイド」\u003c/h4\u003e\n\u003cp\u003eこちらは高度な内容が含まれていますが、実際にアプリケーションを設計する際のヒントが沢山あります。Azure を使い始めていたり、他のクラウドから乗り換える人にもお勧めです。Azure だけでは無くクラウドネイティブアプリケーションを作る際の設計のヒントにもなるかと思います。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://docs.microsoft.com/ja-jp/azure/architecture/\"\u003edocs.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"「Microsoft Azure開発者ガイド（第2版）」と「Azureアプリケーションアーキテクチャガイド」が公開されました"},{"content":"TDDBC Sendai 7th を 9/9(土) に開催します。参加はこちらから。\ntddbc.connpass.com\nTDDBC とは TDD Boot Camp の略で、テスト駆動開発(Test Driven Development)について、座学だけでなく、実習形式で手を動かして体得することを目的とするイベントです。2011年のデブサミ2011東北にて開催されてから、毎年仙台で開催され今年で7回目となります。\n講師について 今年も TDD の伝道師、和田卓人さん (@t_wada) をお招きし、講演、指導を頂きます。 和田さんとTDDについてもっと知りたい方は［動画で解説］和田卓人のテスト駆動開発講座をご覧ください。\n対象者 TDD をない人はもちろん、やったことある人、やってみたけどうまくいかなかった人。社会人、学生も関係無く参加可能です。\n学生は割引もあります。\n参加するのがちょっと怖いんだけど… 大丈夫です。はじめて参加するのはちょっとというかたは、事前に準備会を2回開催します。まずは準備会に参加してみて、当日参加するかどうか決めていただくのが良いと思います。\ntdd-sendai.connpass.com\ntdd-sendai.connpass.com\n同時開催モブプロ！ 当日は楽天仙台支社様に会場を提供いただくのですが、別会場ではすくすくスクラム仙台もイベントが行われます。チーム作りのワークショップやモブプロの体験会もあります。休憩中にそちらもチラ見するのも面白いと思います\nsuku3rum-sendai.connpass.com\n遠方からご参加する場合のご注意 当日はジャズフェスがありますので、混雑が予想されます。交通機関・宿泊先は早めの確保をオススメします！翌日の9/10(日)もジャズフェスが開催されますので、楽しんでお帰りいただけます。\nwww.j-streetjazz.com\n荒木飛呂彦原画展　ジョジョ展 ｉｎ Ｓ市杜王町２０１７も開催中 なんとジョジョ展も開催されています。翌日の9/10(日)は最終日なため、当日券は買えない可能性もあります。前売り券（土日指定用）をお早めにご購入していただくことをオススメします。\n荒木飛呂彦原画展 ジョジョ展 in S市杜王町 2017 -ジョジョフェス in S市杜王町 公式サイト-\nl-tike.com\nまとめ モブプロもあるし、仙台観光も兼ねてジャズフェス・ジョジョ展も一緒に如何でしょうか？繰り返しになりますが、参加する方は下記リンクから是非お申し込みください。よろしくお願いします。\ntddbc.connpass.com\n","permalink":"/entry/2017/08/10/060000/","summary":"\u003cp\u003eTDDBC Sendai 7th を 9/9(土) に開催します。参加はこちらから。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://tddbc.connpass.com/event/57031/\"\u003etddbc.connpass.com\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"tddbc-とは\"\u003eTDDBC とは\u003c/h3\u003e\n\u003cp\u003eTDD Boot Camp の略で、テスト駆動開発(Test Driven Development)について、座学だけでなく、実習形式で手を動かして体得することを目的とするイベントです。2011年のデブサミ2011東北にて開催されてから、毎年仙台で開催され今年で7回目となります。\u003c/p\u003e\n\u003ch3 id=\"講師について\"\u003e講師について\u003c/h3\u003e\n\u003cp\u003e今年も TDD の伝道師、和田卓人さん (@t_wada) をお招きし、講演、指導を頂きます。 和田さんとTDDについてもっと知りたい方は\u003ca href=\"http://gihyo.jp/dev/serial/01/tdd\"\u003e［動画で解説］和田卓人のテスト駆動開発講座\u003c/a\u003eをご覧ください。\u003c/p\u003e\n\u003ch3 id=\"対象者\"\u003e対象者\u003c/h3\u003e\n\u003cp\u003eTDD をない人はもちろん、やったことある人、やってみたけどうまくいかなかった人。社会人、学生も関係無く参加可能です。\u003c/p\u003e\n\u003cp\u003e学生は割引もあります。\u003c/p\u003e\n\u003ch3 id=\"参加するのがちょっと怖いんだけど\"\u003e参加するのがちょっと怖いんだけど…\u003c/h3\u003e\n\u003cp\u003e大丈夫です。はじめて参加するのはちょっとというかたは、事前に準備会を2回開催します。まずは準備会に参加してみて、当日参加するかどうか決めていただくのが良いと思います。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://tdd-sendai.connpass.com/event/64085/\"\u003etdd-sendai.connpass.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://tdd-sendai.connpass.com/event/64086/\"\u003etdd-sendai.connpass.com\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"同時開催モブプロ\"\u003e同時開催モブプロ！\u003c/h3\u003e\n\u003cp\u003e当日は楽天仙台支社様に会場を提供いただくのですが、別会場ではすくすくスクラム仙台もイベントが行われます。チーム作りのワークショップやモブプロの体験会もあります。休憩中にそちらもチラ見するのも面白いと思います\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://suku3rum-sendai.connpass.com/event/62157/\"\u003esuku3rum-sendai.connpass.com\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"遠方からご参加する場合のご注意\"\u003e遠方からご参加する場合のご注意\u003c/h3\u003e\n\u003cp\u003e当日はジャズフェスがありますので、混雑が予想されます。交通機関・宿泊先は早めの確保をオススメします！翌日の9/10(日)もジャズフェスが開催されますので、楽しんでお帰りいただけます。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://www.j-streetjazz.com/\"\u003ewww.j-streetjazz.com\u003c/a\u003e\u003c/p\u003e\n\u003ch4 id=\"荒木飛呂彦原画展ジョジョ展-ｉｎ-ｓ市杜王町２０１７も開催中\"\u003e荒木飛呂彦原画展　ジョジョ展 ｉｎ Ｓ市杜王町２０１７も開催中\u003c/h4\u003e\n\u003cp\u003eなんとジョジョ展も開催されています。翌日の9/10(日)は最終日なため、当日券は買えない可能性もあります。前売り券（土日指定用）をお早めにご購入していただくことをオススメします。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://jojofes.com/gengaten/\"\u003e荒木飛呂彦原画展 ジョジョ展 in S市杜王町 2017 -ジョジョフェス in S市杜王町 公式サイト-\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://l-tike.com/search/?lcd=24000\"\u003el-tike.com\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"まとめ\"\u003eまとめ\u003c/h3\u003e\n\u003cp\u003eモブプロもあるし、仙台観光も兼ねてジャズフェス・ジョジョ展も一緒に如何でしょうか？繰り返しになりますが、参加する方は下記リンクから是非お申し込みください。よろしくお願いします。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://tddbc.connpass.com/event/57031/\"\u003etddbc.connpass.com\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"TDDBC Sendai 7th を 9/9(土) に開催します"},{"content":"f:id:nnasaki:20170727021747p:plain azure.microsoft.com\nでました。コマンド一発でDockerコンテナがAzure上で動きます。nginxを動かすにはこうですっ！（aci_grpリソースグループがある前提）\naz container create -g aci_grp --name nginx --image library/nginx --ip-address public ブラウザでアクセスすると確かに表示される。\nf:id:nnasaki:20170727015730p:plain あれ、これっていきなりGAなの？って思ったら違う。\nContainer Instances are available today in public preview for Linux containers. Windows container support will be available in the coming weeks.\nLinux コンテナは Public Preview。Windows コンテナはもうすぐサポートというけど動くという噂\nKubenetes の Node としても動きます。\ngithub.com\nRegistering into the Kubernetes data plane as a Node with unlimited capacity\nアンリミテッド！なんか強そう。\nあくまでNodeとして動くので、Kubenetesのクラスタ自体はあらかじめ Azure Container Service などで作っておく必要があります。試して失敗した人の画像はこちら。\nCloud Shell で kubectl が動いてしまったので、試してみたら出来なかった悲しみ。 pic.twitter.com/gHsXZ2jmoa— YAMAMOTO Masaki (@nnasaki) 2017年7月26日\nVMの管理なんてしたくないので、Kubenetesのクラスタ自体もACIベースで作ってくれると嬉しいんですけどねぇ。。。そのうちなってくれるかな？（ﾁﾗｯﾁﾗｯ\nSpring Boot を Azure Container Instances で動かす https://hub.docker.com/r/nnasaki/spring-boot-sample/ にまっさらな Spring Boot アプリがあったので動かしてみました。port が 8080 なのでportの設定が必要です。もちろん Spring Boot で 80 の設定をしていれば必要ありません。\naz container create -g aci_grp --name spring-boot-sample --image nnasaki/spring-boot-sample --ip-address public --port 8080 ブラウザで確認すると無事表示されました。\nf:id:nnasaki:20170727020800p:plain お値段 Pricing - Container Instances | Microsoft Azure\n秒単位で課金です。24時間立ち上げる場合は普通のVMより若干高くなりそう。\n起動時間はコンテナのイメージサイズにもよりますが、nginxなら数秒で立ち上がるので、オートスケールに使えそうな感じです。\nまとめ 簡単。便利。\nDocker 使う理由がまた1つ増えました。\nサクッと作れるので、開発用とはもちろん、LTとかでもデモが映える感じ。\n特に開発時にコンテナを使い捨てる Draft とはめっちゃ相性いいんじゃないですかね。\ngithub.com\n参考リンク Azure Container Instancesbuchizo.wordpress.com\nblog.shibayan.jp\n","permalink":"/entry/2017/07/27/021957/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170727021747.png\" alt=\"f:id:nnasaki:20170727021747p:plain\" title=\"f:id:nnasaki:20170727021747p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170727021747p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"https://azure.microsoft.com/en-us/blog/announcing-azure-container-instances/\"\u003eazure.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eでました。コマンド一発でDockerコンテナがAzure上で動きます。nginxを動かすにはこうですっ！（aci_grpリソースグループがある前提）\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eaz container create -g aci_grp --name nginx --image library/nginx --ip-address public\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eブラウザでアクセスすると確かに表示される。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170727015730.png\" alt=\"f:id:nnasaki:20170727015730p:plain\" title=\"f:id:nnasaki:20170727015730p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170727015730p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eあれ、これっていきなりGAなの？って思ったら違う。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eContainer Instances are available today in public preview for Linux containers. Windows container support will be available in the coming weeks.\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eLinux コンテナは Public Preview。Windows コンテナはもうすぐサポートというけど動くという噂\u003c/p\u003e\n\u003cp\u003eKubenetes の Node としても動きます。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/Azure/aci-connector-k8s\"\u003egithub.com\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eRegistering into the Kubernetes data plane as a Node with unlimited capacity\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eアンリミテッド！なんか強そう。\u003c/p\u003e\n\u003cp\u003eあくまでNodeとして動くので、Kubenetesのクラスタ自体はあらかじめ Azure Container Service などで作っておく必要があります。試して失敗した人の画像はこちら。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eCloud Shell で kubectl が動いてしまったので、試してみたら出来なかった悲しみ。 \u003ca href=\"https://t.co/gHsXZ2jmoa\"\u003epic.twitter.com/gHsXZ2jmoa\u003c/a\u003e— YAMAMOTO Masaki (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/status/890246667953295361\"\u003e2017年7月26日\u003c/a\u003e\u003c/p\u003e","title":"Azure Container Instances が出た！"},{"content":"blog.nnasaki.com\nAzure Stack を Azure 上で構築したのは良かったですが、常時立ち上げているとお金がかかります。https://azure.microsoft.com/ja-jp/pricing/calculator/で見積もるとこんな感じです。\nf:id:nnasaki:20170725155406p:plain インスタンスサイズとかちょっと違うので正確ではありませんが、だいたい 18万/月ですね。\nManged Disk(管理ディスク) は使っても使わなくても同じ値段 VMについては300円/時間ぐらいなので、検証しているときだけ付けておけばなんとかなるのですが、ストレージが問題ですね。SSDを使ったPremium管理ディスクの場合、仮想マシンを停止していても課金がされます。なので約3.7万/月が固定費とかかってしまうことになるので、これは避けたい。\nf:id:nnasaki:20170725155809p:plain 解決策：VMを止めている間はスタンダードに変更する Manged Disk(管理ディスク) はVMを停止していれば、ポータルから簡単にスタンダードとプレミアムを変更できます。\nf:id:nnasaki:20170725160218p:plain ですが、今回ディスクが5本あるのでいちいちポータルでやるのは面倒くさい。そうするとコマンドラインでやろうかなと思います。思い出したらAzure Container Serviceを使ったときも同じようなことを書いていました。\nblog.nnasaki.com\n今はわざわざインストールしなくてもポータルから Azure Cloud Shell を使用すれば、すぐに実行出来ます。コマンドはこんな感じです。 -g azurestack は各自のリソースグループ名に変更してください。\naz disk update --sku Standard_LRS --ids $(az disk list -g azurestack --query \u0026#34;[].id\u0026#34; -o tsv) --no-wait f:id:nnasaki:20170725160920p:plain 節約効果は 5548円/月になりました。およそ1/7ぐらいでこれくらいならなんとかという感じです。\nf:id:nnasaki:20170725161231p:plain 起動するときはPremiumに戻す このままでも起動は出来るんですが、パフォーマンスが著しく落ちるので、SSDに戻します。VMを停止した状態で行ってください。\naz disk update --sku Premium_LRS --ids $(az disk list -g azurestack --query \u0026#34;[].id\u0026#34; -o tsv) --no-wait まとめ VMの停止と起動の度にコマンド実行を忘れそうですので、Azure Automation で自動化するもよし、VMの操作もCLIでやるもよし。ご利用は計画的に。\n","permalink":"/entry/2017/07/26/060000/","summary":"\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2017/07/24/060000\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eAzure Stack を Azure 上で構築したのは良かったですが、常時立ち上げているとお金がかかります。\u003ca href=\"%E6%96%99%E9%87%91%E8%A8%88%E7%AE%97%E3%83%84%E3%83%BC%E3%83%AB\"\u003ehttps://azure.microsoft.com/ja-jp/pricing/calculator/\u003c/a\u003eで見積もるとこんな感じです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170725155406.png\" alt=\"f:id:nnasaki:20170725155406p:plain\" title=\"f:id:nnasaki:20170725155406p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170725155406p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eインスタンスサイズとかちょっと違うので正確ではありませんが、だいたい 18万/月ですね。\u003c/p\u003e\n\u003ch3 id=\"manged-disk管理ディスク-は使っても使わなくても同じ値段\"\u003eManged Disk(管理ディスク) は使っても使わなくても同じ値段\u003c/h3\u003e\n\u003cp\u003eVMについては300円/時間ぐらいなので、検証しているときだけ付けておけばなんとかなるのですが、ストレージが問題ですね。SSDを使ったPremium管理ディスクの場合、仮想マシンを停止していても課金がされます。なので約3.7万/月が固定費とかかってしまうことになるので、これは避けたい。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170725155809.png\" alt=\"f:id:nnasaki:20170725155809p:plain\" title=\"f:id:nnasaki:20170725155809p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170725155809p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"解決策vmを止めている間はスタンダードに変更する\"\u003e解決策：VMを止めている間はスタンダードに変更する\u003c/h3\u003e\n\u003cp\u003eManged Disk(管理ディスク) はVMを停止していれば、ポータルから簡単にスタンダードとプレミアムを変更できます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170725160218.png\" alt=\"f:id:nnasaki:20170725160218p:plain\" title=\"f:id:nnasaki:20170725160218p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170725160218p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eですが、今回ディスクが5本あるのでいちいちポータルでやるのは面倒くさい。そうするとコマンドラインでやろうかなと思います。思い出したらAzure Container Serviceを使ったときも同じようなことを書いていました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2017/05/09/060000\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e今はわざわざインストールしなくてもポータルから Azure Cloud Shell を使用すれば、すぐに実行出来ます。コマンドはこんな感じです。 \u003ccode\u003e-g azurestack\u003c/code\u003e は各自のリソースグループ名に変更してください。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eaz disk update --sku Standard_LRS --ids $(az disk list -g azurestack --query \u0026#34;[].id\u0026#34; -o tsv) --no-wait\n\u003c/code\u003e\u003c/pre\u003e\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170725160920.png\" alt=\"f:id:nnasaki:20170725160920p:plain\" title=\"f:id:nnasaki:20170725160920p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170725160920p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"節約効果は\"\u003e節約効果は\u003c/h3\u003e\n\u003cp\u003e5548円/月になりました。およそ1/7ぐらいでこれくらいならなんとかという感じです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170725161231.png\" alt=\"f:id:nnasaki:20170725161231p:plain\" title=\"f:id:nnasaki:20170725161231p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170725161231p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"起動するときはpremiumに戻す\"\u003e起動するときはPremiumに戻す\u003c/h3\u003e\n\u003cp\u003eこのままでも起動は出来るんですが、パフォーマンスが著しく落ちるので、SSDに戻します。VMを停止した状態で行ってください。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eaz disk update --sku Premium_LRS --ids $(az disk list -g azurestack --query \u0026#34;[].id\u0026#34; -o tsv) --no-wait\n\u003c/code\u003e\u003c/pre\u003e\u003ch3 id=\"まとめ\"\u003eまとめ\u003c/h3\u003e\n\u003cp\u003eVMの停止と起動の度にコマンド実行を忘れそうですので、Azure Automation で自動化するもよし、VMの操作もCLIでやるもよし。ご利用は計画的に。\u003c/p\u003e","title":"Azure Managed Disk(管理ディスク) を節約して使う"},{"content":"azurestack.blog\nAzure 上で Azure Stack を動かすという誰得な話ですが、ハードが必要なく必要な時だけ1時間数百円ほどで検証できます。まずはどんな感じか触ってみたいとかPoCとしてはコスト削減が出来るので、意外と良いかもしれません。\nやってはいけないこと コンピューター名を azurestack にする インストールスクリプトでエラーになる。ポータルで VM を作成する際は azurestack 以外の名前にすること\n注意点 インストールスクリプトを流している間に、リモートデスクトップセッションが切れて入り直す場合、ADを作成したあたりのタイミングから Administrator ではなく、 AzureStack\\AzureStackAdmin で入らないと、セッションの復元が出来なくなる。さらに Administrator ではインストールスクリプトを流せなくなる。 所要時間 躓きながらやってたので、土日でなんとか出来た感じ。 慣れれば放置している時間が長いので、5時間ぐらいあれば出来そうな気はする。\n前準備 余裕のある Azure サブスクリプション コア数制限解除 Windows Server 2016 E16s v3 (16 cores, 128 GB memory) 以上 あくまでMinimum。もう一つ上の E32s v3 (32 cores, 256 GB memori) 以上が推奨\n手順 VM にリモートデスクトップする 管理者ユーザーのyournameをadministratorに変更 Rename-LocalUser -Name yourname -NewName Administrator ログオフ Azureポータルで停止 AzureポータルでOSDiskを256GB、データディスクを256GB4本 Azureポータルで開始 ディスクマネージャーでCドライブを256に拡張 データディスクをGPTで初期化 タイムゾーンを東京にする IE Enhanced Security Configuration を無効化 f:id:nnasaki:20170722100627p:plain 次のスクリプトでHyper-Vなど必要な機能を有効化 Add-WindowsFeature Hyper-V, Failover-Clustering, Web-Server -IncludeManagementTools Add-WindowsFeature RSAT-AD-PowerShell, RSAT-ADDS -IncludeAllSubFeature Install-PackageProvider nuget –Verbose 再起動 Azure Stack Development Kit をダウンロード https://azure.microsoft.com/en-us/overview/azure-stack/development-kit/ Azure Stack Development Kit を起動して、必要なファイルをダウンロード、解凍 f:id:nnasaki:20170722123006p:plain CloudBuilder.vhdx をマウントして CloudDeployment , fwupdate , tools をCドライブ直下にコピーする。CloudBuilderはイジェクトする。 次のスクリプトのyourdirectoryを自分のディレクトリに変更して実行 cd C:\\CloudDeployment\\Setup .\\InstallAzureStackPOC.ps1 -InfraAzureDirectoryTenantName yourdirectory.onmicrosoft.com -NATIPv4Subnet 172.16.0.0/24 -NATIPv4Address 172.16.0.2 -NATIPv4DefaultGateway 172.16.0.1 -Verbose administrator パスワード入力 しばらくすると Azure のアカウントを入力 エラーが起こる f:id:nnasaki:20170722140421p:plain C:\\CloudDeployment\\Roles\\PhysicalMachines\\Tests\\BareMetal.Tests.ps1 を 開いて $isVirtualizedDeployment の -not を消す。3箇所ある f:id:nnasaki:20170722140713p:plain 下記コマンドを実行 .\\InstallAzureStackPOC.ps1 -Rerun -Verbose CredSSP エラーが起きる f:id:nnasaki:20170723012640p:plain 次のスクリプトを実行 Enable-WSManCredSSP -Role Server Set-Item wsman:localhost\\client\\trustedhosts -Value * Enable-WSManCredSSP -Role Client -DelegateComputer * gpedit.msc を開いて、Local Computer Policy \u0026gt; Computer Configuration \u0026gt; Administrative Templates \u0026gt; System \u0026gt; Credential Delegation の Allow Delegating Fresh Credentials with NTLM-only Server Authentication を有効にして、 WSMAN/* の value を追加する。 f:id:nnasaki:20170723013026p:plain 再び下記コマンドを実行 .\\InstallAzureStackPOC.ps1 -Rerun -Verbose 数時間後エラー VERBOSE: 1\u0026gt; [IdentityProvider:Deployment] ERROR: An error occurred while trying to verify connection to the graph endpoint f:id:nnasaki:20170723093415p:plain - IE でなにも見えない状態になっていた。NATが失敗してる？ - 下記NATSwitchを追加する手順を行ったら、IEからも見られるようになった New-VMSwitch -Name \u0026#34;NATSwitch\u0026#34; -SwitchType Internal -Verbose $NIC=Get-NetAdapter|Out-GridView -PassThru New-NetIPAddress -IPAddress 172.16.0.1 -PrefixLength 24 -InterfaceIndex $NIC.ifIndex New-NetNat -Name \u0026#34;NATSwitch\u0026#34; -InternalIPInterfaceAddressPrefix \u0026#34;172.16.0.0/24\u0026#34; –Verbose デプロイ完了\nf:id:nnasaki:20170723163952p:plain 使い方 https://portal.local.azurestack.external/ にアクセス\nｷﾀ━(・∀・)━!!!!\nf:id:nnasaki:20170723164429p:plain まとめ 手順をまとめるとすんなりに見えますが、最初 azurestack という安易な名前にしたため、スクリプトが謎エラーでコケて作り直したり、スナップショットから復元したりと結構試行錯誤しました。\n使い方についてはまた別途ご紹介したいと思います。\n参考サイト azurestack.blog\ndocs.microsoft.com\nwww.projectsr.net\n","permalink":"/entry/2017/07/24/060000/","summary":"\u003cp\u003e\u003ca href=\"https://azurestack.blog/2017/07/deploy-azure-stack-development-kit-on-an-azure-vm/\"\u003eazurestack.blog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eAzure 上で Azure Stack を動かすという誰得な話ですが、ハードが必要なく必要な時だけ1時間数百円ほどで検証できます。まずはどんな感じか触ってみたいとかPoCとしてはコスト削減が出来るので、意外と良いかもしれません。\u003c/p\u003e\n\u003ch3 id=\"やってはいけないこと\"\u003eやってはいけないこと\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eコンピューター名を \u003ccode\u003eazurestack\u003c/code\u003e にする\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eインストールスクリプトでエラーになる。\u003cstrong\u003eポータルで VM を作成する際は \u003ccode\u003eazurestack\u003c/code\u003e 以外の名前にすること\u003c/strong\u003e\u003c/p\u003e\n\u003ch3 id=\"注意点\"\u003e注意点\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eインストールスクリプトを流している間に、リモートデスクトップセッションが切れて入り直す場合、ADを作成したあたりのタイミングから \u003ccode\u003eAdministrator\u003c/code\u003e ではなく、 \u003ccode\u003eAzureStack\\AzureStackAdmin\u003c/code\u003e で入らないと、セッションの復元が出来なくなる。さらに \u003ccode\u003eAdministrator\u003c/code\u003e ではインストールスクリプトを流せなくなる。\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"所要時間\"\u003e所要時間\u003c/h3\u003e\n\u003cp\u003e躓きながらやってたので、土日でなんとか出来た感じ。\n慣れれば放置している時間が長いので、5時間ぐらいあれば出来そうな気はする。\u003c/p\u003e\n\u003ch3 id=\"前準備\"\u003e前準備\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e余裕のある Azure サブスクリプション\u003c/li\u003e\n\u003cli\u003eコア数制限解除\u003c/li\u003e\n\u003cli\u003eWindows Server 2016 E16s v3 (16 cores, 128 GB memory) 以上\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eあくまでMinimum。もう一つ上の E32s v3 (32 cores, 256 GB memori) 以上が推奨\u003c/p\u003e\n\u003ch3 id=\"手順\"\u003e手順\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eVM にリモートデスクトップする\u003c/li\u003e\n\u003cli\u003e管理者ユーザーのyournameをadministratorに変更\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eRename-LocalUser -Name yourname -NewName Administrator\n\u003c/code\u003e\u003c/pre\u003e\u003cul\u003e\n\u003cli\u003eログオフ\u003c/li\u003e\n\u003cli\u003eAzureポータルで停止\u003c/li\u003e\n\u003cli\u003eAzureポータルでOSDiskを256GB、データディスクを256GB4本\u003c/li\u003e\n\u003cli\u003eAzureポータルで開始\u003c/li\u003e\n\u003cli\u003eディスクマネージャーでCドライブを256に拡張\u003c/li\u003e\n\u003cli\u003eデータディスクをGPTで初期化\u003c/li\u003e\n\u003cli\u003eタイムゾーンを東京にする\u003c/li\u003e\n\u003cli\u003eIE Enhanced Security Configuration を無効化\u003c/li\u003e\n\u003c/ul\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170722100627.png\" alt=\"f:id:nnasaki:20170722100627p:plain\" title=\"f:id:nnasaki:20170722100627p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170722100627p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cul\u003e\n\u003cli\u003e次のスクリプトでHyper-Vなど必要な機能を有効化\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eAdd-WindowsFeature Hyper-V, Failover-Clustering, Web-Server -IncludeManagementTools\nAdd-WindowsFeature RSAT-AD-PowerShell, RSAT-ADDS -IncludeAllSubFeature\nInstall-PackageProvider nuget –Verbose\n\u003c/code\u003e\u003c/pre\u003e\u003cul\u003e\n\u003cli\u003e再起動\u003c/li\u003e\n\u003cli\u003eAzure Stack Development Kit をダウンロード \u003ca href=\"https://azure.microsoft.com/en-us/overview/azure-stack/development-kit/\"\u003ehttps://azure.microsoft.com/en-us/overview/azure-stack/development-kit/\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAzure Stack Development Kit を起動して、必要なファイルをダウンロード、解凍\u003c/li\u003e\n\u003c/ul\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170722123006.png\" alt=\"f:id:nnasaki:20170722123006p:plain\" title=\"f:id:nnasaki:20170722123006p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170722123006p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cul\u003e\n\u003cli\u003eCloudBuilder.vhdx をマウントして CloudDeployment , fwupdate , tools をCドライブ直下にコピーする。CloudBuilderはイジェクトする。\u003c/li\u003e\n\u003cli\u003e次のスクリプトのyourdirectoryを自分のディレクトリに変更して実行\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003ecd C:\\CloudDeployment\\Setup\n.\\InstallAzureStackPOC.ps1 -InfraAzureDirectoryTenantName yourdirectory.onmicrosoft.com -NATIPv4Subnet 172.16.0.0/24 -NATIPv4Address 172.16.0.2 -NATIPv4DefaultGateway 172.16.0.1 -Verbose\n\u003c/code\u003e\u003c/pre\u003e\u003cul\u003e\n\u003cli\u003eadministrator パスワード入力\u003c/li\u003e\n\u003cli\u003eしばらくすると Azure のアカウントを入力\u003c/li\u003e\n\u003cli\u003eエラーが起こる\u003c/li\u003e\n\u003c/ul\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170722140421.png\" alt=\"f:id:nnasaki:20170722140421p:plain\" title=\"f:id:nnasaki:20170722140421p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170722140421p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eC:\\CloudDeployment\\Roles\\PhysicalMachines\\Tests\\BareMetal.Tests.ps1\u003c/code\u003e を 開いて \u003ccode\u003e$isVirtualizedDeployment\u003c/code\u003e の \u003ccode\u003e-not\u003c/code\u003e を消す。3箇所ある\u003c/li\u003e\n\u003c/ul\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170722140713.png\" alt=\"f:id:nnasaki:20170722140713p:plain\" title=\"f:id:nnasaki:20170722140713p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170722140713p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cul\u003e\n\u003cli\u003e下記コマンドを実行\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e.\\InstallAzureStackPOC.ps1 -Rerun -Verbose\n\u003c/code\u003e\u003c/pre\u003e\u003cul\u003e\n\u003cli\u003eCredSSP エラーが起きる\u003c/li\u003e\n\u003c/ul\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170723012640.png\" alt=\"f:id:nnasaki:20170723012640p:plain\" title=\"f:id:nnasaki:20170723012640p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170723012640p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cul\u003e\n\u003cli\u003e次のスクリプトを実行\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eEnable-WSManCredSSP -Role Server\n\u003c/code\u003e\u003c/pre\u003e\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eSet-Item wsman:localhost\\client\\trustedhosts -Value *\nEnable-WSManCredSSP -Role Client -DelegateComputer *\n\u003c/code\u003e\u003c/pre\u003e\u003cul\u003e\n\u003cli\u003e\u003ccode\u003egpedit.msc\u003c/code\u003e を開いて、\u003ccode\u003eLocal Computer Policy \u0026gt; Computer Configuration \u0026gt; Administrative Templates \u0026gt; System \u0026gt; Credential Delegation\u003c/code\u003e の \u003ccode\u003eAllow Delegating Fresh Credentials with NTLM-only Server Authentication\u003c/code\u003e を有効にして、 \u003ccode\u003eWSMAN/*\u003c/code\u003e の value を追加する。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170723013026.png\" alt=\"f:id:nnasaki:20170723013026p:plain\" title=\"f:id:nnasaki:20170723013026p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170723013026p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cul\u003e\n\u003cli\u003e再び下記コマンドを実行\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e.\\InstallAzureStackPOC.ps1 -Rerun -Verbose\n\u003c/code\u003e\u003c/pre\u003e\u003cul\u003e\n\u003cli\u003e数時間後エラー \u003ccode\u003eVERBOSE: 1\u0026gt; [IdentityProvider:Deployment] ERROR: An error occurred while trying to verify connection to the graph endpoint\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170723093415.png\" alt=\"f:id:nnasaki:20170723093415p:plain\" title=\"f:id:nnasaki:20170723093415p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170723093415p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n- IE でなにも見えない状態になっていた。NATが失敗してる？\n- 下記NATSwitchを追加する手順を行ったら、IEからも見られるようになった\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eNew-VMSwitch -Name \u0026#34;NATSwitch\u0026#34; -SwitchType Internal -Verbose\n$NIC=Get-NetAdapter|Out-GridView -PassThru\nNew-NetIPAddress -IPAddress 172.16.0.1 -PrefixLength 24 -InterfaceIndex $NIC.ifIndex\nNew-NetNat -Name \u0026#34;NATSwitch\u0026#34; -InternalIPInterfaceAddressPrefix \u0026#34;172.16.0.0/24\u0026#34; –Verbose\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eデプロイ完了\u003c/p\u003e","title":"AzureStack on Azure を作ってみた"},{"content":"Microsoft MVP は1年ごとの更新となっており、今回で4回目(4年目)となります。\nf:id:nnasaki:20170703104239p:plain ふりかえり 過去の受賞記事を貼っておきます。昨年(2016年)は記事に書いていなかったっぽい。\nblog.nnasaki.com\nblog.nnasaki.com\n初受賞の2014年は今の自分からみると、めっちゃまじめで赤面しちゃいますね。\n今後は目標は二つです。\n一つ目はモバイルサービスだけではなく、Microsoft Azure の他のサービスを含めて実践的な使い方をご紹介しつつ、自身が作成したアプリなどの事例などを交えて、より多くの人に Microsoft Azure を使っていただくことです。\n二つ目は東北の仙台において、数少ない MVP として .NET 界隈を盛り上げていきたいと思っています。ASP.NET vNextにも issue を登録したりしていますが、Xamarin や Unity 等は Mac 上でも動きますし、c#は言語ランキングでも4位に入る という調査結果もあります。どうにか盛り上げていければなぁと思います。\n一つ目のモバイルサービスはサービス終了し、Mobile Appsと名前を変えて別サービスとなりました。モバイルアプリの延長線上でde:codeにも登壇できましたし、今では他のサービスの紹介も出来つつあるので、目標としては達成出来ているのかなぁと思います。\nblog.nnasaki.com\nblog.nnasaki.com\n二つ目の .NET 界隈の盛り上げはあまり出来ていないですね。あまり自分自身が .NET を使用する機会が無かったのと興味が薄れているのが原因だと思います。しかしながら、 サトヤ仙台のコミュニティの立ち上げで仙台のコミュニティを盛り上げたいという思いは変わりません。仙台だけでなく東北地方でもっとMVPも増やしていければと思っています。\nsatoyasendai.com\n今年（今期）の目標 Azure 全般については Azure 界のレジェンド 世界で数人しかいない リージョナルディレクタ(RD) かつ MVP であるブチザッキ兄さんに任せては安心ですので、\nMicrosoft MVP for Microsoft Azurebuchizo.wordpress.com\n自分はサトヤ仙台とJAZUG東北(Japan Azure User Group)のコミュニティ活動を継続して行い、仙台と東北でコミュニティを形成していくということは2014年から一貫して変わりません。\n早速de:codeふりかえりイベントを立ち上げましたので、是非ご参加ください。\nsatoyasendai.connpass.com\nまた、今年あえてチャレンジしたいことといえば、インフラ技術面を深掘りしたいです。具体的には Azure Container Service を活用して、dockerやkubernetesといったコンテナ技術を駆使した、アプリケーションプラットフォームの構築です。Blogで公開するのももちろんですが、実案件で使っていけるよう準備していければと思います。\n今後とも皆様よろしくお願いします！\n","permalink":"/entry/2017/07/04/060000/","summary":"\u003cp\u003eMicrosoft MVP は1年ごとの更新となっており、今回で4回目(4年目)となります。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170703104239.png\" alt=\"f:id:nnasaki:20170703104239p:plain\" title=\"f:id:nnasaki:20170703104239p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170703104239p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"ふりかえり\"\u003eふりかえり\u003c/h3\u003e\n\u003cp\u003e過去の受賞記事を貼っておきます。昨年(2016年)は記事に書いていなかったっぽい。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2015/07/01/233428\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2014/07/01/231905\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e初受賞の2014年は今の自分からみると、めっちゃまじめで赤面しちゃいますね。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e今後は目標は二つです。\u003c/p\u003e\n\u003cp\u003e一つ目はモバイルサービスだけではなく、Microsoft Azure の他のサービスを含めて実践的な使い方をご紹介しつつ、自身が作成したアプリなどの事例などを交えて、より多くの人に Microsoft Azure を使っていただくことです。\u003c/p\u003e\n\u003cp\u003e二つ目は東北の仙台において、数少ない MVP として .NET 界隈を盛り上げていきたいと思っています。ASP.NET vNextにも issue を登録したりしていますが、Xamarin や Unity 等は Mac 上でも動きますし、c#は言語ランキングでも4位に入る という調査結果もあります。どうにか盛り上げていければなぁと思います。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e一つ目のモバイルサービスはサービス終了し、Mobile Appsと名前を変えて別サービスとなりました。モバイルアプリの延長線上でde:codeにも登壇できましたし、今では他のサービスの紹介も出来つつあるので、目標としては達成出来ているのかなぁと思います。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2017/05/26/074618\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2017/06/20/060000\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e二つ目の .NET 界隈の盛り上げはあまり出来ていないですね。あまり自分自身が .NET を使用する機会が無かったのと興味が薄れているのが原因だと思います。しかしながら、 サトヤ仙台のコミュニティの立ち上げで仙台のコミュニティを盛り上げたいという思いは変わりません。仙台だけでなく東北地方でもっとMVPも増やしていければと思っています。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://satoyasendai.com/\"\u003esatoyasendai.com\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"今年今期の目標\"\u003e今年（今期）の目標\u003c/h3\u003e\n\u003cp\u003eAzure 全般については Azure 界のレジェンド 世界で数人しかいない リージョナルディレクタ(RD) かつ MVP であるブチザッキ兄さんに任せては安心ですので、\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"href\"\u003eMicrosoft MVP for Microsoft Azure\u003c/a\u003e\u003ca href=\"https://buchizo.wordpress.com/2017/07/02/microsoft-mvp-for-microsoft-azure-4/\"\u003ebuchizo.wordpress.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e自分はサトヤ仙台とJAZUG東北(Japan Azure User Group)のコミュニティ活動を継続して行い、仙台と東北でコミュニティを形成していくということは2014年から一貫して変わりません。\u003c/p\u003e\n\u003cp\u003e早速de:codeふりかえりイベントを立ち上げましたので、是非ご参加ください。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://satoyasendai.connpass.com/event/60923/\"\u003esatoyasendai.connpass.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eまた、今年あえてチャレンジしたいことといえば、インフラ技術面を深掘りしたいです。具体的には Azure Container Service を活用して、dockerやkubernetesといったコンテナ技術を駆使した、アプリケーションプラットフォームの構築です。Blogで公開するのももちろんですが、実案件で使っていけるよう準備していければと思います。\u003c/p\u003e\n\u003cp\u003e今後とも皆様よろしくお願いします！\u003c/p\u003e\n\u003chr\u003e","title":"Microsoft MVP for Microsoft Azure を再受賞しました"},{"content":"Azure Training Courses | Microsoft Learning というものがあり、試しに受講してみました。無料でどなたでも利用できます。\nページにはこんな感じで複数のコースが日本語で並んでいます。英語の物もあります。\nf:id:nnasaki:20170620182229p:plain 今回は「Azure 基礎」と「AWS の専門家のための Microsoft Azure」を受けてみました。 理由は基礎周りの確認と、AWSの知識とAzureの知識を紐付けるためです。\n若干日本語が怪しい部分もありますが、気にせず進めましょう。\nf:id:nnasaki:20170620182512p:plain Open edXというものが使われているらしく、インタラクティブに進みながら、動画やテキストで知識の確認が出来ます。\nこのように、章ごとに確認問題で理解度チェックが出来ます。\nf:id:nnasaki:20170620182658p:plain 最終試験に合格すると証明書が発行されます。遠い昔、MCPに合格した時はビルゲイツのサインでしたが、今はサティア・ナデラなんですねー。感慨深い。\nf:id:nnasaki:20170620182953p:plain まとめ 良かった点 「Azure 基礎」ではあやふやだった知識が再度確認出来たと思います。\n「AWS の専門家のための Microsoft Azure」ではAzureでのサービスはAWSだとこういうのかー。という感じで理解が深まりました。\n実際の時間は空いた時間に気分転換も兼ねてやっていたのですが、おそらく8時間もかかっていないと思います。集中してやれば1日かからず出来るのではと思います。\n受講するとき気をつけた方が良い点 「AWS の専門家のための Microsoft Azure」はこんな感じで機能比較表とかあり、わかりやすい感じでした。Direct Connectが直接接続と訳されていてちょっと訳しすぎな感じがありますが…\nf:id:nnasaki:20170620183455p:plain f:id:nnasaki:20170620183542p:plain Azure Functionsも選択肢では「関数」というように訳されており、ちょっと推測が必要になっていますので、お気を付け下さい。\n","permalink":"/entry/2017/06/29/060000/","summary":"\u003cp\u003e\u003ca href=\"https://www.microsoft.com/ja-jp/learning/azure-skills-training.aspx\"\u003eAzure Training Courses | Microsoft Learning\u003c/a\u003e というものがあり、試しに受講してみました。無料でどなたでも利用できます。\u003c/p\u003e\n\u003cp\u003eページにはこんな感じで複数のコースが日本語で並んでいます。英語の物もあります。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170620182229.png\" alt=\"f:id:nnasaki:20170620182229p:plain\" title=\"f:id:nnasaki:20170620182229p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170620182229p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e今回は「Azure 基礎」と「AWS の専門家のための Microsoft Azure」を受けてみました。\n理由は基礎周りの確認と、AWSの知識とAzureの知識を紐付けるためです。\u003c/p\u003e\n\u003cp\u003e若干日本語が怪しい部分もありますが、気にせず進めましょう。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170620182512.png\" alt=\"f:id:nnasaki:20170620182512p:plain\" title=\"f:id:nnasaki:20170620182512p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170620182512p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eOpen edXというものが使われているらしく、インタラクティブに進みながら、動画やテキストで知識の確認が出来ます。\u003c/p\u003e\n\u003cp\u003eこのように、章ごとに確認問題で理解度チェックが出来ます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170620182658.png\" alt=\"f:id:nnasaki:20170620182658p:plain\" title=\"f:id:nnasaki:20170620182658p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170620182658p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e最終試験に合格すると証明書が発行されます。遠い昔、MCPに合格した時はビルゲイツのサインでしたが、今はサティア・ナデラなんですねー。感慨深い。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170620182953.png\" alt=\"f:id:nnasaki:20170620182953p:plain\" title=\"f:id:nnasaki:20170620182953p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170620182953p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"まとめ\"\u003eまとめ\u003c/h3\u003e\n\u003ch4 id=\"良かった点\"\u003e良かった点\u003c/h4\u003e\n\u003cp\u003e「Azure 基礎」ではあやふやだった知識が再度確認出来たと思います。\u003c/p\u003e\n\u003cp\u003e「AWS の専門家のための Microsoft Azure」ではAzureでのサービスはAWSだとこういうのかー。という感じで理解が深まりました。\u003c/p\u003e\n\u003cp\u003e実際の時間は空いた時間に気分転換も兼ねてやっていたのですが、おそらく8時間もかかっていないと思います。集中してやれば1日かからず出来るのではと思います。\u003c/p\u003e\n\u003ch4 id=\"受講するとき気をつけた方が良い点\"\u003e受講するとき気をつけた方が良い点\u003c/h4\u003e\n\u003cp\u003e「AWS の専門家のための Microsoft Azure」はこんな感じで機能比較表とかあり、わかりやすい感じでした。Direct Connectが直接接続と訳されていてちょっと訳しすぎな感じがありますが…\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170620183455.png\" alt=\"f:id:nnasaki:20170620183455p:plain\" title=\"f:id:nnasaki:20170620183455p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170620183455p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170620183542.png\" alt=\"f:id:nnasaki:20170620183542p:plain\" title=\"f:id:nnasaki:20170620183542p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170620183542p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eAzure Functionsも選択肢では「関数」というように訳されており、ちょっと推測が必要になっていますので、お気を付け下さい。\u003c/p\u003e\n\u003chr\u003e","title":"Azure スキルのトレーニングを受けてみた"},{"content":"JAWS-UG 仙台勉強会 [6/23夜] にて「Azure使いから見たAWSの良いところ」を発表しました。\n** Azure使いから見たAWSの良いところ ** from 誠樹 山本\nJAWS-UG 仙台の皆さん親切にしていただき、2度目か3度目の発表になります。幸いなことに興味を持っていただいた方が多く、資料公開後も沢山の反響をいただきました。\n今回はAWSとAzureを比較してどちらが良い・悪いではなく、設計方針の違いについて説明したつもりです。スライド50枚に対して時間が15分で大分早口になってしまったので、若干誤解して伝わったかもしれません。\n今度はJAZUG 東北でもJAWS-UGの方がお話したいとも伺っていますので、近々JAZUG 東北を開催します。具体的な日程と場所が決まり次第、本Blogでも告知いたしますので、皆さん楽しみにしていてください！\n","permalink":"/entry/2017/06/28/060000/","summary":"\u003cp\u003e\u003ca href=\"https://jaws-tohoku.doorkeeper.jp/events/61034\"\u003eJAWS-UG 仙台勉強会 [6/23夜]\u003c/a\u003e にて「Azure使いから見たAWSの良いところ」を発表しました。\u003c/p\u003e\n\u003cp\u003e** \u003ca href=\"//www.slideshare.net/YamamotoMasaki/azureaws\"\u003eAzure使いから見たAWSの良いところ\u003c/a\u003e ** from \u003cstrong\u003e\u003ca href=\"https://www.slideshare.net/YamamotoMasaki\"\u003e誠樹 山本\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eJAWS-UG 仙台の皆さん親切にしていただき、2度目か3度目の発表になります。幸いなことに興味を持っていただいた方が多く、資料公開後も沢山の反響をいただきました。\u003c/p\u003e\n\u003cp\u003e今回はAWSとAzureを比較してどちらが良い・悪いではなく、設計方針の違いについて説明したつもりです。スライド50枚に対して時間が15分で大分早口になってしまったので、若干誤解して伝わったかもしれません。\u003c/p\u003e\n\u003cp\u003e今度はJAZUG 東北でもJAWS-UGの方がお話したいとも伺っていますので、近々JAZUG 東北を開催します。具体的な日程と場所が決まり次第、本Blogでも告知いたしますので、皆さん楽しみにしていてください！\u003c/p\u003e\n\u003chr\u003e","title":"JAWS-UG仙台で「Azure使いから見たAWSの良いところ」を発表しました"},{"content":"タイトルの通り、de:code 2017 のセッション資料・動画が公開されました。\n前半は戸倉さんによるMobile Appsを活用し node.js を使用したデモと Cloud Shell のデモです。後半は私自身の体験を元に、VM から Azure Web Apps on Linux に移行するシナリオとメリットを解説しています。\nスライド ** [MW07] OSS on Azure で構築するモバイルバックエンド ** from de:code 2017\n動画 ","permalink":"/entry/2017/06/20/060000/","summary":"\u003cp\u003eタイトルの通り、de:code 2017 のセッション資料・動画が公開されました。\u003c/p\u003e\n\u003cp\u003e前半は戸倉さんによるMobile Appsを活用し node.js を使用したデモと Cloud Shell のデモです。後半は私自身の体験を元に、VM から Azure Web Apps on Linux に移行するシナリオとメリットを解説しています。\u003c/p\u003e\n\u003ch3 id=\"スライド\"\u003eスライド\u003c/h3\u003e\n\u003cp\u003e** \u003ca href=\"//www.slideshare.net/decode2017/mw07-oss-on-azure\"\u003e[MW07] OSS on Azure で構築するモバイルバックエンド\u003c/a\u003e ** from \u003cstrong\u003e\u003ca href=\"https://www.slideshare.net/decode2017\"\u003ede:code 2017\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003ch3 id=\"動画\"\u003e動画\u003c/h3\u003e\n\u003chr\u003e","title":"de:code 2017 のセッション資料・動画が公開されました"},{"content":"正式なアナウンス azure.microsoft.com\n日本語のニュース japan.zdnet.com\nGitHubのリポジトリ github.com\nAzure上で試した人 www.noelbundick.com\n","permalink":"/entry/2017/06/01/180004/","summary":"\u003cp\u003e正式なアナウンス\n\u003ca href=\"https://azure.microsoft.com/en-us/blog/streamlining-kubernetes-development-with-draft/\"\u003eazure.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e日本語のニュース\n\u003ca href=\"https://japan.zdnet.com/article/35102072/\"\u003ejapan.zdnet.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eGitHubのリポジトリ\n\u003ca href=\"https://github.com/Azure/draft\"\u003egithub.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eAzure上で試した人\n\u003ca href=\"https://www.noelbundick.com/2017/05/31/Draft-on-Azure-Container-Service/\"\u003ewww.noelbundick.com\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"Draftがリリース"},{"content":"Azure Site Recovery で Azure の VM がリージョン間でディザスタリカバリー(DR)に対応しました。\nazure.microsoft.com\n構成は簡単でポータルからクリックするだけで出来ます。\nEXTENDED BODY:\n手順 Azure Portalにて Backup and Site Recovery (OMS) を選択\nf:id:nnasaki:20170601101901p:plain 名前をいれて作成をクリック\nf:id:nnasaki:20170601101951p:plain すぐに作成されますので、レプリケーションをクリック\nf:id:nnasaki:20170601102131p:plain ソースにVMのあるリソースグループを選択\nf:id:nnasaki:20170601102216p:plain 対象のVMを選択する。今回はCentOS 7.3 Linuxにしました。\nf:id:nnasaki:20170601102252p:plain DR先のターゲットを選択します。西日本以外にもインドやアジアが選択可能でした。\nf:id:nnasaki:20170601102338p:plain レプリケーションポリシーの設定。アプリ整合性スナップショットの頻度はOFFにもできるし１時間刻みで設定可能です。\nf:id:nnasaki:20170601102417p:plain 検証が通ったら、レプリケーションを作成します\nf:id:nnasaki:20170601102547p:plain 確認 デプロイが完了しましたら、「レプリケートされたアイテム」を選択\nf:id:nnasaki:20170601105617p:plain Linux を選択\nf:id:nnasaki:20170601105721p:plain 復旧ポイントは複数選べます\nf:id:nnasaki:20170601110436p:plain フェールオーバーのテスト 「テスト フェールオーバー」を選択します、Azure 仮想ネットワークを既存のを選んだところ次のメッセージが出ました。\nテスト フェールオーバーには (仮想マシンの [コンピューティングとネットワーク] の設定で指定した) 実稼働ネットワークとは異なるネットワークを使用することをお勧めします。\nf:id:nnasaki:20170601105937p:plain テスト用のネットワークを作成して再度行い、フェールオーバーのテストが始まりました\nf:id:nnasaki:20170601110615p:plain テストフェールオーバーのって切れていますが、クリックすると詳細が確認できます。\nf:id:nnasaki:20170601110852p:plain f:id:nnasaki:20170601112341p:plain テストフェールオーバーのクリーンアップはこちら。\nf:id:nnasaki:20170601112248p:plain OKをクリックすると削除が始まります。\nf:id:nnasaki:20170601112456p:plain フェールオーバー フェールオーバーを選択してOKをクリックします。\nf:id:nnasaki:20170601113153p:plain フェールオーバーが始まりました。\nf:id:nnasaki:20170601113303p:plain レプリケーションの状態をクリックすると進行状況を確認できます。\nf:id:nnasaki:20170601113424p:plain およそ５分程度でフェールオーバーが完了しました。\nf:id:nnasaki:20170601113807p:plain フェールオーバー後のパブリックIPの付与は手動もしくはリカバリープランを作成してAzure Automationcで行う必要があるようです。\nまとめ ポータル上で簡単にDR構成が組めました。今は単一のVMだけですが、Virtual Machine Scale Sets(VMSS) や Azure Container Service(ACS)に対応されると良いなぁと思います。\nフェールバックも出来ますが、長くなったのでまたの機会に。\n制限事項 現在、制限事項があります。下記にまとまっています。 Windows 2016 Server と Ubuntu Linux はまだサポート対象外のようですので、ご注意下さい。管理ディスク(Managed Disk)もまだ未対応のようです。\ndocs.microsoft.com\n","permalink":"/entry/2017/06/01/125707/","summary":"\u003cp\u003eAzure Site Recovery で Azure の VM がリージョン間でディザスタリカバリー(DR)に対応しました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://azure.microsoft.com/en-us/blog/announcing-disaster-recovery-for-azure-iaas-vms-using-asr/\"\u003eazure.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e構成は簡単でポータルからクリックするだけで出来ます。\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003ch3 id=\"手順\"\u003e手順\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://portal.azure.com\"\u003eAzure Portal\u003c/a\u003eにて \u003ccode\u003eBackup and Site Recovery (OMS)\u003c/code\u003e を選択\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170601101901.png\" alt=\"f:id:nnasaki:20170601101901p:plain\" title=\"f:id:nnasaki:20170601101901p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170601101901p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e名前をいれて作成をクリック\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170601101951.png\" alt=\"f:id:nnasaki:20170601101951p:plain\" title=\"f:id:nnasaki:20170601101951p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170601101951p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eすぐに作成されますので、レプリケーションをクリック\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170601102131.png\" alt=\"f:id:nnasaki:20170601102131p:plain\" title=\"f:id:nnasaki:20170601102131p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170601102131p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eソースにVMのあるリソースグループを選択\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170601102216.png\" alt=\"f:id:nnasaki:20170601102216p:plain\" title=\"f:id:nnasaki:20170601102216p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170601102216p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e対象のVMを選択する。今回はCentOS 7.3 Linuxにしました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170601102252.png\" alt=\"f:id:nnasaki:20170601102252p:plain\" title=\"f:id:nnasaki:20170601102252p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170601102252p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eDR先のターゲットを選択します。西日本以外にもインドやアジアが選択可能でした。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170601102338.png\" alt=\"f:id:nnasaki:20170601102338p:plain\" title=\"f:id:nnasaki:20170601102338p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170601102338p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eレプリケーションポリシーの設定。アプリ整合性スナップショットの頻度はOFFにもできるし１時間刻みで設定可能です。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170601102417.png\" alt=\"f:id:nnasaki:20170601102417p:plain\" title=\"f:id:nnasaki:20170601102417p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170601102417p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e検証が通ったら、レプリケーションを作成します\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170601102547.png\" alt=\"f:id:nnasaki:20170601102547p:plain\" title=\"f:id:nnasaki:20170601102547p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170601102547p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"確認\"\u003e確認\u003c/h3\u003e\n\u003cp\u003eデプロイが完了しましたら、「レプリケートされたアイテム」を選択\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170601105617.png\" alt=\"f:id:nnasaki:20170601105617p:plain\" title=\"f:id:nnasaki:20170601105617p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170601105617p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eLinux を選択\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170601105721.png\" alt=\"f:id:nnasaki:20170601105721p:plain\" title=\"f:id:nnasaki:20170601105721p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170601105721p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e復旧ポイントは複数選べます\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170601110436.png\" alt=\"f:id:nnasaki:20170601110436p:plain\" title=\"f:id:nnasaki:20170601110436p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170601110436p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch4 id=\"フェールオーバーのテスト\"\u003eフェールオーバーのテスト\u003c/h4\u003e\n\u003cp\u003e「テスト フェールオーバー」を選択します、Azure 仮想ネットワークを既存のを選んだところ次のメッセージが出ました。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eテスト フェールオーバーには (仮想マシンの [コンピューティングとネットワーク] の設定で指定した) 実稼働ネットワークとは異なるネットワークを使用することをお勧めします。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170601105937.png\" alt=\"f:id:nnasaki:20170601105937p:plain\" title=\"f:id:nnasaki:20170601105937p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170601105937p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eテスト用のネットワークを作成して再度行い、フェールオーバーのテストが始まりました\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170601110615.png\" alt=\"f:id:nnasaki:20170601110615p:plain\" title=\"f:id:nnasaki:20170601110615p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170601110615p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eテストフェールオーバーのって切れていますが、クリックすると詳細が確認できます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170601110852.png\" alt=\"f:id:nnasaki:20170601110852p:plain\" title=\"f:id:nnasaki:20170601110852p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170601110852p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170601112341.png\" alt=\"f:id:nnasaki:20170601112341p:plain\" title=\"f:id:nnasaki:20170601112341p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170601112341p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eテストフェールオーバーのクリーンアップはこちら。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170601112248.png\" alt=\"f:id:nnasaki:20170601112248p:plain\" title=\"f:id:nnasaki:20170601112248p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170601112248p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eOKをクリックすると削除が始まります。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170601112456.png\" alt=\"f:id:nnasaki:20170601112456p:plain\" title=\"f:id:nnasaki:20170601112456p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170601112456p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch4 id=\"フェールオーバー\"\u003eフェールオーバー\u003c/h4\u003e\n\u003cp\u003eフェールオーバーを選択してOKをクリックします。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170601113153.png\" alt=\"f:id:nnasaki:20170601113153p:plain\" title=\"f:id:nnasaki:20170601113153p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170601113153p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eフェールオーバーが始まりました。\u003c/p\u003e","title":"Azure Site Recovery で東日本と西日本でCentOS Linuxをディザスタリカバリー構成してみた"},{"content":"Azure Container Service(ACS) にて kubernetes を作成した場合、2017/5/29現在はストレージアカウントの制限を受けるため注意して下さい。\n何故かというと Azure Container Service の Agent(Node) はストレージアカウントごとに10個VMを作ります。\nf:id:nnasaki:20170527103838p:plain ストレージアカウントには下図の通り、最大IOPSとスループットの制限があります。\nf:id:nnasaki:20170527104220p:plain 下図のように片方のストレージアカウントのコンテナに負荷がかかると、上限に引っかかる場合があり、もう片方のストレージアカウントに余裕があっても負荷分散が出来ません。\nf:id:nnasaki:20170527104236p:plain これを解決するための手段はストレージアカウントを意識して自分でコンテナを再配置することが必要ですが、具体的にどのようにするかはちょっと分かっていないです。\nですが、悲観的になる必要は無くて、ストレージアカウントの制限については Managed Disk(管理ディスク）が使用できるようになれば解決すると思われます。\nf:id:nnasaki:20170527110329p:plain 管理ディスクを使用する場合、今すぐできる解決策と将来に期待する２つの選択肢があると思いますので、ご紹介します。\n今すぐできる解決策 ACS Engine という OSS プロジェクトを利用することで、Azure Manged Disk(管理ディスク)を使用して、KubernetesやMesosとDocker Swarmをデプロイすることが出来ます。\nACS Engine については Container Service についてよく寄せられる質問 を引用します。\nAzure Container Service と ACS Engine の違いは何ですか。\nAzure Container Service は SLA による保証が付いた Azure サービスで、Azure Portal の各種機能、Azure コマンドライン ツール、Azure API が付属しています。 Azure Container Service を使用すると、比較的少ない選択肢を選んで構成するだけで、標準のコンテナー オーケストレーション ツールを実行するクラスターを簡単に実装して管理できます。\nACS Engine はオープンソース プロジェクトで、パワー ユーザーがクラスター構成を各レベルでカスタマイズするのに適しています。 インフラとソフトウェアの両方の構成に変更を加えることができるため、ACS Engine には SLA が用意されていません。 サポートは、Microsoft の公式チャネルではなく、GitHub のオープンソース プロジェクトを通じて提供されます。\nただし、Kubernetes の場合 PersistentVolumeClaims(PVC, 永続ボリューム) には管理ディスクは現在非対応で、1.7でサポートされる予定だそうです。\ngithub.com\n将来に期待する Virtual Machine Scale Sets(VMSS) が管理ディスク対応になってますので、Azure Container Service も VMSS 上で構築されているため(Kubernetesは現在そうなってないけど）将来的にはサポートされると考えています。\nまとめ Azure Container Service で管理ディスクが早くサポートされると良いなぁと思います。\n","permalink":"/entry/2017/05/29/060000/","summary":"\u003cp\u003eAzure Container Service(ACS) にて kubernetes を作成した場合、2017/5/29現在は\u003ca href=\"https://docs.microsoft.com/ja-jp/azure/storage/storage-scalability-targets\"\u003eストレージアカウントの制限\u003c/a\u003eを受けるため注意して下さい。\u003c/p\u003e\n\u003cp\u003e何故かというと Azure Container Service の Agent(Node) はストレージアカウントごとに10個VMを作ります。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170527103838.png\" alt=\"f:id:nnasaki:20170527103838p:plain\" title=\"f:id:nnasaki:20170527103838p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170527103838p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eストレージアカウントには下図の通り、最大IOPSとスループットの制限があります。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170527104220.png\" alt=\"f:id:nnasaki:20170527104220p:plain\" title=\"f:id:nnasaki:20170527104220p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170527104220p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e下図のように片方のストレージアカウントのコンテナに負荷がかかると、上限に引っかかる場合があり、もう片方のストレージアカウントに余裕があっても負荷分散が出来ません。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170527104236.png\" alt=\"f:id:nnasaki:20170527104236p:plain\" title=\"f:id:nnasaki:20170527104236p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170527104236p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eこれを解決するための手段はストレージアカウントを意識して自分でコンテナを再配置することが必要ですが、具体的にどのようにするかはちょっと分かっていないです。\u003c/p\u003e\n\u003cp\u003eですが、悲観的になる必要は無くて、ストレージアカウントの制限については Managed Disk(管理ディスク）が使用できるようになれば解決すると思われます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170527110329.png\" alt=\"f:id:nnasaki:20170527110329p:plain\" title=\"f:id:nnasaki:20170527110329p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170527110329p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e管理ディスクを使用する場合、今すぐできる解決策と将来に期待する２つの選択肢があると思いますので、ご紹介します。\u003c/p\u003e\n\u003ch3 id=\"今すぐできる解決策\"\u003e今すぐできる解決策\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/Azure/acs-engine\"\u003eACS Engine\u003c/a\u003e という OSS プロジェクトを利用することで、Azure Manged\nDisk(管理ディスク)を使用して、KubernetesやMesosとDocker Swarmをデプロイすることが出来ます。\u003c/p\u003e\n\u003cp\u003eACS Engine については \u003ca href=\"https://docs.microsoft.com/ja-jp/azure/container-service/container-service-faq\"\u003eContainer Service についてよく寄せられる質問\u003c/a\u003e を引用します。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eAzure Container Service と ACS Engine の違いは何ですか。\u003c/p\u003e\n\u003cp\u003eAzure Container Service は SLA による保証が付いた Azure サービスで、Azure Portal の各種機能、Azure コマンドライン ツール、Azure API が付属しています。 Azure Container Service を使用すると、比較的少ない選択肢を選んで構成するだけで、標準のコンテナー オーケストレーション ツールを実行するクラスターを簡単に実装して管理できます。\u003c/p\u003e\n\u003cp\u003eACS Engine はオープンソース プロジェクトで、パワー ユーザーがクラスター構成を各レベルでカスタマイズするのに適しています。 インフラとソフトウェアの両方の構成に変更を加えることができるため、ACS Engine には SLA が用意されていません。 サポートは、Microsoft の公式チャネルではなく、GitHub のオープンソース プロジェクトを通じて提供されます。\u003c/p\u003e","title":"Azure Container Service における設計上の注意点"},{"content":"de:code (decode) 2017 ｜ 日本マイクロソフトの開発者/アーキテクト/IT Pro 向けイベント - Microsoft Events \u0026amp; Seminars\n「OSS on Azure で構築するモバイル バックエンド」でテクニカル エバンジェリストの戸倉さんと一緒に発表しました。\n数千人集まる大規模な有償イベントでは初の登壇でしたので、大変緊張しましたが貴重な経験をさせていただきました。\n資料と録画は後日公開されますが、書ける範囲で簡単にまとめておきます。発表内容は前半Mobile Appsの部分は戸倉さんに対応していただき、私の発表は次の通りです。\n事例紹介 Linux と Java で構築 VirtualMachineだったので、辛いところもあった 今から作るならWeb Apps On Linux Docker は良いぞ Azure Database for MySQL or PostgreSQL 出ましたね どちらもまだプレビューだけど期待大ですね Demo DemoではOpenCVを扱い、画像をアップロードして顔認識をさせました。\nf:id:nnasaki:20170526072756p:plain Web Apps On Linuxのデプロイメントスロットを使用して、ちょっと改造したり\nf:id:nnasaki:20170526073951p:plain 反省点 デモは本番で失敗してしまい、事前に録画しておいたムービーを流しました。失敗した理由はIPv6環境でlocalhostが通らなかったからです。\nリハでは有線LANがドライバ不足で使えず、当日有線LANを使用したところIPv6が有線されてしまい localhost に接続できなかった模様です。\nあとは声が出にくかったりなどなど、数えると切りが無く。\nまとめ スピーカーとして最終日の最後でしたので、自分の番が終わるまで落ち着きませんでした。セッションを何個か見ましたが頭に入ってこない感じ。\n私の発表は導入部分について、なぜ導入するか？導入すると皆さんにどういうメリットがあるかという部分を中心に説明しましたので、技術的な機能紹介はポイントを絞り、あえて削りました。 Web Apps On Linuxについてはしばやん先生が既に資料も公開しておりますので、詳しくはそちらを参照していただくと良いです。\nblog.shibayan.jp\nAzure Database for MySQL/PostgreSQL についてはテクエバの久森さんが、 「Build 2017 Updates ～ Azure Database for MySQL/PostgreSQL 最速紹介」というタイトルで発表されていますので、詳しくはそちらをご参照ください。\nおまけ Azure Thursday Japan (仮) #69 にも初出演させていただきました。de:code振り返りや最新Azureアップデートについて話しましたので、もし良かったら聞いて下さい。\nwww.youtube.com\n","permalink":"/entry/2017/05/26/074618/","summary":"\u003cp\u003e\u003ca href=\"https://www.microsoft.com/ja-jp/events/decode/2017/\"\u003ede:code (decode) 2017 ｜ 日本マイクロソフトの開発者/アーキテクト/IT Pro 向けイベント - Microsoft Events \u0026amp; Seminars\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e「OSS on Azure で構築するモバイル バックエンド」でテクニカル エバンジェリストの戸倉さんと一緒に発表しました。\u003c/p\u003e\n\u003cp\u003e数千人集まる大規模な有償イベントでは初の登壇でしたので、大変緊張しましたが貴重な経験をさせていただきました。\u003c/p\u003e\n\u003cp\u003e資料と録画は後日公開されますが、書ける範囲で簡単にまとめておきます。発表内容は前半Mobile Appsの部分は戸倉さんに対応していただき、私の発表は次の通りです。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e事例紹介 Linux と Java で構築\u003c/li\u003e\n\u003cli\u003eVirtualMachineだったので、辛いところもあった\u003c/li\u003e\n\u003cli\u003e今から作るならWeb Apps On Linux\u003c/li\u003e\n\u003cli\u003eDocker は良いぞ\u003c/li\u003e\n\u003cli\u003eAzure Database for MySQL or PostgreSQL 出ましたね\u003c/li\u003e\n\u003cli\u003eどちらもまだプレビューだけど期待大ですね\u003c/li\u003e\n\u003cli\u003eDemo\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDemoではOpenCVを扱い、画像をアップロードして顔認識をさせました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170526072756.png\" alt=\"f:id:nnasaki:20170526072756p:plain\" title=\"f:id:nnasaki:20170526072756p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170526072756p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eWeb Apps On Linuxのデプロイメントスロットを使用して、ちょっと改造したり\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170526073951.png\" alt=\"f:id:nnasaki:20170526073951p:plain\" title=\"f:id:nnasaki:20170526073951p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170526073951p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"反省点\"\u003e反省点\u003c/h3\u003e\n\u003cp\u003eデモは本番で失敗してしまい、事前に録画しておいたムービーを流しました。失敗した理由はIPv6環境でlocalhostが通らなかったからです。\u003c/p\u003e\n\u003cp\u003eリハでは有線LANがドライバ不足で使えず、当日有線LANを使用したところIPv6が有線されてしまい localhost に接続できなかった模様です。\u003c/p\u003e\n\u003cp\u003eあとは声が出にくかったりなどなど、数えると切りが無く。\u003c/p\u003e\n\u003ch3 id=\"まとめ\"\u003eまとめ\u003c/h3\u003e\n\u003cp\u003eスピーカーとして最終日の最後でしたので、自分の番が終わるまで落ち着きませんでした。セッションを何個か見ましたが頭に入ってこない感じ。\u003c/p\u003e\n\u003cp\u003e私の発表は導入部分について、なぜ導入するか？導入すると皆さんにどういうメリットがあるかという部分を中心に説明しましたので、技術的な機能紹介はポイントを絞り、あえて削りました。\nWeb Apps On Linuxについてはしばやん先生が既に資料も公開しておりますので、詳しくはそちらを参照していただくと良いです。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.shibayan.jp/entry/20170525/1495641693\"\u003eblog.shibayan.jp\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eAzure Database for MySQL/PostgreSQL についてはテクエバの久森さんが、 「Build 2017 Updates ～ Azure Database for MySQL/PostgreSQL 最速紹介」というタイトルで発表されていますので、詳しくはそちらをご参照ください。\u003c/p\u003e","title":"de:code 2017で発表してきました"},{"content":"会社と家を往復するのに充電アダプターを持ち歩いていましたが、自転車に乗っていると結構重いので、家用に購入しました。\n[\nNintendo Switch ACアダプター ](http://www.amazon.co.jp/exec/obidos/ASIN/B01MY9I55F/nnasaki-22/)[Nintendo Switch ACアダプター](http://www.amazon.co.jp/exec/obidos/ASIN/B01MY9I55F/nnasaki-22/)- 出版社/メーカー: 任天堂- 発売日: 2017/03/03- メディア: Video Game- この商品を含むブログ (1件) を見る\nMacBook Pro (13-inch, 2016) に付属のACアダプターは60W程あるので少し力不足ですが 、 家では寝ている時間にゆっくり充電出来れば十分だろうと判断した。PD にも対応しているし、ケーブル付で安心の任天堂クオリティなので、この値段なら安いと思う。\n39Wで緩やかに充電出来ているので現状問題なし。\nf:id:nnasaki:20170521205935p:plain ついでにスプラトゥーン２も予約した。ゼルダを未だにクリアしていないので、ちゃんとプレイ出来るかは謎だけど…\n[\nSplatoon 2 (スプラトゥーン2) ](http://www.amazon.co.jp/exec/obidos/ASIN/B072J2J26T/nnasaki-22/)[Splatoon 2 (スプラトゥーン2)](http://www.amazon.co.jp/exec/obidos/ASIN/B072J2J26T/nnasaki-22/)- 出版社/メーカー: 任天堂- 発売日: 2017/07/21- メディア: Video Game- この商品を含むブログ (2件) を見る\n","permalink":"/entry/2017/05/22/063000/","summary":"\u003cp\u003e会社と家を往復するのに充電アダプターを持ち歩いていましたが、自転車に乗っていると結構重いので、家用に購入しました。\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://images-fe.ssl-images-amazon.com/images/I/41xFRkeS-DL._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"Nintendo Switch ACアダプター\" title=\"Nintendo Switch ACアダプター\"\u003e\u003cfigcaption\u003eNintendo Switch ACアダプター\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B01MY9I55F/nnasaki-22/)%5BNintendo\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B01MY9I55F/nnasaki-22/)[Nintendo\u003c/a\u003e Switch ACアダプター](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B01MY9I55F/nnasaki-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B01MY9I55F/nnasaki-22/)-\u003c/a\u003e 出版社/メーカー: 任天堂- 発売日: 2017/03/03- メディア: Video Game- \u003ca href=\"http://d.hatena.ne.jp/asin/B01MY9I55F/nnasaki-22\"\u003eこの商品を含むブログ (1件) を見る\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eMacBook Pro (13-inch, 2016) に付属のACアダプターは60W程あるので少し力不足ですが 、 家では寝ている時間にゆっくり充電出来れば十分だろうと判断した。PD にも対応しているし、ケーブル付で安心の任天堂クオリティなので、この値段なら安いと思う。\u003c/p\u003e\n\u003cp\u003e39Wで緩やかに充電出来ているので現状問題なし。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170521205935.png\" alt=\"f:id:nnasaki:20170521205935p:plain\" title=\"f:id:nnasaki:20170521205935p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170521205935p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eついでにスプラトゥーン２も予約した。ゼルダを未だにクリアしていないので、ちゃんとプレイ出来るかは謎だけど…\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://images-fe.ssl-images-amazon.com/images/I/61AOxeZBdtL._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"Splatoon 2 (スプラトゥーン2)\" title=\"Splatoon 2 (スプラトゥーン2)\"\u003e\u003cfigcaption\u003eSplatoon 2 (スプラトゥーン2)\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B072J2J26T/nnasaki-22/)%5BSplatoon\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B072J2J26T/nnasaki-22/)[Splatoon\u003c/a\u003e 2 (スプラトゥーン2)](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B072J2J26T/nnasaki-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B072J2J26T/nnasaki-22/)-\u003c/a\u003e 出版社/メーカー: 任天堂- 発売日: 2017/07/21- メディア: Video Game- \u003ca href=\"http://d.hatena.ne.jp/asin/B072J2J26T/nnasaki-22\"\u003eこの商品を含むブログ (2件) を見る\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"MacBook Pro (13-inch, 2016) 用に Nintendo Switch ACアダプター を買った"},{"content":"最近はコンテナにすっかりはまってます。\nRed Hat OpenShift が Azure で簡単に試せました。しかも無料です。\nEXTENDED BODY:\n無料で試す方法 Microsoft Azure Test Drive にアクセスします。\nするとサインアップ画面が出てくるので、Microsoftアカウントか組織アカウントでログインします。\nf:id:nnasaki:20170513211748p:plain Start Free Test Drive を選択します。\nf:id:nnasaki:20170513212120p:plain Deploy が始まります。\nf:id:nnasaki:20170513212436p:plain 2分かかるといわれましたが、10秒ほどですぐに使用できるようになりました。\nf:id:nnasaki:20170513212536p:plain Openshift test drive user guide をダウンロードしておきましょう。\nf:id:nnasaki:20170513212740p:plain コンソールURLをブラウザで開きます。\nf:id:nnasaki:20170513212642p:plain 次のユーザー・パスワードでログインします。\nUsername : testdrive Password : password f:id:nnasaki:20170513213019p:plain ログインできました。\nf:id:nnasaki:20170513213115p:plain GuestBook アプリをデプロイする oc コマンドを先の Openshift test drive user guide を参考に設定しておきます。\noc login opnshmdnsmnl2t726.centralus.cloudapp.azure.com:8443 でログインします。接続先は試すごとに変わりますので、お手元で実行するときは変えてください。\nf:id:nnasaki:20170513214456p:plain あとは手順に従ってコマンドを入力します。3行でデプロイ完了です。\noc new-project usertestdrive-guestbook oc get projects oc new-app kubernetes/guestbook f:id:nnasaki:20170513214707p:plain Openshift は kubernetes ベースなので、 oc get pods oc get services など同じコマンドで確認できます。\nf:id:nnasaki:20170513215034p:plain GuestBook アプリをブラウザで開けるようにする service を expose して Route に加えます。\nこの Route という概念は Kubernetes にはありませんでした。下図の青い部分が OpenShift で拡張されている機能です。\nf:id:nnasaki:20170513215646p:plain OpenShiftとKubernetesのちがうところ | RED HAT OPENEYEより引用\n次のコマンドを実行します\noc get routes oc get services oc expose service guestbook oc get route f:id:nnasaki:20170513220008p:plain ブラウザでを開くことができました。\nf:id:nnasaki:20170513220048p:plain OpenShift コンソールで確認する CLIで作ったプロジェクトはこのように表示されます。\nf:id:nnasaki:20170513220512p:plain 矢印をクリックするだけでスケールアップスケールダウンができます。\nf:id:nnasaki:20170513220601p:plain 様子を GIF にしてみました。スムーズですね。\nf:id:nnasaki:20170513221408g:plain まとめ Openshift test drive user guide ではテンプレートを使用して、MongoDBも含めたアプリのデプロイも記載されています。気軽に無料ですぐ試せるので良い感じでした。\nMicrosoft Azure Test Drive にアクセスしてください。\n参考URL jp-redhat.com\n","permalink":"/entry/2017/05/15/060000/","summary":"\u003cp\u003e最近はコンテナにすっかりはまってます。\u003c/p\u003e\n\u003cp\u003eRed Hat OpenShift が Azure で簡単に試せました。しかも無料です。\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003ch3 id=\"無料で試す方法\"\u003e無料で試す方法\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://testdrive.azure.com/#/test-drive/redhat.openshift-test-drive\"\u003eMicrosoft Azure Test Drive\u003c/a\u003e にアクセスします。\u003c/p\u003e\n\u003cp\u003eするとサインアップ画面が出てくるので、Microsoftアカウントか組織アカウントでログインします。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170513211748.png\" alt=\"f:id:nnasaki:20170513211748p:plain\" title=\"f:id:nnasaki:20170513211748p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170513211748p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eStart Free Test Drive を選択します。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170513212120.png\" alt=\"f:id:nnasaki:20170513212120p:plain\" title=\"f:id:nnasaki:20170513212120p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170513212120p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eDeploy が始まります。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170513212436.png\" alt=\"f:id:nnasaki:20170513212436p:plain\" title=\"f:id:nnasaki:20170513212436p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170513212436p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e2分かかるといわれましたが、10秒ほどですぐに使用できるようになりました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170513212536.png\" alt=\"f:id:nnasaki:20170513212536p:plain\" title=\"f:id:nnasaki:20170513212536p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170513212536p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eOpenshift test drive user guide をダウンロードしておきましょう。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170513212740.png\" alt=\"f:id:nnasaki:20170513212740p:plain\" title=\"f:id:nnasaki:20170513212740p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170513212740p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eコンソールURLをブラウザで開きます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170513212642.png\" alt=\"f:id:nnasaki:20170513212642p:plain\" title=\"f:id:nnasaki:20170513212642p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170513212642p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e次のユーザー・パスワードでログインします。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eUsername : testdrive\nPassword : password\n\u003c/code\u003e\u003c/pre\u003e\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170513213019.png\" alt=\"f:id:nnasaki:20170513213019p:plain\" title=\"f:id:nnasaki:20170513213019p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170513213019p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eログインできました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170513213115.png\" alt=\"f:id:nnasaki:20170513213115p:plain\" title=\"f:id:nnasaki:20170513213115p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170513213115p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"guestbook-アプリをデプロイする\"\u003eGuestBook アプリをデプロイする\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eoc\u003c/code\u003e コマンドを先の Openshift test drive user guide を参考に設定しておきます。\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eoc login opnshmdnsmnl2t726.centralus.cloudapp.azure.com:8443\u003c/code\u003e でログインします。接続先は試すごとに変わりますので、お手元で実行するときは変えてください。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170513214456.png\" alt=\"f:id:nnasaki:20170513214456p:plain\" title=\"f:id:nnasaki:20170513214456p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170513214456p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eあとは手順に従ってコマンドを入力します。3行でデプロイ完了です。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eoc new-project usertestdrive-guestbook\noc get projects\noc new-app kubernetes/guestbook\n\u003c/code\u003e\u003c/pre\u003e\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170513214707.png\" alt=\"f:id:nnasaki:20170513214707p:plain\" title=\"f:id:nnasaki:20170513214707p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170513214707p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eOpenshift は kubernetes ベースなので、 \u003ccode\u003eoc get pods\u003c/code\u003e \u003ccode\u003eoc get services\u003c/code\u003e など同じコマンドで確認できます。\u003c/p\u003e","title":"Microsoft Azure Test Drive で Red Hat OpenShift が無料ですぐに試せた。"},{"content":"f:id:nnasaki:20170514003947p:plain Build 2017 の Corey Sanders のセッションを見ましたAzure Compute 新機能とロードマップが発表されました。Azure Computeは仮想マシンをはじめとしたカテゴリです。聞いててわくわくしますねー。スライドと動画は次のリンクから確認できます。\nchannel9.msdn.com\nEXTENDED BODY:\nPascal アーキテクチャのND(P40), NCv2(P100s), nested virtualizationが使える Dv3, Ev3 のプレビュー f:id:nnasaki:20170513230757p:plain Pascal アーキテクチャのVMがぶん回せます。nested virtualization（VMの中からさらにVMを立ち上げる）こともできます。\n使用するためにはプレビューのサインアップが必要です。https://aka.ms/gpupreviewndnc からどうぞ。\nAzure Cloud Shell の PowerShell 版プレビュー Azure Cloud Shell で PowerShell も使えますよと。\nf:id:nnasaki:20170513232003p:plain プレビューのサインアップは http://aka.ms/PSCloudSignup です。\nCross-Region Site Recovery の発表 Virtual Machine などを指定したリージョンにレプリケーションして、DRができます。9つの国で有効になるようで、日本も入っています。詳細は詳しくわかりませんが、東日本・西日本両方が使えなくなることはめったにないので、有効なソリューションになりそうです。\nf:id:nnasaki:20170513233547p:plain インスタンスメタデータ取得が可能に インスタンスのメタデータをREST APIで取得できるようになりました。\nf:id:nnasaki:20170513233855p:plain 話題はコンテナーへ Azure Container Service では kubernetes, DC/OS, Docker Swarm をサポートしていますよと。\nf:id:nnasaki:20170513234226p:plain Kubernetes と Helm のデモをしていました。デモちょっと躓いていました。 Corey でもデモ躓くんだから、僕なんて失敗して当然だよね！（予防線）\nf:id:nnasaki:20170513234336p:plain ちょっとスライドは前後するんですが、インフラストラクチャーは効率化をもたらす。\nf:id:nnasaki:20170513235635p:plain プラットフォームはイノベーションを起こせるってことかな。\nf:id:nnasaki:20170513235734p:plain Service Fabirc で Windows Container、Docker Compose をサポート\nf:id:nnasaki:20170513235908p:plain Red Hat OpenShift\nf:id:nnasaki:20170514000112p:plain Pivotal Cloud Foundry\nf:id:nnasaki:20170514000125p:plain Azure で使えるコンテナオーケストレーションはたくさんありますよと。\nf:id:nnasaki:20170514000432p:plain どれを使うべきかというと用途によって異なるということでした。\nService Fabricはコンテナ動かす以外にService Fabric用のアプリケーションを.NETでもJavaでも動かせる。DC/OSはDBなどサービスを簡単に動かせる。Pivotal Cloud FoundryはJavaにフォーカスしているなどなど。\nAzure Batch 関連 80% オフの Low Priority Batch VMs が発表\nf:id:nnasaki:20170514001055p:plain Azure Batch Rendering Service が発表。 https://rendering.azure.com へアクセス。\nf:id:nnasaki:20170514001207p:plain Web Apps On Linux f:id:nnasaki:20170514001453p:plain 詳細はこちらを参照。\ngithub.com\nサーバーレスへ サーバーレスならもっとはやくアプリが作れるよと。\nf:id:nnasaki:20170514001637p:plain ローカルで試せる Azure Functions Runtime がプレビュー\nf:id:nnasaki:20170514001916p:plain Azure Managed Applications and Service Catalog が発表 f:id:nnasaki:20170514002838p:plain デモではデプロイ後リソースグループからVMを削除できなくするという旨でした。\nドキュメントを見ると、Azure Marketplaceでは一度デプロイすると自分で保守しなければならなかった点を解消しているようです。\nベンダーがテンプレートを用意しておき、顧客がそれを使ってデプロイすると、ベンダーが顧客のリソースを保守したりサポートしたりできるようです。さらにベンダーは顧客に保守料を請求できるという感じでした。（あまり翻訳に自信ないけど）\nパッケージを販売している会社にもメリットがあるということでした。顧客が動かないぞと言ってきたときも対応しやすそうですね。\ndocs.microsoft.com\nまとめ ボリュームが多くて疲れましたが、コンテナに対する Corey の考えが知れてよかったです。de:code のセッションにも反映していきます。\n","permalink":"/entry/2017/05/14/060000/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170514003947.png\" alt=\"f:id:nnasaki:20170514003947p:plain\" title=\"f:id:nnasaki:20170514003947p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170514003947p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eBuild 2017 の Corey Sanders のセッションを見ましたAzure Compute 新機能とロードマップが発表されました。Azure Computeは仮想マシンをはじめとしたカテゴリです。聞いててわくわくしますねー。スライドと動画は次のリンクから確認できます。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://channel9.msdn.com/Events/Build/2017/B8087\"\u003echannel9.msdn.com\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003ch3 id=\"pascal-アーキテクチャのndp40-ncv2p100s-nested-virtualizationが使える-dv3-ev3-のプレビュー\"\u003ePascal アーキテクチャのND(P40), NCv2(P100s), nested virtualizationが使える Dv3, Ev3 のプレビュー\u003c/h3\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170513230757.png\" alt=\"f:id:nnasaki:20170513230757p:plain\" title=\"f:id:nnasaki:20170513230757p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170513230757p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003ePascal アーキテクチャのVMがぶん回せます。nested virtualization（VMの中からさらにVMを立ち上げる）こともできます。\u003c/p\u003e\n\u003cp\u003e使用するためにはプレビューのサインアップが必要です。\u003ca href=\"https://aka.ms/gpupreviewndnc\"\u003ehttps://aka.ms/gpupreviewndnc\u003c/a\u003e からどうぞ。\u003c/p\u003e\n\u003ch3 id=\"azure-cloud-shell-の-powershell-版プレビュー\"\u003eAzure Cloud Shell の PowerShell 版プレビュー\u003c/h3\u003e\n\u003cp\u003eAzure Cloud Shell で PowerShell も使えますよと。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170513232003.png\" alt=\"f:id:nnasaki:20170513232003p:plain\" title=\"f:id:nnasaki:20170513232003p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170513232003p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eプレビューのサインアップは \u003ca href=\"http://aka.ms/PSCloudSignup\"\u003ehttp://aka.ms/PSCloudSignup\u003c/a\u003e です。\u003c/p\u003e\n\u003ch3 id=\"cross-region-site-recovery-の発表\"\u003eCross-Region Site Recovery の発表\u003c/h3\u003e\n\u003cp\u003eVirtual Machine などを指定したリージョンにレプリケーションして、DRができます。9つの国で有効になるようで、日本も入っています。詳細は詳しくわかりませんが、東日本・西日本両方が使えなくなることはめったにないので、有効なソリューションになりそうです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170513233547.png\" alt=\"f:id:nnasaki:20170513233547p:plain\" title=\"f:id:nnasaki:20170513233547p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170513233547p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"インスタンスメタデータ取得が可能に\"\u003eインスタンスメタデータ取得が可能に\u003c/h3\u003e\n\u003cp\u003eインスタンスのメタデータをREST APIで取得できるようになりました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170513233855.png\" alt=\"f:id:nnasaki:20170513233855p:plain\" title=\"f:id:nnasaki:20170513233855p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170513233855p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"話題はコンテナーへ\"\u003e話題はコンテナーへ\u003c/h3\u003e\n\u003cp\u003eAzure Container Service では kubernetes, DC/OS, Docker Swarm をサポートしていますよと。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170513234226.png\" alt=\"f:id:nnasaki:20170513234226p:plain\" title=\"f:id:nnasaki:20170513234226p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170513234226p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eKubernetes と Helm のデモをしていました。デモちょっと躓いていました。 Corey でもデモ躓くんだから、僕なんて失敗して当然だよね！（予防線）\u003c/p\u003e","title":"【Build 2017】Azure Compute 新機能とロードマップ"},{"content":"前回の記事中にチラッと書いたんですが、便利になったので改めて記事に書き起こしました。\nblog.nnasaki.com\nよくなんらかの原因でデプロイに失敗すると、アラートが表示されてこんな画面が出ます。\nf:id:nnasaki:20170504221636p:plain そのときのエラー画面の上の方に次の画面が表示され、そこに「再デプロイ」というボタンがあるので、ポチッと押します。\nf:id:nnasaki:20170504221858p:plain すると、カスタムデプロイという見慣れない画面に飛ばされますが、ここでエラーの原因となっていた情報を再度入れ直します。先のエラーだとリージョンがダメだったようなので、東南アジアにしてみました。VM Sizeも一応直しておきます。\nf:id:nnasaki:20170504222717p:plain スクロールを下にしていくと、Marketplace から購入したわけじゃないけど、とりあえずチェックを入れて購入を押します。\nf:id:nnasaki:20170504222153p:plain 無事作成出来ました。\nf:id:nnasaki:20170504223929p:plain 前は失敗すると、また一から作り直しだったんですが便利になりました。どうやら次のフィードバックを取り入れてくれたようです。\ndiv.uv-card {background: #fff;border: 1px solid #CED6E6;-moz-border-radius: 3px;-webkit-border-radius: 3px;border-radius: 3px;color: #5C5F66;font: normal 11px/1.3em \u0026ldquo;HelveticaNeue\u0026rdquo;, Arial, sans-serif;margin: 0;max-width: 500px;padding: 10px 10px 5px 10px;text-rendering: optimizelegibility;zoom: 1;}div.uv-card:after {content: \u0026ldquo;.\u0026quot;;display: block;height: 0;clear: both;visibility: hidden;}.uv-card-info {line-height: 1em;margin-bottom: 10px;}.uv-card-topic {color: #A0A6B3;display: inline-block;}.uv-card-status {background: #DBF0B4;-moz-border-radius: 3px;-webkit-border-radius: 3px;border-radius: 3px;color: #446600;display: inline-block;font-size: 10px;font-weight: bold;margin-right: 5px;padding: 3px 5px;text-transform: uppercase;}.uv-card-meta {float: right;list-style: none;line-height: 16px;margin: 0 0 10px 20px;padding: 0;}.uv-card-meta li {margin: 0 0 .7em 0;padding: 0;}.uv-card-meta img {border: none;vertical-align: bottom;}.uv-card-votes {background: #F9FAFC;border: 1px solid #DBDEE6;display: inline-block;-moz-border-radius: 3px;-webkit-border-radius: 3px;border-radius: 3px;}.uv-card-votes-button {background: #F3F6FA;border: 1px solid #A0A6B3;-moz-border-radius: 3px;-webkit-border-radius: 3px;border-radius: 3px;color: #293E66;display: inline-block;font-weight: bold;margin: -1px;padding: 3px 7px 3px 5px;text-decoration: none;}.uv-card-votes-count {display: inline-block;padding-right: 7px;margin-left: 3px;}.uv-card-comments,.uv-card-votecount {display: inline-block;padding: 3px 5px;}.uv-card-votecount {color: #576800;}.uv-card-title {color: #293E66;font-size: 15px;font-weight: bold;margin: 0 0 10px 0;padding: 0;}h2.uv-card-title a {color: inherit;text-decoration: none;}.uv-card-description {margin-bottom: 10px;}.uv-card-description p {margin: 0 0 .7em 0;padding: 0;} completed How can the Azure portal be improved? -\n19 votes\n4 comments Be able to reconfigure a failed deployment and relaunch it Sometimes, a deployment fails for different reasons: bad parametering, inappropriate context or runtime error (quite often in this stage of the portal and API). It would be very useful to be able to reopen the workflow from a deployment (the UI worlflow, if it was made via UI). Then it could be \u0026hellip; feedback.azure.com https://feedback.azure.com の意見は本当に開発者がよく見ているようなので、気に入らないところがあれば投稿するようにして、一致する意見があればVoteしてあげると良いと思います。\n","permalink":"/entry/2017/05/12/060000/","summary":"\u003cp\u003e前回の記事中にチラッと書いたんですが、便利になったので改めて記事に書き起こしました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2017/05/07/133840\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eよくなんらかの原因でデプロイに失敗すると、アラートが表示されてこんな画面が出ます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170504221636.png\" alt=\"f:id:nnasaki:20170504221636p:plain\" title=\"f:id:nnasaki:20170504221636p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170504221636p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eそのときのエラー画面の上の方に次の画面が表示され、そこに「再デプロイ」というボタンがあるので、ポチッと押します。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170504221858.png\" alt=\"f:id:nnasaki:20170504221858p:plain\" title=\"f:id:nnasaki:20170504221858p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170504221858p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eすると、カスタムデプロイという見慣れない画面に飛ばされますが、ここでエラーの原因となっていた情報を再度入れ直します。先のエラーだとリージョンがダメだったようなので、東南アジアにしてみました。VM Sizeも一応直しておきます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170504222717.png\" alt=\"f:id:nnasaki:20170504222717p:plain\" title=\"f:id:nnasaki:20170504222717p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170504222717p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eスクロールを下にしていくと、Marketplace から購入したわけじゃないけど、とりあえずチェックを入れて購入を押します。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170504222153.png\" alt=\"f:id:nnasaki:20170504222153p:plain\" title=\"f:id:nnasaki:20170504222153p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170504222153p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e無事作成出来ました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170504223929.png\" alt=\"f:id:nnasaki:20170504223929p:plain\" title=\"f:id:nnasaki:20170504223929p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170504223929p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e前は失敗すると、また一から作り直しだったんですが便利になりました。どうやら次のフィードバックを取り入れてくれたようです。\u003c/p\u003e\n\u003cp\u003ediv.uv-card {background: #fff;border: 1px solid #CED6E6;-moz-border-radius: 3px;-webkit-border-radius: 3px;border-radius: 3px;color: #5C5F66;font: normal 11px/1.3em \u0026ldquo;HelveticaNeue\u0026rdquo;, Arial, sans-serif;margin: 0;max-width: 500px;padding: 10px 10px 5px 10px;text-rendering: optimizelegibility;zoom: 1;}div.uv-card:after {content: \u0026ldquo;.\u0026quot;;display: block;height: 0;clear: both;visibility: hidden;}.uv-card-info {line-height: 1em;margin-bottom: 10px;}.uv-card-topic {color: #A0A6B3;display: inline-block;}.uv-card-status {background: #DBF0B4;-moz-border-radius: 3px;-webkit-border-radius: 3px;border-radius: 3px;color: #446600;display: inline-block;font-size: 10px;font-weight: bold;margin-right: 5px;padding: 3px 5px;text-transform: uppercase;}.uv-card-meta {float: right;list-style: none;line-height: 16px;margin: 0 0 10px 20px;padding: 0;}.uv-card-meta li {margin: 0 0 .7em 0;padding: 0;}.uv-card-meta img {border: none;vertical-align: bottom;}.uv-card-votes {background: #F9FAFC;border: 1px solid #DBDEE6;display: inline-block;-moz-border-radius: 3px;-webkit-border-radius: 3px;border-radius: 3px;}.uv-card-votes-button {background: #F3F6FA;border: 1px solid #A0A6B3;-moz-border-radius: 3px;-webkit-border-radius: 3px;border-radius: 3px;color: #293E66;display: inline-block;font-weight: bold;margin: -1px;padding: 3px 7px 3px 5px;text-decoration: none;}.uv-card-votes-count {display: inline-block;padding-right: 7px;margin-left: 3px;}.uv-card-comments,.uv-card-votecount {display: inline-block;padding: 3px 5px;}.uv-card-votecount {color: #576800;}.uv-card-title {color: #293E66;font-size: 15px;font-weight: bold;margin: 0 0 10px 0;padding: 0;}h2.uv-card-title a {color: inherit;text-decoration: none;}.uv-card-description {margin-bottom: 10px;}.uv-card-description p {margin: 0 0 .7em 0;padding: 0;}   completed How can the Azure portal be improved?      -\u003c/p\u003e","title":"デプロイに失敗した場合の再デプロイが便利になっていた"},{"content":"f:id:nnasaki:20170512011530p:plain Windows 10 Fall Creators Update が発表されました。\n普通にサッカーをしている女の子です。\nf:id:nnasaki:20170512010408p:plain ペンで文字を書いて女の子にくっつけます。\nf:id:nnasaki:20170512010336p:plain はい。文字が女の子に追従します。\nf:id:nnasaki:20170512010521p:plain f:id:nnasaki:20170512010609p:plain f:id:nnasaki:20170512010649p:plain 次はフリーキックです。\nf:id:nnasaki:20170512005728p:plain f:id:nnasaki:20170512010955p:plain ボールにちょちょいとペンで火の玉をつけます。\nf:id:nnasaki:20170512005758p:plain 再生します。ボールがファイアーボールになりました。\nf:id:nnasaki:20170512005909p:plain f:id:nnasaki:20170512011142p:plain ちょっと物足りなかったのでボールが地面に着地したら爆発を加えます。\nf:id:nnasaki:20170512010056p:plain はい。だれでも少林サッカーが作れる時代が来ました。\nf:id:nnasaki:20170512011353p:plain ","permalink":"/entry/2017/05/12/011836/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170512011530.png\" alt=\"f:id:nnasaki:20170512011530p:plain\" title=\"f:id:nnasaki:20170512011530p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170512011530p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eWindows 10 Fall Creators Update が発表されました。\u003c/p\u003e\n\u003cp\u003e普通にサッカーをしている女の子です。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170512010408.png\" alt=\"f:id:nnasaki:20170512010408p:plain\" title=\"f:id:nnasaki:20170512010408p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170512010408p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eペンで文字を書いて女の子にくっつけます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170512010336.png\" alt=\"f:id:nnasaki:20170512010336p:plain\" title=\"f:id:nnasaki:20170512010336p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170512010336p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eはい。文字が女の子に追従します。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170512010521.png\" alt=\"f:id:nnasaki:20170512010521p:plain\" title=\"f:id:nnasaki:20170512010521p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170512010521p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170512010609.png\" alt=\"f:id:nnasaki:20170512010609p:plain\" title=\"f:id:nnasaki:20170512010609p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170512010609p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170512010649.png\" alt=\"f:id:nnasaki:20170512010649p:plain\" title=\"f:id:nnasaki:20170512010649p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170512010649p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e次はフリーキックです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170512005728.png\" alt=\"f:id:nnasaki:20170512005728p:plain\" title=\"f:id:nnasaki:20170512005728p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170512005728p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170512010955.png\" alt=\"f:id:nnasaki:20170512010955p:plain\" title=\"f:id:nnasaki:20170512010955p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170512010955p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eボールにちょちょいとペンで火の玉をつけます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170512005758.png\" alt=\"f:id:nnasaki:20170512005758p:plain\" title=\"f:id:nnasaki:20170512005758p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170512005758p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e再生します。ボールがファイアーボールになりました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170512005909.png\" alt=\"f:id:nnasaki:20170512005909p:plain\" title=\"f:id:nnasaki:20170512005909p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170512005909p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170512011142.png\" alt=\"f:id:nnasaki:20170512011142p:plain\" title=\"f:id:nnasaki:20170512011142p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170512011142p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eちょっと物足りなかったのでボールが地面に着地したら爆発を加えます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170512010056.png\" alt=\"f:id:nnasaki:20170512010056p:plain\" title=\"f:id:nnasaki:20170512010056p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170512010056p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eはい。だれでも少林サッカーが作れる時代が来ました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170512011353.png\" alt=\"f:id:nnasaki:20170512011353p:plain\" title=\"f:id:nnasaki:20170512011353p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170512011353p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003chr\u003e","title":"【Build 2017速報】Windows 10 Fall Creators Update が発表。ペン1つで少林サッカー。"},{"content":"Azure Portal 上で シェル が使えるようになりました！\n[\nhttps://docs.microsoft.com/en-us/azure/cloud-shell/overview ](https://docs.microsoft.com/en-us/azure/cloud-shell/overview)\ndocs.microsoft.com\nEXTENDED BODY:\n使い方 Azure Cloud Shell (Preview) quickstart | Microsoft Docs にだいたい書いてありますが次の通りです。\nポータル上部のボタンを押してサブスクリプションを選択します。\nf:id:nnasaki:20170511122912p:plain ストレージが作られます。ストレージの料金は若干かかります。\nf:id:nnasaki:20170511123101p:plain 初期化がはじまります。\nf:id:nnasaki:20170511123136p:plain 初期化が終わり接続します。\nf:id:nnasaki:20170511123225p:plain 繋がりました。Bashが起動しているようです。\nf:id:nnasaki:20170511123255p:plain PowerShell はまだのようです。\nf:id:nnasaki:20170511123947p:plain VMを作ってみる Azure Cloud Shell (Preview) quickstart | Microsoft Docs のVMを作ってみようと思います。\naz group create -l japaneast -n nnasaki-east-test を実行\nf:id:nnasaki:20170511125404p:plain az vm create -n nnasaki-east-test -g nnasaki-east-test --image UbuntuLTS を実行したら SSH キーが無いと言われました。\nf:id:nnasaki:20170511125523p:plain --generate-ssh-keys オプションを付けて、再度実行したところ、作成できました。\nf:id:nnasaki:20170511125914p:plain SSHで接続します。ユーザーはシェルに表示されているか、$USERを指定して、先ほどの作成結果のpublicIpAddlessを使用します。こんな感じ。 ssh nnasakick@13.71.158.94\nf:id:nnasaki:20170511130308p:plain yesと打てばログインできます。Ubuntu に繋がってますね。\nf:id:nnasaki:20170511130409p:plain 使えるコマンド一覧 2017/5/11 現在です。最新版はリンク先を参照してください。\nf:id:nnasaki:20170511143813p:plain f:id:nnasaki:20170511143828p:plain docs.microsoft.com\n制限について 色々ありますが、大事なところ\n$Home と clouddrive 以外は消えます。注意しましょう。 git clone などで clouddrive にファイルを持ってきてもパーミッションが反映されない。 $Home を使いましょう。 インタラクティブな使用が目的なので、長いタスクなどは予告なく終了させることがある。*1 docs.microsoft.com\n10分ぐらいで切れるようです。\nf:id:nnasaki:20170511150317p:plain ローカルとのファイル共有 portal から上げたファイルを clouddrive ディレクトリで参照することが出来ます。逆もしかりです。\nportal で cloud-shell を検索してリソースグループを選択\nf:id:nnasaki:20170511144524p:plain ストレージアカウントを選択\nf:id:nnasaki:20170511144650p:plain ファイルサービスを選択\nf:id:nnasaki:20170511144728p:plain アップロードを選択\nf:id:nnasaki:20170511144759p:plain ファイルを選択してアップロード\nf:id:nnasaki:20170511144843p:plain 追加されてますね\nf:id:nnasaki:20170511144928p:plain Cloud Shell で追加されているのが確認出来ます。\nf:id:nnasaki:20170511145059p:plain さらに自分のPCにドライブとしてマウントすることも出来ます。はるたま先生の手順を行います。\nharutama.hatenablog.com\nローカルからも確認できました。\nf:id:nnasaki:20170511150144p:plain 中身について Ubuntu 16.04.1 LTS の Docker らしい。\nf:id:nnasaki:20170511150720p:plain まとめ Azure CLI が直ぐに使えるのと、ssh が入っていない Windows とかの時にサッとできて良い感じ。あと、Azure Mobile App(iOSアプリ) でもシェルが使えます！（使いたいかどうかは別にして）\nfacebook 見てたら ruby いれたり、awscli いれたりすでに Hack されているようです（笑）\n*1:az コマンドでデプロイに30分かかっても、コマンドの結果待ちをしているだけで、裏で動いているのでデプロイが途中で終わることは無いです。\n","permalink":"/entry/2017/05/11/211318/","summary":"\u003cp\u003eAzure Portal 上で シェル が使えるようになりました！\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://docs.microsoft.com/en-us/azure/cloud-shell/media/startup.gif\" class=\"http-image\" alt=\"https://docs.microsoft.com/en-us/azure/cloud-shell/overview\"\u003e\u003cfigcaption\u003ehttps://docs.microsoft.com/en-us/azure/cloud-shell/overview\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"https://docs.microsoft.com/en-us/azure/cloud-shell/overview\"\u003ehttps://docs.microsoft.com/en-us/azure/cloud-shell/overview\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://docs.microsoft.com/en-us/azure/cloud-shell/overview\"\u003edocs.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003ch3 id=\"使い方\"\u003e使い方\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://docs.microsoft.com/en-us/azure/cloud-shell/quickstart\"\u003eAzure Cloud Shell (Preview) quickstart | Microsoft Docs\u003c/a\u003e にだいたい書いてありますが次の通りです。\u003c/p\u003e\n\u003cp\u003eポータル上部のボタンを押してサブスクリプションを選択します。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170511122912.png\" alt=\"f:id:nnasaki:20170511122912p:plain\" title=\"f:id:nnasaki:20170511122912p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170511122912p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eストレージが作られます。ストレージの料金は若干かかります。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170511123101.png\" alt=\"f:id:nnasaki:20170511123101p:plain\" title=\"f:id:nnasaki:20170511123101p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170511123101p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e初期化がはじまります。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170511123136.png\" alt=\"f:id:nnasaki:20170511123136p:plain\" title=\"f:id:nnasaki:20170511123136p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170511123136p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e初期化が終わり接続します。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170511123225.png\" alt=\"f:id:nnasaki:20170511123225p:plain\" title=\"f:id:nnasaki:20170511123225p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170511123225p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e繋がりました。Bashが起動しているようです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170511123255.png\" alt=\"f:id:nnasaki:20170511123255p:plain\" title=\"f:id:nnasaki:20170511123255p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170511123255p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003ePowerShell はまだのようです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170511123947.png\" alt=\"f:id:nnasaki:20170511123947p:plain\" title=\"f:id:nnasaki:20170511123947p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170511123947p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch4 id=\"vmを作ってみる\"\u003eVMを作ってみる\u003c/h4\u003e\n\u003cp\u003e\u003ca href=\"https://docs.microsoft.com/en-us/azure/cloud-shell/quickstart\"\u003eAzure Cloud Shell (Preview) quickstart | Microsoft Docs\u003c/a\u003e のVMを作ってみようと思います。\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eaz group create -l japaneast -n nnasaki-east-test\u003c/code\u003e を実行\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170511125404.png\" alt=\"f:id:nnasaki:20170511125404p:plain\" title=\"f:id:nnasaki:20170511125404p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170511125404p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ccode\u003eaz vm create -n nnasaki-east-test -g nnasaki-east-test --image UbuntuLTS\u003c/code\u003e を実行したら SSH キーが無いと言われました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170511125523.png\" alt=\"f:id:nnasaki:20170511125523p:plain\" title=\"f:id:nnasaki:20170511125523p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170511125523p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ccode\u003e--generate-ssh-keys\u003c/code\u003e オプションを付けて、再度実行したところ、作成できました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170511125914.png\" alt=\"f:id:nnasaki:20170511125914p:plain\" title=\"f:id:nnasaki:20170511125914p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170511125914p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eSSHで接続します。ユーザーはシェルに表示されているか、\u003ccode\u003e$USER\u003c/code\u003eを指定して、先ほどの作成結果のpublicIpAddlessを使用します。こんな感じ。 \u003ccode\u003essh nnasakick@13.71.158.94\u003c/code\u003e\u003c/p\u003e","title":"Azure Cloud Shell が発表"},{"content":"f:id:nnasaki:20170508142056p:plain Azure Container Service ではオーケストレーションを選択する自由が有り、 Docker Swarm、Mesosphere DC/OS、 Kubernetes のいずれかを選べます。\n3つも選べることは良いことなのですが、初めて使うと正直どれを選べば良いか迷います。\n結論：Kubernetes を選ぶべき 結論から先に言うと Kubernetes を選ぶべきだと思います。今回はあまり技術的な部分（アーキテクチャ、機能性、安定性、性能）は触れずに、自分が普段行っている比較でまとめてみました。\n理由1：Githubで比べる OSSのプロダクトでどれを選ぶべきか迷った場合は、GithubのPulseを参考にすると良いです。Docker Swarm、Mesosphere DC/OS、 Kubernetes のそれぞれ1ヶ月分を見ていきます。\nDocker Swarm f:id:nnasaki:20170508130001p:plain https://github.com/docker/swarm/pulse/monthly\nStar数 4470 かなりある。\nPR数 10 とかなり少ない\nIssue数 Close より Open のほうが多く若干良くない兆候\nAuthors 3人と少ない Mesosphere DC/OS DC/OSはボリュームが少なかったので、marathonで比較した。\nf:id:nnasaki:20170508140106p:plain https://github.com/mesosphere/marathon/pulse/monthly\nStar数 3233 かなりある。\nPR数 12 とかなり少ない\nIssue数 Close が多くて○\nAuthors 15人でまぁまぁ多い Kubernetes f:id:nnasaki:20170508125935p:plain https://github.com/kubernetes/kubernetes/pulse/monthly\nStar数 22956 他より一桁多い。\nPR数 886 他より一桁多い。\nIssue数 Close は多いが新規もかなりある。Issueも溜まっており、品質は問題があるかもしれないが、それだけ叩かれているということでもある。\nAuthors 172人 他より一桁多い。 特定の人物に偏りが無く、OSSの存続性が高いといえる OSSは止まってしまわないことが重要だと考えていますので、とにかく勢いがある Kubernetes に軍配が上がると思います。\n理由２：Googleトレンドで比べる f:id:nnasaki:20170508140801p:plain https://trends.google.co.jp/trends/explore?q=Docker%20Swarm,Mesosphere,Kubernetes\n過去5年間でみると、Docker Swarm は微増。Mesosphere は横ばい。Kubernetesは急激に伸びていることがわかります。\n国別でみるとアメリカでは Mesosphere が強いようです。\nf:id:nnasaki:20170508141600p:plain 理由３：エンタープライズ対応があるか比べる OSSを利用するだけでは無くエンタープライズのような大規模向けの場合、サポートが必要となることが多いです。有償サポートがあるかどうかで比較します。\nDocker Swarm Docker Enterprise がある\nMesosphere DC/OS Mesosphere Enterprise が用意されている\nKubernetes Redhat 社の openshift をはじめとしたパートナー企業のサポートがある\nどれを選んでもサポートはありますので問題なさそうです。\n理由４：事例で見る どんなに優れていても実際に使えなければどうしようもありません。どんな事例があるかも重要なポイントになります。今回は Kubernetes しかあげませんが、ポケモンGOが動いている*1ってだけでかなり強い理由になるでしょう。\n** Pokémon GOとGCP ** from Google Cloud Platform - Japan\nまとめ Kubernetes が良いのではないかという最初の結論の通りです。今後技術的検証を進めるにつれて、印象は変わるかもしれませんが、今のところ Kubernetes を使用していきます。\n追記：2017/5/11 Build 2017 で Service Fabric でもコンテナサポートが発表されました。\nf:id:nnasaki:20170511121236p:plain Microsoft Azure ではコンテナ管理は複数の選択肢があります。適材適所で選ぶ方法などはまた後日。\n*1:正確にはGoogle Cloud上のGKEですが\n","permalink":"/entry/2017/05/11/060000/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170508142056.png\" alt=\"f:id:nnasaki:20170508142056p:plain\" title=\"f:id:nnasaki:20170508142056p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170508142056p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eAzure Container Service ではオーケストレーションを選択する自由が有り、 Docker Swarm、Mesosphere DC/OS、 Kubernetes のいずれかを選べます。\u003c/p\u003e\n\u003cp\u003e3つも選べることは良いことなのですが、初めて使うと正直どれを選べば良いか迷います。\u003c/p\u003e\n\u003ch3 id=\"結論kubernetes-を選ぶべき\"\u003e結論：Kubernetes を選ぶべき\u003c/h3\u003e\n\u003cp\u003e結論から先に言うと Kubernetes を選ぶべきだと思います。今回はあまり技術的な部分（アーキテクチャ、機能性、安定性、性能）は触れずに、自分が普段行っている比較でまとめてみました。\u003c/p\u003e\n\u003ch3 id=\"理由1githubで比べる\"\u003e理由1：Githubで比べる\u003c/h3\u003e\n\u003cp\u003eOSSのプロダクトでどれを選ぶべきか迷った場合は、GithubのPulseを参考にすると良いです。Docker Swarm、Mesosphere DC/OS、 Kubernetes のそれぞれ1ヶ月分を見ていきます。\u003c/p\u003e\n\u003ch4 id=\"docker-swarm\"\u003eDocker Swarm\u003c/h4\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170508130001.png\" alt=\"f:id:nnasaki:20170508130001p:plain\" title=\"f:id:nnasaki:20170508130001p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170508130001p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/docker/swarm/pulse/monthly\"\u003ehttps://github.com/docker/swarm/pulse/monthly\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eStar数\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e4470 かなりある。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePR数\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e10 とかなり少ない\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIssue数\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eClose より Open のほうが多く若干良くない兆候\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAuthors\u003c/li\u003e\n\u003cli\u003e3人と少ない\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"mesosphere-dcos\"\u003eMesosphere DC/OS\u003c/h4\u003e\n\u003cp\u003eDC/OSはボリュームが少なかったので、marathonで比較した。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170508140106.png\" alt=\"f:id:nnasaki:20170508140106p:plain\" title=\"f:id:nnasaki:20170508140106p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170508140106p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mesosphere/marathon/pulse/monthly\"\u003ehttps://github.com/mesosphere/marathon/pulse/monthly\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eStar数\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e3233 かなりある。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePR数\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e12 とかなり少ない\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIssue数\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eClose が多くて○\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAuthors\u003c/li\u003e\n\u003cli\u003e15人でまぁまぁ多い\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"kubernetes\"\u003eKubernetes\u003c/h4\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170508125935.png\" alt=\"f:id:nnasaki:20170508125935p:plain\" title=\"f:id:nnasaki:20170508125935p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170508125935p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/kubernetes/kubernetes/pulse/monthly\"\u003ehttps://github.com/kubernetes/kubernetes/pulse/monthly\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eStar数\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e22956 他より一桁多い。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePR数\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e886 他より一桁多い。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIssue数\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eClose は多いが新規もかなりある。Issueも溜まっており、品質は問題があるかもしれないが、それだけ叩かれているということでもある。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAuthors\u003c/li\u003e\n\u003cli\u003e172人 他より一桁多い。\u003c/li\u003e\n\u003cli\u003e特定の人物に偏りが無く、OSSの存続性が高いといえる\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOSSは止まってしまわないことが重要だと考えていますので、とにかく勢いがある Kubernetes に軍配が上がると思います。\u003c/p\u003e","title":"コンテナ管理はどれを選ぶべき？Azure Container Service で使用出来る Docker Swarm、Mesosphere DC/OS、 Kubernetes の3つを比較してみた。"},{"content":"f:id:nnasaki:20170511012440p:plain ようやく Azure に来ました。Microsoft が提供するマネージドな管理不要の MySQL と PostgreSQL が登場です。欲しい欲しい言い続けて何年たっただろう…\nf:id:nnasaki:20170511001357p:plain f:id:nnasaki:20170511001459p:plain 誤解を恐れずにすごく雑に言えば Amazon RDS の Azure 版です。\naws.amazon.com\nEXTENDED BODY:\nドキュメント Azure MySQL Documentation - Tutorials, API Reference | Microsoft Docs\nAzure PostgreSQL Documentation - Tutorials, API Reference | Microsoft Docs\nクイックスタート 英語ですがスクリーンショットが沢山あるので、見よう見まねでなんとかなると思います。\ndocs.microsoft.com\ndocs.microsoft.com\n性能について MySQL, PostgreSQL 共に、まだ Basic で 100 DTU までしか無いのでかなり小規模向けです。軽くベンチマークした感じですと、 pgbench で 100TPS ぐらいです。\n下記のドキュメントによると Premium で IOPS 最大 40000 程度になるようです。おそらく RDS 同等程度で Aurora はどうかなという感じがします。今後に期待しましょう。\ndocs.microsoft.com\ndocs.microsoft.com\nSLAについて 99.99% になる予定です*1。\nこれは正直驚いていて、Amazon RDS は Multi-AZ 構成で 99.95%*2です。 Amazon Aurora については SLA の記載が見当たりませんでした。\nMulti-AZのようなプライマリ-スタンバイの構成をとらず、どのように実現しているかは非常に興味があります。\nとはいえ、まだプレビューですので今はSLAがついていません。今の段階ですぐ本番にというのはまだ危険だと思います。\nまとめ 性能面は今後 Premium が出てから検証が必要ですが、本当に嬉しい発表でした！\n余談 正直出すのはSQL Serverという自社製品のDBがある以上、社内政治的に相当大変だったんじゃ無いかなぁと邪推してしまいます。\nなので、結構自分の中では大きな発表だと思っています。\n*1:https://docs.microsoft.com/ja-jp/azure/mysql/overview#keep-your-app-and-business-running *2:サービスレベルアグリーメント - Amazon RDS | AWS\n","permalink":"/entry/2017/05/11/012822/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170511012440.png\" alt=\"f:id:nnasaki:20170511012440p:plain\" title=\"f:id:nnasaki:20170511012440p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170511012440p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eようやく Azure に来ました。Microsoft が提供するマネージドな管理不要の MySQL と PostgreSQL が登場です。欲しい欲しい言い続けて何年たっただろう…\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170511001357.png\" alt=\"f:id:nnasaki:20170511001357p:plain\" title=\"f:id:nnasaki:20170511001357p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170511001357p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170511001459.png\" alt=\"f:id:nnasaki:20170511001459p:plain\" title=\"f:id:nnasaki:20170511001459p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170511001459p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e誤解を恐れずにすごく雑に言えば Amazon RDS の Azure 版です。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://aws.amazon.com/jp/rds/\"\u003eaws.amazon.com\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003ch3 id=\"ドキュメント\"\u003eドキュメント\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://docs.microsoft.com/ja-jp/azure/mysql/\"\u003eAzure MySQL Documentation - Tutorials, API Reference | Microsoft Docs\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://docs.microsoft.com/ja-jp/azure/postgresql/\"\u003eAzure PostgreSQL Documentation - Tutorials, API Reference | Microsoft Docs\u003c/a\u003e\u003c/p\u003e\n\u003ch4 id=\"クイックスタート\"\u003eクイックスタート\u003c/h4\u003e\n\u003cp\u003e英語ですがスクリーンショットが沢山あるので、見よう見まねでなんとかなると思います。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://docs.microsoft.com/ja-jp/azure/mysql/quickstart-create-mysql-server-database-using-azure-portal\"\u003edocs.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://docs.microsoft.com/ja-jp/azure/postgresql/quickstart-create-server-database-portal\"\u003edocs.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"性能について\"\u003e性能について\u003c/h3\u003e\n\u003cp\u003eMySQL, PostgreSQL 共に、まだ Basic で 100 DTU までしか無いのでかなり小規模向けです。軽くベンチマークした感じですと、 pgbench で 100TPS ぐらいです。\u003c/p\u003e\n\u003cp\u003e下記のドキュメントによると Premium で IOPS 最大 40000 程度になるようです。おそらく RDS 同等程度で Aurora はどうかなという感じがします。今後に期待しましょう。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://docs.microsoft.com/ja-jp/azure/mysql/concepts-compute-unit-and-storage\"\u003edocs.microsoft.com\u003c/a\u003e\u003c/p\u003e","title":"【Build 2017速報】Azure にマネージドな MySQL と PostgreSQL が登場！"},{"content":"Azure Container Service を使用して kubernetes のノードを50にしてみました。\nf:id:nnasaki:20170508121911p:plain VM数は53個 ノード50個にマスター3個で計53個になりました。圧巻です。リソースグループではネットワークインターフェンスなどがあるので計120個と表示されました。\nf:id:nnasaki:20170508122051p:plain CLIで仮想マシンをカウントするとキッチリ53個でした。\nf:id:nnasaki:20170508122116p:plain ストレージアカウントは４つ ノード3つにマスター1つになりました。\nf:id:nnasaki:20170508122324p:plain このように各ストレージアカウントに分散してOSディスク用のblobが作られます。\nf:id:nnasaki:20170508122443p:plain ノード20個ごとに1ストレージアカウントが作られました。\nTIPS:ストレージアカウントの制限について ストレージアカウントごとにIOPSなどの制限があるので注意が必要です。\ndocs.microsoft.com\nなお、管理ディスク(Managed Disk)を使用すればストレージアカウントの制限は無くなります。\nノード変更操作中のコンテナの動作について 50ノードとか課金が怖いので1時間もしないうちに5ノードに戻しましたチキンです。\nノード数の変更中もまったく問題ありません。ダッシュボードもデプロイ済みのアプリケーションも問題なく繋がりました。\nまとめ Azure Container Service のエージェント数の変更はまったく問題がありませんでしたが、ストレージアカウントの制限は気になるので 管理ディスク(Managed Disk) の対応が早くされると良いなと思います。 ACS-Engine の Issue や kubenetes の issue を見ると、kubenetes の 管理ディスク(Managed Disk) 対応はもう少し先になりそうです。\ngithub.com\ngithub.com\n","permalink":"/entry/2017/05/10/060000/","summary":"\u003cp\u003eAzure Container Service を使用して kubernetes のノードを50にしてみました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170508121911.png\" alt=\"f:id:nnasaki:20170508121911p:plain\" title=\"f:id:nnasaki:20170508121911p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170508121911p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"vm数は53個\"\u003eVM数は53個\u003c/h3\u003e\n\u003cp\u003eノード50個にマスター3個で計53個になりました。圧巻です。リソースグループではネットワークインターフェンスなどがあるので計120個と表示されました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170508122051.png\" alt=\"f:id:nnasaki:20170508122051p:plain\" title=\"f:id:nnasaki:20170508122051p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170508122051p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eCLIで仮想マシンをカウントするとキッチリ53個でした。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170508122116.png\" alt=\"f:id:nnasaki:20170508122116p:plain\" title=\"f:id:nnasaki:20170508122116p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170508122116p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"ストレージアカウントは４つ\"\u003eストレージアカウントは４つ\u003c/h3\u003e\n\u003cp\u003eノード3つにマスター1つになりました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170508122324.png\" alt=\"f:id:nnasaki:20170508122324p:plain\" title=\"f:id:nnasaki:20170508122324p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170508122324p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eこのように各ストレージアカウントに分散してOSディスク用のblobが作られます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170508122443.png\" alt=\"f:id:nnasaki:20170508122443p:plain\" title=\"f:id:nnasaki:20170508122443p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170508122443p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eノード20個ごとに1ストレージアカウントが作られました。\u003c/p\u003e\n\u003ch4 id=\"tipsストレージアカウントの制限について\"\u003eTIPS:ストレージアカウントの制限について\u003c/h4\u003e\n\u003cp\u003eストレージアカウントごとにIOPSなどの制限があるので注意が必要です。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://docs.microsoft.com/ja-jp/azure/storage/storage-scalability-targets\"\u003edocs.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eなお、管理ディスク(Managed Disk)を使用すればストレージアカウントの制限は無くなります。\u003c/p\u003e\n\u003ch3 id=\"ノード変更操作中のコンテナの動作について\"\u003eノード変更操作中のコンテナの動作について\u003c/h3\u003e\n\u003cp\u003e50ノードとか課金が怖いので1時間もしないうちに5ノードに戻しましたチキンです。\u003c/p\u003e\n\u003cp\u003eノード数の変更中もまったく問題ありません。ダッシュボードもデプロイ済みのアプリケーションも問題なく繋がりました。\u003c/p\u003e\n\u003ch3 id=\"まとめ\"\u003eまとめ\u003c/h3\u003e\n\u003cp\u003eAzure Container Service のエージェント数の変更はまったく問題がありませんでしたが、ストレージアカウントの制限は気になるので 管理ディスク(Managed Disk) の対応が早くされると良いなと思います。 ACS-Engine の Issue や kubenetes の issue を見ると、kubenetes の 管理ディスク(Managed Disk) 対応はもう少し先になりそうです。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/Azure/acs-engine/issues/523\"\u003egithub.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/kubernetes/kubernetes/pull/41950\"\u003egithub.com\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"Azure Container Service のエージェントを50にするとどうなるか？"},{"content":"f:id:nnasaki:20170507230317p:plain Azure Container Service で Kubernetes を使う記事を前回書きました。\nblog.nnasaki.com\n今回は Azure Container Service(ACS) を立ち上げっぱなしにしているとお金が結構かかるので、節約する方法をご紹介します。\nEXTENDED BODY:\nAzure Contaner Service の料金について azure.microsoft.com\n**ACS は、Virtual Machines (VM) をコンテナー サービスにクラスタリングする無料のサービスです。VM と、関連するストレージとネットワーク リソースの使用した分だけをお支払いいただきます。\nと、書いてあるとおりでコンテナーの管理サービスは無料ですが、中で動くVMなどのリソースの分お金がかかります。\n具体的には今回サンプルで作ったリソースグループ内は全部で30リソースあり、次のようになっています。\nf:id:nnasaki:20170507224134p:plain f:id:nnasaki:20170507224159p:plain f:id:nnasaki:20170507224220p:plain 特に仮想マシンはノード5つ分とマスター3つ分で合計8台あります。F2sで作成しましたので、8,727.12(円/月) * 8 (台) = 69,816.96(円/月)と中々痛い金額になってしまいます。\nその他ストレージやパブリックIPアドレスなども出費はあるのですが、仮想マシンと比べれば微々たるものです。\n仮想マシンを使わないときは割当を解除する 結論から言うと、Azure CLI などを使用してリソースグループ内の仮想マシンをすべて割当を解除**すれば良いです。コマンドはこちらです。k8s-southeastasiaをお使いのリソースグループ名に置換してください。\naz vm deallocate --ids $(az vm list -g k8s-southeastasia --query \u0026#34;[].id\u0026#34; -o tsv) --no-wait --ids オプションで複数のリソースIDを受け取って処理してくれます。\n仮想マシンを使うときに開始する 開始もほぼ同様に次の通りです。同じようにk8s-southeastasiaをお使いのリソースグループ名に置換してください。\naz vm start --ids $(az vm list -g k8s-southeastasia --query \u0026#34;[].id\u0026#34; -o tsv) --no-wait Tips：仮想マシンをシャットダウンするだけでは課金は止まらない 実は stop というコマンドもあるんですが、こちらは仮想マシンをシャットダウンをするだけで割当を解除しません。\naz vm stop --ids $(az vm list -g k8s-southeastasia --query \u0026#34;[].id\u0026#34; -o tsv) --no-wait なにがダメかというと、シャットダウンしただけでは課金は止まりません。\nポータルで確認すると次のような画面になっています。\nf:id:nnasaki:20170507225605p:plain ちゃんと注意が出ていますね。理由はこちらにも書いてあります。必ず割当を解除するようにしてください。\nblogs.msdn.microsoft.com\nまとめ stop を使いたくなりますが deallocate を使いましょう。\n","permalink":"/entry/2017/05/09/060000/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170507230317.png\" alt=\"f:id:nnasaki:20170507230317p:plain\" title=\"f:id:nnasaki:20170507230317p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170507230317p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eAzure Container Service で Kubernetes を使う記事を前回書きました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2017/05/07/133840\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e今回は Azure Container Service(ACS) を立ち上げっぱなしにしているとお金が結構かかるので、節約する方法をご紹介します。\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003ch3 id=\"azure-contaner-service-の料金について\"\u003eAzure Contaner Service の料金について\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://azure.microsoft.com/ja-jp/pricing/details/container-service/\"\u003eazure.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e**ACS は、Virtual Machines (VM) をコンテナー サービスにクラスタリングする無料のサービスです。VM と、関連するストレージとネットワーク リソースの使用した分だけをお支払いいただきます。\u003c/p\u003e\n\u003cp\u003eと、書いてあるとおりでコンテナーの管理サービスは無料ですが、中で動くVMなどのリソースの分お金がかかります。\u003c/p\u003e\n\u003cp\u003e具体的には今回サンプルで作ったリソースグループ内は全部で30リソースあり、次のようになっています。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170507224134.png\" alt=\"f:id:nnasaki:20170507224134p:plain\" title=\"f:id:nnasaki:20170507224134p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170507224134p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170507224159.png\" alt=\"f:id:nnasaki:20170507224159p:plain\" title=\"f:id:nnasaki:20170507224159p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170507224159p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170507224220.png\" alt=\"f:id:nnasaki:20170507224220p:plain\" title=\"f:id:nnasaki:20170507224220p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170507224220p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e特に仮想マシンはノード5つ分とマスター3つ分で合計8台あります。F2sで作成しましたので、8,727.12(円/月) * 8 (台) = 69,816.96(円/月)と中々痛い金額になってしまいます。\u003c/p\u003e\n\u003cp\u003eその他ストレージやパブリックIPアドレスなども出費はあるのですが、仮想マシンと比べれば微々たるものです。\u003c/p\u003e\n\u003ch3 id=\"仮想マシンを使わないときは割当を解除する\"\u003e仮想マシンを使わないときは割当を解除する\u003c/h3\u003e\n\u003cp\u003e結論から言うと、Azure CLI などを使用してリソースグループ内の仮想マシンをすべて割当を解除**すれば良いです。コマンドはこちらです。\u003ccode\u003ek8s-southeastasia\u003c/code\u003eをお使いのリソースグループ名に置換してください。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eaz vm deallocate --ids $(az vm list -g k8s-southeastasia --query \u0026#34;[].id\u0026#34; -o tsv) --no-wait\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e\u003ccode\u003e--ids\u003c/code\u003e オプションで複数のリソースIDを受け取って処理してくれます。\u003c/p\u003e\n\u003ch3 id=\"仮想マシンを使うときに開始する\"\u003e仮想マシンを使うときに開始する\u003c/h3\u003e\n\u003cp\u003e開始もほぼ同様に次の通りです。同じように\u003ccode\u003ek8s-southeastasia\u003c/code\u003eをお使いのリソースグループ名に置換してください。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eaz vm start --ids $(az vm list -g k8s-southeastasia --query \u0026#34;[].id\u0026#34; -o tsv) --no-wait\n\u003c/code\u003e\u003c/pre\u003e\u003ch3 id=\"tips仮想マシンをシャットダウンするだけでは課金は止まらない\"\u003eTips：仮想マシンをシャットダウンするだけでは課金は止まらない\u003c/h3\u003e\n\u003cp\u003e実は \u003ccode\u003estop\u003c/code\u003e というコマンドもあるんですが、こちらは\u003cstrong\u003e仮想マシンをシャットダウンをするだけで割当を解除しません。\u003c/strong\u003e\u003c/p\u003e","title":"Azure Container Service を節約して使う"},{"content":"せめてこれぐらいは動かさないと…\n1. プロジェクトのセットアップ — Spring Bootハンズオン 1.0.0-SNAPSHOT documentation\nhttps://github.com/spring-cloud-incubator/spring-cloud-kubernetes\nhttp://qiita.com/muraken720/items/8416271eb9fe350dfa61\nOpenShift だけど… https://testdrive.azure.com/#/test-drive/redhat.openshift-test-drive https://github.com/fmarchioni/mastertheboss/tree/master/spring/demo-spring-boot http://www.mastertheboss.com/jboss-frameworks/spring/deploy-your-springboot-applications-on-openshift https://github.com/nnasaki/springboot-gradle-centos https://hub.docker.com/r/codecentric/springboot-maven3-centos/~/dockerfile/\n","permalink":"/entry/2017/05/10/120506/","summary":"\u003cp\u003eせめてこれぐらいは動かさないと…\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://jsug-spring-boot-handson.readthedocs.io/en/latest/GettingStarted.html\"\u003e1. プロジェクトのセットアップ — Spring Bootハンズオン 1.0.0-SNAPSHOT documentation\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/spring-cloud-incubator/spring-cloud-kubernetes\"\u003ehttps://github.com/spring-cloud-incubator/spring-cloud-kubernetes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://qiita.com/muraken720/items/8416271eb9fe350dfa61\"\u003ehttp://qiita.com/muraken720/items/8416271eb9fe350dfa61\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"openshift-だけど\"\u003eOpenShift だけど…\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://testdrive.azure.com/#/test-drive/redhat.openshift-test-drive\"\u003ehttps://testdrive.azure.com/#/test-drive/redhat.openshift-test-drive\u003c/a\u003e\n\u003ca href=\"https://github.com/fmarchioni/mastertheboss/tree/master/spring/demo-spring-boot\"\u003ehttps://github.com/fmarchioni/mastertheboss/tree/master/spring/demo-spring-boot\u003c/a\u003e\n\u003ca href=\"http://www.mastertheboss.com/jboss-frameworks/spring/deploy-your-springboot-applications-on-openshift\"\u003ehttp://www.mastertheboss.com/jboss-frameworks/spring/deploy-your-springboot-applications-on-openshift\u003c/a\u003e\n\u003ca href=\"https://github.com/nnasaki/springboot-gradle-centos\"\u003ehttps://github.com/nnasaki/springboot-gradle-centos\u003c/a\u003e\n\u003ca href=\"https://hub.docker.com/r/codecentric/springboot-maven3-centos/~/dockerfile/\"\u003ehttps://hub.docker.com/r/codecentric/springboot-maven3-centos/~/dockerfile/\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"kubernetesでもう少しマシなspring boot動かす"},{"content":"Hammer DB 実行に難あり。$のパスワードが使えない。\nhttp://blog.engineer-memo.com/2013/01/20/%E6%97%A5%E6%9C%AC%E8%AA%9E%E7%92%B0%E5%A2%83%E3%81%AE-sql-server-%E3%81%A7-hammerdb-%E3%81%AE-tpc-h-%E3%82%92%E5%AE%9F%E8%A1%8C/\nhttp://blog.engineer-memo.com/2013/08/03/hammerdb-%E3%81%A7%E8%B2%A0%E8%8D%B7%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%99%82%E3%81%AE%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88/\nおそらく Auroraのパフォーマンスにはかなわない。\nAmazon Aurora Update – PostgreSQL Compatibility | AWS Blog\npgbench のオプションや実行方法など整備しておく必要あり。\n","permalink":"/entry/2017/05/08/150416/","summary":"\u003cp\u003eHammer DB 実行に難あり。$のパスワードが使えない。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.engineer-memo.com/2013/01/20/%E6%97%A5%E6%9C%AC%E8%AA%9E%E7%92%B0%E5%A2%83%E3%81%AE-sql-server-%E3%81%A7-hammerdb-%E3%81%AE-tpc-h-%E3%82%92%E5%AE%9F%E8%A1%8C/\"\u003ehttp://blog.engineer-memo.com/2013/01/20/%E6%97%A5%E6%9C%AC%E8%AA%9E%E7%92%B0%E5%A2%83%E3%81%AE-sql-server-%E3%81%A7-hammerdb-%E3%81%AE-tpc-h-%E3%82%92%E5%AE%9F%E8%A1%8C/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.engineer-memo.com/2013/08/03/hammerdb-%E3%81%A7%E8%B2%A0%E8%8D%B7%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%99%82%E3%81%AE%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88/\"\u003ehttp://blog.engineer-memo.com/2013/08/03/hammerdb-%E3%81%A7%E8%B2%A0%E8%8D%B7%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%99%82%E3%81%AE%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eおそらく Auroraのパフォーマンスにはかなわない。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://aws.amazon.com/blogs/aws/amazon-aurora-update-postgresql-compatibility/\"\u003eAmazon Aurora Update – PostgreSQL Compatibility | AWS Blog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003epgbench のオプションや実行方法など整備しておく必要あり。\u003c/p\u003e\n\u003chr\u003e","title":"Managed PostgreSQL/MySQL ベンチマーク・比較 Amazon Aurora"},{"content":"タイトルの通り2点お伝えすることがあります。まずはその前に、2017年の1Qも終了しました。2017年は2016年の反省もあり、次の目標を書きました。\nblog.nnasaki.com\n次の3つです。\n毎日 5 時間 コーディング 英語毎日やる。TOEIC600以上。 自転車乗る。体重・体脂肪-5kg EXTENDED BODY:\n5時間コーディングは結構ハードで毎日クリアは難しかったです。途中から週平均25にしたところ、大分達成しやすくなった感じです。一日3〜8時間ぐらいで推移している感じです。\n英語も3月までは基礎英語2だったのを4月からは基礎英語3にしてみました。今のところ良い感じです。この辺も別記事でまた書きたいと思います。\n自転車も3月までは雪もあったのであまり乗れませんでしたが、4月からは雨の日以外は毎日乗っている感じです。まだ体重と体脂肪は目標の減少まで至っていませんが、徐々に下がっている感じです。\n昨年よりは色々と改善しつつあるかなという感じで、今後もこのペースで続けていきたいと思います。\nde:code 2017 に登壇します！ f:id:nnasaki:20170507170150p:plain １つ目ですが de:code 2017 に登壇することになりました。ただし、私一人では心細いのでテクニカルエバンジェリストの戸倉さんと共同登壇とさせていただきました。\nGW中に色々考え、だいたいセッション内容が固まりつつあります。具体的にはSpring Bootを使用した事例と最近ブログにしているコンテナ周りについてお話出来ればと考えています。また、直前にBuildもありますので最新情報をできる限り取り入れられればと考えています。\n最終日の最終セッションという貴重な時間をいただき、さらにそれを見られた方が後悔されないように、入念に準備を進めている次第です。\n2017年4月より、株式会社SRIAの技術フェローに就任しました！ f:id:nnasaki:20170412232159p:plain ２つめ！\n2017年4月より、株式会社SRIAの技術フェローになりました！\n詳細や意気込みは早速SRIAのブログに書きました。\nwww.sria.co.jp\nblogに書かなかったことを補足すると、SRIAは少数精鋭のチームで個々のスキルも高く個性があって良いと思っています。なので、開発標準ガーとか、DevOpsガーとかを策定するフェーズでは無いと思っています。しばらくは各個人が抱えている不安や悩みをアドバイスしつつ、営業活動でスモールビジネスの継続性を高めるのが命題かなぁと思っています。\nということで、宣伝です！\nWebアプリとスマホアプリをデザインから作成出来る（アイキャッチの画像は写真から書いてもらいました）のと、Microsoft Azureなどのクラウドについて、お仕事のご相談がございましたら是非下記までお問い合わせください。\nwww.sria.co.jp\n最後にwishlistを初めて載せてみます。プレゼントをいただけるとちょっと嬉しいです。\nhttp://amzn.asia/fAuEelJamzn.asia\n","permalink":"/entry/2017/05/08/060000/","summary":"\u003cp\u003eタイトルの通り2点お伝えすることがあります。まずはその前に、2017年の1Qも終了しました。2017年は2016年の反省もあり、次の目標を書きました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2017/01/13/072754\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e次の3つです。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e毎日 5 時間 コーディング\u003c/li\u003e\n\u003cli\u003e英語毎日やる。TOEIC600以上。\u003c/li\u003e\n\u003cli\u003e自転車乗る。体重・体脂肪-5kg\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003cp\u003e5時間コーディングは結構ハードで毎日クリアは難しかったです。途中から週平均25にしたところ、大分達成しやすくなった感じです。一日3〜8時間ぐらいで推移している感じです。\u003c/p\u003e\n\u003cp\u003e英語も3月までは基礎英語2だったのを4月からは基礎英語3にしてみました。今のところ良い感じです。この辺も別記事でまた書きたいと思います。\u003c/p\u003e\n\u003cp\u003e自転車も3月までは雪もあったのであまり乗れませんでしたが、4月からは雨の日以外は毎日乗っている感じです。まだ体重と体脂肪は目標の減少まで至っていませんが、徐々に下がっている感じです。\u003c/p\u003e\n\u003cp\u003e昨年よりは色々と改善しつつあるかなという感じで、今後もこのペースで続けていきたいと思います。\u003c/p\u003e\n\u003ch3 id=\"decode-2017-に登壇します\"\u003ede:code 2017 に登壇します！\u003c/h3\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170507170150.png\" alt=\"f:id:nnasaki:20170507170150p:plain\" title=\"f:id:nnasaki:20170507170150p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170507170150p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e１つ目ですが de:code 2017 に登壇することになりました。ただし、私一人では心細いのでテクニカルエバンジェリストの戸倉さんと共同登壇とさせていただきました。\u003c/p\u003e\n\u003cp\u003eGW中に色々考え、だいたいセッション内容が固まりつつあります。具体的にはSpring Bootを使用した事例と最近ブログにしているコンテナ周りについてお話出来ればと考えています。また、直前にBuildもありますので最新情報をできる限り取り入れられればと考えています。\u003c/p\u003e\n\u003cp\u003e最終日の最終セッションという貴重な時間をいただき、さらにそれを見られた方が後悔されないように、入念に準備を進めている次第です。\u003c/p\u003e\n\u003ch3 id=\"2017年4月より株式会社sriaの技術フェローに就任しました\"\u003e2017年4月より、株式会社SRIAの技術フェローに就任しました！\u003c/h3\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170412232159.png\" alt=\"f:id:nnasaki:20170412232159p:plain\" title=\"f:id:nnasaki:20170412232159p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170412232159p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e２つめ！\u003c/p\u003e\n\u003cp\u003e2017年4月より、株式会社SRIAの技術フェローになりました！\u003c/p\u003e\n\u003cp\u003e詳細や意気込みは早速SRIAのブログに書きました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.sria.co.jp/blog/2017/04/yamamotojoinsria/\"\u003ewww.sria.co.jp\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eblogに書かなかったことを補足すると、SRIAは少数精鋭のチームで個々のスキルも高く個性があって良いと思っています。なので、開発標準ガーとか、DevOpsガーとかを策定するフェーズでは無いと思っています。しばらくは各個人が抱えている不安や悩みをアドバイスしつつ、営業活動でスモールビジネスの継続性を高めるのが命題かなぁと思っています。\u003c/p\u003e\n\u003cp\u003eということで、宣伝です！\u003c/p\u003e\n\u003cp\u003eWebアプリとスマホアプリをデザインから作成出来る（アイキャッチの画像は写真から書いてもらいました）のと、Microsoft Azureなどのクラウドについて、お仕事のご相談がございましたら是非下記までお問い合わせください。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.sria.co.jp/contact/\"\u003ewww.sria.co.jp\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e最後にwishlistを初めて載せてみます。プレゼントをいただけるとちょっと嬉しいです。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://amzn.asia/fAuEelJ\"\u003ehttp://amzn.asia/fAuEelJ\u003c/a\u003e\u003ca href=\"http://amzn.asia/fAuEelJ\"\u003eamzn.asia\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"近況について、de:code 2017 登壇と株式会社SRIAの技術フェローになりました"},{"content":"以前、Cloud Foundry を動かしてみましたが、Pivotal Cloud Foundry も Azure で作れるようになりましたので作成してみました。\nblog.nnasaki.com\nEXTENDED BODY:\nCloud Foundry と Pivotal Cloud Foundry の違いについて Cloud FoundryにSpring Boot/Java EEアプリケーションをデプロイしよう - BLOG.IK.AM を見ていただくのが良いです。ザックリ言えば、Cloud FoundryはOSSで様々なベンダーが携わっており公開されています。Pivotal Cloud FoundryはCloud Foundryには無い独自の機能が追加されており、より使いやすくなっている感じです。あとベンダーサポートもついてきますね。\n今回、AzureのMarketplaceを利用して Pivotal Cloud Foundry をデプロイしますが、Azureの利用料の他にPivotal Cloud Foundryのライセンス料が発生します。具体的な値段はわかりませんが、90日間のトライアルとなっています。\nAzureの利用料含め、ライセンス料もおそらく安くは無いので、実運用で使用するにはそこそこの大規模環境を想定したほうが良いのかなと思います。\n事前準備 サービスプリンシパル なぜかファイルです。しかも azure CLI 2.x で作られるjsonと形式が若干違います。ちょっと古い azure CLI 1.x を使うので、次のサイトをみて docker で動かすと良いです。\nblog.erds.xyz\nPivotal Network Token Pivotal Network にてアカウントを作成します。\nEdit Profile を選びます。\nf:id:nnasaki:20170507161951p:plain 一番下のAPI TOKENになります。\nf:id:nnasaki:20170507161907p:plain コア数のクォータを上げる Marketplace で選択するときにある注意書きです。100コア推奨です。\nf:id:nnasaki:20170507162338p:plain コア数のクォータ取得と上限の上げ方については、以前に記事を書いていますのでご確認ください。申請して数営業日がかかる場合があるので、早めに申請したほうが良いです。\nblog.nnasaki.com\n作成方法 事前準備で作成したものを含め、各項目を埋めて作成します。\nf:id:nnasaki:20170505003952p:plain Cloud Foundryの時は結構苦労した記憶がありますが、すんなりDeploy出来てしまいました。デプロイ結果を確認すると5分かかってないですね。出力にあるOPSMAN-FQDN、USERNAMEとPASSWORDを使うのでメモしておきます。\nf:id:nnasaki:20170505005331p:plain f:id:nnasaki:20170505005530p:plain ポータルを開く OPSMAN-FQDNにアクセスするとポータルに繋がります。証明書のエラーが出ますが一旦無視します。さきほどのUSERNAMEとPASSWORDを入力します。\nf:id:nnasaki:20170505010001p:plain ダッシュボードが開きました。\nf:id:nnasaki:20170505010239p:plain 機能を追加する Pivotal Network を開いて、サービスをダウンロードします。Spring Cloud Services for PCF を選んでみました。\nf:id:nnasaki:20170505011627p:plain f:id:nnasaki:20170505011805p:plain クリックするとファイルをダウンロードします。\nf:id:nnasaki:20170505011917p:plain Import a Product を選んで先ほどダウンロードしたファイルをアップロードします。\nf:id:nnasaki:20170505012047p:plain 追加されました。\nf:id:nnasaki:20170505012143p:plain ボタンを押すと、ダッシュボードに追加されます。 f:id:nnasaki:20170505012243p:plain f:id:nnasaki:20170505012303p:plain ちょっとオレンジ色だったので、クリックして中身を覗くと Go to Pivotal Network and download Stemcell 3263 ubuntu-trusty. ということなので、先ほどと同じように追加してみます。\nf:id:nnasaki:20170505012506p:plain f:id:nnasaki:20170505012644p:plain Stemcell をインポートしてあげたら、うまくいったようです。\nf:id:nnasaki:20170505013654p:plain ダッシュボードに戻ると Pending Changes と出ていたので、Apply Changes ボタンを押してみます。\nf:id:nnasaki:20170505013753p:plain エラーが出ました。mysql と rabbitmq が必要なようなので、また同じように Pivotal Network からダウンロードして、同じようにインストールします。\nf:id:nnasaki:20170505013854p:plain f:id:nnasaki:20170505014601p:plain f:id:nnasaki:20170505014750p:plain RabbitMQ の設定で Service Network というのが出てきて、表示出来ずにちょっとハマりました。\nf:id:nnasaki:20170505021610p:plain On-Demand Service Architecture | Pivotal Docs に書いてあるとおり、Ops Manager Director の Create Networks で追加すれば良いようです。\nf:id:nnasaki:20170505021837p:plain f:id:nnasaki:20170505022001p:plain Configuring Ops Manager Director on Azure | Pivotal Docsを見つつ追加しました。\n最後に Apply Changes を実行して、インストールが完了しました。\nf:id:nnasaki:20170507163830p:plain まとめ 長くなったので、アプリのデプロイについては次回記載します。必要な機能を Pivotal Network からファイルを持ってきて、アップロードして反映するという流れはなんとなくつかめました。\n","permalink":"/entry/2017/05/07/200000/","summary":"\u003cp\u003e以前、Cloud Foundry を動かしてみましたが、Pivotal Cloud Foundry も Azure で作れるようになりましたので作成してみました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2015/12/11/213443\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003ch3 id=\"cloud-foundry-と-pivotal-cloud-foundry-の違いについて\"\u003eCloud Foundry と Pivotal Cloud Foundry の違いについて\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://blog.ik.am/entries/359\"\u003eCloud FoundryにSpring Boot/Java EEアプリケーションをデプロイしよう - BLOG.IK.AM\u003c/a\u003e を見ていただくのが良いです。ザックリ言えば、Cloud FoundryはOSSで様々なベンダーが携わっており公開されています。Pivotal Cloud FoundryはCloud Foundryには無い独自の機能が追加されており、より使いやすくなっている感じです。あとベンダーサポートもついてきますね。\u003c/p\u003e\n\u003cp\u003e今回、AzureのMarketplaceを利用して Pivotal Cloud Foundry をデプロイしますが、Azureの利用料の他にPivotal Cloud Foundryのライセンス料が発生します。具体的な値段はわかりませんが、90日間のトライアルとなっています。\u003c/p\u003e\n\u003cp\u003eAzureの利用料含め、ライセンス料もおそらく安くは無いので、実運用で使用するにはそこそこの大規模環境を想定したほうが良いのかなと思います。\u003c/p\u003e\n\u003ch3 id=\"事前準備\"\u003e事前準備\u003c/h3\u003e\n\u003ch4 id=\"サービスプリンシパル\"\u003eサービスプリンシパル\u003c/h4\u003e\n\u003cp\u003eなぜかファイルです。しかも azure CLI 2.x で作られるjsonと形式が若干違います。ちょっと古い azure CLI 1.x を使うので、次のサイトをみて docker で動かすと良いです。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.erds.xyz/technology/install-cloud-foundry-on-azure/\"\u003eblog.erds.xyz\u003c/a\u003e\u003c/p\u003e\n\u003ch4 id=\"pivotal-network-token\"\u003ePivotal Network Token\u003c/h4\u003e\n\u003cp\u003e\u003ca href=\"https://network.pivotal.io/\"\u003ePivotal Network\u003c/a\u003e にてアカウントを作成します。\u003c/p\u003e\n\u003cp\u003eEdit Profile を選びます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170507161951.png\" alt=\"f:id:nnasaki:20170507161951p:plain\" title=\"f:id:nnasaki:20170507161951p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170507161951p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e一番下のAPI TOKENになります。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170507161907.png\" alt=\"f:id:nnasaki:20170507161907p:plain\" title=\"f:id:nnasaki:20170507161907p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170507161907p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch4 id=\"コア数のクォータを上げる\"\u003eコア数のクォータを上げる\u003c/h4\u003e\n\u003cp\u003eMarketplace で選択するときにある注意書きです。100コア推奨です。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170507162338.png\" alt=\"f:id:nnasaki:20170507162338p:plain\" title=\"f:id:nnasaki:20170507162338p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170507162338p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eコア数のクォータ取得と上限の上げ方については、以前に記事を書いていますのでご確認ください。申請して数営業日がかかる場合があるので、早めに申請したほうが良いです。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2017/04/24/141632\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e","title":"Pivotal Cloud Foundry on Azure を作ってみた"},{"content":"メイドさんが大好きなフリーランスのプログラマーさんが Azure Container Service について記事を書いていたので、自分も使ってみました。\nblog.shibayan.jp\nAzure Container Service は Marathon と DC/OS、Docker Swarm、または Kubernetes を使えます。\nf:id:nnasaki:20170504215826p:plain Azure クラウドでの Docker コンテナーのホスト | Microsoft Docs より\nEXTENDED BODY:\nしばやんが Kubernetes を使用していたので、違うのにしようかなと思いましたが、 Kubernetes を使用することにしました。\nAzure Container Service を作成する Orchestrator を Kubernetes で選びます。\nf:id:nnasaki:20170504220005p:plain SSH public key と Service Principal の設定がちょっと難しいですが、[i] の部分にマウスカーソルを合わせるとヘルプが出てくるので、それに従って進めていけばなんとかなります。\nf:id:nnasaki:20170504220413p:plain Agent は5つで、CPU4コアでメモリ8Gとバランスが良い F4S を選んでみました。\nf:id:nnasaki:20170504221052p:plain 検証に成功したのでOKを押してしばらく待ちます。\nf:id:nnasaki:20170504221241p:plain コーヒーでも入れてゆっくりしようかと思ったらエラーで失敗してしまいました。\nf:id:nnasaki:20170504221636p:plain 東日本は私のサブスクリプションではどうやらダメみたいなので、東南アジアの Standard_D2 で作り直します。\n再デプロイをポチッと押して、変更します。\nf:id:nnasaki:20170504221858p:plain f:id:nnasaki:20170504222717p:plain Marketplace から購入したわけじゃないけど、チェックを入れて購入を押します。\nf:id:nnasaki:20170504222153p:plain 前は失敗すると、また一から作り直しだったんですが便利になりました。\n東南アジアになってしまったのが不本意ですが、無事作成出来ました。\nf:id:nnasaki:20170504223929p:plain Kubernetes へ接続する しばやんのところに書いてある通り、次のドキュメントの手順通り行います。環境は macOS Sierra です。\ndocs.microsoft.com\nkubectl をインストールします。az コマンドを使用します。install-location は各自の環境に合わせてください。\naz acs kubernetes install-cli --install-location=/Users/nnasaki/bin/kubectl 次に認証情報をダウンロードしようとしたところでエラーになりました。\npink-poodle:~ nnasaki$ az acs kubernetes get-credentials --resource-group=k8s-southeastasia --name=containerservice-k8s-southeastasia Authentication failed. Traceback (most recent call last): File \u0026#34;/Users/nnasaki/lib/azure-cli/lib/python2.7/site-packages/azure/cli/main.py\u0026#34;, line 36, in main cmd_result = APPLICATION.execute(args) File \u0026#34;/Users/nnasaki/lib/azure-cli/lib/python2.7/site-packages/azure/cli/core/application.py\u0026#34;, line 201, in execute result = expanded_arg.func(params) File \u0026#34;/Users/nnasaki/lib/azure-cli/lib/python2.7/site-packages/azure/cli/core/commands/__init__.py\u0026#34;, line 417, in _execute_command reraise(*sys.exc_info()) File \u0026#34;/Users/nnasaki/lib/azure-cli/lib/python2.7/site-packages/azure/cli/core/commands/__init__.py\u0026#34;, line 399, in _execute_command result = op(client, **kwargs) if client else op(**kwargs) File \u0026#34;/Users/nnasaki/lib/azure-cli/lib/python2.7/site-packages/azure/cli/command_modules/acs/custom.py\u0026#34;, line 690, in k8s_get_credentials _k8s_get_credentials_internal(name, acs_info, path, ssh_key_file) File \u0026#34;/Users/nnasaki/lib/azure-cli/lib/python2.7/site-packages/azure/cli/command_modules/acs/custom.py\u0026#34;, line 711, in _k8s_get_credentials_internal \u0026#39;.kube/config\u0026#39;, path_candidate, key_filename=ssh_key_file) File \u0026#34;/Users/nnasaki/lib/azure-cli/lib/python2.7/site-packages/azure/cli/command_modules/acs/acs_client.py\u0026#34;, line 48, in SecureCopy ssh.connect(host, username=user, pkey=pkey) File \u0026#34;/Users/nnasaki/lib/azure-cli/lib/python2.7/site-packages/paramiko/client.py\u0026#34;, line 381, in connect look_for_keys, gss_auth, gss_kex, gss_deleg_creds, gss_host) File \u0026#34;/Users/nnasaki/lib/azure-cli/lib/python2.7/site-packages/paramiko/client.py\u0026#34;, line 622, in _auth raise saved_exception AuthenticationException: Authentication failed. 認証に失敗しています。scpで持ってくる方法を試しましたところうまくいきました。 azureuser@\u0026lt;master-dns-name\u0026gt; の azureuser を 作成時のユーザーに変えて、\u0026lt;master-dns-name\u0026gt; はコンテナのDNS名を入れます。\nmkdir $HOME/.kube scp azureuser@\u0026lt;master-dns-name\u0026gt;:.kube/config $HOME/.kube/config ポータルを表示する 次のコマンドを入力します。\nkubectl proxy 次のURLでポータルに接続します。\nhttp://127.0.0.1:8001/ui 画面は試しに nginx を入れた後です。\nf:id:nnasaki:20170507102336p:plain Spring Boot アプリケーションを kubernetes にデプロイする SPRING INITIALIZR にて、WebとActuatorをいれたサンプルを作ります。\nf:id:nnasaki:20170507131326p:plain 作成されたものにDockerfileを追加します。\nFROM openjdk:8-jdk VOLUME /tmp ADD /build/libs/demo-0.0.1-SNAPSHOT.jar app.jar EXPOSE 8080 ENTRYPOINT [ \u0026#34;sh\u0026#34;, \u0026#34;-c\u0026#34;, \u0026#34;java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar\u0026#34; ] 成果物はGithubにも置きました。\ngithub.com\n続いて、コンテナイメージを docker Hub にも置いておきます。\nhttps://hub.docker.com/r/nnasaki/spring-boot-sample/\nkubernetes のUIを開いて、コンテナイメージを選択します。外部サービスを追加するのをお忘れ無く。\nf:id:nnasaki:20170507132213p:plain watch kubectl get svc をしてしばらく待ちます。 External-IP がpendingから振られたらアクセス出来るようになります。30秒ほどで有効になりました。\nf:id:nnasaki:20170507132608p:plain ブラウザでhttp://[ip]/healthアクセスすると無事表示されました。\nf:id:nnasaki:20170507132714p:plain まとめ 作るまでにちょっと手間取りましたが、一度作ってしまえば便利だと思います。今回はシンプルなアプリケーションでしたが、もう少し複雑なアプリケーションでも試してみたいと思います。また、CIを組み合わせてKubernetesにデプロイすることも可能ですし、Kubernetesを使用していれば[Google Container Engine（GKE）(https://cloud.google.com/container-engine/)にも移行・併用も楽に出来ると思います。GKE は5ノードまで無料なようなので気軽に試せそう*1。\n*1:5/8追記 Compute Engine のインスタンス料金は、クラスタが削除されるまで、ノード数に応じて課金されます。とのことで、完全に無料ではありませんでした。自分がちょっとチュートリアルを試したところ$0.42かかりました。\n","permalink":"/entry/2017/05/07/133840/","summary":"\u003cp\u003eメイドさんが大好きなフリーランスのプログラマーさんが Azure Container Service について記事を書いていたので、自分も使ってみました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.shibayan.jp/entry/20170503/1493785246\"\u003eblog.shibayan.jp\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eAzure Container Service は Marathon と DC/OS、Docker Swarm、または Kubernetes を使えます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170504215826.png\" alt=\"f:id:nnasaki:20170504215826p:plain\" title=\"f:id:nnasaki:20170504215826p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170504215826p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"https://docs.microsoft.com/ja-jp/azure/container-service/container-service-intro\"\u003eAzure クラウドでの Docker コンテナーのホスト | Microsoft Docs\u003c/a\u003e より\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003cp\u003eしばやんが Kubernetes を使用していたので、違うのにしようかなと思いましたが、 Kubernetes を使用することにしました。\u003c/p\u003e\n\u003ch3 id=\"azure-container-service-を作成する\"\u003eAzure Container Service を作成する\u003c/h3\u003e\n\u003cp\u003eOrchestrator を Kubernetes で選びます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170504220005.png\" alt=\"f:id:nnasaki:20170504220005p:plain\" title=\"f:id:nnasaki:20170504220005p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170504220005p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eSSH public key と Service Principal の設定がちょっと難しいですが、[i] の部分にマウスカーソルを合わせるとヘルプが出てくるので、それに従って進めていけばなんとかなります。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170504220413.png\" alt=\"f:id:nnasaki:20170504220413p:plain\" title=\"f:id:nnasaki:20170504220413p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170504220413p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eAgent は5つで、CPU4コアでメモリ8Gとバランスが良い F4S を選んでみました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170504221052.png\" alt=\"f:id:nnasaki:20170504221052p:plain\" title=\"f:id:nnasaki:20170504221052p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170504221052p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e検証に成功したのでOKを押してしばらく待ちます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170504221241.png\" alt=\"f:id:nnasaki:20170504221241p:plain\" title=\"f:id:nnasaki:20170504221241p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170504221241p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eコーヒーでも入れてゆっくりしようかと思ったらエラーで失敗してしまいました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170504221636.png\" alt=\"f:id:nnasaki:20170504221636p:plain\" title=\"f:id:nnasaki:20170504221636p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170504221636p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e東日本は私のサブスクリプションではどうやらダメみたいなので、東南アジアの Standard_D2 で作り直します。\u003c/p\u003e\n\u003cp\u003e再デプロイをポチッと押して、変更します。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170504221858.png\" alt=\"f:id:nnasaki:20170504221858p:plain\" title=\"f:id:nnasaki:20170504221858p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170504221858p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170504222717.png\" alt=\"f:id:nnasaki:20170504222717p:plain\" title=\"f:id:nnasaki:20170504222717p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170504222717p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eMarketplace から購入したわけじゃないけど、チェックを入れて購入を押します。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170504222153.png\" alt=\"f:id:nnasaki:20170504222153p:plain\" title=\"f:id:nnasaki:20170504222153p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170504222153p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e前は失敗すると、また一から作り直しだったんですが便利になりました。\u003c/p\u003e\n\u003cp\u003e東南アジアになってしまったのが不本意ですが、無事作成出来ました。\u003c/p\u003e","title":"Azure Container Service 上の Kubernetes に Spring Bootをデプロイ"},{"content":"Chrome がヘッドレスモードに対応したということなので試してみました。コマンドラインからchromeが扱え、URLのテキスト出力、pdf出力とpng出力が出来ます。\nEXTENDED BODY:\n環境 macOS Sierra version 10.12.4 Chrome Canary 手順 次のページの手順をなぞってみました。環境に書いた通り macOS で試しています。Windows はまだ非サポートのようです。\nGetting Started with Headless Chrome | Web | Google Developers\nChrome Canary を取得する まず一番最初で躓きました。コマンドラインで動かすとエラーが出ました。\npink-poodle:~ nnasaki$ chrome --headless --dump-dom https://www.chromestatus.com/ [0503/211508.668380:ERROR:resource_bundle.cc(767)] Failed to load /Applications/Google Chrome.app/Contents/Versions/58.0.3029.96/Google Chrome Framework.framework/Versions/A/resources.pak Some features may not be available. Segmentation fault: 11 先のドキュメントを見返すとちゃんと書いてありました。version 59 以上対応です。普段使っている stable はまだ 58 でした。\nf:id:nnasaki:20170503220232p:plain Chrome Canary は 2017/5/3 現在、version 60 なので次のURLからダウンロードします。\nwww.google.co.jp\nこんな感じでインストール出来ました。\nf:id:nnasaki:20170504000506p:plain Alias を設定する 一々、 \u0026quot;/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome\u0026quot; と長ったらしいのを入力するのは面倒なので、alias を設定します\nalias chrome=\u0026#34;/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome\u0026#34; alias chrome-canary=\u0026#34;/Applications/Google\\ Chrome\\ Canary.app/Contents/MacOS/Google\\ Chrome\\ Canary\u0026#34; DOM を標準出力に出力する 次のコマンドを実行します。\npink-poodle:~ nnasaki$ chrome-canary --headless --dump-dom https://www.chromestatus.com/ 結果は次の通りです\n\u0026lt;body class=\u0026#34;loading\u0026#34;\u0026gt; \u0026lt;!--\u0026lt;div id=\u0026#34;site-banner\u0026#34;\u0026gt; \u0026lt;a href=\u0026#34;https://www.youtube.com/watch?v=Rd0plknSPYU\u0026#34; target=\u0026#34;_blank\u0026#34;\u0026gt; \u0026lt;iron-icon icon=\u0026#34;chromestatus:ondemand-video\u0026#34;\u0026gt;\u0026lt;/iron-icon\u0026gt; How we built it\u0026lt;/a\u0026gt; \u0026lt;/div\u0026gt;--\u0026gt; \u0026lt;app-drawer-layout fullbleed=\u0026#34;\u0026#34;\u0026gt; \u0026lt;app-drawer swipe-open=\u0026#34;\u0026#34; position=\u0026#34;left\u0026#34; persistent=\u0026#34;\u0026#34; opened=\u0026#34;\u0026#34; style=\u0026#34;transition-duration: 0ms;\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;drawer-content-wrapper\u0026#34;\u0026gt; \u0026lt;h3\u0026gt;Chrome versions\u0026lt;/h3\u0026gt; \u0026lt;chromedash-metadata impl-statuses=\u0026#34;[{\u0026amp;quot;va （ 以下省略） pdf に出力する 次のコマンドを実行します。なにか Warning は出ましたが、 output.pdf は出来ていました。\npink-poodle:~ nnasaki$ chrome-canary --headless --print-to-pdf https://www.chromestatus.com/ [0503/212309.511536:INFO:headless_shell.cc(436)] Written to file output.pdf. [0503/212309.528822:WARNING:spdy_session.cc(2910)] Received HEADERS for invalid stream 11 [0503/212309.532442:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1 出来た PDF はこんな感じで、PDFビューワで表示出来ました。ですが、ページをロードしきる前に取得してしまっています。\nf:id:nnasaki:20170503221342p:plain スクリーンショットをpngで出力する 次のコマンドを実行します。pdf 同様 Warning が出ますが、 screenshot.png は出来ました。\npink-poodle:~ nnasaki$ chrome-canary --headless --screenshot https://www.chromestatus.com/ [0503/212340.847874:INFO:headless_shell.cc(436)] Written to file screenshot.png. [0503/212340.858981:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1 pdf と比べて解像度がちょっと違うようです。\nf:id:nnasaki:20170503221417p:plain オプションを変えてスクリーンショットを取る --disable-gpu を付けると、うまくとれた感じです。\npink-poodle:~ nnasaki$ chrome-canary --headless --disable-gpu --screenshot https://www.chromestatus.com/ [0504/015437.958909:ERROR:service_manager_connection_impl.cc(285)] Can\u0026#39;t create service network. No handler found. [0504/015439.432167:INFO:headless_shell.cc(437)] Written to file screenshot.png. p f:id:nnasaki:20170504015808p:plain プログラミングしてみる サンプルにあった Lighthouse's ChromeLauncher と chrome-remote-interface を組み合わせて、スクリーンショットを取ってみました。Chrome のプロセス自動終了がうまくいきませんでしたが、スクリーンショットはとれるようになりました。なぜか --headless を有効にすると1ピクセルの画面が取得されてしまうので、オプションを外してブラウザは画面に表示されるようになりました。\nソースを載せておきます。\nスクリプトをコマンドライン風で扱うのは次のサイトが参考になりそうです。スクロールもさせて取れるようなオプションもあるのですが、うまく行きませんでした。\nmedium.com\nまとめ コマンドラインで手軽にスクリーンショットが取れるようになりました。色々と応用が出来そうですね。\n","permalink":"/entry/2017/05/04/084529/","summary":"\u003cp\u003eChrome がヘッドレスモードに対応したということなので試してみました。コマンドラインからchromeが扱え、URLのテキスト出力、pdf出力とpng出力が出来ます。\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003ch4 id=\"環境\"\u003e環境\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003emacOS Sierra version 10.12.4\u003c/li\u003e\n\u003cli\u003eChrome \u003cstrong\u003eCanary\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"手順\"\u003e手順\u003c/h3\u003e\n\u003cp\u003e次のページの手順をなぞってみました。環境に書いた通り macOS で試しています。Windows はまだ非サポートのようです。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://developers.google.com/web/updates/2017/04/headless-chrome\"\u003eGetting Started with Headless Chrome  |  Web  |  Google Developers\u003c/a\u003e\u003c/p\u003e\n\u003ch4 id=\"chrome-canary-を取得する\"\u003eChrome Canary を取得する\u003c/h4\u003e\n\u003cp\u003eまず一番最初で躓きました。コマンドラインで動かすとエラーが出ました。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003epink-poodle:~ nnasaki$ chrome --headless --dump-dom https://www.chromestatus.com/\n[0503/211508.668380:ERROR:resource_bundle.cc(767)] Failed to load /Applications/Google Chrome.app/Contents/Versions/58.0.3029.96/Google Chrome Framework.framework/Versions/A/resources.pak\nSome features may not be available.\nSegmentation fault: 11\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e先のドキュメントを見返すとちゃんと書いてありました。\u003cstrong\u003eversion 59 以上対応\u003c/strong\u003eです。普段使っている stable はまだ 58 でした。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170503220232.png\" alt=\"f:id:nnasaki:20170503220232p:plain\" title=\"f:id:nnasaki:20170503220232p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170503220232p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eChrome Canary は 2017/5/3 現在、version 60 なので次のURLからダウンロードします。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.google.co.jp/chrome/browser/canary.html\"\u003ewww.google.co.jp\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eこんな感じでインストール出来ました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170504000506.png\" alt=\"f:id:nnasaki:20170504000506p:plain\" title=\"f:id:nnasaki:20170504000506p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170504000506p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch4 id=\"alias-を設定する\"\u003eAlias を設定する\u003c/h4\u003e\n\u003cp\u003e一々、 \u003ccode\u003e\u0026quot;/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome\u0026quot;\u003c/code\u003e と長ったらしいのを入力するのは面倒なので、alias を設定します\u003c/p\u003e","title":"Mac で Chrome のヘッドレスモードを試してみた"},{"content":"以前、リソースマネージャ(ARM)にてクォータ(仮想マシンのコア数上限など)を取得するにはazure CLI2.0を使用していましたが、Azure ポータルから簡単に確認できるようになりました。\nリンク先は以前の記事です。\nblog.nnasaki.com\n確認手順 Azure ポータル にログイン 課金をメニューから選択 対象のサブスクリプションを選択 f:id:nnasaki:20170424130225p:plain 使用量 + クォータ を選択 f:id:nnasaki:20170424130418p:plain 結果 現在の使用量とクォータが表示されます\nf:id:nnasaki:20170424130553p:plain 尚、この画面右上の「引き上げを依頼する」を選択するとクォータの上限を上げることが出来ます。詳細は下記ドキュメントをご参照ください。\ndocs.microsoft.com\n簡単便利になって良かった良かった。\n","permalink":"/entry/2017/04/24/141632/","summary":"\u003cp\u003e以前、リソースマネージャ(ARM)にてクォータ(仮想マシンのコア数上限など)を取得するにはazure CLI2.0を使用していましたが、Azure ポータルから簡単に確認できるようになりました。\u003c/p\u003e\n\u003cp\u003eリンク先は以前の記事です。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2017/01/12/223848\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"確認手順\"\u003e確認手順\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://portal.azure.com\"\u003eAzure ポータル\u003c/a\u003e にログイン\u003c/li\u003e\n\u003cli\u003e課金をメニューから選択\u003c/li\u003e\n\u003cli\u003e対象のサブスクリプションを選択\u003c/li\u003e\n\u003c/ul\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170424130225.png\" alt=\"f:id:nnasaki:20170424130225p:plain\" title=\"f:id:nnasaki:20170424130225p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170424130225p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cul\u003e\n\u003cli\u003e使用量 + クォータ を選択\u003c/li\u003e\n\u003c/ul\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170424130418.png\" alt=\"f:id:nnasaki:20170424130418p:plain\" title=\"f:id:nnasaki:20170424130418p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170424130418p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"結果\"\u003e結果\u003c/h3\u003e\n\u003cp\u003e現在の使用量とクォータが表示されます\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170424130553.png\" alt=\"f:id:nnasaki:20170424130553p:plain\" title=\"f:id:nnasaki:20170424130553p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170424130553p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e尚、この画面右上の「引き上げを依頼する」を選択するとクォータの上限を上げることが出来ます。詳細は下記ドキュメントをご参照ください。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://docs.microsoft.com/ja-jp/azure/azure-supportability/resource-manager-core-quotas-request\"\u003edocs.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e簡単便利になって良かった良かった。\u003c/p\u003e\n\u003chr\u003e","title":"Azure Portal で使用済みリソースとクォータの取得が簡単になっていた"},{"content":"ポータルで面倒なリソースグループの一括削除など、面倒な作業はAzure CLI 2.0 (Preview) を使用しています。 docs.microsoft.com\n現象 Azure CLI は Docker for Mac で動かしているのですが、次のエラーが出てコマンドが使えなくなりました。\nf:id:nnasaki:20170223165456p:plain bash-4.3# az resource list The access token expiry UTC time \u0026#39;2/23/2017 2:12:56 AM\u0026#39; is earlier than current UTC time \u0026#39;2/23/2017 2:20:58 AM\u0026#39;. 原因 Dockerの時間がずれていました。ネットを検索してみると、ホストマシンと同期してくれるとか書いてあるんですが、明らかに違っています。\n対処 Dockerの再起動で直りました。次の restart をぽちっとクリックするだけです。\nf:id:nnasaki:20170223165328p:plain 注意点 Docker 上で作ってたスクリプトが消えてしまいました。。。コミットしていなかったのでやむなし。実行する前はコミットするように気をつけましょう。\n","permalink":"/entry/2017/02/23/165547/","summary":"\u003cp\u003eポータルで面倒なリソースグループの一括削除など、面倒な作業はAzure CLI 2.0 (Preview) を使用しています。\n\u003ca href=\"https://docs.microsoft.com/en-us/cli/azure/overview\"\u003edocs.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003ch4 id=\"現象\"\u003e現象\u003c/h4\u003e\n\u003cp\u003eAzure CLI は Docker for Mac で動かしているのですが、次のエラーが出てコマンドが使えなくなりました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170223165456.png\" alt=\"f:id:nnasaki:20170223165456p:plain\" title=\"f:id:nnasaki:20170223165456p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170223165456p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003ebash-4.3# az resource list\nThe access token expiry UTC time \u0026#39;2/23/2017 2:12:56 AM\u0026#39; is earlier than current UTC time \u0026#39;2/23/2017 2:20:58 AM\u0026#39;.\n\u003c/code\u003e\u003c/pre\u003e\u003ch4 id=\"原因\"\u003e原因\u003c/h4\u003e\n\u003cp\u003eDockerの時間がずれていました。ネットを検索してみると、ホストマシンと同期してくれるとか書いてあるんですが、明らかに違っています。\u003c/p\u003e\n\u003ch4 id=\"対処\"\u003e対処\u003c/h4\u003e\n\u003cp\u003eDockerの再起動で直りました。次の  restart をぽちっとクリックするだけです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170223165328.png\" alt=\"f:id:nnasaki:20170223165328p:plain\" title=\"f:id:nnasaki:20170223165328p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170223165328p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch4 id=\"注意点\"\u003e注意点\u003c/h4\u003e\n\u003cp\u003eDocker 上で作ってたスクリプトが消えてしまいました。。。コミットしていなかったのでやむなし。実行する前はコミットするように気をつけましょう。\u003c/p\u003e\n\u003chr\u003e","title":"Docker for Mac で Azure CLI 2.0 (Preview) のエラー対処方法"},{"content":"azure.microsoft.com\nazure.microsoft.com\nAzure Update (2017.02.09)buchizo.wordpress.com\nEXTENDED BODY:\n管理ディスクを使って仮想マシンを作成する Azure Managed Disks が Public Preview もなく GA しました。Portal からも簡単に作成できるようになっていて、「管理ディスクを使用」で「はい」を選択するだけです。\nf:id:nnasaki:20170209111905p:plain ストレージアカウントの選択が無くなっていることに気づいたでしょうか？\nf:id:nnasaki:20170209111936p:plain 管理ディスクを管理する 変な日本語になってしまいましたが、、、\nWindows Server 2016 を作ってみました。作成時間は従来と同じぐらいかな？遅くも早くもなくという感じです。作成されたVMはこんな感じでぱっと見、変化は無いですが「ディスク」を選択します。\nf:id:nnasaki:20170209112215p:plain こんな感じで、ディスクの一覧が出ます。\nf:id:nnasaki:20170209112251p:plain ディスクをクリックすると詳細が出ます。\nf:id:nnasaki:20170209112420p:plain リモートデスクトップで接続して、フォルダーを作ってみました。\nf:id:nnasaki:20170209112634p:plain スナップショットを作成する スナップショットを取ります。Portalの+をクリックして「Snapshot」でフィルターします。\nf:id:nnasaki:20170209112906p:plain Snapshotを選択して「作成」して、適宜項目を埋めて作成します。ソースディスクはちゃんと自分が作った管理ディスクが表示されました。アカウントの種類はデフォルトだとプレミアムが選択されますが、ドキュメントによると性能が必要になるまではStandardが推奨だそうです。\nWe recommend Standard_LRS unless you need it stored on a high performing disk.\ndocs.microsoft.com\nf:id:nnasaki:20170209113118p:plain 無事作成されました。\nf:id:nnasaki:20170209113823p:plain 今回 sysprep とか特にしていないですので、ご注意ください。（佐々木さんご指摘ありがとうございました。）\n@_ksasaki ですね。ドキュメントを読むとバックアップかテスト目的って感じのようです。https://t.co/wr9dmsUicV— YAMAMOTO Masaki (@nnasaki) 2017年2月9日\nスナップショットから復元する Portal から出来ない感じだったので、Azure CLI を使用してみました。Azure CLI のインストール方法などは次の記事を参照してください。\nblog.nnasaki.com\nスナップショットのリソースIDを取得します。方法は二通り。\nPortal から確認する 先ほどのスナップショットの画面の下の方に記載があります。\nf:id:nnasaki:20170209114740p:plain Azure CLI で取得する 次のコマンドで取得出来ます。\naz snapshot list ]\nf:id:nnasaki:20170209115013p:plain Azure CLI で 管理ディスク を作成する 次のコマンドを実行します。\naz disk create -g \u0026#34;MANAGED-TEST\u0026#34; -n \u0026#34;2016-managed-from-snapshot\u0026#34; --source \u0026#34;/subscriptions/{id}/resourceGroups/MANAGED-TEST/providers/Microsoft.Compute/snapshots/2016managed-snapshot-s\u0026#34; {id} のところは各自のsubscription idになります。 -g はリソースグループ。 -n は名前。 --source は先ほどのスナップショットのリソースIDを指定します。\n結果はこんな感じです。コマンドが帰ってくるまで、数十秒ぐらいで割と早い感じでした。\nf:id:nnasaki:20170209115415p:plain Azure CLI で 管理ディスク から 仮想マシン を作成する 次のコマンドを実行します。\naz vm create -g \u0026#34;MANAGED-TEST\u0026#34; -n \u0026#34;2016-managed-f\u0026#34; --attach-os-disk \u0026#34;2016-managed-from-snapshot\u0026#34; --os-type windows --admin-username {admin} --admin-password {password} 先ほど同様 -g はリソースグループ。 -n は名前。 --attach-os-disk に snapshot の名前を指定します。 --os-type は今回は windows を指定。Linuxなら linux で良いです。 --admin-username と admin-password はログイン時のユーザー名とパスワードですね。\n他にも size などのオプションがありますが省略しました。省略すると DS1 になります。詳しいオプションについては次のドキュメントを参考にしてください。\ndocs.microsoft.com\n結果は次の通りです。\nf:id:nnasaki:20170209115816p:plain Portalからも確認できました。\nf:id:nnasaki:20170209115914p:plain リモートデスクトップで確認する 先ほど作成したフォルダが作られており、スナップショットから複製することが出来ました。\nf:id:nnasaki:20170209120354p:plain まとめ 簡単にメリット・デメリットをまとめてみました。\n管理ディスクのメリット サブスクリプションごとのIOPSの上限を気にしなくてよい ストレージアカウントを気にしなくて良い スナップショットで簡単にバックアップがとれ、復元も容易 管理ディスクのデメリット スナップショットがインクリメンタルで取れない（そのうち対応されるよう） ポータル上から出来ない操作がまだある（スナップショットからの復元など） ストレージが LRS のみで、地理冗長などを選べない 個人的にはメリットが多いかなと思うので、今後は管理ディスクを使っていきます。既存のディスクをマイグレーション出来ますので、マイグレーションも実施していきたいですね。\nその他詳細はFAQをどうぞ。\ndocs.microsoft.com\n","permalink":"/entry/2017/02/09/121432/","summary":"\u003cp\u003e\u003ca href=\"https://azure.microsoft.com/en-us/services/managed-disks/\"\u003eazure.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://azure.microsoft.com/en-us/blog/announcing-general-availability-of-managed-disks-and-larger-scale-sets/\"\u003eazure.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"href\"\u003eAzure Update (2017.02.09)\u003c/a\u003e\u003ca href=\"https://buchizo.wordpress.com/2017/02/09/azure-update-2017-02-09/\"\u003ebuchizo.wordpress.com\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003ch3 id=\"管理ディスクを使って仮想マシンを作成する\"\u003e管理ディスクを使って仮想マシンを作成する\u003c/h3\u003e\n\u003cp\u003eAzure Managed Disks が Public Preview もなく GA しました。Portal からも簡単に作成できるようになっていて、「管理ディスクを使用」で「はい」を選択するだけです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170209111905.png\" alt=\"f:id:nnasaki:20170209111905p:plain\" title=\"f:id:nnasaki:20170209111905p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170209111905p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eストレージアカウントの選択が無くなっていることに気づいたでしょうか？\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170209111936.png\" alt=\"f:id:nnasaki:20170209111936p:plain\" title=\"f:id:nnasaki:20170209111936p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170209111936p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"管理ディスクを管理する\"\u003e管理ディスクを管理する\u003c/h3\u003e\n\u003cp\u003e変な日本語になってしまいましたが、、、\u003c/p\u003e\n\u003cp\u003eWindows Server 2016 を作ってみました。作成時間は従来と同じぐらいかな？遅くも早くもなくという感じです。作成されたVMはこんな感じでぱっと見、変化は無いですが「ディスク」を選択します。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170209112215.png\" alt=\"f:id:nnasaki:20170209112215p:plain\" title=\"f:id:nnasaki:20170209112215p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170209112215p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eこんな感じで、ディスクの一覧が出ます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170209112251.png\" alt=\"f:id:nnasaki:20170209112251p:plain\" title=\"f:id:nnasaki:20170209112251p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170209112251p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eディスクをクリックすると詳細が出ます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170209112420.png\" alt=\"f:id:nnasaki:20170209112420p:plain\" title=\"f:id:nnasaki:20170209112420p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170209112420p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eリモートデスクトップで接続して、フォルダーを作ってみました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170209112634.png\" alt=\"f:id:nnasaki:20170209112634p:plain\" title=\"f:id:nnasaki:20170209112634p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170209112634p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"スナップショットを作成する\"\u003eスナップショットを作成する\u003c/h3\u003e\n\u003cp\u003eスナップショットを取ります。Portalの+をクリックして「Snapshot」でフィルターします。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170209112906.png\" alt=\"f:id:nnasaki:20170209112906p:plain\" title=\"f:id:nnasaki:20170209112906p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170209112906p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eSnapshotを選択して「作成」して、適宜項目を埋めて作成します。ソースディスクはちゃんと自分が作った管理ディスクが表示されました。アカウントの種類はデフォルトだとプレミアムが選択されますが、ドキュメントによると性能が必要になるまではStandardが推奨だそうです。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eWe recommend Standard_LRS unless you need it stored on a high performing disk.\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e\u003ca href=\"https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-windows-snapshot-copy-managed-disk\"\u003edocs.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170209113118.png\" alt=\"f:id:nnasaki:20170209113118p:plain\" title=\"f:id:nnasaki:20170209113118p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170209113118p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e無事作成されました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170209113823.png\" alt=\"f:id:nnasaki:20170209113823p:plain\" title=\"f:id:nnasaki:20170209113823p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170209113823p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e今回 sysprep とか特にしていないですので、ご注意ください。（佐々木さんご指摘ありがとうございました。）\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003ca href=\"https://twitter.com/_ksasaki\"\u003e@_ksasaki\u003c/a\u003e ですね。ドキュメントを読むとバックアップかテスト目的って感じのようです。\u003ca href=\"https://t.co/wr9dmsUicV\"\u003ehttps://t.co/wr9dmsUicV\u003c/a\u003e— YAMAMOTO Masaki (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/status/829520659667562497\"\u003e2017年2月9日\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003ch3 id=\"スナップショットから復元する\"\u003eスナップショットから復元する\u003c/h3\u003e\n\u003cp\u003ePortal から出来ない感じだったので、Azure CLI を使用してみました。Azure CLI のインストール方法などは次の記事を参照してください。\u003c/p\u003e","title":"Azure Managed Disks(管理ディスク) でスナップショットを使ってみた"},{"content":"明けましておめでとうございます。年も明け、1月もはや半ばにさしかかろうとしている頃ですが、遅まきながら昨年のふりかえりと今年の目標を立てたいと思います。\n2016年ふりかえり 思い返すと忙しさに振り回されてあまり良くなかった。\nコミットを守れない バリューを出せない 3度目のシアトルにも関わらず英語撃沈 月一ぐらいで体調不良 忙しい原因は色々とあるのですが、主な原因は人生の大きなイベントが２つありました。\n第三子出生 家を買う どちらも4年に一度のオリンピック並にビッグイベントなので大変でした。さらにイベントは一度で終わらず、継続して現在も続いております。\n特に家については、すぐに必要ではなかったのですが、長男の小学校入学と長女の幼稚園入園が2017年4月に重なっており、その後の引っ越しよりはということで半ば強引に購入しました。フリーランス2年目なので住宅ローンを借りるのは非常に苦労しました。結局は無事借りられたので良かったのですが、この辺の資料作りや手続きで大分時間をロスしました。詳しくは後日お話出来ればと思います。\nとにかく2016年は反省という言葉では足りないくらい後悔の連続でした。\n2017年目標 今年の目標は「心・技・体」で考えました。\n心 継続的にコミットする。\n具体的には WakaTime を使用して、デイリーで 5 hour を超えることを目標とします。\nwakatime.com\n5時間というと一般的な勤務時間である8時間に満たないので簡単と思えるかもしれません。これはコーディング（IDEにコードをタイピング）しているのが5時間です。実際計ってみると、調べたり考えたりのほうが長くコードを5時間書くというのは大分考えがまとまり、集中していないと達成できません。\n技 色々やりたいことはあるのですが、英語に絞りたいと思います。\n昨年ラジオ英語などにも挑戦したのですが、1日15分程度も続きませんでした。\n今年はオンライン英会話やオフラインも取り入れつつ、心と通じるのですが継続的に取り組みます。具体的な数値目標として、まずはTOEIC600は取れること。出来れば800を超えたい。\n体 体を鍛える。\nフリーランスはやはり体が資本です。体力をつけると同時にダイエットもしたいと考えています。\n昨年は完全無欠コーヒーなどにチャレンジしましたが、引っ越しなども重なり後半思うように実施できませんでした。また、スポーツジムも3ヶ月程度で行かなくなってしまいました。\n[\nシリコンバレー式 自分を変える最強の食事 ](http://www.amazon.co.jp/exec/obidos/ASIN/4478039674/nnasaki-22/)[シリコンバレー式 自分を変える最強の食事](http://www.amazon.co.jp/exec/obidos/ASIN/4478039674/nnasaki-22/)- 作者: デイヴ・アスプリー,栗原百代- 出版社/メーカー: ダイヤモンド社- 発売日: 2015/09/18- メディア: 単行本（ソフトカバー）- この商品を含むブログ (12件) を見る\n今年は初売りでちょっと良い自転車（クロスバイク）を購入しました。通勤の際は自転車を使用して体力アップを行います。具体的な数値目標は体重-5kg、体脂肪-5%かな。\nまとめ 技も体の目標も心に通じます。毎日コツコツと継続して取り組むのが重要だと考えています。これは、自分の性格上コツコツというのが非常に苦手なのと、タスクの細分化が下手で、一つの大きなタスクを分解できずに着手が億劫になり、先延ばしにする傾向を克服したいという考えもあります。\n昨年はご迷惑をおかけっぱなしだったので、今年は昨年の分も含めて挽回したいと考えていますので、よろしくお願いします。blog も更新頻度上げなければなぁ。。。\n","permalink":"/entry/2017/01/13/072754/","summary":"\u003cp\u003e明けましておめでとうございます。年も明け、1月もはや半ばにさしかかろうとしている頃ですが、遅まきながら昨年のふりかえりと今年の目標を立てたいと思います。\u003c/p\u003e\n\u003ch3 id=\"2016年ふりかえり\"\u003e2016年ふりかえり\u003c/h3\u003e\n\u003cp\u003e思い返すと忙しさに振り回されてあまり良くなかった。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eコミットを守れない\u003c/li\u003e\n\u003cli\u003eバリューを出せない\u003c/li\u003e\n\u003cli\u003e3度目のシアトルにも関わらず英語撃沈\u003c/li\u003e\n\u003cli\u003e月一ぐらいで体調不良\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e忙しい原因は色々とあるのですが、主な原因は人生の大きなイベントが２つありました。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e第三子出生\u003c/li\u003e\n\u003cli\u003e家を買う\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eどちらも4年に一度のオリンピック並にビッグイベントなので大変でした。さらにイベントは一度で終わらず、継続して現在も続いております。\u003c/p\u003e\n\u003cp\u003e特に家については、すぐに必要ではなかったのですが、長男の小学校入学と長女の幼稚園入園が2017年4月に重なっており、その後の引っ越しよりはということで半ば強引に購入しました。フリーランス2年目なので住宅ローンを借りるのは非常に苦労しました。結局は無事借りられたので良かったのですが、この辺の資料作りや手続きで大分時間をロスしました。詳しくは後日お話出来ればと思います。\u003c/p\u003e\n\u003cp\u003eとにかく2016年は反省という言葉では足りないくらい後悔の連続でした。\u003c/p\u003e\n\u003ch3 id=\"2017年目標\"\u003e2017年目標\u003c/h3\u003e\n\u003cp\u003e今年の目標は「心・技・体」で考えました。\u003c/p\u003e\n\u003ch4 id=\"心\"\u003e心\u003c/h4\u003e\n\u003cp\u003e継続的にコミットする。\u003c/p\u003e\n\u003cp\u003e具体的には \u003ca href=\"https://wakatime.com\"\u003eWakaTime\u003c/a\u003e を使用して、デイリーで 5 hour を超えることを目標とします。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://wakatime.com\"\u003ewakatime.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e5時間というと一般的な勤務時間である8時間に満たないので簡単と思えるかもしれません。これはコーディング（IDEにコードをタイピング）しているのが5時間です。実際計ってみると、調べたり考えたりのほうが長くコードを5時間書くというのは大分考えがまとまり、集中していないと達成できません。\u003c/p\u003e\n\u003ch4 id=\"技\"\u003e技\u003c/h4\u003e\n\u003cp\u003e色々やりたいことはあるのですが、英語に絞りたいと思います。\u003c/p\u003e\n\u003cp\u003e昨年ラジオ英語などにも挑戦したのですが、1日15分程度も続きませんでした。\u003c/p\u003e\n\u003cp\u003e今年はオンライン英会話やオフラインも取り入れつつ、心と通じるのですが継続的に取り組みます。具体的な数値目標として、まずはTOEIC600は取れること。出来れば800を超えたい。\u003c/p\u003e\n\u003ch4 id=\"体\"\u003e体\u003c/h4\u003e\n\u003cp\u003e体を鍛える。\u003c/p\u003e\n\u003cp\u003eフリーランスはやはり体が資本です。体力をつけると同時にダイエットもしたいと考えています。\u003c/p\u003e\n\u003cp\u003e昨年は完全無欠コーヒーなどにチャレンジしましたが、引っ越しなども重なり後半思うように実施できませんでした。また、スポーツジムも3ヶ月程度で行かなくなってしまいました。\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://images-fe.ssl-images-amazon.com/images/I/51opAF5gsbL._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"シリコンバレー式 自分を変える最強の食事\" title=\"シリコンバレー式 自分を変える最強の食事\"\u003e\u003cfigcaption\u003eシリコンバレー式 自分を変える最強の食事\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/4478039674/nnasaki-22/)%5B\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/4478039674/nnasaki-22/)[\u003c/a\u003eシリコンバレー式 自分を変える最強の食事](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/4478039674/nnasaki-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/4478039674/nnasaki-22/)-\u003c/a\u003e 作者: デイヴ・アスプリー,栗原百代- 出版社/メーカー: ダイヤモンド社- 発売日: 2015/09/18- メディア: 単行本（ソフトカバー）- \u003ca href=\"http://d.hatena.ne.jp/asin/4478039674/nnasaki-22\"\u003eこの商品を含むブログ (12件) を見る\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e今年は初売りでちょっと良い自転車（クロスバイク）を購入しました。通勤の際は自転車を使用して体力アップを行います。具体的な数値目標は体重-5kg、体脂肪-5%かな。\u003c/p\u003e\n\u003ch3 id=\"まとめ\"\u003eまとめ\u003c/h3\u003e\n\u003cp\u003e技も体の目標も心に通じます。毎日コツコツと継続して取り組むのが重要だと考えています。これは、自分の性格上コツコツというのが非常に苦手なのと、タスクの細分化が下手で、一つの大きなタスクを分解できずに着手が億劫になり、先延ばしにする傾向を克服したいという考えもあります。\u003c/p\u003e\n\u003cp\u003e昨年はご迷惑をおかけっぱなしだったので、今年は昨年の分も含めて挽回したいと考えていますので、よろしくお願いします。blog も更新頻度上げなければなぁ。。。\u003c/p\u003e\n\u003chr\u003e","title":"2016年ふりかえりと2017年目標"},{"content":"Microsoft Azure では使いすぎるのを防止するために、クォータ（コア数上限）が設定されています。クラシックとリソースマネージャ（ARM)でそれぞれ違うのですが、今回はリソースマネージャで調べてみました。\nリソースマネージャの場合、リージョンごとにデフォルトだと20コアまでです。20コアでは足りない場合はAzure ポータル (https://portal.azure.com/) の[ヘルプとサポート] から個別にリクエストして増やしてもらう必要があります。リクエストの方法はリンク先を参照してください。\nblogs.msdn.microsoft.com\n先の[ヘルプとサポート] から[新しいサポート要求]をたどっていくとコア数上限は表示されるのですが、現在使用しているコア数は表示されませんでした。\nf:id:nnasaki:20170112213200p:plain Azure CLIを使う ポータルでは現在使用しているコア数は確認出来ないようなので、PowerShellかAzure CLIを使います。今回はmacOSを使用しているので、Azure CLIを使って確認することにしました。Azure CLIもNode.jsベースのものと新しいPythonベースの2.0（プレビュー）(https://github.com/Azure/azure-cli)があります。せっかくなんで新しい方を使ってみることにしました。\nインストール 色々方法はあるようですが、Dockerが簡単そうだったのでDockerにしました。\nDockerインストール macOSだと http://docker.com からイメージを落として、次のようにドラッグアンドドロップします。\nf:id:nnasaki:20170112220018p:plain あとは普通に起動して設定して終わりです。\nAzure CLI 2.0(プレビュー)のインストール 次のコマンドをターミナルから実行します。\ndocker run -v ${HOME}:/root -it azuresdk/azure-cli-python:latest するとこんな感じでインストールされます。1分もかかりません。\nf:id:nnasaki:20170112215204p:plain Azure CLIの設定 Azure CLIから自分のアカウントにアクセスできるようにloginします。\naz login とすると次のメッセージが出ます。\nf:id:nnasaki:20170112220318p:plain https://aka.ms/devicelogin をブラウザ開き、code を入力すると認証が完了します。\nf:id:nnasaki:20170112220436p:plain ブラウザで入力してから1分ほど待っているとコマンドが自動で終了して、使用出来る状態になります。\nAzure CLI を使ってコア数の上限を調べる 東日本リージョンで調べてみましょう。\naz vm list-usage --location japaneast と、実行すると次のようにjsonでズラッと表示されます。（省略して記載しています。）\nlocalizedValueのTotal Regional Coresで、currentValueが現在使用しているコア数、limitがコア数の上限です。\n[ { \u0026#34;currentValue\u0026#34;: 0, \u0026#34;limit\u0026#34;: 2000, \u0026#34;name\u0026#34;: { \u0026#34;localizedValue\u0026#34;: \u0026#34;Availability Sets\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;availabilitySets\u0026#34; } }, { \u0026#34;currentValue\u0026#34;: 2, \u0026#34;limit\u0026#34;: 20, \u0026#34;name\u0026#34;: { \u0026#34;localizedValue\u0026#34;: \u0026#34;Total Regional Cores\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;cores\u0026#34; } }, jsonが見にくいというひとは、output オプションで list を指定してあげるとちょっと見やすくなります。\naz vm list-usage --output list --location japaneast Current Value : 0 Limit : 2000 Name : Localized Value : Availability Sets Value : availabilitySets Current Value : 2 Limit : 20 Name : Localized Value : Total Regional Cores Value : cores table だと数字だけでちょっと残念な表示になってしまいました。\naz vm list-usage --output table --location japaneast Limit ------- 2000 20 まとめ Azure CLI 2.0(https://github.com/Azure/azure-cli) は便利なので積極的に使っていきたいなぁと思います。\n","permalink":"/entry/2017/01/12/223848/","summary":"\u003cp\u003eMicrosoft Azure では使いすぎるのを防止するために、クォータ（コア数上限）が設定されています。クラシックとリソースマネージャ（ARM)でそれぞれ違うのですが、今回はリソースマネージャで調べてみました。\u003c/p\u003e\n\u003cp\u003eリソースマネージャの場合、リージョンごとにデフォルトだと20コアまでです。20コアでは足りない場合はAzure ポータル (\u003ca href=\"https://portal.azure.com/\"\u003ehttps://portal.azure.com/\u003c/a\u003e) の[ヘルプとサポート] から個別にリクエストして増やしてもらう必要があります。リクエストの方法はリンク先を参照してください。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://blogs.msdn.microsoft.com/dsazurejp/2013/10/22/microsoft-azure/\"\u003eblogs.msdn.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e先の[ヘルプとサポート] から[新しいサポート要求]をたどっていくとコア数上限は表示されるのですが、現在使用しているコア数は表示されませんでした。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170112213200.png\" alt=\"f:id:nnasaki:20170112213200p:plain\" title=\"f:id:nnasaki:20170112213200p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170112213200p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"azure-cliを使う\"\u003eAzure CLIを使う\u003c/h3\u003e\n\u003cp\u003eポータルでは現在使用しているコア数は確認出来ないようなので、PowerShellかAzure CLIを使います。今回はmacOSを使用しているので、Azure CLIを使って確認することにしました。Azure CLIもNode.jsベースのものと新しいPythonベースの2.0（プレビュー）(\u003ca href=\"https://github.com/Azure/azure-cli\"\u003ehttps://github.com/Azure/azure-cli\u003c/a\u003e)があります。せっかくなんで新しい方を使ってみることにしました。\u003c/p\u003e\n\u003ch4 id=\"インストール\"\u003eインストール\u003c/h4\u003e\n\u003cp\u003e色々方法はあるようですが、Dockerが簡単そうだったのでDockerにしました。\u003c/p\u003e\n\u003ch5 id=\"dockerインストール\"\u003eDockerインストール\u003c/h5\u003e\n\u003cp\u003emacOSだと \u003ca href=\"http://docker.com\"\u003ehttp://docker.com\u003c/a\u003e からイメージを落として、次のようにドラッグアンドドロップします。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170112220018.png\" alt=\"f:id:nnasaki:20170112220018p:plain\" title=\"f:id:nnasaki:20170112220018p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170112220018p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eあとは普通に起動して設定して終わりです。\u003c/p\u003e\n\u003ch5 id=\"azure-cli-20プレビューのインストール\"\u003eAzure CLI 2.0(プレビュー)のインストール\u003c/h5\u003e\n\u003cp\u003e次のコマンドをターミナルから実行します。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003edocker run -v ${HOME}:/root -it azuresdk/azure-cli-python:latest\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eするとこんな感じでインストールされます。1分もかかりません。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170112215204.png\" alt=\"f:id:nnasaki:20170112215204p:plain\" title=\"f:id:nnasaki:20170112215204p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170112215204p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch5 id=\"azure-cliの設定\"\u003eAzure CLIの設定\u003c/h5\u003e\n\u003cp\u003eAzure CLIから自分のアカウントにアクセスできるようにloginします。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eaz login\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eとすると次のメッセージが出ます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170112220318.png\" alt=\"f:id:nnasaki:20170112220318p:plain\" title=\"f:id:nnasaki:20170112220318p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170112220318p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"https://aka.ms/devicelogin\"\u003ehttps://aka.ms/devicelogin\u003c/a\u003e をブラウザ開き、code を入力すると認証が完了します。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20170112220436.png\" alt=\"f:id:nnasaki:20170112220436p:plain\" title=\"f:id:nnasaki:20170112220436p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20170112220436p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eブラウザで入力してから1分ほど待っているとコマンドが自動で終了して、使用出来る状態になります。\u003c/p\u003e\n\u003ch4 id=\"azure-cli-を使ってコア数の上限を調べる\"\u003eAzure CLI を使ってコア数の上限を調べる\u003c/h4\u003e\n\u003cp\u003e東日本リージョンで調べてみましょう。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eaz vm list-usage --location japaneast\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eと、実行すると次のようにjsonでズラッと表示されます。（省略して記載しています。）\u003c/p\u003e\n\u003cp\u003elocalizedValueのTotal Regional Coresで、currentValueが現在使用しているコア数、limitがコア数の上限です。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e[\n  {\n    \u0026#34;currentValue\u0026#34;: 0,\n    \u0026#34;limit\u0026#34;: 2000,\n    \u0026#34;name\u0026#34;: {\n      \u0026#34;localizedValue\u0026#34;: \u0026#34;Availability Sets\u0026#34;,\n      \u0026#34;value\u0026#34;: \u0026#34;availabilitySets\u0026#34;\n    }\n  },\n  {\n    \u0026#34;currentValue\u0026#34;: 2,\n    \u0026#34;limit\u0026#34;: 20,\n    \u0026#34;name\u0026#34;: {\n      \u0026#34;localizedValue\u0026#34;: \u0026#34;Total Regional Cores\u0026#34;,\n      \u0026#34;value\u0026#34;: \u0026#34;cores\u0026#34;\n    }\n  },\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003ejsonが見にくいというひとは、output オプションで list を指定してあげるとちょっと見やすくなります。\u003c/p\u003e","title":"Microsoft Azure で使用している仮想マシンのコア数を調べる -リソースマネージャ(ARM)版-"},{"content":"stackoverflow.com\nhttps://zeroturnaround.com/rebellabs/is-your-tdd-slow-it-doesnt-have-to-be-that-way/\nspring-dev-tools でも出来るかは不明。\nqiita.com\nSpring + JRebel について\nJRebel でSpring Bootアプリケーションの快適リローディング (IntelliJ IDEA編) - BLOG.IK.AM\nMyJrebel でライセンスを取得。 myJRebel\nSpring + sprinmg-dev-tools について\nksby.hatenablog.com\n","permalink":"/entry/2016/12/26/120331/","summary":"\u003cp\u003e\u003ca href=\"http://stackoverflow.com/questions/35183243/intellij-keep-junit-running-during-integration-testing\"\u003estackoverflow.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://zeroturnaround.com/rebellabs/is-your-tdd-slow-it-doesnt-have-to-be-that-way/\"\u003ehttps://zeroturnaround.com/rebellabs/is-your-tdd-slow-it-doesnt-have-to-be-that-way/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003espring-dev-tools でも出来るかは不明。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://qiita.com/IsaoTakahashi/items/f99d5f761d1d4190860d\"\u003eqiita.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eSpring + JRebel について\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://blog.ik.am/entries/341\"\u003eJRebel でSpring Bootアプリケーションの快適リローディング (IntelliJ IDEA編) - BLOG.IK.AM\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eMyJrebel でライセンスを取得。\n\u003ca href=\"https://my.jrebel.com\"\u003emyJRebel\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eSpring + sprinmg-dev-tools について\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://ksby.hatenablog.com/entry/2016/05/28/202124\"\u003eksby.hatenablog.com\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"Spring コンテキストリロードせずにテスト"},{"content":"タイヤは 215/60R17 でした。結論からいうとコストコのキャンペーンが最安です。\nコストコ ミシュランキャンペーンで最安。工賃込み。廃タイヤ費用1,040円\nヨコハマ ブルーアース RV02 \u0026ndash; 19,900 円/本 \u0026ndash; 4本で79,600円 \u0026ndash; タイヤクーポン5000円使用で74,600円 ミシュラン PRIMACY3 \u0026ndash; 17,400 円/本 \u0026ndash; 4本で69,600円 \u0026ndash; キャンペーンで9600円プリペイドカードもらえる。実質60,000円！ タイヤハウスBEST ダンロップ系なので安いが、コストコのキャンペーンには届かず。工賃別。\nミシュラン PRIMACY3 \u0026ndash; 20,000 円/本（記憶が曖昧） ダンロップ 型番不明 \u0026ndash; 16,425 円/本 イエローハット 全体的に割高感。値引きにもあまり応じてもらえず。工賃別。\nミシュラン PRIMACY3 \u0026ndash; 27,600 円/本 ファルケン 型番不明 \u0026ndash; 16,000 円/本 まとめ コストコが工賃込みで最安。今回は夏タイヤの買い換えでしたが、スタッドレスのタイヤ交換なども無料で行ってくれます。\nキャンペーン期間を狙って交換するとよさげです。大体四半期に１回はやっているようで、ヨコハマとミシュランのキャンペーンを交互に行っているようです。スタッドレスも\n","permalink":"/entry/2016/08/08/114251/","summary":"\u003cp\u003eタイヤは 215/60R17 でした。結論からいうとコストコのキャンペーンが最安です。\u003c/p\u003e\n\u003ch3 id=\"コストコ\"\u003eコストコ\u003c/h3\u003e\n\u003cp\u003eミシュランキャンペーンで最安。工賃込み。廃タイヤ費用1,040円\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eヨコハマ ブルーアース RV02\n\u0026ndash; 19,900 円/本\n\u0026ndash; 4本で79,600円\n\u0026ndash; タイヤクーポン5000円使用で74,600円\u003c/li\u003e\n\u003cli\u003eミシュラン PRIMACY3\n\u0026ndash; 17,400 円/本\n\u0026ndash; 4本で69,600円\n\u0026ndash; キャンペーンで9600円プリペイドカードもらえる。実質60,000円！\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"タイヤハウスbest\"\u003eタイヤハウスBEST\u003c/h3\u003e\n\u003cp\u003eダンロップ系なので安いが、コストコのキャンペーンには届かず。工賃別。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eミシュラン PRIMACY3\n\u0026ndash; 20,000 円/本（記憶が曖昧）\u003c/li\u003e\n\u003cli\u003eダンロップ 型番不明\n\u0026ndash; 16,425 円/本\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"イエローハット\"\u003eイエローハット\u003c/h3\u003e\n\u003cp\u003e全体的に割高感。値引きにもあまり応じてもらえず。工賃別。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eミシュラン PRIMACY3\n\u0026ndash; 27,600 円/本\u003c/li\u003e\n\u003cli\u003eファルケン 型番不明\n\u0026ndash; 16,000 円/本\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"まとめ\"\u003eまとめ\u003c/h3\u003e\n\u003cp\u003eコストコが工賃込みで最安。今回は夏タイヤの買い換えでしたが、スタッドレスのタイヤ交換なども無料で行ってくれます。\u003c/p\u003e\n\u003cp\u003eキャンペーン期間を狙って交換するとよさげです。大体四半期に１回はやっているようで、ヨコハマとミシュランのキャンペーンを交互に行っているようです。スタッドレスも\u003c/p\u003e\n\u003chr\u003e","title":"タイヤ交換した"},{"content":"Quantum Breakをプレイしました。まだクリアには至っておりません。\n良いところ 映画のようなグラフィック 一部の時を止めるという特殊な能力 MGSのように潜入ではなく、ガンガン敵を倒す爽快感 グラフィックは実写と融合をしているようで、映画と見間違うぐらい綺麗です。\nf:id:nnasaki:20160427234802p:plain (https://store.xbox.com/ja-JP/Xbox-One/Games/Quantum-Break/23630687-fad2-4cc8-8cfc-6f213b808b4fより)\n悪いところ パトカーや街灯の光がかなりまぶしい ストリーミングが再生できない パトカーや街灯の照明がすごくまぶしくて、画面全体が白くフラッシュします。パトカーなどの場合は最悪で点滅を繰り返すので、ちょっと気持ち悪くなりプレイが継続できなくなりました。画面を暗くしたり、視点を下にして床を多めにするなどちょっと対策が必要です。\n2番目のストリーミングが再生できないのも致命的です。\nf:id:nnasaki:20160427235202p:plain ネットワークの設定を確認し、全部OKですが再生できませんでした。ダウンロードも可能なのですが70GBもありHDDに空きが無いため断念しました。スキップしようとも思いましたが、ストーリーがわからなくなりそうなのでここで止めています。\nこれから面白くなりそうなところだったのですが残念です。\n今度プレイして問題が解決しているようでしたら先に進めたいと思います。\n","permalink":"/entry/2016/04/27/235448/","summary":"\u003cp\u003eQuantum Breakをプレイしました。まだクリアには至っておりません。\u003c/p\u003e\n\u003ch3 id=\"良いところ\"\u003e良いところ\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e映画のようなグラフィック\u003c/li\u003e\n\u003cli\u003e一部の時を止めるという特殊な能力\u003c/li\u003e\n\u003cli\u003eMGSのように潜入ではなく、ガンガン敵を倒す爽快感\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eグラフィックは実写と融合をしているようで、映画と見間違うぐらい綺麗です。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20160427/20160427234802.png\" alt=\"f:id:nnasaki:20160427234802p:plain\" title=\"f:id:nnasaki:20160427234802p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20160427234802p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e(\u003ca href=\"https://store.xbox.com/ja-JP/Xbox-One/Games/Quantum-Break/23630687-fad2-4cc8-8cfc-6f213b808b4f\"\u003ehttps://store.xbox.com/ja-JP/Xbox-One/Games/Quantum-Break/23630687-fad2-4cc8-8cfc-6f213b808b4f\u003c/a\u003eより)\u003c/p\u003e\n\u003ch3 id=\"悪いところ\"\u003e悪いところ\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eパトカーや街灯の光がかなりまぶしい\u003c/li\u003e\n\u003cli\u003eストリーミングが再生できない\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eパトカーや街灯の照明がすごくまぶしくて、画面全体が白くフラッシュします。パトカーなどの場合は最悪で点滅を繰り返すので、ちょっと気持ち悪くなりプレイが継続できなくなりました。画面を暗くしたり、視点を下にして床を多めにするなどちょっと対策が必要です。\u003c/p\u003e\n\u003cp\u003e2番目のストリーミングが再生できないのも致命的です。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20160427/20160427235202.png\" alt=\"f:id:nnasaki:20160427235202p:plain\" title=\"f:id:nnasaki:20160427235202p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20160427235202p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eネットワークの設定を確認し、全部OKですが再生できませんでした。ダウンロードも可能なのですが70GBもありHDDに空きが無いため断念しました。スキップしようとも思いましたが、ストーリーがわからなくなりそうなのでここで止めています。\u003c/p\u003e\n\u003cp\u003eこれから面白くなりそうなところだったのですが残念です。\u003c/p\u003e\n\u003cp\u003e今度プレイして問題が解決しているようでしたら先に進めたいと思います。\u003c/p\u003e\n\u003chr\u003e","title":"Quantum Breakをプレイした"},{"content":"f:id:nnasaki:20160417120344p:plain Global Azure Boot Camp 2016 が開催されたので、参加してきました。毎年行われており、1年ぶり2度目の参加です。\njazug.doorkeeper.jp\nセッション資料 doc.co\nEXTENDED BODY:\nお昼来た時点で資料もデモも出来上がって無く、超焦ってましたがしばやんのおかげでなんとかなりました。さすがです。\nSkype Bot Platform はまだ招待制のプレビューのため、SDK や実装方法について、ブログに書いて良いかどうか判断がつかず、詳細は割愛させていただきます。2016/04/16現在、ビデオは流せるのですが、オーディオは流せないという制限があります。なので、mp3をmp4に変換するとかそういった小手先のテクニックが必要でした。\nセッション動画 一部版権の都合上、肝心のデモは配信からカットさせていただいています。\n懇親会 初めての方とも色々しゃべれて、楽しかったです。でも、Skype Bot Platform より、シリコンバレー式ダイエットの話のほうがみんな興味あったようです。\n興味ある方はこちらのスライドにポイントをまとめてありますのでご覧下さい。\ndoc.co\n実際にやってみたいというかたは、できれば本を読んだほうが良いと思います。\n[\nシリコンバレー式 自分を変える最強の食事 ](http://www.amazon.co.jp/exec/obidos/ASIN/4478039674/nnasaki-22/)[シリコンバレー式 自分を変える最強の食事](http://www.amazon.co.jp/exec/obidos/ASIN/4478039674/nnasaki-22/)- 作者: デイヴ・アスプリー,栗原百代- 出版社/メーカー: ダイヤモンド社- 発売日: 2015/09/18- メディア: 単行本（ソフトカバー）- この商品を含むブログ (6件) を見る\nダイエットについて de:code 登壇とか channel9 でしゃべろうとか言われた気がする。 あ、でも de:code はチケット買うお金が無いので、タダで会場入れるなら大歓迎です。\n集合写真 土下座じゃないです。ありがとうございました。です。多分きっと。\nPost from RICOH THETA. - Spherical Image - RICOH THETA\n二次会 居酒屋でダラッと。お肉美味しかったです。\nf:id:nnasaki:20160416213010j:plain 夜の芝社 ダラッと会話して良かったです。色々書いてたら公開出来なさそうだったので、心のメモにしまっておくことにしました。\nｼｬﾁｮｰさんの鮮やかな手さばきでボタンを外される true or false でお義父さん™傷つく 告知 4/26 の夜に Visual Studio 全国セミナーツアーの打ち上げを仙台でやります。10人以上集まるとお店貸し切りで他のお客さん気にせずにしゃべれます。是非ご参加ください！\nsatoyasendai.doorkeeper.jp\n本編の 【Visual Studio 全国セミナー ツアー】Visual Studio で広がるアプリケーション開発の可能性 \u0026amp; Build 2016 最新情報 | MSDN の仙台会場もまだ募集していると思いますので、こちらもご参加下さい。\n","permalink":"/entry/2016/04/17/120128/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20160417/20160417120344.png\" alt=\"f:id:nnasaki:20160417120344p:plain\" title=\"f:id:nnasaki:20160417120344p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20160417120344p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eGlobal Azure Boot Camp 2016 が開催されたので、参加してきました。毎年行われており、1年ぶり2度目の参加です。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jazug.doorkeeper.jp/events/40440\"\u003ejazug.doorkeeper.jp\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"セッション資料\"\u003eセッション資料\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://doc.co/NBszv3\"\u003edoc.co\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003cp\u003eお昼来た時点で資料もデモも出来上がって無く、超焦ってましたがしばやんのおかげでなんとかなりました。さすがです。\u003c/p\u003e\n\u003cp\u003eSkype Bot Platform はまだ招待制のプレビューのため、SDK や実装方法について、ブログに書いて良いかどうか判断がつかず、詳細は割愛させていただきます。2016/04/16現在、ビデオは流せるのですが、オーディオは流せないという制限があります。なので、mp3をmp4に変換するとかそういった小手先のテクニックが必要でした。\u003c/p\u003e\n\u003ch3 id=\"セッション動画\"\u003eセッション動画\u003c/h3\u003e\n\u003cp\u003e一部版権の都合上、肝心のデモは配信からカットさせていただいています。\u003c/p\u003e\n\u003ch3 id=\"懇親会\"\u003e懇親会\u003c/h3\u003e\n\u003cp\u003e初めての方とも色々しゃべれて、楽しかったです。でも、Skype Bot Platform より、シリコンバレー式ダイエットの話のほうがみんな興味あったようです。\u003c/p\u003e\n\u003cp\u003e興味ある方はこちらのスライドにポイントをまとめてありますのでご覧下さい。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://doc.co/hZUBx9\"\u003edoc.co\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e実際にやってみたいというかたは、できれば本を読んだほうが良いと思います。\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://ecx.images-amazon.com/images/I/51opAF5gsbL._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"シリコンバレー式 自分を変える最強の食事\" title=\"シリコンバレー式 自分を変える最強の食事\"\u003e\u003cfigcaption\u003eシリコンバレー式 自分を変える最強の食事\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/4478039674/nnasaki-22/)%5B\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/4478039674/nnasaki-22/)[\u003c/a\u003eシリコンバレー式 自分を変える最強の食事](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/4478039674/nnasaki-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/4478039674/nnasaki-22/)-\u003c/a\u003e 作者: デイヴ・アスプリー,栗原百代- 出版社/メーカー: ダイヤモンド社- 発売日: 2015/09/18- メディア: 単行本（ソフトカバー）- \u003ca href=\"http://d.hatena.ne.jp/asin/4478039674/nnasaki-22\"\u003eこの商品を含むブログ (6件) を見る\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eダイエットについて de:code 登壇とか channel9 でしゃべろうとか言われた気がする。 あ、でも de:code はチケット買うお金が無いので、タダで会場入れるなら大歓迎です。\u003c/p\u003e\n\u003ch4 id=\"集合写真\"\u003e集合写真\u003c/h4\u003e\n\u003cp\u003e土下座じゃないです。ありがとうございました。です。多分きっと。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePost from RICOH THETA. - \u003ca href=\"https://theta360.com/s/qY16ChGuv7EwLLoC7bl30JtH2\"\u003eSpherical Image - RICOH THETA\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003ch3 id=\"二次会\"\u003e二次会\u003c/h3\u003e\n\u003cp\u003e居酒屋でダラッと。お肉美味しかったです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20160416/20160416213010.jpg\" alt=\"f:id:nnasaki:20160416213010j:plain\" title=\"f:id:nnasaki:20160416213010j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20160416213010j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"夜の芝社\"\u003e夜の芝社\u003c/h3\u003e\n\u003cp\u003eダラッと会話して良かったです。色々書いてたら公開出来なさそうだったので、心のメモにしまっておくことにしました。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eｼｬﾁｮｰさんの鮮やかな手さばきでボタンを外される\u003c/li\u003e\n\u003cli\u003etrue or false でお義父さん™傷つく\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"告知\"\u003e告知\u003c/h3\u003e\n\u003cp\u003e4/26 の夜に Visual Studio 全国セミナーツアーの打ち上げを仙台でやります。10人以上集まるとお店貸し切りで他のお客さん気にせずにしゃべれます。是非ご参加ください！\u003c/p\u003e","title":"Global Azure Boot Camp 2016 で Skype Bot Platform のデモをしました"},{"content":"2016/4/17追記 この記事の情報は古いし誤っている可能性があります！ Hololens エミュレーターの最新情報と正確な情報は id:guitarrapc_tech さんのブログを参照してください。詳しい対処内容が載っています。\ntech.guitarrapc.com\nWindows 10 Insider Preview でビルド 14316 を使用している人は 2016/4/17 現在、次の制限のため Hololensのエミュレーターにアプリを配置できません。\nWindows 10 Mobile 用および Hololens 用の Visual Studio エミュレーターで「認証エラーが発生しました。ローカル セキュリティ機関にアクセスできません」という内容のエラーが発生します。アプリ作成にエミュレーターを使用している開発者の方は、この問題が修正されるまでの間は Slow リングに移行して、このビルドを使用しないようにすることをお勧めします。\nblogs.windows.com\nそのため、私自身も現在検証出来ない環境となっています。\n前回までの記事 blog.nnasaki.com\nエミュレーターが起動した！ 前回はですね、エミュレーターが起動しなくて終わったんですが、CPU を 4790k に変えたところ起動しました！\nf:id:nnasaki:20160402212055p:plain [\ni7-4790K(Devil ](http://www.amazon.co.jp/exec/obidos/ASIN/B00KPRWAX8/nnasaki-22/)[i7-4790K(Devil's Canyon 4.00GHz) LGA1150](http://www.amazon.co.jp/exec/obidos/ASIN/B00KPRWAX8/nnasaki-22/)- 出版社/メーカー: インテル- 発売日: 2014/06/26- メディア: Personal Computers- この商品を含むブログ (3件) を見る\n別の問題が発生 しかし、HoloLensエミュレーターが起動して喜んだのもつかの間、「配置エラーが発生しました。続行しますか？」と表示され、自分が作ったアプリがエミュレーターに転送出来ません。\nf:id:nnasaki:20160402184234p:plain エラーの内容は次の通りです。\nf:id:nnasaki:20160402184208p:plain DEP6100 : ブートストラップ ステージ \u0026lsquo;デバイス \u0026lsquo;F957827B-6FC8-4538-A5BA-3B3807152A56\u0026rsquo; に接続しています。\u0026rsquo; 中に次の予期しないエラーが発生しました: MissingMethodException - メソッドが見つかりません: \u0026lsquo;Boolean Microsoft.Tools.Connectivity.RemoteDevice.Ping()\u0026rsquo; HelloHolograms\n対応策を探してみた DEP6100 でぐぐると次のページがヒットしました。\nforums.hololens.com\nforums.hololens.com\nおお、なんか症状合っているっぽい。後者のほうは自己解決したようで、そちらを試してみました。\nRemote Tools for Visual Studio 2015 Update 2 をインストールする Windows SDK をアンインストールする。（2つ） Windows SDK とツールスは 10.0.10586 だけインストールする。 Unity でもう一度ビルドし直す DEP6957 別のエラーが発生 以上の環境を作り直して、再度配置を試みたところ、エラーの内容が変わりました。なんとなくもう少しな感じがします。\nf:id:nnasaki:20160402204652p:plain DEP6957 : ユニバーサル認証を使ってデバイス \u0026lsquo;169.254.43.99\u0026rsquo; に接続できませんでした。プロジェクトのデバッグ設定で、正しいリモート認証モードが指定されていることをご確認ください。0x8007274C: The network event being waited on triggered an error. HelloHolograms\nそれで、先の情報のコメント見ると DEP6957 のときはスタンドアローンで起動すると良いかもよってことで起動してみました。以下の呪文のようなコマンドです。\n\u0026ldquo;C:\\Program Files (x86)\\Microsoft XDE\\10.0.11082.0\\XDE.exe\u0026rdquo; /name \u0026ldquo;HoloLens Emulator 10.0.11082.1039.dngoins\u0026rdquo; /displayName \u0026ldquo;HoloLens Emulator 10.0.11082.1039\u0026rdquo; /vhd \u0026ldquo;C:\\Program Files (x86)\\Windows Kits\\10\\Emulation\\HoloLens\\10.0.11082.1039\\flash.vhd\u0026rdquo; /video \u0026ldquo;1268x720\u0026rdquo; /memsize 2048 /language 409 /creatediffdisk C:\\Users\\nnasaki\\AppData\\Local\\Microsoft\\XDE\\10.0.11082.1039\\dd.1268x720.2048.vhd /fastShutdown /sku HDE\nで、Visual Studio はこんな感じでリモートコンピューターの接続にしてですね。やったみましたが、やっぱりダメでした。\nf:id:nnasaki:20160402212022p:plain 認証モードを Windows や 「なし」にしても出来ないので、ちょっと手詰まりました。もしかしたら、英語版の Visual Studio じゃないと動かないとかあるのかなぁー。困った。\n余談 ちなみに、HoloLensのIPをブラウザで開くとこんな画面が出ます。\nf:id:nnasaki:20160402212710p:plain ここの Apps というメニューを開くとこんな画面が出るので、パッケージを作ればブラウザからアプリを送れそうな気がします。パッケージの作り方がわからないんですけどね。\nf:id:nnasaki:20160402212820p:plain ","permalink":"/entry/2016/04/02/213311/","summary":"\u003ch3 id=\"2016417追記-この記事の情報は古いし誤っている可能性があります\"\u003e2016/4/17追記 この記事の情報は古いし誤っている可能性があります！\u003c/h3\u003e\n\u003cp\u003eHololens エミュレーターの最新情報と正確な情報は \u003ca href=\"http://blog.hatena.ne.jp/guitarrapc_tech/\"\u003eid:guitarrapc_tech\u003c/a\u003e さんのブログを参照してください。詳しい対処内容が載っています。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://tech.guitarrapc.com/entry/2016/04/11/070745\"\u003etech.guitarrapc.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWindows 10 Insider Preview でビルド 14316 を使用している人は 2016/4/17 現在、次の制限のため Hololensのエミュレーターにアプリを配置できません。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eWindows 10 Mobile 用および Hololens 用の Visual Studio エミュレーターで「認証エラーが発生しました。ローカル セキュリティ機関にアクセスできません」という内容のエラーが発生します。アプリ作成にエミュレーターを使用している開発者の方は、この問題が修正されるまでの間は Slow リングに移行して、このビルドを使用しないようにすることをお勧めします。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e\u003ca href=\"https://blogs.windows.com/japan/2016/04/15/announcing-windows-10-insider-preview-build-14316/\"\u003eblogs.windows.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eそのため、私自身も現在検証出来ない環境となっています。\u003c/p\u003e\n\u003ch3 id=\"前回までの記事\"\u003e前回までの記事\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2016/04/02/105956\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"エミュレーターが起動した\"\u003eエミュレーターが起動した！\u003c/h3\u003e\n\u003cp\u003e前回はですね、エミュレーターが起動しなくて終わったんですが、CPU を 4790k に変えたところ起動しました！\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20160402/20160402212055.png\" alt=\"f:id:nnasaki:20160402212055p:plain\" title=\"f:id:nnasaki:20160402212055p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20160402212055p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://ecx.images-amazon.com/images/I/51eUdKTIcsL._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"i7-4790K(Devil's Canyon 4.00GHz) LGA1150\" title=\"i7-4790K(Devil's Canyon 4.00GHz) LGA1150\"\u003e\u003cfigcaption\u003ei7-4790K(Devil\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B00KPRWAX8/nnasaki-22/)%5Bi7-4790K(Devil's\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B00KPRWAX8/nnasaki-22/)[i7-4790K(Devil's\u003c/a\u003e Canyon 4.00GHz) LGA1150](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B00KPRWAX8/nnasaki-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B00KPRWAX8/nnasaki-22/)-\u003c/a\u003e 出版社/メーカー: インテル- 発売日: 2014/06/26- メディア: Personal Computers- \u003ca href=\"http://d.hatena.ne.jp/asin/B00KPRWAX8/nnasaki-22\"\u003eこの商品を含むブログ (3件) を見る\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"別の問題が発生\"\u003e別の問題が発生\u003c/h3\u003e\n\u003cp\u003eしかし、HoloLensエミュレーターが起動して喜んだのもつかの間、「配置エラーが発生しました。続行しますか？」と表示され、自分が作ったアプリがエミュレーターに転送出来ません。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20160402/20160402184234.png\" alt=\"f:id:nnasaki:20160402184234p:plain\" title=\"f:id:nnasaki:20160402184234p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20160402184234p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eエラーの内容は次の通りです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20160402/20160402184208.png\" alt=\"f:id:nnasaki:20160402184208p:plain\" title=\"f:id:nnasaki:20160402184208p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20160402184208p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cblockquote\u003e\n\u003cp\u003eDEP6100 : ブートストラップ ステージ \u0026lsquo;デバイス \u0026lsquo;F957827B-6FC8-4538-A5BA-3B3807152A56\u0026rsquo; に接続しています。\u0026rsquo; 中に次の予期しないエラーが発生しました:\nMissingMethodException - メソッドが見つかりません: \u0026lsquo;Boolean Microsoft.Tools.Connectivity.RemoteDevice.Ping()\u0026rsquo;   HelloHolograms\u003c/p\u003e","title":"Hololens エミュレーターでアプリ配置エラーが発生する（未解決）"},{"content":"f:id:nnasaki:20160402124131p:plain Azure Functions が発表されました。\n*azure.microsoft.com\n日本でも実際に使ってみた人がもういますので、詳細はそちらをご参照ください。\nblog.xin9le.net\ntech.guitarrapc.com\n大変良いサービスだと思ってます。AWSに合って無かった機能の1つでもあるので。\nこれで、例えばストレージに画像を上げたらサムネイルを作成するといったことが簡単に出来るようになると思います。*1\nで、今回のタイトルにもなっている「Azure Functions は Storage Blob のトリガーをリアルタイムサポートをして欲しい」はそのまま内容です。\n現状、Azure Functions における Storage Blob トリガーはリアルタイム性は保証されておらず、ベストエフォートとなっています。つまり、イベントの発火の遅延は避けられないという状況です。\n詳細は次のドキュメントの\u0026quot;Azure Storage - blob trigger\u0026quot;の項目に書いてあります。\nNote: The Functions runtime scans log files to watch for new or changed blobs. This process is not real-time*; a function might not get triggered until several minutes or longer after the blob is created. In addition, storage logs are created on a \u0026ldquo;best efforts\u0026rdquo; basis; there is no guarantee that all events will be captured. Under some conditions, logs might be missed. If the speed and reliability limitations of blob triggers are not acceptable for your application, the recommended method is to create a queue message when you create the blob, and use a queue trigger instead of a blob trigger to process the blob.\nazure.microsoft.com\nストレージのログをウォッチしてイベントを発火しており、ストレージのログが即座に作成されることは保証されておらず、「ベストエフォート」となっています。もし、即座性を担保したければキューを使えということですが、いちいちキューを使うのは面倒くさいというのが人情です。\nどうすれば良いの？ 現状はキューを使うしかないです。でも、そこは改善してほしいので、feedbackをしましたので、共感してくれる人は Vote お願いします！\ndiv.uv-card {background: #fff;border: 1px solid #CED6E6;-moz-border-radius: 3px;-webkit-border-radius: 3px;border-radius: 3px;color: #5C5F66;font: normal 11px/1.3em \u0026ldquo;HelveticaNeue\u0026rdquo;, Arial, sans-serif;margin: 0;max-width: 500px;padding: 10px 10px 5px 10px;text-rendering: optimizelegibility;zoom: 1;}div.uv-card:after {content: \u0026ldquo;.\u0026quot;;display: block;height: 0;clear: both;visibility: hidden;}.uv-card-info {line-height: 1em;margin-bottom: 10px;}.uv-card-topic {color: #A0A6B3;display: inline-block;}.uv-card-status {background: #DBF0B4;-moz-border-radius: 3px;-webkit-border-radius: 3px;border-radius: 3px;color: #446600;display: inline-block;font-size: 10px;font-weight: bold;margin-right: 5px;padding: 3px 5px;text-transform: uppercase;}.uv-card-meta {float: right;list-style: none;line-height: 16px;margin: 0 0 10px 20px;padding: 0;}.uv-card-meta li {margin: 0 0 .7em 0;padding: 0;}.uv-card-meta img {border: none;vertical-align: bottom;}.uv-card-votes {background: #F9FAFC;border: 1px solid #DBDEE6;display: inline-block;-moz-border-radius: 3px;-webkit-border-radius: 3px;border-radius: 3px;}.uv-card-votes-button {background: #F3F6FA;border: 1px solid #A0A6B3;-moz-border-radius: 3px;-webkit-border-radius: 3px;border-radius: 3px;color: #293E66;display: inline-block;font-weight: bold;margin: -1px;padding: 3px 7px 3px 5px;text-decoration: none;}.uv-card-votes-count {display: inline-block;padding-right: 7px;margin-left: 3px;}.uv-card-comments,.uv-card-votecount {display: inline-block;padding: 3px 5px;}.uv-card-votecount {color: #576800;}.uv-card-title {color: #293E66;font-size: 15px;font-weight: bold;margin: 0 0 10px 0;padding: 0;}h2.uv-card-title a {color: inherit;text-decoration: none;}.uv-card-description {margin-bottom: 10px;}.uv-card-description p {margin: 0 0 .7em 0;padding: 0;} How can we improve Microsoft Azure Functions? -\n1 vote\n0 comments Should be support real-time Storage blob triggers Azure Functions is awesome! I\u0026rsquo;d like to propose for more convenience. Currently, Storage blob triggers do NOT support real-time. Because write at \u0026ldquo;https://azure.microsoft.com/en-us/documentation/articles/functions-reference/\u0026quot;\u0026quot;The Functions runtime scans log files to watch for new or change\u0026hellip; feedback.azure.com\nAzure は英語になってしまいますが、こんな感じで欲しい機能はどんどんオープンに要求できます。皆さんの Vote が多いほど、開発される優先度があがりますので、是非ともよろしくお願いします。\n余談 ちなみに今一番多い Vote は Clear DB やめて Azure で MySQL 用意しろって奴みたいですね… Amazon と Google には既に用意されているので、当然な要求ですよねぇ。 PostgreSQL もあるとうれしーなー。\nf:id:nnasaki:20160402123838p:plain *1:実際はスクリプトからImageMagickを呼び出せるかとか検証が必要ですが\n","permalink":"/entry/2016/04/02/124236/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20160402/20160402124131.png\" alt=\"f:id:nnasaki:20160402124131p:plain\" title=\"f:id:nnasaki:20160402124131p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20160402124131p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eAzure Functions が発表されました。\u003c/p\u003e\n\u003cp\u003e*\u003ca href=\"https://azure.microsoft.com/en-us/services/functions/\"\u003eazure.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e日本でも実際に使ってみた人がもういますので、詳細はそちらをご参照ください。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.xin9le.net/entry/2016/04/01/042452\"\u003eblog.xin9le.net\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://tech.guitarrapc.com/entry/2016/04/02/070806\"\u003etech.guitarrapc.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e大変良いサービスだと思ってます。AWSに合って無かった機能の1つでもあるので。\u003c/p\u003e\n\u003cp\u003eこれで、例えばストレージに画像を上げたらサムネイルを作成するといったことが簡単に出来るようになると思います。\u003ca href=\"#f-ffb6d625\"\u003e*1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eで、今回のタイトルにもなっている「Azure Functions は Storage Blob のトリガーをリアルタイムサポートをして欲しい」はそのまま内容です。\u003c/p\u003e\n\u003cp\u003e現状、Azure Functions における Storage Blob トリガーはリアルタイム性は保証されておらず、ベストエフォートとなっています。つまり、イベントの発火の遅延は避けられないという状況です。\u003c/p\u003e\n\u003cp\u003e詳細は次のドキュメントの\u0026quot;Azure Storage - blob trigger\u0026quot;の項目に書いてあります。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eNote:\nThe Functions runtime scans log files to watch for new or changed blobs. This process is not real-time*; a function might not get triggered until several minutes or longer after the blob is created. In addition, storage logs are created on a \u0026ldquo;best efforts\u0026rdquo; basis; there is no guarantee that all events will be captured. Under some conditions, logs might be missed. If the speed and reliability limitations of blob triggers are not acceptable for your application, the recommended method is to create a queue message when you create the blob, and use a queue trigger instead of a blob trigger to process the blob.\u003c/p\u003e","title":"Azure Functions は Storage Blob のトリガーをリアルタイムサポートして欲しい"},{"content":"Build 2016 がアツいです。\n*build.microsoft.com\nで、HoloLensのSDKが公開されました。残念ながら実物はしばらく手元に届きそうにないのですがエミュレーターを使用して開発できるということで試してみました。\n結論から言うと、失敗しましたｗ\nf:id:nnasaki:20160402104954p:plain 途中まではうまくいってたと思うんですが、最後の最後でHoloLensのエミュレーター起動でHyper-Vからコア数足りないと怒られました。私の貧弱なPentium G3258には荷が重かったようです。\nセットアップを一通りまとめましたので、どなたか私の代わりに動かしてくれると嬉しいです！\nセットアップ Install the toolsに書いてあるとおりです。\nインストールするもの ３つです。上から順番にインストールする必要があります。\nVisual Studio 2015 Update 2 UWP tools version 1.2のチェックを忘れずにすること\nHoloLens Emulator Unity HoloLens Technical Preview Beta 10 Editor と UWP Runtime の２つインストールする必要があります。\n必要な環境 64bit Windows 10(Home edition は Hype-V をサポートしていないのでダメ 64bit CPU(コア数も4つ以上必要*) 8GB RAM以上 BIOSで以下のサポート Hardware-assisted virtualization\nSecond Level Address Translation (SLAT)\nHardware-based Data Execution Prevention (DEP)\nGPU\nDirectX 11以降サポート\nWDDM 1.2 以降のDriverサポート 注意点 HoloLensのエミュレーターは Visual Studio 2015 Update 1 and UWP tools version 1.2（Update2でも可）がインストールされてないとインストール途中で失敗します。\nf:id:nnasaki:20160402104849p:plain デフォルトでインストールされなかったと思うのでチェックを必ずしましょう。\nf:id:nnasaki:20160402104443p:plain Getting Started Holograms 100 を順番に実行していくと良いです。\n簡単に言うと、Unity でカメラやマテリアルを配置してから、Visual Studio のソリューションを出力します。最後は Visual Studio でビルドして HoloLens Emulator を起動します。\nUnity に慣れない人（私とか）結構戸惑いますがなんとかなりました。\nまとめ セットアップはVS2015 のUWPだけ忘れなければ意外とスムーズでした。\n新CPUが届いてエミュレーターの起動に成功したら、スクリーンショット付でここら辺まとめようと思います！\ni7-4790kだけ買うか、マザボ一式変えて6700kにするか悩み中(´・ω・｀)\n[\ni7-4790K(Devil ](http://www.amazon.co.jp/exec/obidos/ASIN/B00KPRWAX8/nnasaki-22/)[i7-4790K(Devil's Canyon 4.00GHz) LGA1150](http://www.amazon.co.jp/exec/obidos/ASIN/B00KPRWAX8/nnasaki-22/)- 出版社/メーカー: インテル- 発売日: 2014/06/26- メディア: Personal Computers- この商品を含むブログ (3件) を見る\n[\nIntel CPU Core i7-6700K 4GHz 8Mキャッシュ 4Core8Thread LGA1151 BX80662I76700K【BOX】 ](http://www.amazon.co.jp/exec/obidos/ASIN/B012M8LXQW/nnasaki-22/)[Intel CPU Core i7-6700K 4GHz 8Mキャッシュ 4Core8Thread LGA1151 BX80662I76700K【BOX】](http://www.amazon.co.jp/exec/obidos/ASIN/B012M8LXQW/nnasaki-22/)- 出版社/メーカー: インテル- 発売日: 2015/08/07- メディア: Personal Computers- この商品を含むブログ (2件) を見る\n","permalink":"/entry/2016/04/02/105956/","summary":"\u003cp\u003eBuild 2016 がアツいです。\u003c/p\u003e\n\u003cp\u003e*\u003ca href=\"https://build.microsoft.com/\"\u003ebuild.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eで、HoloLensのSDKが公開されました。残念ながら実物はしばらく手元に届きそうにないのですがエミュレーターを使用して開発できるということで試してみました。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e結論から言うと、失敗しましたｗ\u003c/strong\u003e\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20160402/20160402104954.png\" alt=\"f:id:nnasaki:20160402104954p:plain\" title=\"f:id:nnasaki:20160402104954p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20160402104954p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e途中まではうまくいってたと思うんですが、最後の最後でHoloLensのエミュレーター起動でHyper-Vからコア数足りないと怒られました。私の貧弱なPentium G3258には荷が重かったようです。\u003c/p\u003e\n\u003cp\u003eセットアップを一通りまとめましたので、どなたか私の代わりに動かしてくれると嬉しいです！\u003c/p\u003e\n\u003ch3 id=\"セットアップ\"\u003eセットアップ\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://developer.microsoft.com/en-us/windows/holographic/install_the_tools\"\u003eInstall the tools\u003c/a\u003eに書いてあるとおりです。\u003c/p\u003e\n\u003ch4 id=\"インストールするもの\"\u003eインストールするもの\u003c/h4\u003e\n\u003cp\u003e３つです。上から順番にインストールする必要があります。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://developer.microsoft.com/en-us/windows/downloads\"\u003eVisual Studio 2015 Update 2\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eUWP tools version 1.2のチェックを忘れずにすること\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://go.microsoft.com/fwlink/?LinkID=724053\"\u003eHoloLens Emulator\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://aka.ms/HoloLensUnity\"\u003eUnity HoloLens Technical Preview Beta 10\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://beta.unity3d.com/download/24077ef8c12f/UnitySetup64.exe\"\u003eEditor\u003c/a\u003e と \u003ca href=\"http://beta.unity3d.com/download/24077ef8c12f/UnitySetup-Metro-Support-for-Editor-5.4.0b10-HTP.exe\"\u003eUWP Runtime\u003c/a\u003e の２つインストールする必要があります。\u003c/p\u003e\n\u003ch4 id=\"必要な環境\"\u003e必要な環境\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e64bit Windows 10(Home edition は Hype-V をサポートしていないのでダメ\u003c/li\u003e\n\u003cli\u003e64bit CPU(コア数も4つ以上必要*)\u003c/li\u003e\n\u003cli\u003e8GB RAM以上\u003c/li\u003e\n\u003cli\u003eBIOSで以下のサポート\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHardware-assisted virtualization\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSecond Level Address Translation (SLAT)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHardware-based Data Execution Prevention (DEP)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eGPU\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDirectX 11以降サポート\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWDDM 1.2 以降のDriverサポート\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"注意点\"\u003e注意点\u003c/h4\u003e\n\u003cp\u003eHoloLensのエミュレーターは Visual Studio 2015 Update 1 and UWP tools version 1.2（Update2でも可）がインストールされてないとインストール途中で失敗します。\u003c/p\u003e","title":"HoloLens の始め方"},{"content":"f:id:nnasaki:20160325102040p:plain Blogで告知忘れていた。。。2016/3/26(土) サトヤ勉強会を開催します！ 申込はこちらから → https://satoyasendai.doorkeeper.jp/events/40635\nsatoyasendai.doorkeeper.jp\n今回はMVP5人が登壇予定です！しかも大阪から東京から来ていただきます！ プロダクトを作っている人から実践的な話を聞ける機会ですので、是非ご参加ください。\n懇親会は別途申込が必要です。こちらから → https://satoyasendai.doorkeeper.jp/events/41504\nsatoyasendai.doorkeeper.jp\nちなみに第5回じゃないかという噂がありますが、いいんです。細かいことは気にしない。\n","permalink":"/entry/2016/03/25/102224/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20160325/20160325102040.png\" alt=\"f:id:nnasaki:20160325102040p:plain\" title=\"f:id:nnasaki:20160325102040p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20160325102040p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eBlogで告知忘れていた。。。2016/3/26(土) サトヤ勉強会を開催します！\n申込はこちらから → \u003ca href=\"https://satoyasendai.doorkeeper.jp/events/40635\"\u003ehttps://satoyasendai.doorkeeper.jp/events/40635\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://satoyasendai.doorkeeper.jp/events/40635\"\u003esatoyasendai.doorkeeper.jp\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e今回はMVP5人が登壇予定です！しかも大阪から東京から来ていただきます！\nプロダクトを作っている人から実践的な話を聞ける機会ですので、是非ご参加ください。\u003c/p\u003e\n\u003cp\u003e懇親会は別途申込が必要です。こちらから → \u003ca href=\"https://satoyasendai.doorkeeper.jp/events/41504\"\u003ehttps://satoyasendai.doorkeeper.jp/events/41504\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://satoyasendai.doorkeeper.jp/events/41504\"\u003esatoyasendai.doorkeeper.jp\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eちなみに第5回じゃないかという噂がありますが、いいんです。細かいことは気にしない。\u003c/p\u003e\n\u003chr\u003e","title":"2016/3/26(土) サトヤ勉強会を開催します！"},{"content":"IT エンジニア向け 無償テクニカル セミナー \u0026amp; トレーニング | TechNet\nCloud Platform 関連コンテンツ | マイクロソフト クラウド プラットフォーム\n[参考] Microsoft Azure 関連の情報（日本語）\nオンデマンド版セミナー | TechNet\nAzure | マイクロソフト\nCloud への道 -Microsoft Azure を題材に- | Channel 9\nhttps://blogs.msdn.microsoft.com/dsazurejp/2016/03/09/%e7%9b%ae%e6%ac%a1/\nhttps://azure.microsoft.com/ja-jp/campaigns/azure-vs-aws/mapping/\nJapan Azure Technical Support Engineers\u0026rsquo; Blog | 日本マイクロソフトの Azure テクニカル サポート チームより、情報をお届けします！\nDownload Microsoft Azure 自習書一式 from Official Microsoft Download Center\n小技 Azure Active Directoryディレクトリを削除する – Always on the clock\n","permalink":"/entry/2016/04/09/024152/","summary":"\u003cp\u003e\u003ca href=\"https://technet.microsoft.com/ja-jp/dn308916\"\u003eIT エンジニア向け 無償テクニカル セミナー \u0026amp; トレーニング | TechNet\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.microsoft.com/ja-jp/server-cloud/local/documents/default.aspx?pdid=all_PD\u0026amp;svid=all_SV\u0026amp;dtid=all_DT\"\u003eCloud Platform 関連コンテンツ | マイクロソフト クラウド プラットフォーム\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://social.msdn.microsoft.com/Forums/azure/ja-JP/855bdf74-7255-43e1-9115-0019a56f61d7/-microsoft-azure-?forum=windowsazureja\"\u003e[参考] Microsoft Azure 関連の情報（日本語）\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://technet.microsoft.com/ja-jp/mt622143\"\u003eオンデマンド版セミナー | TechNet\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.microsoft.com/ja-jp/server-cloud/azure/Index.aspx\"\u003eAzure | マイクロソフト\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://channel9.msdn.com/series/road-to-cloud\"\u003eCloud への道 -Microsoft Azure を題材に- | Channel 9\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://blogs.msdn.microsoft.com/dsazurejp/2016/03/09/%e7%9b%ae%e6%ac%a1/\"\u003ehttps://blogs.msdn.microsoft.com/dsazurejp/2016/03/09/%e7%9b%ae%e6%ac%a1/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://azure.microsoft.com/ja-jp/campaigns/azure-vs-aws/mapping/\"\u003ehttps://azure.microsoft.com/ja-jp/campaigns/azure-vs-aws/mapping/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://blogs.technet.microsoft.com/jpaztech/\"\u003eJapan Azure Technical Support Engineers\u0026rsquo; Blog | 日本マイクロソフトの Azure テクニカル サポート チームより、情報をお届けします！\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.microsoft.com/ja-jp/download/details.aspx?id=43120\"\u003eDownload Microsoft Azure 自習書一式 from Official Microsoft Download Center\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"小技\"\u003e小技\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://azuread.net/2016/03/25/azure-active-directory%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B/\"\u003eAzure Active Directoryディレクトリを削除する – Always on the clock\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"Azure ことはじめ"},{"content":"tohoku-comcamp.connpass.com\n2016/2/20(土) に Tohoku ComCamp 2016 powered by MVPs を開催します！\n申込は → http://tohoku-comcamp.connpass.com/event/24284/\n今回もスゴイです。豪華すぎます。\nマイクロソフトエバンジェリストと東北のMVPが集結！ 講師は宮城県からだけではなく、青森・秋田・岩手からもお呼びします！\n今まで仙台では聞けなかったセッションを７つ用意しました。\nオンプレミスからクラウドまで楽しく学べて、仕事で使えます！\n立食での軽飲食会を無料で開催します！ そのまま会場でやります。ハッピーアワー。ビアバッシュ。ソフトドリンク無料。アルコールは1000円。\n会場を 40 人から 180 人にしました！ 去年のアンケートで会場が狭いと不評だったので席を増やしました。ゆったり座れます。\nインフラ技術者、開発者、学生問わず参加OK。\nお友達をお誘い合わせの上、ぜひご参加ください。\nhttp://tohoku-comcamp.connpass.com/event/24284/\n","permalink":"/entry/2016/01/06/204834/","summary":"\u003cp\u003e\u003ca href=\"http://tohoku-comcamp.connpass.com/event/24284/\"\u003etohoku-comcamp.connpass.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e2016/2/20(土) に Tohoku ComCamp 2016 powered by MVPs を開催します！\u003c/p\u003e\n\u003cp\u003e申込は →\n\u003ca href=\"http://tohoku-comcamp.connpass.com/event/24284/\"\u003ehttp://tohoku-comcamp.connpass.com/event/24284/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e今回もスゴイです。豪華すぎます。\u003c/p\u003e\n\u003ch3 id=\"マイクロソフトエバンジェリストと東北のmvpが集結\"\u003eマイクロソフトエバンジェリストと東北のMVPが集結！\u003c/h3\u003e\n\u003cp\u003e講師は宮城県からだけではなく、青森・秋田・岩手からもお呼びします！\u003c/p\u003e\n\u003cp\u003e今まで仙台では聞けなかったセッションを７つ用意しました。\u003c/p\u003e\n\u003cp\u003eオンプレミスからクラウドまで楽しく学べて、仕事で使えます！\u003c/p\u003e\n\u003ch3 id=\"立食での軽飲食会を無料で開催します\"\u003e立食での軽飲食会を無料で開催します！\u003c/h3\u003e\n\u003cp\u003eそのまま会場でやります。ハッピーアワー。ビアバッシュ。ソフトドリンク無料。アルコールは1000円。\u003c/p\u003e\n\u003ch3 id=\"会場を-40-人から-180-人にしました\"\u003e会場を 40 人から 180 人にしました！\u003c/h3\u003e\n\u003cp\u003e去年のアンケートで会場が狭いと不評だったので席を増やしました。ゆったり座れます。\u003c/p\u003e\n\u003cp\u003eインフラ技術者、開発者、学生問わず参加OK。\u003c/p\u003e\n\u003cp\u003eお友達をお誘い合わせの上、ぜひご参加ください。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://tohoku-comcamp.connpass.com/event/24284/\"\u003ehttp://tohoku-comcamp.connpass.com/event/24284/\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"2016/2/20(土) Tohoku ComCamp 2016 powered by MVPs 参加受付中！"},{"content":"問題 OneDrive for Business が Windows 10 にインストール出来ない。インストールしようとすると、次のエラーメッセージが表示される。\n「一部の古いアプリを削除する必要があります。一部の古いアプリは Office 2016 では動作しません。新しい Office をインストールする前に、次のアプリを削除する必要があります。」と言われてしまう。\n原因 Microsoftアカウントで Office 2016 を Office 365 で先に入れてしまったためかな？\n対処 修正プログラムをダウンロードして実行する。修正プログラムは次の場所からダウンロードできる。\nOffice 2016 にアップグレードすると、OneDrive for Business がアンインストールされる\n","permalink":"/entry/2016/02/10/234209/","summary":"\u003ch3 id=\"問題\"\u003e問題\u003c/h3\u003e\n\u003cp\u003eOneDrive for Business が Windows 10 にインストール出来ない。インストールしようとすると、次のエラーメッセージが表示される。\u003c/p\u003e\n\u003cp\u003e「一部の古いアプリを削除する必要があります。一部の古いアプリは Office 2016 では動作しません。新しい Office をインストールする前に、次のアプリを削除する必要があります。」と言われてしまう。\u003c/p\u003e\n\u003ch3 id=\"原因\"\u003e原因\u003c/h3\u003e\n\u003cp\u003eMicrosoftアカウントで Office 2016 を Office 365 で先に入れてしまったためかな？\u003c/p\u003e\n\u003ch3 id=\"対処\"\u003e対処\u003c/h3\u003e\n\u003cp\u003e修正プログラムをダウンロードして実行する。修正プログラムは次の場所からダウンロードできる。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://support.microsoft.com/ja-jp/kb/3098502\"\u003eOffice 2016 にアップグレードすると、OneDrive for Business がアンインストールされる\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"OneDrive for Business が Windows 10 にインストール出来ない問題の解決方法"},{"content":"[\n](http://www.amazon.co.jp/exec/obidos/ASIN//nnasaki-22/)[](http://www.amazon.co.jp/exec/obidos/ASIN//nnasaki-22/)- メディア:- この商品を含むブログを見る\n昨年グロサミに行った際に Microsoft Band 2 を購入しましたが、２ヶ月ほどで壊れてしまいました。\n経緯を詳しく書くと、昨年末に次の記事を書いて、だましだまし使ってました。\n*blog.nnasaki.com\nところが、年が明けてからはとうとうボタンも反応しなくなり、USBケーブルを抜いた瞬間に電源が落ちるようになってしまいました。特に落としたとか水没させたわけではないので、非常に残念です。\nMicrosoft Band 2 の修理は日本では出来ない EXTENDED BODY:\nMicrosoft Band 2 の修理は残念ながら日本では提供されていません。理由は日本で発売されていないからです。 トラブルシューティングのページから「Option 3: Send my Microsoft Band in for service」を選んでみたものの\nf:id:nnasaki:20160202214016p:plain 「君の国は対応していないんだごめんね」って謝られてしまいました。\nf:id:nnasaki:20160202214133p:plain チャットサポートで聞いてみる しかし、このまま引き下がる訳にはいかず、チャットサポートに泣きついてみました。\n方法はOption2をクリックし、\nf:id:nnasaki:20160202214335p:plain Contact Usをクリックします。\nf:id:nnasaki:20160202214445p:plain すると、チャットを開始してサポートと直接話すことが出来ます。\n時間外の場合は Closed と表示されて利用できません。Pacific Time なので注意しましょう。\nf:id:nnasaki:20160203201018p:plain しばらくするとチャットが始まりました。\n以下チャットの内容を意訳しています **Joji: Thank you for contacting Microsoft Band Support! My name is Joji and I\u0026rsquo;m glad to work with you today. Please allow me a moment to review your concern.\n「オレはジョージだ！お前と一緒に仕事が出来ることを誇りに思う。」*（意訳。脳内ではジャックバウワーの吹き替えの声が再生）**\n僕がUSBケーブルを抜くと電源が切れてしまうこと。ボタン操作が一切聞かないことを伝えると、とても申し訳なさそうにジョージはこう言いました。\n**Joji: I\u0026rsquo;m sorry to hear about that. I hope it hasn\u0026rsquo;t been too frustrating for you. I feel the urgency to resolve this issue. I too would love to get your back in using the device properly and get this resolved as soon as possible.\nJoji: We value you time and we understand how important it is to be able to use the device. Don’t worry I’ll help you walk through this. I have your back covered.\n「本当にすまないと思っている。緊急性が高く、できるだけ君に尽くしたいと思っている。」「だが安心しろ！お前の背中はオレが守る。」（意訳。もうジャックバウワーにしか思えない）**\nジョージの男気あふれる言葉に背中を押され、僕は言った。「わかった。何をすれば良い？」\n**Joji: Now, here\u0026rsquo;s the thing. Since, the buttons of the device are unresponsive, what we can do right now for your convenience is I can go ahead process a replacement ticket for your Microsoft Band, we will be sending you all the instructions how to send the device to our service center.\nJoji: Basically, here\u0026rsquo;s what\u0026rsquo;s going to happen: we\u0026rsquo;ll be sending you two emails with the order details and the shipping label. Please send your Band and its charging cable to our service center. They will review your Band and pretest the replacement once it passes. You will receive your replacement 8-10 business days after the Band is received by our service center.\n「クソッ！ボタンが壊れていやがるだと。こいつは交換するしかない！交換には10日もかかる！」（意訳）**\n**Joji: I can see it here that you are from Tokyo, right?\nJoji: I see. May I know where have you purchased the Microsoft band 2?\n「お前東京にいるな？どこでそれを手に入れた！？さっさと吐け！」（意訳）**\n僕は泣きそうになりながら「去年の11月ベルビューで。MVP Global Summit に行ったとき…」と答えた。\n**Joji: I see. Thank you for the information, Masaki. As much as I would like to set up a replacement for you, I\u0026rsquo;m afraid to tell you replacement offers are currently only available in launch countries such as US and UK.\nJoji: However, I\u0026rsquo;m happy to tell you that we have a workaround for this.\nJoji: We may be able to set up a replacement through a middleman. You just need to send your Band to a friend or relative in the US or UK and have them set up the replacement order on your behalf.\n「クソ！お前のバンドは日本では交換できない！だが、別な策はある。USかUKにいるお前の雇い主にそいつを渡せ！」*（意訳）** 僕は恐れながらこう言った「雇い主を教えることは出来ない。だが、自分でUSのストアに直接持って行くことは出来る。」\n**Joji: Good question. Yes, you may actually go to the Microsoft Store and have it possibly replaced. However, we can\u0026rsquo;t give a full guarantee that it will be replaced immediately since it will depends on the availability of the device.\nJoji: What we can suggest right now is that, might as well contact the MS Store first and ask if they have an available stock for Microsoft Band 2.\n「交換条件ってことか？クッ。時間が無い！いいだろう。大統領に繋ぐ。だが、命の保証は出来ない。」（意訳）**\n僕はかすれるような声で「わかった。」とだけ言った。\n**Joji: Great! To ensure that we have covered all concerns today, I would like to briefly provide a recap for our chat session. You contacted us because you are experiencing an issue with your band wherein the buttons are unresponsive and with your enthusiastic participation we resolve it by having it replaced in the Microsoft Store.\n「よし、いいだろう。いいか最後にもう一度良く聞け。ブツをストアに持って行ったらモノがあるかまず確認しろ。じゃないとお前の頭が吹っ飛ぶことになるぞ。」（意訳）**\nFitbit Charge HR 買ったら痩せた USに行くとすればグロサミなのですが、それまで待っていられないし行けないかもしれない。（その時点ではMVPでは無くなってるかもしれない）\n一度デバイスを付けてしまうと、無いと物足りなくなります。特に心拍数は重要です。結局Fitbitをポチってしまいました。\n[\n【日本正規代理店品】Fitbit ワイヤレス活動量計＋心拍計リストバンド ChargeHR Large Black FB405BKL-JPN ](http://www.amazon.co.jp/exec/obidos/ASIN/B00VR4C75E/nnasaki-22/)[【日本正規代理店品】Fitbit ワイヤレス活動量計＋心拍計リストバンド ChargeHR Large Black FB405BKL-JPN](http://www.amazon.co.jp/exec/obidos/ASIN/B00VR4C75E/nnasaki-22/)- 出版社/メーカー: Fitbit- 発売日: 2015/04/24- メディア: エレクトロニクス- この商品を含むブログ (6件) を見る\nその結果体重は減りました。\n体重と体脂肪は自分で入れる必要があるのですが、1ヶ月で体重が4.6kg減ってきているのがわかります。MS Bandでは体重を入れる項目が無かったので、これは結構モチベーションが上がります。\nf:id:nnasaki:20160202224014p:plain 体脂肪量も順調に減ってきていて、除脂肪体重（筋肉）もキープ出来ているので良い感じです。\nf:id:nnasaki:20160202224251p:plain 実は シリコンバレー式 自分を変える最強の食事 というのを読んで、今年からちょっとやり始めました。詳しいことは別記事でまた書きます。\n[\nシリコンバレー式 自分を変える最強の食事 ](http://www.amazon.co.jp/exec/obidos/ASIN/4478039674/nnasaki-22/)[シリコンバレー式 自分を変える最強の食事](http://www.amazon.co.jp/exec/obidos/ASIN/4478039674/nnasaki-22/)- 作者: デイヴ・アスプリー,栗原百代- 出版社/メーカー: ダイヤモンド社- 発売日: 2015/09/18- メディア: 単行本（ソフトカバー）- この商品を含むブログ (5件) を見る\nまとめ Mirosoft Band 2が壊れる → サポートと英語で話す → 英語が出来るようになる → Fitbit買う → 痩せる つまり、Microsoft Band 2 を買うと英語が勉強できて痩せる！*1\n冗談はここまでにして、日本で修理できない Microsoft Band 2 の修理方法は2つです。\nUSかUKに住む知人に渡す。 ただし、リチウムイオンを含むのでちょっと取り扱いが面倒です。容量は少ないと思うので発送は可能だと思いますが、保証できないです。 http://images.fedex.com/downloads/jp/packagingtips/lithium/FullGuide.pdf\n自分で直接USかUKのストアに持って行く。 ワランティは12月まであったので、今年も例年通りグロサミに行ければ修理も可能かもしれない。日本で発売してくれないですかねぇ。。。\n*1:彼女は出来るかわからないけど\n","permalink":"/entry/2016/02/03/225224/","summary":"\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://d.hatena.ne.jp/images/hatena_aws.gif\" class=\"hatena-asin-detail-image\" alt=\"\" title=\"\"\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN//nnasaki-22/)%5B%5D(http://www.amazon.co.jp/exec/obidos/ASIN//nnasaki-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN//nnasaki-22/)[](http://www.amazon.co.jp/exec/obidos/ASIN//nnasaki-22/)-\u003c/a\u003e メディア:- \u003ca href=\"http://d.hatena.ne.jp/asin//nnasaki-22\"\u003eこの商品を含むブログを見る\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e昨年グロサミに行った際に Microsoft Band 2 を購入しましたが、２ヶ月ほどで壊れてしまいました。\u003c/p\u003e\n\u003cp\u003e経緯を詳しく書くと、昨年末に次の記事を書いて、だましだまし使ってました。\u003c/p\u003e\n\u003cp\u003e*\u003ca href=\"http://blog.nnasaki.com/entry/2015/12/31/142807\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eところが、年が明けてからはとうとうボタンも反応しなくなり、USBケーブルを抜いた瞬間に電源が落ちるようになってしまいました。特に落としたとか水没させたわけではないので、非常に残念です。\u003c/p\u003e\n\u003ch3 id=\"microsoft-band-2-の修理は日本では出来ない\"\u003eMicrosoft Band 2 の修理は日本では出来ない\u003c/h3\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003cp\u003eMicrosoft Band 2 の修理は残念ながら日本では提供されていません。理由は日本で発売されていないからです。\n\u003ca href=\"https://www.microsoft.com/microsoft-band/en-us/support/troubleshoot\"\u003eトラブルシューティング\u003c/a\u003eのページから「Option 3: Send my Microsoft Band in for service」を選んでみたものの\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20160202/20160202214016.png\" alt=\"f:id:nnasaki:20160202214016p:plain\" title=\"f:id:nnasaki:20160202214016p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20160202214016p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e「君の国は対応していないんだごめんね」って謝られてしまいました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20160202/20160202214133.png\" alt=\"f:id:nnasaki:20160202214133p:plain\" title=\"f:id:nnasaki:20160202214133p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20160202214133p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"チャットサポートで聞いてみる\"\u003eチャットサポートで聞いてみる\u003c/h3\u003e\n\u003cp\u003eしかし、このまま引き下がる訳にはいかず、チャットサポートに泣きついてみました。\u003c/p\u003e\n\u003cp\u003e方法はOption2をクリックし、\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20160202/20160202214335.png\" alt=\"f:id:nnasaki:20160202214335p:plain\" title=\"f:id:nnasaki:20160202214335p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20160202214335p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eContact Usをクリックします。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20160202/20160202214445.png\" alt=\"f:id:nnasaki:20160202214445p:plain\" title=\"f:id:nnasaki:20160202214445p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20160202214445p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eすると、チャットを開始してサポートと直接話すことが出来ます。\u003c/p\u003e\n\u003cp\u003e時間外の場合は Closed と表示されて利用できません。Pacific Time なので注意しましょう。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20160203/20160203201018.png\" alt=\"f:id:nnasaki:20160203201018p:plain\" title=\"f:id:nnasaki:20160203201018p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20160203201018p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eしばらくするとチャットが始まりました。\u003c/p\u003e\n\u003ch4 id=\"以下チャットの内容を意訳しています\"\u003e以下チャットの内容を意訳しています\u003c/h4\u003e\n\u003cp\u003e**Joji: Thank you for contacting Microsoft Band Support! My name is Joji and I\u0026rsquo;m glad to work with you today. Please allow me a moment to review your concern.\u003c/p\u003e","title":"Microsoft Band 2 が壊れたら痩せたの巻"},{"content":"ATOK Passport を使ってたところアップデートが来たので、アップデートしてみた。\nいろいろ機能が増えているようですが、ATOKイミクルが特に便利ですね。\nこんな感じで例えば「正常」を選択してCtrlを2回押すと辞書から検索してくれます。\nf:id:nnasaki:20160202235722p:plain 辞書は ATOK Passport プレミアムでないと有効にならないので、ベーシックからプレミアムに上げました。\nMacOS Xでは辞書がOSに付属しており、ATOKなしで辞書検索出来ていたので、Windowsで手軽に出来るようになって良かったです。またMacOS Xを使用する理由が1つ減りました。\n[\nATOK 2016 for Windows [ベーシック] アカデミック版 ](http://www.amazon.co.jp/exec/obidos/ASIN/B018V134Z2/nnasaki-22/)[ATOK 2016 for Windows [ベーシック] アカデミック版](http://www.amazon.co.jp/exec/obidos/ASIN/B018V134Z2/nnasaki-22/)- 出版社/メーカー: ジャストシステム- 発売日: 2016/02/05- メディア: CD-ROM- この商品を含むブログを見る\n[\nATOK 2016 for Windows [ベーシック] 通常版 ](http://www.amazon.co.jp/exec/obidos/ASIN/B018UW3TIO/nnasaki-22/)[ATOK 2016 for Windows [ベーシック] 通常版](http://www.amazon.co.jp/exec/obidos/ASIN/B018UW3TIO/nnasaki-22/)- 出版社/メーカー: ジャストシステム- 発売日: 2016/02/05- メディア: DVD-ROM- この商品を含むブログを見る\n[\nATOK 2016 for Windows [プレミアム] 通常版 ](http://www.amazon.co.jp/exec/obidos/ASIN/B018UW3TLG/nnasaki-22/)[ATOK 2016 for Windows [プレミアム] 通常版](http://www.amazon.co.jp/exec/obidos/ASIN/B018UW3TLG/nnasaki-22/)- 出版社/メーカー: ジャストシステム- 発売日: 2016/02/05- メディア: DVD-ROM- この商品を含むブログを見る\n","permalink":"/entry/2016/02/03/000451/","summary":"\u003cp\u003eATOK Passport を使ってたところアップデートが来たので、アップデートしてみた。\u003c/p\u003e\n\u003cp\u003eいろいろ機能が増えているようですが、ATOKイミクルが特に便利ですね。\u003c/p\u003e\n\u003cp\u003eこんな感じで例えば「正常」を選択してCtrlを2回押すと辞書から検索してくれます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20160202/20160202235722.png\" alt=\"f:id:nnasaki:20160202235722p:plain\" title=\"f:id:nnasaki:20160202235722p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20160202235722p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e辞書は ATOK Passport プレミアムでないと有効にならないので、ベーシックからプレミアムに上げました。\u003c/p\u003e\n\u003cp\u003eMacOS Xでは辞書がOSに付属しており、ATOKなしで辞書検索出来ていたので、Windowsで手軽に出来るようになって良かったです。またMacOS Xを使用する理由が1つ減りました。\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://ecx.images-amazon.com/images/I/51Ru1dIfQ4L._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"ATOK 2016 for Windows [ベーシック] アカデミック版\" title=\"ATOK 2016 for Windows [ベーシック] アカデミック版\"\u003e\u003cfigcaption\u003eATOK 2016 for Windows [ベーシック] アカデミック版\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B018V134Z2/nnasaki-22/)%5BATOK\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B018V134Z2/nnasaki-22/)[ATOK\u003c/a\u003e 2016 for Windows [ベーシック] アカデミック版](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B018V134Z2/nnasaki-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B018V134Z2/nnasaki-22/)-\u003c/a\u003e 出版社/メーカー: ジャストシステム- 発売日: 2016/02/05- メディア: CD-ROM- \u003ca href=\"http://d.hatena.ne.jp/asin/B018V134Z2/nnasaki-22\"\u003eこの商品を含むブログを見る\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://ecx.images-amazon.com/images/I/51IjiKsd-FL._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"ATOK 2016 for Windows [ベーシック] 通常版\" title=\"ATOK 2016 for Windows [ベーシック] 通常版\"\u003e\u003cfigcaption\u003eATOK 2016 for Windows [ベーシック] 通常版\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B018UW3TIO/nnasaki-22/)%5BATOK\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B018UW3TIO/nnasaki-22/)[ATOK\u003c/a\u003e 2016 for Windows [ベーシック] 通常版](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B018UW3TIO/nnasaki-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B018UW3TIO/nnasaki-22/)-\u003c/a\u003e 出版社/メーカー: ジャストシステム- 発売日: 2016/02/05- メディア: DVD-ROM- \u003ca href=\"http://d.hatena.ne.jp/asin/B018UW3TIO/nnasaki-22\"\u003eこの商品を含むブログを見る\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://ecx.images-amazon.com/images/I/51-TB1xN%2BKL._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"ATOK 2016 for Windows [プレミアム] 通常版\" title=\"ATOK 2016 for Windows [プレミアム] 通常版\"\u003e\u003cfigcaption\u003eATOK 2016 for Windows [プレミアム] 通常版\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B018UW3TLG/nnasaki-22/)%5BATOK\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B018UW3TLG/nnasaki-22/)[ATOK\u003c/a\u003e 2016 for Windows [プレミアム] 通常版](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B018UW3TLG/nnasaki-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B018UW3TLG/nnasaki-22/)-\u003c/a\u003e 出版社/メーカー: ジャストシステム- 発売日: 2016/02/05- メディア: DVD-ROM- \u003ca href=\"http://d.hatena.ne.jp/asin/B018UW3TLG/nnasaki-22\"\u003eこの商品を含むブログを見る\u003c/a\u003e\u003c/p\u003e","title":"ATOK 2016 が便利になってた"},{"content":"先日 SWWDC 仙台iPhoneとか開発者勉強会 その26 - 新春ライトニングトーク大会 - : ATND にて、LTをさせていただきました。\nちょうど前日にParseがサービス終了するというアナウンスがあったので、「Parse難民よ、Azureを使おう」というちょっとキャッチーなタイトルを付けましたが、中身は Azure Mobile App の説明です。\nEXTENDED BODY:\nParse難民よ、Azureを使おう—Yamamoto Masaki\n具体的な移行方法はそのうち blog にしなければと思っていたら、Azure公式blogで移行方法が公開され、先を越されてしまいました。\nazure.microsoft.com\nリンク先は英語ですが簡単にまとめると次の通りです。\nMongoDBのVMを建てる。そのうちDocumentDBへの移行もポストされるようです。 App Service に Parse Serverを建てる。blogはいろいろ手順がありますが、 https://github.com/Azure/parse-server-example の Deploy Azure ボタンですぐに出来るようになってるようです。 push notification は Parse Server に実装されていない。この辺についても後ほど Notification Hub を Parse Server から使う方法が公開されるようです。 まとめ ざっくりですが、Parse から Azure の移行はそれほど難しくないです。Managed な MongoDB が無いので、今後公開されるである DocumentDB への移行と、プッシュ通知は Notification Hub を使用する記事に期待しましょう。\n","permalink":"/entry/2016/02/02/212750/","summary":"\u003cp\u003e先日 \u003ca href=\"https://atnd.org/events/73853\"\u003eSWWDC 仙台iPhoneとか開発者勉強会 その26 - 新春ライトニングトーク大会 - : ATND\u003c/a\u003e にて、LTをさせていただきました。\u003c/p\u003e\n\u003cp\u003eちょうど前日に\u003ca href=\"http://parse.com/\"\u003eParse\u003c/a\u003eがサービス終了するというアナウンスがあったので、「Parse難民よ、Azureを使おう」というちょっとキャッチーなタイトルを付けましたが、中身は Azure Mobile App の説明です。\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://docs.com/yamamoto-masaki/4196/parseazure\"\u003eParse難民よ、Azureを使おう\u003c/a\u003e—\u003ca href=\"https://docs.com/yamamoto-masaki\"\u003eYamamoto Masaki\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e具体的な移行方法はそのうち blog にしなければと思っていたら、Azure公式blogで移行方法が公開され、先を越されてしまいました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://azure.microsoft.com/en-us/blog/azure-welcomes-parse-developers/\"\u003eazure.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eリンク先は英語ですが簡単にまとめると次の通りです。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMongoDBのVMを建てる。そのうちDocumentDBへの移行もポストされるようです。\u003c/li\u003e\n\u003cli\u003eApp Service に Parse Serverを建てる。blogはいろいろ手順がありますが、 \u003ca href=\"https://github.com/Azure/parse-server-example\"\u003ehttps://github.com/Azure/parse-server-example\u003c/a\u003e の Deploy Azure ボタンですぐに出来るようになってるようです。\u003c/li\u003e\n\u003cli\u003epush notification は Parse Server に実装されていない。この辺についても後ほど Notification Hub を Parse Server から使う方法が公開されるようです。\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"まとめ\"\u003eまとめ\u003c/h3\u003e\n\u003cp\u003eざっくりですが、Parse から Azure の移行はそれほど難しくないです。Managed な MongoDB が無いので、今後公開されるである DocumentDB への移行と、プッシュ通知は Notification Hub を使用する記事に期待しましょう。\u003c/p\u003e\n\u003chr\u003e","title":"Parse から Azure に移行する方法"},{"content":"問題 Microsoft Band 2 の電源がいつの間にか切れてしまい、ボタン操作では電源が入らなくなる。バッテリーは90％以上あったのにもかかわらず。\n解決方法 付属のUSBケーブルを接続する。\nそれでも解決しない場合、次のサイトに書いてある Solution 1 〜 Solution 3 まで順番に試す。\nwww.microsoft.com\n簡単にいうと、Solution 1はバンドのボタン2つを8秒押しっぱなしにする。すると真っ赤な画面になる（ちょっとビビる）が、そこからもう8秒押しっぱなしにする。そうすると完全に電源が切れるので、コールドスタートが出来る。\nSolution 2 は飛ばして Solution 3 は、同期しているアプリからバンドの登録を削除後、バンドを Factory Rest (工場出荷初期化) して、バンドを再登録する。\n僕の場合は、Solution 3 までしないと回復しないことが多い。ポイントはアプリからバンドの登録を削除してから Factory Rest をすること。バンドだけ Factory Rest しても、症状が回復しなかった。アプリとバンドを同期する際に不正なデータでも入っているのだろうか。\nまとめ Microsoft Band 2 は日本語に難がありますが、心拍数もとれるし、携帯のバイブでは気づかない着信が認識できるので結構気に入ってます。\nでも、気づいたら電源が切れてて、バンド単体では回復不能になってしまい、USBケーブルを常に持ち歩かないと不安が残ります。\n日本で発売していないから修理も依頼出来ないので困っています。ハードウェアじゃなくてファームで直れば良いんだけどなぁ。 Band software version は 2.0.3923.0 26 R です。\n","permalink":"/entry/2015/12/31/142807/","summary":"\u003ch3 id=\"問題\"\u003e問題\u003c/h3\u003e\n\u003cp\u003eMicrosoft Band 2 の電源がいつの間にか切れてしまい、ボタン操作では電源が入らなくなる。バッテリーは90％以上あったのにもかかわらず。\u003c/p\u003e\n\u003ch3 id=\"解決方法\"\u003e解決方法\u003c/h3\u003e\n\u003cp\u003e付属のUSBケーブルを接続する。\u003c/p\u003e\n\u003cp\u003eそれでも解決しない場合、次のサイトに書いてある Solution 1 〜 Solution 3 まで順番に試す。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.microsoft.com/microsoft-band/en-us/support/phone-app/reset\"\u003ewww.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e簡単にいうと、Solution 1はバンドのボタン2つを8秒押しっぱなしにする。すると真っ赤な画面になる（ちょっとビビる）が、そこからもう8秒押しっぱなしにする。そうすると完全に電源が切れるので、コールドスタートが出来る。\u003c/p\u003e\n\u003cp\u003eSolution 2 は飛ばして Solution 3 は、同期しているアプリからバンドの登録を削除後、バンドを Factory Rest (工場出荷初期化) して、バンドを再登録する。\u003c/p\u003e\n\u003cp\u003e僕の場合は、Solution 3 までしないと回復しないことが多い。ポイントはアプリからバンドの登録を削除してから Factory Rest をすること。バンドだけ Factory Rest しても、症状が回復しなかった。アプリとバンドを同期する際に不正なデータでも入っているのだろうか。\u003c/p\u003e\n\u003ch3 id=\"まとめ\"\u003eまとめ\u003c/h3\u003e\n\u003cp\u003eMicrosoft Band 2 は日本語に難がありますが、心拍数もとれるし、携帯のバイブでは気づかない着信が認識できるので結構気に入ってます。\u003c/p\u003e\n\u003cp\u003eでも、気づいたら電源が切れてて、バンド単体では回復不能になってしまい、USBケーブルを常に持ち歩かないと不安が残ります。\u003c/p\u003e\n\u003cp\u003e日本で発売していないから修理も依頼出来ないので困っています。ハードウェアじゃなくてファームで直れば良いんだけどなぁ。 Band software version は 2.0.3923.0 26 R です。\u003c/p\u003e\n\u003chr\u003e","title":"Microsoft Band 2 の電源がいつの間にか切れてしまっていたときの対処方法"},{"content":"しばやん先生の人気記事ランキング生成を使って、2015年のblog記事TOP10を作ってみました。\nblog.shibayan.jp\n2015年TOP10 【Spring 4.0 対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (2) 【Spring 4.0 対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (1) 【Spring 4.0 対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (3) Mac OS X 10.10 Yosemite が突然再起動する問題の対処 ASP.NET は .NET Framework 4 以上を使うべき３つの理由 BOM 付き UTF-8 から BOM を取りたい Azure DNS を使ってみた。はてなblogを独自ドメインに対応する Windows 10 Technical Preview を Macbook Pro (Parallels Desktop 10) にインストールしたよ リレーショナルデータベースはオワコン？ Postgres作者 が語るデータベースの未来 Time Capsule の共有フォルダを Windows から見ようとしてハマッタ TOP3はSpring! Spring 4.0 以降の記事が以外と少ないようで需要があるみたいです。連載が3で止まっているので、もうちょっと増やしていきます。\nAzure 記事は7位にランクイン Azure の記事は思ったよりPVが伸びていませんでした。Azure 関連の記事は結構手間がかかっていますので、もう少し見てもらえるような工夫が必要だなぁと思いました。\nblog.nnasaki.com blog.nnasaki.com blog.nnasaki.com blog.nnasaki.com\nポジティブに考えればブルーオーシャン！ってことで、じっくりコトコト煮込んでいきたいと思います。\nまとめ しばやんすごい。しばやんHQ待った無し。\n","permalink":"/entry/2015/12/30/110200/","summary":"\u003cp\u003eしばやん先生の人気記事ランキング生成を使って、2015年のblog記事TOP10を作ってみました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.shibayan.jp/entry/20151228/1451305738\"\u003eblog.shibayan.jp\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"2015年top10\"\u003e2015年TOP10\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/spring4/2\"\u003e【Spring 4.0 対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (2)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/spring4/1\"\u003e【Spring 4.0 対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (1)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/spring4/3\"\u003e【Spring 4.0 対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (3)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/2015/06/24/210548\"\u003eMac OS X 10.10 Yosemite が突然再起動する問題の対処\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/2013/12/24/162635\"\u003eASP.NET は .NET Framework 4 以上を使うべき３つの理由\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/2013/05/03/015850\"\u003eBOM 付き UTF-8 から BOM を取りたい\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/2015/05/05/034416\"\u003eAzure DNS を使ってみた。はてなblogを独自ドメインに対応する\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/2014/10/02/041339\"\u003eWindows 10 Technical Preview を Macbook Pro (Parallels Desktop 10) にインストールしたよ\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/2015/05/01/141914\"\u003eリレーショナルデータベースはオワコン？ Postgres作者 が語るデータベースの未来\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/2013/08/02/062009\"\u003eTime Capsule の共有フォルダを Windows から見ようとしてハマッタ\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"top3はspring\"\u003eTOP3はSpring!\u003c/h4\u003e\n\u003cp\u003eSpring 4.0 以降の記事が以外と少ないようで需要があるみたいです。連載が3で止まっているので、もうちょっと増やしていきます。\u003c/p\u003e","title":"2015年の人気記事TOP10"},{"content":"f:id:nnasaki:20151211212212p:plain 前回はセットアップを進めただけで、 cf コマンドまで動かせない状態でした。\nblog.nnasaki.com\nどうしようも無くわからなかったので、 Github でダメ元で聞いてみたら、親切丁寧にサポートしてもらえて cf login までうまく動かせるようになりました。どうやら、 DNS に BIND を使っているようで、 テンプレートファイルから IP を変えていたので DNS がうまく動いていなかったようです。\ngithub.com\nしかし、私の英語は本当に中学生以下ですが、やりたいことはなんとなく伝わって良かったです。\nDNS の設定方法 次のドキュメントを参考にして、 setup_dns.py をダウンロード。\ngithub.com\n以下コマンドをdevboxで実行。IPはパブリックIPにより変わります。\nsudo python setup_dns.py -d cf.azurelovecf.com -i 10.0.0.5 -e 40.74.xxx.xxx -n 40.74.xxx.xxx cf login コマンドの実行 devbox で以下コマンドを実行\ncf login -a https://api.cf.azurelovecf.com --skip-ssl-validation ユーザー名パスワードを聞かれるので、デフォルトは次の通り\nEmail\u0026gt; admin Password\u0026gt; c1oudc0w 次の通り出力されればログイン成功\nAuthenticating... OK Targeted org default_organization API endpoint: https://api.cf.azurelovecf.com (API version: 2.42.0) User: admin Org: default_organization Space: No space targeted, use \u0026#39;cf target -s SPACE\u0026#39; Spring Boot アプリをデプロイする 次の記事を参考に、Spring Boot のアプリケーションをデプロイします。Pivotal Cloud Foundry 向けの説明ですが、cf コマンドは共通なので、Open な Cloud Foundry でも同じように動きます。\nqiita.com\nSpace を作る アプリを置く場所に Space というものが必要みたいなので、次のコマンドを実行して作ります。すべてdevbox上で作業します。\n$ cf create-space sandbox Creating space sandbox in org default_organization as admin... OK Assigning role SpaceManager to user admin in org default_organization / space sandbox as admin... OK Assigning role SpaceDeveloper to user admin in org default_organization / space sandbox as admin... OK TIP: Use \u0026#39;cf target -o \u0026#34;default_organization\u0026#34; -s \u0026#34;sandbox\u0026#34;\u0026#39; to target new space 成功したら、TIP のとおり cf target で作成した space を使うようにする\n$ cf target -o \u0026#34;default_organization\u0026#34; -s \u0026#34;sandbox\u0026#34; API endpoint: https://api.cf.azurelovecf.com (API version: 2.42.0) User: admin Org: default_organization Space: sandbox JDK をセットアップする JDKが入っていないので、次の記事を参考に Oracle JDK をセットアップする。 qiita.com\nソースをクローンしてビルドする $ git clone https://github.com/making/hello-pws $ cd hello-pws $ ./mvnw package パッケージをPUSHする 次のコマンドで Cloud Foundry にパッケージをデプロイします。 Starting app hello-pws in org default_organization / space sandbox as admin... のところでやたら待たされて不安になりましたが、待っていたら進みました。\n$ cf push hello-pws -p target/hello-pws.jar -m 256M Creating app hello-pws in org default_organization / space sandbox as admin... OK Creating route hello-pws.cf.azurelovecf.com... OK Binding hello-pws.cf.azurelovecf.com to hello-pws... OK Uploading hello-pws... Uploading app files from: target/hello-pws.jar Uploading 13.2M, 109 files Done uploading OK Starting app hello-pws in org default_organization / space sandbox as admin... -----\u0026gt; Downloaded app package (12M) -----\u0026gt; Java Buildpack Version: v3.3.1 | https://github.com/cloudfoundry/java-buildpack.git#063836b -----\u0026gt; Downloading Open Jdk JRE 1.8.0_65 from https://download.run.pivotal.io/openjdk/trusty/x86_64/openjdk-1.8.0_65.tar.gz (3.8s) Expanding Open Jdk JRE to .java-buildpack/open_jdk_jre (1.8s) -----\u0026gt; Downloading Open JDK Like Memory Calculator 2.0.1_RELEASE from https://download.run.pivotal.io/memory-calculator/trusty/x86_64/memory-calculator-2.0.1_RELEASE.tar.gz (0.1s) Memory Settings: -Xss853K -Xmx160M -XX:MetaspaceSize=64M -Xms160M -XX:MaxMetaspaceSize=64M -----\u0026gt; Downloading Spring Auto Reconfiguration 1.10.0_RELEASE from https://download.run.pivotal.io/auto-reconfiguration/auto-reconfiguration-1.10.0_RELEASE.jar (0.5s) -----\u0026gt; Uploading droplet (57M) 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 1 of 1 instances running App started OK App hello-pws was started using this command `CALCULATED_MEMORY=$($PWD/.java-buildpack/open_jdk_jre/bin/java-buildpack-memory-calculator-2.0.1_RELEASE -memorySizes=metaspace:64m.. -memoryWeights=heap:75,metaspace:10,native:10,stack:5 -memoryInitials=heap:100%,metaspace:100% -totMemory=$MEMORY_LIMIT) \u0026amp;\u0026amp; SERVER_PORT=$PORT $PWD/.java-buildpack/open_jdk_jre/bin/java -cp $PWD/.:$PWD/.java-buildpack/spring_auto_reconfiguration/spring_auto_reconfiguration-1.10.0_RELEASE.jar -Djava.io.tmpdir=$TMPDIR -XX:OnOutOfMemoryError=$PWD/.java-buildpack/open_jdk_jre/bin/killjava.sh $CALCULATED_MEMORY org.springframework.boot.loader.JarLauncher` Showing health and status for app hello-pws in org default_organization / space sandbox as admin... OK requested state: started instances: 1/1 usage: 256M x 1 instances urls: hello-pws.cf.azurelovecf.com last uploaded: Mon Dec 21 11:49:44 UTC 2015 stack: cflinuxfs2 buildpack: java-buildpack=v3.3.1-https://github.com/cloudfoundry/java-buildpack.git#063836b java-main open-jdk-like-jre=1.8.0_65 open-jdk-like-memory-calculator=2.0.1_RELEASE spring-auto-reconfiguration=1.10.0_RELEASE state since cpu memory disk details #0 running 2015-12-21 11:54:38 AM 0.0% 222.3M of 256M 135M of 1G curl で動作を確認する curl で動作を確認します。レスポンスがあったときは嬉しくて小さくガッツポーズしてしました。\n$ curl http://hello-pws.cf.azurelovecf.com Hello from 10.0.0.5:61001 まとめ なんとか Cloud Foundry にアプリケーションをデプロイするところまでたどり着けました。スケールさせたりとか、DBを作ったりとかはまだわからないので、引き続き調べます。\n参考 cloudfoundry - Cloud FoundryにSpring Boot/Java EEアプリケーションをデプロイしよう - Qiita Cannot create a space on the default organization as admin user on new CF · Issue #9 · cloudfoundry-attic/cf · GitHub ","permalink":"/entry/2015/12/21/212123/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151211/20151211212212.png\" alt=\"f:id:nnasaki:20151211212212p:plain\" title=\"f:id:nnasaki:20151211212212p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151211212212p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e前回はセットアップを進めただけで、 cf コマンドまで動かせない状態でした。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2015/12/11/213443\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eどうしようも無くわからなかったので、 Github でダメ元で聞いてみたら、親切丁寧にサポートしてもらえて \u003ccode\u003ecf login\u003c/code\u003e までうまく動かせるようになりました。どうやら、 DNS に BIND を使っているようで、 テンプレートファイルから IP を変えていたので DNS がうまく動いていなかったようです。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/cloudfoundry-incubator/bosh-azure-cpi-release/issues/59\"\u003egithub.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eしかし、私の英語は本当に中学生以下ですが、やりたいことはなんとなく伝わって良かったです。\u003c/p\u003e\n\u003ch3 id=\"dns-の設定方法\"\u003eDNS の設定方法\u003c/h3\u003e\n\u003cp\u003e次のドキュメントを参考にして、 \u003ccode\u003esetup_dns.py\u003c/code\u003e をダウンロード。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/cloudfoundry-incubator/bosh-azure-cpi-release/blob/master/docs/get-started/deploy-bosh-manually.md#setup-dns\"\u003egithub.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e以下コマンドをdevboxで実行。IPはパブリックIPにより変わります。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003esudo python setup_dns.py -d cf.azurelovecf.com -i 10.0.0.5 -e 40.74.xxx.xxx -n 40.74.xxx.xxx\n\u003c/code\u003e\u003c/pre\u003e\u003ch3 id=\"cf-login-コマンドの実行\"\u003ecf login コマンドの実行\u003c/h3\u003e\n\u003cp\u003edevbox で以下コマンドを実行\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003ecf login -a https://api.cf.azurelovecf.com --skip-ssl-validation\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eユーザー名パスワードを聞かれるので、デフォルトは次の通り\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eEmail\u0026gt;  admin\nPassword\u0026gt; c1oudc0w\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e次の通り出力されればログイン成功\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eAuthenticating...\nOK\n\nTargeted org default_organization\n\n                   \nAPI endpoint:   https://api.cf.azurelovecf.com (API version: 2.42.0)   \nUser:           admin   \nOrg:            default_organization   \nSpace:          No space targeted, use \u0026#39;cf target -s SPACE\u0026#39;   \n\u003c/code\u003e\u003c/pre\u003e\u003ch3 id=\"spring-boot-アプリをデプロイする\"\u003eSpring Boot アプリをデプロイする\u003c/h3\u003e\n\u003cp\u003e次の記事を参考に、Spring Boot のアプリケーションをデプロイします。Pivotal Cloud Foundry 向けの説明ですが、cf コマンドは共通なので、Open な Cloud Foundry でも同じように動きます。\u003c/p\u003e","title":"Cloud Foundry on Azure に Spring Boot をデプロイする"},{"content":"f:id:nnasaki:20151216222336p:plain 問題 Mac を使用していて、携帯のネットワークみたいにレスポンスを遅くしたり、回線を細くしたり、パケットロスを再現したい。ぐぐると ipfw コマンドの例が出てくるのですが、OS X Yosemite 10.10.5 ではコマンドが実行出来ませんでした。\n解決方法 Hardware IO Tools for Xcode に含まれている、 Network Link Conditioner を使います。\nApple Developer Account が必須です。\nインストール手順 Downloads for Apple Developers から最新の Hardware IO Tools for Xcode をダウンロードする。現時点で最新は7.1。 f:id:nnasaki:20151216222601p:plain - dmg を開いて。Network Link Conditionerをダブルクリックする。 f:id:nnasaki:20151216222855p:plain - インストール後、システム環境設定を開き、Network Link Conditionerを開く。 f:id:nnasaki:20151216223045p:plain 使用方法 profile を選択する。 f:id:nnasaki:20151216223220p:plain - 左下のスイッチを ON にする。この例だと 100% パケットロスなので、圏外と同じ。 f:id:nnasaki:20151216223308p:plain まとめ 3G を選択すると Chrome が良い感じで遅くなってくれました。Outbound だけでなく、外からの Inbound も制限できるのでアプリケーションサーバーのテストとかにも使えます。\nカスタムプロファイルも作れてさらに細かい調整も可能ですのでオススメです。\n","permalink":"/entry/2015/12/16/224124/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151216/20151216222336.png\" alt=\"f:id:nnasaki:20151216222336p:plain\" title=\"f:id:nnasaki:20151216222336p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151216222336p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"問題\"\u003e問題\u003c/h3\u003e\n\u003cp\u003eMac を使用していて、携帯のネットワークみたいにレスポンスを遅くしたり、回線を細くしたり、パケットロスを再現したい。ぐぐると ipfw コマンドの例が出てくるのですが、OS X Yosemite 10.10.5 ではコマンドが実行出来ませんでした。\u003c/p\u003e\n\u003ch3 id=\"解決方法\"\u003e解決方法\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://developer.apple.com/downloads/?q=Hardware%20IO%20Tools%20for%20Xcode\"\u003eHardware IO Tools for Xcode\u003c/a\u003e に含まれている、 \u003cstrong\u003eNetwork Link Conditioner\u003c/strong\u003e を使います。\u003c/p\u003e\n\u003cp\u003eApple Developer Account が必須です。\u003c/p\u003e\n\u003ch3 id=\"インストール手順\"\u003eインストール手順\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://developer.apple.com/downloads/?q=Hardware%20IO%20Tools%20for%20Xcode\"\u003eDownloads for Apple Developers\u003c/a\u003e から最新の Hardware IO Tools for Xcode をダウンロードする。現時点で最新は7.1。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151216/20151216222601.png\" alt=\"f:id:nnasaki:20151216222601p:plain\" title=\"f:id:nnasaki:20151216222601p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151216222601p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n- dmg を開いて。Network Link Conditionerをダブルクリックする。\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151216/20151216222855.png\" alt=\"f:id:nnasaki:20151216222855p:plain\" title=\"f:id:nnasaki:20151216222855p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151216222855p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n- インストール後、システム環境設定を開き、Network Link Conditionerを開く。\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151216/20151216223045.png\" alt=\"f:id:nnasaki:20151216223045p:plain\" title=\"f:id:nnasaki:20151216223045p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151216223045p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"使用方法\"\u003e使用方法\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprofile を選択する。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151216/20151216223220.png\" alt=\"f:id:nnasaki:20151216223220p:plain\" title=\"f:id:nnasaki:20151216223220p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151216223220p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n- 左下のスイッチを ON にする。この例だと 100% パケットロスなので、圏外と同じ。\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151216/20151216223308.png\" alt=\"f:id:nnasaki:20151216223308p:plain\" title=\"f:id:nnasaki:20151216223308p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151216223308p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"まとめ\"\u003eまとめ\u003c/h3\u003e\n\u003cp\u003e3G を選択すると Chrome が良い感じで遅くなってくれました。Outbound だけでなく、外からの Inbound も制限できるのでアプリケーションサーバーのテストとかにも使えます。\u003c/p\u003e\n\u003cp\u003eカスタムプロファイルも作れてさらに細かい調整も可能ですのでオススメです。\u003c/p\u003e\n\u003chr\u003e","title":"Mac OS X でネットワーク回線の混雑や不安定、圏外をエミュレートする方法"},{"content":"f:id:nnasaki:20151211212212p:plain 先月(11月)の話ですが、 Cloud Foundry on Azure が GA しました。\nazure.microsoft.com\nで、実際どんなものかなーと試してみました。理由は Azure 上で Managed な PostgreSQL や MySQL サーバーが欲しかったからです。（MySQL は ClearDB があるけども、あまり好きでは無い）\nEXTENDED BODY:\n前提 組織アカウント 組織アカウント(*.onmicrosoft.com, o365 business等) が必要です。2つの方法があります\n組織アカウントを新規作成する。作り方は No.1 の記事がわかりやすいで、そっちを見ましょう。 組織アカウントだけでAzureにサインアップする | ブチザッキ\nクレジットカード、電話番号が必須。\n３０日約２万の無料サブスクリプション付\nコア数がリージョンで4つに制限されているので別途サポートに制限解除の連絡が必須\n新しく組織アカウントを作って既存のサブスクリプションの共同管理者(co-owner)とする\n安納さんの記事がわかりやすいです。Blogs - Technical Evangelist - Junichi Anno\u0026rsquo;s blog - Site Home - TechNet Blogs\nD1 のVMを最大で10個近く起動するので、サブスクリプションがオーバーしないように気をつけて下さい。 コア数は自分の場合は20になってたので足りなくなることは無さそう。 Azure CLI 組織アカウントでログインしてテナントを作成するのに必要です。 Mac、Linux、Windows 用の Azure CLI 手順 GA した blog には書いていなくて、プレビューで試せるようになった blog に書いてあります。\nazure.microsoft.com\nこの中に書いてある、次のGithubのページに書いてある手順を実施します。（中々たどり着くまで時間かかった）\ngithub.com\n順番に試していきます。\nDeploy BOSH using ARM templates (RECOMMENDED) の実施 bosh-azure-cpi-release/deploy-bosh-using-arm-templates.md at master · cloudfoundry-incubator/bosh-azure-cpi-release · GitHub を順番に実施していきます。\nAzure CLI で 組織アカウント にログインする Create a Service Principal - Azure CLI を参照しながら進めます。\n基本的に記事通り進めれば問題ありませんが、azure account list --json をした結果、 tenantId が必須となります。 microsoft アカウントですと、これが無いので組織アカウントが必須となっています。次のような結果であれば問題ありません。\n{ \u0026#34;id\u0026#34;: \u0026#34;87654321-1234-5678-1234-678912345678\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;無料試用版\u0026#34;, \u0026#34;user\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;nnasaki@ncloudfoundry.onmicrosoft.com\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;user\u0026#34; }, \u0026#34;tenantId\u0026#34;: \u0026#34;22222222-1234-5678-1234-678912345678\u0026#34;, \u0026#34;isDefault\u0026#34;: true, \u0026#34;registeredProviders\u0026#34;: [], \u0026#34;environmentName\u0026#34;: \u0026#34;AzureCloud\u0026#34; } ここでの出力結果を今後使うのでメモっておきます。\nSUBSCRIPTION-ID id\n87654321-1234-5678-1234-678912345678\nTENANT-ID\ntenantId\n22222222-1234-5678-1234-678912345678 azure cli のアカウント設定を SUBSCRIPTION-ID に合わせる azure account set 87654321-1234-5678-1234-678912345678\nAD App を作る azure ad app create --name \u0026quot;Service Principal for BOSH\u0026quot; --password \u0026quot;password\u0026quot; --home-page \u0026quot;http://BOSHAzureCPI\u0026quot; --identifier-uris \u0026quot;http://BOSHAzureCPI\u0026quot;\nこのとき、 home-page と identifier-uris は適当でかまいません。次のようなアウトプットがされます。 Application Id は CLIENT-ID として使うのでメモっておきます。\nCLIENT-ID Application Id\n246e4af7-75b5-494a-89b5-363addb9f0fa info: Executing command ad app create + Creating application Service Principal for BOSH data: Application Id: 246e4af7-75b5-494a-89b5-363addb9f0fa data: Application Object Id: a4f0d442-af80-4d98-9cba-6bf1459ad1ea data: Application Permissions: data: claimValue: user_impersonation data: description: Allow the application to access Service Principal for BOSH on behalf of the signed-in user. data: directAccessGrantTypes: data: displayName: Access Service Principal for BOSH data: impersonationAccessGrantTypes: impersonated=User, impersonator=Application data: isDisabled: data: origin: Application data: permissionId: 1a1eb6d1-26ca-47de-abdb-365f54560e55 data: resourceScopeType: Personal data: userConsentDescription: Allow the applicationto access Service Principal for BOSH on your behalf. data: userConsentDisplayName: Access Service Principal for BOSH data: lang: info: ad app create command OK Service Principal を作成する さきほどメモっておいた CLIENT-ID を使います。\nazure ad sp create 246e4af7-75b5-494a-89b5-363addb9f0fa\nRole をアサインする azure role assignment create --spn \u0026quot;http://BOSHAzureCPI\u0026quot; -o \u0026quot;Contributor\u0026quot; --subscription 87654321-1234-5678-1234-678912345678\nログイン出来るか確かめる メモっておいた CLIENT-ID, CLIENT-SECRET, TENANT-ID を使います。 azure login -u 246e4af7-75b5-494a-89b5-363addb9f0fa -p \u0026quot;password\u0026quot; --service-principal --tenant 22222222-1234-5678-1234-678912345678\nARM で BOSH と Cloud Foundry 環境を作る 環境作りはボタンを押すだけです。\n[\n](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fbosh-setup%2Fazuredeploy.json)\n先ほどメモっておいた CLIENT-ID, CLIENT-SECRET, TENANT-ID を設定に記載します。\nBOSH のセットアップ ARM で作った VM に ssh で繋いで、シェルを実行するだけです。\n./deploy_bosh.sh\nデフォルトの D1 な仮想マシンで1時間近くかかった感じです。外出先で行う場合は nohup *1 でやったほうが良いでしょう。\nログを貼っておきます。\nnnasaki@ncloudfoundry:~$ ./deploy_bosh.sh Deployment manifest: \u0026#39;/home/nnasaki/bosh.yml\u0026#39; Deployment state: \u0026#39;/home/nnasaki/bosh-state.json\u0026#39; Started validating Downloading release \u0026#39;bosh\u0026#39;... Finished (00:07:40) Validating release \u0026#39;bosh\u0026#39;... Finished (00:00:03) Downloading release \u0026#39;bosh-azure-cpi\u0026#39;... Finished (00:02:11) Validating release \u0026#39;bosh-azure-cpi\u0026#39;... Finished (00:00:00) Validating cpi release... Finished (00:00:00) Validating deployment manifest... Finished (00:00:00) Downloading stemcell... Finished (00:25:29) Validating stemcell... Finished (00:00:08) Finished validating (00:35:35) Started installing CPI Compiling package \u0026#39;ruby_azure_cpi/3db71123fb72f5ec81955710b2e89e2cbbd8aca0\u0026#39;... Finished (00:02:58) Compiling package \u0026#39;bosh_azure_cpi/5985e1e82c78fadb5f2c951f319012403ee04fd8\u0026#39;... Finished (00:01:57) Installing packages... Finished (00:00:02) Rendering job templates... Finished (00:00:00) Installing job \u0026#39;cpi\u0026#39;... Finished (00:00:00) Finished installing CPI (00:05:00) Starting registry... Finished (00:00:00) Uploading stemcell \u0026#39;bosh-azure-hyperv-ubuntu-trusty-go_agent/0000\u0026#39;... Finished (00:20:32) Started deploying Creating VM for instance \u0026#39;bosh/0\u0026#39; from stemcell \u0026#39;bosh-stemcell-3e37d680-42ae-439a-95a0-afde20eda292\u0026#39;... Finished (00:02:48) Waiting for the agent on VM \u0026#39;ncloudfoundry-3dc3d1d1-327f-4ce5-740e-aee6b5710c75\u0026#39; to be ready... Finished (00:01:56) Creating disk... Finished (00:00:05) Attaching disk \u0026#39;bosh-data-ncloudfoundry-a0df5077-c8c2-4427-877f-7b855481c4b7-None\u0026#39; to VM \u0026#39;ncloudfoundry-3dc3d1d1-327f-4ce5-740e-aee6b5710c75\u0026#39;... Finished (00:01:15) Rendering job templates... Finished (00:00:04) Compiling package \u0026#39;mysql/ZTUzMDlhZWQ4OGY1Y2M2NjJiYzc3OTg4YTMxODc0NDYxZjdjNGZiOA==\u0026#39;... Finished (00:00:19) Compiling package \u0026#39;ruby_azure_cpi/3db71123fb72f5ec81955710b2e89e2cbbd8aca0\u0026#39;... Finished (00:02:55) Compiling package \u0026#39;nginx/MWQzNTZiYmQxN2VkOGMzNDlmZDEwNTMwOTMyMjJkNzg1NTk2ODdlYw==\u0026#39;... Finished (00:00:55) Compiling package \u0026#39;libpq/OTJjOTQ0NGIwNzM2ZTQ2ZTM0MjJkZjFkNjM3MzlkOGFkMjNkYmJhZQ==\u0026#39;... Finished (00:00:29) Compiling package \u0026#39;genisoimage/MDA4ZDMzMmJhMTQ3MWJjY2Y5ZDlhZWI2NGMyNThmZGQ0YmY3NjIwMQ==\u0026#39;... Finished (00:00:24) Compiling package \u0026#39;ruby/MDMwZTNkNGVhZmQwMGIxMGJiZmE4NzliY2Y0NGZiYTYyMTM5MjA1ZQ==\u0026#39;... Finished (00:02:31) Compiling package \u0026#39;postgres/YWE3ZjViMTEwZThiMzY4ZWViOGY1ZGQwMzJlMWNhYjY2ZDg2MTRjZQ==\u0026#39;... Finished (00:00:11) Compiling package \u0026#39;redis/MzdlYWU1MzA4ODljYjllZjRlODRmOWMzZDA4MjdiYWI1YWU1Y2I2Ng==\u0026#39;... Finished (00:00:51) Compiling package \u0026#39;nats/NmEzMWM3YmIwZDVmZmEyYTlmNDNjN2ZkNzE5MzE5MzQzOGUyMGU5Mg==\u0026#39;... Finished (00:00:14) Compiling package \u0026#39;bosh_azure_cpi/5985e1e82c78fadb5f2c951f319012403ee04fd8\u0026#39;... Finished (00:01:55) Compiling package \u0026#39;health_monitor/M2JjOTVhNGIwY2E0OTcyZDJlZWNhN2I2NjViYTc4MzFkOTA0MGMzOA==\u0026#39;... Finished (00:01:31) Compiling package \u0026#39;director/MjkzNDMyYmZiNzUxZWFmMThiYjE5YmFhMjBmNDZlMjQwMjcwNTkxMg==\u0026#39;... Finished (00:02:20) Compiling package \u0026#39;registry/YTU1NjMwYmM0MmU2NjNmODc5NTlhMzA1NzdlOGE4ZTM4ODQyMWZkNw==\u0026#39;... Finished (00:01:48) Updating instance \u0026#39;bosh/0\u0026#39;... Finished (00:00:41) Waiting for instance \u0026#39;bosh/0\u0026#39; to be running... Finished (00:00:49) Finished deploying (00:24:11) Stopping registry... Finished (00:00:00) Cleaning up rendered CPI jobs... Finished (00:00:00) Cloud Foundry のデプロイ BOSH のセットアップが終わったので、次は Cloud Foundry をデプロイします。\nサンプルをダウンロードする VMのシングルとマルチがありますが、シングルをダウンロードします。このサンプル中のBOSH-DIRECTOR-UUID, VNET-NAME, SUBNET-NAME, RESERVED-IP, SSL-CERT-AND-KEY を置換する必要があります。\nsingle-vm-cf-224.yml\nBOSH-DIRECTOR-UUID を置換する VM上で、 bosh target 10.0.0.4 を実行します。IDとパスワードは admin です。次に bosh status を実行して、 UUID をメモしておきます。\nVNET-NAME を置換する Azure上のVNETと同じ名前を入れておきます。デフォルトは boshvnet-crp です。\nSUBNET-NAME を置換する Azure上のSUBNETと同じ名前を入れておきます。デフォルトは Bosh です。\nRESERVED-IP を置換する ~/settings の cf-ip に記載されています。\nSSL-CERT-AND-KEY を置換する 次のコマンドを実行します。\nopenssl genrsa -out bosh.key 2048 openssl req -new -x509 -days 365 -key bosh.key -out bosh_cert.pem その結果の、 bosh_cert.pem, bosh.key をつなげて SSL-CERT-AND-KEY に記載します。こんなかんじです\nha_proxy: ssl_pem: | -----BEGIN CERTIFICATE----- MIIDXTCCAkWgAwIBAgIJAJWo1rwt2B2IMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX aWRnaXRzIFB0eSBMdGQwHhcNMTUxMTAxMTAyODA5WhcNMTYxMDMxMTAyODA5WjBF MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50 ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB CgKCAQEAzmgXmtJRjOP3Rj1Btu0TKdez/nymTVb4ecsXV/jlCZLcOQgm/rPtTShM Ai0tmRbjRCNxdYteOJIB6RiUe8dhv8r4LQ/GrFQboykeFnh0KNoNwb3FolKqEbvQ B+nbgFo7AEnK7yR/+Cu7rjl4lIHwp34/tFoT5ox5f3MYX259Zjxn2Rke2QG480G1 wfRVg1RxcbQAglsWMQKhmia4Lzo3aA6rI1Y+/dcsej/0WG3KGRz3QP03D6Efyq1L LcDrE5+uMxPqTeTIgVuzRedyUWPM/PNnIxQwYyk4ETX+OKJcEjQZbYzJ9cxm/r+b acIgV8QAv5bUY2CGC6KMsOsjLMR6/wIDAQABo1AwTjAdBgNVHQ4EFgQUuPydhm2c GDtbsQ+i4JBkLSrVcmgwHwYDVR0jBBgwFoAUuPydhm2cGDtbsQ+i4JBkLSrVcmgw DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAL3gMHbLJI+znjAUZswR0 u/+YohEjujYa5Y69Z+xuv3N+CJgYBM38j7yJsica3SzAgRYwl6+04Xox++V82CB/ yYM7xJsxu5q3fYfnQQB8XY0TNWG7QZdvhOIG1mTjCe04x80XjHDgKsCAdyvvTiTc YFyy4VS1MlhPe2e6i/+wXdKj5Qn0COu6Ih536uTyo0TTljMZGuYPw21QE0Qo2y+3 EJvv+bN+XPrZzELl6p0FymgJV8mFkYOqXD5C5d1vYzmjBSwdjNNXBXRovoEjoJ9R LDYGT94+X4UkI3asd6fn4eg9iuaUNC+WxsSnKa9z5qLgyMSF7GsZqKjGcoQjuiDj AQ== -----END CERTIFICATE----- -----BEGIN RSA PRIVATE KEY----- MIIEogIBAAKCAQEAzmgXmtJRjOP3Rj1Btu0TKdez/nymTVb4ecsXV/jlCZLcOQgm /rPtTShMAi0tmRbjRCNxdYteOJIB6RiUe8dhv8r4LQ/GrFQboykeFnh0KNoNwb3F olKqEbvQB+nbgFo7AEnK7yR/+Cu7rjl4lIHwp34/tFoT5ox5f3MYX259Zjxn2Rke 2QG480G1wfRVg1RxcbQAglsWMQKhmia4Lzo3aA6rI1Y+/dcsej/0WG3KGRz3QP03 D6Efyq1LLcDrE5+uMxPqTeTIgVuzRedyUWPM/PNnIxQwYyk4ETX+OKJcEjQZbYzJ 9cxm/r+bacIgV8QAv5bUY2CGC6KMsOsjLMR6/wIDAQABAoIBAGAXGZYb/5clscJj ViqA6AD8yHDbOtiaeobIw49S8d2pHxj18KF2xiy7a9c/jRDOFPNtxK5COZUAdB8+ MDIHujv9k9f2ljk31r34sGcpoHo8OVdOr6lH7qDe3JQyjNuOJhWWRQFb7q9sPK15 V+dbLtvq7GFb5hPYpd9th5U17O8grWR6yOwhfEIJNSq/bbAhKc4cMRFGCeV+DRAR LMzdjRsfYWfMoHeOFeuBcSgV21wfjg0sCViQ2TN/tVp9bcr/bmzbje60jgnNdnzT VD7e/m0xNisZ0VMzBGPiKueyM1f0jOCNAu27KxeeSwsQNq5C07sxopp1iwWbmJlP Mk8ymCECgYEA92LcQNDcRYtGVd3xbGs3AKmcLgEeXrreVticqsnLJ0zmj7DBVTXw rI8MNGI2nnme+dhnr6sozAoKukE3jJaRvl94AwzeLNDHojZh6mhREXDPCSs2Gd3U iLeOJmmySW3p8woeyJXbBGOT29II9jSOYQTWxiM2+MCx1AOYHjoX/OkCgYEA1Zfz OAXPbRmzhfwavIbMQLWEHpRO7nD07ifE+zRyLzraRU6nCOzy9LQubLJPPVPZzKK/ ZOKHt7ddM5WRo9NZz2+keNSQSw1d6SKjG4SPH0LG4iLCx/VpKWTG6l6k7xBc1mHe tqhnc7u7X+1qT5+Hs6YY/6q0wgKbfK0OuOh/J6cCfy1q+QTtU4NxDni1Rp2hEXgN q57GlczOggNvwVOZuLJ+a9X1nYkHXihQGu2DGoP90DIOiPq3ccYEEfQgBRLKkfdh j6b/tcqEiiI92bwvarLJAzmrtUMKdvqiuHZU8WaJx2nXcc9hs9QadArnhL2u6HTn bobx8CW7OuqxvjvObpkCgYEAnPGAskp6poS7B5k9oAdAL8/wW3PIJ6XyIsgwEhDw Ucnhtglb7NAGmU2HyzCdzsc9AwMWtS9KX/Co2A1vrTvQAv7akDpIKA2TUomz5bVa YLL1ZhX6n2iws8yr6GxQrqSMQq45Mme9VCm+PXc6pXToBlXmin3JQcEetNaIOdAE FoMCgYEAgB+qAAfoX1e7DOkqHHr4SJERzN3MQ7NlnaNf5K7FNzFBdNSrKbe20YQR MzSpkc9piBnf9REsmfwh/8GlDoJhZtwETEf2EtUeLPuywnyy2rFRB9yMNo9RdBYa EJz7EDFRyM34vKPVktA73suJQ1kzYX1ITUICPbuYObSF8vw5BTk= -----END RSA PRIVATE KEY----- cf_224.yml を保存する VMの ~ ホームディレクトリに保存します。\nstemcell をストレージにアップロードする VM のカレントにある bosh.yml に stemcell: url: があるので、それを次のコマンドのSTEMCELL-FOR-AZURE-URL に置換する。\nbosh upload stemcell STEMCELL-FOR-AZURE-URL Cloud Foundry release v224 をアップロードする bosh upload release https://bosh.io/d/github.com/cloudfoundry/cf-release?v=224 Deploy コマンドの実行 bosh deployment cf_224.yml bosh deploy これも1時間ぐらい時間かかりますので気長に待ちます。何回か失敗してしまい、トライし直してますが、成功するとこんなログが出ます。\nnnasaki@ncloudfoundry:~$ bosh deploy Acting as user \u0026lsquo;admin\u0026rsquo; on deployment \u0026lsquo;cf-azure\u0026rsquo; on \u0026lsquo;bosh\u0026rsquo; Getting deployment properties from director\u0026hellip; Please review all changes carefully\nDeploying\n","permalink":"/entry/2015/12/11/213443/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151211/20151211212212.png\" alt=\"f:id:nnasaki:20151211212212p:plain\" title=\"f:id:nnasaki:20151211212212p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151211212212p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e先月(11月)の話ですが、 Cloud Foundry on Azure が GA しました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://azure.microsoft.com/en-us/blog/general-availability-of-cloud-foundry-and-preview-access-of-pivotal-cloud-foundry/\"\u003eazure.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eで、実際どんなものかなーと試してみました。理由は Azure 上で Managed な PostgreSQL や MySQL サーバーが欲しかったからです。（MySQL は ClearDB があるけども、あまり好きでは無い）\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003ch3 id=\"前提\"\u003e前提\u003c/h3\u003e\n\u003ch4 id=\"組織アカウント\"\u003e組織アカウント\u003c/h4\u003e\n\u003cp\u003e組織アカウント(*.onmicrosoft.com, o365 business等) が必要です。2つの方法があります\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e組織アカウントを新規作成する。作り方は No.1 の記事がわかりやすいで、そっちを見ましょう。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://buchizo.wordpress.com/2015/10/22/%E7%B5%84%E7%B9%94%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%81%A0%E3%81%91%E3%81%A7azure%E3%81%AB%E3%82%B5%E3%82%A4%E3%83%B3%E3%82%A2%E3%83%83%E3%83%97%E3%81%99%E3%82%8B/\"\u003e組織アカウントだけでAzureにサインアップする | ブチザッキ\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eクレジットカード、電話番号が必須。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e３０日約２万の無料サブスクリプション付\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eコア数がリージョンで4つに制限されているので\u003cstrong\u003e別途サポートに制限解除の連絡が必須\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e新しく組織アカウントを作って既存のサブスクリプションの共同管理者(co-owner)とする\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e安納さんの記事がわかりやすいです。\u003ca href=\"http://blogs.technet.com/b/junichia/archive/2015/12/10/3658070.aspx\"\u003eBlogs - Technical Evangelist - Junichi Anno\u0026rsquo;s blog - Site Home - TechNet Blogs\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eD1 のVMを最大で10個近く起動するので、サブスクリプションがオーバーしないように気をつけて下さい。\u003c/li\u003e\n\u003cli\u003eコア数は自分の場合は20になってたので足りなくなることは無さそう。\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"azure-cli\"\u003eAzure CLI\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e組織アカウントでログインしてテナントを作成するのに必要です。\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://azure.microsoft.com/ja-jp/documentation/articles/xplat-cli/\"\u003eMac、Linux、Windows 用の Azure CLI\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"手順\"\u003e手順\u003c/h3\u003e\n\u003cp\u003eGA した blog には書いていなくて、プレビューで試せるようになった blog に書いてあります。\u003c/p\u003e","title":"Cloud Foundry を Azure で動かしてみる"},{"content":"問題 ARM(Azure Resource Manager) で作成した Linux(Ubuntu LTS 14.04) を使用してたのですが、なぜかログイン出来なくなりました。パスワードも合っているはずなのになーと困りました。\n問題の詳細 今回困ったポイントは2つ。\nひとつめ。ARM は新しいPortalから作成できるVMで、Portal上からパスワードリセットが出来ない。\nふたつめ。PowerShellの例が多い。PowerShellとかWindows普段使ってないし、入っててもあまり使う気が起きないので別な方法でやりたい。\nちなみにPowerShellでやる場合は次のblogが参考になると思います。\nAzure上のLinux仮想マシンのパスワードをリセットする - 浅草橋青空市場 Azure Linux仮想マシンのパスワードをリセットする - Azureの小ネタ （改） 解決策 Azure CLI(コマンドラインインターフェース) をインストールする Azure コマンド ライン インターフェイスのインストール | Microsoft Azure\nMac, Linux, Windows すべてインストール可能です。\nARM モードにする ➜ ~ azure config mode arm info: New mode is arm SSH をリセットする -g がリソースグループ、 -n がVMの名前です。10分ぐらいかかるので気長に待ちましょう。\n➜ ~ azure vm reset-access -g group -n linux -r info: Executing command vm reset-access + Looking up the VM \u0026#34;linux\u0026#34; + Installing extension \u0026#34;VMAccessForLinux\u0026#34;, VM: \u0026#34;linux\u0026#34; info: vm reset-access command OK パスワードを設定する -g と -n は先ほどと同じです。\n-u がユーザー、 -p はパスワード。\n➜ ~ azure vm reset-access -g group -n linux -u nnasaki -p password info: Executing command vm reset-access + Looking up the VM \u0026#34;linux\u0026#34; + Installing extension \u0026#34;VMAccessForLinux\u0026#34;, VM: \u0026#34;linux\u0026#34; info: vm reset-access command OK SSH でアクセスする そのまま繋ごうとするとフィンガープリントが変わっているので、 known_hosts から消します。次の例ですと、known_hosts の 38 行目を消します。\n➜ ~ ssh nnasaki@linux.japanwest.cloudapp.azure.com @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the RSA key sent by the remote host is 03:4a:05:57:ce:1a:92:4e:6d:93:e0:2b:59:4e:62:d6. Please contact your system administrator. Add correct host key in /Users/nnasaki/.ssh/known_hosts to get rid of this message. Offending RSA key in /Users/nnasaki/.ssh/known_hosts:38 RSA host key for linux.japanwest.cloudapp.azure.com has changed and you have requested strict checking. Host key verification failed. ➜ ~ vi ~/.ssh/known_hosts 再び ssh すると無事に繋がりました。\nまとめ 実は azure のドキュメントに書いてありました。クラシックもARMも両方書いてあります。Azure は Portal もクラシックと新しいのがあって、それぞれ出来ることが少しずつ違うので、ちょっとややこしいですよねぇ。\nazure.microsoft.com\nおまけ：パスワードは大事にしましょう www.ipa.go.jp\nf:id:nnasaki:20151211113030p:plain ","permalink":"/entry/2015/12/11/113801/","summary":"\u003ch3 id=\"問題\"\u003e問題\u003c/h3\u003e\n\u003cp\u003eARM(Azure Resource Manager) で作成した Linux(Ubuntu LTS 14.04) を使用してたのですが、なぜかログイン出来なくなりました。パスワードも合っているはずなのになーと困りました。\u003c/p\u003e\n\u003ch3 id=\"問題の詳細\"\u003e問題の詳細\u003c/h3\u003e\n\u003cp\u003e今回困ったポイントは2つ。\u003c/p\u003e\n\u003cp\u003eひとつめ。ARM は\u003ca href=\"https://portal.azure.com\"\u003e新しいPortal\u003c/a\u003eから作成できるVMで、Portal上からパスワードリセットが出来ない。\u003c/p\u003e\n\u003cp\u003eふたつめ。PowerShellの例が多い。PowerShellとかWindows普段使ってないし、入っててもあまり使う気が起きないので別な方法でやりたい。\u003c/p\u003e\n\u003cp\u003eちなみにPowerShellでやる場合は次のblogが参考になると思います。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://asazure.hatenablog.jp/entry/2015/08/22/225212\"\u003eAzure上のLinux仮想マシンのパスワードをリセットする - 浅草橋青空市場\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://statemachine.hatenablog.com/entry/2015/07/10/101540\"\u003eAzure Linux仮想マシンのパスワードをリセットする - Azureの小ネタ （改）\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"解決策\"\u003e解決策\u003c/h3\u003e\n\u003ch4 id=\"azure-cliコマンドラインインターフェース-をインストールする\"\u003eAzure CLI(コマンドラインインターフェース) をインストールする\u003c/h4\u003e\n\u003cp\u003e\u003ca href=\"https://azure.microsoft.com/ja-jp/documentation/articles/xplat-cli-install/\"\u003eAzure コマンド ライン インターフェイスのインストール | Microsoft Azure\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eMac, Linux, Windows すべてインストール可能です。\u003c/p\u003e\n\u003ch4 id=\"arm-モードにする\"\u003eARM モードにする\u003c/h4\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e➜  ~  azure config mode arm\ninfo:    New mode is arm\n\u003c/code\u003e\u003c/pre\u003e\u003ch4 id=\"ssh-をリセットする\"\u003eSSH をリセットする\u003c/h4\u003e\n\u003cp\u003e\u003ccode\u003e-g\u003c/code\u003e がリソースグループ、 \u003ccode\u003e-n\u003c/code\u003e がVMの名前です。\u003cstrong\u003e10分ぐらいかかるので気長に待ちましょう\u003c/strong\u003e。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e➜  ~  azure vm reset-access -g group -n linux -r\ninfo:    Executing command vm reset-access\n+ Looking up the VM \u0026#34;linux\u0026#34;                                            \n+ Installing extension \u0026#34;VMAccessForLinux\u0026#34;, VM: \u0026#34;linux\u0026#34;                 \ninfo:    vm reset-access command OK\n\u003c/code\u003e\u003c/pre\u003e\u003ch4 id=\"パスワードを設定する\"\u003eパスワードを設定する\u003c/h4\u003e\n\u003cp\u003e\u003ccode\u003e-g\u003c/code\u003e と \u003ccode\u003e-n\u003c/code\u003e は先ほどと同じです。\u003c/p\u003e","title":"Azure ARM (リソース マネージャー) な Linux に SSH できなかった場合の対処方法"},{"content":"この記事は Microsoft Azure Advent Calendar 2015 9日目 です。\n以前、 Azure Service Fabric が Public Preview になったので試した記事を書きました。\nblog.nnasaki.com\nこのときは自分の Windows マシン上で実行しただけで、 Azure にはまだ Deploy していなかったので、今回は Azure 上で動かしてみました。\nEXTENDED BODY:\nAzure Service Fabric を作る GA した Portal から作ることが可能です。クラシック Portal からは作ることが出来ません。\n新規で Service Fab ぐらいまで入力します。\nf:id:nnasaki:20151209152152p:plain Service Fabric Cluster が サジェストされるので、選択します。\nf:id:nnasaki:20151209152251p:plain 選択していきます。\nf:id:nnasaki:20151209152320p:plain Location は 米国西部 か 米国東部 しか選べません。米国西部 を選択します。\nf:id:nnasaki:20151209152426p:plain 必要な情報を埋めていきます。Cluster name, Subscription, resource groupなど。 1つだけ、 Node Type Properties の Application input endpoints に 80 を必ず入れておいて下さい。\nf:id:nnasaki:20151209152618p:plain Security Configurations はテスト用なので Unsecure にしておきます。Production 環境では証明書などを登録します。\nf:id:nnasaki:20151209153024p:plain 作成で作り始めます。結構時間かかります。1時間ぐらいかかりました。。。\nf:id:nnasaki:20151206100528p:plain デプロイが終わるとこんな感じで Portal から確認できます。\nf:id:nnasaki:20151209153429p:plain Service Fabric Explorer のリンクをクリックすると、ローカルと同じものが Azure 上でも立ち上がります。\nf:id:nnasaki:20151209153543p:plain Visual Studio から Deploy する Party Cluster プロジェクトで右クリックして、公開 をクリックする。\nf:id:nnasaki:20151209130449p:plain Select をクリック。\nf:id:nnasaki:20151209130656p:plain 先ほど Azure Portal で作成した Service Fabric を選択する。\nf:id:nnasaki:20151209130756p:plain Publish をクリック。\nf:id:nnasaki:20151209130839p:plain 見事デプロイできました！\nf:id:nnasaki:20151209141207p:plain アップグレード方法 デプロイできたけど、JOIN の CAPTCHA がエラーとなっている。\nf:id:nnasaki:20151209141255p:plain ドメインを追加してみました。\nf:id:nnasaki:20151209141355p:plain アップグレードでデプロイします。\nf:id:nnasaki:20151209143912p:plain バージョンをアップしないと、アップグレードする必要はないといわれます。\nThe PowerShell script failed to execute. See the Output window for details. f:id:nnasaki:20151209144912p:plain ","permalink":"/entry/2015/12/09/154655/","summary":"\u003cp\u003eこの記事は \u003ca href=\"http://qiita.com/advent-calendar/2015/azure\"\u003eMicrosoft Azure Advent Calendar 2015 9日目\u003c/a\u003e です。\u003c/p\u003e\n\u003cp\u003e以前、 Azure Service Fabric が Public Preview になったので試した記事を書きました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2015/11/20/172256\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eこのときは自分の Windows マシン上で実行しただけで、 Azure にはまだ Deploy していなかったので、今回は Azure 上で動かしてみました。\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003ch3 id=\"azure-service-fabric-を作る\"\u003eAzure Service Fabric を作る\u003c/h3\u003e\n\u003cp\u003eGA した Portal から作ることが可能です。クラシック Portal からは作ることが出来ません。\u003c/p\u003e\n\u003cp\u003e新規で Service Fab ぐらいまで入力します。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151209/20151209152152.png\" alt=\"f:id:nnasaki:20151209152152p:plain\" title=\"f:id:nnasaki:20151209152152p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151209152152p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eService Fabric Cluster が サジェストされるので、選択します。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151209/20151209152251.png\" alt=\"f:id:nnasaki:20151209152251p:plain\" title=\"f:id:nnasaki:20151209152251p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151209152251p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e選択していきます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151209/20151209152320.png\" alt=\"f:id:nnasaki:20151209152320p:plain\" title=\"f:id:nnasaki:20151209152320p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151209152320p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eLocation は 米国西部 か 米国東部 しか選べません。米国西部 を選択します。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151209/20151209152426.png\" alt=\"f:id:nnasaki:20151209152426p:plain\" title=\"f:id:nnasaki:20151209152426p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151209152426p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e必要な情報を埋めていきます。Cluster name, Subscription, resource groupなど。\n1つだけ、 Node Type Properties の Application input endpoints に 80 を必ず入れておいて下さい。\u003c/p\u003e","title":"Service Fabric を Azure にデプロイしてみた"},{"content":"f:id:nnasaki:20151130214445p:plain jazugsapporo.doorkeeper.jp\n何を話そうかいろいろ迷っていて、1週間ぐらいまでタイトルは調整中でした。結果、デモは失敗してしまって、皆さんにはお見苦しいセッションになってしまったなぁと反省しています。\nEXTENDED BODY:\n資料と今回使用したソースコードを置いておきます。ちなみにアイスブレイク的な部分は削除して公開しています。来ていただけた方だけのお楽しみということで。\n資料 Azureよもやま話—Yamamoto Masaki\nソースコード github.com\nソースにAzureの接続情報が残ってますのでそのまま試すことも可能だと思います。しばらくはリソース残しておきます。\n反省 今回は Node.js を使いましたが EventHubs へ通知する SDK が用意されておらず、npm にあるものを使いました。これがあまり良くなかったのか、本番では通知が送られなかったり、日本語が通らなかったりと問題が発生してしまいました。REST で送ってたので、AMQP で送ったほうが良かったかもしれません。\n懇親会 Net BSD が好きです！という学生さんや、始めて勉強会来ましたという人がいて色々話を聞いてました。Net BSD は Azure で動かしたって人がまだ居なさそうなので、今やると世界最速かもしれませんね。\nあとはチャックさんに新しい技を授けました。CC0 なので、クレジット表記とか謝礼とか要りませんので。但し、必ずやってくださいね。\nあとは僕がすすきのに消えていったという高度な情報戦が行われていましたが、本当に行ってませんのでー。\n参考リンク きたあず第9回勉強会でしゃべってきました | ブチザッキ ブチザッキに世界のやまさがゴリ押しされているので、いつか仙台で迎え撃ちたい。\n","permalink":"/entry/2015/11/30/214553/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151130/20151130214445.png\" alt=\"f:id:nnasaki:20151130214445p:plain\" title=\"f:id:nnasaki:20151130214445p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151130214445p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"https://jazugsapporo.doorkeeper.jp/events/30944\"\u003ejazugsapporo.doorkeeper.jp\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e何を話そうかいろいろ迷っていて、1週間ぐらいまでタイトルは調整中でした。結果、デモは失敗してしまって、皆さんにはお見苦しいセッションになってしまったなぁと反省しています。\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003cp\u003e資料と今回使用したソースコードを置いておきます。ちなみにアイスブレイク的な部分は削除して公開しています。来ていただけた方だけのお楽しみということで。\u003c/p\u003e\n\u003ch3 id=\"資料\"\u003e資料\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://docs.com/yamamoto-masaki/8911/azure\"\u003eAzureよもやま話\u003c/a\u003e—\u003ca href=\"https://docs.com/yamamoto-masaki\"\u003eYamamoto Masaki\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"ソースコード\"\u003eソースコード\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/nnasaki/nkitaazu-chat\"\u003egithub.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eソースにAzureの接続情報が残ってますのでそのまま試すことも可能だと思います。しばらくはリソース残しておきます。\u003c/p\u003e\n\u003ch3 id=\"反省\"\u003e反省\u003c/h3\u003e\n\u003cp\u003e今回は Node.js を使いましたが EventHubs へ通知する SDK が用意されておらず、npm にあるものを使いました。これがあまり良くなかったのか、本番では通知が送られなかったり、日本語が通らなかったりと問題が発生してしまいました。REST で送ってたので、AMQP で送ったほうが良かったかもしれません。\u003c/p\u003e\n\u003ch3 id=\"懇親会\"\u003e懇親会\u003c/h3\u003e\n\u003cp\u003eNet BSD が好きです！という学生さんや、始めて勉強会来ましたという人がいて色々話を聞いてました。Net BSD は Azure で動かしたって人がまだ居なさそうなので、今やると世界最速かもしれませんね。\u003c/p\u003e\n\u003cp\u003eあとは\u003ca href=\"https://twitter.com/chack411\"\u003eチャック\u003c/a\u003eさんに新しい技を授けました。\u003ca href=\"http://sciencecommons.jp/cc0/about\"\u003eCC0\u003c/a\u003e なので、クレジット表記とか謝礼とか要りませんので。\u003cstrong\u003e但し、必ずやってくださいね。\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eあとは僕がすすきのに消えていったという高度な情報戦が行われていましたが、本当に\u003cstrong\u003e行ってません\u003c/strong\u003eのでー。\u003c/p\u003e\n\u003ch3 id=\"参考リンク\"\u003e参考リンク\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://buchizo.wordpress.com/2015/11/30/%E3%81%8D%E3%81%9F%E3%81%82%E3%81%9A%E7%AC%AC9%E5%9B%9E%E5%8B%89%E5%BC%B7%E4%BC%9A%E3%81%A7%E3%81%97%E3%82%83%E3%81%B9%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F/\"\u003eきたあず第9回勉強会でしゃべってきました | ブチザッキ\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eブチザッキに世界のやまさがゴリ押しされているので、いつか仙台で迎え撃ちたい。\u003c/p\u003e\n\u003chr\u003e","title":"きたあずでAzureの話をしました"},{"content":"f:id:nnasaki:20151130211533j:plain もう2週間前になってしまいましたが、 2015/11/14(土) に TDDBC 仙台 5 を開催しました。もちろん一人でやったわけではなく、主催は @135yshr で、課題作成とマサカリ担当は @i_takehiro 、僕はその他雑用の主に3人で開催しました。\nEXTENDED BODY:\n今回の感想は2つのツイートに集約されます。\n**TDD のエキスパート @t_wada と DDD のエキスパート @masuda220 が居るので、大変贅沢な勉強会になっている。 #tddbc— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nTDDBC は座学とワークショップが一緒になってて、毎回新たな知見がある。俺得イベントである。 #tddbc— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\n詳細は当日の様子を自分のツイートを見ながら振り返ってみたいと思います。リアルタイムな流れは togetter を見ていただくと良いと思います。\n会場は MEMBERS ウェブガーデン仙台 MEMBERS ウェブガーデン仙台さんの会場をお借りしました。ありがとうございました。とても綺麗な会場でした。\nTDDBC 仙台 5 です！メンバーズ仙台さんに会場を提供いただいています。まだ申込み間に合います！ #tddbc https://t.co/rHXwIoyG8H pic.twitter.com/KwKLejmtP2— YAMAMOTO Masaki (@nnasaki) 2015, 11月 13\nタイムテーブル レビュー時間は思ったより、かかりました。次回はやはり見直さないとなぁと思った感じです。 (@i_takehiro のマサカリが冴え渡っていたのでとい噂も…)\n今日のメニュー #tddbc pic.twitter.com/NDA8msvATi— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\n和田さんについて 講師の自己紹介 #tddbc pic.twitter.com/gkOM27YpDF— いまいまさのぶ (@masanobuimai) November 14, 2015\n和田さんの基調講演はやはり素晴らしかった 今回は頑張ってツイートしてたので、ツイートを元にふりかえります。\nまず、TDDをしていない、自動化されたテストが無いときのリリースは「爆弾処理」のようなリリース。\n爆弾処理のようなリリース #tddbc pic.twitter.com/bWItCkX3gP— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\n一休さんのとんちみたいですが、\nストレスが増えるとテストが減る。自動テストが増えるとストレスが減る。テストを書く時間がないのではなく、テストを書かないから時間が無くなる。 #tddbc pic.twitter.com/G1LaRDguvE— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\n我々が陥りやすい状況は設計を完璧にしてから綺麗なコードを書こうとすること。けれども、実装を始めないとわからないことが多い。TDDは動作する汚いコードから綺麗な設計を目指す。\n動作するきれいなコードへの道は２つ。ひとつはソフトウェア工学としては左側の赤い道で、設計を完璧にして動かないコード。難しい。 ふたつめは、動作する汚いコードをテスト駆動開発でリファクタリングを重ねていく。 pic.twitter.com/NuZwCPcGio— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nTDDのサイクル #tddbc pic.twitter.com/18CXmNcajG— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nTDDと黄金の回転。黄金の回転については杜王町なので、常識らしい。 #tddbc pic.twitter.com/W2d907cruE— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\n#tddbc 黄金の回転来ました。 pic.twitter.com/HWtX2HiHWK— いまいまさのぶ (@masanobuimai) November 14, 2015\n実業務ではリファクタリングがおざなりになることが多い。リファクタリングというタスクが作られても、ビジネスの価値として提供するタスクでは無いため。リファクタリングを貯めると、大掃除が必要になる。大掃除は1日費やす。毎日やれば大掃除は必要無い。習慣化が必要。 #tddbc— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nリファクタリングの教科書 #tddbc pic.twitter.com/l1bYs9Dnzg— YAMAMOTO Masaki (@nnasaki) November 14, 2015\nDustin Boswell の リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice) を Amazon でチェック！ https://t.co/hVc7hPoYZB @さんから #tddbc— 135yshr (@135yshr) 2015, 11月 14\nテスト駆動開発のスコープは赤色の部分。社会やビジネスに影響をあたえるわけではない。小さいスコープで頻繁に行うこと。 #tddbc pic.twitter.com/Fxx6eqOfHV— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\n良いテストの原則。FIRST #tddbc pic.twitter.com/R6HTplsFs4— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nRepeatableとIndependentなテストをまず目指す。 #rddbc pic.twitter.com/hwqAikCGdk— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nテストのメンテナンスコストの現実。後々楽になると思ってたのに、気づいたら落ちるテストを直してばっかりいる。こうならないために、テストコードにもリファクタリングが必要。 #tddbc pic.twitter.com/Bt2tIfVYt3— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nTDD導入効果。 TDD導入後の Visual Studio は不具合は10%以下に減少、実装時間は20%増えた。導入前は大丈夫だったのかという疑問が… #tddbc pic.twitter.com/ihdCcOT2sa— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nTDD導入効果。だいぶポジティブ。 #tddbc pic.twitter.com/xhSuIQU3hm— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nTDD導入すると、デバッグ時間が減ってコーディング時間が増えるが、トータル時間は減る。TDD導入したことで良い結果があるが、SIerからするとポジティブな意見が出るかはビミョウ。\n@masanobuimai マネージャー say 実装時間が増えている！テスト項目書をExcelで書いていない？自動化だ？ 1つずつ目で確認して、結果のエビデンスが無いとやったかどうかわからんだろ！俺の若い頃は…— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\n誰が、何のためのテストか？テストの定義が対象者によって異なる。 #tddbc pic.twitter.com/sCrfEjOSKF— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nBDD は Spec 系と シナリオ系で二つの世界に分かれてしまい、 BDD という言葉は誤解されやすい。 #tddbc pic.twitter.com/qeLeJXl69j— YAMAMOTO Masaki (@nnasaki) November 14, 2015\nTDD をするからテストエンジニアが不要となるわけではない。 TDD は Checking でしかない。 #tddbc— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nアジャイルテストの四象現。 #tddbc pic.twitter.com/BFWbujwuo6— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nテストは品質を上げない。体重計に乗るだけでは痩せないのと同じ。品質を上げるためには改善（プログラミング、リファクタリング）が必要 #tddbc pic.twitter.com/zBPyzADfLB— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nなぜテスト駆動開発を行うか？工学的ではなく、最大の理由は心理的なもの。 #tddbc pic.twitter.com/qCGimXYBf1— YAMAMOTO Masaki (@nnasaki) November 14, 2015\n人間がソフトを開発するんだし、人と人との協調作業が多いので、心理的な部分が大きいと思う。いまやスポーツでメンタルトレーニングするのは当たり前だし、その部分がソフトウェア工学で不足しているのかなぁ。 #tddbc— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\n今回の課題は格子点 Mr.TDD @i_takehiro の今日の課題解説。 #tddbc pic.twitter.com/OFH5yxNQlx— YAMAMOTO Masaki (@nnasaki) November 14, 2015\n格子点っていってもピンと来ないかも知れませんが、方眼紙上に点を書いていく感じです。課題の詳細については、 TDD Boot Camp(TDDBC) - TDDBC仙台05/課題 をご覧ください。\n今回も Mr.TDD \u0026amp; DDD こと @i_takehiro オリジナルの問題です。尚、当日は課題１までしか最初みせておらず、全体像がわからない状態で進んでいたので、もし写経する場合は課題1だけをみてやるとライブ感を味わえると思います。\nお昼終わってペアプロへ お昼は弁当を用意して、ペアプロに入ります。仙台の場合、ペアは主催者側でアンケートをもとに組んでおき、お昼ご飯を一緒に食べるようにしています。これは午後からペアプロをスムーズに行うために、コミュニケーションをとりやすくする試作です。\nちなみにお弁当は４種類用意していました。そのうちの1つはこんな感じです。\nロコモコ丼いただきます！ #tddbc pic.twitter.com/7coVFmUVK2— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nちなみにペアプロ中はみんなTweetする暇がないので、Tweetがほとんどありません。\nレビュー中にあったQ\u0026amp;Aに対する回答 ペアプロ中にちょっとしたQ\u0026amp;Aがあり、いつも情報が揮発してしまっていたので、メモしておきました。これはメモしておいてよかった。\nQ: テストがすぐに壊れてしまう。どうすれば良いか？ A: 序盤はそうなりがち。終盤につれて徐々に安定してくるようになってくる。 #tddbc— YAMAMOTO Masaki (@nnasaki) November 14, 2015\nTDDをやり始めたばかりだとクラスやメソッドがしょっちゅう変わるので、テストを直すのが苦になってくる。結局面倒になって辞めてしまうって事があると思いますが、やっぱり最初はちょっと辛い感じです。これを乗り越えてメリットが見いだせると、次のプロジェクトからも初期の苦労は耐えられる感じですかね。\nQ: テストケースをREDにするつもりが、予想外にGREENになった。どうするべきか？ A: テストの不具合に早期に気づけてよかったと思う。そうなるとテストコードが信用できなくなり、テストコードのテストを書くのではなく、実装コードとテストコードで相互に担保させる #tddbc— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nテストをREDになるつもりで書いたらGREENになった。というのは実装かテストに問題がある可能性が高いので注意すべき。\nQ: x,y の2つの変数のテストを同時にするべきか？ A: 正解は1つでは無い。チームの熟練度とメンタルによる。自信があるなら2つ同時に行ってもよい。自信が無くなった時点でブレーキをかけて1つずつに別けても良い。 #tddbc— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nテストケースは作った人の性格で、大胆な人と緻密な人で作る大きさが違う。上手く行かなかったり、迷った時は緻密(細かく)にした方が良い。 #tddbc— leecom (@leecom) 2015, 11月 14\n三角測量は\u0026quot;どうやってリファクタリングすればいいかわからないとき”にやる #tddbc— 糖質警察 (@a_suenami) November 14, 2015\nこれは良い質問だった。テストを書く粒度は自分の自信により異なる。アクセルとブレーキで緩急付ける。これに関連する質問で次のQ\u0026amp;Aもあった。\nQ: Getter の三角測量を行っているが、そこまで必要か？ A: 1.（テストの）重複をなくす目的。三角測量自体は2個行えば証明が成り立つので3つも4つも必要は無いかもしれない。 2. ケントベック自身も三角測量については奇妙だと言っている。(Tobe)どうなったらいいかわかるが、(How)どうやっていいかはわからない。必ずしも正しい方法ではない。ローギアな方法。 Q: 動的型付け言語は何でも渡せるから数値かどうかをテストでチェックすべきでは？ A: 人により異なるけど、そんなの一々チェックするぐらいなら、動的型付け言語使わなきゃ良いじゃん。 #tddbc— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nString.format とプラス演算子どちらが実効効率が良いか？コンパイラが最適化するので、気にするな。可読性を高めた方がよい。 #tddbc— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nTDDは個人でも出来る。では組織では？ 懇親会でも話合ったQ\u0026amp;A。こちらも興味深かった。\nQ: 自信という話が出たが、個人では無く組織の場合はどうするべきか？標準化とか？ A: ・TDDは一人でも出来る。でもそれは組織では… ・属人性の低い指標みたいな ・空手の型みたいなルールを決める （example for アジャイルサムライ, jenkins通さないとリリース出来ない) ・Yahoo!なら黒帯みたいな段位とか ・実際にやってみて苦労したところ ・自信じゃなくて組織の場合、 ・データとして見れる？ ・Excelじゃないと通用しない ・元々そうだったけど、それを壊すために稟議を通して変えるようにした。 ・アジャイルサムライ11というチームを作った ・ムリだと諦めてドロップアウト ・TDDの効果はすごいけど、今までとの指標と変わりすぎると組織にフィットしない ・防波堤になるマネージャー ・腹くくる ・LOCあたりの発生バグ数の指標とか ・プログラマー以外にもわかる定量的な指標を作る ・ねつ造… ・お客さんとの契約を準委任でアジャイルな開発 僕は組織に時間を使うなら、自分でやろうと辞めてしまった人間ですが、ちゃんと会社に稟議を通して出来るようにしたというメンバーズさんはすごいなぁと思った。\nみんなクラス名に複数形使う？ 「クラス名に複数形はあまり使わないですね。」「いや、私は使いますね。」「O/Rマッパーは複数形になりますね」「いや、O/Rマッパーにクラス名引きずられるのおかしいでしょう」「クラス名は集合じゃなくて、オブジェクトは集合を表せるけど…」 面白いなぁ #tddbc— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nQ\u0026amp;Aじゃないけど興味深かったクラス名の付け方。ちなみに私はクラス名に複数形使います。\nちなみに複数形使わない派は和田さん。使う派は井上さん。マッパーにクラス名が引きずられるのがおかしいという指摘は増田さん。だったと思います。テストだけじゃなく、オブジェクト指向やDDDの知識が見えて面白かった。皆さんそれぞれ同じ本を読んでいるんですけど、それぞれが昇華してて考え方は異なる点もあるんだなぁと感じた。\nふりかえりはKPTで ふりかえり中 #tddbc pic.twitter.com/CAnOnQL23d— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\n懇親会もメンバーズさんの和室で なんと会場のすぐ隣には和室があり、すっかり居酒屋気分で行いました。\nmembersさんの和室でガヤガヤ懇親会 #tddbc pic.twitter.com/BXbU8KXqHZ— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nあぐらでLTという斬新さ！トップバッターは @a_suenami さん！ #tddbc pic.twitter.com/AvNtEdc48I— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\n@a_suenami さんの糖質制限の話で盛り上がる。TDD is 糖質駆動ダイエット**\n.@t_wada さんはなぜか正座で LT 中。 #tddbc pic.twitter.com/qDbTEWL1Ut— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nなお、買い出しでセブンイレブンのお総菜を「これ全部」と大人買いしましたｗ\nf:id:nnasaki:20151114201653j:plain 仙台名物その１ 主催者のコスプレ 主催者の @135yshr は毎回コスプレしており、今回は 5 と Go をかけて、go のマスコットである gopher 君をコスプレしてた。\n.@135yshr による恒例のコスプレ。5回目なので、go言語のgopherらしい。ねずみ男ではない。 #tddbc pic.twitter.com/2zDbFAXXik— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nちなみに本物の gopher 君。ちょっと厳しい…\n[\nhttps://camo.githubusercontent.com/98ed65187a84ecf897273d9fa18118ce45845057/68747470733a2f2f7261772e6769746875622e636f6d2f676f6c616e672d73616d706c65732f676f706865722d766563746f722f6d61737465722f676f706865722e706e67 ](https://camo.githubusercontent.com/98ed65187a84ecf897273d9fa18118ce45845057/68747470733a2f2f7261772e6769746875622e636f6d2f676f6c616e672d73616d706c65732f676f706865722d766563746f722f6d61737465722f676f706865722e706e67)\n和田さんとGopherコスプレ。 #tddbc pic.twitter.com/wAEesJA9Sd— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\n仙台名物その２ @i_takehiro のマサカリ 仙台では Mr.TDD \u0026amp; DDD こと @i_takehiro によるコードレビューに対する素晴らしい指摘がいただけます。我々はこれをマサカリと呼んでいます。\n言葉で書くより10秒のイメージ動画をご覧ください。すぐにわかります。\n#tddbc 今日の記念にコース作った。 pic.twitter.com/0P4XdLUQb2— いまいまさのぶ (@masanobuimai) 2015, 11月 14\nそれでは、@i_takehiro のマサカリに対する反応をご覧ください。\n#tddbc 仙台のコードレビューの様子です。 pic.twitter.com/f91MVplqEe— いまいまさのぶ (@masanobuimai) 2015, 11月 14\nすっかり大人しくなった #tddbc タグをみて、きっと今ごろ @i_takehiro の素敵なコードレビュータイムを楽しんでいるに違いないと想像した。 pic.twitter.com/rb7XYSDzy2— いまいまさのぶ (@masanobuimai) 2015, 11月 14\n@i_takehiro さん「はいっ」 会場「ザワッザワッ…」 #tddbc— 糖質警察 (@a_suenami) 2015, 11月 14\n.@i_takehiro の マサカリキターッ！ #tddbc— leecom (@leecom) 2015, 11月 14\n#tddbc 仙台のコードレビューのイメージ pic.twitter.com/8w3oH4Jqzb— いまいまさのぶ (@masanobuimai) 2015, 11月 14\n止まらないマサカリ #tddbc— 糖質警察 (@a_suenami) 2015, 11月 14\n@i_takehiro さんが口を開くと場がざわつくｗ #tddbc— minoru.oonuma (@numamino) 2015, 11月 14\nエンドレスマサカリ #tddbc— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\n#tddbc 仙台のコードレビューは、こんな感じでほのぼのしてます。 #その場に居ない pic.twitter.com/ejzljMnOH0— いまいまさのぶ (@masanobuimai) 2015, 11月 14\nt-wadaさん「いのうえさん、何かありますか？」 会場「（爆笑）」 #tddbc— 糖質警察 (@a_suenami) 2015, 11月 14\n「他何か。質問とか…マサカリとか…」ｗ #tddbc— 糖質警察 (@a_suenami) 2015, 11月 14\n突然ですが、ここで #tddbc 仙台の様子を念写してみましょう。 pic.twitter.com/IblFbvGGJh— いまいまさのぶ (@masanobuimai) 2015, 11月 14\n#tddbc pic.twitter.com/hmcc2vHmFk— いまいまさのぶ (@masanobuimai) 2015, 11月 14\nマサカリ対策で、一生懸命リファクタリングしました。 #tddbc— leecom (@leecom) 2015, 11月 14\n「他の人のコードレビューで指摘があった部分を直して、マサカリを回避した。」 #tddbc— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\n#tddbc みんなすぐ「 @i_takehiro がマサカリ投げた」って言うけど、あれは爪切りみたいなもんですよ。 pic.twitter.com/vLwBtfuRbe— いまいまさのぶ (@masanobuimai) 2015, 11月 14\n「じゃあ、井上さんおねがいします」 #tddbc— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\n今日の@i_takehiro いつもと発しているオーラが違った。こっちが本当の姿かと思いきや、まだ本領発揮していないらしい。いったい第何形態まであるのか。 #tddbc— setoguchi (@mixjuice001) 2015, 11月 14\nまとめ 冒頭の2ツイートの通り。もう一度貼っておきます。\nTDD のエキスパート @t_wada と DDD のエキスパート @masuda220 が居るので、大変贅沢な勉強会になっている。 #tddbc— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\nTDDBC は座学とワークショップが一緒になってて、毎回新たな知見がある。俺得イベントである。 #tddbc— YAMAMOTO Masaki (@nnasaki) 2015, 11月 14\n次のステップ 我々は毎週木曜日に19時ごろから21時ごろまで、ソシラボ | 仙台市青葉区のコワーキング・イベントスペース さんにて勉強会をやっています。TDD 以外にも DDD や Go言語 の勉強会をやっていますのでお気軽にご参加ください。\nたまにやっていない場合があるので、 TDD勉強会in仙台 - connpass のメンバーに登録していただくか、主催3名をフォローしてチェックください。\n対象レベルは初心者からです。そのとき集まった人のレベルに合わせて行いますので、是非気軽にご参加ください。\n@135yshr @i_takehiro @nnasaki 参考リンク 申込サイト tddbc.doorkeeper.jp\n参加者のblog a-suenami.hatenablog.com\ntogetter(Tweet のまとめ) togetter.com\n","permalink":"/entry/2015/11/30/211755/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151130/20151130211533.jpg\" alt=\"f:id:nnasaki:20151130211533j:plain\" title=\"f:id:nnasaki:20151130211533j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151130211533j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eもう2週間前になってしまいましたが、 2015/11/14(土) に TDDBC 仙台 5 を開催しました。もちろん一人でやったわけではなく、主催は \u003ca href=\"https://twitter.com/135yshr\"\u003e@135yshr\u003c/a\u003e で、課題作成とマサカリ担当は \u003ca href=\"https://twitter.com/i_takehiro\"\u003e@i_takehiro\u003c/a\u003e 、僕はその他雑用の主に3人で開催しました。\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003cp\u003e今回の感想は2つのツイートに集約されます。\u003c/p\u003e\n\u003cp\u003e**TDD のエキスパート \u003ca href=\"https://twitter.com/t_wada\"\u003e@t_wada\u003c/a\u003e  と DDD のエキスパート \u003ca href=\"https://twitter.com/masuda220\"\u003e@masuda220\u003c/a\u003e が居るので、大変贅沢な勉強会になっている。 \u003ca href=\"https://twitter.com/hashtag/tddbc?src=hash\"\u003e#tddbc\u003c/a\u003e— YAMAMOTO Masaki (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/status/665453187361611777\"\u003e2015, 11月 14\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eTDDBC は座学とワークショップが一緒になってて、毎回新たな知見がある。俺得イベントである。 \u003ca href=\"https://twitter.com/hashtag/tddbc?src=hash\"\u003e#tddbc\u003c/a\u003e— YAMAMOTO Masaki (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/status/665464950563987456\"\u003e2015, 11月 14\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e詳細は当日の様子を自分のツイートを見ながら振り返ってみたいと思います。リアルタイムな流れは \u003ca href=\"http://togetter.com/li/900394\"\u003etogetter\u003c/a\u003e を見ていただくと良いと思います。\u003c/p\u003e\n\u003ch3 id=\"会場は-members-ウェブガーデン仙台\"\u003e会場は MEMBERS ウェブガーデン仙台\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://www.members.co.jp/company/base/sendai.html\"\u003eMEMBERS ウェブガーデン仙台\u003c/a\u003eさんの会場をお借りしました。ありがとうございました。とても綺麗な会場でした。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eTDDBC 仙台 5 です！メンバーズ仙台さんに会場を提供いただいています。まだ申込み間に合います！ \u003ca href=\"https://twitter.com/hashtag/tddbc?src=hash\"\u003e#tddbc\u003c/a\u003e \u003ca href=\"https://t.co/rHXwIoyG8H\"\u003ehttps://t.co/rHXwIoyG8H\u003c/a\u003e \u003ca href=\"https://t.co/KwKLejmtP2\"\u003epic.twitter.com/KwKLejmtP2\u003c/a\u003e— YAMAMOTO Masaki (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/status/665314279512346624\"\u003e2015, 11月 13\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003ch3 id=\"タイムテーブル\"\u003eタイムテーブル\u003c/h3\u003e\n\u003cp\u003eレビュー時間は思ったより、かかりました。次回はやはり見直さないとなぁと思った感じです。 (@i_takehiro のマサカリが冴え渡っていたのでとい噂も…)\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e今日のメニュー \u003ca href=\"https://twitter.com/hashtag/tddbc?src=hash\"\u003e#tddbc\u003c/a\u003e \u003ca href=\"https://t.co/NDA8msvATi\"\u003epic.twitter.com/NDA8msvATi\u003c/a\u003e— YAMAMOTO Masaki (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/status/665362517187624961\"\u003e2015, 11月 14\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003ch3 id=\"和田さんについて\"\u003e和田さんについて\u003c/h3\u003e\n\u003cblockquote\u003e\n\u003cp\u003e講師の自己紹介 \u003ca href=\"https://twitter.com/hashtag/tddbc?src=hash\"\u003e#tddbc\u003c/a\u003e \u003ca href=\"https://t.co/gkOM27YpDF\"\u003epic.twitter.com/gkOM27YpDF\u003c/a\u003e— いまいまさのぶ (@masanobuimai) \u003ca href=\"https://twitter.com/masanobuimai/status/665336091214409728\"\u003eNovember 14, 2015\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003ch3 id=\"和田さんの基調講演はやはり素晴らしかった\"\u003e和田さんの基調講演はやはり素晴らしかった\u003c/h3\u003e\n\u003cp\u003e今回は頑張ってツイートしてたので、ツイートを元にふりかえります。\u003c/p\u003e\n\u003cp\u003eまず、TDDをしていない、自動化されたテストが無いときのリリースは「爆弾処理」のようなリリース。\u003c/p\u003e","title":"TDDBC 仙台 5 を開催しました"},{"content":"Rise of the Tomb Raider をクリアしました。プレイ時間は20時間ぐらい。\nトゥームレイダーは初めてプレイしたんですが、面白かったです。\nEXTENDED BODY:\n美しいグラフィック。金の質感とかやばいです。\nf:id:nnasaki:20151125155343p:plain 氷と雪の質感も良い感じ。\nf:id:nnasaki:20151125155406p:plain 操作は最初はジャンプぐらいで、徐々にいろいろ増えていきます。特にむつかしいとは感じませんでした。\n不満点はたまに理不尽な落下で死にます。どうも、マップ上行っちゃ行けないところは即死扱いなのでちょっとそこだけ残念です。といってもリスタートは数秒でチェックポイントから始まるのでそれほどストレスではないですね。\n武器も弓はスキルがあがると3人までロックオンして同時に倒せたりとスキルを上げるのも楽しみです。\nXBOX One が PS4 より先行して発売しているようで、面白いので一度プレイしてみると良いと思います。\n[\nRise of the Tomb Raider 【CEROレーティング「Z」】 ](http://www.amazon.co.jp/exec/obidos/ASIN/B014F6C4KS/nnasaki-22/)[Rise of the Tomb Raider 【CEROレーティング「Z」】](http://www.amazon.co.jp/exec/obidos/ASIN/B014F6C4KS/nnasaki-22/)- 出版社/メーカー: 日本マイクロソフト- 発売日: 2015/11/12- メディア: Video Game- この商品を含むブログ (2件) を見る\n[\nRise of the Tomb Raider 【CEROレーティング「Z」】 ](http://www.amazon.co.jp/exec/obidos/ASIN/B014F6C50W/nnasaki-22/)[Rise of the Tomb Raider 【CEROレーティング「Z」】](http://www.amazon.co.jp/exec/obidos/ASIN/B014F6C50W/nnasaki-22/)- 出版社/メーカー: 日本マイクロソフト- 発売日: 2015/11/12- メディア: Video Game- この商品を含むブログ (2件) を見る\n[\nRise of the Tomb Raider 【CEROレーティング「Z」】 【Amazon.co.jp限定】特典「アペックス プレデター パック」 付 ](http://www.amazon.co.jp/exec/obidos/ASIN/B014F6C4F8/nnasaki-22/)[Rise of the Tomb Raider 【CEROレーティング「Z」】 【Amazon.co.jp限定】特典「アペックス プレデター パック」 付](http://www.amazon.co.jp/exec/obidos/ASIN/B014F6C4F8/nnasaki-22/)- 出版社/メーカー: 日本マイクロソフト- 発売日: 2015/11/12- メディア: Video Game- この商品を含むブログ (2件) を見る\n","permalink":"/entry/2015/11/25/160419/","summary":"\u003cp\u003eRise of the Tomb Raider をクリアしました。プレイ時間は20時間ぐらい。\u003c/p\u003e\n\u003cp\u003eトゥームレイダーは初めてプレイしたんですが、面白かったです。\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003cp\u003e美しいグラフィック。金の質感とかやばいです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151125/20151125155343.png\" alt=\"f:id:nnasaki:20151125155343p:plain\" title=\"f:id:nnasaki:20151125155343p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151125155343p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e氷と雪の質感も良い感じ。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151125/20151125155406.png\" alt=\"f:id:nnasaki:20151125155406p:plain\" title=\"f:id:nnasaki:20151125155406p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151125155406p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e操作は最初はジャンプぐらいで、徐々にいろいろ増えていきます。特にむつかしいとは感じませんでした。\u003c/p\u003e\n\u003cp\u003e不満点はたまに理不尽な落下で死にます。どうも、マップ上行っちゃ行けないところは即死扱いなのでちょっとそこだけ残念です。といってもリスタートは数秒でチェックポイントから始まるのでそれほどストレスではないですね。\u003c/p\u003e\n\u003cp\u003e武器も弓はスキルがあがると3人までロックオンして同時に倒せたりとスキルを上げるのも楽しみです。\u003c/p\u003e\n\u003cp\u003eXBOX One が PS4 より先行して発売しているようで、面白いので一度プレイしてみると良いと思います。\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://ecx.images-amazon.com/images/I/5121bQsVDDL._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"Rise of the Tomb Raider 【CEROレーティング「Z」】\" title=\"Rise of the Tomb Raider 【CEROレーティング「Z」】\"\u003e\u003cfigcaption\u003eRise of the Tomb Raider 【CEROレーティング「Z」】\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B014F6C4KS/nnasaki-22/)%5BRise\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B014F6C4KS/nnasaki-22/)[Rise\u003c/a\u003e of the Tomb Raider 【CEROレーティング「Z」】](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B014F6C4KS/nnasaki-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B014F6C4KS/nnasaki-22/)-\u003c/a\u003e 出版社/メーカー: 日本マイクロソフト- 発売日: 2015/11/12- メディア: Video Game- \u003ca href=\"http://d.hatena.ne.jp/asin/B014F6C4KS/nnasaki-22\"\u003eこの商品を含むブログ (2件) を見る\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://ecx.images-amazon.com/images/I/51OIj4aAPEL._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"Rise of the Tomb Raider 【CEROレーティング「Z」】\" title=\"Rise of the Tomb Raider 【CEROレーティング「Z」】\"\u003e\u003cfigcaption\u003eRise of the Tomb Raider 【CEROレーティング「Z」】\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B014F6C50W/nnasaki-22/)%5BRise\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B014F6C50W/nnasaki-22/)[Rise\u003c/a\u003e of the Tomb Raider 【CEROレーティング「Z」】](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B014F6C50W/nnasaki-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B014F6C50W/nnasaki-22/)-\u003c/a\u003e 出版社/メーカー: 日本マイクロソフト- 発売日: 2015/11/12- メディア: Video Game- \u003ca href=\"http://d.hatena.ne.jp/asin/B014F6C50W/nnasaki-22\"\u003eこの商品を含むブログ (2件) を見る\u003c/a\u003e\u003c/p\u003e","title":"Rise of the Tomb Raider をクリアした"},{"content":"Azure Service Fabric が Public Preview となりました！以前はローカルのSDKのみ提供されていましたが、なんと Azure へデプロイできるようになりました！\nEXTENDED BODY:\nそもそも Service Fabric ってなんだっていうのは過去記事を見てください。\nblog.nnasaki.com\nblog.nnasaki.com\nさて、早速次のチュートリアルを試してみました。実際動作するサンプルは http://aka.ms/tryservicefabric で確認できます。\nf:id:nnasaki:20151120134434p:plain Service Fabric Enters Public Preview - Azure Service Fabric Team Blog - Site Home - MSDN Blogs\n準備 Visual Studio 2015 以前は英語版じゃ無いと動かないとかあったけど、日本語版でOKでした\n新しい Service Fabric のSDK http://www.microsoft.com/web/handlers/webpi.ashx?command=getinstallerredirect\u0026amp;appid=MicrosoftAzure-ServiceFabric から WebPI を使ってインストールします\nサンプルコード Azure-Samples/service-fabric-dotnet-management-party-cluster · GitHub\nローカルでの実行手順 サンプルコードを Visual Studio で開く 単純にソリューションを開きます。\nf:id:nnasaki:20151120151942p:plain 実行する F5かStartを押して実行します。\nf:id:nnasaki:20151120152048p:plain 注意その１\nVisual Studio を管理者モードで起動しないと、Service Fabric のエミュレーターが立ち上がらずエラーとなったり、\nf:id:nnasaki:20151120144631p:plain もうひとつ\n注意その２\nWeb の待ち受けポートが80固定です。他のアプリで使用していると次のようなエラーで起動できません。私の場合、Skypeが邪魔していました。Skypeの設定は Skype がポート 80 と 443 を使用しないようにする - nnasakiのブログ を参照してください。\nf:id:nnasaki:20151120151709p:plain System.Reflection.TargetInvocationException はユーザー コードによってハンドルされませんでした。 HResult=-2146232828 Message=呼び出しのターゲットが例外をスローしました。 Source=mscorlib StackTrace: 場所 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) 場所 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) 場所 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) 場所 Microsoft.Owin.Hosting.ServerFactory.ServerFactoryAdapter.Create(IAppBuilder builder) 場所 Microsoft.Owin.Hosting.Engine.HostingEngine.Start(StartContext context) 場所 Microsoft.Owin.Hosting.WebApp.Start(String url, Action`1 startup) 場所 WebService.OwinCommunicationListener.OpenAsync(CancellationToken cancellationToken) 場所 C:\\Users\\nnasaki\\Source\\Repos\\service-fabric-dotnet-management-party-cluster\\PartyCluster\\WebService\\OwinCommunicationListener.cs:行 45 場所 Microsoft.ServiceFabric.Services.Runtime.StatelessServiceBase.\u0026lt;OpenCommunicationListenersAsync\u0026gt;d__a.MoveNext() InnerException: ErrorCode=32 HResult=-2147467259 Message=プロセスはファイルにアクセスできません。別のプロセスが使用中です。 NativeErrorCode=32 Source=System StackTrace: 場所 System.Net.HttpListener.AddAllPrefixes() 場所 System.Net.HttpListener.Start() 場所 Microsoft.Owin.Host.HttpListener.OwinHttpListener.Start(HttpListener listener, Func`2 appFunc, IList`1 addresses, IDictionary`2 capabilities, Func`2 loggerFactory) 場所 Microsoft.Owin.Host.HttpListener.OwinServerFactory.Create(Func`2 app, IDictionary`2 properties) InnerException: 確認する http://localhost/ にアクセスする ブラウザに表示されました。\nf:id:nnasaki:20151120153109p:plain Party now!をクリックしてフォームに記入してSubmitすると\nf:id:nnasaki:20151120153229p:plain f:id:nnasaki:20151120153318p:plain Users が増えていますね。\nf:id:nnasaki:20151120153401p:plain どうやって動いているの？ Web-based Service Fabric Explorer で確認できます。タスクトレイ次のアイコンを右クリックして「Manage Local Cluster」をクリックします。\nf:id:nnasaki:20151120153549p:plain するとブラウザで表示されます。かっこよくなった！\nf:id:nnasaki:20151120153701p:plain ノード5個で動いています。\nf:id:nnasaki:20151120153955p:plain 試しにノード1個落としてみても、無停止で動作し続けることを確認できます。アニメGIFにしてみました。\nAzure Service Fabric Demo まとめ サンプルはこんな感じでサクッと動きます。次回は Azure にデプロイします。\n余談 実は公開直後サンプルはビルドエラーが出てたので、最速プルリクをキメてやりました。\ngithub.com\n参考リンク Service Fabric Enters Public Preview - Azure Service Fabric Team Blog - Site Home - MSDN Blogs Microsoft Connect(); 2015 Day 1 (Azure Updateもあるよ) | ブチザッキ https://azure.microsoft.com/en-us/documentation/learning-paths/service-fabric/ ","permalink":"/entry/2015/11/20/172256/","summary":"\u003cp\u003eAzure Service Fabric が Public Preview となりました！以前はローカルのSDKのみ提供されていましたが、なんと Azure へデプロイできるようになりました！\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003cp\u003eそもそも Service Fabric ってなんだっていうのは過去記事を見てください。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2015/05/03/202605\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2015/04/30/145025\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eさて、早速次のチュートリアルを試してみました。実際動作するサンプルは \u003ca href=\"http://aka.ms/tryservicefabric\"\u003ehttp://aka.ms/tryservicefabric\u003c/a\u003e で確認できます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151120/20151120134434.png\" alt=\"f:id:nnasaki:20151120134434p:plain\" title=\"f:id:nnasaki:20151120134434p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151120134434p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"http://blogs.msdn.com/b/azureservicefabric/archive/2015/11/18/service-fabric-enters-public-preview.aspx\"\u003eService Fabric Enters Public Preview - Azure Service Fabric Team Blog - Site Home - MSDN Blogs\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"準備\"\u003e準備\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eVisual Studio 2015\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e以前は英語版じゃ無いと動かないとかあったけど、日本語版でOKでした\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e新しい Service Fabric のSDK\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://www.microsoft.com/web/handlers/webpi.ashx?command=getinstallerredirect\u0026amp;appid=MicrosoftAzure-ServiceFabric\"\u003ehttp://www.microsoft.com/web/handlers/webpi.ashx?command=getinstallerredirect\u0026amp;appid=MicrosoftAzure-ServiceFabric\u003c/a\u003e から WebPI を使ってインストールします\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eサンプルコード\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/Azure-Samples/service-fabric-dotnet-management-party-cluster\"\u003eAzure-Samples/service-fabric-dotnet-management-party-cluster · GitHub\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"ローカルでの実行手順\"\u003eローカルでの実行手順\u003c/h3\u003e\n\u003ch4 id=\"サンプルコードを-visual-studio-で開く\"\u003eサンプルコードを Visual Studio で開く\u003c/h4\u003e\n\u003cp\u003e単純にソリューションを開きます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151120/20151120151942.png\" alt=\"f:id:nnasaki:20151120151942p:plain\" title=\"f:id:nnasaki:20151120151942p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151120151942p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch4 id=\"実行する\"\u003e実行する\u003c/h4\u003e\n\u003cp\u003eF5かStartを押して実行します。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151120/20151120152048.png\" alt=\"f:id:nnasaki:20151120152048p:plain\" title=\"f:id:nnasaki:20151120152048p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151120152048p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cblockquote\u003e\n\u003cp\u003e注意その１\u003c/p\u003e\n\u003cp\u003eVisual Studio を管理者モードで起動しないと、Service Fabric のエミュレーターが立ち上がらずエラーとなったり、\u003c/p\u003e","title":"Azure Service Fabric Public Preview を試してみました"},{"content":"Skype はデフォルトでポート 80 と 443 を使用します。それを無効にする設定を紹介します。Web系の開発時にポート80はよく使うので不便ですので、ご活用ください。特に Windows 10 は Skype の統合がされて、起動している人も多いので注意が必要です。\n手順 Skype の設定を開きます。\nf:id:nnasaki:20151120151139p:plain 設定の詳細の接続を選び、「追加の受信接続にポート80と443を使用」のチェックを外す。\nf:id:nnasaki:20151120151236p:plain 参考リンク support.skype.com\n","permalink":"/entry/2015/11/20/151532/","summary":"\u003cp\u003eSkype はデフォルトでポート 80 と 443 を使用します。それを無効にする設定を紹介します。Web系の開発時にポート80はよく使うので不便ですので、ご活用ください。特に Windows 10 は Skype の統合がされて、起動している人も多いので注意が必要です。\u003c/p\u003e\n\u003ch3 id=\"手順\"\u003e手順\u003c/h3\u003e\n\u003cp\u003eSkype の設定を開きます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151120/20151120151139.png\" alt=\"f:id:nnasaki:20151120151139p:plain\" title=\"f:id:nnasaki:20151120151139p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151120151139p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e設定の詳細の接続を選び、「追加の受信接続にポート80と443を使用」の\u003cstrong\u003eチェックを外す\u003c/strong\u003e。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151120/20151120151236.png\" alt=\"f:id:nnasaki:20151120151236p:plain\" title=\"f:id:nnasaki:20151120151236p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151120151236p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"参考リンク\"\u003e参考リンク\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://support.skype.com/ja/faq/FA148/\"\u003esupport.skype.com\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"Skype がポート 80 と 443 を使用しないようにする"},{"content":"f:id:nnasaki:20151119134209p:plain Connect(); で ASP.NET 5 RC がアナウンスされましたので軽く触ってみました。 動かすだけなら5分で出来ます。\nセットアップ Installing ASP.NET 5 On Mac OS X — ASP.NET 0.0.1 documentation の通りやっていく。\nterminal から叩くコマンドは2行だけ\ncurl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh \u0026amp;\u0026amp; source ~/.dnx/dnvm/dnvm.sh dnvm upgrade -r coreclr 実行結果はこんな感じ。\n➜ ~ curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh \u0026amp;\u0026amp; source ~/.dnx/dnvm/dnvm.sh Downloading dnvm as script to \u0026#39;/Users/nnasaki/.dnx/dnvm\u0026#39; Appending source string to /Users/nnasaki/.bash_profile Appending source string to /Users/nnasaki/.zshrc Type \u0026#39;source /Users/nnasaki/.dnx/dnvm/dnvm.sh\u0026#39; to start using dnvm ➜ ~ dnvm upgrade -r coreclr Determining latest version Latest version is 1.0.0-rc1-final Downloading dnx-coreclr-darwin-x64.1.0.0-rc1-final from https://www.nuget.org/api/v2 Download: https://www.nuget.org/api/v2/package/dnx-coreclr-darwin-x64/1.0.0-rc1-final ######################################################################## 100.0% Installing to /Users/nnasaki/.dnx/runtimes/dnx-coreclr-darwin-x64.1.0.0-rc1-final Adding /Users/nnasaki/.dnx/runtimes/dnx-coreclr-darwin-x64.1.0.0-rc1-final/bin to process PATH Setting alias \u0026#39;default\u0026#39; to \u0026#39;dnx-coreclr-darwin-x64.1.0.0-rc1-final\u0026#39; クイックスタートアップ Your First ASP.NET 5 Application on a Mac — ASP.NET 0.0.1 documentation\n1. Yeoman のインストール npm install --global yo 2. Yoeman でひな形作成 yo aspnet Empty Application を選択。そのままEnter, Enter\nf:id:nnasaki:20151119132755p:plain 3. パッケージの復元 dnu restore 4. 実行 dnx web サンプルだと dnx kestrel ってなっているけど、 RC では違うみたいなので注意。 project.json の commands に書いてあるコマンドが実行出来る。今回のサンプルは次のようになってたので dnx web が実行出来る。\nf:id:nnasaki:20151119133229p:plain 5. 確認 ブラウザでアクセスできることを確認。\nf:id:nnasaki:20151119133407p:plain まとめ dnvm を入れるぐらいで環境が汚れず、サクッとできるので皆さんも試してみると良いかと。 Visual Studio Code での編集もしやすいので、大分お手軽感ありました。\n","permalink":"/entry/2015/11/19/134321/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151119/20151119134209.png\" alt=\"f:id:nnasaki:20151119134209p:plain\" title=\"f:id:nnasaki:20151119134209p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151119134209p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eConnect(); で ASP.NET 5 RC がアナウンスされましたので軽く触ってみました。\n動かすだけなら5分で出来ます。\u003c/p\u003e\n\u003ch3 id=\"セットアップ\"\u003eセットアップ\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://docs.asp.net/en/latest/getting-started/installing-on-mac.html\"\u003eInstalling ASP.NET 5 On Mac OS X — ASP.NET 0.0.1 documentation\u003c/a\u003e の通りやっていく。\u003c/p\u003e\n\u003cp\u003eterminal から叩くコマンドは2行だけ\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003ecurl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh \u0026amp;\u0026amp; source ~/.dnx/dnvm/dnvm.sh\n\u003c/code\u003e\u003c/pre\u003e\u003cpre tabindex=\"0\"\u003e\u003ccode\u003ednvm upgrade -r coreclr\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e実行結果はこんな感じ。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e➜  ~  curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh \u0026amp;\u0026amp; source ~/.dnx/dnvm/dnvm.sh\nDownloading dnvm as script to \u0026#39;/Users/nnasaki/.dnx/dnvm\u0026#39;\n\nAppending source string to /Users/nnasaki/.bash_profile\nAppending source string to /Users/nnasaki/.zshrc\nType \u0026#39;source /Users/nnasaki/.dnx/dnvm/dnvm.sh\u0026#39; to start using dnvm\n\n➜  ~  dnvm upgrade -r coreclr\nDetermining latest version\nLatest version is 1.0.0-rc1-final \nDownloading dnx-coreclr-darwin-x64.1.0.0-rc1-final from https://www.nuget.org/api/v2\nDownload: https://www.nuget.org/api/v2/package/dnx-coreclr-darwin-x64/1.0.0-rc1-final\n######################################################################## 100.0%\nInstalling to /Users/nnasaki/.dnx/runtimes/dnx-coreclr-darwin-x64.1.0.0-rc1-final\nAdding /Users/nnasaki/.dnx/runtimes/dnx-coreclr-darwin-x64.1.0.0-rc1-final/bin to process PATH\nSetting alias \u0026#39;default\u0026#39; to \u0026#39;dnx-coreclr-darwin-x64.1.0.0-rc1-final\u0026#39;\n\u003c/code\u003e\u003c/pre\u003e\u003ch3 id=\"クイックスタートアップ\"\u003eクイックスタートアップ\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://docs.asp.net/en/latest/tutorials/your-first-mac-aspnet.html\"\u003eYour First ASP.NET 5 Application on a Mac — ASP.NET 0.0.1 documentation\u003c/a\u003e\u003c/p\u003e","title":"Installing ASP.NET 5 RC On Mac OS X を試したよ"},{"content":"Halo 5: Guardians をプレイしました。\nf:id:nnasaki:20151118194033p:plain Helo はプレイしたことなくてストーリーがさっぱりなんですが、キャンペーン結構楽しめます。\nf:id:nnasaki:20151118194208p:plain こんな感じで画面もめっちゃ綺麗です。ちなみに Windows 10 のストリーミングプレイでまったく問題無く、ラグもほとんど感じずプレイできます。\n武器もある程度追尾してくれるので、動く敵にも当たりやすい感じでした。\n他のHaloシリーズはやったこと無いので比較は出来ませんが、BattleFieldやCallOfDuty等と比べるとSFチックなスポーツ系に仕上がっています。わりとカジュアルにプレイできるので、気軽にプレイすると良いと思います。\n1つだけ注意しなければならないのは、5から始めると以前のストーリー気になるので、他のHaloシリーズもプレイしたくなってしまい、時間泥棒なところです…\n[\nHalo 5: Guardians ](http://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0TQY/nnasaki-22/)[Halo 5: Guardians](http://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0TQY/nnasaki-22/)- 出版社/メーカー: 日本マイクロソフト- 発売日: 2015/10/29- メディア: Video Game- この商品を含むブログ (2件) を見る\n[\n【Amazon.co.jp限定】Halo 5: Guardians リミテッド コレクターズ エディション 予約特典【リコン マークスマンライフル \u0026 クラッシュ マークスマンライフル スキン】\u0026Amazon.co.jp限定特典【センチネル バトルライフル \u0026 ブラッドサースト バトルライフル スキン】 付 ](http://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0THI/nnasaki-22/)[【Amazon.co.jp限定】Halo 5: Guardians リミテッド コレクターズ エディション 予約特典【リコン マークスマンライフル \u0026amp; クラッシュ マークスマンライフル スキン】\u0026amp;Amazon.co.jp限定特典【センチネル バトルライフル \u0026amp; ブラッドサースト バトルライフル スキン】 付](http://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0THI/nnasaki-22/)- 出版社/メーカー: 日本マイクロソフト- 発売日: 2015/10/22- メディア: Video Game- この商品を含むブログを見る\n[\nXbox One 1TB 『Halo 5: Guardians』 リミテッド エディション (KF6-00016) (予約特典【リコン マークスマンライフル \u0026 クラッシュ マークスマンライフル スキン】付き) 【メーカー生産終了】 ](http://www.amazon.co.jp/exec/obidos/ASIN/B015YW3RMQ/nnasaki-22/)[Xbox One 1TB 『Halo 5: Guardians』 リミテッド エディション (KF6-00016) (予約特典【リコン マークスマンライフル \u0026amp; クラッシュ マークスマンライフル スキン】付き) 【メーカー生産終了】](http://www.amazon.co.jp/exec/obidos/ASIN/B015YW3RMQ/nnasaki-22/)- 出版社/メーカー: 日本マイクロソフト- 発売日: 2015/10/22- メディア: Video Game- この商品を含むブログを見る\n","permalink":"/entry/2015/11/19/134141/","summary":"\u003cp\u003eHalo 5: Guardians をプレイしました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151118/20151118194033.png\" alt=\"f:id:nnasaki:20151118194033p:plain\" title=\"f:id:nnasaki:20151118194033p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151118194033p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eHelo はプレイしたことなくてストーリーがさっぱりなんですが、キャンペーン結構楽しめます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151118/20151118194208.png\" alt=\"f:id:nnasaki:20151118194208p:plain\" title=\"f:id:nnasaki:20151118194208p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151118194208p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eこんな感じで画面もめっちゃ綺麗です。ちなみに Windows 10 のストリーミングプレイでまったく問題無く、ラグもほとんど感じずプレイできます。\u003c/p\u003e\n\u003cp\u003e武器もある程度追尾してくれるので、動く敵にも当たりやすい感じでした。\u003c/p\u003e\n\u003cp\u003e他のHaloシリーズはやったこと無いので比較は出来ませんが、BattleFieldやCallOfDuty等と比べるとSFチックなスポーツ系に仕上がっています。わりとカジュアルにプレイできるので、気軽にプレイすると良いと思います。\u003c/p\u003e\n\u003cp\u003e1つだけ注意しなければならないのは、5から始めると以前のストーリー気になるので、他のHaloシリーズもプレイしたくなってしまい、時間泥棒なところです…\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://ecx.images-amazon.com/images/I/51oukn6cWvL._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"Halo 5: Guardians\" title=\"Halo 5: Guardians\"\u003e\u003cfigcaption\u003eHalo 5: Guardians\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0TQY/nnasaki-22/)%5BHalo\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0TQY/nnasaki-22/)[Halo\u003c/a\u003e 5: Guardians](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0TQY/nnasaki-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0TQY/nnasaki-22/)-\u003c/a\u003e 出版社/メーカー: 日本マイクロソフト- 発売日: 2015/10/29- メディア: Video Game- \u003ca href=\"http://d.hatena.ne.jp/asin/B00ZQA0TQY/nnasaki-22\"\u003eこの商品を含むブログ (2件) を見る\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://ecx.images-amazon.com/images/I/51YonUZlnEL._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"【Amazon.co.jp限定】Halo 5: Guardians リミテッド コレクターズ エディション 予約特典【リコン マークスマンライフル \u0026 クラッシュ マークスマンライフル スキン】\u0026Amazon.co.jp限定特典【センチネル バトルライフル \u0026 ブラッドサースト バトルライフル スキン】 付\" title=\"【Amazon.co.jp限定】Halo 5: Guardians リミテッド コレクターズ エディション 予約特典【リコン マークスマンライフル \u0026 クラッシュ マークスマンライフル スキン】\u0026Amazon.co.jp限定特典【センチネル バトルライフル \u0026 ブラッドサースト バトルライフル スキン】 付\"\u003e\u003cfigcaption\u003e【Amazon.co.jp限定】Halo 5: Guardians リミテッド コレクターズ エディション 予約特典【リコン マークスマンライフル \u0026 クラッシュ マークスマンライフル スキン】\u0026Amazon.co.jp限定特典【センチネル バトルライフル \u0026 ブラッドサースト バトルライフル スキン】 付\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0THI/nnasaki-22/)%5B\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0THI/nnasaki-22/)[\u003c/a\u003e【Amazon.co.jp限定】Halo 5: Guardians リミテッド コレクターズ エディション 予約特典【リコン マークスマンライフル \u0026amp; クラッシュ マークスマンライフル スキン】\u0026amp;Amazon.co.jp限定特典【センチネル バトルライフル \u0026amp; ブラッドサースト バトルライフル スキン】 付](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0THI/nnasaki-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0THI/nnasaki-22/)-\u003c/a\u003e 出版社/メーカー: 日本マイクロソフト- 発売日: 2015/10/22- メディア: Video Game- \u003ca href=\"http://d.hatena.ne.jp/asin/B00ZQA0THI/nnasaki-22\"\u003eこの商品を含むブログを見る\u003c/a\u003e\u003c/p\u003e","title":"Halo 5: Guardians をプレイした"},{"content":"f:id:nnasaki:20151116115245p:plain タイトルの通り Mac や Linux でも GUI で Azure ストレージ を扱えるようになりました。下記のリンク先からダウンロード出来ます。\nAzure Storage Explorer (Cross-Platform)\n以前、 Azure の ストレージエクスプローラー (Storage Explorer) は Windows 用しかなく、 Mac からは REST API を使ったり、 Cyber Duck 等の別なアプリを使う必要がありましたが、格段に便利になりましたね。\nただし、 blob のみ対応して居るみたいで、 Table や Queue は未対応のようです。\nちょっとしたファイルアップロードやダウンロードに便利に使えます。\n","permalink":"/entry/2015/11/16/115331/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151116/20151116115245.png\" alt=\"f:id:nnasaki:20151116115245p:plain\" title=\"f:id:nnasaki:20151116115245p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151116115245p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eタイトルの通り Mac や Linux でも GUI で Azure ストレージ を扱えるようになりました。下記のリンク先からダウンロード出来ます。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://storageexplorer.com/\"\u003eAzure Storage Explorer (Cross-Platform)\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e以前、 Azure の ストレージエクスプローラー (Storage Explorer) は Windows 用しかなく、 Mac からは REST API を使ったり、 Cyber Duck 等の別なアプリを使う必要がありましたが、格段に便利になりましたね。\u003c/p\u003e\n\u003cp\u003eただし、 blob のみ対応して居るみたいで、 Table や Queue は未対応のようです。\u003c/p\u003e\n\u003cp\u003eちょっとしたファイルアップロードやダウンロードに便利に使えます。\u003c/p\u003e\n\u003chr\u003e","title":"Mac や Linux でも使えるクロスプラットフォームな Azure ストレージエクスプローラー"},{"content":"MVP Global Summit とは MVP Global Summit を参照してください。英語なので簡単に言うと全世界のMVPがアメリカシアトルのレドモンドにあるマイクロソフト本社に集結するイベントです。ただ集まるだけでは無く、開発者や他のMVPとの交流・フィードバックを直接行えるまたとない機会です。交通費は自腹ですが、宿泊費はマイクロソフト社が負担してくれます。\n今回も参加して本当に良かったと思います。自分が普段思っていることをフィードバックしたり他の国のMVPと交流を深めたり、本当に良い１週間でした。残念ながらNDAの関係上話せないことが多いのですが、旅の思い出を綴っていきたいと思います。\n出国で別室に連れて行かれる ANAで予約したのですが、「オンラインチェックインに失敗しました。」というメールがまず届く。しかし、まったく同じ旅程の @bonprosoft 氏はオンラインチェックインは成功している。\nEXTENDED BODY:\n仙台から成田の国内線に乗って、再び成田のチェックインカウンターでチェックインし直す。チョー面倒くさい。\n出国審査を事なき無く終えて、出国エリアで両替とかぶらぶらして、搭乗時刻になったので搭乗ゲートに向かう。バーコードを読み込ませると、何かエラーのような音がして、別室に連れて行かれる。\n靴を脱がされ、手と靴をなにやら白い紙で撫でられて、機械で検査される。初めての経験でなにやら戸惑いましたらが、どうやらランダムで検査しているらしい。いらんところでくじ運使ってしまった…\n**ゲート通過後別室で靴脱がされて手のひらを検査された。immigrationとおるか不安— YAMAMOTO Masaki (@nnasaki) 2015, 10月 30\nドヤ顔で ぼんぷろおじさん とフライト\nf:id:nnasaki:20151110234802j:plain f:id:nnasaki:20151110234809j:plain 機内に無料Wi-fiがあったのでお空から Azure Web Apps にデプロイｗ\nf:id:nnasaki:20151110234913j:plain http://feet37000.azurewebsites.net/\n入国はどうかすごい心配だったけど、昨年入国出来ていたのでAPCという自動チェックイン機械(日本語選べる)で楽勝でした。\nimmigrationはAPCですんなり— YAMAMOTO Masaki (@nnasaki) 2015, 10月 30\nシカゴの友人宅に滞在 グロサミに行く前にシカゴの友人宅に滞在しました。 シカゴピザ のお店で堪能する。ピザというより、チーズと肉の塊。\nシカゴダウンタウンにつれて行ってもらう。あいにくの雨。ユニクロがオープンしてた。去年、タダで上れた ジョン・ハンコック・センター のエレベーターが ID 必須、21未満は上れないとなってしまい断念。(ID 所持していなかった)\n本場のコストコに連れて行ってもらう。家電安い。肉がでかい安い。ケーキの試食が一杯ある。本も売ってる。 Picturepedia という図鑑を子供と自分向けに買いました。英語の勉強に。\n[\nPicturepedia ](http://www.amazon.co.jp/exec/obidos/ASIN/1465438289/hatena-blog-22/)[Picturepedia](http://www.amazon.co.jp/exec/obidos/ASIN/1465438289/hatena-blog-22/)- 作者: DK Publishing- 出版社/メーカー: DK Children- 発売日: 2015/10/06- メディア: ハードカバー- この商品を含むブログを見る\n肉は3ポンドステーキ４つを購入。$50ぐらい。家に帰って調理してもらったけどチョーうまかった。多分レストランで食べると1枚だけで $50 以上すると思う。\nf:id:nnasaki:20151110235210j:plain f:id:nnasaki:20151110235220j:plain 本場のハロウィンを体験。ハロウィンって子供が仮装して遊びに行くだけじゃ無くて、自分の家にも来るので、家にもだれか留守番していなくちゃいけない。ハロウィンの仮装する時間は大体18:30ぐらいまでって決まっているらしい。今回は、留守番役をやって、ピンポーンと鳴ったら鍵を開けてお菓子の入ったボールを差し出す係をやった。このとき時差ぼけの眠気がピークで大分つらかったけど面白かった。ちゃんと仮装している子もいれば、まったく仮装せずお菓子をわしづかみで取っていく子など、様々ですな。\nバーに行ったら、ウェイターもハロウィン仮装していた。 アメリカは州によって違うかもしれないけど、21歳未満はお酒が飲めない。 @bonprosoft 君がソフトドリンクを注文した後にIDの提示を求められた。もし、アルコール注文していたらどうなっていただろう？ちょっと冷やっとした。\nシカゴ地ビールの GOOSE IPA ガツンとくる。\nf:id:nnasaki:20151110235238j:plain その他、21歳未満はカジノやストリップもダメ。ちなみにストリップは向こうでは割とカジュアルに接待とかに使うらしい。\nシアトルに滞在 シカゴを離れて、グロサミに参加すべくシアトルにフライト。シカゴからシアトルは4時間ぐらいなんだけど、Unitedはシートが良くないのか、すぐにおしりが痛くなる。あと、国内機は本当に狭い。日本だとピーチとかそういうレベル。\nシアトルに着くとやっぱり雨だった。public なバスに乗ってベルビューに向かうと、バスの中でもMVPな会話がいろいろ聞こえてきた。\nずっと雨 pic.twitter.com/PE4C5q8PUB— YAMAMOTO Masaki (@nnasaki) 2015, 11月 2\nレジストレーションを済ませ、ホテルにチェックインした。おなかが減ったので、 Azure Japan MVP と合流し McCormick \u0026amp; Schmick\u0026rsquo;s Seafood \u0026amp; Steaks でご飯を食べる。ちなみに McCormick は滞在中に合計3回行ったのであったのだ…\n美味しいんだけど、三回もいくとさすがにメニューも飽きて…\nf:id:nnasaki:20151110235348j:plain f:id:nnasaki:20151110235356j:plain f:id:nnasaki:20151110235405j:plain f:id:nnasaki:20151110235637j:plain セッション内容はNDAなので話せませんが会場の外は写せるのでその写真をチラリ。\nf:id:nnasaki:20151111002001j:plain f:id:nnasaki:20151111002006j:plain ぼんぷろおじさんの睡眠が酷かった。いびきがとかそう言うのじゃ無くて、ちゃんとベッドで寝ないｗ\nぼんぷろおじさんがたまに寝ながら唸ってる。— YAMAMOTO Masaki (@nnasaki) 2015, 11月 3\nおじさんシカゴでは自分がキリングされる夢を一晩で三回見たって言ってた。病んでるので優しくして上げてください。— YAMAMOTO Masaki (@nnasaki) 2015, 11月 3\nぼんぷろおじさんがベッドでちゃんと寝てるのみたことあったかな…— YAMAMOTO Masaki (@nnasaki) 2015, 11月 6\n@Grabacr07 昨晩はおたのしみでしたね。 今もソファーで寝てる… 隣が布団なのになぜ…— YAMAMOTO Masaki (@nnasaki) 2015, 11月 6\n写真撮っておけば良かった。ホテルのドア開けて、そろそろ起こすかーと思ったら上半身裸で寝っ転がっていた。その前の日はベッドの横のソファーで寝てたり— YAMAMOTO Masaki (@nnasaki) 2015, 11月 8\nぼんぷろおじさんとは対照的に熟睡する人達。なんで私の部屋がたまり場に…\nf:id:nnasaki:20151111000429j:plain f:id:nnasaki:20151111000434j:plain f:id:nnasaki:20151111000438j:plain f:id:nnasaki:20151111000444j:plain Azure 界の No.1 こと こすもすえび RD ことブチザッキ が寒いというので、一応持ってきて余っていた去年のMVPジャケットを届ける\nところで、 @kosmosebi パーカー要ります？昨年のジャケット余ってるよ。— YAMAMOTO Masaki (@nnasaki) 2015, 11月 3\nNo1にジャケット届けるだけの簡単なお仕事— YAMAMOTO Masaki (@nnasaki) 2015, 11月 3\n大変ご満足いただけたようです。\nうわぁやまさのパーカーあったかいなりぃ— こすもす.えび (@kosmosebi) 2015, 11月 3\nそしてジャケットを売るなりー。**\nNo.1に5日間貸してたの匂いつきのジャケットなりー。 pic.twitter.com/nkb8vNFLtM— YAMAMOTO Masaki (@nnasaki) 2015, 11月 6\nこんな感じで大変喜んでいただけました。\nf:id:nnasaki:20151110225105p:plain Azure ラジオ をアメリカから配信する。ホテルに集まってわいわいガヤガヤな感じでした。\nradio.azure.moe\nAzureラジオをアメリカから配信中 https://t.co/9QF3E0DKAQ #jazug— YAMAMOTO Masaki (@nnasaki) 2015, 11月 5\n夜のイベントにて、本社の開発者の人にいろいろフィードバック。詳しくはこれも書けないんだろうけど、ちゃんと真摯に聞いてくれる。\n謎の「シアトルチャレンジ」で徹夜。フラフラ。何故かぼんぷろ氏も参加していたので、途中でホテルに帰す。床に座って寝だしていたので…\nぼんぷろおじさん、surface book 買う気になったものの買い逃す。カード枠 $4000 ぐらいまで上げたんですけどね。\nbook 買いたい人に金利手数料無料でかって上げるだけの簡単なお仕事— YAMAMOTO Masaki (@nnasaki) 2015, 11月 7\nそういや11/6午前中に surface book あったのに、セッション終わって夕方に確認したら、無くなってしまったときのぼんぷろ先生の顔 #写真にとっておけば良かった— YAMAMOTO Masaki (@nnasaki) 2015, 11月 8\nベルビュースクエアにユニクロがオープンしていました。\nf:id:nnasaki:20151111001052j:plain f:id:nnasaki:20151111001058j:plain f:id:nnasaki:20151111001103j:plain ゲームショップにスプラトゥーンのamiibo3体セットがあったので買いました。お土産にたくさん買おうと思ったら、店員に「オンリーワン」と言われたので一つのみです。\nf:id:nnasaki:20151111001134j:plain 最終日は寿司を食す。いろいろ頼んで結構な金額になったなぁ。Uber超便利。\nf:id:nnasaki:20151111000708j:plain 日本食とか全然恋しくないですね pic.twitter.com/4X92EM3u0s— YAMAMOTO Masaki (@nnasaki) 2015, 11月 7\nシアトル7:10発のサンフランシスコ経由で帰りました。朝は4時起きで辛かったので、来年は12時ぐらいの便で帰るようにしたいと思います。\n美味しいと評判の I\u0026rsquo;vers のクラムチャウダーを食べました。確かに他のクラムチャウダーより美味しかったです。\nf:id:nnasaki:20151111001531j:plain サンフランシスコはカラッとしてた。\nf:id:nnasaki:20151111001543j:plain 後日談 OSMO 子供にめっちゃ人気。マリオより遊んでる。\nwww.playosmo.com\n日本のMVPたちが surface book を爆買いしたそうです。ラスト１が何個あったことやらｗ\ntogetter.com\n英語は去年より若干マシにはなったもののまだまだ。本場の人は早くて、ゆっくり言ってもらわないと聞き取れないことがほとんど。今回覚えたのは、「You can 〜」の使い方。例えば、列に並んでてメニュー迷っているときに、後ろの人に列を譲る場合「You can go ahead.」で良い。Should you とか Do you mind とかでも無いので、なんて言えば良いかなぁと思ったらスッキリした。 go ahead 自体もスライドのページめくってとか、同意を示すときとか色々使い出がある感じ。\nあとは「頷き」ですね「a-ha」以外にも interesting, absolutely, i think so, cool 当たりが使いやすい。そうは思わないって時は i don\u0026rsquo;t think so. かな\n発音は重要じゃ無いという意見もありますが、僕は重要だと思った。まずＬとＲがはっきりしないと、latencyやprotocolが聞き取ってもらえない。単語すら全く理解してもらえないことがある。protocolはしゃべる人によって「ポルコォ」だったり、聞き慣れないと単語すら聞き取れず本当に辛い。\nイギリス発音はあまり受け入れられない。そもそもアメリカという国はイギリスから独立した国なので、発音が異なるというバックグラウンドがある（と考えている）。日本のカタカナはイギリス発音から生まれている（と思っている）ので、カタカナを直していかないとダメだなぁと思った。\nでも、インド人の発音とかはネイティブのそれとは大分違っているのに理解してもらえているので、後は言葉の発音より文のリズムなんだろうなぁと思った。僕がしゃべる場合は「あー・うー」と文の途中で単語が出てこなくて悩んでしまい、リズムに乗れていないので、通じにくいと思う。「Would you, Could you, Do you have \u0026hellip;」みたいな決まった文型は通じやすかった気がする。\nここら辺を意識して今後学習していかなければなと思った。\n「世界のやまさ」でとうとうGoogleトップに…\nf:id:nnasaki:20151110230755p:plain みんなにいろいろいわれても、ぼくはとてもげんきです。\nf:id:nnasaki:20151110230903p:plain f:id:nnasaki:20151110230935p:plain f:id:nnasaki:20151110231001p:plain f:id:nnasaki:20151110231036p:plain f:id:nnasaki:20151110233744p:plain f:id:nnasaki:20151110231319p:plain f:id:nnasaki:20151110233845p:plain f:id:nnasaki:20151110233925p:plain 参考リンク 雑なシアトル話 (1) | ブチザッキ\nPro4用のType CoverとPenを買った / 雑なシアトル話 (2) | ブチザッキ\n雑なシアトル話 (3) | ブチザッキ\n","permalink":"/entry/2015/11/11/002521/","summary":"\u003cp\u003eMVP Global Summit とは \u003ca href=\"https://mvp.microsoft.com/ja-jp/Summit\"\u003eMVP Global Summit\u003c/a\u003e を参照してください。英語なので簡単に言うと全世界のMVPがアメリカシアトルのレドモンドにあるマイクロソフト本社に集結するイベントです。ただ集まるだけでは無く、開発者や他のMVPとの交流・フィードバックを直接行えるまたとない機会です。交通費は自腹ですが、宿泊費はマイクロソフト社が負担してくれます。\u003c/p\u003e\n\u003cp\u003e今回も参加して本当に良かったと思います。自分が普段思っていることをフィードバックしたり他の国のMVPと交流を深めたり、本当に良い１週間でした。残念ながらNDAの関係上話せないことが多いのですが、旅の思い出を綴っていきたいと思います。\u003c/p\u003e\n\u003ch3 id=\"出国で別室に連れて行かれる\"\u003e出国で別室に連れて行かれる\u003c/h3\u003e\n\u003cp\u003eANAで予約したのですが、「オンラインチェックインに失敗しました。」というメールがまず届く。しかし、まったく同じ旅程の \u003ca href=\"https://twitter.com/bonprosoft\"\u003e@bonprosoft\u003c/a\u003e 氏はオンラインチェックインは成功している。\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003cp\u003e仙台から成田の国内線に乗って、再び成田のチェックインカウンターでチェックインし直す。チョー面倒くさい。\u003c/p\u003e\n\u003cp\u003e出国審査を事なき無く終えて、出国エリアで両替とかぶらぶらして、搭乗時刻になったので搭乗ゲートに向かう。バーコードを読み込ませると、何かエラーのような音がして、\u003cstrong\u003e別室に連れて行かれる\u003c/strong\u003e。\u003c/p\u003e\n\u003cp\u003e靴を脱がされ、手と靴をなにやら白い紙で撫でられて、機械で検査される。初めての経験でなにやら戸惑いましたらが、どうやらランダムで検査しているらしい。いらんところでくじ運使ってしまった…\u003c/p\u003e\n\u003cp\u003e**ゲート通過後別室で靴脱がされて手のひらを検査された。immigrationとおるか不安— YAMAMOTO Masaki (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/status/660006504162918401\"\u003e2015, 10月 30\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eドヤ顔で ぼんぷろおじさん とフライト\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151110/20151110234802.jpg\" alt=\"f:id:nnasaki:20151110234802j:plain\" title=\"f:id:nnasaki:20151110234802j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151110234802j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151110/20151110234809.jpg\" alt=\"f:id:nnasaki:20151110234809j:plain\" title=\"f:id:nnasaki:20151110234809j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151110234809j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e機内に無料Wi-fiがあったのでお空から Azure Web Apps にデプロイｗ\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151110/20151110234913.jpg\" alt=\"f:id:nnasaki:20151110234913j:plain\" title=\"f:id:nnasaki:20151110234913j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151110234913j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"http://feet37000.azurewebsites.net/\"\u003ehttp://feet37000.azurewebsites.net/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e入国はどうかすごい心配だったけど、昨年入国出来ていたのでAPCという自動チェックイン機械(日本語選べる)で楽勝でした。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eimmigrationはAPCですんなり— YAMAMOTO Masaki (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/status/660204483620806656\"\u003e2015, 10月 30\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003ch3 id=\"シカゴの友人宅に滞在\"\u003eシカゴの友人宅に滞在\u003c/h3\u003e\n\u003cp\u003eグロサミに行く前にシカゴの友人宅に滞在しました。 \u003ca href=\"https://www.google.co.jp/search?q=%E3%82%B7%E3%82%AB%E3%82%B4%E3%83%94%E3%82%B6\u0026amp;espv=2\u0026amp;biw=1440\u0026amp;bih=805\u0026amp;site=webhp\u0026amp;source=lnms\u0026amp;tbm=isch\u0026amp;sa=X\u0026amp;ved=0CAYQ_AUoAWoVChMI1YrLs_iFyQIVpOOmCh1cBQwC\"\u003eシカゴピザ\u003c/a\u003e のお店で堪能する。ピザというより、チーズと肉の塊。\u003c/p\u003e\n\u003cp\u003eシカゴダウンタウンにつれて行ってもらう。あいにくの雨。ユニクロがオープンしてた。去年、タダで上れた \u003ca href=\"https://ja.wikipedia.org/wiki/%E3%82%B8%E3%83%A7%E3%83%B3%E3%83%BB%E3%83%8F%E3%83%B3%E3%82%B3%E3%83%83%E3%82%AF%E3%83%BB%E3%82%BB%E3%83%B3%E3%82%BF%E3%83%BC\"\u003eジョン・ハンコック・センター\u003c/a\u003e のエレベーターが ID 必須、21未満は上れないとなってしまい断念。(ID 所持していなかった)\u003c/p\u003e\n\u003cp\u003e本場のコストコに連れて行ってもらう。家電安い。肉がでかい安い。ケーキの試食が一杯ある。本も売ってる。 \u003ca href=\"http://d.hatena.ne.jp/asin/1465438289/hatena-blog-22\"\u003ePicturepedia\u003c/a\u003e という図鑑を子供と自分向けに買いました。英語の勉強に。\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://ecx.images-amazon.com/images/I/61923NOxuyL._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"Picturepedia\" title=\"Picturepedia\"\u003e\u003cfigcaption\u003ePicturepedia\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/1465438289/hatena-blog-22/)%5BPicturepedia%5D(http://www.amazon.co.jp/exec/obidos/ASIN/1465438289/hatena-blog-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/1465438289/hatena-blog-22/)[Picturepedia](http://www.amazon.co.jp/exec/obidos/ASIN/1465438289/hatena-blog-22/)-\u003c/a\u003e 作者: DK Publishing- 出版社/メーカー: DK Children- 発売日: 2015/10/06- メディア: ハードカバー- \u003ca href=\"http://d.hatena.ne.jp/asin/1465438289/hatena-blog-22\"\u003eこの商品を含むブログを見る\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e肉は3ポンドステーキ４つを購入。$50ぐらい。家に帰って調理してもらったけどチョーうまかった。多分レストランで食べると1枚だけで $50 以上すると思う。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151110/20151110235210.jpg\" alt=\"f:id:nnasaki:20151110235210j:plain\" title=\"f:id:nnasaki:20151110235210j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151110235210j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20151110/20151110235220.jpg\" alt=\"f:id:nnasaki:20151110235220j:plain\" title=\"f:id:nnasaki:20151110235220j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20151110235220j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e本場のハロウィンを体験。ハロウィンって子供が仮装して遊びに行くだけじゃ無くて、自分の家にも来るので、家にもだれか留守番していなくちゃいけない。ハロウィンの仮装する時間は大体18:30ぐらいまでって決まっているらしい。今回は、留守番役をやって、ピンポーンと鳴ったら鍵を開けてお菓子の入ったボールを差し出す係をやった。このとき時差ぼけの眠気がピークで大分つらかったけど面白かった。ちゃんと仮装している子もいれば、まったく仮装せずお菓子をわしづかみで取っていく子など、様々ですな。\u003c/p\u003e","title":"MVP Global Summit 2015 に行ってきました"},{"content":"2017/7/10 更新 Parallels Client を使用するとうまくいきましたので、こちらを使用することをオススメします。先のβ版とですと、ExplorerなどではJISキーボード入力が出来ますが、Chromeからなどは入力出来ないなど不安定な動作になってしまいました。\n2016/4/28 更新 Microsoft Remote Desktop for Mac – HockeyApp で解決する可能性があります。 26 APR 2016, 03:19 Version 8.2.22 (8.2.22.618) のバージョンを使用して、私の Mac OS X Yosemite から Windows 10 Pro Insider Preview Build 14328 に接続したところ、問題無くキー入力が出来ました。\n以下の面倒な手順は非推奨です。セキュリティレベルを落としてしまうので、行わないようにしてください。\n追記ここまで\nEXTENDED BODY:\nMac から Windows へリモートデスクトップしたいときは Microsoft Remote Desktop を使います。\n[\nMicrosoft Remote Desktop ](https://itunes.apple.com/jp/app/microsoft-remote-desktop/id715768417?mt=12\u0026amp;uo=4\u0026amp;at=1010l9rK)[Microsoft Remote Desktop](https://itunes.apple.com/jp/app/microsoft-remote-desktop/id715768417?mt=12\u0026amp;uo=4\u0026amp;at=1010l9rK)- Microsoft Corporation- ビジネス- 無料- [\n](https://itunes.apple.com/jp/app/microsoft-remote-desktop/id715768417?mt=12\u0026amp;uo=4\u0026amp;at=1010l9rK)\nWindows 10 や 8.1 にもリモートデスクトップできるので便利なんですが、一点困った問題があって、JIS配列(日本語)キーボードが英語の配列(@が[などで入力されてしまう）になってしまい困ってました。\n私は普段 Azure に Visual Studio とかの環境を仮想マシンで用意してて、Mac Book から使ってるのですが、括弧が思った通りのキーで入力されないのでものすごいストレスです。\n色々調べた結果、なんとか使えるようにはなりました。 結局セキュリティレベルを落とすので、あまり望ましくないですが、とりあえずの回避策として載せておきます。\n回避策 Microsoft Remote Desktop Connection Client for Mac で繋いだ後に、 Microsoft Remote Desktop で繋ぐ。\n以下に設定と方法を記載します。\nMicrosoft Remote Desktop Connection Client for Mac 2.1.1 をインストールする https://www.microsoft.com/ja-jp/download/details.aspx?id=18140 からダウンロード可能です。パッケージなので普通にインストールしてください。（ダブルクリックでインストール出来ない場合は右クリックから開くでインストール出来ます）\nYosemite で動くことを確認しました。\nただし、このツールは Windows 7 までの RDP にしか対応していないので、Windows の設定を変更します。\nMicrosoft Remote Desktop をインストールする Mac App Store からインストールしてください。\n[\nMicrosoft Remote Desktop ](https://itunes.apple.com/jp/app/microsoft-remote-desktop/id715768417?mt=12\u0026amp;uo=4\u0026amp;at=1010l9rK)[Microsoft Remote Desktop](https://itunes.apple.com/jp/app/microsoft-remote-desktop/id715768417?mt=12\u0026amp;uo=4\u0026amp;at=1010l9rK)- Microsoft Corporation- ビジネス- 無料- [\n](https://itunes.apple.com/jp/app/microsoft-remote-desktop/id715768417?mt=12\u0026amp;uo=4\u0026amp;at=1010l9rK)\nWindows の設定を変更する 結構面倒です。セキュリティレベルを落とすので設定する場合は自己責任でお願いします。\ngpedit.msc でローカルグループポリシーエディターを起動する。\nf:id:nnasaki:20151022114104p:plain 管理用テンプレート - Windows コンポーネント - リモートデスクトップサービス - リモートデスクトップセッションホスト - セキュリティ とツリーをたどっていきます。\nf:id:nnasaki:20151022114329p:plain f:id:nnasaki:20151022114748p:plain リモート(RDP)接続に特定のセキュリティレイヤーの使用を必要とするをダブルクリックします。\nf:id:nnasaki:20151022114857p:plain ダイアログが開くので、 有効 に設定し、セキュリティレイヤーを RDP に設定後、 OK をクリックします。\nf:id:nnasaki:20151022115028p:plain 次にスタートを右クリックして、システムを開きます。\nf:id:nnasaki:20151022115236p:plain システムの左側にある リモートの設定 をクリックします。\nf:id:nnasaki:20151022115354p:plain リモートデスクトップの欄にある このコンピューターへのリモート接続を許可する を選び、 ネットワークレベル認証でリモートデスクトップを実行しているコンピューターからのみ接続を許可する（推奨） のチェックを外します。\nf:id:nnasaki:20151022115540p:plain 最後に Windows を再起動します。\n以上でWindows の設定は完了です。\nMicrosoft Remote Desktop Connection Client for Mac で Windows に接続する Microsoft Remote Desktop Connection Client for Macを起動して、Windows マシンの IP や DNS 名を入力して接続します。\nf:id:nnasaki:20151022120828p:plain 警告がでますが、そのまま接続します。\nf:id:nnasaki:20151022120950p:plain リモートデスクトップのウインドウを閉じて切断します。サインアウトせずにセッションを維持しておくのがポイントです。\nf:id:nnasaki:20151022121147p:plain Microsoft Remote Desktop で接続する 同様に接続します。 Untrusted Connection の警告がでますが、 Connect Once をクリックします。\nf:id:nnasaki:20151022130914p:plain 以上で完了です。\nまとめ Windows の設定が若干面倒ですが、いちど設定してしまえば確実に JIS 配列キーボードが使えます。ただし、セキュリティ的に良くないので、使うときだけ仮想マシンを立ち上げる。VNC を構成して使う等したほうが良いと思います。\nRemote Desktop のフィードバックはどこに投げれば良いんだろう…\n参考サイト dechnostick.hatenablog.com\nd.hatena.ne.jp\nblog.masahiko.info\n一色さんの方法では再起動後に JIS キーボードのデバイスを認識しなくてダメだった…\nqiita.com\n","permalink":"/entry/2015/10/22/210040/","summary":"\u003ch3 id=\"2017710-更新\"\u003e2017/7/10 更新\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://itunes.apple.com/jp/app/parallels-client/id600925318\"\u003eParallels Client\u003c/a\u003e を使用するとうまくいきましたので、こちらを使用することをオススメします。先のβ版とですと、ExplorerなどではJISキーボード入力が出来ますが、Chromeからなどは入力出来ないなど不安定な動作になってしまいました。\u003c/p\u003e\n\u003ch3 id=\"2016428-更新\"\u003e2016/4/28 更新\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://rink.hockeyapp.net/apps/5e0c144289a51fca2d3bfa39ce7f2b06/\"\u003eMicrosoft Remote Desktop for Mac – HockeyApp\u003c/a\u003e で解決する可能性があります。\n26 APR 2016, 03:19 Version 8.2.22 (8.2.22.618) のバージョンを使用して、私の Mac OS X Yosemite から Windows 10 Pro Insider Preview Build 14328 に接続したところ、問題無くキー入力が出来ました。\u003c/p\u003e\n\u003cp\u003e以下の面倒な手順は\u003cstrong\u003e非推奨\u003c/strong\u003eです。セキュリティレベルを落としてしまうので、行わないようにしてください。\u003c/p\u003e\n\u003cp\u003e追記ここまで\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003cp\u003eMac から Windows へリモートデスクトップしたいときは Microsoft Remote Desktop を使います。\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://cdn.image.st-hatena.com/image/scale/9479e819c2f3e9c7c4219c4bacbc6e8ca4673a41/enlarge=0;height=200;version=1;width=200/http%3A%2F%2Fis4.mzstatic.com%2Fimage%2Fthumb%2FPurple117%2Fv4%2F3d%2Fe5%2Fa2%2F3de5a247-6d96-d038-c772-c73bb0aeee69%2Fsource%2F100x100bb.png\" alt=\"Microsoft Remote Desktop\" title=\"Microsoft Remote Desktop\" class=\"itunes-embed-image\"/\u003e\u003cfigcaption\u003eMicrosoft Remote Desktop\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"https://itunes.apple.com/jp/app/microsoft-remote-desktop/id715768417?mt=12\u0026amp;uo=4\u0026amp;at=1010l9rK)%5BMicrosoft\"\u003ehttps://itunes.apple.com/jp/app/microsoft-remote-desktop/id715768417?mt=12\u0026amp;uo=4\u0026amp;at=1010l9rK)[Microsoft\u003c/a\u003e Remote Desktop](\u003ca href=\"https://itunes.apple.com/jp/app/microsoft-remote-desktop/id715768417?mt=12\u0026amp;uo=4\u0026amp;at=1010l9rK)-\"\u003ehttps://itunes.apple.com/jp/app/microsoft-remote-desktop/id715768417?mt=12\u0026amp;uo=4\u0026amp;at=1010l9rK)-\u003c/a\u003e Microsoft Corporation- ビジネス- 無料- [\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://cdn.blog.st-hatena.com/images/theme/itunes/itunes-badge-macappstore@2x.png\" width=\"80px\" height=\"15px\" /\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"https://itunes.apple.com/jp/app/microsoft-remote-desktop/id715768417?mt=12\u0026amp;uo=4\u0026amp;at=1010l9rK\"\u003ehttps://itunes.apple.com/jp/app/microsoft-remote-desktop/id715768417?mt=12\u0026amp;uo=4\u0026amp;at=1010l9rK\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eWindows 10 や 8.1 にもリモートデスクトップできるので便利なんですが、一点困った問題があって、JIS配列(日本語)キーボードが英語の配列(@が[などで入力されてしまう）になってしまい困ってました。\u003c/p\u003e","title":"【2017年版】Mac から Windows にリモートデスクトップ(RDP)した時にJIS配列(日本語)キーボードを使う方法"},{"content":"Azure File ストレージ は SMB を使用したファイル共有サービスです。みんな大好き共有フォルダをクラウドに作成できます。ワイが欲しかったのは Dropbox でも OneDrive でもなくこれだったんや！と思ったんですが、結論から言うと Windows では問題無いのに Mac からはうまくいきませんでした。ちなみに Linux からは使えます。理由は後述します。\n以下は使えない原因を調査した記録ですので、あまり役には立たないです。Wiresharkはあまり使ったこと無かったのですが、共有フォルダに繋がらない場合などのトラブルシューティングに役立ちそうな感じはしました。\nEXTENDED BODY:\n使ってみようとおもった動機 Azure File ストレージ は今までプレビューで、オンプレミスからは使えませんでした。ですが、今回 AzureCon で GA アナウンスとオンプレミスからの接続がサポートされました。ただし、条件が厳しくてSMB3.0以上とport445が空いていることです。\nMac で使えそうな感じがした Mac ってそもそも SMB3.0 に対応しているんだっけ？と調べていたら、対応しているようでした。Samba 実装ではなく、Apple が独自に実装しているようでした。\nYosemiteのSMBクライアントはTCPポート139と445に対応、445を優先でSMB3.02に対応してるっぽいな。Sambaじゃなくて、Apple独自実装になってたのか。\nhttp://t.co/9INow9YZZY— YAMAMOTO Masaki (@nnasaki) 2015, 9月 30\nLinux は Samba 実装なので使える。Mac は Apple 実装なので使えない。というのが、 Linux で使えるのに Mac では使えないことの原因かなと思ってます。\nWindows では普通に使えた Azure File Storage Windows 10なら普通に問題なくマウントできた pic.twitter.com/ffsnult7JF— YAMAMOTO Masaki (@nnasaki) October 1, 2015\nAzure File Storage ファイルのアップロード早い。ちょっと遅い回線使ってるからこんなもんだけど、帯域使い切ってる。 pic.twitter.com/F0oJy2BiOv— YAMAMOTO Masaki (@nnasaki) October 1, 2015\nダウンロードはこのぐらい。 pic.twitter.com/GQMr9CbrYs— YAMAMOTO Masaki (@nnasaki) October 1, 2015\nしばやん先生からIOPSを知りたいと言われたので、CrystaDiskMarkを動かしてみた。まぁ、インターネットの回線に左右されるので参考程度に。\n@shibayan こんな感じですね。 pic.twitter.com/jkke3N0aXi— YAMAMOTO Masaki (@nnasaki) October 1, 2015\n@gogotea3 からPowerShellのコマンドを実行して欲しいと言われたのでその結果。SMBのバージョンや設定だそうな。\n@gogotea3 こんな結果がでました。何の意味があるか僕にはさっぱりです。 pic.twitter.com/VvSfTcBf4P— YAMAMOTO Masaki (@nnasaki) 2015, 10月 1\nMac ではマウント時にエラーが出た Mac の Finder から同様にマウント使用とするとエラーが出た。ユーザー認証まで出来ているので、ポートが塞がっているとかそういうことでは無さそう。\nMac OSX Yosemite (10.10.5) だとユーザー認証画面までは出るけどこのエラー画面 pic.twitter.com/i4JH9gs4Mp— YAMAMOTO Masaki (@nnasaki) 2015, 10月 1\nWireshark でパケットを確認してみた Wireshark である程度確認出来そうだったので見てみました。まずはMac\nMac は Wireshark で見てみたけど、SMB3 で会話は出来ているみたいだけど、NTLMSSP_NEGOTIATE がうまくいってないっぽい？ Windows のほうも見てみればわかるかなぁ。 pic.twitter.com/3rc8yGDjw3— YAMAMOTO Masaki (@nnasaki) 2015, 10月 1\n次に Windows\nWindows だと先のエラーの後に NTLMSSP_AUTH をリクエストしている。これが Mac OS には無い。Apple が SMB3 で何か実装忘れているのかなぁ？ pic.twitter.com/jgWokoPRMP— YAMAMOTO Masaki (@nnasaki) October 1, 2015\nWindows 10 の共有フォルダを Mac からマウントしたら成功した。\nAppleのせいかと思ったら、ローカルLANのWindows10で共有したフォルダは Mac OS X からみれた。なんだろう。 pic.twitter.com/xOvxQQGH7f— YAMAMOTO Masaki (@nnasaki) October 1, 2015\n両者の違いをみると成功する Windows 10 の共有フォルダは GSS-API が有効だったのと、Negotiate Flags の Negotiate NTLM keyが有効という違いがあった。\nWindows 10 は GSS-API が有効だったのと、Negotiate Flags の Negotiate NTLM key が有効になっていた。Azureでは無効。これはポリシーかなにかの設定だったかな。。。 pic.twitter.com/QChsQ9BBcR— YAMAMOTO Masaki (@nnasaki) October 1, 2015\nNegotiate Flags について調べると MSDN の [MS-NLMP]: NEGOTIATE がそれっぽい感じでした。22ビット目の H (1 bit): If set, requests usage of the NTLM v1 session security protocol を 0 にすれば Azure File ストレージと同等になりそう。\nWindows 10 で LAN Manager 認証レベルを NTLMv2 応答のみにした。 pic.twitter.com/NBJvdlLmgA— YAMAMOTO Masaki (@nnasaki) 2015, 10月 1\nけれども、期待通りにはならず、フラグはONのままでした。このほかグループポリシーをいろいろいじってみましたが、どうしてもフラグが落ちず断念しました。\nここまでが調べた内容です。SMB はだいぶプロトコルがオープンになりましたが、まだまだ鬼門だなぁという感想。NFS もあればなぁと思いますが、最近 Linux Love な Microsoft さんに期待したいところです。\n参考ページ GAしたAzure File Storageを早速使ってみる | ktkr雑記(仮称) その知識、ホントに正しい？ Windowsにまつわる都市伝説（26）：SMBに乗り換えたMac――WindowsとMacのファイル共有のいま（前編） (2/3) - ＠IT\n","permalink":"/entry/2015/10/02/094436/","summary":"\u003cp\u003eAzure File ストレージ は SMB を使用したファイル共有サービスです。みんな大好き共有フォルダをクラウドに作成できます。ワイが欲しかったのは Dropbox でも OneDrive でもなくこれだったんや！と思ったんですが、結論から言うと Windows では問題無いのに Mac からはうまくいきませんでした。ちなみに Linux からは使えます。理由は後述します。\u003c/p\u003e\n\u003cp\u003e以下は使えない原因を調査した記録ですので、あまり役には立たないです。Wiresharkはあまり使ったこと無かったのですが、共有フォルダに繋がらない場合などのトラブルシューティングに役立ちそうな感じはしました。\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003ch3 id=\"使ってみようとおもった動機\"\u003e使ってみようとおもった動機\u003c/h3\u003e\n\u003cp\u003eAzure File ストレージ は今までプレビューで、オンプレミスからは使えませんでした。ですが、今回 AzureCon で GA アナウンスとオンプレミスからの接続がサポートされました。ただし、条件が厳しくてSMB3.0以上とport445が空いていることです。\u003c/p\u003e\n\u003ch3 id=\"mac-で使えそうな感じがした\"\u003eMac で使えそうな感じがした\u003c/h3\u003e\n\u003cp\u003eMac ってそもそも SMB3.0 に対応しているんだっけ？と調べていたら、対応しているようでした。Samba 実装ではなく、Apple が独自に実装しているようでした。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eYosemiteのSMBクライアントはTCPポート139と445に対応、445を優先でSMB3.02に対応してるっぽいな。Sambaじゃなくて、Apple独自実装になってたのか。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e\u003ca href=\"http://t.co/9INow9YZZY\"\u003ehttp://t.co/9INow9YZZY\u003c/a\u003e— YAMAMOTO Masaki (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/status/649332264044597248\"\u003e2015, 9月 30\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eLinux は Samba 実装なので使える。Mac は Apple 実装なので使えない。というのが、 Linux で使えるのに Mac では使えないことの原因かなと思ってます。\u003c/p\u003e\n\u003ch3 id=\"windows-では普通に使えた\"\u003eWindows では普通に使えた\u003c/h3\u003e\n\u003cblockquote\u003e\n\u003cp\u003eAzure File Storage Windows 10なら普通に問題なくマウントできた \u003ca href=\"http://t.co/ffsnult7JF\"\u003epic.twitter.com/ffsnult7JF\u003c/a\u003e— YAMAMOTO Masaki (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/status/649544995993595904\"\u003eOctober 1, 2015\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eAzure File Storage ファイルのアップロード早い。ちょっと遅い回線使ってるからこんなもんだけど、帯域使い切ってる。 \u003ca href=\"http://t.co/F0oJy2BiOv\"\u003epic.twitter.com/F0oJy2BiOv\u003c/a\u003e— YAMAMOTO Masaki (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/status/649546474385117184\"\u003eOctober 1, 2015\u003c/a\u003e\u003c/p\u003e","title":"Azure File ストレージを Mac でマウント出来なかった話"},{"content":"Xbox One をしばらく稼働してなかったのですが、Forza Motorsport 6 をやる機会があったのでプレイしました。\nwww.xbox.com\nレースゲームはあまり得意じゃ無いし、車も興味は大して無いので良くわからないでプレイしました。まず、画像と音がすごいリアル。本物の車に乗るよりリアルなんじゃないかと思う。\n操作も最初はガイドラインが出ており、それに沿って進んでいくだけです。アクセルべた踏みでコーナーに突っ込んでも自動でブレーキしてくれるので、アクセルとハンドルの操作だけで簡単です。\n他の車に衝突したりコーナーを踏み外すと、Yボタンで巻き戻しをしてやり直すことが出来る。最後の最後でミスして1位を逃してしまった！というときも巻き戻せばコースの最初からやり直す必要はありません。ちなみに他の車にぶつかるとボディもへこみます。リアル過ぎます。\n私のような初心者でもストレスフリーでプレイできるので、レースゲームやったことない人にもお勧めできますね。日本車も沢山あるしチューンナップも出来るので、外車に詳しくなくてもOKです。\n[\nForza Motorsport 6 ](http://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0SV0/hatena-blog-22/)[Forza Motorsport 6](http://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0SV0/hatena-blog-22/)- 出版社/メーカー: 日本マイクロソフト- 発売日: 2015/09/17- メディア: Video Game- この商品を含むブログ (1件) を見る\n[\nForza Motorsport 6 (特典【10 Year カー パック ご利用コード】 同梱) Amazon.co.jp限定特典【2015 Audi TTS クーペ ご利用コード】 付 ](http://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0SKG/hatena-blog-22/)[Forza Motorsport 6 (特典【10 Year カー パック ご利用コード】 同梱) Amazon.co.jp限定特典【2015 Audi TTS クーペ ご利用コード】 付](http://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0SKG/hatena-blog-22/)- 出版社/メーカー: 日本マイクロソフト- 発売日: 2015/09/17- メディア: Video Game- この商品を含むブログ (1件) を見る\n[\n【Amazon.co.jp限定】Xbox One 1TB 『Forza Motorsport 6』 リミテッド エディション (KF6-00043) (特典【10 Year カー パック ご利用コード】 同梱) Amazon.co.jp限定特典【2015 Audi TTS クーペ ご利用コード】 付 (2015年9月17日注文分まで) ](http://www.amazon.co.jp/exec/obidos/ASIN/B0105AIYFM/hatena-blog-22/)[【Amazon.co.jp限定】Xbox One 1TB 『Forza Motorsport 6』 リミテッド エディション (KF6-00043) (特典【10 Year カー パック ご利用コード】 同梱) Amazon.co.jp限定特典【2015 Audi TTS クーペ ご利用コード】 付 (2015年9月17日注文分まで)](http://www.amazon.co.jp/exec/obidos/ASIN/B0105AIYFM/hatena-blog-22/)- 出版社/メーカー: 日本マイクロソフト- 発売日: 2015/09/17- メディア: Video Game- この商品を含むブログ (1件) を見る\n","permalink":"/entry/2015/09/30/164724/","summary":"\u003cp\u003eXbox One をしばらく稼働してなかったのですが、Forza Motorsport 6 をやる機会があったのでプレイしました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://www.xbox.com/ja-JP/games/forza-6\"\u003ewww.xbox.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eレースゲームはあまり得意じゃ無いし、車も興味は大して無いので良くわからないでプレイしました。まず、画像と音がすごいリアル。本物の車に乗るよりリアルなんじゃないかと思う。\u003c/p\u003e\n\u003cp\u003e操作も最初はガイドラインが出ており、それに沿って進んでいくだけです。アクセルべた踏みでコーナーに突っ込んでも自動でブレーキしてくれるので、アクセルとハンドルの操作だけで簡単です。\u003c/p\u003e\n\u003cp\u003e他の車に衝突したりコーナーを踏み外すと、Yボタンで巻き戻しをしてやり直すことが出来る。最後の最後でミスして1位を逃してしまった！というときも巻き戻せばコースの最初からやり直す必要はありません。ちなみに他の車にぶつかるとボディもへこみます。リアル過ぎます。\u003c/p\u003e\n\u003cp\u003e私のような初心者でもストレスフリーでプレイできるので、レースゲームやったことない人にもお勧めできますね。日本車も沢山あるしチューンナップも出来るので、外車に詳しくなくてもOKです。\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://ecx.images-amazon.com/images/I/51lEX4cFVkL._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"Forza Motorsport 6\" title=\"Forza Motorsport 6\"\u003e\u003cfigcaption\u003eForza Motorsport 6\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0SV0/hatena-blog-22/)%5BForza\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0SV0/hatena-blog-22/)[Forza\u003c/a\u003e Motorsport 6](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0SV0/hatena-blog-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0SV0/hatena-blog-22/)-\u003c/a\u003e 出版社/メーカー: 日本マイクロソフト- 発売日: 2015/09/17- メディア: Video Game- \u003ca href=\"http://d.hatena.ne.jp/asin/B00ZQA0SV0/hatena-blog-22\"\u003eこの商品を含むブログ (1件) を見る\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://ecx.images-amazon.com/images/I/51lEX4cFVkL._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"Forza Motorsport 6 (特典【10 Year カー パック ご利用コード】 同梱) Amazon.co.jp限定特典【2015 Audi TTS クーペ ご利用コード】 付\" title=\"Forza Motorsport 6 (特典【10 Year カー パック ご利用コード】 同梱) Amazon.co.jp限定特典【2015 Audi TTS クーペ ご利用コード】 付\"\u003e\u003cfigcaption\u003eForza Motorsport 6 (特典【10 Year カー パック ご利用コード】 同梱) Amazon.co.jp限定特典【2015 Audi TTS クーペ ご利用コード】 付\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0SKG/hatena-blog-22/)%5BForza\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0SKG/hatena-blog-22/)[Forza\u003c/a\u003e Motorsport 6 (特典【10 Year カー パック ご利用コード】 同梱) Amazon.co.jp限定特典【2015 Audi TTS クーペ ご利用コード】 付](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0SKG/hatena-blog-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B00ZQA0SKG/hatena-blog-22/)-\u003c/a\u003e 出版社/メーカー: 日本マイクロソフト- 発売日: 2015/09/17- メディア: Video Game- \u003ca href=\"http://d.hatena.ne.jp/asin/B00ZQA0SKG/hatena-blog-22\"\u003eこの商品を含むブログ (1件) を見る\u003c/a\u003e\u003c/p\u003e","title":"Xbox One の Forza Motorsport 6 をやってみた"},{"content":"Azure Data Lake については、 Build でも発表がありましたが概要のみでした。今回よりどんな技術か？どのように使用するか？というより詳細な技術について発表がありました。今年中にプレビューとして使用出来る見込みです。\n僕が最初にまず言いたいことは、Microsoft 嫌いな人も是非使って欲しいです。理由は後述します。\nBuild の時の発表内容についてはこちら。\nblog.nnasaki.com\n今回の発表はこちら。\njapan.zdnet.com\n記事中では、「Azure Data Lake Analytics」「Azure Data Lake Store」「U-SQL」というキーワードが出てきます。その他「Cosmos」とか「Dryad」とかもでてきますがとりあえず先の３つを抑えておけば大丈夫でしょう。\nさて、これらがどのようなものか見ていきましょう。\n「Azure Data Lake Analytics」「Azure Data Lake Store」「U-SQL」とは？ HDFS互換の「Azure Data Lake Store」にデータを貯めて、Apache YARN で構成された「Azure Data Lake Analytics」で解析する。そのとき使う言語が「U-SQL」のようです。\n「U-SQL」以外にも「Azure Data Lake Store」は HDFS 互換なので、「HD Insight」（マネージドな Hadoop）を使用して、Hive, Spark, HBase and Storm も使用出来るようです。\n詳細は次の SQL Server Blog (英語) の図がわかりやすいので引用します。\nf:id:nnasaki:20150929173200p:plain f:id:nnasaki:20150929174130p:plain f:id:nnasaki:20150929174204p:plain blogs.technet.com\nそして、この blog 中に次の記載があります。これが最初に記載したMicrosoft嫌いの人も是非使って欲しい理由です。\n“Hortonworks and Microsoft have partnered closely over many years to further the Hadoop platform for big data analytics, including contributions to YARN, Hive, and other Apache projects,” said Rob Bearden, CEO at Hortonworks.\nMicrosoft だからどうせ SQL Server だけとか、ベンダーロックインとか思っているかもしれませんが、そんなこと無いです。ちゃんと YARN, Hive, そして数々の Apache projects にちゃんと貢献しています。\nこれはすごい楽しみです。「U-SQL」については別途また書きたいと思います。\n今夜開催される AzureCon で詳しい発表があるようです。英語ですが、日本でも JAZUG の有志が同時通訳？中継をするようなので、是非ご興味のある方は見てください。\nf:id:nnasaki:20150929175129p:plain AzureCon | ブチザッキ\n","permalink":"/entry/2015/09/29/175209/","summary":"\u003cp\u003eAzure Data Lake については、 Build でも発表がありましたが概要のみでした。今回よりどんな技術か？どのように使用するか？というより詳細な技術について発表がありました。今年中にプレビューとして使用出来る見込みです。\u003c/p\u003e\n\u003cp\u003e僕が最初にまず言いたいことは、Microsoft 嫌いな人も是非使って欲しいです。理由は後述します。\u003c/p\u003e\n\u003cp\u003eBuild の時の発表内容についてはこちら。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2015/04/30/145430\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e今回の発表はこちら。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://japan.zdnet.com/article/35071103/\"\u003ejapan.zdnet.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e記事中では、「Azure Data Lake Analytics」「Azure Data Lake Store」「U-SQL」というキーワードが出てきます。その他「Cosmos」とか「Dryad」とかもでてきますがとりあえず先の３つを抑えておけば大丈夫でしょう。\u003c/p\u003e\n\u003cp\u003eさて、これらがどのようなものか見ていきましょう。\u003c/p\u003e\n\u003ch3 id=\"azure-data-lake-analyticsazure-data-lake-storeu-sqlとは\"\u003e「Azure Data Lake Analytics」「Azure Data Lake Store」「U-SQL」とは？\u003c/h3\u003e\n\u003cp\u003eHDFS互換の「Azure Data Lake Store」にデータを貯めて、Apache YARN で構成された「Azure Data Lake Analytics」で解析する。そのとき使う言語が「U-SQL」のようです。\u003c/p\u003e\n\u003cp\u003e「U-SQL」以外にも「Azure Data Lake Store」は HDFS 互換なので、「HD Insight」（マネージドな Hadoop）を使用して、Hive, Spark, HBase and Storm も使用出来るようです。\u003c/p\u003e\n\u003cp\u003e詳細は次の SQL Server Blog (英語) の図がわかりやすいので引用します。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150929/20150929173200.png\" alt=\"f:id:nnasaki:20150929173200p:plain\" title=\"f:id:nnasaki:20150929173200p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150929173200p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150929/20150929174130.png\" alt=\"f:id:nnasaki:20150929174130p:plain\" title=\"f:id:nnasaki:20150929174130p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150929174130p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150929/20150929174204.png\" alt=\"f:id:nnasaki:20150929174204p:plain\" title=\"f:id:nnasaki:20150929174204p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150929174204p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"http://blogs.technet.com/b/dataplatforminsider/archive/2015/09/28/microsoft-expands-azure-data-lake-to-unleash-big-data-productivity.aspx\"\u003eblogs.technet.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eそして、この blog 中に次の記載があります。これが最初に記載したMicrosoft嫌いの人も是非使って欲しい理由です。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e“Hortonworks and Microsoft have partnered closely over many years to further the Hadoop platform for big data analytics, including contributions to YARN, Hive, and other Apache projects,” said Rob Bearden, CEO at Hortonworks.\u003c/p\u003e","title":"Azure Data Lake とは何か？"},{"content":"WiiU 買うつもり無かったけど、息子にDSのマリオやらせたら意外と楽しんでいたので買ってみた。\n[\nWii U スーパーマリオメーカー セット ](http://www.amazon.co.jp/exec/obidos/ASIN/B012RDUK16/hatena-blog-22/)[Wii U スーパーマリオメーカー セット](http://www.amazon.co.jp/exec/obidos/ASIN/B012RDUK16/hatena-blog-22/)- 出版社/メーカー: 任天堂- 発売日: 2015/09/10- メディア: Video Game- この商品を含むブログ (3件) を見る\nマリオメーカーは10人マリオがクオリティの高いマップを8ステージ分できる。1ステージ1分もかからず、難易度もそれほど高くないので、死んでリスタートしても約10分ぐらいでサクッとできるのでとても良い。\n他の人が作ったマップも遊べるんだけど、当たり外れが激しくてガッカリすることもあるので、時間が無いときにはオススメ出来ないかな。海外の人が作ったマップは難易度が高めな感じがする。\nスプラトゥーンは友人宅で少しやってて結構面白かったので合わせて買うことにした。視点をコントローラーのジャイロで操作するのにまだちょっと慣れないけど、結構良いですね。\n[\nSplatoon(スプラトゥーン) ](http://www.amazon.co.jp/exec/obidos/ASIN/B00VDVY1C8/hatena-blog-22/)[Splatoon(スプラトゥーン)](http://www.amazon.co.jp/exec/obidos/ASIN/B00VDVY1C8/hatena-blog-22/)- 出版社/メーカー: 任天堂- 発売日: 2015/05/28- メディア: Video Game- この商品を含むブログ (49件) を見る\n","permalink":"/entry/2015/09/29/122311/","summary":"\u003cp\u003eWiiU 買うつもり無かったけど、息子にDSのマリオやらせたら意外と楽しんでいたので買ってみた。\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://ecx.images-amazon.com/images/I/51-0PsnTFFL._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"Wii U スーパーマリオメーカー セット\" title=\"Wii U スーパーマリオメーカー セット\"\u003e\u003cfigcaption\u003eWii U スーパーマリオメーカー セット\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B012RDUK16/hatena-blog-22/)%5BWii\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B012RDUK16/hatena-blog-22/)[Wii\u003c/a\u003e U スーパーマリオメーカー セット](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B012RDUK16/hatena-blog-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B012RDUK16/hatena-blog-22/)-\u003c/a\u003e 出版社/メーカー: 任天堂- 発売日: 2015/09/10- メディア: Video Game- \u003ca href=\"http://d.hatena.ne.jp/asin/B012RDUK16/hatena-blog-22\"\u003eこの商品を含むブログ (3件) を見る\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eマリオメーカーは10人マリオがクオリティの高いマップを8ステージ分できる。1ステージ1分もかからず、難易度もそれほど高くないので、死んでリスタートしても約10分ぐらいでサクッとできるのでとても良い。\u003c/p\u003e\n\u003cp\u003e他の人が作ったマップも遊べるんだけど、当たり外れが激しくてガッカリすることもあるので、時間が無いときにはオススメ出来ないかな。海外の人が作ったマップは難易度が高めな感じがする。\u003c/p\u003e\n\u003cp\u003eスプラトゥーンは友人宅で少しやってて結構面白かったので合わせて買うことにした。視点をコントローラーのジャイロで操作するのにまだちょっと慣れないけど、結構良いですね。\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://ecx.images-amazon.com/images/I/61uv9ElrM1L._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"Splatoon(スプラトゥーン)\" title=\"Splatoon(スプラトゥーン)\"\u003e\u003cfigcaption\u003eSplatoon(スプラトゥーン)\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B00VDVY1C8/hatena-blog-22/)%5BSplatoon(\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B00VDVY1C8/hatena-blog-22/)[Splatoon(\u003c/a\u003eスプラトゥーン)](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B00VDVY1C8/hatena-blog-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B00VDVY1C8/hatena-blog-22/)-\u003c/a\u003e 出版社/メーカー: 任天堂- 発売日: 2015/05/28- メディア: Video Game- \u003ca href=\"http://d.hatena.ne.jp/asin/B00VDVY1C8/hatena-blog-22\"\u003eこの商品を含むブログ (49件) を見る\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"WiiU マリオメーカー30周年セットと スプラトゥーン を買った"},{"content":"Go (5) JAZUG にて発表しました。 jazug.doorkeeper.jp\ntogetter.com\nチーム東北＆さっぽろの集合写真 f:id:nnasaki:20150908222449j:plain セッション内容 ご当地トラックということで、東北＆さっぽろの5人で約10分ずつ話しました。オンラインで何回か打ち合わせして結構ストーリーも練ってたので、サービスの使い道は想像しやすかったのではないかなぁと思います。\n各発表資料は docs.com のコレクションにしました。\ndocs.com\nEXTENDED BODY:\n私の発表について [\nf:id:nnasaki:20150905144649j:image ](http://f.hatena.ne.jp/nnasaki/20150905144649)\nさて、私の発表内容はLogic App, Event Hubs, Stream Analytics, Power BI を使って、Twitter の位置情報を地図にマッピングしました。とりあえず位置情報をツイートすれば生きているかどうか、どこに居るかがわかるということです。詳細は資料をご確認ください。\n安否確認を可視化する—Yamamoto Masaki\n単一責任の原則 (SRP : Single Responsibility Principle) ここで一番言いたかったことは、各機能の責務を単一にすることで密結合にしないこと(単一責任の原則 (SRP : Single Responsibility Principle))です。たぶん、最近の流行だとマイクロサービスということになるんだろうけど、あえて言葉としては使わなかった。\n今回の例ではINPUTがTwitterですが、例えばCSV、Facebook、IoTデバイスに変わろうと、Api App さえ変更すれば今の仕組みがそのまま使用出来ます。フィルタリングや他の機能を入れたい場合は、Logic App に Api App を追加する。スパムかどうか判定したければ、Machine Learning を追加する。売上情報の過去1年間の比較、先週との比較などをしたければ、DWHを追加するなど、責務を単一にすることでいろいろな機能を追加していけます。\n各セッションについて その他のセッションも面白かった。キーノートは街コンとビーコンについて。福岡はガチ開発のストーリー仕立て。やっぱり、デザイナー重要っすねぇ。。。インフラ構築について小島さんにちょっと聞きたかった。\nCトラックは深夜ラジオノリのトーク大会。マグナム先輩を問い詰めたり、砂金さんの話は JAWS UG との比較とか興味深かった。Youtube Live で配信していて、録画もしていたようだけど、いろいろピー入れないと公開出来ないんじゃないかなぁｗ\nお父さんの ARM と IaaS v2 な話もよく整理されてて良かったです。\n集合写真 f:id:nnasaki:20150908222546j:plain 懇親会 懇親会も大盛り上がりでした。震災について言及があり、少しお話させていただきました。当時の記憶は薄れつつあったので振り返る良い機会でした。JAZUGも震災の時に協力していただいていたお話が聞けて良かったなぁと思います。\nまとめ 最後は楽しいJAZUGということで〆させていただきます。\n荒ぶるマグナム先輩 割と普通改めマグナム先輩から被害を受けた日本マイクロソフトの社員様達。今後のマイクロソフト社様が心配です。\nf:id:nnasaki:20150906135602j:plain f:id:nnasaki:20150906135610j:plain お疲れのお父さん お疲れのようです。シータで取ってみました。同じく悪巧みしている人が写ってて良いですね。\n全天球お父さん #theta360 - Spherical Image - RICOH THETA\n谷口君の髪型がオープンソース化 新しい髪型について絶賛プルリク募集中だそうですが、アフロが却下されてしまったようだ。\ngithub.com\n感想blog snickerjp.blogspot.jp\nokazuki.hatenablog.com\nGo (5) JAZUG – JAZUG5周年イベントbuchizo.wordpress.com\n","permalink":"/entry/2015/09/08/223705/","summary":"\u003ch3 id=\"go-5-jazug-にて発表しました\"\u003eGo (5) JAZUG にて発表しました。\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://jazug.doorkeeper.jp/events/29529\"\u003ejazug.doorkeeper.jp\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://togetter.com/li/870258\"\u003etogetter.com\u003c/a\u003e\u003c/p\u003e\n\u003ch4 id=\"チーム東北さっぽろの集合写真\"\u003eチーム東北＆さっぽろの集合写真\u003c/h4\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150908/20150908222449.jpg\" alt=\"f:id:nnasaki:20150908222449j:plain\" title=\"f:id:nnasaki:20150908222449j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150908222449j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch4 id=\"セッション内容\"\u003eセッション内容\u003c/h4\u003e\n\u003cp\u003eご当地トラックということで、東北＆さっぽろの5人で約10分ずつ話しました。オンラインで何回か打ち合わせして結構ストーリーも練ってたので、サービスの使い道は想像しやすかったのではないかなぁと思います。\u003c/p\u003e\n\u003cp\u003e各発表資料は docs.com のコレクションにしました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://docs.com/yamamoto-masaki/1580/go-5-jazug-jazug5-azure\"\u003edocs.com\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003ch4 id=\"私の発表について\"\u003e私の発表について\u003c/h4\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150905/20150905144649.jpg\" alt=\"f:id:nnasaki:20150905144649j:image\" title=\"f:id:nnasaki:20150905144649j:image\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150905144649j:image\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://f.hatena.ne.jp/nnasaki/20150905144649\"\u003ehttp://f.hatena.ne.jp/nnasaki/20150905144649\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eさて、私の発表内容はLogic App, Event Hubs, Stream Analytics, Power BI を使って、Twitter の位置情報を地図にマッピングしました。とりあえず位置情報をツイートすれば生きているかどうか、どこに居るかがわかるということです。詳細は資料をご確認ください。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://docs.com/yamamoto-masaki/4917\"\u003e安否確認を可視化する\u003c/a\u003e—\u003ca href=\"https://docs.com/yamamoto-masaki\"\u003eYamamoto Masaki\u003c/a\u003e\u003c/p\u003e\n\u003ch4 id=\"単一責任の原則-srp--single-responsibility-principle\"\u003e単一責任の原則 (SRP : Single Responsibility Principle)\u003c/h4\u003e\n\u003cp\u003eここで一番言いたかったことは、各機能の責務を単一にすることで密結合にしないこと(単一責任の原則 (SRP : Single Responsibility Principle))です。たぶん、最近の流行だとマイクロサービスということになるんだろうけど、あえて言葉としては使わなかった。\u003c/p\u003e\n\u003cp\u003e今回の例ではINPUTがTwitterですが、例えばCSV、Facebook、IoTデバイスに変わろうと、Api App さえ変更すれば今の仕組みがそのまま使用出来ます。フィルタリングや他の機能を入れたい場合は、Logic App に Api App を追加する。スパムかどうか判定したければ、Machine Learning を追加する。売上情報の過去1年間の比較、先週との比較などをしたければ、DWHを追加するなど、責務を単一にすることでいろいろな機能を追加していけます。\u003c/p\u003e\n\u003ch3 id=\"各セッションについて\"\u003e各セッションについて\u003c/h3\u003e\n\u003cp\u003eその他のセッションも面白かった。キーノートは街コンとビーコンについて。福岡はガチ開発のストーリー仕立て。やっぱり、デザイナー重要っすねぇ。。。インフラ構築について小島さんにちょっと聞きたかった。\u003c/p\u003e\n\u003cp\u003eCトラックは深夜ラジオノリのトーク大会。マグナム先輩を問い詰めたり、砂金さんの話は JAWS UG との比較とか興味深かった。Youtube Live で配信していて、録画もしていたようだけど、いろいろピー入れないと公開出来ないんじゃないかなぁｗ\u003c/p\u003e\n\u003cp\u003eお父さんの ARM と IaaS v2 な話もよく整理されてて良かったです。\u003c/p\u003e\n\u003ch3 id=\"集合写真\"\u003e集合写真\u003c/h3\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150908/20150908222546.jpg\" alt=\"f:id:nnasaki:20150908222546j:plain\" title=\"f:id:nnasaki:20150908222546j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150908222546j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"懇親会\"\u003e懇親会\u003c/h3\u003e\n\u003cp\u003e懇親会も大盛り上がりでした。震災について言及があり、少しお話させていただきました。当時の記憶は薄れつつあったので振り返る良い機会でした。JAZUGも震災の時に協力していただいていたお話が聞けて良かったなぁと思います。\u003c/p\u003e","title":"Go (5) JAZUG にて Power BI を使った可視化について話しました"},{"content":"最近、Macbook の調子が悪いため、家ではデスクトップPCを使用するようになりました。\nちょっと困ってたのが、デスクトップPC の Wi-Fi アダプタの性能があまり良くなく、10Mbps も出ないぐらいでした。 Macbook では 100Mbps は出るので、親機である AirMac Time Capsule のせいでは無さそうです。\n親機から有線で直接接続することも考えたのですが、リビングから仕事部屋まで有線を引っ張るのも面倒なので、あまり気が進みません。そこで、以前なにかのキャンペーンでもらった WR8165N を中継器として仕事部屋において、PCまでは有線で引っ張るようにしました。\n結果、60Mbps 程度まで速度があがったので満足しています。当分はこれで困らないと思うので、不満がでたら、11ac のアダプタを買うなりなんなりしたいと思います。\n構成 こんな感じで、WR8165N が Wi-Fi を INPUT して Ethernet を OUTPUT にします。\nAirMac Time Capsule\n","permalink":"/entry/2015/08/03/223202/","summary":"\u003cp\u003e最近、Macbook の調子が悪いため、家ではデスクトップPCを使用するようになりました。\u003c/p\u003e\n\u003cp\u003eちょっと困ってたのが、デスクトップPC の Wi-Fi アダプタの性能があまり良くなく、10Mbps も出ないぐらいでした。 Macbook では 100Mbps は出るので、親機である AirMac Time Capsule のせいでは無さそうです。\u003c/p\u003e\n\u003cp\u003e親機から有線で直接接続することも考えたのですが、リビングから仕事部屋まで有線を引っ張るのも面倒なので、あまり気が進みません。そこで、以前なにかのキャンペーンでもらった WR8165N を中継器として仕事部屋において、PCまでは有線で引っ張るようにしました。\u003c/p\u003e\n\u003cp\u003e結果、60Mbps 程度まで速度があがったので満足しています。当分はこれで困らないと思うので、不満がでたら、11ac のアダプタを買うなりなんなりしたいと思います。\u003c/p\u003e\n\u003ch3 id=\"構成\"\u003e構成\u003c/h3\u003e\n\u003cp\u003eこんな感じで、WR8165N が Wi-Fi を INPUT して Ethernet を OUTPUT にします。\u003c/p\u003e\n\u003cp\u003eAirMac Time Capsule\u003c/p\u003e","title":"Aterm WR8165N を AirMac Time Capsule の Wi-Fi 中継器に使う"},{"content":"東北デベロッパーズコミュニティ - イベント案内 | 2015-07-25 (土) レッツゴーデベロッパー５５５\n7/25(土)はレッツゴーデベロッパー５５５（ゴーゴーファイブ）に参加しました。震災から今年で５年連続５回目となる大型イベントです。\nタイムテーブル \u0026amp; セッション一覧 instagram.com\nEXTENDED BODY:\n基調講演　柴田芳樹氏　「ソフトウェアエンジニアとして心がけてきたこと」 ** ソフトウェアエンジニアとして心がけてきたこと ** from yoshikishibata\n柴田さんというと、真っ先に思い浮かぶのが EFFECTIVE JAVA の翻訳です。\n[\nEFFECTIVE JAVA 第2版 (The Java Series) ](http://www.amazon.co.jp/exec/obidos/ASIN/4621066056/hatena-blog-22/)[EFFECTIVE JAVA 第2版 (The Java Series)](http://www.amazon.co.jp/exec/obidos/ASIN/4621066056/hatena-blog-22/)- 作者: Joshua Bloch,柴田芳樹- 出版社/メーカー: 丸善出版- 発売日: 2014/03/11- メディア: 単行本（ソフトカバー）- この商品を含むブログ (9件) を見る\n私も Java を触る機会が多いのですが、この本は何度読んでも気づきが多いです。本の読み方については、井上さんの可視化を参考にすると良いかも知れません。\nEffective Java 第２版 を可視化するblog.guildworks.jp\n講演の中で一番印象に残っているのはこれです。\n**柴田さん、Java は1996年ぐらいから始めて、執筆もしていたが、2001年に Effective Java を読んで、自分が未熟だと衝撃をうけた。柴田さんレベルでもそういう謙虚な気持ちが大事なんだなと思った。 #5000dai— YAMAMOTO Masaki (@nnasaki) July 25, 2015\n自分の未熟さを素直に認める**ということが大事なんだなと思いました。そして、その後にじゃぁどうするかというのも大事。柴田さんは翻訳までしてしまっている。本当に行動力がすごいと思いました。\n**英語力。内容を理解し、技術書をある程度のスピードで読むには、TOEIC９００点以上が必要。お、おう。。。 #5000dai— YAMAMOTO Masaki (@nnasaki) July 25, 2015\n英語 orz\nセッション１　村上正則氏　「多階層組織の中でのエンジニアのありかた」 組織の中でどうあるべきかという話し。自分は組織を離れてしまったが、SIer時代を思い出しながら、なるほどそうだよねぇと共感する部分が多かった。残念ながら資料は非公開かな？\nセッション２　Kyon_Mm氏　「ザ・ジェネラリスト -ソフトウェア開発を勉強し始めて6年でトップレベルになるためにやったこと」 ザ・ジェネラリスト #5000dai ** from Kyon Mm\nきょんさんも、就職したてのころに自信を無くしてトップレベルまで来たということ。8:2の法則であらゆる分野をカバーする。勇者を目指す。\nうんうんと頷きながら聞いていたけど、僕に同じ事は到底出来なさそうだなぁというのが正直なところ。自分は自分なりのやり方を見つけないといけないなぁ。\nそして、やはりここでも英語力 orz\nExtreme Fishbowl　川口恭伸氏　井上岳大氏 **Extreme Fishbowlとは、ペアプロをみんなの前で公開してやることです。外野から声もかけられるのでやる側は緊張しますし、見る側も非常に勉強になると思います。\nイメージ\n[\nhttp://img0.joyreactor.com/pics/post/demotivation-posters-auto-270586.jpeg ](http://img0.joyreactor.com/pics/post/demotivation-posters-auto-270586.jpeg)\n概要のとおり。実は仕込みを用意していましたが大盛り上がりで不要でした。東北地方の奥ゆかしい人達の集まりなので、みんな遠慮してお通夜状態になるかもっていうのは杞憂だったみたい。\nみんなコード書きたいし、しゃべりたいのねー。\nクロージング クロージングで若干ダイアログっぽいことをやった。今日の話を聞いて明日からのアクションを明確にすること。ここら辺は DevLOVE 仙台 と同じコンセプトっぽい。\n私はやっぱり英語ですねー。 TOEIC 900 は難しいけど、一つの指標としてスコアを上げたいと思います。\n書いてて思いだしたけど、短期記憶の使い方が大事かもしれない。きょんさまはどんなに分厚い1000ページとかの本もとりあえず4日で読み切る。わからない単語とかあっても飛ばしてとりあえず読む。なぜなら、2週間とかかけてしまうと、読み終わる頃には最初の方は忘れているし、読み返しなど発生して効率が悪いから。\n根本さんからも TOEIC は集中して3ヶ月とかみっちりやった方が良いというアドバイスをいただいたなぁ。\n懇親会 シダックス で行いました。けれでもカラオケは一曲も歌わずｗ ずーっと LT でみんな発表しまくり。こういうのもありですねー。\nまとめ 半谷さんのグラフィックレコーディングがすごい良かったので、これを見てもらえばこんなクソ記事いらんのでは。。。\ninstagram.com\n僕の感想としては、柴田さんもきょんさまも自信を無くしてそれを克服して今があるということ。僕から見れば雲の上の存在のような方々も悩むことがある**というのが意外というか、発見というか。悩んで良いんだなーという感じです。\n僕も今、環境が変わって色々悩んでいるところなので、大変ありがたかった。\nレッツゴーデベロッパー、振り返ってみたら5年連続5回とも参加してたわー。震災後からこれまであっという間だったなー。毎年コンテンツが非常に良いので、来年も開催されると良いなぁと思いました。\nちなみに前夜祭もあって、懇親会まであったのですごい疲れた。次の日も家族サービスでプールに行ったりしてトドメ刺された。\n","permalink":"/entry/2015/07/27/103801/","summary":"\u003cp\u003e\u003ca href=\"http://tohoku-dev.jp/modules/eguide/event.php?eid=293\"\u003e東北デベロッパーズコミュニティ - イベント案内 | 2015-07-25 (土) レッツゴーデベロッパー５５５\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e7/25(土)はレッツゴーデベロッパー５５５（ゴーゴーファイブ）に参加しました。震災から今年で５年連続５回目となる大型イベントです。\u003c/p\u003e\n\u003ch3 id=\"タイムテーブル--セッション一覧\"\u003eタイムテーブル \u0026amp; セッション一覧\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://instagram.com/p/5jyN2ph2ZM/\"\u003einstagram.com\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003ch3 id=\"基調講演柴田芳樹氏ソフトウェアエンジニアとして心がけてきたこと\"\u003e基調講演　柴田芳樹氏　「ソフトウェアエンジニアとして心がけてきたこと」\u003c/h3\u003e\n\u003cp\u003e** \u003ca href=\"//www.slideshare.net/yoshikishibata/ss-50934687\"\u003eソフトウェアエンジニアとして心がけてきたこと\u003c/a\u003e ** from \u003cstrong\u003e\u003ca href=\"//www.slideshare.net/yoshikishibata\"\u003eyoshikishibata\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e柴田さんというと、真っ先に思い浮かぶのが EFFECTIVE JAVA の翻訳です。\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://ecx.images-amazon.com/images/I/51lEBnUjJqL._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"EFFECTIVE JAVA 第2版 (The Java Series)\" title=\"EFFECTIVE JAVA 第2版 (The Java Series)\"\u003e\u003cfigcaption\u003eEFFECTIVE JAVA 第2版 (The Java Series)\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/4621066056/hatena-blog-22/)%5BEFFECTIVE\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/4621066056/hatena-blog-22/)[EFFECTIVE\u003c/a\u003e JAVA 第2版 (The Java Series)](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/4621066056/hatena-blog-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/4621066056/hatena-blog-22/)-\u003c/a\u003e 作者: Joshua Bloch,柴田芳樹- 出版社/メーカー: 丸善出版- 発売日: 2014/03/11- メディア: 単行本（ソフトカバー）- \u003ca href=\"http://d.hatena.ne.jp/asin/4621066056/hatena-blog-22\"\u003eこの商品を含むブログ (9件) を見る\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e私も Java を触る機会が多いのですが、この本は何度読んでも気づきが多いです。本の読み方については、井上さんの可視化を参考にすると良いかも知れません。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.guildworks.jp/2014/10/16/effective-java-visualization/\"\u003eEffective Java 第２版 を可視化する\u003c/a\u003e\u003ca href=\"http://blog.guildworks.jp/2014/10/16/effective-java-visualization/\"\u003eblog.guildworks.jp\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e講演の中で一番印象に残っているのはこれです。\u003c/p\u003e\n\u003cp\u003e**柴田さん、Java は1996年ぐらいから始めて、執筆もしていたが、2001年に Effective Java を読んで、自分が未熟だと衝撃をうけた。柴田さんレベルでもそういう謙虚な気持ちが大事なんだなと思った。 \u003ca href=\"https://twitter.com/hashtag/5000dai?src=hash\"\u003e#5000dai\u003c/a\u003e— YAMAMOTO Masaki (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/status/624804136022773760\"\u003eJuly 25, 2015\u003c/a\u003e\u003c/p\u003e","title":"レッツゴーデベロッパー５５５に参加しました #5000dai"},{"content":"普段MacなのでWindowsを使うときはParallels Desktopを使用しています。そのときキーボードがいつの間にか101(英語)配列になってしまい困っていました。\nぐぐってみると、デバイスマネージャでキーボードのドライバを106にするというのがあったので、試しましたが、ダメでした。別な検索をするとParallelsのKBがヒットしました。\nKB Parallels: Parallels Desktop for Mac のキーボードレイアウト\nどうやら言語設定でキーボードが変わるみたいで、無事に106/109キーボードで入力できるようになりました。KBには Windows 8.1 の手順が載っていなかったので、次に手順を記載します\nEXTENDED BODY:\n対処方法 コントロールパネルにて「入力方法の変更」をクリック f:id:nnasaki:20150704112853p:plain English を削除する f:id:nnasaki:20150704113159p:plain 次の状態になることを確認する f:id:nnasaki:20150704113750p:plain 以上で解決しました。言語設定でキーボードレイアウトが変わることを知りませんでした。\n","permalink":"/entry/2015/07/04/113821/","summary":"\u003cp\u003e普段MacなのでWindowsを使うときはParallels Desktopを使用しています。そのときキーボードがいつの間にか101(英語)配列になってしまい困っていました。\u003c/p\u003e\n\u003cp\u003eぐぐってみると、デバイスマネージャでキーボードのドライバを106にするというのがあったので、試しましたが、ダメでした。別な検索をするとParallelsのKBがヒットしました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://kb.parallels.com/jp/111674\"\u003eKB Parallels: Parallels Desktop for Mac のキーボードレイアウト\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eどうやら言語設定でキーボードが変わるみたいで、無事に106/109キーボードで入力できるようになりました。KBには Windows 8.1 の手順が載っていなかったので、次に手順を記載します\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003ch3 id=\"対処方法\"\u003e対処方法\u003c/h3\u003e\n\u003ch4 id=\"コントロールパネルにて入力方法の変更をクリック\"\u003eコントロールパネルにて「入力方法の変更」をクリック\u003c/h4\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150704/20150704112853.png\" alt=\"f:id:nnasaki:20150704112853p:plain\" title=\"f:id:nnasaki:20150704112853p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150704112853p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch4 id=\"english-を削除する\"\u003eEnglish を削除する\u003c/h4\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150704/20150704113159.png\" alt=\"f:id:nnasaki:20150704113159p:plain\" title=\"f:id:nnasaki:20150704113159p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150704113159p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch4 id=\"次の状態になることを確認する\"\u003e次の状態になることを確認する\u003c/h4\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150704/20150704113750.png\" alt=\"f:id:nnasaki:20150704113750p:plain\" title=\"f:id:nnasaki:20150704113750p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150704113750p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e以上で解決しました。言語設定でキーボードレイアウトが変わることを知りませんでした。\u003c/p\u003e\n\u003chr\u003e","title":"Parallels Desktop でキーボードが106(JIS)レイアウトにならない場合の対処"},{"content":"昨年に続き受賞いたしました。とりあえず1年で終わらなくて良かったと思います。\nそういえば昨年なにか書いたなと思って振り返ってみました。\nMicrosoft MVP for Microsoft Azure を初受賞いたしました - nnasakiのブログblog.nnasaki.com\nあー、もう小っ恥ずかしいこと色々書いてるなぁと思いつつｗ\n今後は目標は二つです。\n一つ目はモバイルサービスだけではなく、Microsoft Azure の他のサービスを含めて実践的な使い方をご紹介しつつ、自身が作成したアプリなどの事例などを交えて、より多くの人に Microsoft Azure を使っていただくことです。\n勉強会の登壇などで多少はお役に立てたかなぁ？記事とかの執筆がちょっと薄かった気がする。\n二つ目は東北の仙台において、数少ない MVP として .NET 界隈を盛り上げていきたいと思っています。ASP.NET vNextにも issue を登録したりしていますが、Xamarin や Unity 等は Mac 上でも動きますし、c#は言語ランキングでも4位に入る という調査結果もあります。どうにか盛り上げていければなぁと思います。\nこれは サトヤ仙台 - 仙台発のMicrosoft系コミュニティ を立ち上げたことで出来たかなと思ってます。\nサトヤ仙台 - 仙台発のMicrosoft系コミュニティsatoyasendai.com\n私にとって Microsoft MVP は一つの目標でしたがゴールではないので、今後も後悔だけはしないように活動を継続していきたいと思います。よろしくお願いいたします。\n偉そうなこと言っているなぁｗ この1年でいろいろな方との出会いがあり、会社も辞めるというハプニングもありましたが、皆様に支えられているなぁというのを本当に実感するばかり。後悔しないようにという部分は継続したいと思います。\nしかし、今年の SQL Database の情報発信はAzure界のやまもとまさに任せる。— Masayuki Ozawa (@Masayuki_Ozawa) 2015, 7月 1\n(ヾﾉ･∀･`)ﾅｲﾅｲ\n","permalink":"/entry/2015/07/01/233428/","summary":"\u003cp\u003e昨年に続き受賞いたしました。とりあえず1年で終わらなくて良かったと思います。\u003c/p\u003e\n\u003cp\u003eそういえば昨年なにか書いたなと思って振り返ってみました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2014/07/01/231905\"\u003eMicrosoft MVP for Microsoft Azure を初受賞いたしました - nnasakiのブログ\u003c/a\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2014/07/01/231905\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eあー、もう小っ恥ずかしいこと色々書いてるなぁと思いつつｗ\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e今後は目標は二つです。\u003c/p\u003e\n\u003cp\u003e一つ目はモバイルサービスだけではなく、Microsoft Azure の他のサービスを含めて実践的な使い方をご紹介しつつ、自身が作成したアプリなどの事例などを交えて、より多くの人に Microsoft Azure を使っていただくことです。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e勉強会の登壇などで多少はお役に立てたかなぁ？記事とかの執筆がちょっと薄かった気がする。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e二つ目は東北の仙台において、数少ない MVP として .NET 界隈を盛り上げていきたいと思っています。ASP.NET vNextにも issue を登録したりしていますが、Xamarin や Unity 等は Mac 上でも動きますし、c#は言語ランキングでも4位に入る という調査結果もあります。どうにか盛り上げていければなぁと思います。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eこれは \u003ca href=\"http://satoyasendai.com/\"\u003eサトヤ仙台 - 仙台発のMicrosoft系コミュニティ\u003c/a\u003e を立ち上げたことで出来たかなと思ってます。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://satoyasendai.com/\"\u003eサトヤ仙台 - 仙台発のMicrosoft系コミュニティ\u003c/a\u003e\u003ca href=\"http://satoyasendai.com/\"\u003esatoyasendai.com\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e私にとって Microsoft MVP は一つの目標でしたがゴールではないので、今後も後悔だけはしないように活動を継続していきたいと思います。よろしくお願いいたします。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e偉そうなこと言っているなぁｗ\nこの1年でいろいろな方との出会いがあり、会社も辞めるというハプニングもありましたが、皆様に支えられているなぁというのを本当に実感するばかり。後悔しないようにという部分は継続したいと思います。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eしかし、今年の SQL Database の情報発信はAzure界のやまもとまさに任せる。— Masayuki Ozawa (@Masayuki_Ozawa) \u003ca href=\"https://twitter.com/Masayuki_Ozawa/status/616250529287532544\"\u003e2015, 7月 1\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e(ヾﾉ･∀･`)ﾅｲﾅｲ\u003c/p\u003e\n\u003chr\u003e","title":"2015 Microsoft MVP for Microsoft Azure を受賞いたしました"},{"content":"手元の Macbook Pro を Yosemite にアップグレードしたところ、いつの間にか勝手に再起動してしまうことがありました。\nf:id:nnasaki:20150624204850p:plain 最初はアップデートかなぁと思ったら、問題が起きたから再起動をしたよと出ていたのでちょっと調べてみました。\nEXTENDED BODY:\nログの確認方法 Mac OS X：カーネルパニックのログ方法 - Apple サポートsupport.apple.com\nより、 /Library/Logs/DiagnosticReports の Kernel_ から始まるファイル名であります。\n内容を次の通り\n*** Panic Report *** panic(cpu 6 caller 0xffffff802eb4131b): \u0026#34;vnode_rele_ext: vp 0xffffff80436651e0 usecount -ve : -1. v_tag = 16, v_type = 1, v_flag = 84800.\u0026#34;@/SourceCache/xnu/xnu-2782.20.48/bsd/vfs/vfs_subr.c:1867 Backtrace (CPU 6), Frame : Return Address 原因は Sophos Anti-Virus 今時はMacもウイルスが怖いので、当然アンチウイルスを入れていました。結論から言えば、Sophosが原因でした。\nSophos Anti-Virus オンアクセススキャナが原因で OS X Mavericks 上で予期しない再起動が行われるwww.sophos.com\nこの問題に該当するかどうかを確認するには、 \u0026ldquo;vnode_rele_ext\u0026rdquo; および \u0026ldquo;usecount -ve\u0026rdquo; という参照項目が含まれているかどうかを確認します。\nKBは Mac OS X 10.9 のもので、既に解決しているようですが OS X 10.10 で再発しているかもしれません。\n対策は Sophos をアンインストール Sophos をアンインストールして、ノーガードはさすがに怖いので avast を入れたところ panic で再起動する現象は無くなりました。\navast がベストかどうかはわかりませんが、しばらくはこれで行こうと思います。\nアバスト! |ウイルスに対抗するセキュリティソフトの無料ダウンロードwww.avast.co.jp\n","permalink":"/entry/2015/06/24/210548/","summary":"\u003cp\u003e手元の Macbook Pro を Yosemite にアップグレードしたところ、いつの間にか勝手に再起動してしまうことがありました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150624/20150624204850.png\" alt=\"f:id:nnasaki:20150624204850p:plain\" title=\"f:id:nnasaki:20150624204850p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150624204850p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e最初はアップデートかなぁと思ったら、問題が起きたから再起動をしたよと出ていたのでちょっと調べてみました。\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003ch3 id=\"ログの確認方法\"\u003eログの確認方法\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://support.apple.com/ja-jp/HT201753\"\u003eMac OS X：カーネルパニックのログ方法 - Apple サポート\u003c/a\u003e\u003ca href=\"https://support.apple.com/ja-jp/HT201753\"\u003esupport.apple.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eより、 \u003ccode\u003e/Library/Logs/DiagnosticReports\u003c/code\u003e の \u003ccode\u003eKernel_\u003c/code\u003e から始まるファイル名であります。\u003c/p\u003e\n\u003cp\u003e内容を次の通り\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e*** Panic Report ***\npanic(cpu 6 caller 0xffffff802eb4131b): \u0026#34;vnode_rele_ext: vp 0xffffff80436651e0 usecount -ve : -1.  v_tag = 16, v_type = 1, v_flag = 84800.\u0026#34;@/SourceCache/xnu/xnu-2782.20.48/bsd/vfs/vfs_subr.c:1867\nBacktrace (CPU 6), Frame : Return Address\n\u003c/code\u003e\u003c/pre\u003e\u003ch3 id=\"原因は-sophos-anti-virus\"\u003e原因は Sophos Anti-Virus\u003c/h3\u003e\n\u003cp\u003e今時はMacもウイルスが怖いので、当然アンチウイルスを入れていました。結論から言えば、Sophosが原因でした。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.sophos.com/ja-jp/support/knowledgebase/120822.aspx\"\u003eSophos Anti-Virus オンアクセススキャナが原因で OS X Mavericks 上で予期しない再起動が行われる\u003c/a\u003e\u003ca href=\"https://www.sophos.com/ja-jp/support/knowledgebase/120822.aspx\"\u003ewww.sophos.com\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eこの問題に該当するかどうかを確認するには、 \u0026ldquo;vnode_rele_ext\u0026rdquo; および \u0026ldquo;usecount -ve\u0026rdquo; という参照項目が含まれているかどうかを確認します。\u003c/p\u003e","title":"Mac OS X 10.10 Yosemite が突然再起動する問題の対処"},{"content":"Azure DNS プレビュー公開！ - nnasakiのブログblog.nnasaki.com\nにて Azure DNS が発表されましたので、早速使ってみました。\nただ使うだけじゃ面白くないので、このblogを blog.nnasaki.com の独自ドメインに対応させました。手順は次の通り。\nEXTENDED BODY:\n事前準備 Windowsマシンを用意する。仮想マシンでOK。\nMicrosoft Web Platform Installer をインストールして、Azure PowerShell をインストールする。\nリソースグループを作る 基本的に DNS GetStarted をなぞっていけばOKです。\nGet started with Azure DNS | Microsoft Azureazure.microsoft.com\npowershell を起動してアカウントを追加する\nf:id:nnasaki:20150505032006p:plain サブスクリプションを選択する\nf:id:nnasaki:20150505032111p:plain リソースグループを追加する\nf:id:nnasaki:20150505032216p:plain nnasaki.com の DNS Zone を作る Azure DNS を有効にする\nf:id:nnasaki:20150505032254p:plain Dns Zone を作成する\nf:id:nnasaki:20150505032326p:plain こんな感じで取得出来れば成功です\nf:id:nnasaki:20150505032546p:plain レジストラの NameServer を変更する 今回は ValueDomain でドメインを取得していたので、 NameServer を Azure DNS に切り替えます。先ほど取得した RecordType が NS のものを設定してあげればOKです。\nf:id:nnasaki:20150505032814p:plain CNAME を追加する これもドキュメントの通り行えばOKですが、 CNAME ではなく A レコードなので、ちょっと異なります。\nCreate a record set and records for a DNS Zone | Microsoft Azureazure.microsoft.com\nCNAME の RecordSet を追加します。\nf:id:nnasaki:20150505033242p:plain 追加した RecordSet を取得して CName に blog.nnasaki.com を追加します。CName 最後の . は勝手に補完してくれるみたいです。\nf:id:nnasaki:20150505033414p:plain Set して完了です\nf:id:nnasaki:20150505034156p:plain nslookup で確認してみましょう。\nf:id:nnasaki:20150505033621p:plain 数秒で有効になりました。\n最後にはてなブログの設定をする PRO に入らないと行けないですが、 blog.nnasaki.com を追加するだけでいけました。\nf:id:nnasaki:20150505033859p:plain まとめ PowerShell さえ入れてしまえば意外と簡単に使えます。はやくポータルから使えるようになると良いですね。\n","permalink":"/entry/2015/05/05/034416/","summary":"\u003cp\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2015/05/05/021819\"\u003eAzure DNS プレビュー公開！ - nnasakiのブログ\u003c/a\u003e\u003ca href=\"http://blog.nnasaki.com/entry/2015/05/05/021819\"\u003eblog.nnasaki.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eにて Azure DNS が発表されましたので、早速使ってみました。\u003c/p\u003e\n\u003cp\u003eただ使うだけじゃ面白くないので、このblogを blog.nnasaki.com の独自ドメインに対応させました。手順は次の通り。\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eEXTENDED BODY:\u003c/p\u003e\n\u003ch1 id=\"事前準備\"\u003e事前準備\u003c/h1\u003e\n\u003cp\u003eWindowsマシンを用意する。仮想マシンでOK。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://go.microsoft.com/fwlink/p/?linkid=320376\u0026amp;clcid=0x409\"\u003eMicrosoft Web Platform Installer\u003c/a\u003e をインストールして、Azure PowerShell をインストールする。\u003c/p\u003e\n\u003ch1 id=\"リソースグループを作る\"\u003eリソースグループを作る\u003c/h1\u003e\n\u003cp\u003e基本的に DNS GetStarted をなぞっていけばOKです。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://azure.microsoft.com/en-us/documentation/articles/dns-getstarted-create-dnszone/\"\u003eGet started with Azure DNS | Microsoft Azure\u003c/a\u003e\u003ca href=\"http://azure.microsoft.com/en-us/documentation/articles/dns-getstarted-create-dnszone/\"\u003eazure.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003epowershell を起動してアカウントを追加する\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150505/20150505032006.png\" alt=\"f:id:nnasaki:20150505032006p:plain\" title=\"f:id:nnasaki:20150505032006p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150505032006p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eサブスクリプションを選択する\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150505/20150505032111.png\" alt=\"f:id:nnasaki:20150505032111p:plain\" title=\"f:id:nnasaki:20150505032111p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150505032111p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eリソースグループを追加する\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150505/20150505032216.png\" alt=\"f:id:nnasaki:20150505032216p:plain\" title=\"f:id:nnasaki:20150505032216p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150505032216p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch1 id=\"nnasakicom-の-dns-zone-を作る\"\u003ennasaki.com の DNS Zone を作る\u003c/h1\u003e\n\u003cp\u003eAzure DNS を有効にする\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150505/20150505032254.png\" alt=\"f:id:nnasaki:20150505032254p:plain\" title=\"f:id:nnasaki:20150505032254p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150505032254p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eDns Zone を作成する\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150505/20150505032326.png\" alt=\"f:id:nnasaki:20150505032326p:plain\" title=\"f:id:nnasaki:20150505032326p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150505032326p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eこんな感じで取得出来れば成功です\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150505/20150505032546.png\" alt=\"f:id:nnasaki:20150505032546p:plain\" title=\"f:id:nnasaki:20150505032546p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150505032546p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch1 id=\"レジストラの-nameserver-を変更する\"\u003eレジストラの NameServer を変更する\u003c/h1\u003e\n\u003cp\u003e今回は ValueDomain でドメインを取得していたので、 NameServer を Azure DNS に切り替えます。先ほど取得した RecordType が NS のものを設定してあげればOKです。\u003c/p\u003e","title":"Azure DNS を使ってみた。はてなblogを独自ドメインに対応する"},{"content":"f:id:nnasaki:20150505021207p:plain DNS | Microsoft Azure\nIgnite キーノートでは触れられませんでしたが、 Azure DNS プレビューがひっそりと公開されました。\nPricing - DNS | Microsoft Azure DNS Documentation | Microsoft Azure まだ、ポータルから操作できず、PowerShell からのみ操作できるというハードコアな仕様ですが興味のある方は是非お試しください。\nAzure PowerShell のインストールが必須。\nHow to install and configure Azure PowerShellazure.microsoft.com\nGet started with Azure DNS | Microsoft Azureazure.microsoft.com\n","permalink":"/entry/2015/05/05/021819/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150505/20150505021207.png\" alt=\"f:id:nnasaki:20150505021207p:plain\" title=\"f:id:nnasaki:20150505021207p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150505021207p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"http://azure.microsoft.com/en-us/services/dns\"\u003eDNS | Microsoft Azure\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eIgnite キーノートでは触れられませんでしたが、 Azure DNS プレビューがひっそりと公開されました。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://azure.microsoft.com/en-us/pricing/details/dns/\"\u003ePricing - DNS | Microsoft Azure\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://azure.microsoft.com/en-us/documentation/services/dns/\"\u003eDNS Documentation | Microsoft Azure\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eまだ、ポータルから操作できず、PowerShell からのみ操作できるというハードコアな仕様ですが興味のある方は是非お試しください。\u003c/p\u003e\n\u003cp\u003eAzure PowerShell のインストールが必須。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://azure.microsoft.com/en-us/documentation/articles/powershell-install-configure/\"\u003eHow to install and configure Azure PowerShell\u003c/a\u003e\u003ca href=\"http://azure.microsoft.com/en-us/documentation/articles/powershell-install-configure/\"\u003eazure.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://azure.microsoft.com/en-us/documentation/articles/dns-getstarted-create-dnszone/\"\u003eGet started with Azure DNS | Microsoft Azure\u003c/a\u003e\u003ca href=\"http://azure.microsoft.com/en-us/documentation/articles/dns-getstarted-create-dnszone/\"\u003eazure.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"Azure DNS プレビュー公開！"},{"content":"f:id:nnasaki:20150503183510p:plain Microsoft Ignite | May 4-8, 2015 | Chicago, ILignite.microsoft.com\nまとめ Office 2016 Public Preview Office 2016 Public Preview now available - Office Blogsblogs.office.com\nSkype for Business Server 2015, Exchange 2016 and SharePoint 2016 Modern productivity–Office news at Ignite - Office Blogsblogs.office.com\nSkype for Business が 10000人 に対応 Skype for Business will allow broadcasts of meetings for up to 10,000 peoplewww.windowscentral.com\nMicrosoft Azure Stack Azure と同じようなクラウド環境をプライベートクラウドに作成できる\nWindows Server 2016 System Center 2016 Microsoft Operations Management Suite Azure, AWS, Windows Server, Linux, VMware, and OpenStack まとめて管理できる\nMicrosoft Brings the Next Generation of Hybrid Cloud - Azure to Your Datacenter - Microsoft Server and Cloud Platform Blog - Site Home - TechNet Blogsblogs.technet.com\nSQL Server 2016 public preview が夏 SQL Server 2016 public preview coming this summer - SQL Server Team Blog - Site Home - TechNet Blogsblogs.technet.com\nWindows Update for Business Announcing Windows Update for Businessblogs.windows.com\nスクリーンショットとか なんかよくわかんねーけど、すげー規模\nf:id:nnasaki:20150504230430p:plain f:id:nnasaki:20150504230447p:plain f:id:nnasaki:20150504230632p:plain サティア・ナデラキター\nf:id:nnasaki:20150504230759p:plain f:id:nnasaki:20150504231310p:plain f:id:nnasaki:20150504231703p:plain f:id:nnasaki:20150504231721p:plain Windows as a service!!\nf:id:nnasaki:20150504231817p:plain f:id:nnasaki:20150504232129p:plain f:id:nnasaki:20150504232216p:plain f:id:nnasaki:20150504232635p:plain レアル・マドリードの監督登場。\nf:id:nnasaki:20150504233559p:plain f:id:nnasaki:20150504234019p:plain f:id:nnasaki:20150505014113p:plain おまけ やばいあのPeoplesなアイコンがアンパンマンにみえてきた— こすもす.えび (@kosmosebi) May 4, 2015\npic.twitter.com/19NcBQAjPF— こすもす.えび (@kosmosebi) May 4, 2015\nヤバい。アンパンマンが沢山居るようにしか見えなくなってきたｗ pic.twitter.com/ypfptuv4Sk— YAMAMOTO Masaki (@nnasaki) May 4, 2015\n追記 その他詳細はブチザッキを見てください。\nMicrosoft Ignite 2015 Keynote | ブチザッキ\n","permalink":"/entry/2015/05/05/020520/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503183510.png\" alt=\"f:id:nnasaki:20150503183510p:plain\" title=\"f:id:nnasaki:20150503183510p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503183510p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"http://ignite.microsoft.com/\"\u003eMicrosoft Ignite | May 4-8, 2015 | Chicago, IL\u003c/a\u003e\u003ca href=\"http://ignite.microsoft.com/\"\u003eignite.microsoft.com\u003c/a\u003e\u003c/p\u003e\n\u003ch1 id=\"まとめ\"\u003eまとめ\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eOffice 2016 Public Preview\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://blogs.office.com/2015/05/04/office-2016-public-preview-now-available/\"\u003eOffice 2016 Public Preview now available - Office Blogs\u003c/a\u003e\u003ca href=\"http://blogs.office.com/2015/05/04/office-2016-public-preview-now-available/\"\u003eblogs.office.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkype for Business Server 2015, Exchange 2016 and SharePoint 2016\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://blogs.office.com/2015/05/04/modern-productivity-office-news-at-ignite/\"\u003eModern productivity–Office news at Ignite - Office Blogs\u003c/a\u003e\u003ca href=\"http://blogs.office.com/2015/05/04/modern-productivity-office-news-at-ignite/\"\u003eblogs.office.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkype for Business が 10000人 に対応\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://www.windowscentral.com/skype-business-adds-way-broadcast-meetings-10000-people\"\u003eSkype for Business will allow broadcasts of meetings for up to 10,000 people\u003c/a\u003e\u003ca href=\"http://www.windowscentral.com/skype-business-adds-way-broadcast-meetings-10000-people\"\u003ewww.windowscentral.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMicrosoft Azure Stack\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAzure と同じようなクラウド環境をプライベートクラウドに作成できる\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWindows Server 2016\u003c/li\u003e\n\u003cli\u003eSystem Center 2016\u003c/li\u003e\n\u003cli\u003eMicrosoft Operations Management Suite\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAzure, AWS, Windows Server, Linux, VMware, and OpenStack まとめて管理できる\u003c/p\u003e","title":"Microsoft Ignite 2015 キーノートまとめ"},{"content":"まとめ Azure Service Fabric のセッションを聞きました。アーキテクチャーは相当素晴らしいと思いますが、いかんせん WCF っぽかったり、この実装がスタンダードになるにはちょっと難しいかなという感じはしました。\nスライドを見たコメントをつけていますが、私の英語力の限界もあり、そうとう間違った解釈もしていると思いますのでご容赦ください。\nこのボリュームは落ち穂拾いどころじゃないので、別にまとめるべきだったなぁ。。。\nセッション感想 Microsoft Azure Service Fabric Architecture (Channel 9)channel9.msdn.com\nf:id:nnasaki:20150503144813p:plain f:id:nnasaki:20150503145044p:plain f:id:nnasaki:20150503145106p:plain マイクロサービスのステートレスとステートフル\nf:id:nnasaki:20150503145518p:plain ステートレスのデモ\nf:id:nnasaki:20150503145737p:plain うーん。ここまで見てきたけど、イマイチピンと来ないのと英語がよく聞き取れないのでここまで。\nBuilding Resilient, Scalable Services with Microsoft Azure Service Fabric (Channel 9)channel9.msdn.com\nf:id:nnasaki:20150503152027p:plain 前半は同じような話なので飛ばす。\nf:id:nnasaki:20150503152211p:plain デモの英語がインド系だけどコードがまだ何とかわかるので、こっちを見てみる\nActor を使ったデモ。 インクリメンタルするカウンターがプリミティブなフィールド。\nf:id:nnasaki:20150503152339p:plain こんな感じで無限ループでカウントアップさせていくよう\nf:id:nnasaki:20150503152511p:plain 実行するとカウントアップする\nf:id:nnasaki:20150503152736p:plain ノードをリスタートすると。。。\nf:id:nnasaki:20150503152852p:plain カウンターがリセットされる\nf:id:nnasaki:20150503152930p:plain ではどうすればステートが保持されるか？ シリアライザブルなクラスを追加し、Actorのジェネリクスに追加する\nf:id:nnasaki:20150503153226p:plain this.value ではなく、 this.State.value の値を使う。Actor が持っているっぽい。\nf:id:nnasaki:20150503153416p:plain デプロイしてブレイクポイントにも止まります。\nf:id:nnasaki:20150503153632p:plain 先ほどのノードが1つだったのが3つに増えている。プライマリーとセカンダリーが２つ。特に設定はしておらず、自動的になった。\nf:id:nnasaki:20150503153748p:plain 先ほどと同じように Node4 にリスタートをかけるとプライマリーノードがダウン。即セカンダリーにフェールオーバー。また、Node4 がセカンダリノードとして復活。\nf:id:nnasaki:20150503153936p:plain f:id:nnasaki:20150503154057p:plain f:id:nnasaki:20150503154347p:plain カウンターが途切れること無く続行（拍手） 。フェールオーバーまで3秒もかかっておらず、素晴らしい。\nf:id:nnasaki:20150503154516p:plain oh\u0026hellip; Deep Dive \u0026hellip;\nf:id:nnasaki:20150503154725p:plain Deep Dive into Microsoft Azure Service Fabric Reliable Actors (Channel 9)channel9.msdn.com\nDeepDive をチラ見した感じだと、 Actor の歴史とかどうして使うかが説明されてて、もやもやがちょっと紐解けそうな感じがしました。\nf:id:nnasaki:20150503201941p:plain f:id:nnasaki:20150503202010p:plain ここでやめようかと思ったけど、もうちょっとだけがんばって、次はアプリケーションのデプロイの話。\nCode と Config をサービスごとにパッケージングする\nf:id:nnasaki:20150503192943p:plain f:id:nnasaki:20150503193038p:plain 各サービスをアプリケーションパッケージにまとめる。アプリケーションタイプにはサービスタイプとWebアプリケーションタイプに分かれる\nf:id:nnasaki:20150503193207p:plain サービスタイプ、アプリケーションタイプと分かれる。それぞれユニークな名前を持つようだけど、ちょっと理解出来ず。\nf:id:nnasaki:20150503193453p:plain サービス API は ステートレスかステートフルで選べる。\nf:id:nnasaki:20150503193720p:plain Reliable Collections 最強の図。複数のマシンでレプリケート可能で永続化可能で非同期でトランザクション制御もできる。\nf:id:nnasaki:20150503193909p:plain IReliableDictionary\u0026lt;K, V\u0026gt; のハッシュと、 IReliableQueue のキューの2種類がある。\nf:id:nnasaki:20150503194015p:plain コード例。 [ServiceContract]って めっちゃWCF臭がする。。。\nf:id:nnasaki:20150503194256p:plain てか、Namespace にめっちゃ WCF ってかいてるじゃん。。。\nf:id:nnasaki:20150503194345p:plain Actor と同じように、ステートレスのデモ。サービスをリスタートさせるとカウントが戻る\nf:id:nnasaki:20150503194526p:plain f:id:nnasaki:20150503194547p:plain f:id:nnasaki:20150503194604p:plain 従来の Could Service と Stateful Service Fabric で作る場合の対比図。Service Fabric で作れば、 Reliable Collections で済んでしまうので、 Azure Queue も Table も不要になる。 従来のクラウドデザインパターンを覆すぐらいのインパクトありますね。\nf:id:nnasaki:20150503194703p:plain 次はステートフルの例。やはり3パーティションできる。Actor と同じようにリスタートをかけても、大丈夫。Actor の時よりサービスが重いためか、なかなか Down から上がってこないが、残り二つのパーティションで頑張っている。\nf:id:nnasaki:20150503195324p:plain f:id:nnasaki:20150503195441p:plain スケールアップの話。パーティションを増やすことでスケールアップできる。 RAID5とかと同じイメージ。 Node には複数のパーティションがあり、パーティションは必ず３つのレプリカを各 Node に作成する。\nf:id:nnasaki:20150503195615p:plain ロードバランサーでリクエストを受けて、各パーティションにリクエストを振り分ける。ところでこのパーティションを分割するとデータは垂直分割なんだろうか水平分割なんだろうか。\nf:id:nnasaki:20150503195900p:plain パーティション増やすのも ApplicationManifest.xml に書けば良いだけかな？\nf:id:nnasaki:20150503200350p:plain さっきよりグラフィカルな監視画面。例えばノード単位で落としても、フェールオーバーしてアプリケーションは継続して動く。\nf:id:nnasaki:20150503200602p:plain Chaos Test Service。ランダムでノードとパーティションを落として、耐久テストを行う。\nf:id:nnasaki:20150503200822p:plain ランダムで落としてもゾンビのように立ち上がってくるパーティション達。カウントはその間止まること無く増え続ける（拍手）\nf:id:nnasaki:20150503201111p:plain 質疑応答も大人気。その間も止まること無くテストは続く。\nf:id:nnasaki:20150503201140p:plain 次のセッションの準備中まで質問は続くよ。質問ではクラウドサービスからの移行はどうかとか、デプロイはどうかとか言ってました。移行はドキュメントを用意するのと、デプロイはリソースマネージャーで出来るよと言ってた気がする。\nなるほど、この規模のデプロイは単純にいかないから、リソースマネージャーが結構フューチャーされていたのかなぁと感じがしました。\nf:id:nnasaki:20150503201252p:plain ","permalink":"/entry/2015/05/03/202605/","summary":"\u003ch1 id=\"まとめ\"\u003eまとめ\u003c/h1\u003e\n\u003cp\u003eAzure Service Fabric のセッションを聞きました。アーキテクチャーは相当素晴らしいと思いますが、いかんせん WCF っぽかったり、この実装がスタンダードになるにはちょっと難しいかなという感じはしました。\u003c/p\u003e\n\u003cp\u003eスライドを見たコメントをつけていますが、私の英語力の限界もあり、そうとう間違った解釈もしていると思いますのでご容赦ください。\u003c/p\u003e\n\u003cp\u003eこのボリュームは落ち穂拾いどころじゃないので、別にまとめるべきだったなぁ。。。\u003c/p\u003e\n\u003ch1 id=\"セッション感想\"\u003eセッション感想\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2015/2-640\"\u003eMicrosoft Azure Service Fabric Architecture (Channel 9)\u003c/a\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2015/2-640\"\u003echannel9.msdn.com\u003c/a\u003e\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503144813.png\" alt=\"f:id:nnasaki:20150503144813p:plain\" title=\"f:id:nnasaki:20150503144813p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503144813p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503145044.png\" alt=\"f:id:nnasaki:20150503145044p:plain\" title=\"f:id:nnasaki:20150503145044p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503145044p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503145106.png\" alt=\"f:id:nnasaki:20150503145106p:plain\" title=\"f:id:nnasaki:20150503145106p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503145106p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eマイクロサービスのステートレスとステートフル\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503145518.png\" alt=\"f:id:nnasaki:20150503145518p:plain\" title=\"f:id:nnasaki:20150503145518p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503145518p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eステートレスのデモ\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503145737.png\" alt=\"f:id:nnasaki:20150503145737p:plain\" title=\"f:id:nnasaki:20150503145737p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503145737p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eうーん。ここまで見てきたけど、イマイチピンと来ないのと英語がよく聞き取れないのでここまで。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2015/2-700\"\u003eBuilding Resilient, Scalable Services with Microsoft Azure Service Fabric (Channel 9)\u003c/a\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2015/2-700\"\u003echannel9.msdn.com\u003c/a\u003e\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503152027.png\" alt=\"f:id:nnasaki:20150503152027p:plain\" title=\"f:id:nnasaki:20150503152027p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503152027p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e前半は同じような話なので飛ばす。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503152211.png\" alt=\"f:id:nnasaki:20150503152211p:plain\" title=\"f:id:nnasaki:20150503152211p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503152211p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eデモの英語がインド系だけどコードがまだ何とかわかるので、こっちを見てみる\u003c/p\u003e\n\u003cp\u003eActor を使ったデモ。\nインクリメンタルするカウンターがプリミティブなフィールド。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503152339.png\" alt=\"f:id:nnasaki:20150503152339p:plain\" title=\"f:id:nnasaki:20150503152339p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503152339p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eこんな感じで無限ループでカウントアップさせていくよう\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503152511.png\" alt=\"f:id:nnasaki:20150503152511p:plain\" title=\"f:id:nnasaki:20150503152511p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503152511p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e実行するとカウントアップする\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503152736.png\" alt=\"f:id:nnasaki:20150503152736p:plain\" title=\"f:id:nnasaki:20150503152736p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503152736p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eノードをリスタートすると。。。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503152852.png\" alt=\"f:id:nnasaki:20150503152852p:plain\" title=\"f:id:nnasaki:20150503152852p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503152852p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eカウンターがリセットされる\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503152930.png\" alt=\"f:id:nnasaki:20150503152930p:plain\" title=\"f:id:nnasaki:20150503152930p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503152930p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eではどうすればステートが保持されるか？\nシリアライザブルなクラスを追加し、Actorのジェネリクスに追加する\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503153226.png\" alt=\"f:id:nnasaki:20150503153226p:plain\" title=\"f:id:nnasaki:20150503153226p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503153226p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003ethis.value ではなく、 this.State.value の値を使う。Actor が持っているっぽい。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503153416.png\" alt=\"f:id:nnasaki:20150503153416p:plain\" title=\"f:id:nnasaki:20150503153416p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503153416p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eデプロイしてブレイクポイントにも止まります。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503153632.png\" alt=\"f:id:nnasaki:20150503153632p:plain\" title=\"f:id:nnasaki:20150503153632p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503153632p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e先ほどのノードが1つだったのが3つに増えている。プライマリーとセカンダリーが２つ。特に設定はしておらず、自動的になった。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503153748.png\" alt=\"f:id:nnasaki:20150503153748p:plain\" title=\"f:id:nnasaki:20150503153748p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503153748p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e先ほどと同じように Node4 にリスタートをかけるとプライマリーノードがダウン。即セカンダリーにフェールオーバー。また、Node4 がセカンダリノードとして復活。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503153936.png\" alt=\"f:id:nnasaki:20150503153936p:plain\" title=\"f:id:nnasaki:20150503153936p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503153936p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503154057.png\" alt=\"f:id:nnasaki:20150503154057p:plain\" title=\"f:id:nnasaki:20150503154057p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503154057p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503154347.png\" alt=\"f:id:nnasaki:20150503154347p:plain\" title=\"f:id:nnasaki:20150503154347p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503154347p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eカウンターが途切れること無く続行（拍手） 。フェールオーバーまで3秒もかかっておらず、素晴らしい。\u003c/p\u003e","title":"Build 2015 落ち穂拾い - Azure Service Fabric -"},{"content":"Azure Resource Manager (Channel 9)channel9.msdn.com\nimperative(命令的) か declarative(宣言的) か選ぶことができる\nf:id:nnasaki:20150503125120p:plain PowerShell のデモ\nf:id:nnasaki:20150503141009p:plain 複数のサブスクリプションを選ぶことが可能\nf:id:nnasaki:20150503141112p:plain テンプレートのスキーマは 2015-01-01 を選ぶ\nf:id:nnasaki:20150503141247p:plain 少し見にくいけど、 AzureCLI で ストレージアカウント を作るデモ\nf:id:nnasaki:20150503141619p:plain テンプレートに記述できる式\nf:id:nnasaki:20150503141758p:plain ElasticSearch を構築するデモ\nf:id:nnasaki:20150503141913p:plain azure-quickstart-templates/elasticsearch at master · Azure/azure-quickstart-templates に行って、 Deploy to Azure ボタンを押すと Portal で読み込む\nあとは必要な情報を記入すれば、あっという間にデプロイ完了\nf:id:nnasaki:20150503143214p:plain リソースマネージャーの構成は３つ\nリソースグループ リソースへのリンク タグ f:id:nnasaki:20150503143359p:plain テンプレートは参照したり入れ子したりできる\nf:id:nnasaki:20150503143526p:plain f:id:nnasaki:20150503143629p:plain f:id:nnasaki:20150503143654p:plain f:id:nnasaki:20150503143721p:plain リソースマネージャーはロールでアクセスコントロールが可能\nf:id:nnasaki:20150503143926p:plain f:id:nnasaki:20150503143955p:plain ","permalink":"/entry/2015/05/03/144309/","summary":"\u003cp\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2015/2-659\"\u003eAzure Resource Manager (Channel 9)\u003c/a\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2015/2-659\"\u003echannel9.msdn.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eimperative(命令的) か declarative(宣言的) か選ぶことができる\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503125120.png\" alt=\"f:id:nnasaki:20150503125120p:plain\" title=\"f:id:nnasaki:20150503125120p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503125120p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003ePowerShell のデモ\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503141009.png\" alt=\"f:id:nnasaki:20150503141009p:plain\" title=\"f:id:nnasaki:20150503141009p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503141009p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e複数のサブスクリプションを選ぶことが可能\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503141112.png\" alt=\"f:id:nnasaki:20150503141112p:plain\" title=\"f:id:nnasaki:20150503141112p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503141112p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eテンプレートのスキーマは 2015-01-01 を選ぶ\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503141247.png\" alt=\"f:id:nnasaki:20150503141247p:plain\" title=\"f:id:nnasaki:20150503141247p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503141247p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e少し見にくいけど、 AzureCLI で ストレージアカウント を作るデモ\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503141619.png\" alt=\"f:id:nnasaki:20150503141619p:plain\" title=\"f:id:nnasaki:20150503141619p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503141619p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eテンプレートに記述できる式\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503141758.png\" alt=\"f:id:nnasaki:20150503141758p:plain\" title=\"f:id:nnasaki:20150503141758p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503141758p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eElasticSearch を構築するデモ\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503141913.png\" alt=\"f:id:nnasaki:20150503141913p:plain\" title=\"f:id:nnasaki:20150503141913p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503141913p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/Azure/azure-quickstart-templates/tree/master/elasticsearch\"\u003eazure-quickstart-templates/elasticsearch at master · Azure/azure-quickstart-templates\u003c/a\u003e に行って、 Deploy to Azure ボタンを押すと Portal で読み込む\u003c/p\u003e\n\u003cp\u003eあとは必要な情報を記入すれば、あっという間にデプロイ完了\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503143214.png\" alt=\"f:id:nnasaki:20150503143214p:plain\" title=\"f:id:nnasaki:20150503143214p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503143214p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eリソースマネージャーの構成は３つ\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eリソースグループ\u003c/li\u003e\n\u003cli\u003eリソースへのリンク\u003c/li\u003e\n\u003cli\u003eタグ\u003c/li\u003e\n\u003c/ul\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503143359.png\" alt=\"f:id:nnasaki:20150503143359p:plain\" title=\"f:id:nnasaki:20150503143359p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503143359p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eテンプレートは参照したり入れ子したりできる\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503143526.png\" alt=\"f:id:nnasaki:20150503143526p:plain\" title=\"f:id:nnasaki:20150503143526p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503143526p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503143629.png\" alt=\"f:id:nnasaki:20150503143629p:plain\" title=\"f:id:nnasaki:20150503143629p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503143629p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503143654.png\" alt=\"f:id:nnasaki:20150503143654p:plain\" title=\"f:id:nnasaki:20150503143654p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503143654p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503143721.png\" alt=\"f:id:nnasaki:20150503143721p:plain\" title=\"f:id:nnasaki:20150503143721p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503143721p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eリソースマネージャーはロールでアクセスコントロールが可能\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503143926.png\" alt=\"f:id:nnasaki:20150503143926p:plain\" title=\"f:id:nnasaki:20150503143926p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503143926p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150503/20150503143955.png\" alt=\"f:id:nnasaki:20150503143955p:plain\" title=\"f:id:nnasaki:20150503143955p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150503143955p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003chr\u003e","title":"Build 2015 落ち穂拾い - Resource Manager -"},{"content":"衝撃の発表が多かった Build 2015 でしたが、各ブレイクアウトセッションも興味深いのが多いので、作業しながら見ています。\n今のところ以下を見ていく予定ですが、追記していきます。これ、全部見ても二日後には Ignite でまた見るモノが増えるんだぜきっと。。。\nBuild セッション一覧 Build 2015 | Channel 9\n視聴済セッション Azure The Next Generation of Azure Compute Platform with Mark Russinovich | Build 2015 | Channel 9 とりあえず Russinovich から見る。\nAzure Resource Manager Virtual Machine, Storage and Networking APIs Service Fabric Azure Resource Manager だいぶ使えるようになってきた感じ。まぁ、 Amazon Cloud Formation の Azure 版みたいなもんです。 DSL は Logic App Workflow Definition Language ともちょっと違うっぽいなぁ。\nAzure Resource Manager Template Language Virtual Machine, Storage and Networking APIs ふむ Managed IaaS (IaaS+) とな。\nf:id:nnasaki:20150502170314p:plain f:id:nnasaki:20150502170521p:plain ひとつの Resource Template で Private も Public Cloud も両方対応できる。\nなにこれ。 Mesosphere っていうのか。超カッコイイんですけど。\nf:id:nnasaki:20150502170945p:plain f:id:nnasaki:20150502170824p:plain Service Fabric Microservices について\nf:id:nnasaki:20150502171134p:plain Service Fabric の Programing Models\nf:id:nnasaki:20150502171230p:plain Reliable Services API について\nf:id:nnasaki:20150502171330p:plain コード例。トランザクションでマルチスレッドでも値の書き換えを保護。 IReliableDictionary を 使うだけで結構手軽な感じはする。\nf:id:nnasaki:20150502171749p:plain 投票アプリの例。なんとなくわかるかなーぐらい。\nf:id:nnasaki:20150502171938p:plain f:id:nnasaki:20150502172358p:plain Actors API について。だいぶついていけない。\nf:id:nnasaki:20150502172308p:plain Actoroids というゲームの例。ゲームのようなリアルタイムな感じのに使うのかな\nf:id:nnasaki:20150502172522p:plain ゲーム画面。Corey 登場するも、コントローラー不調でうまく動かなかったみたいｗ\nf:id:nnasaki:20150502172632p:plain ローリングアップデートのデモ。ゲームをしながらでも中断することなくアップデートが適用可能。\nf:id:nnasaki:20150502172813p:plain ダムの管制センター？Service Fabric のリアルタイム性・信頼性・パフォーマンスが各センサーの値を漏らすこと無く拾って役立っているという事例紹介。\nf:id:nnasaki:20150502172952p:plain 各レイヤーから最適なものを選ぶ。\nf:id:nnasaki:20150502165241p:plain Service Fabric のリリース予定。今は C#/C++ の Windows のみですが、Linux も予定されている。Containers もあるので、Docker もそのまま動くことになるでしょう。\nf:id:nnasaki:20150502164855p:plain Iaas/Service Fabric/App Service の使い分け。 早く手軽にであれば、 App Service を使う。\nf:id:nnasaki:20150502165007p:plain Resource Manager Build 2015 落ち穂拾い - Resource Manager - - nnasakiのブログnnasaki.hatenablog.com\n視聴予定セッション Virtual machines 2-646 Introduction and What’s New in Azure IaaS 2-688 Azure Virtual Machines Deep Dive Containers 2-683 Thinking in Containers: Building a Scalable, Next-Gen Application with Docker on Azure 2-704 Windows Containers: What, Why and How Service Fabric 2-640 Microsoft Azure Service Fabric Architecture 2-700 Building Resilient, Scalable Services with Microsoft Azure Service Fabric ","permalink":"/entry/2015/05/02/173521/","summary":"\u003cp\u003e衝撃の発表が多かった Build 2015 でしたが、各ブレイクアウトセッションも興味深いのが多いので、作業しながら見ています。\u003c/p\u003e\n\u003cp\u003e今のところ以下を見ていく予定ですが、追記していきます。これ、全部見ても二日後には Ignite でまた見るモノが増えるんだぜきっと。。。\u003c/p\u003e\n\u003ch1 id=\"build-セッション一覧\"\u003eBuild セッション一覧\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"http://channel9.msdn.com/events/build/2015?wt.mc_id=build_hp\"\u003eBuild 2015 | Channel 9\u003c/a\u003e\u003c/p\u003e\n\u003ch2 id=\"視聴済セッション\"\u003e視聴済セッション\u003c/h2\u003e\n\u003ch3 id=\"azure\"\u003eAzure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2015/3-618\"\u003eThe Next Generation of Azure Compute Platform with Mark Russinovich | Build 2015 | Channel 9\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eとりあえず Russinovich から見る。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAzure Resource Manager\u003c/li\u003e\n\u003cli\u003eVirtual Machine, Storage and Networking APIs\u003c/li\u003e\n\u003cli\u003eService Fabric\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"azure-resource-manager\"\u003eAzure Resource Manager\u003c/h4\u003e\n\u003cp\u003eだいぶ使えるようになってきた感じ。まぁ、 Amazon Cloud Formation の Azure 版みたいなもんです。 DSL は \u003ca href=\"https://msdn.microsoft.com/en-US/library/azure/dn948512.aspx\"\u003eLogic App Workflow Definition Language\u003c/a\u003e ともちょっと違うっぽいなぁ。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://msdn.microsoft.com/en-us/library/azure/dn835138.aspx\"\u003eAzure Resource Manager Template Language\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"virtual-machine-storage-and-networking-apis\"\u003eVirtual Machine, Storage and Networking APIs\u003c/h4\u003e\n\u003cp\u003eふむ Managed IaaS (IaaS+) とな。\u003c/p\u003e","title":"Build 2015 落ち穂拾い"},{"content":"象のジレンマ：データベースの未来はどうなる？japan.zdnet.com\n「Ingres」や「Postgres」の開発を行った、Michael Stonebraker氏がチューリング賞を受賞した際のインタビューなんですが、データベースの未来について興味深かったので記事を書きました。\n2000年から2015年までのDB市場について インタビューワが次のように聞いています。\n\u0026ndash;最近受けたインタビューでは、Oracleのような企業がデータベース市場で長い間支配的な地位にあることについて、そういう時期は終わったという意味のことを話されていましたね。今でもそう思われますか？\nおお、Oracle をいきなりオワコン扱いか。こいつは面白いぞと思いました。\n2000年頃までのデータベース市場は、「1つのサイズですべてをまかなう」時代でしたし、その頃は「Oracleが答え」でした。1つしか道具がなければ、あらゆることにそれを使うしかないでしょう。\n2000年頃までは、ほぼほぼ RDBMS 一色だった。\nf:id:nnasaki:20150501131133p:plain しかしその状況は2000年代の最初の10年で急激に変わりました。\n今のデータベース市場は3分の1がトランザクション処理であり、3分の1がデータウェアハウスであり、残り3分の1をそのほか全部が占めているとわたしは考えています。この15年間で起こったことは、データウェアハウス市場をほとんど完全にロウストアからカラムストアに変えました。今ではカラムストアはロウストアよりも圧倒的に高速です。\nこれによって、ロウストアを売っていた従来のデータベースベンダーは、技術的に間違った側になってしまったのです。\n2ページ目までにわたって持論を展開しています。2015年では次のようなイメージのようです。\nf:id:nnasaki:20150501134653p:plain ロウストアなリレーショナルデータベースの優位性は無くなる わたしが見るところでは、この市場の3分の2については、従来のベンダーには技術的に間違った側にいます。そして残り3分の1でも、明白な利点があるわけではありません。\n2005年に書いた論文では「1つのサイズですべてをまかなう時代はもう終わった」と述べたのですが、2015年のわたしは、もっと突っ込んだ形で「1つのサイズでまかなえるものはない」と言っています。Oracle、IBM、Microsoftの従来の実装が適しているものは、基本的に何もありません。\n先ほどの図の一番左、トランザクション処理を行うロウストアなDBについても、Oracle、IBM(DB2)、Microsoft(SQL Server)はもはや優位性は何も無いと言っています。\nわたしの分類を信じてもらえるなら、データベース市場は全体の3分の1の大きさの市場が2つと、12分の1の市場が4つに分かれます。そしてその中に、大手リレーショナルデータベースベンダーの現在の実装が特に有利になる市場は1つもありません。わたしはそれらのベンダーを親しみを込めて「象」と呼んでいます。\nなるほど、大手ベンダーのことを「象」といっていたのか。象っていうと PHP本のマンモスが思い浮かぶようなそんな世代です。\nこれからどうなるか？ \u0026ndash;では、RDBMS市場はOracleのようないくつかのベンダーが支配するのではなく、多くの異なる、特化した実装が主流になるということでしょうか。\n基本的にはそうなのですが、実際にいくつくらいのベンダーが生き残るかについてははっきりしません。\nbasically agree だけどどれが主流になるかは、はっきりわからない。\nHadoopはSQLが主流になる 基本的に、本当に重要なHadoop市場はSQL市場になるでしょう。そこでmPowerを見てみると、Impalaはアーキテクチャ的にクラウドストアであり、「HP Vertica」や「Amazon Redshift」、またはその他のリレーショナルデータベースのカラムストア実装に似ています。このため、わたしはHadoop市場のほとんどはデータウェアハウス市場と融合すると考えています。\nHadoop を例にあげると、 MapReduce よりは SQL のほうが主流になりそうとのこと。また、Hadoop市場のほとんどはデータウェアハウス市場に融合というのもなんとなく合点がいきます。\nAzure Data Lake が主にこの分野かなぁ。\nNoSQL も SQL が標準になりそう この市場にはなんらかの標準がなければ生き残れない100前後のベンダーがある上に、結局SQLが標準になる可能性が一番高い状況です。\n例えば「Apache Cassandra」やMongoなどは、どちらも非常にSQLに似た高レベル言語を使用しています。\n最終的には4つか5つになるでしょうし、垂直市場向けの実装があるでしょうから、その4倍から7倍になるでしょうか。そんな数になるはずです。\nNoSQL も結局 SQL が必要だという予想。\nDocumentDB も SQL 使えるかな。\nAzure はほぼマッピングできる 今までの 2015 年のデータベース市場をAzureのサービスでマッピングしてみました。\nf:id:nnasaki:20150501134653p:plain f:id:nnasaki:20150501135317p:plain 結果、グラフ以外はすべてそろっていることになります。Azure 死角ねーな。\nデータウェアハウスを単独で使うことは無い。統合が重要。 数年前にわたしがAmazonで話をした人の例を考えると、データウェアハウスが単独で存在することはないと思います。彼は、現在と過去を比較したいと話していました。過去はデータウェアハウスの中にあり、現在はトランザクション処理システムの中にあります。したがって、データウェアハウスからのアップストリームは、ストリーム処理か、オペレーショナルデータシステムのどちらかであり、現在と過去を比較したいと思った途端に、データウェアハウスからのアップストリームを統合する必要があるわけです。つまり、うまくいくかも知れない戦略とは、統合する必要のあるアップストリームシステムを見つけて、それを統合することです。\nこの点も Azure ちゃんと考えているっぽい。先日の Build で発表のあったこの図が良さそうです。具体的にはこうです。\n1.Azure Data Lake で 各データの統合を行う DB だろうが blob だろうがすべてのデータを Azure Data Lake に突っ込み、アップストリームを統合する。\nf:id:nnasaki:20150430132932p:plain 2.SQL Data Warehouse で解析を行う すべてのデータそろっているので、SQL Data Warehouse で解析を行う。リアルタイムデータも EventHub と Stream Analytics でフィルタリングしつつ予兆も監視。\nf:id:nnasaki:20150430114440p:plain f:id:nnasaki:20150430132534p:plain まとめ RDBMS は現代には合わなくなってきているのかもしれません。 グラフデータベース ―Neo4jによるグラフデータモデルとグラフデータベース入門 にこう書いてあります。\nリレーショナルデータベースが当初、紙の伝票や表構造を体系化するように設計されていた（そして、それを非常に得意にしている）一方で、現世界で出現するアドホックで例外的な関係をモデリングしようとすると苦労します。皮肉にも、リレーショナルデータベースは関係を扱うのが苦手なのです。\n2章 2.1 リレーショナルデータベースには関係が欠如している より\nデータサイエンティストおもしれー。Azure で何でも出来そうな感じがしますね。\n[\nグラフデータベース ―Neo4jによるグラフデータモデルとグラフデータベース入門 ](http://www.amazon.co.jp/exec/obidos/ASIN/4873117143/hatena-blog-22/)[グラフデータベース ―Neo4jによるグラフデータモデルとグラフデータベース入門](http://www.amazon.co.jp/exec/obidos/ASIN/4873117143/hatena-blog-22/)- 作者: Ian Robinson,Jim Webber,Emil Eifrem,佐藤直生,木下哲也- 出版社/メーカー: オライリージャパン- 発売日: 2015/03/25- メディア: 大型本- この商品を含むブログ (1件) を見る\n","permalink":"/entry/2015/05/01/141914/","summary":"\u003cp\u003e\u003ca href=\"http://japan.zdnet.com/article/35063844/\"\u003e象のジレンマ：データベースの未来はどうなる？\u003c/a\u003e\u003ca href=\"http://japan.zdnet.com/article/35063844/\"\u003ejapan.zdnet.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e「Ingres」や「Postgres」の開発を行った、Michael Stonebraker氏が\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C1%A5%E5%A1%BC%A5%EA%A5%F3%A5%B0%BE%DE\"\u003eチューリング賞\u003c/a\u003eを受賞した際のインタビューなんですが、データベースの未来について興味深かったので記事を書きました。\u003c/p\u003e\n\u003ch1 id=\"2000年から2015年までのdb市場について\"\u003e2000年から2015年までのDB市場について\u003c/h1\u003e\n\u003cp\u003eインタビューワが次のように聞いています。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u0026ndash;最近受けたインタビューでは、\u003ca href=\"http://d.hatena.ne.jp/keyword/Oracle\"\u003eOracle\u003c/a\u003eのような企業がデータベース市場で長い間支配的な地位にあることについて、そういう時期は終わったという意味のことを話されていましたね。今でもそう思われますか？\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eおお、\u003ca href=\"http://d.hatena.ne.jp/keyword/Oracle\"\u003eOracle\u003c/a\u003e をいきなり\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AA%A5%EF%A5%B3%A5%F3\"\u003eオワコン\u003c/a\u003e扱いか。こいつは面白いぞと思いました。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e　2000年頃までのデータベース市場は、「1つのサイズですべてをまかなう」時代でしたし、その頃は「\u003ca href=\"http://d.hatena.ne.jp/keyword/Oracle\"\u003eOracle\u003c/a\u003eが答え」でした。1つしか道具がなければ、あらゆることにそれを使うしかないでしょう。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e2000年頃までは、ほぼほぼ \u003ca href=\"http://d.hatena.ne.jp/keyword/RDBMS\"\u003eRDBMS\u003c/a\u003e 一色だった。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150501/20150501131133.png\" alt=\"f:id:nnasaki:20150501131133p:plain\" title=\"f:id:nnasaki:20150501131133p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150501131133p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cblockquote\u003e\n\u003cp\u003e　しかしその状況は2000年代の最初の10年で急激に変わりました。\u003c/p\u003e\n\u003cp\u003e　今のデータベース市場は3分の1が\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C8%A5%E9%A5%F3%A5%B6%A5%AF%A5%B7%A5%E7%A5%F3\"\u003eトランザクション\u003c/a\u003e処理であり、3分の1がデータウェアハウスであり、残り3分の1をそのほか全部が占めているとわたしは考えています。この15年間で起こったことは、データウェアハウス市場をほとんど完全にロウストアからカラムストアに変えました。今ではカラムストアはロウストアよりも圧倒的に高速です。\u003c/p\u003e\n\u003cp\u003e　これによって、ロウストアを売っていた従来のデータベースベンダーは、技術的に間違った側になってしまったのです。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e2ページ目までにわたって持論を展開しています。2015年では次のようなイメージのようです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150501/20150501134653.png\" alt=\"f:id:nnasaki:20150501134653p:plain\" title=\"f:id:nnasaki:20150501134653p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150501134653p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch1 id=\"ロウストアなリレーショナルデータベースの優位性は無くなる\"\u003eロウストアなリレーショナルデータベースの優位性は無くなる\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003e　わたしが見るところでは、この市場の3分の2については、従来のベンダーには技術的に間違った側にいます。そして残り3分の1でも、明白な利点があるわけではありません。\u003c/p\u003e\n\u003cp\u003e　2005年に書いた論文では「1つのサイズですべてをまかなう時代はもう終わった」と述べたのですが、2015年のわたしは、もっと突っ込んだ形で「1つのサイズでまかなえるものはない」と言っています。\u003ca href=\"http://d.hatena.ne.jp/keyword/Oracle\"\u003eOracle\u003c/a\u003e、\u003ca href=\"http://d.hatena.ne.jp/keyword/IBM\"\u003eIBM\u003c/a\u003e、\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003eの従来の実装が適しているものは、基本的に何もありません。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e先ほどの図の一番左、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C8%A5%E9%A5%F3%A5%B6%A5%AF%A5%B7%A5%E7%A5%F3\"\u003eトランザクション\u003c/a\u003e処理を行うロウストアなDBについても、\u003ca href=\"http://d.hatena.ne.jp/keyword/Oracle\"\u003eOracle\u003c/a\u003e、\u003ca href=\"http://d.hatena.ne.jp/keyword/IBM\"\u003eIBM\u003c/a\u003e(\u003ca href=\"http://d.hatena.ne.jp/keyword/DB2\"\u003eDB2\u003c/a\u003e)、\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e(\u003ca href=\"http://d.hatena.ne.jp/keyword/SQL%20Server\"\u003eSQL Server\u003c/a\u003e)はもはや優位性は何も無いと言っています。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e　わたしの分類を信じてもらえるなら、データベース市場は全体の3分の1の大きさの市場が2つと、12分の1の市場が4つに分かれます。そしてその中に、大手リレーショナルデータベースベンダーの現在の実装が特に有利になる市場は1つもありません。わたしはそれらのベンダーを親しみを込めて「象」と呼んでいます。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eなるほど、大手ベンダーのことを「象」といっていたのか。象っていうと \u003ca href=\"http://d.hatena.ne.jp/keyword/PHP\"\u003ePHP\u003c/a\u003e本のマンモスが思い浮かぶようなそんな世代です。\u003c/p\u003e\n\u003ch1 id=\"これからどうなるか\"\u003eこれからどうなるか？\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u0026ndash;では、\u003ca href=\"http://d.hatena.ne.jp/keyword/RDBMS\"\u003eRDBMS\u003c/a\u003e市場は\u003ca href=\"http://d.hatena.ne.jp/keyword/Oracle\"\u003eOracle\u003c/a\u003eのようないくつかのベンダーが支配するのではなく、多くの異なる、特化した実装が主流になるということでしょうか。\u003c/p\u003e\n\u003cp\u003e　基本的にはそうなのですが、実際にいくつくらいのベンダーが生き残るかについてははっきりしません。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003ebasically agree だけどどれが主流になるかは、はっきりわからない。\u003c/p\u003e\n\u003ch2 id=\"hadoopはsqlが主流になる\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Hadoop\"\u003eHadoop\u003c/a\u003eは\u003ca href=\"http://d.hatena.ne.jp/keyword/SQL\"\u003eSQL\u003c/a\u003eが主流になる\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e　基本的に、本当に重要な\u003ca href=\"http://d.hatena.ne.jp/keyword/Hadoop\"\u003eHadoop\u003c/a\u003e市場は\u003ca href=\"http://d.hatena.ne.jp/keyword/SQL\"\u003eSQL\u003c/a\u003e市場になるでしょう。そこでmPowerを見てみると、Impalaは\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3\"\u003eアーキテクチャ\u003c/a\u003e的に\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%A6%A5%C9\"\u003eクラウド\u003c/a\u003eストアであり、「HP Vertica」や「\u003ca href=\"http://d.hatena.ne.jp/keyword/Amazon\"\u003eAmazon\u003c/a\u003e Redshift」、またはその他のリレーショナルデータベースのカラムストア実装に似ています。このため、わたしは\u003ca href=\"http://d.hatena.ne.jp/keyword/Hadoop\"\u003eHadoop\u003c/a\u003e市場のほとんどはデータウェアハウス市場と融合すると考えています。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Hadoop\"\u003eHadoop\u003c/a\u003e を例にあげると、 \u003ca href=\"http://d.hatena.ne.jp/keyword/MapReduce\"\u003eMapReduce\u003c/a\u003e よりは \u003ca href=\"http://d.hatena.ne.jp/keyword/SQL\"\u003eSQL\u003c/a\u003e のほうが主流になりそうとのこと。また、\u003ca href=\"http://d.hatena.ne.jp/keyword/Hadoop\"\u003eHadoop\u003c/a\u003e市場のほとんどはデータウェアハウス市場に融合というのもなんとなく合点がいきます。\u003c/p\u003e\n\u003cp\u003eAzure Data Lake が主にこの分野かなぁ。\u003c/p\u003e\n\u003ch2 id=\"nosql-も-sql-が標準になりそう\"\u003eNoSQL も \u003ca href=\"http://d.hatena.ne.jp/keyword/SQL\"\u003eSQL\u003c/a\u003e が標準になりそう\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e　この市場にはなんらかの標準がなければ生き残れない100前後のベンダーがある上に、結局\u003ca href=\"http://d.hatena.ne.jp/keyword/SQL\"\u003eSQL\u003c/a\u003eが標準になる可能性が一番高い状況です。\u003c/p\u003e\n\u003cp\u003e　例えば「\u003ca href=\"http://d.hatena.ne.jp/keyword/Apache%20Cassandra\"\u003eApache Cassandra\u003c/a\u003e」やMongoなどは、どちらも非常に\u003ca href=\"http://d.hatena.ne.jp/keyword/SQL\"\u003eSQL\u003c/a\u003eに似た高レベル言語を使用しています。\u003c/p\u003e\n\u003cp\u003e　最終的には4つか5つになるでしょうし、垂直市場向けの実装があるでしょうから、その4倍から7倍になるでしょうか。そんな数になるはずです。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eNoSQL も結局 \u003ca href=\"http://d.hatena.ne.jp/keyword/SQL\"\u003eSQL\u003c/a\u003e が必要だという予想。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://azure.microsoft.com/ja-jp/services/documentdb/\"\u003eDocumentDB\u003c/a\u003e も \u003ca href=\"http://d.hatena.ne.jp/keyword/SQL\"\u003eSQL\u003c/a\u003e 使えるかな。\u003c/p\u003e\n\u003ch1 id=\"azure-はほぼマッピングできる\"\u003eAzure はほぼ\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DE%A5%C3%A5%D4%A5%F3%A5%B0\"\u003eマッピング\u003c/a\u003eできる\u003c/h1\u003e\n\u003cp\u003e今までの 2015 年のデータベース市場をAzureのサービスで\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DE%A5%C3%A5%D4%A5%F3%A5%B0\"\u003eマッピング\u003c/a\u003eしてみました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150501/20150501134653.png\" alt=\"f:id:nnasaki:20150501134653p:plain\" title=\"f:id:nnasaki:20150501134653p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150501134653p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150501/20150501135317.png\" alt=\"f:id:nnasaki:20150501135317p:plain\" title=\"f:id:nnasaki:20150501135317p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150501135317p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e結果、グラフ以外はすべてそろっていることになります。Azure 死角ねーな。\u003c/p\u003e","title":"リレーショナルデータベースはオワコン？ Postgres作者 が語るデータベースの未来"},{"content":"f:id:nnasaki:20150430113938p:plain キーノートの録画はこちらから確認できます。\nBuild 2015 Day1 のキーノートを見て感じたことをつらつらと。 詳細については3大雑記を参照してください。\nおはようございます。 //Build の最新情報はこちらです。 ┏━━━━━━━━━━━━━━━━┳━━┓ ┃ブチザッキ SE雑記 しばやん雑記 ┃検索┃ ┗━━━━━━━━━━━━━━━━┻━━┛— YAMAMOTO Masaki (@nnasaki) 2015, 4月 30\n全体的な概要を知りたい人向け //build/ Day 1 Keynote | ブチザッキ 【速報】Windows 10の正式リリース日は？ Build 2015 day1リアルタイム中継【更新終了】 - 週アスPLUS これで終わるとさすがに怒られるので気になっている範囲でまとめます。\nWindows の Docker サポート Visual Studio Code for Mac \u0026amp; Linux Azure 新機能 Visual Studio で Android と iOS アプリの移植をサポート Windows の Docker サポート Microsoft のカンファレンスに Docker の CEO が登場する時代。。。\nf:id:nnasaki:20150430112223p:plain Azure CTO の Mark Russinovich がデモを行います。ASP.NET のアプリケーションを WindowsとLinuxのDockerで動かします。\nf:id:nnasaki:20150430112956p:plain 詳細は Docker の Blog Microsoft Demonstrates Docker in Build 2015 Keynote Address | Docker Blog に書いてありますが、 Docker on Windows Server Not Just Linux と 半年後ということで、実際に使えるようになるのはもうちょっと先な感じ。\n次期Windows Serverに合わせてくる感じでしょうか？\nVisual Studio Code for Mac \u0026amp; Linux とうとう Visual Studio が Mac と Linux にやってくる！\nf:id:nnasaki:20150430115454p:plain f:id:nnasaki:20150430113714p:plain f:id:nnasaki:20150430115205p:plain 位置づけ的には Atom や Sublime といった、プログラマー用エディターな感じ。\nf:id:nnasaki:20150430115654p:plain 中身は Electron(旧Atom Shell)で Chromium ベースのようです。中身がどうこうより、 Microsoft が Electron というオープンなプラットフォームを使ってリリースしてきたということが重要。\n［速報］マイクロソフト、コードを書くのに最適化したツール「Visual Studio Code」発表。Windows、MacOS、Linuxに対応、無料提供。Build 2015 － Publickey Visual Studio Code の中身は Electron + Monaco だった - しばやん雑記 Azure 新機能 @nnasaki 日付が April 29, 2015 になっているもの全てについてお願いします（ http://t.co/3HNY3H5Cmi— しばやん (@shibayan) 2015, 4月 30\nそんな10個も無理なので気になっているところだけ。。。\nSQL Database 関連はSEの雑記を参照していただいて。。\nBuild 2015 で SQL Database 関連でいくつかの発表がありましたので気になったものを at SE の雑記 Azure App Service Premium(Azure App Service Environment) もしばやん雑記を参照していただいて。。。\nAzure App Service Environment がプレビュー公開されました - しばやん雑記 Azure peaks in the valley: New features and innovation | Microsoft Azure Blogにも紹介されているのをかいつまんで。\nSQL Data Warehouse ［速報］マイクロソフト、クラウドのデータ分析基盤「SQL Data Warehouse」発表。Amazon Redshiftに対抗。Build 2015 － Publickey もうほとんど書いてあるとおりです。ため込んだデータを、Power BI や Machine Learning でゴニョゴニョ出来ます。\nf:id:nnasaki:20150430114440p:plain Amazon Redshift に対抗する気まんまんで、止めている間は課金されないとか、SQL使えるとかです。BigQuery 相当というわけではなさそう。カラム型なデータストアがあると良いのですが。\nf:id:nnasaki:20150430114520p:plain まだ使えるようにはなっていなくて、Cloud OS Registration に登録しておくと知らせてくれます。\nAzure Data Lake Data lake\nHDFS 互換のクラウドサービス。HDInsight、Revolution-R、Cloudera、Spark, Storm, Flume, Sqoop, Kafka の統合サービス。\nf:id:nnasaki:20150430132932p:plain イメージとしては EventHubs -\u0026gt; Stream Analytics のデータストアという感じがする。Azure Storageに追加BLOB (Append Blob))より便利そう？\nf:id:nnasaki:20150430132534p:plain Data Lake を HDFS として利用して、SQL Data Warehouse で取り出しても、 R でも何でも来いって感じでだいぶ夢が広がりそう。\nf:id:nnasaki:20150430132619p:plain f:id:nnasaki:20150430133310p:plain f:id:nnasaki:20150430133319p:plain こちらもまだ使えるようにはなっていなくて、Cloud OS Registration に登録しておくと知らせてくれます。\nAzure Service Fabric 個人的に一番期待していたのがさらりとスルーされてしまった。\nf:id:nnasaki:20150430132457p:plain けど、ドキュメントとSDKが公開されているので、試してみたい人は是非。 Visual Studio 2015 RCが必須です。\nService Fabric Documentation | Azure Set up your Service Fabric development environment 別記事でもう少し詳しく書いてみました。\nAzure Service Fabric の SDK が公開されていた - nnasakiのブログnnasaki.hatenablog.com\nVisual Studio で Android と iOS アプリの移植をサポート ( ﾟдﾟ) ・・・\n(つд⊂)ｺﾞｼｺﾞｼ\n(；ﾟдﾟ) ・・・\n(つд⊂)ｺﾞｼｺﾞｼｺﾞｼ\n（；ﾟДﾟ） …！？ pic.twitter.com/QqO7mDiyrj— YAMAMOTO Masaki (@nnasaki) 2015, 4月 29\nVisual Studio で Android と iOS のアプリをビルドできて、 Windows Store で配布できるよ！10億のデバイスで走る Windows 10。 30億のデバイスで走る Java にはまだまだですね（違\nf:id:nnasaki:20150430140552p:plain まとめ HoloLens とか Edge とかいろいろあったけど、本当にマイクロソフトヤバい。良い意味で。\n本当に Azure が勝つまで続けるつもりなんだなと実感しました。\n","permalink":"/entry/2015/04/30/145430/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150430/20150430113938.png\" alt=\"f:id:nnasaki:20150430113938p:plain\" title=\"f:id:nnasaki:20150430113938p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150430113938p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eキーノートの録画はこちらから確認できます。\u003c/p\u003e\n\u003cp\u003eBuild 2015 Day1 のキーノートを見て感じたことをつらつらと。\n詳細については3大雑記を参照してください。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eおはようございます。 //Build の最新情報はこちらです。\n┏━━━━━━━━━━━━━━━━┳━━┓\n┃ブチザッキ SE雑記 しばやん雑記 　┃検索┃\n┗━━━━━━━━━━━━━━━━┻━━┛— YAMAMOTO Masaki (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/status/593586674937901056\"\u003e2015, 4月 30\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003ch3 id=\"全体的な概要を知りたい人向け\"\u003e全体的な概要を知りたい人向け\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://buchizo.wordpress.com/2015/04/30/build-day-1-keynote/\"\u003e//build/ Day 1 Keynote | ブチザッキ\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://weekly.ascii.jp/elem/000/000/331/331525/\"\u003e【速報】Windows 10の正式リリース日は？ Build 2015 day1リアルタイム中継【更新終了】 - 週アスPLUS\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eこれで終わるとさすがに怒られるので気になっている範囲でまとめます。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows\"\u003eWindows\u003c/a\u003e の Docker サポート\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e Code for \u003ca href=\"http://d.hatena.ne.jp/keyword/Mac\"\u003eMac\u003c/a\u003e \u0026amp; \u003ca href=\"http://d.hatena.ne.jp/keyword/Linux\"\u003eLinux\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAzure 新機能\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e で \u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e と \u003ca href=\"http://d.hatena.ne.jp/keyword/iOS\"\u003eiOS\u003c/a\u003e アプリの移植をサポート\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"windows-の-docker-サポート\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows\"\u003eWindows\u003c/a\u003e の Docker サポート\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e のカンファレンスに Docker の CEO が登場する時代。。。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150430/20150430112223.png\" alt=\"f:id:nnasaki:20150430112223p:plain\" title=\"f:id:nnasaki:20150430112223p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150430112223p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eAzure CTO の Mark Russinovich がデモを行います。\u003ca href=\"http://d.hatena.ne.jp/keyword/ASP.NET\"\u003eASP.NET\u003c/a\u003e のアプリケーションを \u003ca href=\"http://d.hatena.ne.jp/keyword/Windows\"\u003eWindows\u003c/a\u003eと\u003ca href=\"http://d.hatena.ne.jp/keyword/Linux\"\u003eLinux\u003c/a\u003eのDockerで動かします。\u003c/p\u003e","title":"Build 2015 Day1 Azure 新サービスなど、Microsoft の本気を見た。勝つまでやるつもりだ。"},{"content":"Visual Studio 2015 RCが必須です。\nService Fabric Documentation | Azure Set up your Service Fabric development environment ちょっとだけ雑感 Choosing a framework Reliable Actors APIs と Reliable Services APIs のどちらかを選択する。\nAzure Service Fabric Actors Overview Actor の 並行性 がこんな感じ。\nf:id:nnasaki:20150430141336p:plain Getting Started with Microsoft Azure Service Fabric Reliable Actors Hello, World サンプルコードがこんな感じ。先ほどの図の通り、だいぶ非同期満載です。\nnamespace HelloWorld { public class HelloWorld : Actor, IHelloWorld { public Task\u0026lt;string\u0026gt; SayHello(string greeting) { return Task.FromResult(\u0026#34;You said: \u0026#39;\u0026#34; + greeting + \u0026#34;\u0026#39;, I say: Hello Actors!\u0026#34;); } } } Overview of the Service Fabric Reliable Service Programming Model ステートレスかステートフルかを選ぶ\nGetting Started with Microsoft Azure Service Fabric Reliable Services ステートレスの場合\nまぁまぁ、シンプル。ServiceEventSource ってのよくわからないけど、キューみたいなのかな。\nprotected override async Task RunAsync(CancellationToken cancellationToken) { // TODO: Replace the following with your own logic. int iterations = 0; while (!cancellationToken.IsCancellationRequested) { ServiceEventSource.Current.ServiceMessage(this, \u0026#34;Working-{0}\u0026#34;, iterations++); await Task.Delay(TimeSpan.FromSeconds(1), cancellationToken); } } `− ステートフルの場合 ` protected override async Task RunAsync(CancellationToken cancellationToken) { // TODO: Replace the following with your own logic. IReliableDictionary\u0026lt;string, long\u0026gt; myDictionary = await this.StateManager.GetOrAddAsync\u0026lt;IReliableDictionary\u0026lt;string, long\u0026gt;\u0026gt;(\u0026#34;myDictionary\u0026#34;); while (!cancellationToken.IsCancellationRequested) { using (ITransaction tx = this.StateManager.CreateTransaction()) { var result = await myDictionary.TryGetValueAsync(tx, \u0026#34;Counter-1\u0026#34;); ServiceEventSource.Current.ServiceMessage( this, \u0026#34;Current Counter Value: {0}\u0026#34;, result.HasValue ? result.Value.ToString() : \u0026#34;Value does not exist.\u0026#34;); await myDictionary.AddOrUpdateAsync(tx, \u0026#34;Counter-1\u0026#34;, 0, (k, v) =\u0026gt; ++v); await tx.CommitAsync(); } await Task.Delay(TimeSpan.FromSeconds(1), cancellationToken); } } IReliableDictionary という Reliable Collections が違うっぽい。ここにステートを保存する。\n気になるステートの保存先はService Fabric の local disk？ だけど、各ノードを横断的に保存するから信頼性が高いとか。\nまとめ 見た感じ、かなり特殊なプログラミングモデルで、ASP.NET 等とはまた違う、新しいフレームワークと思って取り組まないとダメっぽい。しかしながら、パフォーマンスや信頼性については、机上の空論ではなく、Azure の各サービスで実績があるので、取り組む価値はあると考える。\nサンプルコードが Azure/servicefabric-samples にあるので、詳しく追ってみたい。けれどもタイムオーバーなので、また今度。\n追記 別なことしてたらふと思い出したので追記。\nsingle-threaded actor model とかどっかで聞いたことあるなぁと思ったら、 Orleans にも同じ事書いてあった。 Orleans のことは 直接書かれていないけど、ベースになっていると考えて良いかなー。\n","permalink":"/entry/2015/04/30/145025/","summary":"\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e 2015 RCが必須です。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://azure.microsoft.com/en-us/documentation/services/service-fabric/\"\u003eService Fabric Documentation | Azure\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://azure.microsoft.com/en-us/documentation/articles/service-fabric-get-started/\"\u003eSet up your Service Fabric development environment\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"ちょっとだけ雑感\"\u003eちょっとだけ雑感\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://azure.microsoft.com/en-us/documentation/articles/service-fabric-choose-framework/\"\u003eChoosing a framework\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eReliable Actors APIs と Reliable Services APIs のどちらかを選択する。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://azure.microsoft.com/en-us/documentation/articles/service-fabric-reliable-actors-introduction/\"\u003eAzure Service Fabric Actors Overview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eActor の 並行性 がこんな感じ。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150430/20150430141336.png\" alt=\"f:id:nnasaki:20150430141336p:plain\" title=\"f:id:nnasaki:20150430141336p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150430141336p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://azure.microsoft.com/en-us/documentation/articles/service-fabric-reliable-actors-get-started/\"\u003eGetting Started with Microsoft Azure Service Fabric Reliable Actors\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHello, World サンプルコードがこんな感じ。先ほどの図の通り、だいぶ非同期満載です。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003enamespace HelloWorld\n{\n    public class HelloWorld : Actor, IHelloWorld\n    {\n        public Task\u0026lt;string\u0026gt; SayHello(string greeting)\n        {\n            return Task.FromResult(\u0026#34;You said: \u0026#39;\u0026#34; + greeting + \u0026#34;\u0026#39;, I say: Hello Actors!\u0026#34;);\n        }\n    }\n}\n\u003c/code\u003e\u003c/pre\u003e\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://azure.microsoft.com/en-us/documentation/articles/service-fabric-reliable-services-introduction/\"\u003eOverview of the Service Fabric Reliable Service Programming Model\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eステートレスかステートフルかを選ぶ\u003c/p\u003e","title":"Azure Service Fabric の SDK が公開されていた"},{"content":"Global Azure Boot Camp 2015 in Japan - Japan Azure User Group | Doorkeeper\nAzure Web Apps とAzure Mobile Apps について発表しました。 JAZUG青森、福島で話したモバイルサービスを Mobile Apps にアップグレードさせました。\n** Azure Web Apps とAzure Mobile Apps ** from 誠樹 山本\n補足：Mobile Apps のバックエンドについて 懇親会で聞かれたので簡単な図を用意しました。\nf:id:nnasaki:20150426111251p:plain Mobile Apps のバックエンドは、ASP.NET Web API がベースとなっていて、Mobile Apps 用のラッパーにMicrosoft.Azure.Mobile.Server.TableController があります。MVC6 からは MVC とWeb API のコントローラーが統合するのでアップデートされるかなぁという不安はちょっとあります。\nIQueryable で、 OData 指向なのはどうなんだろうなぁーと思ってます。(see ref. neue cc - LINQ to BigQuery - C#による型付きDSLとLINQPadによるDumpと可視化)\nあと、実際使うとcors設定とか、標準だと50件までしか取って来れないとか、そのまま使うとちょこちょこハマると思います。\n後日談 時差の関係で Global Azure Boot Camp 2015 の世界中のなかでおそらく一番最初に発表だろうということで、大変緊張しました。\nおかげで声も出てないわ、ネタもスベるわで散々だった。\nポータルが調子悪くて QuickStart が落とせなかったり、Android のエミュレーターが調子悪かったり、adb コマンドのパスが外れてたり、 DeployGate を公開用ではなく自分用のリンクを表示したりといろいろ不都合があったけど、最後のデモは何とか出来て良かったかなぁと思います。\n","permalink":"/entry/2015/04/26/111937/","summary":"\u003cp\u003e\u003ca href=\"https://jazug.doorkeeper.jp/events/22782\"\u003eGlobal Azure Boot Camp 2015 in Japan - Japan Azure User Group | Doorkeeper\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eAzure Web Apps とAzure Mobile Apps について発表しました。 JAZUG青森、福島で話したモバイルサービスを Mobile Apps にアップグレードさせました。\u003c/p\u003e\n\u003cp\u003e** \u003ca href=\"//www.slideshare.net/YamamotoMasaki/azure-web-apps-azure-mobile-apps-47415602\"\u003eAzure Web Apps とAzure Mobile Apps\u003c/a\u003e ** from \u003cstrong\u003e\u003ca href=\"//www.slideshare.net/YamamotoMasaki\"\u003e誠樹 山本\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003ch2 id=\"補足mobile-apps-のバックエンドについて\"\u003e補足：Mobile Apps のバックエンドについて\u003c/h2\u003e\n\u003cp\u003e懇親会で聞かれたので簡単な図を用意しました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150426/20150426111251.png\" alt=\"f:id:nnasaki:20150426111251p:plain\" title=\"f:id:nnasaki:20150426111251p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150426111251p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eMobile Apps のバックエンドは、\u003ca href=\"http://d.hatena.ne.jp/keyword/ASP.NET\"\u003eASP.NET\u003c/a\u003e Web \u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003e がベースとなっていて、Mobile Apps 用のラッパーに\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e.Azure.Mobile.Server.TableController があります。MVC6 からは \u003ca href=\"http://d.hatena.ne.jp/keyword/MVC\"\u003eMVC\u003c/a\u003e とWeb \u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003e のコントローラーが統合するのでアップデートされるかなぁという不安はちょっとあります。\u003c/p\u003e\n\u003cp\u003eIQueryable で、 OData 指向なのはどうなんだろうなぁーと思ってます。(see ref. \u003ca href=\"http://neue.cc/2014/09/24_479.html\"\u003eneue cc - LINQ to BigQuery - C#による型付きDSLとLINQPadによるDumpと可視化\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eあと、実際使うとcors設定とか、標準だと50件までしか取って来れないとか、そのまま使うとちょこちょこハマると思います。\u003c/p\u003e\n\u003ch3 id=\"後日談\"\u003e後日談\u003c/h3\u003e\n\u003cp\u003e時差の関係で Global Azure \u003ca href=\"http://d.hatena.ne.jp/keyword/Boot%20Camp\"\u003eBoot Camp\u003c/a\u003e 2015 の世界中のなかでおそらく一番最初に発表だろうということで、大変緊張しました。\u003c/p\u003e","title":"Global Azure Boot Camp 2015 in Japan にて発表しました"},{"content":"Azure Logic App を使用すると、お絵かきする感じでアプリが作れます。\n今回は Twitter で Azure が含まれるログを取得したら、自作の Web API を叩くということをやってみます。\nAzure Logic App を作成する プレビューポータル（新しいポータル）からのみ作成できます。\nf:id:nnasaki:20150325142129p:plain Triggers and actions を追加する 作成したら次の箇所をクリックして、ワークスペース（？）を開く\nf:id:nnasaki:20150325142256p:plain 「Twitter Connector」 を選択する。無い場合は右下の Marketplace から作成出来ます。注意点として、同じ resource group の App のみ選択できます。Authorize して、Twitter アカウントと認証する。\nf:id:nnasaki:20150325142710p:plain Twitter Connector のキーワードに「Azure」を入力する 「New Tweet」を選択する f:id:nnasaki:20150325142907p:plain Keyword に 「azure」を入力して保存 f:id:nnasaki:20150325143033p:plain Web API を用意する 今回は Java で Spring Boot を使用してみました。\n詳細は省きますがコードはこんな感じです。Spring Initializrから Web だけチェックしてダウンロードしたものにコピペしてあげれば動くと思います。\npackage demo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import java.util.Optional; @SpringBootApplication @RestController public class DemoApplication { private static final Logger logger = LoggerFactory.getLogger(DemoApplication.class); @RequestMapping(\u0026#34;/\u0026#34;) @ResponseBody String home(@RequestParam(value = \u0026#34;tweet\u0026#34;) Optional\u0026lt;String\u0026gt; tweet) { if (tweet.isPresent() == false) return \u0026#34;tweet is null\u0026#34;; logger.info(\u0026#34;tweet are \u0026#34; + tweet.get()); return \u0026#34;tweet echo that \u0026#34; + tweet.get(); } public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } これで、gradlew bootrunをすると Tomcat が立ち上がります。 http://localhost:8080/?tweet=aaaaと呼び出せば、aaaaが返ります。\nf:id:nnasaki:20150325153720p:plain ngrok で公開する このままだと、azure から接続できないので、ngrok を使って公開します。\nlocalhost はそのまま立ち上げておいて、 ngrok 8080 を実行するとこんな感じになります。\nf:id:nnasaki:20150325154110p:plain forwarding のアドレスを実行できることを確認します。\nf:id:nnasaki:20150325154217p:plain Azure Logic App から Web API を呼び出す 再び、Azureに戻って、「Trigger and actions」の「HTTP 」を選択して、「GET」の action を選びます。\nf:id:nnasaki:20150325154944p:plain URI に @concat('http://9a1b70a.ngrok.com/?tweet=', triggers().outputs.body.TweetText) と入力します。\nf:id:nnasaki:20150325155958p:plain ここも注意点として、文字列の結合は@concat()を使います。http://9a1b70a.ngrok.com/?tweet=@triggers().outputs.body.TweetTextとしたいところですが、うまくいきませんのでご注意ください。\n動かしてみる うまくいくと、Azure のログがこんな感じで出ます。\nf:id:nnasaki:20150325160251p:plain ログをクリックした詳細です。\nf:id:nnasaki:20150325161530p:plain ローカルの Web API もこんな感じででます。\nf:id:nnasaki:20150325160432p:plain まとめ twitter から取得して、なにかするというのがすぐに出来ました。このほかに、twilio や facebook と連携もできますし、間にフィルター的な感じの処理を入れることも出来ます。これは便利ですね。\n今回作成したアプリを Azure API App として公開すれば、他のアプリと連携も可能になります。\n個人的には Enterprise Integration Patterns - Splitter や Aggregator のようなフローが組み込めるようになると良いなと思います。\n参考リンク Create a Logic App Use Logic App features ASP.NET Web API を Azure の API App として動かす - miso_soup3 Blog ","permalink":"/entry/2015/03/25/161752/","summary":"\u003cp\u003eAzure Logic App を使用すると、お絵かきする感じでアプリが作れます。\u003c/p\u003e\n\u003cp\u003e今回は \u003ca href=\"http://d.hatena.ne.jp/keyword/Twitter\"\u003eTwitter\u003c/a\u003e で Azure が含まれるログを取得したら、自作の Web \u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003e を叩くということをやってみます。\u003c/p\u003e\n\u003ch1 id=\"azure-logic-app-を作成する\"\u003eAzure Logic App を作成する\u003c/h1\u003e\n\u003cp\u003eプレビューポータル（新しいポータル）からのみ作成できます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150325/20150325142129.png\" alt=\"f:id:nnasaki:20150325142129p:plain\" title=\"f:id:nnasaki:20150325142129p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150325142129p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch2 id=\"triggers-and-actions-を追加する\"\u003eTriggers and actions を追加する\u003c/h2\u003e\n\u003cp\u003e作成したら次の箇所をクリックして、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%EF%A1%BC%A5%AF%A5%B9%A5%DA%A1%BC%A5%B9\"\u003eワークスペース\u003c/a\u003e（？）を開く\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150325/20150325142256.png\" alt=\"f:id:nnasaki:20150325142256p:plain\" title=\"f:id:nnasaki:20150325142256p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150325142256p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e「\u003ca href=\"http://d.hatena.ne.jp/keyword/Twitter\"\u003eTwitter\u003c/a\u003e Connector」 を選択する。無い場合は右下の Marketplace から作成出来ます。注意点として、\u003cstrong\u003e同じ resource group の App のみ選択できます\u003c/strong\u003e。Authorize して、\u003ca href=\"http://d.hatena.ne.jp/keyword/Twitter\"\u003eTwitter\u003c/a\u003e アカウントと認証する。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150325/20150325142710.png\" alt=\"f:id:nnasaki:20150325142710p:plain\" title=\"f:id:nnasaki:20150325142710p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150325142710p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch2 id=\"twitter-connector-のキーワードにazureを入力する\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Twitter\"\u003eTwitter\u003c/a\u003e Connector のキーワードに「Azure」を入力する\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e「New \u003ca href=\"http://d.hatena.ne.jp/keyword/Tweet\"\u003eTweet\u003c/a\u003e」を選択する\u003c/li\u003e\n\u003c/ul\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150325/20150325142907.png\" alt=\"f:id:nnasaki:20150325142907p:plain\" title=\"f:id:nnasaki:20150325142907p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150325142907p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cul\u003e\n\u003cli\u003eKeyword に 「azure」を入力して保存\u003c/li\u003e\n\u003c/ul\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150325/20150325143033.png\" alt=\"f:id:nnasaki:20150325143033p:plain\" title=\"f:id:nnasaki:20150325143033p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150325143033p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch1 id=\"web-api-を用意する\"\u003eWeb \u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003e を用意する\u003c/h1\u003e\n\u003cp\u003e今回は \u003ca href=\"http://d.hatena.ne.jp/keyword/Java\"\u003eJava\u003c/a\u003e で Spring Boot を使用してみました。\u003c/p\u003e\n\u003cp\u003e詳細は省きますがコードはこんな感じです。\u003ca href=\"https://start.spring.io/\"\u003eSpring Initializr\u003c/a\u003eから Web だけチェックしてダウンロードしたものにコピペしてあげれば動くと思います。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003epackage demo;\n\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.RequestParam;\nimport org.springframework.web.bind.annotation.ResponseBody;\nimport org.springframework.web.bind.annotation.RestController;\n\nimport java.util.Optional;\n\n@SpringBootApplication\n@RestController\npublic class DemoApplication {\n\n    private static final Logger logger = LoggerFactory.getLogger(DemoApplication.class);\n\n    @RequestMapping(\u0026#34;/\u0026#34;)\n    @ResponseBody\n    String home(@RequestParam(value = \u0026#34;tweet\u0026#34;) Optional\u0026lt;String\u0026gt; tweet) {\n        if (tweet.isPresent() == false) return \u0026#34;tweet is null\u0026#34;;\n\n        logger.info(\u0026#34;tweet are \u0026#34; + tweet.get());\n        return \u0026#34;tweet echo that \u0026#34; + tweet.get();\n    }\n\n    public static void main(String[] args) {\n        SpringApplication.run(DemoApplication.class, args);\n    }\n}\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eこれで、\u003ccode\u003egradlew bootrun\u003c/code\u003eをすると \u003ca href=\"http://d.hatena.ne.jp/keyword/Tomcat\"\u003eTomcat\u003c/a\u003e が立ち上がります。 \u003ccode\u003ehttp://localhost:8080/?tweet=aaaa\u003c/code\u003eと呼び出せば、\u003ccode\u003eaaaa\u003c/code\u003eが返ります。\u003c/p\u003e","title":"Azure Logic App で Twitter のログを取得して Web API を叩く"},{"content":"Azure App Service がリリースされました！ これは今まで Web Sites や Mobile Services などに分かれていたプラットフォームを統合して、よりアプリを作りやすく、使いやすくしたものになります。詳細はNo1のブチザッキを読んでいただけるとより理解できると思います。\nAzure App Service | ブチザッキ ScottGu\u0026rsquo;s Blog - Announcing the new Azure App Service さて、 Mobile Services 使いとして気になるのは Mobile Apps です。現在は Public Preview なため、 Mobile Services と比べて足りないところがあります。\nazure mobile app の Quickstart に Android Studio が無い… pic.twitter.com/us1kCa1K4i— YAMAMOTO Masaki (@nnasaki) 2015, 3月 24\nmobile app、 node.js backend 選べないから iOS アプリ作るためには Windows と Visual Studio 必須か。 swift も選べない。 pic.twitter.com/v4tlFiYBk1— YAMAMOTO Masaki (@nnasaki) 2015, 3月 24\nGA するまでに Quickstart は追加されると思いますが、 JavaScript は難しいかもしれません。なぜなら、 Azure App Service and its impact on existing Azure services の Mobile Apps をみると次のように記載されています。\nMobile Services continue to be available as a standalone service and remain fully supported.\nつまり、 Mobile Services は継続して残るようなので JavaScript でやりたい人はそのままという選択肢になるような気がしています。\nただ、Mobile Apps は憂うことばかりではなくて、Azure Apps として統合されているので、今までより Twilio や Dropbox との連携がやりやすくなるんじゃないかなぁと思います。.NET バックエンドを使ってた人は簡単に移行できると思うので、移行すると良いと思います。詳細は Migrate from Mobile Services to an App Service Mobile App を参照してください。\nAzure Mobile Apps まとめ(2015/3/25時点) JavaScript バックエンドをサポートしていない Quickstart に Android , swift, html 等がない 悪いことばかりじゃなくて、新しい機能と連携がしやすくなっている .NET バックエンドの人は移行が簡単 参考リンク Azure App Service | ブチザッキ ScottGu\u0026rsquo;s Blog - Announcing the new Azure App Service Mobile App Service | Microsoft Azure Azure App Service and its impact on existing Azure services Migrate from Mobile Services to an App Service Mobile App ","permalink":"/entry/2015/03/25/091133/","summary":"\u003cp\u003eAzure App Service がリリースされました！ これは今まで Web Sites や Mobile Services などに分かれていたプラットフォームを統合して、よりアプリを作りやすく、使いやすくしたものになります。詳細はNo1のブチザッキを読んでいただけるとより理解できると思います。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://buchizo.wordpress.com/2015/03/25/azure-app-service/\"\u003eAzure App Service | ブチザッキ\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://weblogs.asp.net/scottgu/announcing-the-new-azure-app-service\"\u003eScottGu\u0026rsquo;s Blog - Announcing the new Azure App Service\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eさて、 Mobile Services 使いとして気になるのは Mobile Apps です。現在は Public Preview なため、 Mobile Services と比べて足りないところがあります。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eazure mobile app の Quickstart に \u003ca href=\"http://d.hatena.ne.jp/keyword/Android%20Studio\"\u003eAndroid Studio\u003c/a\u003e が無い… \u003ca href=\"http://t.co/us1kCa1K4i\"\u003epic.twitter.com/us1kCa1K4i\u003c/a\u003e— YAMAMOTO Masaki (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/status/580449199461916672\"\u003e2015, 3月 24\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003emobile app、 node.js backend 選べないから \u003ca href=\"http://d.hatena.ne.jp/keyword/iOS\"\u003eiOS\u003c/a\u003e アプリ作るためには \u003ca href=\"http://d.hatena.ne.jp/keyword/Windows\"\u003eWindows\u003c/a\u003e と \u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e 必須か。 \u003ca href=\"http://d.hatena.ne.jp/keyword/swift\"\u003eswift\u003c/a\u003e も選べない。 \u003ca href=\"http://t.co/v4tlFiYBk1\"\u003epic.twitter.com/v4tlFiYBk1\u003c/a\u003e— YAMAMOTO Masaki (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/status/580451054027968512\"\u003e2015, 3月 24\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eGA するまでに Quickstart は追加されると思いますが、 \u003ca href=\"http://d.hatena.ne.jp/keyword/JavaScript\"\u003eJavaScript\u003c/a\u003e は難しいかもしれません。なぜなら、 \u003ca href=\"http://azure.microsoft.com/en-us/documentation/articles/app-service-changes-existing-services/\"\u003eAzure App Service and its impact on existing Azure services\u003c/a\u003e の Mobile Apps をみると次のように記載されています。\u003c/p\u003e","title":"Azure Mobile Apps と Mobile Services の違いについて"},{"content":"大人気となっている id:garicchi の Azure と 機械学習 と IoT を組み合わせた記事を楽しくよませていただきました。\nAzure Machine LearningとIoTを駆使して室温予測システムを構築してみた - がりらぼ\nその中で、\nAzure Mobile ServicesのJavascriptバックエンドでデータ挿入時に時間を含めたい - がりらぼ\n**MobileServicesはデータ挿入時に自動で__createdAtというカラムが追加されるはずなのですが何故かスクリプトから参照できなかったので自前でタイムスタンプを入れることにしました。\nとあったのですが、多分出来るはずと思って調べてみました。\n問題 Microsoft Azure Mobile Services(モバイルサービス) のサーバースクリプト(Javascrip バックエンド) で \u0026lsquo;createdAt\u0026rsquo;, \u0026lsquo;**updateAt\u0026rsquo;, \u0026lsquo;**version\u0026rsquo;, \u0026lsquo;**deleted\u0026rsquo; のシステムプロパティが取得できない。\n例えばこんなカスタムAPIを作成して、全件取得したいのに \u0026lsquo;__createdAt\u0026rsquo; が表示されない。\nサンプルコード exports.get = function(request, response) { var myTable = request.service.tables.getTable(\u0026#39;TodoItem\u0026#39;); myTable.read({ success: function(results) { response.send(statusCodes.OK, results); }, error: function(err) { response.send(statusCodes.INTERNAL_SERVER_ERROR, err); } }); }; 取得結果 ブラウザかなんかで https://hogehoge.azure-mobile.net/api/fugafuga を GET する。\n[ {\u0026#34;id\u0026#34;:\u0026#34;32ADB4B1-D515-4666-AAA7-57466FCEC261\u0026#34;,\u0026#34;text\u0026#34;:\u0026#34;なんかのテキスト\u0026#34;,\u0026#34;complete\u0026#34;:false}, ... 省略 ] 解決方法 success の前に systemProperties: ['__createdAt', '__updatedAt'], を入れる。全部のシステムプロパティが欲しければ systemProperties: ['*'],\nサンプルコード exports.get = function(request, response) { var myTable = request.service.tables.getTable(\u0026#39;TodoItem\u0026#39;); myTable.read({ systemProperties: [\u0026#39;__createdAt\u0026#39;, \u0026#39;__updatedAt\u0026#39;], success: function(results) { response.send(statusCodes.OK, results); }, error: function(err) { response.send(statusCodes.INTERNAL_SERVER_ERROR, err); } }); }; 取得結果 ブラウザかなんかで https://hogehoge.azure-mobile.net/api/fugafuga を GET する。\n[ {\u0026#34;id\u0026#34;:\u0026#34;32ADB4B1-D515-4666-AAA7-57466FCEC261\u0026#34;,\u0026#34;__createdAt\u0026#34;:\u0026#34;2015-03-03T14:32:04.518Z\u0026#34;,\u0026#34;__updatedAt\u0026#34;:\u0026#34;2015-03-03T14:32:04.518Z\u0026#34;,\u0026#34;text\u0026#34;:\u0026#34;なんかのテキスト\u0026#34;,\u0026#34;complete\u0026#34;:false}, ... 省略 ] 補足：クライアントで使うときも注意が必要 どーも、__createdAt とかはシステムプロパティという特殊な扱いなようで、クライアント側で利用する際にも注意が必要です。\nc# のサンプルコード 属性で CreatedAt のようにつける\npublic class TodoItem { public string Id { get; set; } [CreatedAt] public DateTimeOffset? CreatedAt { get; set; } [UpdatedAt] public DateTimeOffset? UpdatedAt { get; set; } public string Text { get; set; } public bool Complete { get; set; } } Android(Java) のサンプルコード アノテーションで __createdAt つければ良いみたいでした。SDKがちゃんと Date にしてくれる。\npublic class ToDoItem { @com.google.gson.annotations.SerializedName(\u0026#34;text\u0026#34;) private String mText; @com.google.gson.annotations.SerializedName(\u0026#34;id\u0026#34;) private String mId; @com.google.gson.annotations.SerializedName(\u0026#34;complete\u0026#34;) private boolean mComplete; @com.google.gson.annotations.SerializedName(\u0026#34;__createdAt\u0026#34;) private Date date; // ... 省略 まとめ モバイルサービス is べんり\n参考リンク How to get system properties __CreatedAt, __Version in javascript backend of Azure Mobile services?\nHow to get system properties __CreatedAt, __Version in javascript backend of Azure Mobile services? - Stack Overflow\nRetrieve System Properties in Azure Mobile Services (JavaScript Backend) | brandon martinez\nRetrieve System Properties in Azure Mobile Services (JavaScript Backend) | brandon martinez\nCreatedAt property null when working with Offline tables in Azure Mobile Services\nc# - CreatedAt property null when working with Offline tables in Azure Mobile Services - Stack Overflow\n","permalink":"/entry/2015/03/04/055749/","summary":"\u003cp\u003e大人気となっている \u003ca href=\"http://blog.hatena.ne.jp/garicchi/\"\u003eid:garicchi\u003c/a\u003e の Azure と \u003ca href=\"http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC\"\u003e機械学習\u003c/a\u003e と IoT を組み合わせた記事を楽しくよませていただきました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://garicchi.hatenablog.jp/entry/2015/03/01/155845\"\u003eAzure Machine LearningとIoTを駆使して室温予測システムを構築してみた - がりらぼ\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eその中で、\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://garicchi.hatenablog.jp/entry/2015/02/25/151546\"\u003eAzure Mobile ServicesのJavascriptバックエンドでデータ挿入時に時間を含めたい - がりらぼ\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e**MobileServicesはデータ挿入時に自動で__createdAtというカラムが追加されるはずなのですが何故か\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8\"\u003eスクリプト\u003c/a\u003eから参照できなかったので自前でタイムスタンプを入れることにしました。\u003c/p\u003e\n\u003cp\u003eとあったのですが、多分出来るはずと思って調べてみました。\u003c/p\u003e\n\u003ch3 id=\"問題\"\u003e問題\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e Azure Mobile Services(モバイルサービス) のサーバー\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8\"\u003eスクリプト\u003c/a\u003e(Javascrip バックエンド) で \u0026lsquo;createdAt\u0026rsquo;, \u0026lsquo;**updateAt\u0026rsquo;, \u0026lsquo;**version\u0026rsquo;, \u0026lsquo;**deleted\u0026rsquo; の\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%B7%A5%B9%A5%C6%A5%E0%A5%D7%A5%ED\"\u003eシステムプロ\u003c/a\u003eパティが取得できない。\u003c/p\u003e\n\u003cp\u003e例えばこんなカスタム\u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003eを作成して、全件取得したいのに \u0026lsquo;__createdAt\u0026rsquo; が表示されない。\u003c/p\u003e\n\u003ch5 id=\"サンプルコード\"\u003eサンプルコード\u003c/h5\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eexports.get = function(request, response) {\n    var myTable = request.service.tables.getTable(\u0026#39;TodoItem\u0026#39;);\n    myTable.read({\n        success: function(results) {\n            response.send(statusCodes.OK, results);\n        },\n        error: function(err) {\n         response.send(statusCodes.INTERNAL_SERVER_ERROR, err);\n        }\n    });\n};\n\u003c/code\u003e\u003c/pre\u003e\u003ch5 id=\"取得結果\"\u003e取得結果\u003c/h5\u003e\n\u003cp\u003eブラウザかなんかで \u003ccode\u003ehttps://hogehoge.azure-mobile.net/api/fugafuga\u003c/code\u003e を GET する。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e[\n  {\u0026#34;id\u0026#34;:\u0026#34;32ADB4B1-D515-4666-AAA7-57466FCEC261\u0026#34;,\u0026#34;text\u0026#34;:\u0026#34;なんかのテキスト\u0026#34;,\u0026#34;complete\u0026#34;:false}, ... 省略\n]\n\u003c/code\u003e\u003c/pre\u003e\u003ch3 id=\"解決方法\"\u003e解決方法\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003esuccess\u003c/code\u003e の前に \u003ccode\u003esystemProperties: ['__createdAt', '__updatedAt'],\u003c/code\u003e を入れる。全部の\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%B7%A5%B9%A5%C6%A5%E0%A5%D7%A5%ED\"\u003eシステムプロ\u003c/a\u003eパティが欲しければ \u003ccode\u003esystemProperties: ['*'],\u003c/code\u003e\u003c/p\u003e","title":"Microsoft Azure Mobile Services(モバイルサービス) で '__createdAt' を取得する方法"},{"content":"IntelliJ で最近開発をしていて、 gradle プラグインがあまりよろしくない挙動をするので、 Terminal を使用して ./gradlew clean build \u0026amp;\u0026amp; java -jar launcher/build/libs/launcher-0.1.0.jar こんな感じで実行している。\n問題 ところが、 Mac の Terminal ではうまくいくのに、 IntelliJ の Terminal では次のエラーが発生して起動しないことがあった。\norg.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name \u0026lsquo;sqlSessionFactory\u0026rsquo; defined in class path resource [/MyBatisConfig.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [javax.sql.DataSource]: : Error creating bean with name \u0026lsquo;dataSource\u0026rsquo; defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceAutoConfiguration$NonEmbeddedConfiguration.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name \u0026lsquo;dataSourceInitializer\u0026rsquo;: Invocation of init method failed; nested exception is org.springframework.jdbc.datasource.init.ScriptStatementFailedException: Failed to execute SQL script statement at line 6 of resource URL [file:../database/src/main/resources/data.sql]: INSERT INTO STEP_OPTIONS(value,label) VALUES (\u0026lsquo;00\u0026rsquo;,\u0026rsquo;������������\u0026rsquo;), (\u0026lsquo;01\u0026rsquo;,\u0026rsquo;���������������������������������������������\u0026rsquo;), (\u0026lsquo;99\u0026rsquo;,\u0026rsquo;���������\u0026rsquo;); nested exception is org.h2.jdbc.JdbcSQLException: 列 \u0026ldquo;LABEL VARCHAR(15) NOT NULL COMMENT STRINGDECODE(\u0026rsquo;\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\u0026rsquo;)\u0026rdquo; の値が長過ぎます: \u0026ldquo;STRINGDECODE(\u0026rsquo;\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\u0026hellip; (45)\u0026rdquo;\nおそらくは文字化けだろうなぁという感じで、 Mac と IntelliJ のそれぞれの Terminal で locale を実行すると次の通り。\nMac Terminal の locale % locale LANG=\u0026#34;ja_JP.UTF-8\u0026#34; LC_COLLATE=\u0026#34;ja_JP.UTF-8\u0026#34; LC_CTYPE=\u0026#34;ja_JP.UTF-8\u0026#34; LC_MESSAGES=\u0026#34;ja_JP.UTF-8\u0026#34; LC_MONETARY=\u0026#34;ja_JP.UTF-8\u0026#34; LC_NUMERIC=\u0026#34;ja_JP.UTF-8\u0026#34; LC_TIME=\u0026#34;ja_JP.UTF-8\u0026#34; LC_ALL= IntelliJ Terminal の locale % locale LANG= LC_COLLATE=\u0026#34;C\u0026#34; LC_CTYPE=\u0026#34;C\u0026#34; LC_MESSAGES=\u0026#34;C\u0026#34; LC_MONETARY=\u0026#34;C\u0026#34; LC_NUMERIC=\u0026#34;C\u0026#34; LC_TIME=\u0026#34;C\u0026#34; LC_ALL= ということで、 IntellIJ Terminal の locale が UTF-8 ではなく ANSI C なのが問題。\n解決方法 次のコマンドを実行すれば良い。\nLANG=\u0026#34;`defaults read -g AppleLocale | sed \u0026#39;s/@.*$//g\u0026#39;`.UTF-8\u0026#34; export LANG これをターミナルを実行する度に打ち込むのはだるいので、 .bashrc なり .zshrc なり各自の初期化部にぶち込んでおけば良いかなと。\nIntelliJ の Terminal を使わなければ良いんだろうけど、いちいちタスクスイッチするの面倒なんで、解決出来てよかった。まる。\nMac Terminal で起こらない理由 おそらく、このオプションが効いているのかなぁと。 IntelliJ のバグではない気がします。\nf:id:nnasaki:20150207115158p:plain 参考サイト システムワイドなロケール設定 ～ Mac OS X (その1) - 彷徨えるフジワラ\n","permalink":"/entry/2015/02/07/115808/","summary":"\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/IntelliJ\"\u003eIntelliJ\u003c/a\u003e で最近開発をしていて、 gradle \u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3\"\u003eプラグイン\u003c/a\u003eがあまりよろしくない挙動をするので、 Terminal を使用して \u003ccode\u003e./gradlew clean build \u0026amp;\u0026amp; java -jar launcher/build/libs/launcher-0.1.0.jar\u003c/code\u003e こんな感じで実行している。\u003c/p\u003e\n\u003ch3 id=\"問題\"\u003e問題\u003c/h3\u003e\n\u003cp\u003eところが、 \u003ca href=\"http://d.hatena.ne.jp/keyword/Mac\"\u003eMac\u003c/a\u003e の Terminal ではうまくいくのに、 \u003ca href=\"http://d.hatena.ne.jp/keyword/IntelliJ\"\u003eIntelliJ\u003c/a\u003e の Terminal では次のエラーが発生して起動しないことがあった。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eorg.springframework.beans.factory.UnsatisfiedDependencyException: \u003ca href=\"http://d.hatena.ne.jp/keyword/Error\"\u003eError\u003c/a\u003e creating bean with name \u0026lsquo;sqlSessionFactory\u0026rsquo; defined in class path resource [/MyBatisConfig.class]: Unsatisfied \u003ca href=\"http://d.hatena.ne.jp/keyword/dependency\"\u003edependency\u003c/a\u003e expressed through constructor argument with index 0 of type [javax.\u003ca href=\"http://d.hatena.ne.jp/keyword/sql\"\u003esql\u003c/a\u003e.DataSource]: : \u003ca href=\"http://d.hatena.ne.jp/keyword/Error\"\u003eError\u003c/a\u003e creating bean with name \u0026lsquo;dataSource\u0026rsquo; defined in class path resource [org/springframework/boot/autoconfigure/\u003ca href=\"http://d.hatena.ne.jp/keyword/jdbc\"\u003ejdbc\u003c/a\u003e/DataSourceAutoConfiguration$NonEmbeddedConfiguration.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: \u003ca href=\"http://d.hatena.ne.jp/keyword/Error\"\u003eError\u003c/a\u003e creating bean with name \u0026lsquo;dataSourceInitializer\u0026rsquo;: Invocation of init method failed; nested exception is org.springframework.\u003ca href=\"http://d.hatena.ne.jp/keyword/jdbc\"\u003ejdbc\u003c/a\u003e.datasource.init.ScriptStatementFailedException: Failed to execute \u003ca href=\"http://d.hatena.ne.jp/keyword/SQL\"\u003eSQL\u003c/a\u003e script statement at line 6 of resource URL [file:../database/src/main/resources/data.\u003ca href=\"http://d.hatena.ne.jp/keyword/sql\"\u003esql\u003c/a\u003e]: INSERT INTO STEP_OPTIONS(value,label) VALUES (\u0026lsquo;00\u0026rsquo;,\u0026rsquo;������������\u0026rsquo;), (\u0026lsquo;01\u0026rsquo;,\u0026rsquo;���������������������������������������������\u0026rsquo;), (\u0026lsquo;99\u0026rsquo;,\u0026rsquo;���������\u0026rsquo;); nested exception is org.h2.\u003ca href=\"http://d.hatena.ne.jp/keyword/jdbc\"\u003ejdbc\u003c/a\u003e.JdbcSQLException: 列 \u0026ldquo;LABEL VARCHAR(15) NOT NULL COMMENT STRINGDECODE(\u0026rsquo;\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\u0026rsquo;)\u0026rdquo; の値が長過ぎます: \u0026ldquo;STRINGDECODE(\u0026rsquo;\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\\ufffd\u0026hellip; (45)\u0026rdquo;\u003c/p\u003e","title":"IntelliJ の Terminal で文字化けした場合の対処法"},{"content":"このエントリーは『 DevLOVE Advent Calendar 2014 「越境」 - DevLOVE | Doorkeeper 』の2015年1月15日の記事です。前日は遊さんの『 自分の「越境」を見つめなおす 』です。\nさて、年始に昨年末で退職したという記事を書いてから2週間が過ぎようとしています。\n2014年振り返り。会社辞めました。 - 世界のやまさ\n前半は自分がなぜ転職するに至ったかを書いていきます。タイトルの越境については後半で書きます。\n転職に至った理由 一言で言えば、プログラマとしてのキャリアを続けたかったから。もっともっと学ぶことは続けたいし、新しい技術を使いたい。便利になること。今まで出来なかったことが出来るようになること。これほど面白い仕事は他に無いと思っています。\nどうして転職しなければ続けられなかったかという理由はこうです。\nSIerでプログラマを続けるには限界だと思った プログラマの働く業界は労働集約型の業界と、知識集約型の業界に分かれると考えています。詳細はきしださんのブログ記事を見てください。\n日経ソフトウエア 2014年 09月号 の 「特集2　プログラミングで生きる道」がさらに読みやすいと思いますので、ご興味のある方は一読すると良いと思います。\n[\n日経ソフトウエア 2014年 09月号 ](http://www.amazon.co.jp/exec/obidos/ASIN/B00LI7YSXY/nnasaki-22/)[日経ソフトウエア 2014年 09月号](http://www.amazon.co.jp/exec/obidos/ASIN/B00LI7YSXY/nnasaki-22/)- 作者: 日経ソフトウエア- 出版社/メーカー: 日経BP社- 発売日: 2014/07/24- メディア: 雑誌- この商品を含むブログ (1件) を見る\n私の働いていた会社はいわゆるSIerで労働集約型の業界でした。いかに人を集めて、人件費をどれだけ安く抑えるかが問題の世界です。したがって、私のように35歳付近のプログラマは人件費が高くなるので使いにくくなってきます。\nまた、それと同時にこのぐらいの年齢になると会社が求める「技術レンジ」の上限に達します。「技術レンジ」とは会社が必要とする技術力の上限と下限です。** 上限を超えてしまった人間は会社から見れば、オーバースペックです。自分としては学ぶことが少なくなる。会社と自分間がWin-Winでは無くなります。\nつまりSIerに必要なプログラマというのは、そこそこ出来て安い人間なわけで、飛び抜けて技術力が高い人間は不要なわけです。なので、第二新卒あたりの中途採用が盛んなのかなと思います。教育不要で安い労働力が手に入りやすいので。\nマネージャーにならなければ給料が上がらない 人件費が高くなったプログラマーは使いにくいので、マネージャー（管理）側にジョブチェンジしなければなりません。\nマネージャーへのジョブチェンジを拒んだ場合は、給料が頭打ちとなります。なぜならプログラマが一人で稼ぐよりマネージャーが3人のプログラマを管理するほうが稼げるからです。このとき管理対象は有限である社内の人間より、無限と思われる社外の人間（パートナー）を扱った方がスケールアウトしやすくなります。ここでn次請け構造が形成されます。\nこのようにSIerでプログラマにこだわる場合は給料が上がらないため、現実を受け入れる（どうせこんなもんだろうと自分に言い聞かせる）か、会社を去る。このどちらかを選択する必要があります。そして、私のように現実を受け入れられない人は会社に残らないため、会社の平均給与もあがらない。という結果になります。\n安い労働力だけが欲しい会社にとっては良い仕組みなのかもしれません。このような会社の見分け方は、毎年新卒を大量に採用している。離職率が高い。平均年齢が若い。といった情報から推測できるとは思います。\n会社からコミュニティへの越境 さて、転職の経緯を今まで書きましたが本題です。\n私が考える会社とコミュニティの関係はこうです。\nf:id:nnasaki:20150113034404p:plain 複数の会社が縦割りで存在しているなか、それぞれの会社の人と人を繋ぐ横の役割がコミュニティです。 そして、従来は会社に人が所属するという意識でしたが、今は人が会社に所属する時代と考えるようになりました。 つまりA社の○○さんではなく、○○さんがいるA社**となりつつある。\n皆さんが転職するにあたって、会社を選択するときは、会社の会社概要・社長からのメッセージ・財務状況などで決断しますか？知りあいがいるからとか、コミュニティで活躍している○○さんがいるからとか、特定の人がいるから選択しているのではないでしょうか？\n今回私が転職する際は、一般的な転職サイトで転職してしまうと、同じような会社に転職してしまい、同じジレンマを抱えてしまうのではないかと考えました。\nそこで、今回は転職サイトもエージェントも一切使いませんでした。コミュニティで知り合った方々に相談して転職を決断しました。\nこのように私の中でコミュニティの存在が会社よりも多きくなっています。今まで会社で出来なかった事がコミュニティなら出来ることもあります。例えば、今回のように転職の相談は会社の人とはしづらいですが、コミュニティの人とならわりと気軽に出来ます。\nまとめ 私が会社からコミュニティに越境していくという話をしました。もし、会社で悶々としている人がいましたら、コミュニティにぜひ顔を出してみてください。今後仙台では次のイベントを予定しています。\nウェブデザイン・ウェブ開発に必要なこと(DevLOVE仙台-DevLOVE関西連携企画) - DevLOVE仙台 | Doorkeeper 2015 MVP ComCamp 東北会場 - connpass 明日は papanda さんです。2回目ということでどのようなお話が出るか楽しみです。\n","permalink":"/entry/2015/01/15/214410/","summary":"\u003cp\u003eこのエントリーは『 \u003ca href=\"http://devlove.doorkeeper.jp/events/14580\"\u003eDevLOVE Advent Calendar 2014 「越境」 - DevLOVE | Doorkeeper\u003c/a\u003e 』の2015年1月15日の記事です。前日は遊さんの『 \u003ca href=\"https://gist.github.com/gacha-ru/2b4152d874aefd06e9fe#file-devloveadventcalendar20150114-md\"\u003e自分の「越境」を見つめなおす\u003c/a\u003e 』です。\u003c/p\u003e\n\u003cp\u003eさて、年始に昨年末で退職したという記事を書いてから2週間が過ぎようとしています。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/2015/01/01/060341\"\u003e2014年振り返り。会社辞めました。 - 世界のやまさ\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e前半は自分がなぜ転職するに至ったかを書いていきます。タイトルの越境については後半で書きます。\u003c/p\u003e\n\u003ch1 id=\"転職に至った理由\"\u003e転職に至った理由\u003c/h1\u003e\n\u003cp\u003e一言で言えば、プログラマとしてのキャリアを続けたかったから。もっともっと学ぶことは続けたいし、新しい技術を使いたい。便利になること。今まで出来なかったことが出来るようになること。これほど面白い仕事は他に無いと思っています。\u003c/p\u003e\n\u003cp\u003eどうして転職しなければ続けられなかったかという理由はこうです。\u003c/p\u003e\n\u003ch2 id=\"sierでプログラマを続けるには限界だと思った\"\u003eSIerでプログラマを続けるには限界だと思った\u003c/h2\u003e\n\u003cp\u003eプログラマの働く業界は労働集約型の業界と、知識集約型の業界に分かれると考えています。詳細はきしださんのブログ記事を見てください。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/asin/B00LI7YSXY/nnasaki-22\"\u003e日経ソフトウエア 2014年 09月号\u003c/a\u003e の 「特集2　プログラミングで生きる道」がさらに読みやすいと思いますので、ご興味のある方は一読すると良いと思います。\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://images-fe.ssl-images-amazon.com/images/I/61oSzbflkvL._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"日経ソフトウエア 2014年 09月号\" title=\"日経ソフトウエア 2014年 09月号\"\u003e\u003cfigcaption\u003e日経ソフトウエア 2014年 09月号\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B00LI7YSXY/nnasaki-22/)%5B\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B00LI7YSXY/nnasaki-22/)[\u003c/a\u003e日経ソフトウエア 2014年 09月号](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/B00LI7YSXY/nnasaki-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/B00LI7YSXY/nnasaki-22/)-\u003c/a\u003e 作者: 日経ソフトウエア- 出版社/メーカー: 日経BP社- 発売日: 2014/07/24- メディア: 雑誌- \u003ca href=\"http://d.hatena.ne.jp/asin/B00LI7YSXY/nnasaki-22\"\u003eこの商品を含むブログ (1件) を見る\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e私の働いていた会社はいわゆるSIerで労働集約型の業界でした。いかに人を集めて、人件費をどれだけ安く抑えるかが問題の世界です。したがって、私のように35歳付近のプログラマは人件費が高くなるので使いにくくなってきます。\u003c/p\u003e\n\u003cp\u003eまた、それと同時にこのぐらいの年齢になると会社が求める「技術レンジ」の上限に達します。「技術レンジ」とは会社が必要とする技術力の上限と下限です。**\n上限を超えてしまった人間は会社から見れば、オーバースペックです。自分としては学ぶことが少なくなる。会社と自分間がWin-Winでは無くなります。\u003c/p\u003e\n\u003cp\u003eつまりSIerに必要なプログラマというのは、そこそこ出来て安い人間なわけで、飛び抜けて技術力が高い人間は不要なわけです。なので、第二新卒あたりの中途採用が盛んなのかなと思います。教育不要で安い労働力が手に入りやすいので。\u003c/p\u003e\n\u003ch2 id=\"マネージャーにならなければ給料が上がらない\"\u003eマネージャーにならなければ給料が上がらない\u003c/h2\u003e\n\u003cp\u003e人件費が高くなったプログラマーは使いにくいので、マネージャー（管理）側にジョブチェンジしなければなりません。\u003c/p\u003e\n\u003cp\u003eマネージャーへのジョブチェンジを拒んだ場合は、給料が頭打ちとなります。なぜならプログラマが一人で稼ぐよりマネージャーが3人のプログラマを管理するほうが稼げるからです。このとき管理対象は有限である社内の人間より、無限と思われる社外の人間（パートナー）を扱った方がスケールアウトしやすくなります。ここでn次請け構造が形成されます。\u003c/p\u003e\n\u003cp\u003eこのようにSIerでプログラマにこだわる場合は給料が上がらないため、現実を受け入れる（どうせこんなもんだろうと自分に言い聞かせる）か、会社を去る。このどちらかを選択する必要があります。そして、私のように現実を受け入れられない人は会社に残らないため、会社の平均給与もあがらない。という結果になります。\u003c/p\u003e\n\u003cp\u003e安い労働力だけが欲しい会社にとっては良い仕組みなのかもしれません。このような会社の見分け方は、毎年新卒を大量に採用している。離職率が高い。平均年齢が若い。といった情報から推測できるとは思います。\u003c/p\u003e\n\u003ch1 id=\"会社からコミュニティへの越境\"\u003e会社からコミュニティへの越境\u003c/h1\u003e\n\u003cp\u003eさて、転職の経緯を今まで書きましたが本題です。\u003c/p\u003e\n\u003cp\u003e私が考える会社とコミュニティの関係はこうです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"/images/20150113034404.png\" alt=\"f:id:nnasaki:20150113034404p:plain\" title=\"f:id:nnasaki:20150113034404p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150113034404p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e複数の会社が縦割りで存在しているなか、それぞれの会社の人と人を繋ぐ横の役割がコミュニティです。\nそして、従来は会社に人が所属するという意識でしたが、今は人が会社に所属する時代\u003cstrong\u003eと考えるようになりました。\nつまり\u003c/strong\u003eA社の○○さんではなく、○○さんがいるA社**となりつつある。\u003c/p\u003e\n\u003cp\u003e皆さんが転職するにあたって、会社を選択するときは、会社の会社概要・社長からのメッセージ・財務状況などで決断しますか？知りあいがいるからとか、コミュニティで活躍している○○さんがいるからとか、特定の人がいるから選択しているのではないでしょうか？\u003c/p\u003e\n\u003cp\u003e今回私が転職する際は、一般的な転職サイトで転職してしまうと、同じような会社に転職してしまい、同じジレンマを抱えてしまうのではないかと考えました。\u003c/p\u003e\n\u003cp\u003eそこで、今回は転職サイトもエージェントも一切使いませんでした。コミュニティで知り合った方々に相談して転職を決断しました。\u003c/p\u003e\n\u003cp\u003eこのように私の中でコミュニティの存在が会社よりも多きくなっています。今まで会社で出来なかった事がコミュニティなら出来ることもあります。例えば、今回のように転職の相談は会社の人とはしづらいですが、コミュニティの人とならわりと気軽に出来ます。\u003c/p\u003e\n\u003ch1 id=\"まとめ\"\u003eまとめ\u003c/h1\u003e\n\u003cp\u003e私が会社からコミュニティに越境していくという話をしました。もし、会社で悶々としている人がいましたら、コミュニティにぜひ顔を出してみてください。今後仙台では次のイベントを予定しています。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://devlove-sendai.doorkeeper.jp/events/18891\"\u003eウェブデザイン・ウェブ開発に必要なこと(DevLOVE仙台-DevLOVE関西連携企画) - DevLOVE仙台 | Doorkeeper\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://connpass.com/event/10097/\"\u003e2015 MVP ComCamp 東北会場 - connpass\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e明日は papanda さんです。2回目ということでどのようなお話が出るか楽しみです。\u003c/p\u003e","title":"会社からコミュニティへの越境"},{"content":"元旦から日にちが経ってしまいましたが、今年の目標は Github の Longest Streak を更新することです。Longest Streak とは Github に表示されるこんなやつです。\nf:id:nnasaki:20150106155732p:plain 昨年は見ての通り、スカスカで見るも無惨な感じでした。\nここが毎日緑色で埋まるようにしたい。\nしばらくお仕事は Github のプライベートリポジトリになるので、とりあえず毎日コミットを続けたい。残念ながら皆さんから見える部分は相変わらずスカスカになってしまうので、Public なコミットを増やしていくのが今後の課題かなぁ。\n","permalink":"/entry/2015/01/06/161114/","summary":"\u003cp\u003e元旦から日にちが経ってしまいましたが、今年の目標は \u003ca href=\"http://d.hatena.ne.jp/keyword/Github\"\u003eGithub\u003c/a\u003e の Longest Streak を更新することです。Longest Streak とは \u003ca href=\"http://d.hatena.ne.jp/keyword/Github\"\u003eGithub\u003c/a\u003e に表示されるこんなやつです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150106/20150106155732.png\" alt=\"f:id:nnasaki:20150106155732p:plain\" title=\"f:id:nnasaki:20150106155732p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150106155732p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e昨年は見ての通り、スカスカで見るも無惨な感じでした。\u003c/p\u003e\n\u003cp\u003eここが毎日緑色で埋まるようにしたい。\u003c/p\u003e\n\u003cp\u003eしばらくお仕事は \u003ca href=\"http://d.hatena.ne.jp/keyword/Github\"\u003eGithub\u003c/a\u003e のプライベー\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C8%A5%EA%A5%DD%A5%B8\"\u003eトリポジ\u003c/a\u003eトリになるので、とりあえず毎日コミットを続けたい。残念ながら皆さんから見える部分は相変わらずスカスカになってしまうので、Public なコミットを増やしていくのが今後の課題かなぁ。\u003c/p\u003e\n\u003chr\u003e","title":"2015年の目標"},{"content":"あけましておめでとうございます。元旦に誕生日を迎えて、いわゆるプログラマー定年まであと１年となりました。\n2014年12月31日で退職しました まず最初にタイトルの通り2014年12月31日で退職しました。なぜ辞めたかというのは、DevLOVE Advent Calendar 2014 「越境」 という 2015/1/1 04:41(JST) 時点であと 2431人 参加できる頭のおかしい Advent Calendar で、 詳細を書きたいと思います。よくある うらみつらみ を書く気は毛頭ありません。\n今後は特に就職先もなく、個人事業主として働きます。当分のお仕事はなんとかなりそうなんですが、6月頃からはまだ不透明なのでなんとかせねばなーと思っています。\n時系列で振り返り 2014/2 デブサミ2014に参加しました\n2014/2/7 「納品のない受託開発」を語る会 - DevLOVE仙台 | Doorkeeper 開催\n2014/3/22 MVP Community Camp 2014\nWindows Azure と Xamarin で作るマルチプラットフォームアプリケーション\nMVP Community Camp 2014 - Tohoku（エフスタ!!SENDAI 2）で発表しました\n2014/3 - 6\nWindows Azureモバイルサービスで始めるスマホアプリ開発：連載｜gihyo.jp … 技術評論社\n3月から6月は技術評論社様にて連載させていただきました。なので勉強会の登壇はこの間少なめになってますね。リブランド前でしたねぇ。\n2014/5/17\n泥臭い受託開発を語り合う(DevLOVE関西×DevLOVE仙台コラボ企画) - DevLOVE仙台 | Doorkeeper\nJAWSUG仙台・会津・山形・沖縄！四大会場 地球最大の決戦 with JAZUG仙台 Microsoft Azure Web SiteでWordPress を5分でデプロイする話しをしてきた\nDevLove仙台を開催しつつ、後半はこちらに参加という無謀なことしてたな。1000RPSぐらいまでは簡単に捌けるので、ワールドビジネスサテライト砲も安心安心。\n2014/5/29-30\nde:code Day1 に参加した\nde:code Day2 に参加した\n2014/7/1\nMicrosoft MVP for Microsoft Azure を初受賞いたしました\nこれは本当に嬉しかった。外部から評価していただくというのは自信にもなりましたね。このとき掲げた目標も「サトヤ勉強会」という形でなんとか出来てきているかなぁ。\n2014/7/15 エフサミ2014にて Microsoft Azure ハンズオンを行いました\nMVP受賞後の初仕事で会場のネットワークとか大変だったけど、畠山さんと木村さんと一緒に楽しかったな。\n2014/9/6 JAWS FESTA Tohoku 2014 で Azure の話をしてきました\nJAWS に JAZUG で殴り込みするとい無謀なことをやったな。木村さんをまたまた巻き込んでｗ LT も参加してパイも受けて楽しかった楽しかった。\n2014/9/20 JAZUG仙台 - JAZUG4周年を祝う会 in 仙台\nJAWS から2週間後で準備に辛かったけど、畠山さんと再び一緒に出来たことと、またまた木村さんのご協力でなんとか開催できてよかった。無理言って、機械学習に真鍋さんを巻き込んで、本当にすまんかった。全国中継の LT も栗原さんと五十嵐君のおかげで、記録じゃなくて記憶に残ったんじゃないかなぁと思うｗ\n2014/9/26 DevLOVE仙台 〜「エンジニアがつくる前に考えること」エンジニアがUXデザイン・人間中心デザインを学ぶワケ〜 - DevLOVE仙台 | Doorkeeper\n終わり間際に参加してかき氷だけ食ったなｗ\n2014/9/27 SWWDC 仙台iOS開発者勉強会 #21 - Swift特集\nslideshareへの資料リンク\nJAZUG から1週間後。これも辛かった。\n普段話すのと違って、デベロッパーしかいないのとセッション中に質問ありまくりで楽しかった。雰囲気としては海外のセッションに近い感じ。意外とみんなモバイルサービスについて興味もってもらえたので良かったなぁと思っている。\n2014/10/11\nTDDBC仙台 4th - TDDBC\nTDDBC 仙台は震災後から毎年開催を続けている。特に最近は仙台のイサゴさんと井上さんと一緒に良い感じで出来ていると個人的に思っています。\n和田さんは本当に尊敬していますし、毎年成長というか進化し続けていて追いつける気がしない。。。\n懇親会の LT で Azure と サトヤ勉強会 の話をちょこっとしましたね。\n2014/10/29\n「Forguncy(フォーガンシー)」に学ぶこれからの開発プロセス - DevLOVE仙台 | Doorkeeper\n八巻さんからリーンの話でマネージャー視点とプログラマー視点がミックスされて面白かった。プロダクトを育てるというのも良いですなぁ。\n2014/11/3-6 MVP Global Summit 参加\nMVP受賞の最大特典ともいえる。シアトルまでの渡航費は自腹ですが、ホテル代は出してもらえる！\n個人的に最もライフチェンジングでした。 このイベントのおかげで、英語 は本当に頑張ろうと思った。そして、 Azure MVP 達のすごさを痛感しました。もっと精進せねば。\n2014/11/15\n第1回 サトヤ勉強会が開催されました\nMSP 五十嵐君、 MVP 八巻さん、木村さん と協力して立ち上げた勉強会\n私の思いは仙台発のMicrosoft系勉強会 「サトヤ勉強会」 11/15(土) に開催に書いたとおり。MVP になってからの目標の一つ。\n日本マイクロソフト東北支社 セミナールームが40人満員で立ち見が出る程人気になるとは思わなかった。 .NET がオープンソースになるというニュースや、 五十嵐君がニコ生に出る等、タイミングも良かった。 それにしても嬉しかった。\n自分のセッション資料\n今回はモバイルサービスだけではなく、API Management と Event Hubs の紹介も取り入れてみた。Machine Learning まで紹介出来なかったのが残念。個人的にこれらを組み合わせて、一つのWebサービスが完成すると思っている。サービスの提供・認証認可・情報収集・分析までね。\n2014/12/6 - 7\nMVP Open Day 2014\nこれも MVP の特典ですね。品川に全国のMVPが集結！ホテル代・交通費もすべて出してくれる。\nサトヤ勉強会が大きくフューチャーされていて、今後も継続せねばなぁと再認識させられた。 まとめ 振り返ってみると、結構いろいろあったなぁと思いますが、すべて自分一人だけの力では成し得なかった。色々な人の協力があっての自分だったなぁと改めて思いました。\n仕事の関係上、空いている月もあったので今年はコンスタントに活動できると良いなと思います。 長くなったので2015年の目標はまた別エントリーにします。\nゆく年くる年2015「貼り付け機能でプレゼントキャンペーン」ということで、これが欲しいかなぁ。\nXbox One ワイヤレス コントローラー (プレイ \u0026amp; チャージ キット付)\n","permalink":"/entry/2015/01/01/060341/","summary":"\u003cp\u003eあけましておめでとうございます。元旦に誕生日を迎えて、いわゆる\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DE%A1%BC\"\u003eプログラマー\u003c/a\u003e定年まであと１年となりました。\u003c/p\u003e\n\u003ch1 id=\"2014年12月31日で退職しました\"\u003e2014年12月31日で退職しました\u003c/h1\u003e\n\u003cp\u003eまず最初にタイトルの通り2014年12月31日で退職しました。なぜ辞めたかというのは、\u003ca href=\"http://devlove.doorkeeper.jp/events/14580\"\u003eDevLOVE Advent Calendar 2014 「越境」\u003c/a\u003e という 2015/1/1 04:41(\u003ca href=\"http://d.hatena.ne.jp/keyword/JST\"\u003eJST\u003c/a\u003e) 時点であと 2431人 参加できる頭のおかしい Advent Calendar で、 詳細を書きたいと思います。よくある うらみつらみ を書く気は毛頭ありません。\u003c/p\u003e\n\u003cp\u003e今後は特に就職先もなく、個人\u003ca href=\"http://d.hatena.ne.jp/keyword/%BB%F6%B6%C8\"\u003e事業\u003c/a\u003e主として働きます。当分のお仕事はなんとかなりそうなんですが、6月頃からはまだ不透明なのでなんとかせねばなーと思っています。\u003c/p\u003e\n\u003ch1 id=\"時系列で振り返り\"\u003e時系列で振り返り\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e2014/2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/2014/02/14/203651\"\u003eデブサミ2014に参加しました\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e2014/2/7\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://devlove-sendai.doorkeeper.jp/events/8539\"\u003e「納品のない受託開発」を語る会 - DevLOVE仙台 | Doorkeeper\u003c/a\u003e 開催\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e2014/3/22\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://mvp.microsoft.com/ja-jp/comcamp2014.aspx\"\u003eMVP Community Camp 2014\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%20Azure\"\u003eWindows Azure\u003c/a\u003e と Xamarin で作る\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DE%A5%EB%A5%C1%A5%D7%A5%E9%A5%C3%A5%C8%A5%D5%A5%A9%A1%BC%A5%E0\"\u003eマルチプラットフォーム\u003c/a\u003eアプリケーション\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/2014/03/22/143537\"\u003eMVP Community Camp 2014 - Tohoku（エフスタ!!SENDAI 2）で発表しました\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e2014/3 - 6\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://gihyo.jp/dev/serial/01/wams\"\u003eWindows Azureモバイルサービスで始めるスマホアプリ開発：連載｜gihyo.jp … 技術評論社\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e3月から6月は\u003ca href=\"http://d.hatena.ne.jp/keyword/%B5%BB%BD%D1%C9%BE%CF%C0%BC%D2\"\u003e技術評論社\u003c/a\u003e様にて連載させていただきました。なので勉強会の登壇はこの間少なめになってますね。リブランド前でしたねぇ。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e2014/5/17\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://devlove-sendai.doorkeeper.jp/events/10034\"\u003e泥臭い受託開発を語り合う(DevLOVE関西×DevLOVE仙台コラボ企画) - DevLOVE仙台 | Doorkeeper\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://tohoku-dev.jp/modules/eguide/event.php?eid=256\"\u003eJAWSUG仙台・会津・山形・沖縄！四大会場 地球最大の決戦 with JAZUG仙台\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/2014/05/18/004657\"\u003eMicrosoft Azure Web SiteでWordPress を5分でデプロイする話しをしてきた\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDevLove仙台を開催しつつ、後半はこちらに参加という無謀なことしてたな。1000RPSぐらいまでは簡単に捌けるので、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%EF%A1%BC%A5%EB%A5%C9%A5%D3%A5%B8%A5%CD%A5%B9%A5%B5%A5%C6%A5%E9%A5%A4%A5%C8\"\u003eワールドビジネスサテライト\u003c/a\u003e砲も安心安心。\u003c/p\u003e","title":"2014年振り返り。会社辞めました。"},{"content":"[\nASP.NET MVC 5実践プログラミング ](http://www.amazon.co.jp/exec/obidos/ASIN/4798041793/hatena-blog-22/)[ASP.NET MVC 5実践プログラミング](http://www.amazon.co.jp/exec/obidos/ASIN/4798041793/hatena-blog-22/)- 作者: 山田祥寛- 出版社/メーカー: 秀和システム- 発売日: 2014/09- メディア: 単行本- この商品を含むブログ (1件) を見る\n全部で500ページ超あります。ですが、単純なリファレンスではなく随所に著者の配慮がちりばめられており、「何故そうするか？」「こうするべき」という点も言及されている感じで、そんなに読みにくいとは感じませんでした。また、翻訳ではなく日本人の書き下ろしという点も読みやすさに一役買っていると思われます。\n本書は ASP.NET MVC にフォーカスしていますが、 One ASP.NET の全体像にも触れており、最近の ASP.NET について知りたい方にもオススメできます。 ASP.NET Web API については本書の範囲外と断りはありながらも、Chapter 8 の応用編にちょっとだけでてきます。\n順番が前後してしまいましたが、応用編以降は初心者の人が次のステップを目指すために読んでも良いと思いました。中級者以上の人にも役立つ感じで、私もなるほどと思うところが多々ありました。\n特に、Chapter 9 の単体テストで DB を扱う場合や、Chapter 10 の ASP.NET Identity については他の書籍には書かれていないので、日本語で一番まとまっている情報だと思われます。 ASP.NET Identity の歴史的背景は本書にも書かれていますが、詳しくは .NET最新技術「ASP.NET Identity」とは？ - Build Insider を参照していただくと、より理解が深まると思います。\nASP.NET MVC の書籍は他にも プログラミングMicrosoft ASP.NET MVC 第3版ASP.NET MVC 5 対応版 (マイクロソフト公式解説書) があり、前の版数と比較した感じですと個人的には本書籍のほうが読みやすいと感じました。ですが、あくまでも ASP.NET MVC に焦点を絞った解説本ですので、他のASP.NET 技術を知りたい、例えば SignalR をもっと知りたい場合は プログラミング ASP.NET SignalR (マイクロソフト公式解説書) を読んだ方が良いです。\nASP.NET って、WinForms みたいにフォームを貼り付けて、ダブルクリックでイベントにロジック書くやつでしょ？というイメージしかない人は、一度本書を手にとって読んでいただけると良いと思います。\n","permalink":"/entry/2014/11/02/091804/","summary":"\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://ecx.images-amazon.com/images/I/51VVlvySUxL._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"ASP.NET MVC 5実践プログラミング\" title=\"ASP.NET MVC 5実践プログラミング\"\u003e\u003cfigcaption\u003eASP.NET MVC 5実践プログラミング\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/4798041793/hatena-blog-22/)%5BASP.NET\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/4798041793/hatena-blog-22/)[ASP.NET\u003c/a\u003e MVC 5実践プログラミング](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/4798041793/hatena-blog-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/4798041793/hatena-blog-22/)-\u003c/a\u003e 作者: 山田祥寛- 出版社/メーカー: \u003ca href=\"http://d.hatena.ne.jp/keyword/%BD%A8%CF%C2%A5%B7%A5%B9%A5%C6%A5%E0\"\u003e秀和システム\u003c/a\u003e- 発売日: 2014/09- メディア: 単行本- \u003ca href=\"http://d.hatena.ne.jp/asin/4798041793/hatena-blog-22\"\u003eこの商品を含むブログ (1件) を見る\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e全部で500ページ超あります。ですが、単純なリファレンスではなく随所に著者の配慮がちりばめられており、「何故そうするか？」「こうするべき」という点も言及されている感じで、そんなに読みにくいとは感じませんでした。また、翻訳ではなく日本人の書き下ろしという点も読みやすさに一役買っていると思われます。\u003c/p\u003e\n\u003cp\u003e本書は \u003ca href=\"http://d.hatena.ne.jp/keyword/ASP.NET%20MVC\"\u003eASP.NET MVC\u003c/a\u003e にフォーカスしていますが、 One \u003ca href=\"http://d.hatena.ne.jp/keyword/ASP.NET\"\u003eASP.NET\u003c/a\u003e の全体像にも触れており、最近の \u003ca href=\"http://d.hatena.ne.jp/keyword/ASP.NET\"\u003eASP.NET\u003c/a\u003e について知りたい方にもオススメできます。 \u003ca href=\"http://d.hatena.ne.jp/keyword/ASP.NET\"\u003eASP.NET\u003c/a\u003e Web \u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003e については本書の範囲外と断りはありながらも、Chapter 8 の応用編にちょっとだけでてきます。\u003c/p\u003e\n\u003cp\u003e順番が前後してしまいましたが、応用編以降は初心者の人が次のステップを目指すために読んでも良いと思いました。中級者以上の人にも役立つ感じで、私もなるほどと思うところが多々ありました。\u003c/p\u003e\n\u003cp\u003e特に、Chapter 9 の\u003ca href=\"http://d.hatena.ne.jp/keyword/%C3%B1%C2%CE%A5%C6%A5%B9%A5%C8\"\u003e単体テスト\u003c/a\u003eで DB を扱う場合や、Chapter 10 の \u003ca href=\"http://d.hatena.ne.jp/keyword/ASP.NET\"\u003eASP.NET\u003c/a\u003e Identity については他の書籍には書かれていないので、日本語で一番まとまっている情報だと思われます。 \u003ca href=\"http://d.hatena.ne.jp/keyword/ASP.NET\"\u003eASP.NET\u003c/a\u003e Identity の歴史的背景は本書にも書かれていますが、詳しくは \u003ca href=\"http://www.buildinsider.net/enterprise/sansanreport/0501\"\u003e.NET最新技術「ASP.NET Identity」とは？ - Build Insider\u003c/a\u003e を参照していただくと、より理解が深まると思います。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/ASP.NET%20MVC\"\u003eASP.NET MVC\u003c/a\u003e の書籍は他にも \u003ca href=\"http://d.hatena.ne.jp/asin/4822298388/hatena-blog-22\"\u003eプログラミングMicrosoft ASP.NET MVC 第3版ASP.NET MVC 5 対応版 (マイクロソフト公式解説書)\u003c/a\u003e があり、前の版数と比較した感じですと個人的には本書籍のほうが読みやすいと感じました。ですが、あくまでも \u003ca href=\"http://d.hatena.ne.jp/keyword/ASP.NET%20MVC\"\u003eASP.NET MVC\u003c/a\u003e に焦点を絞った解説本ですので、他の\u003ca href=\"http://d.hatena.ne.jp/keyword/ASP.NET\"\u003eASP.NET\u003c/a\u003e 技術を知りたい、例えば SignalR をもっと知りたい場合は\n\u003ca href=\"http://d.hatena.ne.jp/asin/4822298418/hatena-blog-22\"\u003eプログラミング ASP.NET SignalR (マイクロソフト公式解説書)\u003c/a\u003e を読んだ方が良いです。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/ASP.NET\"\u003eASP.NET\u003c/a\u003e って、WinForms みたいにフォームを貼り付けて、ダブルクリックでイベントにロジック書くやつでしょ？というイメージしかない人は、一度本書を手にとって読んでいただけると良いと思います。\u003c/p\u003e","title":"ASP.NET MVC5 実践プログラミングを読みました"},{"content":"[\n](http://www.flickr.com/photos/125207874@N04/14450220780)\nphoto by n.bhupinder\n仙台発のMicrosoft系勉強会 「サトヤ勉強会」 を新たに立ち上げました。\nhttp://satoya-sendai.github.io/\nキャッチフレーズは「イマのマイクロソフト技術に触れてみませんか？」です。\n目的は過去のMicrosoftのイメージを払拭し、イマのMicrosoftを知ってもらうことです。\nイマのマイクロソフトは「マイクロソフトはLinuxを愛している」とCEOが発言するぐらいの柔軟性があります。(http://itpro.nikkeibp.co.jp/atcl/news/14/102101542/)\nさらには、Oracle, Salesforce, IBMともパートナーシップを結ぶ程です。ベンダロックインなんて言葉はもはや過去のものです。\n運営は仙台のMicrosoft MVPとMicrosoft Student Partners Fellowが中心となって、社会人と学生が共同で行い、コミュニティを育てて行ければと思います。\n第一回は 11/15(土) に開催します。エバンジェリストの春日井 良隆さんをお呼びします。皆さん是非ご参加ください。お申し込みはこちらから。 http://satoya01.peatix.com/\n","permalink":"/entry/2014/10/26/014740/","summary":"\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://farm4.staticflickr.com/3901/14450220780_28247b8642.jpg\" alt=\"\" /\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.flickr.com/photos/125207874@N04/14450220780\"\u003ehttp://www.flickr.com/photos/125207874@N04/14450220780\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://www.flickr.com/photos/125207874@N04/14450220780\"\u003ephoto by n.bhupinder\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e仙台発の\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e系勉強会 「サトヤ勉強会」 を新たに立ち上げました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://satoya-sendai.github.io/\"\u003ehttp://satoya-sendai.github.io/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eキャッチフレーズは「イマの\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DE%A5%A4%A5%AF%A5%ED%A5%BD%A5%D5%A5%C8\"\u003eマイクロソフト\u003c/a\u003e技術に触れてみませんか？」です。\u003c/p\u003e\n\u003cp\u003e目的は過去の\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003eのイメージを払拭し、イマの\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003eを知ってもらうことです。\u003c/p\u003e\n\u003cp\u003eイマの\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DE%A5%A4%A5%AF%A5%ED%A5%BD%A5%D5%A5%C8\"\u003eマイクロソフト\u003c/a\u003eは「\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DE%A5%A4%A5%AF%A5%ED%A5%BD%A5%D5%A5%C8\"\u003eマイクロソフト\u003c/a\u003eは\u003ca href=\"http://d.hatena.ne.jp/keyword/Linux\"\u003eLinux\u003c/a\u003eを愛している」とCEOが発言するぐらいの柔軟性があります。(\u003ca href=\"http://itpro.nikkeibp.co.jp/atcl/news/14/102101542/\"\u003ehttp://itpro.nikkeibp.co.jp/atcl/news/14/102101542/\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eさらには、\u003ca href=\"http://d.hatena.ne.jp/keyword/Oracle\"\u003eOracle\u003c/a\u003e, \u003ca href=\"http://d.hatena.ne.jp/keyword/Salesforce\"\u003eSalesforce\u003c/a\u003e, \u003ca href=\"http://d.hatena.ne.jp/keyword/IBM\"\u003eIBM\u003c/a\u003eともパートナーシップを結ぶ程です。ベンダロックインなんて言葉はもはや過去のものです。\u003c/p\u003e\n\u003cp\u003e運営は仙台の\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft%20MVP\"\u003eMicrosoft MVP\u003c/a\u003eと\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e Student Partners Fellowが中心となって、社会人と学生が共同で行い、コミュニティを育てて行ければと思います。\u003c/p\u003e\n\u003cp\u003e第一回は 11/15(土) に開催します。\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A8%A5%D0%A5%F3%A5%B8%A5%A7%A5%EA%A5%B9%A5%C8\"\u003eエバンジェリスト\u003c/a\u003eの春日井 良隆さんをお呼びします。皆さん是非ご参加ください。お申し込みはこちらから。 \u003ca href=\"http://satoya01.peatix.com/\"\u003ehttp://satoya01.peatix.com/\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"仙台発のMicrosoft系勉強会 「サトヤ勉強会」 11/15(土) に開催"},{"content":"Windows 10 Technical Preview が出ましたので Macbook Pro に Parallels Desktop 10 を使ってインストールしました。\nhttp://windows.microsoft.com/ja-jp/windows/preview\n早速ダウンロードしようと思ったら、safari にてダウンロードが出来なくて、出鼻をくじかれるの巻。\nf:id:nnasaki:20141002034808p:plain MSDN Subscriptions からはダウンロード可能でしたので x64 English なのをダウンロードしました。Japanese は提供されていなかった。\nParallelsでOSが検出出来なかったので、「その他のWindows」と設定してインストールを続行\nf:id:nnasaki:20141002035024p:plain Windows 8 と同じような感じでインストールが進みます。サクサク進めていきます。\nf:id:nnasaki:20141002035313p:plain f:id:nnasaki:20141002035322p:plain f:id:nnasaki:20141002035357p:plain f:id:nnasaki:20141002035430p:plain f:id:nnasaki:20141002035439p:plain ファイルコピー開始、3分もかからず終了\nf:id:nnasaki:20141002035454p:plain 何度か再起動して\nf:id:nnasaki:20141002035607p:plain 初回起動の設定画面。ここまで10分ぐらいです。早い。 「Use express settings」を選択。\nf:id:nnasaki:20141002035638p:plain Microsoft Account を入力。ユーザー名は半角英数字にしておくとトラブルにならないです。\nf:id:nnasaki:20141002035714p:plain デスクトップｷﾀ━(・∀・)━!!!!。 Windows 8 の bing の 壁紙も sync されています。\nf:id:nnasaki:20141002035806p:plain 噂のスタート画面\nf:id:nnasaki:20141002035938p:plain ストアアプリのWindow化。これだと Snap したのと同じように見えてイマイチか。\nf:id:nnasaki:20141002040122p:plain ディスク容量。わずか12GB程度。コンパクトになったもんです。\nf:id:nnasaki:20141002040359p:plain ちなみに、mac上では8.8GBぐらいで若干少なく見えます。\nf:id:nnasaki:20141002040456p:plain Windows8 のほうは 100GB 超えてディスクを圧迫しているのでなんとかしたいなぁ。Visual Studio と Office 2013 が入っているだけだったきがするけど、Disk食うなぁ…\n仮想ディスプレイもやっとサポート。そろそろ Mac も飽きてきたし、 Windows 一本にしても良いかなぁ。ちなみにさっそく Windows Update があるそうですｗ\nf:id:nnasaki:20141002040939p:plain まとめ 軽く触った感じだと、基本的な Look \u0026amp; Feel は Windows 8 とそんなに変わってないけど細々と改善されている感じ。MSDN 持っていない Mac な人はどうやって iso を落とせばいいかなぁ。\n","permalink":"/entry/2014/10/02/041339/","summary":"\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows\"\u003eWindows\u003c/a\u003e 10 Technical Preview が出ましたので \u003ca href=\"http://d.hatena.ne.jp/keyword/Macbook%20Pro\"\u003eMacbook Pro\u003c/a\u003e に \u003ca href=\"http://d.hatena.ne.jp/keyword/Parallels%20Desktop\"\u003eParallels Desktop\u003c/a\u003e 10 を使ってインストールしました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://windows.microsoft.com/ja-jp/windows/preview\"\u003ehttp://windows.microsoft.com/ja-jp/windows/preview\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e早速ダウンロードしようと思ったら、\u003ca href=\"http://d.hatena.ne.jp/keyword/safari\"\u003esafari\u003c/a\u003e にてダウンロードが出来なくて、出鼻をくじかれるの巻。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20141002/20141002034808.png\" alt=\"f:id:nnasaki:20141002034808p:plain\" title=\"f:id:nnasaki:20141002034808p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20141002034808p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"https://msdn.microsoft.com/subscriptions/manage/hh442900\"\u003eMSDN Subscriptions\u003c/a\u003e からはダウンロード可能でしたので \u003ca href=\"http://d.hatena.ne.jp/keyword/x64\"\u003ex64\u003c/a\u003e English なのをダウンロードしました。Japanese は提供されていなかった。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Parallels\"\u003eParallels\u003c/a\u003eでOSが検出出来なかったので、「その他の\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows\"\u003eWindows\u003c/a\u003e」と設定してインストールを続行\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20141002/20141002035024.png\" alt=\"f:id:nnasaki:20141002035024p:plain\" title=\"f:id:nnasaki:20141002035024p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20141002035024p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%208\"\u003eWindows 8\u003c/a\u003e と同じような感じでインストールが進みます。サクサク進めていきます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20141002/20141002035313.png\" alt=\"f:id:nnasaki:20141002035313p:plain\" title=\"f:id:nnasaki:20141002035313p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20141002035313p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20141002/20141002035322.png\" alt=\"f:id:nnasaki:20141002035322p:plain\" title=\"f:id:nnasaki:20141002035322p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20141002035322p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20141002/20141002035357.png\" alt=\"f:id:nnasaki:20141002035357p:plain\" title=\"f:id:nnasaki:20141002035357p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20141002035357p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20141002/20141002035430.png\" alt=\"f:id:nnasaki:20141002035430p:plain\" title=\"f:id:nnasaki:20141002035430p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20141002035430p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20141002/20141002035439.png\" alt=\"f:id:nnasaki:20141002035439p:plain\" title=\"f:id:nnasaki:20141002035439p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20141002035439p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eファイルコピー開始、3分もかからず終了\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20141002/20141002035454.png\" alt=\"f:id:nnasaki:20141002035454p:plain\" title=\"f:id:nnasaki:20141002035454p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20141002035454p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e何度か再起動して\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20141002/20141002035607.png\" alt=\"f:id:nnasaki:20141002035607p:plain\" title=\"f:id:nnasaki:20141002035607p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20141002035607p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e初回起動の設定画面。ここまで10分ぐらいです。早い。\n「Use express settings」を選択。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20141002/20141002035638.png\" alt=\"f:id:nnasaki:20141002035638p:plain\" title=\"f:id:nnasaki:20141002035638p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20141002035638p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e Account を入力。ユーザー名は半角英数字にしておくとトラブルにならないです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20141002/20141002035714.png\" alt=\"f:id:nnasaki:20141002035714p:plain\" title=\"f:id:nnasaki:20141002035714p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20141002035714p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eデスクトップｷﾀ━(・∀・)━!!!!。 \u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%208\"\u003eWindows 8\u003c/a\u003e の bing の 壁紙も sync されています。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20141002/20141002035806.png\" alt=\"f:id:nnasaki:20141002035806p:plain\" title=\"f:id:nnasaki:20141002035806p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20141002035806p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e噂のスタート画面\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20141002/20141002035938.png\" alt=\"f:id:nnasaki:20141002035938p:plain\" title=\"f:id:nnasaki:20141002035938p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20141002035938p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eストアアプリのWindow化。これだと Snap したのと同じように見えてイマイチか。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20141002/20141002040122.png\" alt=\"f:id:nnasaki:20141002040122p:plain\" title=\"f:id:nnasaki:20141002040122p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20141002040122p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eディスク容量。わずか12GB程度。コンパクトになったもんです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20141002/20141002040359.png\" alt=\"f:id:nnasaki:20141002040359p:plain\" title=\"f:id:nnasaki:20141002040359p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20141002040359p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eちなみに、\u003ca href=\"http://d.hatena.ne.jp/keyword/mac\"\u003emac\u003c/a\u003e上では8.8GBぐらいで若干少なく見えます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20141002/20141002040456.png\" alt=\"f:id:nnasaki:20141002040456p:plain\" title=\"f:id:nnasaki:20141002040456p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20141002040456p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows8\"\u003eWindows8\u003c/a\u003e のほうは 100GB 超えてディスクを圧迫しているのでなんとかしたいなぁ。\u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e と Office 2013 が入っているだけだったきがするけど、Disk食うなぁ…\u003c/p\u003e","title":"Windows 10 Technical Preview を Macbook Pro (Parallels Desktop 10) にインストールしたよ"},{"content":" JAWS FESTA Tohoku 2014 AWS のユーザーグループイベントなのに、Microsoft Azure の話をしてきましたよ！ 内容は今日からブログとアプリを作りませんか？Azureを使えばこんなに簡単です。という話をしました。そうしたらAzureを使う方が一人増えたようで本当に嬉しかったです！\n**Hello Azure. inspired by @nnasaki \u0026rsquo;s session. #jawsug #festa2014 pic.twitter.com/DUblE5ZNEc— idacchi (@idacchi) 2014, 9月 6\nセッションの補足です。モバイルサービスのポータルからSwiftをダウンロードするとXcode6-beta7でエラーになる場合、次のリンク先のコードをToDoTableViewController.swiftに上書きして、“ZUMOAPPURL”と “ZUMOAPPKEY”　をPortalので書き換えてください。\nhttps://gist.github.com/nnasaki/313ce1ffa6dc592a8a45\n先ほど試した感じだと、Xcode6のGMでも大丈夫っぽい感じでした。iPhone6 plusのシミュレーターでも動いてました。\nスライドもアップしましたが、あまりウケてなかったのと、公開版はさらにいろいろ削ったので面白くないかも。。。\n今日から使える Microsoft Azure ** from Yamamoto Masaki\nもし、興味のある方は、9/20(土) の JAZUG仙台 - JAZUG4周年を祝う会 in 仙台 - Japan Azure User Group | Doorkeeper でまたしゃべろうと思ってますので、是非ご参加くださいませ。\n懇親会のLTでパイを投げられましたよ！ f:id:nnasaki:20140910223157j:plain 最近のLTは時間オーバーするとパイを投げるのが流行っているんですかね？ 時間オーバーはしてないけど、LTした人全員がパイを食らってたようなｗ\nLTは簡単なアプリをみんなで競っていただきました。一番になった人には商品を、、、と思っていたら、パイくらってたｗ\nf:id:nnasaki:20140910225158p:plain 結果はこんな感じで約1分間で21639なので、360 request/sec ぐらいですかね。スペックはちょっと多めにしてましたがCPU使用率は10%いってなかったのでまだまだ捌けそうでした。インスタンスも1個だけだったので、スケールアウトの余地もありました。\nしかもこのアプリ、面倒なクラウドデザインパターンとか一切無しで、PaaS上のWebSitesとAzure Redis Cacheだけで動いています。PaaSのなにがいいかって、Windows Updateとか面倒ごとは全部クラウドでやってくれてSLA99.9%です。スケールアウトも管理画面からスライダーを右に動かすだけです。ぼく個人としては、IaaSを使う気にはあまりなれません。めんどくさいから。\nこのアプリについても JAZUG仙台 - JAZUG4周年を祝う会 in 仙台 - Japan Azure User Group | Doorkeeper で話そうと思ってます。\nまとめ スタッフの皆さん大規模イベント本当に大変だったと思います。お疲れ様でした。JAWSUGのイベントなのにJAZUGというMicrosoft Azureのユーザーグループを招き入れていただき、本当にありがとうございました。JAWSUGの懐の深さを実感いたしました！\n最後に大事なことなのでもう一度いいます。JAWS な方も是非 JAZUG仙台 - JAZUG4周年を祝う会 in 仙台 - Japan Azure User Group | Doorkeeper に来ていただき、相乗効果で今後もお互いに発展していきましょう！\n","permalink":"/entry/2014/09/10/223626/","summary":"\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://jft2014.jaws-ug.jp/\"\u003eJAWS FESTA Tohoku 2014\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1 id=\"aws-のユーザーグループイベントなのにmicrosoft-azure-の話をしてきましたよ\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/AWS\"\u003eAWS\u003c/a\u003e のユーザーグループイベントなのに、\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e Azure の話をしてきましたよ！\u003c/h1\u003e\n\u003cp\u003e内容は今日からブログとアプリを作りませんか？Azureを使えばこんなに簡単です。という話をしました。そうしたらAzureを使う方が一人増えたようで本当に嬉しかったです！\u003c/p\u003e\n\u003cp\u003e**Hello Azure. inspired by \u003ca href=\"https://twitter.com/nnasaki\"\u003e@nnasaki\u003c/a\u003e \u0026rsquo;s session. \u003ca href=\"https://twitter.com/hashtag/jawsug?src=hash\"\u003e#jawsug\u003c/a\u003e \u003ca href=\"https://twitter.com/hashtag/festa2014?src=hash\"\u003e#festa2014\u003c/a\u003e \u003ca href=\"http://t.co/DUblE5ZNEc\"\u003epic.twitter.com/DUblE5ZNEc\u003c/a\u003e— idacchi (@idacchi) \u003ca href=\"https://twitter.com/idacchi/status/508156383338844160\"\u003e2014, 9月 6\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eセッションの補足です。モバイルサービスのポータルから\u003ca href=\"http://d.hatena.ne.jp/keyword/Swift\"\u003eSwift\u003c/a\u003eをダウンロードするとXcode6-beta7でエラーになる場合、次のリンク先のコードをToDoTableViewController.\u003ca href=\"http://d.hatena.ne.jp/keyword/swift\"\u003eswift\u003c/a\u003eに上書きして、“ZUMOAPPURL”と “ZUMOAPPKEY”　を\u003ca href=\"http://d.hatena.ne.jp/keyword/Portal\"\u003ePortal\u003c/a\u003eので書き換えてください。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://gist.github.com/nnasaki/313ce1ffa6dc592a8a45\"\u003ehttps://gist.github.com/nnasaki/313ce1ffa6dc592a8a45\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e先ほど試した感じだと、Xcode6の\u003ca href=\"http://d.hatena.ne.jp/keyword/GM\"\u003eGM\u003c/a\u003eでも大丈夫っぽい感じでした。iPhone6 plusのシミュレーターでも動いてました。\u003c/p\u003e\n\u003cp\u003eスライドもアップしましたが、あまりウケてなかったのと、公開版はさらにいろいろ削ったので面白くないかも。。。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.slideshare.net/YamamotoMasaki/microsoft-azure-38768261\"\u003e今日から使える Microsoft Azure\u003c/a\u003e ** from \u003cstrong\u003e\u003ca href=\"http://www.slideshare.net/YamamotoMasaki\"\u003eYamamoto Masaki\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eもし、興味のある方は、9/20(土) の \u003ca href=\"http://jazug.doorkeeper.jp/events/14669\"\u003eJAZUG仙台 - JAZUG4周年を祝う会 in 仙台 - Japan Azure User Group | Doorkeeper\u003c/a\u003e でまたしゃべろうと思ってますので、是非ご参加くださいませ。\u003c/p\u003e\n\u003ch1 id=\"懇親会のltでパイを投げられましたよ\"\u003e懇親会のLTでパイを投げられましたよ！\u003c/h1\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20140910/20140910223157.jpg\" alt=\"f:id:nnasaki:20140910223157j:plain\" title=\"f:id:nnasaki:20140910223157j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20140910223157j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e最近のLTは時間オーバーするとパイを投げるのが流行っているんですかね？\n時間オーバーはしてないけど、LTした人全員がパイを食らってたようなｗ\u003c/p\u003e\n\u003cp\u003eLTは簡単なアプリをみんなで競っていただきました。一番になった人には商品を、、、と思っていたら、パイくらってたｗ\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20140910/20140910225158.png\" alt=\"f:id:nnasaki:20140910225158p:plain\" title=\"f:id:nnasaki:20140910225158p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20140910225158p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e結果はこんな感じで約1分間で21639なので、360 request/sec ぐらいですかね。スペックはちょっと多めにしてましたが\u003ca href=\"http://d.hatena.ne.jp/keyword/CPU%BB%C8%CD%D1%CE%A8\"\u003eCPU使用率\u003c/a\u003eは10%いってなかったのでまだまだ捌けそうでした。\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%BF%A5%F3%A5%B9\"\u003eインスタンス\u003c/a\u003eも1個だけだったので、スケールアウトの余地もありました。\u003c/p\u003e\n\u003cp\u003eしかもこのアプリ、面倒な\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%A6%A5%C9\"\u003eクラウド\u003c/a\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%B6%A5%A4%A5%F3%A5%D1%A5%BF%A1%BC%A5%F3\"\u003eデザインパターン\u003c/a\u003eとか一切無しで、PaaS上のWebSitesとAzure Redis Cacheだけで動いています。PaaSのなにがいいかって、\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%20Update\"\u003eWindows Update\u003c/a\u003eとか面倒ごとは全部\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%A6%A5%C9\"\u003eクラウド\u003c/a\u003eでやってくれてSLA99.9%です。スケールアウトも管理画面からスライダーを右に動かすだけです。ぼく個人としては、IaaSを使う気にはあまりなれません。めんどくさいから。\u003c/p\u003e\n\u003cp\u003eこのアプリについても \u003ca href=\"http://jazug.doorkeeper.jp/events/14669\"\u003eJAZUG仙台 - JAZUG4周年を祝う会 in 仙台 - Japan Azure User Group | Doorkeeper\u003c/a\u003e  で話そうと思ってます。\u003c/p\u003e","title":"JAWS FESTA Tohoku 2014 で Azure の話をしてきました"},{"content":" エフサミ公式サイト エフサミ2014のリンクまとめ - Yuya Yamaki’s blog とても楽しい二日間でした。\n一日目 台風が心配されましたが、青空の中送迎バスで仙台から郡山へ。バスの中はお祭りで会話が絶えませんでした。\nf:id:nnasaki:20140712075142j:plain Google 及川さんの基調講演はインターネット歴史おじさん話 そうねそうねーといろいろ頷きながら聞いてた。\n#efsumi14 OSI vs TCP/IP。比較していい加減といわれる最終的にTCP/IPが生き残った理由とは— 名誉師範になりたいたかさん (@takagerbera) 2014, 7月 12\n#efsumi14 「大まかな合意と動くプログラム」「シンプルさと単純さ」— 名誉師範になりたいたかさん (@takagerbera) 2014, 7月 12\n#efsumi14 及川さん：IETFはOSIと異なり、「大まかな合意と動くプログラム」！かっちり決めるのではなく大まかに、単純なところから始めて複雑に！これがいまのInternetを支えている！ pic.twitter.com/lfRykdJsvz— 小泉勝志郎 (@koi_zoom1) 2014, 7月 12\nEnd - to- Endが大事　OSI7階層のようにきれいでなくてもいい、手作業でも何でも、まずやることが大事、Person Finderの事例から（かなり端折ってます） #efsumi14— 鍋島 理人 (@nabemasat) 2014, 7月 12\nインターネットの歴史から見ると、最初からきちっと設計するよりは作りながら整えるほうが勝っているように思えます。アジャイルに通じる話でもありました。\nお昼はLT聞きながら、超特大唐揚げ弁当で満腹。唐揚げ好きだけど残してしまうぐらい多かった。\nf:id:nnasaki:20140712123228j:plain 午後は Microsoft Azure ハンズオン！ MSよりエヴァンジェリストの畠山さんをお呼びして、JAZUG仙台として木村さんと一緒にAzureのハンズオンを行いました。\nf:id:nnasaki:20140712151245j:plain 内容は ASP.NET MVC5 と EF と SQL Server を使って作成したアプリを、Webサイトにデプロイするという内容。 事前準備をしていない人がいたり、Azureの契約が出来なかったり、SQL Serverやリモートデスクトップのポートが塞がってたりして、ばたついてしまった。事前にいろいろ問題を想定していたんですが、それ以上に問題が出てしまい、反省する点も多かった。\nハンズオン後は、延長戦で畠山さんからMicrosoft Azure メディアサービスの紹介。メディアサービスソチオリンピックやワールドカップでも使われており、ライブ配信も可能（但し、現在はプライベートプレビュー） 実際にWebカメラをライブ配信していただきましたが、めんどくさいことは全部Azureでやってくれて、HTMLにリンクを張るだけで、iPhoneからもPCからもストリーミング再生が出来るのは感動しました。しかも、配信を止めた後はアーカイブとして再生可能。ストリーミングは転送料金が高くつきそうですが、これは魅力的だと思いました。\n二日目 所用があり、二日目は参加せずに帰ろうかと思いましたが、澤さんのプレゼン講座があるということで参加することにしました。結果は参加して大正解だった。文章にすると、誤解を与えてしまうかもしれないのであえて書かない。\nf:id:nnasaki:20140713103124j:plain 詳細は連載を読むと良いと思います。エンジニアのプレゼンにありがちな「落とし穴」──澤円のプレゼン塾（その１）｜CodeIQ MAGAZINE また、西脇さんの記事も合わせて読みたい。Web技術者も知るべきデモ・プレゼンの極意（西脇資哲氏）「Microsoft de:code」イベントレポート | HTML5Experts.jp\n午後のセッションも聞きたかったですが、タイムリミットだったため後ろ髪を引かれる思いで会場を後にしました。\nあとがき エフサミスタッフの皆さんは本当にお疲れ様でした。子供から大人まで楽しめるITイベントというのは、ありそうであまり無かったと思います。NHKニュースで子供が遊んでいる動画を妻に見せたら、「参加すれば良かった」と言ってましたので、来年もあるならば家族でまた参加したいと思います。\nf:id:nnasaki:20140713124414j:plain 写真は郡山駅にて「うねめまつり」というのが8月にあるらしいです。もうすぐ夏休みなんですよねー。はー、祭りの後の気分で仕事という現実がつらひ。\n","permalink":"/entry/2014/07/15/020621/","summary":"\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://summit.efsta.com/2014/\"\u003eエフサミ公式サイト\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/Yamaki/20140714/1405320292\"\u003eエフサミ2014のリンクまとめ - Yuya Yamaki’s blog\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eとても楽しい二日間でした。\u003c/p\u003e\n\u003ch1 id=\"一日目\"\u003e一日目\u003c/h1\u003e\n\u003cp\u003e台風が心配されましたが、青空の中送迎バスで仙台から郡山へ。バスの中はお祭りで会話が絶えませんでした。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20140712/20140712075142.jpg\" alt=\"f:id:nnasaki:20140712075142j:plain\" title=\"f:id:nnasaki:20140712075142j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20140712075142j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch2 id=\"google-及川さんの基調講演はインターネット歴史おじさん話\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Google\"\u003eGoogle\u003c/a\u003e 及川さんの基調講演はインターネット歴史おじさん話\u003c/h2\u003e\n\u003cp\u003eそうねそうねーといろいろ頷きながら聞いてた。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003ca href=\"https://twitter.com/hashtag/efsumi14?src=hash\"\u003e#efsumi14\u003c/a\u003e \u003ca href=\"http://d.hatena.ne.jp/keyword/OSI\"\u003eOSI\u003c/a\u003e vs \u003ca href=\"http://d.hatena.ne.jp/keyword/TCP/IP\"\u003eTCP/IP\u003c/a\u003e。比較していい加減といわれる最終的に\u003ca href=\"http://d.hatena.ne.jp/keyword/TCP/IP\"\u003eTCP/IP\u003c/a\u003eが生き残った理由とは— 名誉師範になりたいたかさん (@takagerbera) \u003ca href=\"https://twitter.com/takagerbera/statuses/487775787848699905\"\u003e2014, 7月 12\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003ca href=\"https://twitter.com/hashtag/efsumi14?src=hash\"\u003e#efsumi14\u003c/a\u003e 「大まかな合意と動くプログラム」「シンプルさと単純さ」— 名誉師範になりたいたかさん (@takagerbera) \u003ca href=\"https://twitter.com/takagerbera/statuses/487775992899842049\"\u003e2014, 7月 12\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003ca href=\"https://twitter.com/hashtag/efsumi14?src=hash\"\u003e#efsumi14\u003c/a\u003e 及川さん：\u003ca href=\"http://d.hatena.ne.jp/keyword/IETF\"\u003eIETF\u003c/a\u003eは\u003ca href=\"http://d.hatena.ne.jp/keyword/OSI\"\u003eOSI\u003c/a\u003eと異なり、「大まかな合意と動くプログラム」！かっちり決めるのではなく大まかに、単純なところから始めて複雑に！これがいまのInternetを支えている！ \u003ca href=\"http://t.co/lfRykdJsvz\"\u003epic.twitter.com/lfRykdJsvz\u003c/a\u003e— 小泉勝志郎 (@koi_zoom1) \u003ca href=\"https://twitter.com/koi_zoom1/statuses/487776220247904256\"\u003e2014, 7月 12\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eEnd - to- Endが大事　OSI7階層のようにきれいでなくてもいい、手作業でも何でも、まずやることが大事、Person Finderの事例から（かなり端折ってます）  \u003ca href=\"https://twitter.com/hashtag/efsumi14?src=hash\"\u003e#efsumi14\u003c/a\u003e— 鍋島 理人 (@nabemasat) \u003ca href=\"https://twitter.com/nabemasat/statuses/487784398121488385\"\u003e2014, 7月 12\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eインターネットの歴史から見ると、最初からきちっと設計するよりは作りながら整えるほうが勝っているように思えます。\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A2%A5%B8%A5%E3%A5%A4%A5%EB\"\u003eアジャイル\u003c/a\u003eに通じる話でもありました。\u003c/p\u003e\n\u003cp\u003eお昼はLT聞きながら、超特大唐揚げ弁当で満腹。唐揚げ好きだけど残してしまうぐらい多かった。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20140712/20140712123228.jpg\" alt=\"f:id:nnasaki:20140712123228j:plain\" title=\"f:id:nnasaki:20140712123228j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20140712123228j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch2 id=\"午後は-microsoft-azure-ハンズオン\"\u003e午後は \u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e Azure ハンズオン！\u003c/h2\u003e\n\u003cp\u003eMSより\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A8%A5%F4%A5%A1%A5%F3%A5%B8%A5%A7%A5%EA%A5%B9%A5%C8\"\u003eエヴァンジェリスト\u003c/a\u003eの畠山さんをお呼びして、JAZUG仙台として木村さんと一緒にAzureのハンズオンを行いました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20140712/20140712151245.jpg\" alt=\"f:id:nnasaki:20140712151245j:plain\" title=\"f:id:nnasaki:20140712151245j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20140712151245j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e内容は ASP.NET MVC5 と EF と \u003ca href=\"http://d.hatena.ne.jp/keyword/SQL%20Server\"\u003eSQL Server\u003c/a\u003e を使って作成したアプリを、Webサイトにデプロイするという内容。\n事前準備をしていない人がいたり、Azureの契約が出来なかったり、\u003ca href=\"http://d.hatena.ne.jp/keyword/SQL%20Server\"\u003eSQL Server\u003c/a\u003eや\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%EA%A5%E2%A1%BC%A5%C8%A5%C7%A5%B9%A5%AF%A5%C8%A5%C3%A5%D7\"\u003eリモートデスクトップ\u003c/a\u003eのポートが塞がってたりして、ばたついてしまった。事前にいろいろ問題を想定していたんですが、それ以上に問題が出てしまい、反省する点も多かった。\u003c/p\u003e\n\u003cp\u003eハンズオン後は、延長戦で畠山さんから\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e Azure メディアサービスの紹介。メディアサービス\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%BD%A5%C1%A5%AA%A5%EA%A5%F3%A5%D4%A5%C3%A5%AF\"\u003eソチオリンピック\u003c/a\u003eやワールドカップでも使われており、ライブ配信も可能（但し、現在はプライベートプレビュー）\n実際に\u003ca href=\"http://d.hatena.ne.jp/keyword/Web%A5%AB%A5%E1%A5%E9\"\u003eWebカメラ\u003c/a\u003eをライブ配信していただきましたが、めんどくさいことは全部Azureでやってくれて、HTMLにリンクを張るだけで、\u003ca href=\"http://d.hatena.ne.jp/keyword/iPhone\"\u003eiPhone\u003c/a\u003eからもPCからもストリーミング再生が出来るのは感動しました。しかも、配信を止めた後はアーカイブとして再生可能。ストリーミングは転送料金が高くつきそうですが、これは魅力的だと思いました。\u003c/p\u003e\n\u003ch2 id=\"二日目\"\u003e二日目\u003c/h2\u003e\n\u003cp\u003e所用があり、二日目は参加せずに帰ろうかと思いましたが、澤さんのプレゼン講座があるということで参加することにしました。結果は参加して大正解だった。文章にすると、誤解を与えてしまうかもしれないのであえて書かない。\u003c/p\u003e","title":"エフサミ2014にて Microsoft Azure ハンズオンを行いました"},{"content":"タイトルの通り、Microsoft Azureモバイルサービスにてswift版のTodoアプリがダウンロードできるようになってました。私の Pull Request もちゃんとはいっているようで嬉しいです。\nf:id:nnasaki:20140713092508p:plain @naoya_ito さんのつぶやき見るまで気づいていなかったというダメっぷり。。。\nAzure の MBaaS に流石に iOS の SDK とかは入ってないかと思ったら、ちゃんとあるのな。Swift 版のもあった #hcmpl pic.twitter.com/LqoC6QL4ur— Naoya Ito (@naoya_ito) 2014, 7月 12\n","permalink":"/entry/2014/07/13/092716/","summary":"\u003cp\u003eタイトルの通り、\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e Azureモバイルサービスにて\u003ca href=\"http://d.hatena.ne.jp/keyword/swift\"\u003eswift\u003c/a\u003e版のTodoアプリがダウンロードできるようになってました。私の Pull Request もちゃんとはいっているようで嬉しいです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20140713/20140713092508.png\" alt=\"f:id:nnasaki:20140713092508p:plain\" title=\"f:id:nnasaki:20140713092508p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20140713092508p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e@naoya_ito さんのつぶやき見るまで気づいていなかったというダメっぷり。。。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eAzure の MBaaS に流石に \u003ca href=\"http://d.hatena.ne.jp/keyword/iOS\"\u003eiOS\u003c/a\u003e の \u003ca href=\"http://d.hatena.ne.jp/keyword/SDK\"\u003eSDK\u003c/a\u003e とかは入ってないかと思ったら、ちゃんとあるのな。\u003ca href=\"http://d.hatena.ne.jp/keyword/Swift\"\u003eSwift\u003c/a\u003e 版のもあった \u003ca href=\"https://twitter.com/hashtag/hcmpl?src=hash\"\u003e#hcmpl\u003c/a\u003e \u003ca href=\"http://t.co/LqoC6QL4ur\"\u003epic.twitter.com/LqoC6QL4ur\u003c/a\u003e— Naoya Ito (@naoya_ito) \u003ca href=\"https://twitter.com/naoya_ito/statuses/487867992810594304\"\u003e2014, 7月 12\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003chr\u003e","title":"Microsoft Azureモバイルサービスにてswift版がダウンロードできるようになってました。"},{"content":"The Go Programming Language皆さんやってますか？Technology Radar July 2014 | ThoughtWorksでは ADOPT となり、あの @t_wada さんも 「2014年プログラミング大予測」に参加しました - t-wadaのブログ にて今年流行ると言っています。まさに今が旬な言語です。\nまず最初は Hello, World から http://golang.org を開くと、最初に目につくのは Hello World です。(正確には Hello, 世界になってたけど) おもむろに Run をクリックすれば表示されます。\nkobito.1404828211.848469.png 各プラットフォームに対応 Downloads - The Go Programming Language をみればわかるとおり、Mac OS X、Linux、Windows と各プラットフォームに対応していることがわかります。親切にインストーラーも用意されていますので、簡単にインストールすることが可能です。\nkobito.1404828485.060400.png 日本語チュートリアルも用意されている A Tour of Go にて Hello, World から条件分岐、ループ、例外、HttpServer まで一通り説明されています。各トピックが１ページにまとまっており、PlayGroundですぐに実行して確認出来るため、既に他言語をやっている人にとって習得は用意だと思われます。\nkobito.1404828738.913070.png Microsoft Azure Web サイトで Hello, World を出力する Go 言語の紹介はここまでとして、ここからが本題です。\nMicrosoft Azure Web サイトで Go言語 が動かないかなと思いました。なぜなら以前にWindows Azure Web サイトで Ruby を動かしてみた（CGI 編） - しばやん雑記 を見ていたからです。そして、 試行錯誤した結果、動きました!!\nkobito.1404829093.553753.png これだけですが、結構いろいろやらないといけなくて大変で、動いたときはちょっとガッツポーズしてしまいましたｗ\nCGI として Go を動かす Go のチュートリアルでは、HttpServer も建てられてしまうので、CGI として動かすのは勿体ないというか無駄かもしれませんが、まずは CGI から初めていきたいと思います。\n用意するものは次の通りです。\nMicrosoft Azure Web サイト(無料でOK) Go Runtime Web.config Site Extensions Microsoft Azure Webサイト の設定 hello.go(ソースファイル) 順番に説明していきます。\nMicrosoft Azure Web サイト 管理ポータルからWebサイトを作ってください。無料で十分動きます。詳細は省きますね。\nGo Runtime のインストール Downloads - The Go Programming Language から 「go1.3.windows-386.zip」 をダウンロードする。(無料では64bitが動かないため)\nkobito.1404828485.060400.png Azure Web サイトに Kudu を使用して、アップロードします。Kudu へのアクセス方法は Webサイト のアドレスに scm という文字列を挿入するとアクセスすることが出来ます。例えば、「 https://nnasaki-spring.azurewebsites.net/ 」ならば、「 https://nnasaki-spring.scm.azurewebsites.net/ 」のようにします。\nDebug Console から、Power Shell を開いて D:\\home\\site\\wwwroot まで移動します。移動後、ブラウザへ「go1.3.windows-386.zip」をドラッグアンドドロップするとアップロードできます。\nアップロードしたzipは PowerShell にて、unzip go1.3.windows-386.zip して解凍します。実行した結果次のようになります。\nkobito.1404830011.892774.png ※ go の Runtime は公開ディレクトリじゃないところに格納したほうが良いですが、テスト的にこのまま進めます。\nWeb.config の作成 しばやん先生の記事 Windows Azure Web サイトで Ruby を動かしてみた（CGI 編） - しばやん雑記 を参考にWeb.configを次のように作成します。\n\u0026lt;?xml version=\u0026#34;1.0\u0026#34; encoding=\u0026#34;utf-8\u0026#34;?\u0026gt; \u0026lt;configuration\u0026gt; \u0026lt;system.webServer\u0026gt; \u0026lt;handlers\u0026gt; \u0026lt;add name=\u0026#34;GoCGI\u0026#34; verb=\u0026#34;*\u0026#34; path=\u0026#34;*.go\u0026#34; modules=\u0026#34;CgiModule\u0026#34; scriptProcessor=\u0026#34;D:\\home\\site\\wwwroot\\go\\bin\\go run D:\\home\\site\\wwwroot\\hello.go\u0026#34; resourceType=\u0026#39;Unspecified\u0026#39; /\u0026gt; \u0026lt;/handlers\u0026gt; \u0026lt;cgi createProcessAsUser=\u0026#34;false\u0026#34;/\u0026gt; \u0026lt;/system.webServer\u0026gt; \u0026lt;/configuration\u0026gt; hello.go 決め打ちですが、まぁ、まずはミニマム構成で進めましょう。\nWeb.config は先ほどと同じように Kudu を使用して、D:\\home\\site\\wwwroot にアップしておきます。\nSite Extensions を追加する Web.config だけでは動くようにはならず、Site Extensions を追加しないとダメなようです。Site Extensions については Windows Azure Web Sitesの魅力を120%引き出す « ブチザッキ を参照のことということで、確認するとどうやら空のASP.NETアプリケーションを作成して、applicationHost.xdt というファイルに次の設定を書いてあげる必要があるそうです。\n\u0026lt;?xml version=\u0026#34;1.0\u0026#34; encoding=\u0026#34;utf-8\u0026#34;?\u0026gt; \u0026lt;configuration xmlns:xdt=\u0026#34;http://schemas.microsoft.com/XML-Document-Transform\u0026#34;\u0026gt; \u0026lt;system.webServer\u0026gt; \u0026lt;security\u0026gt; \u0026lt;isapiCgiRestriction\u0026gt; \u0026lt;add path=\u0026#34;D:\\home\\site\\wwwroot\\go\\bin\\go run D:\\home\\site\\wwwroot\\hello.go\u0026#34; allowed=\u0026#34;true\u0026#34; xdt:Transform=\u0026#34;Insert\u0026#34; /\u0026gt; \u0026lt;/isapiCgiRestriction\u0026gt; \u0026lt;/security\u0026gt; \u0026lt;/system.webServer\u0026gt; \u0026lt;/configuration\u0026gt; いちいち作るのは面倒だと思うので、http://1drv.ms/1xMvVDW にアップしました。 cgi.zip をダウンロードして、 Kudu にて D:\\home\\SiteExtensions に移動して、cgi.zip をアップして、Unzip してください。解凍直後はこんな画面になると思います。\nkobito.1404831455.835479.png Microsoft Azure Webサイト の設定 Microsoft Azure のポータルサイトで設定が必要です。ポータルサイトのWebサイトの構成を開き、下のほうにスクロールして、「アプリケーション設定」に次の Key/Value を設定します。\nGOROOT=D:\\home\\site\\wwwroot\\go WEBSITE_PRIVATE_EXTENSIONS=1 kobito.1404831780.641097.png GOROOT は環境変数で、これが無いと Go が動きません。 WEBSITE_PRIVATE_EXTENSIONS は先ほど自分で作成した Web Extensions を有効にします。\n設定を追加したら「保存」して「再起動」をします。\nhello.go の配置 だいぶ前置きが長くなりました！ hello.go のソースを次のように記載して、D:\\home\\site\\wwwroot\\に置きます。\npackage main import \u0026#34;fmt\u0026#34; func main() { fmt.Println(\u0026#34;Content-type: text/html\\n\\n\u0026#34;) fmt.Println(\u0026#34;Hello, World\u0026#34;) } https://nnasaki-spring.azurewebsites.net/hello.go にアクセスします！次のように表示されると思います。\nkobito.1404829093.553753.png 尚、Content-Typeを設定しないと次のようなエラーが表示されます。\nkobito.1404826758.687288.png 私も最初忘れてて D:\\home\\LogFiles\\DetailedErrors を見て、The CGI process has a flaw and does not return a complete set of HTTP headers. で思い出しました。こんなエラー画面です。\nkobito.1404832778.213305.png 参考サイト Windows Azure Web サイトで Ruby を動かしてみた（CGI 編） - しばやん雑記 Windows Azure Web Sitesの魅力を120%引き出す « ブチザッキ Azure Web サイトの新機能: 環境変数が構成可能に - Microsoft Azure Japan Team Blog (ブログ) - Site Home - MSDN Blogs -Windows Azure Web サイトの小ネタ集 - しばやん雑記 ","permalink":"/entry/2014/07/09/004726/","summary":"\u003cp\u003e\u003ca href=\"http://golang.org/\"\u003eThe Go Programming Language\u003c/a\u003e皆さんやってますか？\u003ca href=\"http://www.thoughtworks.com/radar/#/\"\u003eTechnology Radar July 2014 | ThoughtWorks\u003c/a\u003eでは ADOPT となり、あの @t_wada さんも \u003ca href=\"http://t-wada.hatenablog.jp/entry/programming-forecast-2014\"\u003e「2014年プログラミング大予測」に参加しました - t-wadaのブログ\u003c/a\u003e にて今年流行ると言っています。まさに今が旬な言語です。\u003c/p\u003e\n\u003ch1 id=\"まず最初は-hello-world-から\"\u003eまず最初は Hello, World から\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"http://golang.org\"\u003ehttp://golang.org\u003c/a\u003e を開くと、最初に目につくのは \u003ca href=\"http://d.hatena.ne.jp/keyword/Hello%20World\"\u003eHello World\u003c/a\u003e です。(正確には Hello, 世界になってたけど) おもむろに Run をクリックすれば表示されます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://qiita-image-store.s3.amazonaws.com/0/31790/b8dba9a8-61a7-9b6e-155a-e42e69e313b7.png\" title=\"kobito.1404828211.848469.png\" alt=\"kobito.1404828211.848469.png\" /\u003e\u003cfigcaption\u003ekobito.1404828211.848469.png\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch1 id=\"各プラットフォームに対応\"\u003e各プラットフォームに対応\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"http://golang.org/dl/\"\u003eDownloads - The Go Programming Language\u003c/a\u003e をみればわかるとおり、\u003ca href=\"http://d.hatena.ne.jp/keyword/Mac%20OS%20X\"\u003eMac OS X\u003c/a\u003e、\u003ca href=\"http://d.hatena.ne.jp/keyword/Linux\"\u003eLinux\u003c/a\u003e、\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows\"\u003eWindows\u003c/a\u003e と各プラットフォームに対応していることがわかります。親切に\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%E9\"\u003eインストーラ\u003c/a\u003eーも用意されていますので、簡単にインストールすることが可能です。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://qiita-image-store.s3.amazonaws.com/0/31790/8722a7d5-a596-7184-445d-479bc1712563.png\" title=\"kobito.1404828485.060400.png\" alt=\"kobito.1404828485.060400.png\" /\u003e\u003cfigcaption\u003ekobito.1404828485.060400.png\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch1 id=\"日本語チュートリアルも用意されている\"\u003e日本語\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C1%A5%E5%A1%BC%A5%C8%A5%EA%A5%A2%A5%EB\"\u003eチュートリアル\u003c/a\u003eも用意されている\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"http://go-tour-jp.appspot.com/#1\"\u003eA Tour of Go\u003c/a\u003e にて Hello, World から条件分岐、ループ、例外、HttpServer まで一通り説明されています。各トピックが１ページにまとまっており、PlayGroundですぐに実行して確認出来るため、既に他言語をやっている人にとって習得は用意だと思われます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://qiita-image-store.s3.amazonaws.com/0/31790/ed606200-8a4e-7269-0ee0-22fcc5c9881c.png\" title=\"kobito.1404828738.913070.png\" alt=\"kobito.1404828738.913070.png\" /\u003e\u003cfigcaption\u003ekobito.1404828738.913070.png\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch1 id=\"microsoft-azure-web-サイトで-hello-world-を出力する\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e Azure Web サイトで Hello, World を出力する\u003c/h1\u003e\n\u003cp\u003eGo 言語の紹介はここまでとして、ここからが本題です。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e Azure Web サイトで Go言語 が動かないかなと思いました。なぜなら以前に\u003ca href=\"http://shiba-yan.hatenablog.jp/entry/20140203/1391436381\"\u003eWindows Azure Web サイトで Ruby を動かしてみた（CGI 編） - しばやん雑記\u003c/a\u003e を見ていたからです。そして、 \u003cstrong\u003e試行錯誤した結果、動きました!!\u003c/strong\u003e\u003c/p\u003e","title":"Microsoft Azure Web サイト で Go言語 を CGI で動かす"},{"content":"はてなの今週のお題「テスト」らしいです。\n第１回 TDD勉強会in仙台 - connpass に行ってきました。\nTDD でひさしぶりにVisual Studio立ち上げたー。 MVP ネタにされすぎw— YAMAMOTO Masaki (@nnasaki) 2014, 7月 3\n今日のMVP様ネタ。混んでいる仙台駅前でイラついてるMVP様を見て。 @nnasaki pic.twitter.com/mIsPuWK7Gx— ネモトノリユキ (@nemorine) 2014, 7月 4\nMVP受賞直後ということで、皆さんにネタにされた祝っていただきました。本当に皆さんのおかげでここまでやってこれたなーと感じました。\nこれを貰うためだけに来ました。(｀･ω･´)ゞ (@ ソシラボ SOCiAL Laboratory) https://t.co/vBB0Vqs33F pic.twitter.com/JXAHuYRI64— いまいまさのぶ (@masanobuimai) 2014, 7月 3\nあとはいまいさんにキーボードを譲って終了、、、ではなくて、本題へ。\nお題は「会議室の予約」 シンプルながら状態持ったり日付使ったりとFizz Buzzよりずっと難しいと感じました。\nMacbook の電源アダプターを持ってきていなかったので、VM で Windows を立ち上げるのはバッテリーが持つかちょっと不安でした。なので、IntelliJ を起動して Java でやる気満々だったところ、 @bonprosoft さんが電源アダプターを何故か持っているとのこと。（Mac持ってきてないのに！）\nありがたくお借りして Visual Studio を立ち上げて、Chaining Assertion と MSTest を使用した。\n最初のテストはこれだけです。\n[TestMethod] public void 会議室を予約できること() { var meetingRoom = new MeetingRoom(); meetingRoom.Reserve().Is(true); } [TestMethod] public void 会議室が予約可能と確認できること() { var meetingRoom = new MeetingRoom(); meetingRoom.CanReserve.Is(true); } ここは bool だけで済みます。この後日付指定が入ってきます。\n[TestMethod] public void 日付を一日指定して予約できること() { var meetingRoom = new MeetingRoom(); var reserveDate = DateTime.Parse(\u0026#34;2014/7/1\u0026#34;); meetingRoom.Reserve(reserveDate).Is(true); } まぁ、ここまではまだ良い。でも、別な日に予約したいとなるとテストは Red になります。\n[TestMethod] public void 日付を一日指定後に次の日付で予約できること() { var meetingRoom = new MeetingRoom(); var reserveDate = DateTime.Parse(\u0026#34;2014/7/1\u0026#34;); meetingRoom.Reserve(reserveDate).Is(true); var nextDate = DateTime.Parse(\u0026#34;2014/7/2\u0026#34;); meetingRoom.Reserve(nextDate).Is(true); } 理由は当初の bool を引きずって、日付を一つしか入れてないから。このあとも、bool を引きずってしまい、Class Reserved { public bool reserved; public DateTime reservedDate; } のようなクラスをつくって、Listとかごちゃごちゃやり出したら、最初のテストが通らなくなり実装している間に終わってしまった。\nとなりの @bonprosoft さんは私がまごまごしている間に実装終わっていたらしく、パラメタライズテストをしていたけど、Listのテストが期待通りにならなくてForEachでやってましたとのこと。そこで、Linq ですよとやろうとしたら、List.Where が通らなくて時間切れ。\n後で見返したら、using System.Linq; じゃなくて using System.Data.Linq; になってるからだった。３５歳定年が近づいているのを感じる。生きるのが辛い。\n.NET Framework における List の Assert の仕方 さて、宿題にしてちょっと考えてみました。\nまずは、１〜５のRangeをListにして考えてみます。先にも言ったとおり、Chaining Assertion を使用します。\n[TestMethod] public void Listの並び順を気にしてテストする() { var list = new List\u0026lt;int\u0026gt; { 1, 2, 3, 4, 5 }; list.Is(1, 2, 3, 4, 5); list.IsNot(5, 4, 3, 2, 1); } 順番通りなら true で、逆順は false ここまでは良いですね。次にパラメタライズテストをしてみます。\n[TestMethod] [TestCase(1)] [TestCase(2)] [TestCase(3)] [TestCase(4)] [TestCase(5)] public void パラメタライズテスト() { var list = new List\u0026lt;int\u0026gt;(); TestContext.Run((int x) =\u0026gt; { Trace.Write(x); list.Add(x); }); list.Is(1, 2, 3, 4, 5); // Failed } これはトレースすると(5,4,3,2,1)となっているからでした。（まぁ、普段こんな書き方しないだろというのは置いておいて）\n並び順を気にせずに比較する 会議室の予約日付なので、別に並び順が異なっててもデータ的には問題ありません。（人の目で見るときは見にくいかもしれないけど） なので、並び順を気にしないで比較したいです。そんなとき Java で Hamcrest Matchers を使用すると、[containsInAnyOrder](http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matchers.html#containsInAnyOrder(java.util.Collection%29) といったよさげなものがあります。\nMSTest は CollectionAssert.AreEquivalent メソッド を使うと良さそうです。\nvar list = new List\u0026lt;int\u0026gt; { 5, 4, 3, 2, 1 }; var expected = new List\u0026lt;int\u0026gt; { 1, 2, 3, 4, 5}; CollectionAssert.AreEquivalent(expected, list); var list2 = new List\u0026lt;int\u0026gt; { 5, 4, 3, 2, 1, 6 }; CollectionAssert.AreNotEquivalent(expected, list2); 要素数が違う場合もエラーとなってくれます。\nそもそも List を使わない @i_takehiro さんいわく、会議室の日付予約の順番は必要無く、単純な集合を使ったほうが良いとのことでした。Java でいう Set は .NET だと HashSet っぽかったのでそれで書いてみます。\nvar set = new HashSet\u0026lt;int\u0026gt; { 5, 4, 3, 2, 1 }; var expected = new HashSet\u0026lt;int\u0026gt; { 1, 2, 3, 4, 5 }; // ビルドエラーになってしまう // CollectionAssert.AreEquivalent(expected, set); set.SetEquals(expected).IsTrue(); var set2 = new HashSet\u0026lt;int\u0026gt; { 5, 4, 3, 2, 1, 6 }; set2.SetEquals(expected).IsFalse(); 残念ながら MSTest の CollectionAssert.AreEquivalent は HashSet を取り扱えないらしくてビルドエラーとなってしまいます。NUnit のならいけるっぽい。( via System.Collections.Generic.HashSetクラスを使ってみた - プログラマーな日々)\n皆様の感想とか TDD 勉強会終了。 ハンズオンの勉強会は久しぶりに出たけど、すごくためになった。 やはり、こういうのはやりこんでいる人のやり方を見せてもらうのがイチバン。— yscode (@yscode) 2014, 7月 3\n本日の第１回 TDD勉強会in仙台は、最終的に１０名の参加がありました。大分ゆるふわな感じの勉強会でしたが、とても面白かったです。参加者の皆さん、ありがとうございました。また近々開催すると思いますのでよろしくお願いします。 http://t.co/71m1LoyWrc— Takehiro Inoue (@i_takehiro) 2014, 7月 3\nしばらく Visual Studio 使ってなかったから色々辛い。。。\nこんな感じでリハビリしていければなーと思います。\n","permalink":"/entry/2014/07/05/012126/","summary":"\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA\"\u003eはてな\u003c/a\u003eの\u003ca href=\"http://blog.hatena.ne.jp/-/campaign/odai\"\u003e今週のお題\u003c/a\u003e「テスト」らしいです。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://connpass.com/event/7287/\"\u003e第１回 TDD勉強会in仙台 - connpass\u003c/a\u003e に行ってきました。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eTDD でひさしぶりに\u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e立ち上げたー。 MVP ネタにされすぎw— YAMAMOTO Masaki (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/statuses/484704878590042112\"\u003e2014, 7月 3\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e今日のMVP様ネタ。混んでいる仙台駅前でイラついてるMVP様を見て。 \u003ca href=\"https://twitter.com/nnasaki\"\u003e@nnasaki\u003c/a\u003e \u003ca href=\"http://t.co/mIsPuWK7Gx\"\u003epic.twitter.com/mIsPuWK7Gx\u003c/a\u003e— ネモトノリユキ (@nemorine) \u003ca href=\"https://twitter.com/nemorine/statuses/485048578629328897\"\u003e2014, 7月 4\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eMVP受賞直後ということで、皆さんにネタにされた祝っていただきました。本当に皆さんのおかげでここまでやってこれたなーと感じました。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eこれを貰うためだけに来ました。(｀･ω･´)ゞ (@ ソシラボ SOCiAL Laboratory) \u003ca href=\"https://t.co/vBB0Vqs33F\"\u003ehttps://t.co/vBB0Vqs33F\u003c/a\u003e \u003ca href=\"http://t.co/JXAHuYRI64\"\u003epic.twitter.com/JXAHuYRI64\u003c/a\u003e— いまいまさのぶ (@masanobuimai) \u003ca href=\"https://twitter.com/masanobuimai/statuses/484647882424066048\"\u003e2014, 7月 3\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eあとはいまいさんにキーボードを譲って終了、、、ではなくて、本題へ。\u003c/p\u003e\n\u003ch1 id=\"お題は会議室の予約\"\u003eお題は「会議室の予約」\u003c/h1\u003e\n\u003cp\u003eシンプルながら状態持ったり日付使ったりと\u003ca href=\"http://d.hatena.ne.jp/keyword/Fizz\"\u003eFizz\u003c/a\u003e Buzzよりずっと難しいと感じました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Macbook\"\u003eMacbook\u003c/a\u003e の電源アダプターを持ってきていなかったので、\u003ca href=\"http://d.hatena.ne.jp/keyword/VM\"\u003eVM\u003c/a\u003e で \u003ca href=\"http://d.hatena.ne.jp/keyword/Windows\"\u003eWindows\u003c/a\u003e を立ち上げるのはバッテリーが持つかちょっと不安でした。なので、\u003ca href=\"http://d.hatena.ne.jp/keyword/IntelliJ\"\u003eIntelliJ\u003c/a\u003e を起動して \u003ca href=\"http://d.hatena.ne.jp/keyword/Java\"\u003eJava\u003c/a\u003e でやる気満々だったところ、 @bonprosoft さんが電源アダプターを何故か持っているとのこと。（\u003ca href=\"http://d.hatena.ne.jp/keyword/Mac\"\u003eMac\u003c/a\u003e持ってきてないのに！）\u003c/p\u003e\n\u003cp\u003eありがたくお借りして \u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e を立ち上げて、\u003ca href=\"http://chainingassertion.codeplex.com/\"\u003eChaining Assertion\u003c/a\u003e と MSTest を使用した。\u003c/p\u003e\n\u003cp\u003e最初のテストはこれだけです。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e        [TestMethod]\n        public void 会議室を予約できること()\n        {\n            var meetingRoom = new MeetingRoom();\n            meetingRoom.Reserve().Is(true);\n        }\n\n        [TestMethod]\n        public void 会議室が予約可能と確認できること()\n        {\n            var meetingRoom = new MeetingRoom();\n            meetingRoom.CanReserve.Is(true);\n        }\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eここは bool だけで済みます。この後日付指定が入ってきます。\u003c/p\u003e","title":"第１回 TDD勉強会in仙台 に参加しました。"},{"content":"Microsoft MVP for Microsoft Azure を今回受賞することが出来ました。誠に嬉しく思うことと同時に、身が引き締まる思いです。\nここ一年を振り返ると、Microsoft Azure Mobile Services を中心に執筆やオフラインで登壇などの活動をしてきました。Mobile Services は Windows はもちろんのこと Android からも使えるし、iOS からも使えるという本当にすばらしいサービスです。\nその反面、クライアントの範囲が広いので、調査する量も膨大で苦労しました。結果、クライアントの話だけで手一杯となり、サーバー側はあまりキャッチアップ出来てなかったなぁと反省しています。\nモバイルサービスへのコントリビュートも最初はリジェクトされました。ですが、次のプルリクエストが最終的にマージされて よかったなぁと思います。if 追加しただけのしょっぱいコードですけどね。\nモバイルサービス SDK の Master にマージされたので、そろそろモバイルサービス swift 版 の Todo アプリがポータルからダウンロード出来るようになるかもしれません。\n今後は目標は二つです。\n一つ目はモバイルサービスだけではなく、Microsoft Azure の他のサービスを含めて実践的な使い方をご紹介しつつ、自身が作成したアプリなどの事例などを交えて、より多くの人に Microsoft Azure を使っていただくことです。\n二つ目は東北の仙台において、数少ない MVP として .NET 界隈を盛り上げていきたいと思っています。ASP.NET vNextにも issue を登録したりしていますが、Xamarin や Unity 等は Mac 上でも動きますし、c#は言語ランキングでも4位に入る という調査結果もあります。どうにか盛り上げていければなぁと思います。\n私にとって Microsoft MVP は一つの目標でしたがゴールではないので、今後も後悔だけはしないように活動を継続していきたいと思います。よろしくお願いいたします。\n＃英語もがんばらないとなぁ…\n","permalink":"/entry/2014/07/01/231905/","summary":"\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft%20MVP\"\u003eMicrosoft MVP\u003c/a\u003e for \u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e Azure を今回受賞することが出来ました。誠に嬉しく思うことと同時に、身が引き締まる思いです。\u003c/p\u003e\n\u003cp\u003eここ一年を振り返ると、\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e Azure Mobile Services を中心に執筆やオフラインで登壇などの活動をしてきました。Mobile Services は \u003ca href=\"http://d.hatena.ne.jp/keyword/Windows\"\u003eWindows\u003c/a\u003e はもちろんのこと \u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e からも使えるし、\u003ca href=\"http://d.hatena.ne.jp/keyword/iOS\"\u003eiOS\u003c/a\u003e からも使えるという本当にすばらしいサービスです。\u003c/p\u003e\n\u003cp\u003eその反面、クライアントの範囲が広いので、調査する量も膨大で苦労しました。結果、クライアントの話だけで手一杯となり、サーバー側はあまりキャッチアップ出来てなかったなぁと反省しています。\u003c/p\u003e\n\u003cp\u003eモバイルサービスへのコントリビュートも\u003ca href=\"https://github.com/Azure/azure-mobile-services/pull/279\"\u003e最初はリジェクトされました\u003c/a\u003e。ですが、\u003ca href=\"https://github.com/Azure/azure-mobile-services/pull/288\"\u003e次のプルリクエストが最終的にマージされて\u003c/a\u003e よかったなぁと思います。if 追加しただけのしょっぱいコードですけどね。\u003c/p\u003e\n\u003cp\u003eモバイルサービス \u003ca href=\"http://d.hatena.ne.jp/keyword/SDK\"\u003eSDK\u003c/a\u003e の Master にマージされたので、そろそろモバイルサービス \u003ca href=\"http://d.hatena.ne.jp/keyword/swift\"\u003eswift\u003c/a\u003e 版 の Todo アプリがポータルからダウンロード出来るようになるかもしれません。\u003c/p\u003e\n\u003cp\u003e今後は目標は二つです。\u003c/p\u003e\n\u003cp\u003e一つ目はモバイルサービスだけではなく、\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e Azure の他のサービスを含めて実践的な使い方をご紹介しつつ、自身が作成したアプリなどの事例などを交えて、より多くの人に \u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e Azure を使っていただくことです。\u003c/p\u003e\n\u003cp\u003e二つ目は東北の仙台において、数少ない MVP として\u003ca href=\"http://d.hatena.ne.jp/keyword/%20.NET\"\u003e .NET\u003c/a\u003e 界隈を盛り上げていきたいと思っています。\u003ca href=\"https://github.com/aspnet/Home/issues/88\"\u003eASP.NET vNextにも issue を登録したりしています\u003c/a\u003eが、Xamarin や Unity 等は \u003ca href=\"http://d.hatena.ne.jp/keyword/Mac\"\u003eMac\u003c/a\u003e 上でも動きますし、\u003ca href=\"http://techacademy.jp/magazine/1037\"\u003ec#は言語ランキングでも4位に入る\u003c/a\u003e という調査結果もあります。どうにか盛り上げていければなぁと思います。\u003c/p\u003e\n\u003cp\u003e私にとって \u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft%20MVP\"\u003eMicrosoft MVP\u003c/a\u003e は一つの目標でしたがゴールではないので、今後も後悔だけはしないように活動を継続していきたいと思います。よろしくお願いいたします。\u003c/p\u003e\n\u003cp\u003e＃英語もがんばらないとなぁ…\u003c/p\u003e\n\u003chr\u003e","title":"Microsoft MVP for Microsoft Azure を初受賞いたしました"},{"content":"記事目次 【Spring 4.0対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (1) 【Spring 4.0対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (2) 【Spring 4.0対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (3) 今回使用するソース https://github.com/nnasaki/spring-rest/tree/3\n2回目の続きです。何か良い題材が無いか探してたら、spring-projects/spring-data-book がちょうど良さそうなので、これを写経しながら説明していきます。\nクラス図はこんな感じなようです。\nkobito.1404055789.402848.png spring-data-book/doc/DomainModel.pdf at master · spring-projects/spring-data-book\n今回作成するDBはこんな感じ。Customerが複数のAddressを持てるようです。Order とかはまだ作成しません。\nkobito.1404132314.743252.png ソースはGitHubに置きました。ダウンロードして解凍してください。\nソース解説 今回は一気にやることが増えています。大まかには次の通りです。\nCustomerからAddressへの一対多を@OneToManyで表現する。 リポジトリのテストを作成する テストデータを作成する これらを順番に説明していきます。最終的にはこんな感じの構成になります。\nkobito.1404134700.033991.png CustomerからAddressへの一対多を@OneToManyで表現する 説明簡略化のため、Getter/Setter は付けずにpublicで設定しています。ソースの一部を抜粋して説明しています。\nAbstractEntity @MappedSuperclass public class AbstractEntity { @Id @GeneratedValue(strategy = GenerationType.AUTO) public Long id; //equals and hashCode Idは Customer と Address クラスで共通項となるので、スーパークラスに追い出します。JPAの作法でスーパークラスには @MappedSuperclass アノテーションを付けるようです。\nAddress @SuppressWarnings(\u0026#34;UnusedDeclaration\u0026#34;) @Entity public class Address extends AbstractEntity { public String street, city, country; 先ほどの MappedSuperclass を継承して id 列を作ります。\nCustomer @Entity public class Customer extends AbstractEntity{ public String firstname, lastname; @NotNull @Size(max = 64) public String password; @Column(unique = true) public EmailAddress emailAddress; @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) @JoinColumn(name = \u0026#34;customer_id\u0026#34;) public Set\u0026lt;Address\u0026gt; addresses = new HashSet\u0026lt;\u0026gt;(); 前回の password 以外にカラムを追加します。@OneToMany アノテーションで一対多を表現します。CascadeType.ALL や orphanRemoval が何故必要かはよくわかりません。おまじないみたいなもんだとここでは思っておきます。\nCustomerRepository @Repository public interface CustomerRepository extends JpaRepository\u0026lt;Customer, Long\u0026gt;{ Customer findByEmailAddress(EmailAddress email); List\u0026lt;Customer\u0026gt; findByAddresses_City(String city); } 2つのメソッドが追加されます。命名規則があります。\nfindByEmailAddress() のように findBy〜 に検索したいカラムの名前を入れます。 findByAddresses_City() のように関連性のあるテーブルの列を検索して結果を取得したいときは findBy[他エンティティ名]_[カラム名]で作成します。アンダースコア(_)は省略可能です。複数の結果を返すのでList\u0026lt;\u0026gt;にしています。 この命名規則から外れるとSpring起動時にエラーが出て立ち上がらなくなるので注意してください。\nEmailAddress @Embeddable public class EmailAddress { private static final String EMAIL_REGEX = \u0026#34;^[_A-Za-z0-9-]+(\\\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\\\.[A-Za-z0-9]+)*(\\\\.[A-Za-z]{2,})$\u0026#34;; private static final Pattern PATTERN = Pattern.compile(EMAIL_REGEX); @Column(name = \u0026#34;email\u0026#34;) private String value; @Embeddable で継承ではない他クラスの埋め込み型のカラムを作れます。今回の例では一つしかないですが、複数のカラムを定義することも可能です。\n@Column(name = \u0026quot;email\u0026quot;) でフィールド名と別のカラム名を指定することが可能です。既存のテーブルに対して適用するときに便利です。@Entity(name = \u0026quot;hogehoge\u0026quot; も同様の効果があります。\nリポジトリのテストを作成する リポジトリの設定はこんな感じです。今回モックは使いませんが、モック化することも可能です。\n@RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes = Application.class) public class CustomerRepositoryIntegrationTest { @Qualifier(\u0026#34;customerRepository\u0026#34;) @Autowired CustomerRepository repository; 1件保存のテストはこんな感じです。\n@Test public void savesCustomerCorrectly() { EmailAddress email = new EmailAddress(\u0026#34;alicia@keys.com\u0026#34;); Customer alicia = new Customer(\u0026#34;Alicia\u0026#34;, \u0026#34;Keys\u0026#34;); alicia.password = \u0026#34;password_test\u0026#34;; alicia.emailAddress = email; alicia.add(new Address(\u0026#34;27 Broadway\u0026#34;, \u0026#34;San Francisco\u0026#34;, \u0026#34;United States\u0026#34;)); Customer result = repository.save(alicia); assertThat(result.id, is(notNullValue())); } Emailでの検索のテストです。\n@Test public void readsCustomerByEmail() { EmailAddress email = new EmailAddress(\u0026#34;dave@dmband.com\u0026#34;); Customer result = repository.findByEmailAddress(email); assertThat(result.firstname, is(\u0026#34;Dave\u0026#34;)); assertThat(result.lastname, is(\u0026#34;Matthews\u0026#34;)); } 別テーブルのCityで検索します。テストデータは2行帰ってくることを期待しています。\n@Test public void findByCity() { List\u0026lt;Customer\u0026gt; customers = repository.findByAddresses_City(\u0026#34;New York\u0026#34;); assertThat(customers, hasSize(2)); assertThat(customers.get(0).firstname, is(\u0026#34;Dave\u0026#34;)); } テストデータを作成する Spring Boot なのか Hibernate の仕様なのかよくわかってませんが、クラスパスが通っているところに import.sql を置くと、勝手に取り込んでくれるようです。今回は次のSQLを置きました。\ninsert into Customer (id, password, email, firstname, lastname) values (1, \u0026#39;password_test\u0026#39;, \u0026#39;dave@dmband.com\u0026#39;, \u0026#39;Dave\u0026#39;, \u0026#39;Matthews\u0026#39;); insert into Customer (id, password, email, firstname, lastname) values (2, \u0026#39;password_test\u0026#39;, \u0026#39;carter@dmband.com\u0026#39;, \u0026#39;Carter\u0026#39;, \u0026#39;Beauford\u0026#39;); insert into Customer (id, password, email, firstname, lastname) values (3, \u0026#39;password_test\u0026#39;, \u0026#39;boyd@dmband.com\u0026#39;, \u0026#39;Boyd\u0026#39;, \u0026#39;Tinsley\u0026#39;); insert into Address (id, street, city, country, customer_id) values (1, \u0026#39;27 Broadway\u0026#39;, \u0026#39;New York\u0026#39;, \u0026#39;United States\u0026#39;, 1); insert into Address (id, street, city, country, customer_id) values (2, \u0026#39;27 Broadway\u0026#39;, \u0026#39;New York\u0026#39;, \u0026#39;United States\u0026#39;, 1); テストを実行する ./gradlew test で実行します。問題なければ次のような表示になります。\n:compileJava UP-TO-DATE :processResources UP-TO-DATE :classes UP-TO-DATE :compileTestJava UP-TO-DATE :processTestResources UP-TO-DATE :testClasses UP-TO-DATE :test UP-TO-DATE BUILD SUCCESSFUL Total time: 5.207 secs 次回 実際に動かした場合、 http://localhost:8080/customer へのポストは { \u0026quot;password\u0026quot;: \u0026quot;test_password\u0026quot; } だけ指定しても動きます。\nただ、今回追加した項目は null になってしまうのと、http://localhost:8080/customer/1 しても\n{ id: 1 password: \u0026#34;test_password\u0026#34; } という素っ気ない返しなので、ここら辺を充実させていき、またコントローラー周りのテストを追加していきたいと思います。\n情報源 Bootstrap an application with Spring Boot – Part2 Web application | Mathias Hauser Spring Boot / Spring Data import.sql doesn\u0026rsquo;t run Spring-Boot-1.0.0.RC1 - Stack Overflow spring-data-book/doc/DomainModel.pdf at master · spring-projects/spring-data-book spring-data-book/jpa/src/main/java/com/oreilly/springdata/jpa/core at master · spring-projects/spring-data-book java - Hibernate hbm2ddl.auto possible values and what they do? - Stack Overflow 4.10. 遷移の永続化 COMMENT: AUTHOR: daaaaaai DATE: 12/12/2015 17:41:20 たいへん細かい点で恐縮ですが、 Spring Data JPA（というかHibernate）でOrderクラスを使おうとすると、たいていのDBでは予約語のorderとぶつかってエラーとなるので要注意ですね。MySQLの場合はSyntax Errorが出ます。 COMMENT: AUTHOR: nnasaki DATE: 12/12/2015 21:43:58 おお。ご指摘ありがとうございます！写経元ではテーブル名を @Table(name = \u0026quot;Orders\u0026quot;) とすることで回避しているようでした。\nhttps://github.com/spring-projects/spring-data-book/blob/master/jpa/src/main/java/com/oreilly/springdata/jpa/order/Order.java#L42 ","permalink":"/entry/spring4/3/","summary":"\u003ch1 id=\"記事目次\"\u003e記事目次\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/spring4/1\"\u003e【Spring 4.0対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (1)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/spring4/2\"\u003e【Spring 4.0対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (2)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/spring4/3\"\u003e【Spring 4.0対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (3)\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1 id=\"今回使用するソース\"\u003e今回使用するソース\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/nnasaki/spring-rest/tree/3\"\u003ehttps://github.com/nnasaki/spring-rest/tree/3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e2回目の続きです。何か良い題材が無いか探してたら、\u003ca href=\"https://github.com/spring-projects/spring-data-book/tree/master/jpa/src/main/java/com/oreilly/springdata/jpa/core\"\u003espring-projects/spring-data-book\u003c/a\u003e がちょうど良さそうなので、これを写経しながら説明していきます。\u003c/p\u003e\n\u003cp\u003eクラス図はこんな感じなようです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://qiita-image-store.s3.amazonaws.com/0/31790/c540e496-d911-e532-9107-aff67822d997.png\" title=\"kobito.1404055789.402848.png\" alt=\"kobito.1404055789.402848.png\" /\u003e\u003cfigcaption\u003ekobito.1404055789.402848.png\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/spring-projects/spring-data-book/blob/master/doc/DomainModel.pdf\"\u003espring-data-book/doc/DomainModel.pdf at master · spring-projects/spring-data-book\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e今回作成するDBはこんな感じ。Customerが\u003ca href=\"http://d.hatena.ne.jp/keyword/%CA%A3%BF%F4\"\u003e複数\u003c/a\u003eのAddressを持てるようです。Order とかはまだ作成しません。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://qiita-image-store.s3.amazonaws.com/0/31790/7ce40fa8-a68c-3ea2-06bc-2a91462867fa.png\" title=\"kobito.1404132314.743252.png\" alt=\"kobito.1404132314.743252.png\" /\u003e\u003cfigcaption\u003ekobito.1404132314.743252.png\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/nnasaki/spring-rest/tree/3\"\u003eソースはGitHubに置きました。\u003c/a\u003eダウンロードして解凍してください。\u003c/p\u003e\n\u003ch1 id=\"ソース解説\"\u003eソース解説\u003c/h1\u003e\n\u003cp\u003e今回は一気にやることが増えています。大まかには次の通りです。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCustomerからAddressへの一対多を@OneToManyで表現する。\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%EA%A5%DD%A5%B8%A5%C8%A5%EA\"\u003eリポジトリ\u003c/a\u003eのテストを作成する\u003c/li\u003e\n\u003cli\u003eテストデータを作成する\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eこれらを順番に説明していきます。最終的にはこんな感じの構成になります。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://qiita-image-store.s3.amazonaws.com/0/31790/edd391c3-99cb-78fb-ebc9-2f972d65fd81.png\" title=\"kobito.1404134700.033991.png\" alt=\"kobito.1404134700.033991.png\" /\u003e\u003cfigcaption\u003ekobito.1404134700.033991.png\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch2 id=\"customerからaddressへの一対多をonetomanyで表現する\"\u003eCustomerからAddressへの一対多を@OneToManyで表現する\u003c/h2\u003e\n\u003cp\u003e説明簡略化のため、Getter/Setter は付けずにpublicで設定しています。ソースの一部を抜粋して説明しています。\u003c/p\u003e","title":"【Spring 4.0 対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (3)"},{"content":"#122718119 / gettyimages.com\nAzure Files はプレビュー期間中のサービスで、簡単に言うと Windows のファイル共有のクラウド版。 但し、AzureのVMに限る。\nプレビューがようやく使えるようになったので、試そうと思ったんだけどあまり使えるシチュエーションが思いつかなかったので止めてしまった。\nこの但しが無ければ、自分のPCから直接ファイルを読み書き出来て良かったんだけどなー。\nAzure Files の主な利用用途は、Azureの複数のVM間で共有できるディスクです。\n例えばファイルアップロードサービスで、複数のWebサーバーから同一のファイルを参照したいとかに使えるのかな。うーん、でも読み込みならCDNで良いし、書き込みも SMB じゃ同時書き込みの問題があるから、普通に Blob の リース 使った方が良いと思うなぁ。便利そうに見えて使いどころが難しい気がする。\nファイルごとに ACL を設定して、Azure Active Directory と連携できれば面白いかもしれないけど、プレビューサービスではまだ対応していない。\nあとは、VPN 内なら可能にするとか制限がもうちょっと緩くなるといいかな。\n情報源 Microsoft Azure Files サービスの概要 - Microsoft Azure Japan Team Blog (ブログ) - Site Home - MSDN Blogs Microsoft Azure Files への接続の保持 - Microsoft Azure Japan Team Blog (ブログ) - Site Home - MSDN Blogs File Service REST API Windows Azure Storage Service の Blob を認証・承認されたユーザーのみ限定で公開する Web アプリの自作 : @jsakamoto ","permalink":"/entry/2014/06/29/020113/","summary":"\u003cp\u003e\u003ca href=\"http://www.gettyimages.com/detail/122718119\"\u003e#122718119\u003c/a\u003e / \u003ca href=\"http://www.gettyimages.com\"\u003egettyimages.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eAzure Files はプレビュー期間中のサービスで、簡単に言うと \u003ca href=\"http://d.hatena.ne.jp/keyword/Windows\"\u003eWindows\u003c/a\u003e のファイル共有の\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%A6%A5%C9\"\u003eクラウド\u003c/a\u003e版。 \u003cstrong\u003e但し、Azureの\u003ca href=\"http://d.hatena.ne.jp/keyword/VM\"\u003eVM\u003c/a\u003eに限る。\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eプレビューがようやく使えるようになったので、試そうと思ったんだけどあまり使えるシチュエーションが思いつかなかったので止めてしまった。\u003c/p\u003e\n\u003cp\u003eこの但しが無ければ、自分のPCから直接ファイルを読み書き出来て良かったんだけどなー。\u003c/p\u003e\n\u003cp\u003eAzure Files の主な利用用途は、Azureの\u003ca href=\"http://d.hatena.ne.jp/keyword/%CA%A3%BF%F4\"\u003e複数\u003c/a\u003eの\u003ca href=\"http://d.hatena.ne.jp/keyword/VM\"\u003eVM\u003c/a\u003e間で共有できるディスクです。\u003c/p\u003e\n\u003cp\u003e例えばファイルアップロードサービスで、\u003ca href=\"http://d.hatena.ne.jp/keyword/%CA%A3%BF%F4\"\u003e複数\u003c/a\u003eのWebサーバーから同一のファイルを参照したいとかに使えるのかな。うーん、でも読み込みならCDNで良いし、書き込みも SMB じゃ同時書き込みの問題があるから、普通に Blob の リース 使った方が良いと思うなぁ。便利そうに見えて使いどころが難しい気がする。\u003c/p\u003e\n\u003cp\u003eファイルごとに \u003ca href=\"http://d.hatena.ne.jp/keyword/ACL\"\u003eACL\u003c/a\u003e を設定して、Azure \u003ca href=\"http://d.hatena.ne.jp/keyword/Active%20Directory\"\u003eActive Directory\u003c/a\u003e と連携できれば面白いかもしれないけど、プレビューサービスではまだ対応していない。\u003c/p\u003e\n\u003cp\u003eあとは、\u003ca href=\"http://d.hatena.ne.jp/keyword/VPN\"\u003eVPN\u003c/a\u003e 内なら可能にするとか制限がもうちょっと緩くなるといいかな。\u003c/p\u003e\n\u003ch3 id=\"情報源\"\u003e情報源\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://blogs.msdn.com/b/windowsazurej/archive/2014/06/05/blog-introducing-microsoft-azure-file-service.aspx\"\u003eMicrosoft Azure Files サービスの概要 - Microsoft Azure Japan Team Blog (ブログ) - Site Home - MSDN Blogs\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://blogs.msdn.com/b/windowsazurej/archive/2014/06/05/blog-persisting-connections-to-microsoft-azure-files.aspx\"\u003eMicrosoft Azure Files への接続の保持 - Microsoft Azure Japan Team Blog (ブログ) - Site Home - MSDN Blogs\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://msdn.microsoft.com/en-us/library/azure/dn167006.aspx\"\u003eFile Service REST API\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://devadjust.exblog.jp/18725926/\"\u003eWindows Azure Storage Service の Blob を認証・承認されたユーザーのみ限定で公開する Web アプリの自作 : @jsakamoto\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e","title":"Azure Files を試そうと思ったけど試さなかった"},{"content":"記事目次 【Spring 4.0.5対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (1) 【Spring 4.0.5対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (2) 【Spring 4.0.5対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (3) 今回使用するソース https://github.com/nnasaki/spring-rest/tree/1\n1回目の続きです。こんな感じのをつくります。\nf:id:nnasaki:20150710100020p:plain どんな動きをするか見てみよう ソースは Github に置きました。。ソースを落としてきて、 ./gradlew bootRun すれば次のような感じでサーバーが立ち上がると思います。\nf:id:nnasaki:20150710100110p:plain http://localhost:8080/customer に対して { \u0026quot;password\u0026quot;: \u0026quot;test_password\u0026quot; }' を POSTしますとユーザーが作られます。\nkobito.1403786256.892886.png http://localhost:8080/customer/1 に対して GET すると、次のようなレスポンスが返却されます。\n{ id: 1 password: \u0026#34;test_password\u0026#34; } kobito.1403786371.530415.png ソース解説 どんな動きをするか見ていただいたので、ソースの詳細を説明していきます。 次のような順番で説明します。\nビルドスクリプト(build.gradle) 構成ファイル(Application) コントローラー(CustomerController) サービス(CustomerService) リポジトリ(CustomerRepository) エンティティ(Customer) ビルドスクリプト(build.gradle) ビルドはGradleを使います。\ndependencies { compile(\u0026#34;org.springframework.boot:spring-boot-starter-web\u0026#34;) compile(\u0026#34;org.springframework.boot:spring-boot-starter-data-jpa\u0026#34;) runtime \u0026#39;com.h2database:h2\u0026#39; testCompile \u0026#39;org.springframework.boot:spring-boot-starter-test\u0026#39; } 必要なコンポーネントは spring-boot-starter-web, spring-boot-starter-data-jpa, h2, spring-boot-starter-test の４つだけです。\n構成ファイル(Application) web.xml の代わりになります。アノテーションで@EnableAutoConfiguration がいい感じに設定してくれます。\n@Configuration @ComponentScan @EnableJpaRepositories @EnableAutoConfiguration public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } コントローラー(CustomerController) URLの制御を行い、サービスを呼び出します。面倒なURLのパスのマッピングはアノテーションで記載でき、これだけで済みます。便利。\n@RestController @RequestMapping(value = \u0026#34;/customer\u0026#34;) public class CustomerController { @Autowired private CustomerService customerService; @RequestMapping(value = \u0026#34;/{id}\u0026#34;, method = RequestMethod.GET) public Customer selectUser(@PathVariable Long id) { return customerService.selectUser(id); } @RequestMapping(method = RequestMethod.POST) public Customer createUser(@RequestBody @Valid final Customer customer) { return customerService.save(customer); } } サービス(CustomerService) サービスは単純なインターフェースなので、実装クラスの CustomerServiceImpl で説明します。単純にリポジトリを呼んでいるだけですが、本来ならばビジネスロジックをここにいろいろ書きます。\n@Service public class CustomerServiceImpl implements CustomerService { @Qualifier(\u0026#34;customerRepository\u0026#34;) @Autowired private CustomerRepository customerRepository; public CustomerServiceImpl() { } public CustomerServiceImpl(CustomerRepository customerRepository) { this.customerRepository = customerRepository; } @Override public Customer save(Customer customer) { return customerRepository.save(customer); } @Override public Customer selectUser(Long id) { return customerRepository.findOne(id); } } リポジトリ(CustomerRepository) 今回の一番の見所！\n@Repository public interface CustomerRepository extends JpaRepository\u0026lt;Customer, Long\u0026gt;{ } DBへのアクセスはエンティティ(Customer)と主キーを JpaRepository\u0026lt;Customer, Long\u0026gt; で指定するだけです。あとはインジェクションされて、 保存のsave()メソッドや検索のfindOne()が動きます。全件取得のfindAll()やページング、ソートもできます。ただの interface のくせに！\nこれは結構衝撃的でした。また、デザイン面でも interface なのでロジックをリポジトリにごちゃっと書くことも無いので、良い制約だなと思いました。\n尚、JpaRepositoryが一番高級でページングとかいらなければ、CrudRepositoryでも良いです。リポジトリの関連はこんな感じ\nkobito.1403787793.776387.png エンティティ(Customer) 最後です。\n@Entity public class Customer { @Id @GeneratedValue(strategy = GenerationType.AUTO) public Long id; @NotNull @Size(max = 64) public String password; } Class名がテーブル名、メンバ変数がフィールド名になります。フィールドは public にすることで、Getter/Setter は要らない模様。 @Idが主キー、@GeneratedValueでシーケンスを設定。\n次回 今回のソースをベースにDB周りを実装して拡充していきたいと思います。一対多、多対一、多対多とかをやります。\n情報源 Spring MVC 3.0/3.1/3.2 Cookbook とても詳解。本当にオライリー読んでるような感じだった。\nSpring Boot Reference Guide Tutorial · Designing and Implementing RESTful Web Services with Spring Tutorial · Data Access with Spring Bootstrap an application with Spring Boot – Part2 Web application | Mathias Hauser ","permalink":"/entry/spring4/2/","summary":"\u003ch1 id=\"記事目次\"\u003e記事目次\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/spring4/1\"\u003e【Spring 4.0.5対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (1)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/spring4/2\"\u003e【Spring 4.0.5対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (2)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/spring4/3\"\u003e【Spring 4.0.5対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (3)\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1 id=\"今回使用するソース\"\u003e今回使用するソース\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/nnasaki/spring-rest/tree/1\"\u003ehttps://github.com/nnasaki/spring-rest/tree/1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e1回目の続きです。こんな感じのをつくります。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150710/20150710100020.png\" alt=\"f:id:nnasaki:20150710100020p:plain\" title=\"f:id:nnasaki:20150710100020p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150710100020p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch1 id=\"どんな動きをするか見てみよう\"\u003eどんな動きをするか見てみよう\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/nnasaki/spring-rest/tree/1\"\u003eソースは Github に置きました。\u003c/a\u003e。ソースを落としてきて、 \u003ccode\u003e./gradlew bootRun\u003c/code\u003e すれば次のような感じでサーバーが立ち上がると思います。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20150710/20150710100110.png\" alt=\"f:id:nnasaki:20150710100110p:plain\" title=\"f:id:nnasaki:20150710100110p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20150710100110p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ccode\u003ehttp://localhost:8080/customer\u003c/code\u003e に対して \u003ccode\u003e{ \u0026quot;password\u0026quot;: \u0026quot;test_password\u0026quot; }'\u003c/code\u003e を POSTしますとユーザーが作られます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://qiita-image-store.s3.amazonaws.com/0/31790/0d0ff4e0-e58b-dbfb-0109-280382e07c82.png\" title=\"kobito.1403786256.892886.png\" alt=\"kobito.1403786256.892886.png\" /\u003e\u003cfigcaption\u003ekobito.1403786256.892886.png\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ccode\u003ehttp://localhost:8080/customer/1\u003c/code\u003e に対して GET すると、次のようなレスポンスが返却されます。\u003c/p\u003e","title":"【Spring 4.0 対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (2)"},{"content":"記事目次 【Spring 4.0.5対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (1) 【Spring 4.0.5対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (2) 【Spring 4.0.5対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (3) お仕事では Java を使う機会が多くて、今までは Struts が多かったんだけど、昨今の脆弱性云々でさすがにまずいだろということで、調査を兼ねて Spring を触ってます。家で素振りせずにお仕事でいきなり投入もまずいしね。\nやりたいことはタイトルの通り、Web API の作成で、DB の操作に Spring Data JPA を使ってみたいと思います。\nこの記事を書いた動機はいまいさんに煽られたからです。\n@nnasaki ブログ、エントリ薄いよ！なにやってんのッ！！— いまいまさのぶ (@masanobuimai) 2014, 6月 24\nというのは、半ば冗談のような本当のような感じがしますが、改めてこの記事を書いた動機は http://spring.io/ のドキュメントが MVC と JPA でトピックが独立していて、組み合わせたイメージがわかりにくかったのと、最新の Spring 4 の日本語ドキュメントが少なかったので書いてみました。\nSpring とは ぐぐったほう早いので説明しません。タイトルのキーワードそれぞれの概要は次の通り。\nSpring Boot アプリケーションサーバー(Tomcat等)を内包して、 jar 単体で動くようにするもの\nSpring MVC よくある MVC フレームワーク\nSpring Data JPA DB等へのデータ保存を簡単にするフレームワーク\nWeb API 仕様 http://localhost:8080/customer に { \u0026quot;password\u0026quot;: \u0026quot;test_password\u0026quot; }' を POST すると顧客が登録できます。\nhttp://localhost:8080/customer/1 に アクセスすると顧客を取得できます。\n{ id: 1 password: \u0026#34;test_password\u0026#34; } とりあえず最初はこれだけです。\nDB 仕様 Customer テーブルを作ります。ID とパスワードがあるだけです。\nkobito.1403620402.331338.png ディレクトリ構成 もはや WEB-INF/web.xml は必要ありません！\nkobito.1403620035.119706.png Spring Boot の推奨は Using the “default” package です。ただ、全部同じパッケージだとさすがに見通しが悪いのでこの構成は OK みたいです。\ncom +- example +- myproject +- Application.java | +- domain | +- Customer.java | +- CustomerRepository.java | +- service | +- CustomerService.java | +- web +- CustomerController.java 13. Structuring your code より\nもちろん、他の構成も可能ですが、面倒なので今回はこの構成に乗っかりました。\nクラス図 IntellJ IDEA 13 で自動生成したものですが、こんな感じです。\nkobito.1403623519.105848.png 詳細な解説は次回 GitHubにソースをアップして解説しようと思ったけど、時間が無くなったので今日はここまで。Java なのに随分簡単だなぁという印象です。\n情報源 Getting Started · Building a RESTful Web Service Getting Started · Accessing Data with JPA Spring Boot Reference Guide ","permalink":"/entry/spring4/1/","summary":"\u003ch1 id=\"記事目次\"\u003e記事目次\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/spring4/1\"\u003e【Spring 4.0.5対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (1)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/spring4/2\"\u003e【Spring 4.0.5対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (2)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/spring4/3\"\u003e【Spring 4.0.5対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (3)\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eお仕事では \u003ca href=\"http://d.hatena.ne.jp/keyword/Java\"\u003eJava\u003c/a\u003e を使う機会が多くて、今までは \u003ca href=\"http://d.hatena.ne.jp/keyword/Struts\"\u003eStruts\u003c/a\u003e が多かったんだけど、昨今の\u003ca href=\"http://d.hatena.ne.jp/keyword/%C0%C8%BC%E5%C0%AD\"\u003e脆弱性\u003c/a\u003e云々でさすがにまずいだろということで、調査を兼ねて Spring を触ってます。家で素振りせずにお仕事でいきなり投入もまずいしね。\u003c/p\u003e\n\u003cp\u003eやりたいことはタイトルの通り、Web \u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003e の作成で、DB の操作に Spring Data \u003ca href=\"http://d.hatena.ne.jp/keyword/JPA\"\u003eJPA\u003c/a\u003e を使ってみたいと思います。\u003c/p\u003e\n\u003cp\u003eこの記事を書いた動機はいまいさんに煽られたからです。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003ca href=\"https://twitter.com/nnasaki\"\u003e@nnasaki\u003c/a\u003e ブログ、エントリ薄いよ！なにやってんのッ！！— いまいまさのぶ (@masanobuimai) \u003ca href=\"https://twitter.com/masanobuimai/statuses/481416316738232320\"\u003e2014, 6月 24\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eというのは、半ば冗談のような本当のような感じがしますが、改めてこの記事を書いた動機は \u003ca href=\"http://spring.io/\"\u003ehttp://spring.io/\u003c/a\u003e のドキュメントが \u003ca href=\"http://d.hatena.ne.jp/keyword/MVC\"\u003eMVC\u003c/a\u003e と \u003ca href=\"http://d.hatena.ne.jp/keyword/JPA\"\u003eJPA\u003c/a\u003e でトピックが独立していて、組み合わせたイメージがわかりにくかったのと、最新の Spring 4 の日本語ドキュメントが少なかったので書いてみました。\u003c/p\u003e","title":"【Spring 4.0 対応】Spring Boot と Spring MVC と Spring Data JPA を使って Web API を作成する (1)"},{"content":"Microsoft Azure Mobile Servicesのサンプルアプリをswiftで書き直して、Pull Request を行いました。\n残念ながらこの Pull Request は取り込まれなかった（私が行った二日後ぐらいに、別のPull Requestで同等の機能を中の人が実装したから。「ちょっ、おまｗｗｗｗｗ」っていう感じだけど。)のですが、そのときにいろいろとノウハウが貯まったので対処をまとめました。\ndyld: Library not loaded: @rpath/libswift_stdlib_core.dylib というエラーメッセージが出てアプリが起動しない 手始めにmain.mを削除してとQSAppDelegate.swiftに置き換えたらこれが出てハマりました。 Xcodeを再起動したら直りました。\n\u0026lsquo;AnyObject[]\u0026rsquo; does not have a member named \u0026lsquo;mutableCopy\u0026rsquo; NSArrayをmutableCopyしてNSMutableArrayに入れようとしたらエラー。キャストではなく、NSMutableArrayのコンストラクタで返すようにしたらうまくいったっぽい。\n// 修正前 var items = results.mutableCopy() as NSMutableArray // 修正後 var items = NSMutableArray(array:results) Ambiguous use of \u0026lsquo;NSNotFound\u0026rsquo; iPhone5sでビルドしていたときは良かったけど、iPhone5やiPhone4sでビルドしたらなぜか上記エラーでビルドが通らなくなった。多分、#ifでプラットフォームごとに読み込むヘッダーを変えているからだと思われる。Foundation.NSNotFoundとすることで解消した。\n// 修正前 if (index != NSNotFound) { //... } // 修正後 if (index != Foundation.NSNotFound) { //... } ブロックのメソッド定義と呼び出し方 これは慣れるとそうでもないんだけど、慣れるまでわけわからなかった。\n空のブロックの場合 空の場合はそんなに違いないですかね。\nobjective-c // 定義 typedef void (^QSCompletionBlock) (); - (void)refreshDataOnSuccess:(QSCompletionBlock)completion; // 呼び出し方 [self.todoService refreshDataOnSuccess:^ { if (self.useRefreshControl == YES) { [self.refreshControl endRefreshing]; } [self.tableView reloadData]; }]; swift // 定義 func refreshDataOnSuccess(completion:()-\u0026gt;Void) // 呼び出し方 todoService.refreshDataOnSuccess({() in if (self.useRefreshControl == true) { self.refreshControl.endRefreshing() } self.tableView.reloadData() }) 引数が一つあるブロックの場合 swiftでのポイントは呼び出し時のブロックに型を指定しないことですかね。 swift での NSUInteger は UInt ではなく、Int で良いみたいです。UInt も用意されているようだけど。\nSwift bridges NSUInteger and NSInteger to Int. Both of these types come over as Int in Foundation APIs.\nWorking with Cocoa Data Typesより\nobjective-c // 定義 typedef void (^QSCompletionWithIndexBlock) (NSUInteger index); - (void)addItem:(NSDictionary *)item completion:(QSCompletionWithIndexBlock)completion; // 呼び出し方 [self.todoService addItem:item completion:^(NSUInteger index) { NSIndexPath *indexPath = [NSIndexPath indexPathForRow:index inSection:0]; [view insertRowsAtIndexPaths:@[ indexPath ] withRowAnimation:UITableViewRowAnimationTop]; }]; swift // 定義 func addItem(item:NSDictionary, completion:(Int)-\u0026gt;Void) // 呼び出し方 todoService.addItem(item, completion:{index in let indexPath = NSIndexPath(forRow:index, inSection:0) view.insertRowsAtIndexPaths([indexPath], withRowAnimation:UITableViewRowAnimation.Top) }) 引数が３つあるブロックの場合 引数１つの時とあんまり変わらないです。\nobjective-c // 定義 typedef void (^MSReadQueryBlock)(NSArray *items, NSInteger totalCount, NSError *error); -(void)readWithPredicate:(NSPredicate *) predicate completion:(MSReadQueryBlock)completion; // 呼び出し方 [self.table readWithPredicate:predicate completion:^(NSArray *results, NSInteger totalCount, NSError *error) { [self logErrorIfNotNil:error]; items = [results mutableCopy]; // Let the caller know that we finished completion(); }]; swift // 定義 ... 省略 ... // 呼び出し方 table.readWithPredicate(predicate, completion:{results, totalCount, error in self.logErrorIfNotNil(error) self.items = NSMutableArray(array:results) // Let the caller know that we finished completion(); }) 以上、swift対応で私が苦労した点でした。Pull Request はまたチャレンジしたいと思いますｗ\n","permalink":"/entry/2014/06/16/232534/","summary":"\u003cp\u003e\u003ca href=\"https://github.com/Azure/azure-mobile-services/tree/master/quickstart/iOS/ZUMOAPPNAME\"\u003eMicrosoft Azure Mobile Servicesのサンプルアプリ\u003c/a\u003eを\u003ca href=\"http://d.hatena.ne.jp/keyword/swift\"\u003eswift\u003c/a\u003eで書き直して、\u003ca href=\"https://github.com/Azure/azure-mobile-services/pull/279\"\u003ePull Request を行いました\u003c/a\u003e。\u003c/p\u003e\n\u003cp\u003e残念ながらこの Pull Request は取り込まれなかった（私が行った二日後ぐらいに、\u003ca href=\"https://github.com/Azure/azure-mobile-services/pull/284\"\u003e別のPull Request\u003c/a\u003eで同等の機能を中の人が実装したから。「ちょっ、おまｗｗｗｗｗ」っていう感じだけど。)のですが、そのときにいろいろとノウハウが貯まったので対処をまとめました。\u003c/p\u003e\n\u003ch2 id=\"dyld-library-not-loaded-rpathlibswift_stdlib_coredylib-というエラーメッセージが出てアプリが起動しない\"\u003e\u003ccode\u003edyld: Library not loaded: @rpath/libswift_stdlib_core.dylib\u003c/code\u003e というエラーメッセージが出てアプリが起動しない\u003c/h2\u003e\n\u003cp\u003e手始めに\u003ccode\u003emain.m\u003c/code\u003eを削除してと\u003ccode\u003eQSAppDelegate.swift\u003c/code\u003eに置き換えたらこれが出てハマりました。\n\u003ca href=\"http://d.hatena.ne.jp/keyword/Xcode\"\u003eXcode\u003c/a\u003eを再起動したら直りました。\u003c/p\u003e\n\u003ch2 id=\"anyobject-does-not-have-a-member-named-mutablecopy\"\u003e\u0026lsquo;AnyObject[]\u0026rsquo; does not have a member named \u0026lsquo;mutableCopy\u0026rsquo;\u003c/h2\u003e\n\u003cp\u003eNSArrayをmutableCopyしてNSMutableArrayに入れようとしたらエラー。キャストではなく、NSMutableArrayの\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%B3%A5%F3%A5%B9%A5%C8%A5%E9%A5%AF%A5%BF\"\u003eコンストラクタ\u003c/a\u003eで返すようにしたらうまくいったっぽい。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e// 修正前\nvar items = results.mutableCopy() as NSMutableArray\n\n// 修正後\nvar items = NSMutableArray(array:results)\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"ambiguous-use-of-nsnotfound\"\u003eAmbiguous use of \u0026lsquo;NSNotFound\u0026rsquo;\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/iPhone5s\"\u003eiPhone5s\u003c/a\u003eでビルドしていたときは良かったけど、\u003ca href=\"http://d.hatena.ne.jp/keyword/iPhone5\"\u003eiPhone5\u003c/a\u003eや\u003ca href=\"http://d.hatena.ne.jp/keyword/iPhone4s\"\u003eiPhone4s\u003c/a\u003eでビルドしたらなぜか上記エラーでビルドが通らなくなった。多分、#ifでプラットフォームごとに読み込むヘッダーを変えているからだと思われる。\u003ccode\u003eFoundation.NSNotFound\u003c/code\u003eとすることで解消した。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e// 修正前\nif (index != NSNotFound) { //... }\n\n// 修正後\nif (index != Foundation.NSNotFound) { //... }\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"ブロックのメソッド定義と呼び出し方\"\u003eブロックの\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%E1%A5%BD%A5%C3%A5%C9\"\u003eメソッド\u003c/a\u003e定義と呼び出し方\u003c/h2\u003e\n\u003cp\u003eこれは慣れるとそうでもないんだけど、慣れるまでわけわからなかった。\u003c/p\u003e\n\u003ch3 id=\"空のブロックの場合\"\u003e空のブロックの場合\u003c/h3\u003e\n\u003cp\u003e空の場合はそんなに違いないですかね。\u003c/p\u003e\n\u003ch4 id=\"objective-c\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/objective-c\"\u003eobjective-c\u003c/a\u003e\u003c/h4\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e// 定義\ntypedef void (^QSCompletionBlock) ();\n- (void)refreshDataOnSuccess:(QSCompletionBlock)completion;\n\n// 呼び出し方\n[self.todoService refreshDataOnSuccess:^\n{\n    if (self.useRefreshControl == YES) {\n        [self.refreshControl endRefreshing];\n    }\n    [self.tableView reloadData];\n}];\n\u003c/code\u003e\u003c/pre\u003e\u003ch4 id=\"swift\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/swift\"\u003eswift\u003c/a\u003e\u003c/h4\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e// 定義\nfunc refreshDataOnSuccess(completion:()-\u0026gt;Void)\n\n// 呼び出し方\ntodoService.refreshDataOnSuccess({() in\n    if (self.useRefreshControl == true) {\n        self.refreshControl.endRefreshing()\n    }\n    self.tableView.reloadData()\n})\n\u003c/code\u003e\u003c/pre\u003e\u003ch3 id=\"引数が一つあるブロックの場合\"\u003e引数が一つあるブロックの場合\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/swift\"\u003eswift\u003c/a\u003eでのポイントは呼び出し時のブロックに型を指定しないことですかね。\n\u003ca href=\"http://d.hatena.ne.jp/keyword/swift\"\u003eswift\u003c/a\u003e での NSUInteger は UInt ではなく、Int で良いみたいです。UInt も用意されているようだけど。\u003c/p\u003e","title":"Objective-Cからswiftに書き直すときの対処まとめ"},{"content":"kobito.1402416220.009483.png Azure Remote Appがやっと使えるようになったけど、構成中のまま進まないので、あまり使われて無さそうなAPI Managementを試してみた。\nAPI Managementは自分が作ったWeb APIを管理するために使う。Twitter APIとかでよくある１分間に５回まで、１日１００回までとかいったクォータを管理することができるのと、APIのドキュメントを自動生成してくれる。\n考えられるシチュエーションとしては、とあるWebサービスなりスマホアプリを作成したら、マッシュアップのため開発者向けAPIを提供することになった。でも開発者用のAPIキーを管理するのはめんどくさいし、特定の開発者がリソースを占有するのも問題だ。削除のAPIを開発者に公開したくない。\nそんなときに使えるサービスなのかなと思う。\nダッシュボードはこんな感じでまぁまぁ見やすい感じ。 kobito.1402416521.782845.png モバイルサービスのAPIの追加 モバイルサービスのToDoItemテーブルを操作してみたいと思います。モバイルサービスは別途サービスを作成して、ToDoItemテーブルを作成しておきます。\nAPI Managementにて、ADD API を選びます。\nkobito.1402417097.819989.png タイトル、モバイルサービスのURL、API Managementのサフィックスをそれぞれ次のようにいれます。\nkobito.1402417234.289642.png 一覧に表示されるので、TODOITEMSをクリックして編集します。\nkobito.1402417262.804404.png 「Operation」タブを選択し、「ADD OPERATION」をクリック。API Managementからモバイルサービスに対して行う操作を登録します。\nkobito.1402417327.451279.png 次のようにHTTP verb等に値をいれます。\nkobito.1402417417.421747.png Parametersは無くてもいいですが、とりあえずfilterだけ設定できるようにしてみます。パラメーターに設定できる値は他にもあります。Query records operationを参照してください。\nkobito.1402417666.691807.png 設定が終わったらSaveをクリックして保存します。\nモバイルサービスAPIキーの設定 API ManagementからモバイルサービスのAPI呼び出しを行う際に、APIキーが必要です。（モバイルサービス側の構成で認証不要にしていれば必要無い）\nAPIキーの設定はリクエストヘッダーにX-ZUMO-APPLICATIONを設定します。API Managementにてリクエストヘッダーを設定してAPIキーを入力するには、Policiesを編集します。（最初わからなくて出来ないかと思った）\nkobito.1402417980.266534.png Policy ScopeのAPIでtodoitemsを選択して、Policy definition の\u0026lt;inbound /\u0026gt;の間に次の値を入れてRecallulate...ボタンを押して保存します。\n\u0026lt;set-header name=\u0026#34;X-ZUMO-APPLICATION\u0026#34; exists-action=\u0026#34;append\u0026#34;\u0026gt; \u0026lt;value\u0026gt;YOU APLICATION KEY\u0026lt;/value\u0026gt; \u0026lt;!--for multiple headers with the same name add additional value elements--\u0026gt; \u0026lt;/set-header\u0026gt; kobito.1402418161.956726.png 開発者ポータルを確認してみる 以上の操作をしてできあがった開発者向けのポータルが https://nnasaki.portal.azure-api.net です。\nkobito.1402418574.565741.png 先ほど設定したAPIドキュメントは https://nnasaki.portal.azure-api.net/docs/services/2/operations/8 にあります。\nkobito.1402418639.425234.png サンプルコード自動生成 面白いのは、各言語ごとにサンプルコードを自動生成してくれます。JavaもあるしCurlのサンプルとかも面白い\nkobito.1402418720.728917.png kobito.1402418752.162788.png ブラウザ上でAPIが試せる さらにOpen Consoleをクリックすると、その場でAPIが試せます。subscription-keyを設定して（ログインしていないと出ない）HTTP GETをクリックする。\nkobito.1402418874.508204.png こんな感じでレスポンスが帰ってきます。\nkobito.1402418954.778527.png $filterにcomplete eq falseといれてHTTP GETしてみます。\nkobito.1402419042.538014.png ちゃんとフィルタリングした結果が帰ってきます。\nkobito.1402419101.345263.png まとめ WEB上でぽちぽちしていくだけでそれっぽい開発者ポータルとAPIドキュメント兼プレイグラウンドが出来てしまいました。ポータルのレイアウトの変更とかもできるし、独自ドメインの設定も出来るようです。\nモバイルサービスと組み合わせると、それっぽいWebサービスが１時間かからずにできちゃいますね。恐ろしい世の中です。\n","permalink":"/entry/2014/06/11/021134/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://qiita-image-store.s3.amazonaws.com/0/31790/e526d58d-5a1e-8e7c-627c-db0b0d2ee68b.png\" title=\"kobito.1402416220.009483.png\" alt=\"kobito.1402416220.009483.png\" /\u003e\u003cfigcaption\u003ekobito.1402416220.009483.png\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eAzure Remote Appがやっと使えるようになったけど、構成中のまま進まないので、あまり使われて無さそうな\u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003e Managementを試してみた。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003e Managementは自分が作ったWeb \u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003eを管理するために使う。\u003ca href=\"http://d.hatena.ne.jp/keyword/Twitter\"\u003eTwitter\u003c/a\u003e \u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003eとかでよくある１分間に５回まで、１日１００回までとかいったクォータを管理することができるのと、\u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003eのドキュメントを自動生成してくれる。\u003c/p\u003e\n\u003cp\u003e考えられるシチュエーションとしては、とある\u003ca href=\"http://d.hatena.ne.jp/keyword/Web%A5%B5%A1%BC%A5%D3%A5%B9\"\u003eWebサービス\u003c/a\u003eなり\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%B9%A5%DE%A5%DB\"\u003eスマホ\u003c/a\u003eアプリを作成したら、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DE%A5%C3%A5%B7%A5%E5%A5%A2%A5%C3%A5%D7\"\u003eマッシュアップ\u003c/a\u003eのため開発者向け\u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003eを提供することになった。でも開発者用の\u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003eキーを管理するのはめんどくさいし、特定の開発者がリソースを占有するのも問題だ。削除の\u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003eを開発者に公開したくない。\u003c/p\u003e\n\u003cp\u003eそんなときに使えるサービスなのかなと思う。\u003c/p\u003e\n\u003ch2 id=\"ダッシュボードはこんな感じでまぁまぁ見やすい感じ\"\u003eダッシュボードはこんな感じでまぁまぁ見やすい感じ。\u003c/h2\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://qiita-image-store.s3.amazonaws.com/0/31790/12f05433-3281-3b8f-375b-b45adab54a76.png\" title=\"kobito.1402416521.782845.png\" alt=\"kobito.1402416521.782845.png\" /\u003e\u003cfigcaption\u003ekobito.1402416521.782845.png\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch2 id=\"モバイルサービスのapiの追加\"\u003eモバイルサービスの\u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003eの追加\u003c/h2\u003e\n\u003cp\u003eモバイルサービスのToDoItemテーブルを操作してみたいと思います。モバイルサービスは別途サービスを作成して、ToDoItemテーブルを作成しておきます。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003e Managementにて、ADD \u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003e を選びます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://qiita-image-store.s3.amazonaws.com/0/31790/5c11f382-2e41-e5c2-6d1e-0712058adaee.png\" title=\"kobito.1402417097.819989.png\" alt=\"kobito.1402417097.819989.png\" /\u003e\u003cfigcaption\u003ekobito.1402417097.819989.png\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eタイトル、モバイルサービスのURL、\u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003e Managementの\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%B5%A5%D5%A5%A3%A5%C3%A5%AF%A5%B9\"\u003eサフィックス\u003c/a\u003eをそれぞれ次のようにいれます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://qiita-image-store.s3.amazonaws.com/0/31790/6ee48b8e-6e3b-e9fb-ef43-1ebf865f2e02.png\" title=\"kobito.1402417234.289642.png\" alt=\"kobito.1402417234.289642.png\" /\u003e\u003cfigcaption\u003ekobito.1402417234.289642.png\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e一覧に表示されるので、TODOITEMSをクリックして編集します。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://qiita-image-store.s3.amazonaws.com/0/31790/3825252f-1615-a38f-4eb4-8cef6c198a9e.png\" title=\"kobito.1402417262.804404.png\" alt=\"kobito.1402417262.804404.png\" /\u003e\u003cfigcaption\u003ekobito.1402417262.804404.png\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e「Operation」タブを選択し、「ADD OPERATION」をクリック。\u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003e Managementからモバイルサービスに対して行う操作を登録します。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://qiita-image-store.s3.amazonaws.com/0/31790/6777e897-0ba6-89d3-074d-1858c1ef7d3c.png\" title=\"kobito.1402417327.451279.png\" alt=\"kobito.1402417327.451279.png\" /\u003e\u003cfigcaption\u003ekobito.1402417327.451279.png\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e次のようにHTTP verb等に値をいれます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://qiita-image-store.s3.amazonaws.com/0/31790/3195d1e6-1c42-2278-f994-f8b460561f76.png\" title=\"kobito.1402417417.421747.png\" alt=\"kobito.1402417417.421747.png\" /\u003e\u003cfigcaption\u003ekobito.1402417417.421747.png\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eParametersは無くてもいいですが、とりあえずfilterだけ設定できるようにしてみます。パラメーターに設定できる値は他にもあります。\u003ca href=\"http://msdn.microsoft.com/en-US/library/azure/jj677199.aspx\"\u003eQuery records operation\u003c/a\u003eを参照してください。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://qiita-image-store.s3.amazonaws.com/0/31790/8ba1c594-aea2-1022-1ffe-38785079594a.png\" title=\"kobito.1402417666.691807.png\" alt=\"kobito.1402417666.691807.png\" /\u003e\u003cfigcaption\u003ekobito.1402417666.691807.png\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e設定が終わったらSaveをクリックして保存します。\u003c/p\u003e\n\u003ch2 id=\"モバイルサービスapiキーの設定\"\u003eモバイルサービス\u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003eキーの設定\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003e Managementからモバイルサービスの\u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003e呼び出しを行う際に、\u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003eキーが必要です。（モバイルサービス側の構成で認証不要にしていれば必要無い）\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003eキーの設定はリクエストヘッダーに\u003ccode\u003eX-ZUMO-APPLICATION\u003c/code\u003eを設定します。\u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003e Managementにてリクエストヘッダーを設定して\u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003eキーを入力するには、Policiesを編集します。（最初わからなくて出来ないかと思った）\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://qiita-image-store.s3.amazonaws.com/0/31790/8b7650ad-ecd8-0ea8-fd11-1c3a1f971a83.png\" title=\"kobito.1402417980.266534.png\" alt=\"kobito.1402417980.266534.png\" /\u003e\u003cfigcaption\u003ekobito.1402417980.266534.png\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003ePolicy Scopeの\u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003eでtodoitemsを選択して、Policy definition の\u003ccode\u003e\u0026lt;inbound /\u0026gt;\u003c/code\u003eの間に次の値を入れて\u003ccode\u003eRecallulate...\u003c/code\u003eボタンを押して保存します。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e\u0026lt;set-header name=\u0026#34;X-ZUMO-APPLICATION\u0026#34; exists-action=\u0026#34;append\u0026#34;\u0026gt;\n    \u0026lt;value\u0026gt;YOU APLICATION KEY\u0026lt;/value\u0026gt;\n    \u0026lt;!--for multiple headers with the same name add additional value elements--\u0026gt;\n\u0026lt;/set-header\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"https://qiita-image-store.s3.amazonaws.com/0/31790/ba8aeea2-43b5-d67e-7b86-89d0520a3c6d.png\" title=\"kobito.1402418161.956726.png\" alt=\"kobito.1402418161.956726.png\" /\u003e\u003cfigcaption\u003ekobito.1402418161.956726.png\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch2 id=\"開発者ポータルを確認してみる\"\u003e開発者ポータルを確認してみる\u003c/h2\u003e\n\u003cp\u003e以上の操作をしてできあがった開発者向けのポータルが \u003ca href=\"https://nnasaki.portal.azure-api.net\"\u003ehttps://nnasaki.portal.azure-api.net\u003c/a\u003e です。\u003c/p\u003e","title":"Azure API ManagementとAzure モバイルサービスを組み合わせて使ってみた"},{"content":"f:id:nnasaki:20140607204208p:plain いつのまにかキーノート以外に、セッションの動画が公開されていました。.NETとかマイクロソフトに興味なくても、エヴァンジェリストの方々はトレーニングされているのでレベルが高いです。スピーカーとしても勉強になります。\n自分もまだ全部見てないんですが、実際にセッションを見て印象に残っていた個人的にオススメなのを４つあげます。\nマイクロソフトの今の概要をサクッと知りたいならテクニカルキーノート Technical Keynote Developers build the Future | de:code | Channel 9\nセッション中に4人のエヴァンジェリストの方々が登場し、マイクロソフトの今の技術の概要を約1時間で知ることができます。数百人の聴衆の前で心拍数が一切上がらない、井上さんのアイアンハートに注目です（違\nプレゼンはおもてなし。見る人聞く人に楽しさと驚きを。SQL Serverに興味が無くても見るべきジニアス流 ジニアス流! SQL Server 2014 アプリ開発の極意 | de:code | Channel 9\n個人的にキーノートより断然イチオシがジニアス平井さんのセッションです。とにかく見せ方がうまい。聞いてて飽きないです。あっというまの50分だと思います。\nSQL Serverはどうでもいい（暴言）のでセッションは是非見てください。本当にこういうセッションが出来るようになりたい。\n圧倒的といわしめたデモの素晴らしさ。iOS/Androidアプリ開発者は必見のXamarinセッション。 iOS/Android アプリを C#/.NET で開発 - Xamarin で実現するクロスプラットフォーム対応 – | de:code | Channel 9\n会場で実際のセッションは見られなかったんですが、動画を見て改めてすごいと感じました。50分のなかで、クロスプラットフォーム開発、Xamarin Razor、MVVM Crossをデモを交えて紹介できるのは本当にスゴイ。\nデモ中のソリューションがAndroidApplication14ってなっているのは、de:code14に合わせたのか13回練習したのかは謎ですｗ\nPCもAndroid, iOS, PowerPoint用に３つ用意してますね。しゃべっている間にデモ環境を用意。Androidのデモの画面の説明をしている間にiOSのデモを準備。本当にすごいです。\n自分もPC2台用意すべきかといろいろ考えさせられるセッションでした。\n.NET の今を知りたいデベロッパー向け。非.NET技術者にも見て欲しい、この 10 年をキャッチアップ 開発者のための技術選択と「いま」 この 10 年をキャッチアップ! .NET 開発者のための技術選択と「いま」 | de:code | Channel 9\n.NETの技術がクライアントからWEBまで幅広く紹介されています。特に.NETは昔○○だったから嫌いなんだっていう人に見て欲しい。今は昔と比べてだいぶ良くなってます。確かに1.0、1.1は酷かったから。\n以上４つですが、これから他のも見て良いのがあればまた紹介したいと思います。\n","permalink":"/entry/2014/06/07/203742/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20140607/20140607204208.png\" alt=\"f:id:nnasaki:20140607204208p:plain\" title=\"f:id:nnasaki:20140607204208p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20140607204208p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eいつのまにかキーノート以外に、セッションの動画が公開されていました。.NETとか\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DE%A5%A4%A5%AF%A5%ED%A5%BD%A5%D5%A5%C8\"\u003eマイクロソフト\u003c/a\u003eに興味なくても、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A8%A5%F4%A5%A1%A5%F3%A5%B8%A5%A7%A5%EA%A5%B9%A5%C8\"\u003eエヴァンジェリスト\u003c/a\u003eの方々はトレーニングされているのでレベルが高いです。スピーカーとしても勉強になります。\u003c/p\u003e\n\u003cp\u003e自分もまだ全部見てないんですが、実際にセッションを見て印象に残っていた個人的にオススメなのを４つあげます。\u003c/p\u003e\n\u003ch2 id=\"マイクロソフトの今の概要をサクッと知りたいならテクニカルキーノート\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DE%A5%A4%A5%AF%A5%ED%A5%BD%A5%D5%A5%C8\"\u003eマイクロソフト\u003c/a\u003eの今の概要をサクッと知りたいならテクニカルキーノート\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://channel9.msdn.com/Events/de-code/2014/Keynote\"\u003eTechnical Keynote Developers build the Future | de:code | Channel 9\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eセッション中に4人の\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A8%A5%F4%A5%A1%A5%F3%A5%B8%A5%A7%A5%EA%A5%B9%A5%C8\"\u003eエヴァンジェリスト\u003c/a\u003eの方々が登場し、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DE%A5%A4%A5%AF%A5%ED%A5%BD%A5%D5%A5%C8\"\u003eマイクロソフト\u003c/a\u003eの今の技術の概要を約1時間で知ることができます。数百人の聴衆の前で心拍数が一切上がらない、井上さんのアイアンハートに注目です（違\u003c/p\u003e\n\u003ch2 id=\"プレゼンはおもてなし見る人聞く人に楽しさと驚きをsql-serverに興味が無くても見るべきジニアス流\"\u003eプレゼンはおもてなし。見る人聞く人に楽しさと驚きを。\u003ca href=\"http://d.hatena.ne.jp/keyword/SQL%20Server\"\u003eSQL Server\u003c/a\u003eに興味が無くても見るべきジニアス流\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://channel9.msdn.com/Events/de-code/2014/TL-005\"\u003eジニアス流! SQL Server 2014 アプリ開発の極意 | de:code | Channel 9\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e個人的にキーノートより断然イチオシがジニアス平井さんのセッションです。とにかく見せ方がうまい。聞いてて飽きないです。あっというまの50分だと思います。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/SQL%20Server\"\u003eSQL Server\u003c/a\u003eはどうでもいい（暴言）のでセッションは是非見てください。本当にこういうセッションが出来るようになりたい。\u003c/p\u003e\n\u003ch2 id=\"圧倒的といわしめたデモの素晴らしさiosandroidアプリ開発者は必見のxamarinセッション\"\u003e圧倒的といわしめたデモの素晴らしさ。\u003ca href=\"http://d.hatena.ne.jp/keyword/iOS\"\u003eiOS\u003c/a\u003e/\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003eアプリ開発者は必見のXamarinセッション。\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://channel9.msdn.com/Events/de-code/2014/DE-007\"\u003eiOS/Android アプリを C#/.NET で開発 - Xamarin で実現するクロスプラットフォーム対応 – | de:code | Channel 9\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e会場で実際のセッションは見られなかったんですが、動画を見て改めてすごいと感じました。50分のなかで、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AF%A5%ED%A5%B9%A5%D7%A5%E9%A5%C3%A5%C8%A5%D5%A5%A9%A1%BC%A5%E0\"\u003eクロスプラットフォーム\u003c/a\u003e開発、Xamarin Razor、MVVM Crossをデモを交えて紹介できるのは本当にスゴイ。\u003c/p\u003e\n\u003cp\u003eデモ中のソリューションがAndroidApplication14ってなっているのは、de:code14に合わせたのか13回練習したのかは謎ですｗ\u003c/p\u003e\n\u003cp\u003ePCも\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e, \u003ca href=\"http://d.hatena.ne.jp/keyword/iOS\"\u003eiOS\u003c/a\u003e, \u003ca href=\"http://d.hatena.ne.jp/keyword/PowerPoint\"\u003ePowerPoint\u003c/a\u003e用に３つ用意してますね。しゃべっている間にデモ環境を用意。\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003eのデモの画面の説明をしている間に\u003ca href=\"http://d.hatena.ne.jp/keyword/iOS\"\u003eiOS\u003c/a\u003eのデモを準備。本当にすごいです。\u003c/p\u003e\n\u003cp\u003e自分もPC2台用意すべきかといろいろ考えさせられるセッションでした。\u003c/p\u003e\n\u003ch2 id=\"net-の今を知りたいデベロッパー向け非net技術者にも見て欲しいこの-10-年をキャッチアップ-net-開発者のための技術選択といま\"\u003e.NET の今を知りたい\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%D9%A5%ED%A5%C3%A5%D1\"\u003eデベロッパ\u003c/a\u003eー向け。非.NET技術者にも見て欲しい、この 10 年をキャッチアップ\u003cimg alt=\" .NET\" loading=\"lazy\" src=\"http://d.hatena.ne.jp/keyword/%20.NET\"\u003e 開発者のための技術選択と「いま」\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://channel9.msdn.com/Events/de-code/2014/TL-001\"\u003eこの 10 年をキャッチアップ! .NET 開発者のための技術選択と「いま」 | de:code | Channel 9\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.NETの技術がクライアントからWEBまで幅広く紹介されています。特に.NETは昔○○だったから嫌いなんだっていう人に見て欲しい。今は昔と比べてだいぶ良くなってます。確かに1.0、1.1は酷かったから。\u003c/p\u003e\n\u003cp\u003e以上４つですが、これから他のも見て良いのがあればまた紹介したいと思います。\u003c/p\u003e\n\u003chr\u003e","title":"de:codeで見るべきオススメ動画４つ #decode14"},{"content":"Visual Studio Professional で MSDN を持っています。 MSDNの特典で Microsoft Azure がある程度タダで動かせます。Visual Studio 14 CTPが出て、Visual Studio 2013と共存不可ということから Azure 仮想マシンで試していました。\nそうしたところ、何故か課金が発生して「ファ？」となったのでサポートに問い合わせてみた結果、仕様通りとのことで、詳しく書きます。\nMSDNの特典は次の二通りある。私は現行プランを利用していた。\n現行プラン：Azure MSDN — Visual Studio Professional http://azure.microsoft.com/ja-jp/offers/ms-azr-0010p\n新プラン ：Visual Studio Professional with MSDN http://azure.microsoft.com/ja-jp/offers/ms-azr-0059p\n現行プランの場合、日本リージョンの仮想マシンは対象外。なので課金が発生した。 詳細は Microsoft Azure サポート チーム ブログ：Azure 日本データセンターについて のよくある質問に記載されている。\nQ.現在、旧 MSDN プランを使用しています。日本データセンター上で仮想マシンを作成すると、0 円の使用制限にひっかかります。旧 MSDN プランの毎月無料で利用できる特典分に日本データセンター上で作成した仮想マシンは含まれないのでしょうか。\nA.はい、以下の旧 MSDN プランにおいては、日本データセンター上に作成する仮想マシンの稼働時間は含まれません。\n旧プラン\nAzure MSDN — Visual Studio Professional Azure MSDN - Visual Studio Premium Azure MSDN - Visual Studio Ultimate 引き続き MSDN 特典の無料枠を利用して日本データセンター上の Azure サービスを利用するには、新しい MSDN プランに変更する必要があります。\n変更作業は Azure サポートにて承っていますので、変更をご要望の際は、Azure サポート サービスまでご連絡ください。\nということで、余り旧プランを使ってる人はいないと思うけど、日本リージョンを使う人は新プランに移行しましょう。\n","permalink":"/entry/2014/06/06/202117/","summary":"\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e Professional で \u003ca href=\"http://d.hatena.ne.jp/keyword/MSDN\"\u003eMSDN\u003c/a\u003e を持っています。 \u003ca href=\"http://d.hatena.ne.jp/keyword/MSDN\"\u003eMSDN\u003c/a\u003eの特典で \u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e Azure がある程度タダで動かせます。\u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e 14 CTPが出て、\u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e 2013と\u003ca href=\"http://d.hatena.ne.jp/keyword/%B6%A6%C2%B8\"\u003e共存\u003c/a\u003e不可ということから Azure \u003ca href=\"http://d.hatena.ne.jp/keyword/%B2%BE%C1%DB%A5%DE%A5%B7%A5%F3\"\u003e仮想マシン\u003c/a\u003eで試していました。\u003c/p\u003e\n\u003cp\u003eそうしたところ、何故か課金が発生して「ファ？」となったのでサポートに問い合わせてみた結果、仕様通りとのことで、詳しく書きます。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/MSDN\"\u003eMSDN\u003c/a\u003eの特典は次の二通りある。私は現行プランを利用していた。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e現行プラン：Azure \u003ca href=\"http://d.hatena.ne.jp/keyword/MSDN\"\u003eMSDN\u003c/a\u003e — \u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e Professional\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://azure.microsoft.com/ja-jp/offers/ms-azr-0010p\"\u003ehttp://azure.microsoft.com/ja-jp/offers/ms-azr-0010p\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e新プラン ：\u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e Professional with \u003ca href=\"http://d.hatena.ne.jp/keyword/MSDN\"\u003eMSDN\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://azure.microsoft.com/ja-jp/offers/ms-azr-0059p\"\u003ehttp://azure.microsoft.com/ja-jp/offers/ms-azr-0059p\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e現行プランの場合、日本リージョンの\u003ca href=\"http://d.hatena.ne.jp/keyword/%B2%BE%C1%DB%A5%DE%A5%B7%A5%F3\"\u003e仮想マシン\u003c/a\u003eは対象外。なので課金が発生した。\n詳細は \u003ca href=\"http://blogs.msdn.com/b/dsazurejp/archive/2014/05/09/azure-datacenter-japan.aspx\"\u003eMicrosoft Azure サポート チーム ブログ：Azure 日本データセンターについて\u003c/a\u003e のよくある質問に記載されている。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eQ.現在、旧 \u003ca href=\"http://d.hatena.ne.jp/keyword/MSDN\"\u003eMSDN\u003c/a\u003e プランを使用しています。日本データセンター上で\u003ca href=\"http://d.hatena.ne.jp/keyword/%B2%BE%C1%DB%A5%DE%A5%B7%A5%F3\"\u003e仮想マシン\u003c/a\u003eを作成すると、0 円の使用制限にひっかかります。旧 \u003ca href=\"http://d.hatena.ne.jp/keyword/MSDN\"\u003eMSDN\u003c/a\u003e プランの毎月無料で利用できる特典分に日本データセンター上で作成した\u003ca href=\"http://d.hatena.ne.jp/keyword/%B2%BE%C1%DB%A5%DE%A5%B7%A5%F3\"\u003e仮想マシン\u003c/a\u003eは含まれないのでしょうか。\u003c/p\u003e\n\u003cp\u003eA.はい、以下の旧 \u003ca href=\"http://d.hatena.ne.jp/keyword/MSDN\"\u003eMSDN\u003c/a\u003e プランにおいては、日本データセンター上に作成する\u003ca href=\"http://d.hatena.ne.jp/keyword/%B2%BE%C1%DB%A5%DE%A5%B7%A5%F3\"\u003e仮想マシン\u003c/a\u003eの稼働時間は含まれません。\u003c/p\u003e\n\u003cp\u003e旧プラン\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAzure \u003ca href=\"http://d.hatena.ne.jp/keyword/MSDN\"\u003eMSDN\u003c/a\u003e — \u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e Professional\u003c/li\u003e\n\u003cli\u003eAzure \u003ca href=\"http://d.hatena.ne.jp/keyword/MSDN\"\u003eMSDN\u003c/a\u003e - \u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e Premium\u003c/li\u003e\n\u003cli\u003eAzure \u003ca href=\"http://d.hatena.ne.jp/keyword/MSDN\"\u003eMSDN\u003c/a\u003e - \u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e Ultimate\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e引き続き \u003ca href=\"http://d.hatena.ne.jp/keyword/MSDN\"\u003eMSDN\u003c/a\u003e 特典の無料枠を利用して日本データセンター上の Azure サービスを利用するには、新しい \u003ca href=\"http://d.hatena.ne.jp/keyword/MSDN\"\u003eMSDN\u003c/a\u003e プランに変更する必要があります。\u003c/p\u003e\n\u003cp\u003e変更作業は Azure サポートにて承っていますので、変更をご要望の際は、Azure サポート サービスまでご連絡ください。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eということで、余り旧プランを使ってる人はいないと思うけど、日本リージョンを使う人は新プランに移行しましょう。\u003c/p\u003e\n\u003chr\u003e","title":"仮想マシンを日本リージョンで使ったら課金が発生した"},{"content":" de:code 公式サイト togetterまとめ Day1(一日目)の記事 → de:code Day1 に参加した de:code 二日目。技術セッション漬け。 ちょっと朝は調べ物してて遅刻したんだけど、この日も内容の濃いセッションばっかりだった。\n全体を通してのまとめ 大分長くなりましたので、結論を先に書くと本当に楽しい二日間でした。 Microsoftの今後の方向性として、モバイルファースト・クラウドファースト。オープンソース。オープンソースについてはTypeScript等で徐々に浸透してきていますが、悪い印象を変えるには10年ぐらいかかるかなぁと思います。 今まではMicrosoft主導でいろいろな技術が導入されましたが、今後はコミュニティ主導に変わりつつあります。私も一開発者として、応援していきたいと思います。\nまた、今回はいろんな人と出会えたのが本当によかったです。特に同じ地方から参加したGrapeCityの皆様には大変お世話になりました。ありがとうございました。\nでは各セッションの内容は次に続きます。\nジニアス流。プレゼンには楽しみを。 ジニアスセッション。途中から参加したけどわかりやすい。トピックがそれぞれ独立してるからか。初期の前提知識を学習する必要無いんだな。 #decode14— Masaki Yamamoto (@nnasaki) 2014, 5月 30\nSQL Server 2014は大して興味はなかったんだけど、ジニアス平井さんのセッションは是非見た方がよいということで見たら本当に良かった。SQL ServerのインメモリDBで性能100倍とか基本的なポイントは押さえつつ、所々のデモアプリで文字を書いたり地球をミラーボールにしたり遊び心にあふれていた。\n最後はアプリで1分間に何回タップできるか競争。AzureとSQL Serverの構成で秒間数万リクエストまで耐えられるそうな。\n自分もこんなふうに楽しませるセッションが出来ると良いなぁと感じた。\nMicrosoft Azure や IaaSの自動化はコンテキストをそろえる 次に、Azure IaaS 自動構成ツール Chef, Puppet, PowerShell DSC。自動化は大変人気があって、満席でした。みんな苦労しているのかな。\n仮想マシン自体を作る（外側）はAzure Automation を使用する。作った後（内側）はChef, Puppet, PowerShell DSCを使う。混同しやすいので注意 #decode14 #RoomD— Masaki Yamamoto (@nnasaki) 2014, 5月 30\nということでコンテキストをまず合わせることが重要。\n若干駆け足で範囲が広かったので、細部まではあまり理解できなかったけど概要はなんとなくつかめた感じ。Chefはちょろちょろ使ってるけど、ChefServerは立ち上げず、knife soloを使っているのであまりピンと来なかったところもある。\nAzure 仮想マシンでChefを試す場合は、Extensionが用意されている。LinuxのExtensionはGUIが無いので、Powershell等を使用して追加する。 #decode14 #RoomD— Masaki Yamamoto (@nnasaki) 2014, 5月 30\nChef で IIS をインストールするときは、PowerShellのスクリプトを実行するというとってもクソなことをしている。 #decode14 #RoomD— Masaki Yamamoto (@nnasaki) 2014, 5月 30\nPuppet か Chef のどちらかというと、Puppet 推し。独自DSLとか回りくどくてめんどくさくて心折れるけど、乗り越えると楽しい世界がある。 #decode14 #RoomD— Masaki Yamamoto (@nnasaki) 2014, 5月 30\nknife-azure で WRM を使用して、仮想マシンを作成することも可能。こっちのほうを使いたいかな。 #decode14 #RoomD— Masaki Yamamoto (@nnasaki) 2014, 5月 30\nPowerShell DSC for Linux でLinuxを管理することも可能。けれども CTP なので足りない機能がたくさんある。 #decode14 #RoomD— Masaki Yamamoto (@nnasaki) 2014, 5月 30\nChefからWindowsのサービスをいじると、結局PowerShellでゴリゴリのスクリプトを書かなくてはいけないので、うーんって感じだった。Puppetがお勧めと言われても独自DSLが嫌でChefを好んでつかっているので、こちらもうーんって感じだった。\nAskTheSpeakerでいろいろ聞きたかったんだけど、次のランチセッションが満員になりそうだったので、聞けずじまいになってしまった。\nPowerShell DSC をつかった Infrastructure as Code Chefから離れて、ランチセッションはPowerShell DSCのお話。PowerShell DSCについてはPowerShell DSCで始めるWindowsインフラストラクチャ自動化の基本を参照。\nPowerShell DSC すごいよかった。内容はすごい高度で詰め込まれているのに、とてもゆっくりに感じるのはスピーカーの実力なんだなぁと思った。 #decode14 #ROOME— Masaki Yamamoto (@nnasaki) 2014, 5月 30\nスピーカーの @guitarrapc_tech さんの発表がとてもわかりやすかった。さすがグラニさんだなぁと思いました。\nPowerShell DSCも結局独自DSLになるんだけど、Puppetと異なり自前で拡張を書かなくて良いので、準備は楽。PowerShell DSCのIIS Installのサンプルコードはこんな感じ。(PowerShell DSCで始めるWindowsインフラストラクチャ自動化の基本より引用)\nConfiguration IISInstall { Node localhost { WindowsFeature IIS { Ensure = \u0026#34;Present\u0026#34; Name = \u0026#34;Web-Server\u0026#34; IncludeAllSubFeature = $true } } } 良いことをたくさんいってたので、箇条書きで。\nクラウドでインフラがソフトウェアになったんだら、構成もソフトウェアに。コードで書けばいいじゃないか。 PowerShell DSCから Azure Resource Manager, Azure Automation等を呼び出す。コードはc#でもPowerShellでも良い。 PowerShell DSC の守備範囲はインスタンスを起動してから、アプリケーションデプロイ前まで。 PowerShell v5 にて OneGet でソフトウェアのインストールが出来るようになる。 自動化が楽しくなるとついついコードを書きすぎるが、目的は自動化じゃなくてサービスを成功させることなので、バランスをとること。 PowerShell4.0が含まれるWMF4.0が必要。 WMI, MOF, WSMan, HTTPを使っている。 .mofファイルを使って、CIM経由で構成する仕組み。特定言語に依存していない。Chef, PuppetもDSCを利用可能。 PushとPullを比べると、Pullのほうが楽。Resourceをサーバーに置くだけで済むので。 ノードがPushモードになっていると、Pullを受け付けないので、Pullに設定する必要がある。 構成管理をコードで書いたなら、バージョン管理すればいいじゃないか。 PowerShell DSCがChefと競合するので、WindowsはChefから離れた方が良いかなぁという気がする。\nTypeScriptはVisualStudioとの統合されており、ブラウザーもデバッグに対応している 午後一のセッションは @chack411 さんのTypeScript詳説を聞いた。\nブラウザはTypeScriptを実行できない。なので、TypeScriptはコンパイルされるとJavaScriptが自動生成されて、ブラウザーはJavaScriptとして実行する。しかし、ブラウザーの開発者ツールでJavaScriptをデバッグしようとすると、mapファイルを読み込んで、TypeScriptのソースコードでデバッグできる。\nこの仕組みはChromeとかでjquery.js.minとかと同じで、TypeScriptに各ブラウザーが対応しているところをみると、MicrosoftのOSS戦略も徐々に浸透しつつあるのかなぁと感じた。\nECMAScript6 で使える、アロー演算子やGetter/Setter はコンパイルオプションの指定がいるのと、実行環境もECMAScript6に対応している必要がある。 #decode14 #RoomB— Masaki Yamamoto (@nnasaki) 2014, 5月 30\nこの辺は注意が必要と感じました。ECMAScript6が早く使えるようになるといいなぁ。\n古いIEの対応だけの知識ではない。Fiddlerの実践的な使い方は現場のWeb開発には必須の知識 続いては物江さんのセッションで、IEの互換性に関する話だけと思いきや、Fiddlerの使い方も紹介されており、これは他の人にも是非教えてあげたいなぁと思いました。\nIE11のエンタープライズモードは、開発者向けツールでIE8 を選ぶのとは異なり、cssの解釈もIE8同等になる。 #decode14— Masaki Yamamoto (@nnasaki) 2014, 5月 30\nちなみにエンタープライズモードはIE11のサポート期間まで使えるので、IE8向けのサイトは2024年近く（おぼろげな記憶なので不正確）まで使えるとのことです。やったね（白目\n非互換性はCompatInspector.jsを使う。デバッグすれば非互換性箇所もわかる。 #decode14— Masaki Yamamoto (@nnasaki) 2014, 5月 30\nFiddlerと開発者ツールを組み合わせて使うとサーバーのcssやjsを書き換える必要なく、ローカルのファイルを読み込ませることができる。 #decode14 #RoomF— Masaki Yamamoto (@nnasaki) 2014, 5月 30\nCompatInspector.js を全てのページに読み込ませるのは大変。これもFiddlerを使用すればサーバーをいじることなく読み込ませることができる。スニペットのリンクが切れてたのどうするんだろw #decode14 #RoomF— Masaki Yamamoto (@nnasaki) 2014, 5月 30\nFiddlerは本当に便利です。SSL通信の中身も見られますし。スニペットのリンク切れはおそらく後日フォローがあるはずです。\nCOMは死なない。asyn/await は万能ではない。 Windows Runtime DeepDiveを途中から聞いた。ストアアプリは.NET, JavaScript, C++で書いて、Windows Runtime を共通的に呼び出すんだけど、その呼び出し方の仕組みはそれぞれ違う。\nWindows RuntimeはCOMをリファクタリングしたもの。捨てて無かったのねー。 #decode14 #RoomF— Masaki Yamamoto (@nnasaki) 2014, 5月 30\nAsync/Awaitは便利だけど、Dispacherを使ったほうが良い時がある。内部ではDispatcher を使ってるため #ROOMF— Masaki Yamamoto (@nnasaki) 2014, 5月 30\nMicrosoftの技術はロングラン！でも、コアな部分ってそんなそんな変えられないですよね。パッチの積み重ねだし。*nixのカーネルもしかり。\nAzureを支える技術。初期の頃からパフォーマンスは飛躍的に向上。 最後はいろいろ迷ったんですが、Azureのセッションを今までまったくうけてなかったので、佐藤 直生 さんの「Microsoft Azure インターナル ～ ファブリック コントローラーを理解して、正しい設計を!」を聞いてみました。さすがにレベル400(専門)ということでほとんど理解できなかったｗ\nハードウェアのロードバランサーがあまりよろしくなかったので、ソフトウェアのロードバランサー(SLB)を自社開発して使っている。ほー。 #decode14 #RoomC— Masaki Yamamoto (@nnasaki) 2014, 5月 30\nこのように要所要所でMicrosoftの独自テクノロジーが導入されており、ネットワーク構成もメッシュ化に構成を変更することで当初と比べると飛躍的に向上したとのこと。\n私は Microsoft Azure モバイルサービス の記事をよく書いていますが、内部的にはPaaSのCloud Servicesが使われている。これはWebSiteも同様。モバイルサービスが実際どのような仕組みかは Ask The Speakerでも伺いましたが、モバイルサービスは結構ブラックボックス化されているとのことで、Kuduを使用してゴニョゴニョしていくとわかるのかなぁという感じでした。\n見たかったけど見れなかったセッションたくさん。。。 どれも興味深いセッションばかりで泣く泣く見れなかったセッションがあった。例えば「パワフル モバイル アプリ開発 ～ 最新 Azure Mobile Services をフル活用しよう！」や「Azure Mobile Services \u0026amp; Notification Hubs で Windows、iOS、Android 等、すべてのデバイスにプッシュ通知を送る」Azure関連がほとんど見られなかった。 後日動画が公開されるのと、フォローアップ記事が公開されているので、おさらいしておきたい。\n","permalink":"/entry/2014/05/31/170209/","summary":"\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://www.microsoft.com/ja-jp/events/developer/\"\u003ede:code 公式サイト\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://togetter.com/li/673910\"\u003etogetterまとめ\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDay1(一日目)の記事 → \u003ca href=\"http://nnasaki.hatenablog.com/entry/2014/05/29/230814\"\u003ede:code Day1 に参加した\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1 id=\"decode-二日目技術セッション漬け\"\u003ede:code 二日目。技術セッション漬け。\u003c/h1\u003e\n\u003cp\u003eちょっと朝は調べ物してて遅刻したんだけど、この日も内容の濃いセッションばっかりだった。\u003c/p\u003e\n\u003ch2 id=\"全体を通してのまとめ\"\u003e全体を通してのまとめ\u003c/h2\u003e\n\u003cp\u003e大分長くなりましたので、結論を先に書くと本当に楽しい二日間でした。\n\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003eの今後の方向性として、モバ\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A4%A5%EB%A5%D5%A5%A1\"\u003eイルファ\u003c/a\u003eースト・\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%A6%A5%C9\"\u003eクラウド\u003c/a\u003eファースト。\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AA%A1%BC%A5%D7%A5%F3%A5%BD%A1%BC%A5%B9\"\u003eオープンソース\u003c/a\u003e。\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AA%A1%BC%A5%D7%A5%F3%A5%BD%A1%BC%A5%B9\"\u003eオープンソース\u003c/a\u003eについてはTypeScript等で徐々に浸透してきていますが、悪い印象を変えるには10年ぐらいかかるかなぁと思います。\n今までは\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e主導でいろいろな技術が導入されましたが、今後はコミュニティ主導に変わりつつあります。私も一開発者として、応援していきたいと思います。\u003c/p\u003e\n\u003cp\u003eまた、今回はいろんな人と出会えたのが本当によかったです。特に同じ地方から参加したGrapeCityの皆様には大変お世話になりました。ありがとうございました。\u003c/p\u003e\n\u003cp\u003eでは各セッションの内容は次に続きます。\u003c/p\u003e\n\u003ch2 id=\"ジニアス流プレゼンには楽しみを\"\u003eジニアス流。プレゼンには楽しみを。\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eジニアスセッション。途中から参加したけどわかりやすい。トピックがそれぞれ独立してるからか。初期の前提知識を学習する必要無いんだな。 \u003ca href=\"https://twitter.com/search?q=%23decode14\u0026amp;src=hash\"\u003e#decode14\u003c/a\u003e— Masaki Yamamoto (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/statuses/472189261320425472\"\u003e2014, 5月 30\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/SQL%20Server\"\u003eSQL Server\u003c/a\u003e 2014は大して興味はなかったんだけど、ジニアス平井さんのセッションは是非見た方がよいということで見たら本当に良かった。\u003ca href=\"http://d.hatena.ne.jp/keyword/SQL%20Server\"\u003eSQL Server\u003c/a\u003eのインメモリDBで性能100倍とか基本的なポイントは押さえつつ、所々のデモアプリで文字を書いたり地球をミラーボールにしたり遊び心にあふれていた。\u003c/p\u003e\n\u003cp\u003e最後はアプリで1分間に何回タップできるか競争。Azureと\u003ca href=\"http://d.hatena.ne.jp/keyword/SQL%20Server\"\u003eSQL Server\u003c/a\u003eの構成で秒間数万リクエストまで耐えられるそうな。\u003c/p\u003e\n\u003cp\u003e自分もこんなふうに楽しませるセッションが出来ると良いなぁと感じた。\u003c/p\u003e\n\u003ch2 id=\"microsoft-azure-や-iaasの自動化はコンテキストをそろえる\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e Azure や IaaSの自動化はコンテキストをそろえる\u003c/h2\u003e\n\u003cp\u003e次に、Azure IaaS 自動構成\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C4%A1%BC%A5%EB\"\u003eツール\u003c/a\u003e Chef, Puppet, \u003ca href=\"http://d.hatena.ne.jp/keyword/PowerShell\"\u003ePowerShell\u003c/a\u003e DSC。自動化は大変人気があって、満席でした。みんな苦労しているのかな。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%B2%BE%C1%DB%A5%DE%A5%B7%A5%F3\"\u003e仮想マシン\u003c/a\u003e自体を作る（外側）はAzure Automation を使用する。作った後（内側）はChef, Puppet, \u003ca href=\"http://d.hatena.ne.jp/keyword/PowerShell\"\u003ePowerShell\u003c/a\u003e DSCを使う。混同しやすいので注意 \u003ca href=\"https://twitter.com/search?q=%23decode14\u0026amp;src=hash\"\u003e#decode14\u003c/a\u003e \u003ca href=\"https://twitter.com/search?q=%23RoomD\u0026amp;src=hash\"\u003e#RoomD\u003c/a\u003e— Masaki Yamamoto (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/statuses/472199684379791360\"\u003e2014, 5月 30\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eということでコンテキストをまず合わせることが重要。\u003c/p\u003e\n\u003cp\u003e若干駆け足で範囲が広かったので、細部まではあまり理解できなかったけど概要はなんとなくつかめた感じ。Chefはちょろちょろ使ってるけど、ChefServerは立ち上げず、knife soloを使っているのであまりピンと来なかったところもある。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eAzure \u003ca href=\"http://d.hatena.ne.jp/keyword/%B2%BE%C1%DB%A5%DE%A5%B7%A5%F3\"\u003e仮想マシン\u003c/a\u003eでChefを試す場合は、Extensionが用意されている。\u003ca href=\"http://d.hatena.ne.jp/keyword/Linux\"\u003eLinux\u003c/a\u003eのExtensionは\u003ca href=\"http://d.hatena.ne.jp/keyword/GUI\"\u003eGUI\u003c/a\u003eが無いので、\u003ca href=\"http://d.hatena.ne.jp/keyword/Powershell\"\u003ePowershell\u003c/a\u003e等を使用して追加する。 \u003ca href=\"https://twitter.com/search?q=%23decode14\u0026amp;src=hash\"\u003e#decode14\u003c/a\u003e \u003ca href=\"https://twitter.com/search?q=%23RoomD\u0026amp;src=hash\"\u003e#RoomD\u003c/a\u003e— Masaki Yamamoto (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/statuses/472203963467460609\"\u003e2014, 5月 30\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eChef で \u003ca href=\"http://d.hatena.ne.jp/keyword/IIS\"\u003eIIS\u003c/a\u003e をインストールするときは、\u003ca href=\"http://d.hatena.ne.jp/keyword/PowerShell\"\u003ePowerShell\u003c/a\u003eの\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8\"\u003eスクリプト\u003c/a\u003eを実行するというとってもクソなことをしている。 \u003ca href=\"https://twitter.com/search?q=%23decode14\u0026amp;src=hash\"\u003e#decode14\u003c/a\u003e \u003ca href=\"https://twitter.com/search?q=%23RoomD\u0026amp;src=hash\"\u003e#RoomD\u003c/a\u003e— Masaki Yamamoto (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/statuses/472205689243193344\"\u003e2014, 5月 30\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePuppet か Chef のどちらかというと、Puppet 推し。独自\u003ca href=\"http://d.hatena.ne.jp/keyword/DSL\"\u003eDSL\u003c/a\u003eとか回りくどくてめんどくさくて心折れるけど、乗り越えると楽しい世界がある。  \u003ca href=\"https://twitter.com/search?q=%23decode14\u0026amp;src=hash\"\u003e#decode14\u003c/a\u003e \u003ca href=\"https://twitter.com/search?q=%23RoomD\u0026amp;src=hash\"\u003e#RoomD\u003c/a\u003e— Masaki Yamamoto (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/statuses/472206104185679874\"\u003e2014, 5月 30\u003c/a\u003e\u003c/p\u003e","title":"de:code Day2 に参加した #decode14"},{"content":" de:code ｜ 日本マイクロソフトの開発者/アーキテクト向けイベント - Microsoft Events \u0026amp; Seminars Togetterまとめ 個人の趣味で参加するにはちょっと高すぎる￥106,920（税込）(早期割引)。 セッションの撮影・録音は一切禁止だったので、写真はちょっと少なめです。\nキーノート キーノートは6月中に動画で公開されるそうです。 私の主観でまとめてみました。\nde:codeは毎年開催する！ TechEdが無くなり、de:codeも今回だけかなぁと思ったら キーノート で樋口さんが毎年やりますと宣言。\nMicrosoft の新しいビジョンは４つ。Mobile, Cloud, Usage, Device(?)。 Mobile, Cloudは言わずもがな。じゃぁ、Usageはなんだっていうと、いままでは Windows になにか機能を付ければ買ってもらえたけど、その機能って実際使われていないよね。そうじゃなくて、みんなに使ってもらう機能を作っていきたいとのこと。みんなに買ってもらいたくなる製品を作っていきたい。 ごめん、4つめは確かDeveiceだったと思うんだけど忘れたｗ\n学習教材としてタブレットとWindows Phoneの配布！ タブレットはある程度予想してました。ですが、Windows Phoneについては、キーノートで「新発表はない」と明言した後の、まさかのプレゼントだったのでビックリ。機種は複数あったようで、1320でした。ちょっと大きめだったので、小ぶりのPhoneの方が良かったなーというのは欲張りかｗ\nIOT=IOYT (Internet of YOUR Things) IOTについて、マイクロソフトではより身近に感じてもらうように、YOURを加えて Internet of Your Things としている。\nProject Siena タブレットアプリを作るタブレットアプリケーション レイアウトはタブレットアプリケーションでWinFormsっぽくぽちぽち置いて、データを選んでいくとあっというまにアプリケーションが出来る。フィルタリングとか関連づけはExcelの関数みたいな感じで行うことが可能。\nデータにはいつもの以外にRESTが使えるのべんりっぽい。ODataとかじゃなくて良かった。\nVisual Studioとブラウザが連動して修正が可能 IntelliJのLiveEditと同じように、ブラウザ(Chromeでデモしていたが、IEでもFirefoxでも良い)で修正した内容が即VisualStudioのソースに反映される。拡張機能はいらなくて、内部でサーバーが立ち上がっており、SignalRで動いているっぽい。\n修正したサイトはvisualstudio.comにソースをプッシュして、自動ビルド・テストが走り、Azure WebSiteへデプロイ。すごく便利ですね。\n.NET Micro Framework と c# で組み込み開発 デモはラジコンのようなトラックをWindows Azureにセンサ情報を送りつつ、リモート制御、タブレットをリモコンとして使用して動かしていた。 Visual Stuidoを使用して、センサーやジャイロなどのハードウェアをGUIで設計が可能。gadgeteerというSDKも使っているとのこと。GUIで回路を設計して、GUIの名前が変数名となり、c#でコーディングが可能。 LEGO Mindstomrs EV3もIntelのGalileoボードも.NET Micro Framework と c# でコーディングが可能になるみたい。\nプレゼントはタブレットよりこっちのトラックのほうが欲しかったなｗ\nMobile First, Cloud First。だけど、セキュリティも重要だ。 セキュリティを統括する認証基盤。個人的に仕事でもちょこちょこでてくるので、興味深かった。オンプレミスとクラウドの認証連携。Microsoftの認証基盤といえばActive Directoryで、Azureと連携するとオンプレミスのIDとパスワードでクラウドと連携して使える。 さらにデバイスの制限、2 要素認証も出来る。さらにさらにsalesforce等の他アプリケーションにシングルサインオンも可能。これはすばらしいなぁ。\nキーノート最後に感動の動画が流れる デバイスが増えて、“あぁ、これ全部テストしないと” よくわかる #decode14— Masaki Yamamoto (@nnasaki) 2014, 5月 29\nこの動画いいなぁ。Youtubeにあるんだろうか？曲の転調と一緒に「でも、」とかメッセージがシンクロしていてとても良い。 #decode14— Masaki Yamamoto (@nnasaki) 2014, 5月 29\n@shinoblogavi とても良かったです。泣きそうになりました！— Masaki Yamamoto (@nnasaki) 2014, 5月 29\n動画は7月ぐらいに公開するとのことでしたので楽しみにまっていると良いと思います。\n午後のセッション セッションは Microsoft Azure だけでは無く、いろいろ選んでみた。\n.NETとONE ASP.NETのおさらいとこれから。 ASP.NETはIISとべったりですが、IIS以外でも動くようになろうとしています。 また、近い将来LinuxでもMacでも動くようになるでしょう。もはやMicrosoftはクローズドだけではない、オープンな会社になりつつある。https://github.com/aspnet/Home がその象徴です。\n既に時遅しで、LinuxとかMacで動くようになっても誰も使ってくれないかもしれないけどね。でも、チャレンジする姿勢は応援していきたい。\n.NET は OSS と一緒に作るように変わってきている。例えば、Ajaxが流行ったときに、http://t.co/NeynxTBw36 Ajaxをリリースして作ってくださいと行ってた。 #decode14 #RoomB— Masaki Yamamoto (@nnasaki) 2014, 5月 29\nWindowsForms より WPFのほうが描画速度が速い。 #decode14 #RoomB— Masaki Yamamoto (@nnasaki) 2014, 5月 29\nWord Online の共同編集の裏側では、Signal Rが使われている。進捗どうですか？ #decode14 #RoomB— Masaki Yamamoto (@nnasaki) 2014, 5月 29\nWebフォームでも MVC とあんまり変わらなくなってるなぁ。View が aspx ぐらい？ #decode14 #RoomB— Masaki Yamamoto (@nnasaki) 2014, 5月 29\nWebAPIマジ便利 みそ先生マジ天使や… #decode14 #RoomE— Masaki Yamamoto (@nnasaki) 2014, 5月 29\nいや、これがいいたかっただけやんと言われかねないｗ\nhttp://t.co/NeynxTBw36 WebAPI2から.NET4.5以上が必要 #decode14— Masaki Yamamoto (@nnasaki) 2014, 5月 29\nVisualStudio Update2では、WebAPIを使用したモバイルサービスのプロジェクトを直接作成することができる。ただし、 Global.asaxは反映されない。 #decode14 #RoomE— Masaki Yamamoto (@nnasaki) 2014, 5月 29\nモバイルサービスのORマッパーはEntityFramework以外も使えるし、DBもSQLServer以外も使える。 はて、プッシュのデバイス管理とかにAzure SQLが必須だったと思うから、同時に使うことになるのかな。 #decode14 #RoomE— Masaki Yamamoto (@nnasaki) 2014, 5月 29\nなるほどAPI Management 便利だね。 #decode14— Masaki Yamamoto (@nnasaki) 2014, 5月 29\nモバイルサービスの紹介はクライアントサイドばかりで、サーバーサイドはあまり紹介出来ていないので、調べてみたいと思います。\nVisualStudio 2013 Update2 \u0026lt;3 HTML5 物江さんのセッションを見に来ました。Cordova も気になる。 #decode14 #RoomF— Masaki Yamamoto (@nnasaki) 2014, 5月 29\nストアアプリのプロジェクトにWindows Phoneを追加すると、共有プロジェクトも追加される。default.jsはそのままにする。参照するライブラリが異なるから。 #decode14 #RoomF— Masaki Yamamoto (@nnasaki) 2014, 5月 29\nコピペだけでいろんなアプリ作れるHTML5も簡単でいいねぇ。 #decode14 #RoomF— Masaki Yamamoto (@nnasaki) 2014, 5月 29\n一度HTML5でアプリを作っちゃえば、コピペでどんどんマルチに展開出来ていく。それがASP.NETだったり、ChromeアプリだったりFirefoxだったり、もう何でもできる。HTMLだと周りのみんなにも受け入れられやすいので展開もしやすいかなぁと思いながら聞いてた。 物江さんにはAskTheSpeakerでも色々聞けましたが、enchant.jsの互換性が特に高いとのことでした。\nKudu(くーずー）のSiteExtensionsは色々出来る。出来すぎてむしろヤバい？ くーずーだった。 #decode14— Masaki Yamamoto (@nnasaki) 2014, 5月 29\nモバイルサービスはWebSiteと同じ仕組み。SiteExtensionを使えば日本リージョンでオレオレモバイルサービスが使用可能 #decode14— Masaki Yamamoto (@nnasaki) 2014, 5月 29\n日本リージョン来ない来ない嘆くよりは、オレオレで作っちゃった方いいかなぁと思った。その場合、Azure SQLとかどうなるんだ？と思ったけどこれも後で試してみたい。\nさて、Day2は今日よりセッションが多いので、息切れしないよう気合いをいれてまた望みたい。\n","permalink":"/entry/2014/05/29/230814/","summary":"\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://www.microsoft.com/ja-jp/events/developer/default.aspx\"\u003ede:code ｜ 日本マイクロソフトの開発者/アーキテクト向けイベント - Microsoft Events \u0026amp; Seminars\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://togetter.com/li/673489\"\u003eTogetterまとめ\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e個人の趣味で参加するにはちょっと高すぎる￥106,920（税込）(早期割引)。\nセッションの撮影・録音は一切禁止だったので、写真はちょっと少なめです。\u003c/p\u003e\n\u003ch1 id=\"キーノート\"\u003eキーノート\u003c/h1\u003e\n\u003cp\u003eキーノートは6月中に動画で公開されるそうです。\n私の主観でまとめてみました。\u003c/p\u003e\n\u003ch2 id=\"decodeは毎年開催する\"\u003ede:codeは毎年開催する！\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/TechEd\"\u003eTechEd\u003c/a\u003eが無くなり、de:codeも今回だけかなぁと思ったら \u003ca href=\"http://www.microsoft.com/ja-jp/events/developer/keynote.aspx\"\u003eキーノート\u003c/a\u003e で樋口さんが毎年やりますと宣言。\u003c/p\u003e\n\u003ch2 id=\"microsoft-の新しいビジョンは４つmobile-cloud-usage-device\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e の新しいビジョンは４つ。Mobile, Cloud, Usage, Device(?)。\u003c/h2\u003e\n\u003cp\u003eMobile, Cloudは言わずもがな。じゃぁ、Usageはなんだっていうと、いままでは \u003ca href=\"http://d.hatena.ne.jp/keyword/Windows\"\u003eWindows\u003c/a\u003e になにか機能を付ければ買ってもらえたけど、その機能って実際使われていないよね。そうじゃなくて、みんなに使ってもらう機能を作っていきたいとのこと。みんなに買ってもらいたくなる製品を作っていきたい。\nごめん、4つめは確かDeveiceだったと思うんだけど忘れたｗ\u003c/p\u003e\n\u003ch2 id=\"学習教材としてタブレットとwindows-phoneの配布\"\u003e学習教材として\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%BF%A5%D6%A5%EC%A5%C3%A5%C8\"\u003eタブレット\u003c/a\u003eと\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows\"\u003eWindows\u003c/a\u003e Phoneの配布！\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%BF%A5%D6%A5%EC%A5%C3%A5%C8\"\u003eタブレット\u003c/a\u003eはある程度予想してました。ですが、\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows\"\u003eWindows\u003c/a\u003e Phoneについては、キーノートで「新発表はない」と明言した後の、まさかのプレゼントだったのでビックリ。機種は複数あったようで、1320でした。ちょっと大きめだったので、小ぶりのPhoneの方が良かったなーというのは欲張りかｗ\u003c/p\u003e\n\u003ch2 id=\"iotioyt-internet-of-your-things\"\u003eIOT=IOYT (Internet of YOUR Things)\u003c/h2\u003e\n\u003cp\u003eIOTについて、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DE%A5%A4%A5%AF%A5%ED%A5%BD%A5%D5%A5%C8\"\u003eマイクロソフト\u003c/a\u003eではより身近に感じてもらうように、YOURを加えて Internet of Your Things としている。\u003c/p\u003e\n\u003ch2 id=\"project-siena-タブレットアプリを作るタブレットアプリケーション\"\u003eProject Siena \u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%BF%A5%D6%A5%EC%A5%C3%A5%C8\"\u003eタブレット\u003c/a\u003eアプリを作る\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%BF%A5%D6%A5%EC%A5%C3%A5%C8\"\u003eタブレット\u003c/a\u003eアプリケーション\u003c/h2\u003e\n\u003cp\u003eレイアウトは\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%BF%A5%D6%A5%EC%A5%C3%A5%C8\"\u003eタブレット\u003c/a\u003eアプリケーションでWinFormsっぽくぽちぽち置いて、データを選んでいくとあっというまにアプリケーションが出来る。フィルタリングとか関連づけは\u003ca href=\"http://d.hatena.ne.jp/keyword/Excel\"\u003eExcel\u003c/a\u003eの関数みたいな感じで行うことが可能。\u003c/p\u003e\n\u003cp\u003eデータにはいつもの以外にRESTが使えるのべんりっぽい。ODataとかじゃなくて良かった。\u003c/p\u003e\n\u003ch2 id=\"visual-studioとブラウザが連動して修正が可能\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003eとブラウザが連動して修正が可能\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/IntelliJ\"\u003eIntelliJ\u003c/a\u003eのLiveEditと同じように、ブラウザ(\u003ca href=\"http://d.hatena.ne.jp/keyword/Chrome\"\u003eChrome\u003c/a\u003eでデモしていたが、\u003ca href=\"http://d.hatena.ne.jp/keyword/IE\"\u003eIE\u003c/a\u003eでも\u003ca href=\"http://d.hatena.ne.jp/keyword/Firefox\"\u003eFirefox\u003c/a\u003eでも良い)で修正した内容が即VisualStudioのソースに反映される。\u003ca href=\"http://d.hatena.ne.jp/keyword/%B3%C8%C4%A5%B5%A1%C7%BD\"\u003e拡張機能\u003c/a\u003eはいらなくて、内部でサーバーが立ち上がっており、SignalRで動いているっぽい。\u003c/p\u003e\n\u003cp\u003e修正したサイトはvisualstudio.comにソースをプッシュして、自動ビルド・テストが走り、Azure WebSiteへデプロイ。すごく便利ですね。\u003c/p\u003e\n\u003ch2 id=\"net-micro-framework-と-c-で組み込み開発\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/.NET%20Micro%20Framework\"\u003e.NET Micro Framework\u003c/a\u003e と \u003ca href=\"http://d.hatena.ne.jp/keyword/c%23\"\u003ec#\u003c/a\u003e で組み込み開発\u003c/h2\u003e\n\u003cp\u003eデモはラジコンのようなトラックを\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%20Azure\"\u003eWindows Azure\u003c/a\u003eにセンサ情報を送りつつ、リモート制御、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%BF%A5%D6%A5%EC%A5%C3%A5%C8\"\u003eタブレット\u003c/a\u003eをリモコンとして使用して動かしていた。\nVisual Stuidoを使用して、センサーやジャイロなどのハードウェアを\u003ca href=\"http://d.hatena.ne.jp/keyword/GUI\"\u003eGUI\u003c/a\u003eで設計が可能。gadgeteerという\u003ca href=\"http://d.hatena.ne.jp/keyword/SDK\"\u003eSDK\u003c/a\u003eも使っているとのこと。\u003ca href=\"http://d.hatena.ne.jp/keyword/GUI\"\u003eGUI\u003c/a\u003eで回路を設計して、\u003ca href=\"http://d.hatena.ne.jp/keyword/GUI\"\u003eGUI\u003c/a\u003eの名前が変数名となり、\u003ca href=\"http://d.hatena.ne.jp/keyword/c%23\"\u003ec#\u003c/a\u003eでコーディングが可能。\n\u003ca href=\"http://d.hatena.ne.jp/keyword/LEGO\"\u003eLEGO\u003c/a\u003e Mindstomrs EV3も\u003ca href=\"http://d.hatena.ne.jp/keyword/Intel\"\u003eIntel\u003c/a\u003eの\u003ca href=\"http://d.hatena.ne.jp/keyword/Galileo\"\u003eGalileo\u003c/a\u003eボードも\u003ca href=\"http://d.hatena.ne.jp/keyword/.NET%20Micro%20Framework\"\u003e.NET Micro Framework\u003c/a\u003e と \u003ca href=\"http://d.hatena.ne.jp/keyword/c%23\"\u003ec#\u003c/a\u003e でコーディングが可能になるみたい。\u003c/p\u003e\n\u003cp\u003eプレゼントは\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%BF%A5%D6%A5%EC%A5%C3%A5%C8\"\u003eタブレット\u003c/a\u003eよりこっちのトラックのほうが欲しかったなｗ\u003c/p\u003e\n\u003ch2 id=\"mobile-first-cloud-firstだけどセキュリティも重要だ\"\u003eMobile First, Cloud First。だけど、セキュリティも重要だ。\u003c/h2\u003e\n\u003cp\u003eセキュリティを統括する認証基盤。個人的に仕事でもちょこちょこでてくるので、興味深かった。オンプレミスと\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%A6%A5%C9\"\u003eクラウド\u003c/a\u003eの認証連携。\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003eの認証基盤といえば\u003ca href=\"http://d.hatena.ne.jp/keyword/Active%20Directory\"\u003eActive Directory\u003c/a\u003eで、Azureと連携するとオンプレミスのIDとパスワードで\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%A6%A5%C9\"\u003eクラウド\u003c/a\u003eと連携して使える。\nさらにデバイスの制限、2 要素認証も出来る。さらにさらに\u003ca href=\"http://d.hatena.ne.jp/keyword/salesforce\"\u003esalesforce\u003c/a\u003e等の他アプリケーションに\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%B7%A5%F3%A5%B0%A5%EB%A5%B5%A5%A4%A5%F3%A5%AA%A5%F3\"\u003eシングルサインオン\u003c/a\u003eも可能。これはすばらしいなぁ。\u003c/p\u003e","title":"de:code Day1 に参加した #decode14"},{"content":"今日は仙台・青葉まつりというのがあるのに、何故かITイベントがたくさんあった。\n泥臭い受託開発を語り合う(DevLOVE関西×DevLOVE仙台コラボ企画) - DevLOVE仙台 | Doorkeeper イベント案内 | 2014-05-17 (土) JAWSUG仙台・会津・山形・沖縄！四大会場 地球最大の決戦 with JAZUG仙台 - 東北デベロッパーズコミュニティ FUSE15 - ゲーム開発イベント（Game Jam / ハッカソン） | Peatix 私はDevLOVEとJAZUG仙台両方の運営スタッフなので、ちょっと欲張って両方でることにしました。DevLOVE仙台は16時ぐらいまで一通りスタッフ業をした後にJAZUG仙台に参加しました。\nちょっとLT枠というか、時間が余っているようなのでたまにはMobile Servicesではなく、Web Site で 簡単にWordPressを立ち上げられて、1000req/sなサイト作れるよという話しをしてきました。\nAzureの管理ポータルでWordPressをインストールして、プラグイン何個かいれて、インスタンス数をちょいちょいいじったぐらいで、サイトの負荷テストはCATMDESさんを使いまして、以下の結果です。\nf:id:nnasaki:20140518003904p:plain 1000req/sってどれくらいかというと、ワールドサテライトに紹介されたときぐらいなので、かなりの処理速度ではないでしょうか？（クラウドワークさんがいらしてくれていたのに、ランサーズさんの事例ですみません）\nWBSで紹介された場合、そのアクセスの増加ペースは想像以上に瞬間的です。 大体紹介がはじまって、1-2分の間に、いつもは20req/sくらいのアクセスが、800req/sくらいにぐぐっと伸びました。その後、コーナー終盤までくると、1000req/sくらいまでピークのアクセスがきます。\nEC2とS3をうまく使い分けてワールドビジネスサテライト砲を確実に乗り切る方法 | Cerevo TechBlog\nちょっとしたキャンペーンサイトとか、ポータルサイトはWebSiteにWordPressをインストールすればあっという間に出来てしまいますね。恐ろしい時代です。\nこれをSIerに発注すると何人月の見積もりになるやらｗ\n","permalink":"/entry/2014/05/18/004657/","summary":"\u003cp\u003e今日は\u003ca href=\"http://www.aoba-matsuri.com/index.html\"\u003e仙台・青葉まつり\u003c/a\u003eというのがあるのに、何故かITイベントがたくさんあった。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://devlove-sendai.doorkeeper.jp/events/10034\"\u003e泥臭い受託開発を語り合う(DevLOVE関西×DevLOVE仙台コラボ企画) - DevLOVE仙台 | Doorkeeper\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://tohoku-dev.jp/modules/eguide/event.php?eid=256\"\u003eイベント案内 | 2014-05-17 (土) JAWSUG仙台・会津・山形・沖縄！四大会場 地球最大の決戦 with JAZUG仙台 - 東北デベロッパーズコミュニティ\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://fuse15.peatix.com/\"\u003eFUSE15 - ゲーム開発イベント（Game Jam / ハッカソン） | Peatix\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e私はDevLOVEとJAZUG仙台両方の運営スタッフなので、ちょっと欲張って両方でることにしました。DevLOVE仙台は16時ぐらいまで一通りスタッフ業をした後にJAZUG仙台に参加しました。\u003c/p\u003e\n\u003cp\u003eちょっとLT枠というか、時間が余っているようなのでたまにはMobile Servicesではなく、Web Site で 簡単に\u003ca href=\"http://d.hatena.ne.jp/keyword/WordPress\"\u003eWordPress\u003c/a\u003eを立ち上げられて、1000req/sなサイト作れるよという話しをしてきました。\u003c/p\u003e\n\u003cp\u003eAzureの管理ポータルで\u003ca href=\"http://d.hatena.ne.jp/keyword/WordPress\"\u003eWordPress\u003c/a\u003eをインストールして、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3\"\u003eプラグイン\u003c/a\u003e何個かいれて、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%BF%A5%F3%A5%B9\"\u003eインスタンス\u003c/a\u003e数をちょいちょいいじったぐらいで、サイトの負荷テストは\u003ca href=\"https://catmdes.com/\"\u003eCATMDES\u003c/a\u003eさんを使いまして、以下の結果です。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20140518/20140518003904.png\" alt=\"f:id:nnasaki:20140518003904p:plain\" title=\"f:id:nnasaki:20140518003904p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20140518003904p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e1000req/sってどれくらいかというと、ワールドサテライトに紹介されたときぐらいなので、かなりの処理速度ではないでしょうか？（\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%A6%A5%C9\"\u003eクラウド\u003c/a\u003eワークさんがいらしてくれていたのに、ランサーズさんの事例ですみません）\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/WBS\"\u003eWBS\u003c/a\u003eで紹介された場合、そのアクセスの増加ペースは想像以上に瞬間的です。\n大体紹介がはじまって、1-2分の間に、いつもは20req/sくらいのアクセスが、800req/sくらいにぐぐっと伸びました。その後、コーナー終盤までくると、1000req/sくらいまでピークのアクセスがきます。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e\u003ca href=\"http://tech-blog.cerevo.com/archives/283/\"\u003eEC2とS3をうまく使い分けてワールドビジネスサテライト砲を確実に乗り切る方法 | Cerevo TechBlog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eちょっとしたキャンペーンサイトとか、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DD%A1%BC%A5%BF%A5%EB%A5%B5%A5%A4%A5%C8\"\u003eポータルサイト\u003c/a\u003eはWebSiteに\u003ca href=\"http://d.hatena.ne.jp/keyword/WordPress\"\u003eWordPress\u003c/a\u003eをインストールすればあっという間に出来てしまいますね。恐ろしい時代です。\u003c/p\u003e\n\u003cp\u003eこれを\u003ca href=\"http://d.hatena.ne.jp/keyword/SIer\"\u003eSIer\u003c/a\u003eに発注すると何人月の見積もりになるやらｗ\u003c/p\u003e\n\u003chr\u003e","title":"Microsoft Azure Web SiteでWordPress を5分でデプロイする話しをしてきた"},{"content":"最初は100連発にしようとおもったけど力尽きた。\nPocket にいろいろ入れてたら１０００個超えてたので、ちょっとまとめ。見た段階でスターつけるなり、タグ付けるなりしないとダメだなぁ。ある程度まとまったらカテゴリわけて個別の記事にしようかな。\n君はPower Assertを知っているか #potatotips // Speaker Deck JavaScriptのことかと思ったらAndroid向けだった\nレトロラムダはどれ程モダンか // Speaker Deck Java6 でもラムダでかけるらしいよ！\nAnnouncing ASP.NET Session State Provider for Redis Preview Release - .NET Web Development and Tools Blog - Site Home - MSDN Blogs MS 謹製 Redisのセッションプロバイダーがキター！\nしかもクラウドのMicrosoft Azure Redis Cache (Preview)とオンプレミスの両対応とな？\nMicrosoft Azure Redis Cache (Preview) は早く日本リージョンで稼働させてほすぃ\nAzure API Management and Azure Mobile Services - giventocode\nタイトルの通り、Azure API Management と モバイルサービスの合わせ技\nAzure API Management は早くにほん（ｒｙ\nAzure API Management を使うと、ユーザーごとのクォータ管理とか細かい制御が出来るという理解でよろしいだろうか？\nMSOpenTech/Tx · GitHub\nTx (LINQ to Logs and Traces)\nいろんなログやトレースをLINQでごにょるということかな\nMobile Line-of-Business Applications in Microsoft Azure | TechEd North America 2014 | Channel 9\nモバイルサービスとBizTalk、ActiveDirectoryと一通り入っているかな。\n非同期処理の基礎 非同期の基礎がまとまってて良い感じ。CPUのレジスタとキャッシュまで踏み込んでいて、.NET Framework 公式本よりよくわかる気がする。\nSatoru Yamaguchi : [Xamarin.iOS] [NucliOS] バーコード表示アプリを作ってみる あっというまに表示できちゃうじゃないですかー\n連載：ASP.NETによる軽量業務アプリ開発：第1回　軽量ASP.NET開発の概要とSQL Server Expressの準備 (1/3) - ＠IT ClassicASP再来みたいな感じだね。InProcのセッションの場合もViewを簡単に編集できるから便利なのよね。本番サーバーでちょこちょこいじるときはよくやってる。\n新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita おっさんにはよくわかるけど、今の若い子に知って欲しいかというと微妙かなぁ。読んでて思ったのが、情報処理試験で出てくる結合度とか凝集度ってモジュール分割の話しだから、オブジェクト指向な現代にはあんまりマッチしない気がするねぇ。今の試験は違ってるのかもしれんけど。\nUse Kudu webhooks with Mobile Services for easy deployment notifications Kuduって「くず」？「くどぅ」？なんて読むんだろ。Azure のちょっとDeepな管理ツールみたいなイメージなんだけど、モバイルサービスってついてたからとりあえずメモってみた。\nUsing Xamarin.iOS preview of Mobile Services offline - Azure Mobile Services Team Blog - Site Home - MSDN Blogs .NET オンリーだったモバイルサービスのオフラインサポートがXamarinにもきましたねぇ。ところで、どこまでオフラインサポートなんだろ。先のTechEd だと オフラインサポート Not ってなんか書いてあったけど、オフラインの更新は出来ないって書いてあったような。\n合わせて読みたい。 Deep dive on the offline support in the managed client SDK - Azure Mobile Services Team Blog - Site Home - MSDN Blogs\nBuild offline apps with Azure Mobile Services | Microsoft Azure Mobile Services | Channel 9\naspnet/Home · GitHub\nASP.NET が GitHub で開発される時代に。これはプルリクするしかない。\nちなみに Azure のドキュメントもAzure/azure-content · GitHubで管理されてたりする。 日本語訳のコントリビュートしたいんだけどなぁ。翻訳まで考慮されてないっぽい？\nCodePlexのことはたまに思い出してやってください。\nConnect to an on-premises SQL Server from Azure Mobile Services using Hybrid Connections | Microsoft Azure Mobile Services | Channel 9\nモバイルサービスと BizTalk をつかって、オンプレミスのSQL Serverとかと繋げる方法。\nこれもなにげに気になってるのよね。BizTalkとか使ったこと無いけど、ファイアウォールの穴開け不要でオンプレミスと繋がっちゃうんでしょ？\nモバイルサービスの日本リージョンはよ！\nCreate a Staging .NET Backend for Testing and Developing Azure Mobile Services | Windows Store Developer Solutions | Channel 9\nモバイルサービスにもWebサイトのようにステージング機能が！って期待したら、名前変えてデプロイしてるだけっぽいような…\n“PowerShell”の学習支援ツール「Script Browser \u0026amp; Script Analyzer」v1.2が公開 - 窓の杜 パワーシェルわかりません。わかりたくもあまりないけど、コマンドプロンプト使うよりは良いか…\n関数型言語を学ぶことは実務でどう役に立ったか - Rejasupoem Reactive もそろそろちゃんと押さえておかないとな。MVVMとかとか。\nXamarin で ReactiveUI を使ってみた Xamarin++ , Reactive 関連++\namay077 さんのXamarin情報は本当に役に立つ\nXamarinのAndroidアプリでReactivePropertyを使う - かずきのBlog@hatena\nXamarin++ , Reactive 関連++\nリアクティブなのは簡単なサンプルだとめんどくさくなっただけっぽい気がするし、かといって複雑なサンプルだと理解しにくくなるし。\n説明して共感を得るのが難しい感じですね。\nソフトウェア技術情報の適切な普及には、適切なマネタイズの仕組みが不可欠では | mah365\nそうね。こういった仕組みがあるといいね。\n","permalink":"/entry/2014/05/16/014647/","summary":"\u003cp\u003e最初は100連発にしようとおもったけど力尽きた。\u003c/p\u003e\n\u003cp\u003ePocket にいろいろ入れてたら１０００個超えてたので、ちょっとまとめ。見た段階でスターつけるなり、タグ付けるなりしないとダメだなぁ。ある程度まとまったらカテゴリわけて個別の記事にしようかな。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://speakerdeck.com/gfx/jun-hapower-assertwozhi-tuteiruka-number-potatotips\"\u003e君はPower Assertを知っているか #potatotips // Speaker Deck\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/JavaScript\"\u003eJavaScript\u003c/a\u003eのことかと思ったら\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e向けだった\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://speakerdeck.com/rejasupotaro/retororamudahadorecheng-modanka\"\u003eレトロラムダはどれ程モダンか // Speaker Deck\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eJava6 でもラムダでかけるらしいよ！\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://blogs.msdn.com/b/webdev/archive/2014/05/12/announcing-asp-net-session-state-provider-for-redis-preview-release.aspx\"\u003eAnnouncing ASP.NET Session State Provider for Redis Preview Release - .NET Web Development and Tools Blog - Site Home - MSDN Blogs\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMS 謹製 Redisのセッションプロバイダーがキター！\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eしかも\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%A6%A5%C9\"\u003eクラウド\u003c/a\u003eの\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e Azure Redis Cache (Preview)とオンプレミスの両対応とな？\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Microsoft\"\u003eMicrosoft\u003c/a\u003e Azure Redis Cache (Preview) は早く日本リージョンで稼働させてほすぃ\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"http://giventocode.com/azure-api-management-and-azure-mobile-services\"\u003eAzure API Management and Azure Mobile Services - giventocode\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eタイトルの通り、Azure \u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003e Management  と モバイルサービスの合わせ技\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAzure \u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003e Management は早くにほん（ｒｙ\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAzure \u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003e Management を使うと、ユーザーごとのクォータ管理とか細かい制御が出来るという理解でよろしいだろうか？\u003c/p\u003e","title":"最近気になっている技術ネタ２０連発 (主に #azure #xamarin)"},{"content":"Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション という題目で話しました。スライドはSlideShareに上げました。\nモバイルサービスとXamarinの両方の話しだったので、時間が足りないところもありました。\nWindows Azure モバイルサービスの日本リージョン展開のため、VOTEお願いします！\n","permalink":"/entry/2014/03/22/143537/","summary":"\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%20Azure\"\u003eWindows Azure\u003c/a\u003e と Xamarin で作る\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DE%A5%EB%A5%C1%A5%D7%A5%E9%A5%C3%A5%C8%A5%D5%A5%A9%A1%BC%A5%E0\"\u003eマルチプラットフォーム\u003c/a\u003eアプリケーション という題目で話しました。スライドは\u003ca href=\"http://d.hatena.ne.jp/keyword/SlideShare\"\u003eSlideShare\u003c/a\u003eに上げました。\u003c/p\u003e\n\u003cp\u003eモバイルサービスとXamarinの両方の話しだったので、時間が足りないところもありました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://bit.ly/1hPmZVB\"\u003eWindows Azure モバイルサービスの日本リージョン展開のため、VOTEお願いします！\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"MVP Community Camp 2014 - Tohoku（エフスタ!!SENDAI 2）で発表しました #MVPComCamp"},{"content":" デブサミ2014、講演関連資料まとめ 初めてデブサミに参加しました。良い話しばかりで「ためになるな〜」と思いました。でも、それで終わっちゃいけない。なぜなら、デブサミの開催概要にはこう書いてあります。\nデブサミ第1章（2003～2012）は共感を大きなテーマにおいて開催してましたが、デブサミ第2章（2013～）は、Action!をテーマに開催していきます！\n\u0026hellip; (中略) \u0026hellip;\nAction!をシェアすることが、受講者の皆様やプロジェクトチームのAction!を促し、結果、社会を善にする鍵になると信じて！\nということで自分自身のActionは、「 MBaaSを中心としたアプリのコードを書く。そのフィードバックを記事にする。」です。 その考えに至った理由を次に書いていきます。\n焦点はモバイルアプリ開発とクロスプラットフォーム 次のセッションをうけました。\n【13-D-1】JavaからJavaScriptへ！HTML5適用から見えた次世代業務アプリケーション 【13-C-2】iOS/Android/Windowsストア・アプリのハイブリッド開発における限界と可能性 【13-C-4】iOSにAndroid、百花繚乱モバイル開発環境を比較する 【13-C-6】XamarinとVisual Studioでまとめて作るiOS/Android/Windowsアプリ 理由は2点あって、1点目はモバイルアプリ開発をするにあたって、クロスプラットフォームどうするんだというところでした。\nというのも、仕事でもちょこちょこ Android と iOS をやってますが、大体両方やりたいというところが多い。加えて最近は Windows 8 タブレットの案件もチラホラでてきたり。\nで、今までクロスプラットフォームどうしてたかというと、大体 WebView でやって、オフライン使いたいという場合はローカルにHTML 保存したり、HTML5 のアプリケーションキャッシュつかったりという感じ。\nでも、センサー使ったりしたい場合はHTMLだけだと詰まるので Phone Gap やら Cordova やったけど、面倒くさい。そもそも WebView 以外の選択肢は無いか考えていた。\n2点目は、アーキテクチャどうするんだというところ。ここからは全部イメージなので間違ってるところもあると思いますが、今までのアーキテクチャは大体こんな感じ。サーバー側で全部やっちゃう。\nf:id:nnasaki:20140214141406p:plain んで、最近のアプリはこんな感じ。Viewをクライアント側に持ってくる。\nf:id:nnasaki:20140214141553p:plain さらにこれからは次のような感じになると思う。サーバー側の実装は無くなり、MBaaSに置き換わる。すべてのロジックはクライアント側に集約される。\nf:id:nnasaki:20140214141811p:plain そうすると、次のようにクロスプラットフォームの場合それぞれコード書くのか？という問題が出てくる。\nf:id:nnasaki:20140214141909p:plain その解として Xamarin を使用したクロスプラットフォーム開発を勧めたい。\nf:id:nnasaki:20140214141957p:plain 今のところ、本当にこんなキレイに出来るかわからないけど、コードを書いて実証していきたい。\nサーバーサイドの実装は、MBaaS を使用すれば本当にゼロになるかというと今のところは難しい気がしている。でも、どんどん楽になっているのは確かで、NIFTY Cloud mobile backendはプッシュ通知だけでなく、会員管理・位置情報・データストアのAPIをそろえている。「【13-B-6】mobile backend活用事例から見る「これからのスマホアプリ開発とクラウドの展望」」を聞きたかったんだけど Xamarin とかぶってしまったので、 Xamarin を優先した。\nまとめると、Xamarin で上記アーキテクチャが実現できるかどうかコードを書くことと、これからも MBaaS の情報は追っていきたい。\n中村洋さんのセッション 【13-A-5】成功と失敗の狭間に横たわる2つのマネジメント 中村さんはDevLOVE関西に所属しており、DevLOVE仙台としてどんな話しをされるか気になったので聞いてみた。\nハッとしたことは次のドラッカー風エクササイズ。\n`ドラッカー風エクササイズ １：自分は何が得意なのか？ ２：自分はどうやって貢献するつもりか？ ３：自分が大切に思う価値はなにか？ ４：チームメンバーは自分にどんな成果を期待してると思うか？ アジャイルサムライ P34より ` そういえばアジャイルサムライに書いてあったなと読み返したりしていた。中村さんが何故会社を辞めてフリーになったかという話しもあり、「少しでも現場をよくしたい」というのは私も同じで共感できました。\n自分が出来ることは blog なり記事なりで、誰かの役に立つように情報を発信し続けることも大事かなぁと感じた。\nPaaS は必要か否か？ 【14-E-7】デブサミ2014版プロレス as a Service ～ PaaS（【レフリー＆司会】川田大輔） PaaS も成長するので、PaaS が不要になる時は PaaS の成長が鈍化して、時代に追いつかなくなる時ではないだろうか。 #devsumi #devsumiE— 山本誠樹/Masaki Yamamoto (@nnasaki) 2014, 2月 14\nPaaS については、前述した MBaaS もその一つだと思っているのでもちろん必要だと自分は思ってるし、これからも必要だと思ってる。\nそんな、PaaS の話しより、WIndows Azure が気になっているので、MS 平野さんの言動に注目していた。\nおれはなにしにきてたんだっけ? #devsumi pic.twitter.com/XJVjNPSOIv— 山本誠樹/Masaki Yamamoto (@nnasaki) 2014, 2月 14\nラウンドガールとデレデレな MS 平野さん。デブサミにて。アップで撮れなかったのが残念。 #devsumi #azurejp #jazug pic.twitter.com/txWuBgYX4J— 山本誠樹/Masaki Yamamoto (@nnasaki) 2014, 2月 14\nプロレスなのでラウンドガールがいました。現役のレースクイーン。E会場なのでEカップ！ということでかわいかった。もっと前に座ればよかった。\n韓国の話は知らなかったわー。by 平野さん http://t.co/7JGta7ohPa #devsumi #devsumiE #jazug #azurejp— 山本誠樹/Masaki Yamamoto (@nnasaki) 2014, 2月 14\n韓国の話の時に日本DC立ち上がるから売り上げ上げないとヤバイって言ってたのと、今月末って何か言ってたような。 #devsumi #devsumiE #jazug #azurejp— 山本誠樹/Masaki Yamamoto (@nnasaki) 2014, 2月 14\nMSKK も会社だし、米国の子会社なんだよなぁと何となくしみじみ感じた。あとはなんかポロっと言ってた気がするけど、どうなんだろ？聞き間違いだった気もするし、雪のせいで Ask The Speaker もなかったので問い詰められなかったのが残念。\nまとめ ということで、冒頭にも書きましたが、自分自身のActionは、「 MBaaSを中心としたアプリのコードを書く。そのフィードバックを記事にする。」です。\n先のアーキテクチャ通りになるかどうかはわかりませんが、Xamarin を使いつつ、MBaaS は Windows Azure モバイル・サービス を中心にいろいろ試していき、その結果を blog や記事にしていきます。それが自分の糧となり、誰かの役に立てばさらに嬉しい。そして、Windows Azure は本当にいいサービスなので使う人が増えるといいなぁと思います。\nAction には Goal も必要だと思いますが、来年スピーカーとして立てれば良い Goal だと思います。\n","permalink":"/entry/2014/02/14/203651/","summary":"\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://codezine.jp/article/detail/7640\"\u003eデブサミ2014、講演関連資料まとめ\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e初めて\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%D6%A5%B5%A5%DF\"\u003eデブサミ\u003c/a\u003eに参加しました。良い話しばかりで「ためになるな〜」と思いました。でも、それで終わっちゃいけない。なぜなら、\u003ca href=\"http://event.shoeisha.jp/devsumi/20140213/gaiyo/\"\u003eデブサミの開催概要\u003c/a\u003eにはこう書いてあります。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%D6%A5%B5%A5%DF\"\u003eデブサミ\u003c/a\u003e第1章（2003～2012）は共感を大きなテーマにおいて開催してましたが、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%D6%A5%B5%A5%DF\"\u003eデブサミ\u003c/a\u003e第2章（2013～）は、Action!をテーマに開催していきます！\u003c/p\u003e\n\u003cp\u003e\u0026hellip;  (中略) \u0026hellip;\u003c/p\u003e\n\u003cp\u003eAction!をシェアすることが、受講者の皆様やプロジェクトチームのAction!を促し、結果、社会を善にする鍵になると信じて！\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eということで自分自身のActionは、「 MBaaSを中心としたアプリのコードを書く。そのフィードバックを記事にする。」です。\nその考えに至った理由を次に書いていきます。\u003c/p\u003e\n\u003ch2 id=\"焦点はモバイルアプリ開発とクロスプラットフォーム\"\u003e焦点はモバイルアプリ開発と\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AF%A5%ED%A5%B9%A5%D7%A5%E9%A5%C3%A5%C8%A5%D5%A5%A9%A1%BC%A5%E0\"\u003eクロスプラットフォーム\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003e次のセッションをうけました。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e【13-D-1】\u003ca href=\"http://d.hatena.ne.jp/keyword/Java\"\u003eJava\u003c/a\u003eから\u003ca href=\"http://d.hatena.ne.jp/keyword/JavaScript\"\u003eJavaScript\u003c/a\u003eへ！\u003ca href=\"http://d.hatena.ne.jp/keyword/HTML5\"\u003eHTML5\u003c/a\u003e適用から見えた次世代業務アプリケーション\u003c/li\u003e\n\u003cli\u003e【13-C-2】\u003ca href=\"http://d.hatena.ne.jp/keyword/iOS\"\u003eiOS\u003c/a\u003e/\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e/\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows\"\u003eWindows\u003c/a\u003eストア・アプリのハイブリッド開発における限界と可能性\u003c/li\u003e\n\u003cli\u003e【13-C-4】\u003ca href=\"http://d.hatena.ne.jp/keyword/iOS\"\u003eiOS\u003c/a\u003eに\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e、百花繚乱モバイル開発環境を比較する\u003c/li\u003e\n\u003cli\u003e【13-C-6】Xamarinと\u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003eでまとめて作る\u003ca href=\"http://d.hatena.ne.jp/keyword/iOS\"\u003eiOS\u003c/a\u003e/\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e/\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows\"\u003eWindows\u003c/a\u003eアプリ\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e理由は2点あって、1点目はモバイルアプリ開発をするにあたって、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AF%A5%ED%A5%B9%A5%D7%A5%E9%A5%C3%A5%C8%A5%D5%A5%A9%A1%BC%A5%E0\"\u003eクロスプラットフォーム\u003c/a\u003eどうするんだというところでした。\u003c/p\u003e\n\u003cp\u003eというのも、仕事でもちょこちょこ \u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e と \u003ca href=\"http://d.hatena.ne.jp/keyword/iOS\"\u003eiOS\u003c/a\u003e をやってますが、大体両方やりたいというところが多い。加えて最近は \u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%208\"\u003eWindows 8\u003c/a\u003e \u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%BF%A5%D6%A5%EC%A5%C3%A5%C8\"\u003eタブレット\u003c/a\u003eの案件もチラホラでてきたり。\u003c/p\u003e\n\u003cp\u003eで、今まで\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AF%A5%ED%A5%B9%A5%D7%A5%E9%A5%C3%A5%C8%A5%D5%A5%A9%A1%BC%A5%E0\"\u003eクロスプラットフォーム\u003c/a\u003eどうしてたかというと、大体 WebView でやって、オフライン使いたいという場合はローカルにHTML 保存したり、\u003ca href=\"http://d.hatena.ne.jp/keyword/HTML5\"\u003eHTML5\u003c/a\u003e のアプリケーションキャッシュつかったりという感じ。\u003c/p\u003e\n\u003cp\u003eでも、センサー使ったりしたい場合はHTMLだけだと詰まるので Phone Gap やら Cordova やったけど、面倒くさい。そもそも WebView 以外の選択肢は無いか考えていた。\u003c/p\u003e\n\u003cp\u003e2点目は、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3\"\u003eアーキテクチャ\u003c/a\u003eどうするんだというところ。ここからは全部イメージなので間違ってるところもあると思いますが、今までの\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3\"\u003eアーキテクチャ\u003c/a\u003eは大体こんな感じ。サーバー側で全部やっちゃう。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20140214/20140214141406.png\" alt=\"f:id:nnasaki:20140214141406p:plain\" title=\"f:id:nnasaki:20140214141406p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20140214141406p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eんで、最近のアプリはこんな感じ。Viewをクライアント側に持ってくる。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20140214/20140214141553.png\" alt=\"f:id:nnasaki:20140214141553p:plain\" title=\"f:id:nnasaki:20140214141553p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20140214141553p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eさらにこれからは次のような感じになると思う。サーバー側の実装は無くなり、MBaaSに置き換わる。すべてのロジックはクライアント側に集約される。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20140214/20140214141811.png\" alt=\"f:id:nnasaki:20140214141811p:plain\" title=\"f:id:nnasaki:20140214141811p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20140214141811p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eそうすると、次のように\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AF%A5%ED%A5%B9%A5%D7%A5%E9%A5%C3%A5%C8%A5%D5%A5%A9%A1%BC%A5%E0\"\u003eクロスプラットフォーム\u003c/a\u003eの場合それぞれコード書くのか？という問題が出てくる。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20140214/20140214141909.png\" alt=\"f:id:nnasaki:20140214141909p:plain\" title=\"f:id:nnasaki:20140214141909p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20140214141909p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eその解として Xamarin を使用した\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AF%A5%ED%A5%B9%A5%D7%A5%E9%A5%C3%A5%C8%A5%D5%A5%A9%A1%BC%A5%E0\"\u003eクロスプラットフォーム\u003c/a\u003e開発を勧めたい。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20140214/20140214141957.png\" alt=\"f:id:nnasaki:20140214141957p:plain\" title=\"f:id:nnasaki:20140214141957p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20140214141957p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e今のところ、本当にこんなキレイに出来るかわからないけど、コードを書いて実証していきたい。\u003c/p\u003e\n\u003cp\u003eサーバーサイドの実装は、MBaaS を使用すれば本当にゼロになるかというと今のところは難しい気がしている。でも、どんどん楽になっているのは確かで、\u003ca href=\"http://mb.cloud.nifty.com/\"\u003eNIFTY Cloud mobile backend\u003c/a\u003eはプッシュ通知だけでなく、会員管理・位置情報・データストアの\u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003eをそろえている。「【13-B-6】mobile backend活用事例から見る「これからの\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%B9%A5%DE%A5%DB\"\u003eスマホ\u003c/a\u003eアプリ開発と\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%A6%A5%C9\"\u003eクラウド\u003c/a\u003eの展望」」を聞きたかったんだけど Xamarin とかぶってしまったので、 Xamarin を優先した。\u003c/p\u003e\n\u003cp\u003eまとめると、Xamarin で上記\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3\"\u003eアーキテクチャ\u003c/a\u003eが実現できるかどうかコードを書くことと、これからも MBaaS の情報は追っていきたい。\u003c/p\u003e\n\u003ch2 id=\"中村洋さんのセッション\"\u003e中村洋さんのセッション\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e【13-A-5】成功と失敗の狭間に横たわる2つのマネジメント\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e中村さんはDevLOVE関西に所属しており、DevLOVE仙台としてどんな話しをされるか気になったので聞いてみた。\u003c/p\u003e\n\u003cp\u003eハッとしたことは次の\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C9%A5%E9%A5%C3%A5%AB%A1%BC\"\u003eドラッカー\u003c/a\u003e風エクササイズ。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`ドラッカー風エクササイズ  \n１：自分は何が得意なのか？  \n２：自分はどうやって貢献するつもりか？  \n３：自分が大切に思う価値はなにか？  \n４：チームメンバーは自分にどんな成果を期待してると思うか？  \nアジャイルサムライ P34より  \n`\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eそういえば\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A2%A5%B8%A5%E3%A5%A4%A5%EB\"\u003eアジャイル\u003c/a\u003eサムライに書いてあったなと読み返したりしていた。中村さんが何故会社を辞めてフリーになったかという話しもあり、「少しでも現場をよくしたい」というのは私も同じで共感できました。\u003c/p\u003e","title":"デブサミ2014に参加しました #devsumi"},{"content":"この投稿は One ASP.NET Advent Calendar 2013 24日目の記事です。前日は neuecc さんでした。\nClassic ASP(VBScriptで動くアレです）と ASP.NET の混在しているサイトを普段扱ってます。未だに Classic ASP 使っている人はほとんどいないと思うのですが、10年以上保守しているサイトでそこそこ規模が大きいため現在に至っている感じです。VBScript は本当に辛いのでどうにかしたいんですが、作り直す予算も無いしどうしようも無い。\nさて、愚痴はこの辺にしておいて、今日は ASP.NET を .NET Framework 3.5 で使用したときの注意すべき TIPS を３つご紹介します。Web Forms の話です。\n１．マスターページを使うとIDが変わる 問題 例えば次のようなチェックボックスを含むページがあります。\n\u0026lt;asp:Button ID=\u0026#34;changeCheckButton\u0026#34; runat=\u0026#34;server\u0026#34; Text=\u0026#34;チェックボックス切り替え\u0026#34; /\u0026gt; このページをブラウザで確認すると、通常は次のようになります。\n\u0026lt;input type=\u0026#34;submit\u0026#34; name=\u0026#34;changeCheckButton\u0026#34; value=\u0026#34;チェックボックス切り替え\u0026#34; id=\u0026#34;changeCheckButton\u0026#34; /\u0026gt; ところがマスターページを指定して、ブラウザで確認すると次のようにIDが変わります。\n\u0026lt;input type=\u0026#34;submit\u0026#34; name=\u0026#34;ctl00$ContentPlaceHolder1$changeCheckButton\u0026#34; value=\u0026#34;チェックボックス切り替え\u0026#34; id=\u0026#34;ctl00_ContentPlaceHolder1_changeCheckButton\u0026#34; /\u0026gt; 問題の例 例えばチェックボックスの切り替えをするボタンとして、jQuery で次のように書いたとします。 するとIDが変わっているので、チェックボックスが切り替わりません。\njQuery(function () { $(\u0026#39;#changeCheckButton\u0026#39;).on(\u0026#39;click\u0026#39;, function () { $(\u0026#39;input:checkbox\u0026#39;).prop(\u0026#39;checked\u0026#39;, function (i, val) { return !val; //各チェックボックスのチェック状態を反転します。 }); return false; }); }); 問題のサンプルページ http://ac2013-dotnet35.azurewebsites.net/masterpage/before.aspx\n対処 ポストバックの処理が必要なければ、 \u0026lt;asp:Button\u0026gt; から \u0026lt;input\u0026gt; に変更してあげればIDは変わりません。ただポストバックの処理がどうしても必要なときは、jQuery 側で後方一致するように書いてあげましょう\njQuery(function () { $(\u0026#39;input[id$=_changeCheckButton]\u0026#39;).on(\u0026#39;click\u0026#39;, function () { $(\u0026#39;input:checkbox\u0026#39;).prop(\u0026#39;checked\u0026#39;, function( i, val ) { return !val; //各チェックボックスのチェック状態を反転します。 }); return false; }); }); 対処のサンプルページ http://ac2013-dotnet35.azurewebsites.net/masterpage/after.aspx\nASP.NET 4 からならば… Control.ClientIDMode プロパティ を Static にすれば、変わらなくなります。便利ですね…\nhttp://msdn.microsoft.com/ja-jp/library/system.web.ui.control.clientidmode%28VS.100%29.aspx\n２．LinkButton を disabled しても無効っぽく見えない 問題 LinkButton に CSS を当てて、マウスオーバーしたときに背景を黄色くしています。\n\u0026lt;style\u0026gt; a.linkClass:hover { background-color:yellow; } \u0026lt;/style\u0026gt; ... 中略 ... \u0026lt;asp:LinkButton ID=\u0026#34;LinkButton1\u0026#34; runat=\u0026#34;server\u0026#34; CssClass=\u0026#34;linkClass\u0026#34;\u0026gt;LinkButton\u0026lt;/asp:LinkButton\u0026gt; 問題の例 とある条件で LinkButton を無効にしたく、次のように Enabled に False を設定します。\n\u0026lt;asp:LinkButton ID=\u0026#34;LinkButton2\u0026#34; runat=\u0026#34;server\u0026#34; CssClass=\u0026#34;linkClass\u0026#34; Enabled=\u0026#34;False\u0026#34;\u0026gt;LinkButton\u0026lt;/asp:LinkButton\u0026gt; すると、リンクではなくなりますが、マウスオーバーすると背景が黄色くなるのは残ります。生成される HTML は次の通りです。CSS が残っているので当然ですね。\n\u0026lt;a id=\u0026#34;LinkButton2\u0026#34; disabled=\u0026#34;disabled\u0026#34; class=\u0026#34;linkClass\u0026#34;\u0026gt;LinkButton\u0026lt;/a\u0026gt; 問題のサンプルページ http://ac2013-dotnet35.azurewebsites.net/linkdisabled/before.aspx\n対処 CSS で disabled ならば、背景等をリセットするようにします。ついでに文字色も灰色にして無効っぽくします。\n\u0026lt;style\u0026gt; a[disabled=disabled], a[disabled=disabled]:hover, a[disabled=disabled]:focus { pointer-events: none; cursor: default; color: gray; text-decoration: none; } \u0026lt;/style\u0026gt; 対処のサンプルページ http://ac2013-dotnet35.azurewebsites.net/linkdisabled/after.aspx\nASP.NET 4 からならば… WebControl.DisabledCssClass プロパティにて無効時のClassを設定します。\nhttp://msdn.microsoft.com/ja-jp/library/system.web.ui.webcontrols.webcontrol.disabledcssclass(v=vs.100).aspx\n３．HTMLエンコード 最後は便利になったねーというところで、以前はHTMLエンコードするたびに \u0026lt;%= HttpUtility.HtmlEncode(\u0026quot;hogehoge\u0026quot;) %\u0026gt; としなければなりませんでしたが、ASP.NET 4 以降は \u0026lt;%: \u0026quot;hogehoge\u0026quot; %\u0026gt; のみです。便利ですね。\nまとめ 以上、.NET Framework 3.5 を使う上での TIPS をまとめてみました。いやー、世間は .NET Framework 4.5.1 とか Visual Studio 2013 とか本当にうらやましい！ One ASP.NET とかいう流れの中、古くさい話ですみません。\n明日はいよいよ最終日！chack さんこと、エバンジェリストの井上さんで今年を締めくくっていただきましょう。\n","permalink":"/entry/2013/12/24/162635/","summary":"\u003cp\u003eこの投稿は \u003ca href=\"http://www.adventar.org/calendars/132\"\u003eOne ASP.NET Advent Calendar 2013\u003c/a\u003e 24日目の記事です。前日は \u003ca href=\"http://neue.cc/2013/12/23_439.html\"\u003eneuecc\u003c/a\u003e さんでした。\u003c/p\u003e\n\u003cp\u003eClassic \u003ca href=\"http://d.hatena.ne.jp/keyword/ASP\"\u003eASP\u003c/a\u003e(\u003ca href=\"http://d.hatena.ne.jp/keyword/VBScript\"\u003eVBScript\u003c/a\u003eで動くアレです）と \u003ca href=\"http://d.hatena.ne.jp/keyword/ASP.NET\"\u003eASP.NET\u003c/a\u003e の混在しているサイトを普段扱ってます。未だに Classic \u003ca href=\"http://d.hatena.ne.jp/keyword/ASP\"\u003eASP\u003c/a\u003e 使っている人はほとんどいないと思うのですが、10年以上保守しているサイトでそこそこ規模が大きいため現在に至っている感じです。\u003ca href=\"http://d.hatena.ne.jp/keyword/VBScript\"\u003eVBScript\u003c/a\u003e は本当に辛いのでどうにかしたいんですが、作り直す予算も無いしどうしようも無い。\u003c/p\u003e\n\u003cp\u003eさて、愚痴はこの辺にしておいて、今日は \u003ca href=\"http://d.hatena.ne.jp/keyword/ASP.NET\"\u003eASP.NET\u003c/a\u003e を\u003ca href=\"http://d.hatena.ne.jp/keyword/%20.NET\"\u003e .NET\u003c/a\u003e Framework 3.5 で使用したときの注意すべき TIPS を３つご紹介します。Web Forms の話です。\u003c/p\u003e\n\u003ch1 id=\"１マスターページを使うとidが変わる\"\u003e１．マスターページを使うとIDが変わる\u003c/h1\u003e\n\u003ch2 id=\"問題\"\u003e問題\u003c/h2\u003e\n\u003cp\u003e例えば次のようなチェックボックスを含むページがあります。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e\u0026lt;asp:Button ID=\u0026#34;changeCheckButton\u0026#34; runat=\u0026#34;server\u0026#34; Text=\u0026#34;チェックボックス切り替え\u0026#34; /\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eこのページをブラウザで確認すると、通常は次のようになります。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e\u0026lt;input type=\u0026#34;submit\u0026#34; name=\u0026#34;changeCheckButton\u0026#34; value=\u0026#34;チェックボックス切り替え\u0026#34; id=\u0026#34;changeCheckButton\u0026#34; /\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eところがマスターページを指定して、ブラウザで確認すると次のようにIDが変わります。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e\u0026lt;input type=\u0026#34;submit\u0026#34; name=\u0026#34;ctl00$ContentPlaceHolder1$changeCheckButton\u0026#34; value=\u0026#34;チェックボックス切り替え\u0026#34; id=\u0026#34;ctl00_ContentPlaceHolder1_changeCheckButton\u0026#34; /\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003ch3 id=\"問題の例\"\u003e問題の例\u003c/h3\u003e\n\u003cp\u003e例えばチェックボックスの切り替えをするボタンとして、\u003ca href=\"http://d.hatena.ne.jp/keyword/jQuery\"\u003ejQuery\u003c/a\u003e で次のように書いたとします。\nするとIDが変わっているので、チェックボックスが切り替わりません。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003ejQuery(function () {\n    $(\u0026#39;#changeCheckButton\u0026#39;).on(\u0026#39;click\u0026#39;, function () {\n        $(\u0026#39;input:checkbox\u0026#39;).prop(\u0026#39;checked\u0026#39;, function (i, val) {\n            return !val;  //各チェックボックスのチェック状態を反転します。\n        });\n        return false;\n    });\n});\n\u003c/code\u003e\u003c/pre\u003e\u003ch3 id=\"問題のサンプルページ\"\u003e問題のサンプルページ\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://ac2013-dotnet35.azurewebsites.net/masterpage/before.aspx\"\u003ehttp://ac2013-dotnet35.azurewebsites.net/masterpage/before.aspx\u003c/a\u003e\u003c/p\u003e\n\u003ch2 id=\"対処\"\u003e対処\u003c/h2\u003e\n\u003cp\u003eポストバックの処理が必要なければ、 \u003ccode\u003e\u0026lt;asp:Button\u0026gt;\u003c/code\u003e から \u003ccode\u003e\u0026lt;input\u0026gt;\u003c/code\u003e に変更してあげればIDは変わりません。ただポストバックの処理がどうしても必要なときは、\u003ca href=\"http://d.hatena.ne.jp/keyword/jQuery\"\u003ejQuery\u003c/a\u003e 側で後方一致するように書いてあげましょう\u003c/p\u003e","title":"ASP.NET は .NET Framework 4 以上を使うべき３つの理由"},{"content":"f:id:nnasaki:20131220033106g:plain この投稿は DevLOVE Advent Calendar 2013 12月20日の記事です。 前日は tchikuba さんでした。\nタイトルはホッテントリメーカーから作りました。皆さんとてもエネルギッシュで前向きな記事が多い中、ちょっと息抜きな感じで見ていただければと思います。\n自己紹介 DevLOVE仙台 のスタッフをしています。仕事はいわゆる SIer です。c# が好きです。でも、 VB.NET ばくはつしろと思ってます。最近は Windows Azure モバイル・サービス をみんなに勧めてまして、BuildInsider にて iOSアプリを５分で作ろう！ という記事を書いています。\n何故、頑張りすぎないか？ 「現場」のため。自分のため。健康のためです。あれ、理由が３つあるけど気にしない。\n例えば、がんばるあなたがプロジェクトを殺す という話があります。みんなに頼りにされている彼。彼無しでは「現場」が回らない。もちろん彼もそう認識している。でも彼は体調を壊してしまう。「現場」も壊れてしまう。すぐに読めますので一度読んでみてください。\n**これが怪談なのは、誰も悪意を持っていないところだ。彼はプロジェクトを助けるために働き、皆もそれに感謝した。結果、プロジェクトが破綻に近づいた。\nまた、DevLove仙台では次のスライドにて、ソフトウェア開発データ白書を元に、開発の91%は受託開発でレガシーであるという話をしました。\nDevlove仙台20130309 レガシープロジェクト脱出大作戦 ** from Yamamoto Masaki\nこのスライドで言いたかったことは、どうしようも無い「現場」からは逃げるしかない。ということです。逃げ出すために前振りとして、勉強やアウトプットするべきと書きました。\nその「現場」はあなたの300人月を捧げる価値があるか？ @papanda さんの言葉によく出てくるのが「一生涯ソフトウェア開発たかだか300人月」です。人生はとても短い。\nもちろん、「現場」から逃げるだけが正解じゃ無いと思います。私はパッションが重要だと考えています。\nたとえば、「ファイナルファンタジーXIV：新生エオルゼア」。これが何故「新生」かというと旧版があまりにも酷く作り直したから*1。旧版は簡単に言うと企画は日本でやって、オフショア開発したらつまらないゲームが出来上がり、大コケしてしまった結果、旧版のプロデューサーは更迭されてしまいました。\nその後、今のプロデューサーに変更後、彼のパッションによってオフショア開発のプログラムは全面的に書き換えられ、まったくの別物である「新生」となりました。先日リリースされて150万アカウントを超す大ヒットとなりました。\nこのようにパッションあふれる「現場」のメンバー、もしくはリーダーとなれるのであれば、逃げたりせず踏ん張りどころだと思います。\n逆に、もし、あなたの「現場」にそのようなパッションは存在せず、ただただ現状を呪う言葉しか出てこないのであれば、その「現場」から逃げることは選択肢の一つとして選んで良いと思います。\nまとめ 「一生涯ソフトウェア開発たかだか300人月」です。大事なことなので2回言いました。\n今の「現場」で頑張りすぎていませんか？情熱を注げない「現場」に対して孤軍奮闘していないでしょうか？行動経済学に保有効果というものがあります。\n保有効果とは、自分が所有するものに高い価値を感じ、手放すことに抵抗を感じさせる効果のことです。\n人間は一度手にしたものは手放しにくい生き物です*2。あなたが壊れてしまう前に「現場」から逃げ出すことも考えてみてください。\nと、つらつらと偉そうに書いてみましたが、これは自戒でもありますｗ\n頼りにされるとやっぱり頑張っちゃうよね。でもほどほどにね。今日は金曜日だし忘年会でも行って、ストレス発散しましょう。\n明日は kurobara さんです。よろしくお願いします。\n*1:旧版については、ニコニコ大百科：ファイナルファンタジーXIV(旧版)に詳しく載っています。 *2:ウォーターサーバーとかレンタルモップが1週間無料とかやっているのは、この保有効果を狙っているから。無料期間が終了し、引き取りに来られると手放したくないと思ってしまい、そのまま継続してしまうことがある。\n","permalink":"/entry/2013/12/20/040046/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20131220/20131220033106.gif\" alt=\"f:id:nnasaki:20131220033106g:plain\" title=\"f:id:nnasaki:20131220033106g:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20131220033106g:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eこの投稿は \u003ca href=\"http://devlove.doorkeeper.jp/events/7039\"\u003eDevLOVE Advent Calendar 2013\u003c/a\u003e 12月20日の記事です。\n前日は tchikuba さんでした。\u003c/p\u003e\n\u003cp\u003eタイトルは\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DB%A5%C3%A5%C6%A5%F3%A5%C8%A5%EA%A5%E1%A1%BC%A5%AB%A1%BC\"\u003eホッテントリメーカー\u003c/a\u003eから作りました。皆さんとてもエネルギッシュで前向きな記事が多い中、ちょっと息抜きな感じで見ていただければと思います。\u003c/p\u003e\n\u003ch1 id=\"自己紹介\"\u003e自己紹介\u003c/h1\u003e\n\u003cp\u003eDevLOVE仙台 のスタッフをしています。仕事はいわゆる \u003ca href=\"http://d.hatena.ne.jp/keyword/SIer\"\u003eSIer\u003c/a\u003e です。\u003ca href=\"http://d.hatena.ne.jp/keyword/c%23\"\u003ec#\u003c/a\u003e が好きです。でも、 \u003ca href=\"http://d.hatena.ne.jp/keyword/VB.NET\"\u003eVB.NET\u003c/a\u003e ばくはつしろと思ってます。最近は \u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%20Azure\"\u003eWindows Azure\u003c/a\u003e モバイル・サービス をみんなに勧めてまして、\u003ca href=\"http://www.buildinsider.net/\"\u003eBuildInsider\u003c/a\u003e にて \u003ca href=\"http://www.buildinsider.net/web/azuremobilesvc/01\"\u003eiOSアプリを５分で作ろう！\u003c/a\u003e という記事を書いています。\u003c/p\u003e\n\u003ch1 id=\"何故頑張りすぎないか\"\u003e何故、頑張りすぎないか？\u003c/h1\u003e\n\u003cp\u003e「現場」のため。自分のため。健康のためです。あれ、理由が３つあるけど気にしない。\u003c/p\u003e\n\u003cp\u003e例えば、\u003ca href=\"http://kiroh.hateblo.jp/entry/2013/08/09/134507\"\u003eがんばるあなたがプロジェクトを殺す\u003c/a\u003e という話があります。みんなに頼りにされている彼。彼無しでは「現場」が回らない。もちろん彼もそう認識している。でも彼は体調を壊してしまう。「現場」も壊れてしまう。すぐに読めますので一度読んでみてください。\u003c/p\u003e\n\u003cp\u003e**これが怪談なのは、誰も悪意を持っていないところだ。彼はプロジェクトを助けるために働き、皆もそれに感謝した。結果、プロジェクトが破綻に近づいた。\u003c/p\u003e\n\u003cp\u003eまた、DevLove仙台では次のスライドにて、ソフトウェア開発データ白書を元に、開発の91%は受託開発でレガシーであるという話をしました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.slideshare.net/YamamotoMasaki/devlove20130309\"\u003eDevlove仙台20130309 レガシープロジェクト脱出大作戦\u003c/a\u003e ** from \u003cstrong\u003e\u003ca href=\"http://www.slideshare.net/YamamotoMasaki\"\u003eYamamoto Masaki\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eこのスライドで言いたかったことは、どうしようも無い「現場」からは逃げるしかない。ということです。逃げ出すために前振りとして、勉強やアウトプットするべきと書きました。\u003c/p\u003e\n\u003ch1 id=\"その現場はあなたの300人月を捧げる価値があるか\"\u003eその「現場」はあなたの300人月を捧げる価値があるか？\u003c/h1\u003e\n\u003cp\u003e@papanda さんの言葉によく出てくるのが「一生涯ソフトウェア開発たかだか300人月」です。人生はとても短い。\u003c/p\u003e\n\u003cp\u003eもちろん、「現場」から逃げるだけが正解じゃ無いと思います。私はパッションが重要だと考えています。\u003c/p\u003e\n\u003cp\u003eたとえば、「\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%D5%A5%A1%A5%A4%A5%CA%A5%EB%A5%D5%A5%A1%A5%F3%A5%BF%A5%B8%A1%BCXIV\"\u003eファイナルファンタジーXIV\u003c/a\u003e：\u003ca href=\"http://d.hatena.ne.jp/keyword/%BF%B7%C0%B8%A5%A8%A5%AA%A5%EB%A5%BC%A5%A2\"\u003e新生エオルゼア\u003c/a\u003e」。これが何故「新生」かというと旧版があまりにも酷く作り直したから\u003ca href=\"#f1\"\u003e*1\u003c/a\u003e。旧版は簡単に言うと企画は日本でやって、オフショア開発したらつまらないゲームが出来上がり、大コケしてしまった結果、旧版のプロデューサーは更迭されてしまいました。\u003c/p\u003e\n\u003cp\u003eその後、今のプロデューサーに変更後、彼のパッションによってオフショア開発のプログラムは\u003ca href=\"http://d.hatena.ne.jp/keyword/%C1%B4%CC%CC%C5%AA\"\u003e全面的\u003c/a\u003eに書き換えられ、まったくの別物である「新生」となりました。先日リリースされて\u003ca href=\"http://www.4gamer.net/games/199/G019924/20131025065/\"\u003e150万アカウントを超す大ヒットとなりました\u003c/a\u003e。\u003c/p\u003e\n\u003cp\u003eこのようにパッションあふれる「現場」のメンバー、もしくはリーダーとなれるのであれば、逃げたりせず踏ん張りどころだと思います。\u003c/p\u003e\n\u003cp\u003e逆に、もし、あなたの「現場」にそのようなパッションは存在せず、ただただ現状を呪う言葉しか出てこないのであれば、その「現場」から逃げることは選択肢の一つとして選んで良いと思います。\u003c/p\u003e\n\u003ch1 id=\"まとめ\"\u003eまとめ\u003c/h1\u003e\n\u003cp\u003e「一生涯ソフトウェア開発たかだか300人月」です。大事なことなので2回言いました。\u003c/p\u003e\n\u003cp\u003e今の「現場」で頑張りすぎていませんか？情熱を注げない「現場」に対して孤軍奮闘していないでしょうか？\u003ca href=\"http://d.hatena.ne.jp/keyword/%B9%D4%C6%B0%B7%D0%BA%D1%B3%D8\"\u003e行動経済学\u003c/a\u003eに\u003ca href=\"http://london3.jp/emotiva/emotion/theory/retention/\"\u003e保有効果\u003c/a\u003eというものがあります。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e保有効果とは、自分が所有するものに高い価値を感じ、手放すことに抵抗を感じさせる効果のことです。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e人間は一度手にしたものは手放しにくい生き物です\u003ca href=\"#f2\"\u003e*2\u003c/a\u003e。あなたが壊れてしまう前に「現場」から逃げ出すことも考えてみてください。\u003c/p\u003e\n\u003cp\u003eと、つらつらと偉そうに書いてみましたが、これは自戒でもありますｗ\u003c/p\u003e\n\u003cp\u003e頼りにされるとやっぱり頑張っちゃうよね。でもほどほどにね。今日は金曜日だし忘年会でも行って、ストレス発散しましょう。\u003c/p\u003e\n\u003cp\u003e明日は kurobara さんです。よろしくお願いします。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"#fn1\"\u003e*1\u003c/a\u003e:旧版については、\u003ca href=\"http://dic.nicovideo.jp/a/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%8A%E3%83%AB%E3%83%95%E3%82%A1%E3%83%B3%E3%82%BF%E3%82%B8%E3%83%BCxiv%28%E6%97%A7%E7%89%88%29\"\u003eニコニコ大百科：ファイナルファンタジーXIV(旧版)\u003c/a\u003eに詳しく載っています。\n\u003ca href=\"#fn2\"\u003e*2\u003c/a\u003e:\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A6%A5%A9%A1%BC%A5%BF%A1%BC%A5%B5%A1%BC%A5%D0%A1%BC\"\u003eウォーターサーバー\u003c/a\u003eとかレンタルモップが1週間無料とかやっているのは、この保有効果を狙っているから。無料期間が終了し、引き取りに来られると手放したくないと思ってしまい、そのまま継続してしまうことがある。\u003c/p\u003e\n\u003chr\u003e","title":"「現場」で頑張りすぎないたった一つの理由"},{"content":"この投稿は Windows Azure Advent Calendar 2013 の19日目の記事です。 前日は shosuz さんの Windows Azure Mobile Services 高度な設定について でした。\nWindows Azure モバイル・サービス はその名の通り、モバイルアプリケーションを開発するにあたって非常に便利なサービスです。\n稚拙ながら BuildInsider にて iOSアプリを５分で作ろう！ という記事を書いています。\n本当に５分で作れます。先日JAZUG仙台にて実演しました。無料で試せますので、是非皆様試していただければと思います。\nさて、今回はモバイル・サービスのパフォーマンス監視ということで、New Relic を紹介したいと思います。\nNew Relic とは レスポンスタイム 等の統計を収集して、New Relic のサイトにて見やすく表示してくれるサービスです。モバイル・サービスだけでは無く、.NET アプリケーション や、Ruby, Node.js 等の様々な言語に対応しています。\nインストール方法 Use New Relic to monitor Mobile Servicesを参考に設定していきます。残念ながら今は英語のみのようですので、見出しに沿って補足していきます。\nWindows Azure ストア から New Relic を契約する(Sign up for New Relic using the Windows Azure Store) Windows Azure ポータル から Windows Azure ストア を表示し、 New Relic を追加します。\nf:id:nnasaki:20131217034155p:plain f:id:nnasaki:20131217034407p:plain f:id:nnasaki:20131217034722p:plain f:id:nnasaki:20131217035054p:plain アドオンに表示されるようになります。\nf:id:nnasaki:20131217035317p:plain New Relic モジュールをインストールする(Install the New Relic module) インストールするためには、git を有効にしておくことと、Node.js をインストールする必要があります。\ngit の有効化は Store server scripts in source control を参照してください。詳細は今回の趣旨と外れるので省略します。（日本語の情報はいずれ記事にする予定です）\nNode.js のインストールについては、http://nodejs.org/ から [Install] をクリックするとインストーラーがダウンロードできる。\nNew Relic は次のコマンドを実行して、モジュールを追加します。hogehoge の部分は適当ですので環境に合わせて変えてください。 重要なのは service ディレクトリにて npm を追加することです。\n`git clone http://hogehoge cd hogehoge/service npm install newrelic git add . git commit –m \u0026#34;added newrelic module\u0026#34; git push origin master ` ローカルの git リポジトリは次のディレクトリ構成になります。\n. └── service ├── api ├── node_modules ├── scheduler ├── shared └── table 管理ポータルにて New Relic を有効にする(Enable New Relic developer analytics for the mobile service) ここは原文の通りに Windows Azure 管理ポータル から、先ほどストアで購入した New Relic を有効にするだけです。次のようになっていれば良いです。\nf:id:nnasaki:20131217041546p:plain New Relic のダッシュボードを確認する(Monitor the mobile service in the New Relic dashboard) Windows Azure 管理ポータル の アドオン から、New Relic のダッシュボードにアクセスできます。ダッシュボードは Windows Azure 管理ポータル外の New Relic のWebサイトになりますが、クリックするだけでシングルサインオン出来ます。\nf:id:nnasaki:20131219205321p:plain 最初は次のように何も表示されません。\nf:id:nnasaki:20131217043315p:plain サンプルアプリにデータを追加したり、表示を更新したりガチャガチャいじってみましょう。\nf:id:nnasaki:20131217043952p:plain 操作しているうちにログが増えてグラフが更新されていきます。大体処理時間が 40 ms と非常に高速です。\nf:id:nnasaki:20131217044715p:plain get, post, patch と各操作ごとの詳細を見ることが出来ます。\nf:id:nnasaki:20131217045042p:plain f:id:nnasaki:20131217045230p:plain f:id:nnasaki:20131217045313p:plain f:id:nnasaki:20131217045410p:plain ベンチマークをしてみる これだけじゃつまらないので、モバイル・サービスに負荷をかけてみます。今回は Load Impact という負荷テストをしてくれるWebサービスを利用しました。\nまず、モバイル・サービスのTableの設定で、GET を誰でも出来るようにします。\nf:id:nnasaki:20131217055304p:plain ブラウザにて https://hogehoge.azure-mobile.net/tables/TodoItem を入力して、表示されるか確認します。次のようにJSONで値が表示されれば問題ありません。\nf:id:nnasaki:20131217055712p:plain loadimpact にて、https://hogehoge.azure-mobile.net/tables/TodoItemを入力してテストをします。設定等は適当にAWSのEC2東京から計測してみました。\nf:id:nnasaki:20131217060217p:plain 画像には表示されていないですが、レスポンスタイムの平均は293.72msでした。ちょっと遅いですね。日本リージョンが出来るとかなり改善されると思います。テストの詳細はこちらから確認出来ます。\nNew Relic のほうは、max 433 rpm, avg 88.0 rpmで、処理時間も avg 9.43ms と結構裁けています。\nf:id:nnasaki:20131217060918p:plain ちなみに、Windows Azure 管理ポータル のダッシュボードは次のようになっていました。あまりベンチマークやりすぎると無料枠を超えてしまうので注意しましょう。\nf:id:nnasaki:20131217061938p:plain まとめ New Relic を使用することで、どのAPIがいつ・どれぐらいの使われていて、どのくらい速度が出ているか？等の情報が簡単に取得できます。 今回ご紹介した内容はすべて無料で試せますので、是非トライしてみてください！\n明日は papeMK2 さんです。\n","permalink":"/entry/2013/12/19/202045/","summary":"\u003cp\u003eこの投稿は \u003ca href=\"http://qiita.com/advent-calendar/2013/azure\"\u003eWindows Azure Advent Calendar 2013\u003c/a\u003e の19日目の記事です。\n前日は \u003ca href=\"http://qiita.com/shosuz\"\u003eshosuz\u003c/a\u003e さんの \u003ca href=\"http://blogs.msdn.com/b/shosuz/archive/2013/12/19/windows-azure-mobile-services-windows-azure-advent-calender-2013.aspx\"\u003eWindows Azure Mobile Services 高度な設定について\u003c/a\u003e でした。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%20Azure\"\u003eWindows Azure\u003c/a\u003e モバイル・サービス はその名の通り、モバイルアプリケーションを開発するにあたって非常に便利なサービスです。\u003c/p\u003e\n\u003cp\u003e稚拙ながら \u003ca href=\"http://www.buildinsider.net/\"\u003eBuildInsider\u003c/a\u003e にて \u003ca href=\"http://www.buildinsider.net/web/azuremobilesvc/01\"\u003eiOSアプリを５分で作ろう！\u003c/a\u003e という記事を書いています。\u003c/p\u003e\n\u003cp\u003e本当に５分で作れます。先日JAZUG仙台にて実演しました。無料で試せますので、是非皆様試していただければと思います。\u003c/p\u003e\n\u003cp\u003eさて、今回はモバイル・サービスのパフォーマンス監視ということで、New Relic を紹介したいと思います。\u003c/p\u003e\n\u003ch1 id=\"new-relic-とは\"\u003eNew Relic とは\u003c/h1\u003e\n\u003cp\u003eレスポンスタイム 等の統計を収集して、New Relic のサイトにて見やすく表示してくれるサービスです。モバイル・サービスだけでは無く、.NET アプリケーション や、\u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003e, Node.js 等の様々な言語に対応しています。\u003c/p\u003e\n\u003ch2 id=\"インストール方法\"\u003eインストール方法\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://www.windowsazure.com/en-us/develop/mobile/tutorials/monitor-with-new-relic/?fb=ja-jp\"\u003eUse New Relic to monitor Mobile Services\u003c/a\u003eを参考に設定していきます。残念ながら今は英語のみのようですので、見出しに沿って補足していきます。\u003c/p\u003e\n\u003ch3 id=\"windows-azure-ストア-から-new-relic-を契約するsign-up-for-new-relic-using-the-windows-azure-store\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%20Azure\"\u003eWindows Azure\u003c/a\u003e ストア から New Relic を契約する(Sign up for New Relic using the \u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%20Azure\"\u003eWindows Azure\u003c/a\u003e Store)\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%20Azure\"\u003eWindows Azure\u003c/a\u003e ポータル から \u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%20Azure\"\u003eWindows Azure\u003c/a\u003e ストア を表示し、 New Relic を追加します。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20131217/20131217034155.png\" alt=\"f:id:nnasaki:20131217034155p:plain\" title=\"f:id:nnasaki:20131217034155p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20131217034155p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20131217/20131217034407.png\" alt=\"f:id:nnasaki:20131217034407p:plain\" title=\"f:id:nnasaki:20131217034407p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20131217034407p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20131217/20131217034722.png\" alt=\"f:id:nnasaki:20131217034722p:plain\" title=\"f:id:nnasaki:20131217034722p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20131217034722p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20131217/20131217035054.png\" alt=\"f:id:nnasaki:20131217035054p:plain\" title=\"f:id:nnasaki:20131217035054p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20131217035054p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eアドオンに表示されるようになります。\u003c/p\u003e","title":"Windows Azure モバイル・サービスでパフォーマンス監視なら NewRelic がオススメ"},{"content":"この投稿は IntelliJ IDEA Advent Calendar 2013 の12日目の記事です。 前日は Vexus2 さんの IntelliJ IDEAのプラグインを作ろう！ でした。\n某いまいさんに洗脳影響をうけて、IntelliJ を去年あたりから使い始めています。\nさて、突然ですが皆さん、プログラム用フォント Ricty をご存じでしょうか？\n主に次の特徴があり、プログラマーが視認しやすい文字になっております。\n半濁音（パピプペポ）と濁音（バビブベボ）が大きく表示される 記号等に独自の改良がされている 百聞は一見にしかずということで、次のスクリーンショットをごらんください。\nf:id:nnasaki:20131212065856p:plain このように Mac では、とても見やすいフォントとなっています。\nですが、Windows では次のスクリーンショットのように、全角文字が途切れた表示になってしまいます。\nf:id:nnasaki:20131212065918p:plain しかし！ MacType というソフトを使用することで、次のスクリーンショットのように綺麗に表示することができます！\nf:id:nnasaki:20131212065936p:plain 私が導入した手順は以下の通りです。\nRicty フォントを生成する。私はRictyフォントをWindowsで生成する（2012年7月03日版）を見ながら生成しました。バッチを叩いて15分ぐらいかかった気がします。 MacTypeを導入する。https://code.google.com/p/mactype/downloads/list からインストールします。 MacType を設定する。スタートメニューから「MacType Tray」を開いて、ウイザード右上の独立モードを選択します。 MacType のプロファイルを設定する。私の設定は「FT Opt」です。ちょっとぼやける感じもしますが、なんとなく Mac ぽくなります。 それでは皆さん、良い IntelliJ + Ricty ライフを！\n明日は gd_yasu さんです。\n","permalink":"/entry/2013/12/12/070825/","summary":"\u003cp\u003eこの投稿は \u003ca href=\"http://qiita.com/advent-calendar/2013/intellij\"\u003eIntelliJ IDEA Advent Calendar 2013\u003c/a\u003e の12日目の記事です。\n前日は \u003ca href=\"http://qiita.com/Vexus2\"\u003eVexus2\u003c/a\u003e さんの \u003ca href=\"http://qiita.com/Vexus2/items/e04a21f00e467b7ac8ad\"\u003eIntelliJ IDEAのプラグインを作ろう！\u003c/a\u003e でした。\u003c/p\u003e\n\u003cp\u003e某いまいさんに洗脳影響をうけて、\u003ca href=\"http://d.hatena.ne.jp/keyword/IntelliJ\"\u003eIntelliJ\u003c/a\u003e を去年あたりから使い始めています。\u003c/p\u003e\n\u003cp\u003eさて、突然ですが皆さん、\u003ca href=\"http://save.sys.t.u-tokyo.ac.jp/~yusa/fonts/ricty.html\"\u003eプログラム用フォント Ricty\u003c/a\u003e をご存じでしょうか？\u003c/p\u003e\n\u003cp\u003e主に次の特徴があり、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DE\"\u003eプログラマ\u003c/a\u003eーが視認しやすい文字になっております。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e半濁音（パピプペポ）と濁音（バビブベボ）が大きく表示される\u003c/li\u003e\n\u003cli\u003e記号等に独自の改良がされている\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e百聞は一見にしかずということで、次の\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%B9%A5%AF%A5%EA%A1%BC%A5%F3%A5%B7%A5%E7%A5%C3%A5%C8\"\u003eスクリーンショット\u003c/a\u003eをごらんください。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20131212/20131212065856.png\" alt=\"f:id:nnasaki:20131212065856p:plain\" title=\"f:id:nnasaki:20131212065856p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20131212065856p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eこのように Mac では、とても見やすいフォントとなっています。\u003c/p\u003e\n\u003cp\u003eですが、Windows では次の\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%B9%A5%AF%A5%EA%A1%BC%A5%F3%A5%B7%A5%E7%A5%C3%A5%C8\"\u003eスクリーンショット\u003c/a\u003eのように、全角文字が途切れた表示になってしまいます。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20131212/20131212065918.png\" alt=\"f:id:nnasaki:20131212065918p:plain\" title=\"f:id:nnasaki:20131212065918p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20131212065918p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eしかし！ MacType というソフトを使用することで、次の\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%B9%A5%AF%A5%EA%A1%BC%A5%F3%A5%B7%A5%E7%A5%C3%A5%C8\"\u003eスクリーンショット\u003c/a\u003eのように綺麗に表示することができます！\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20131212/20131212065936.png\" alt=\"f:id:nnasaki:20131212065936p:plain\" title=\"f:id:nnasaki:20131212065936p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20131212065936p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e私が導入した手順は以下の通りです。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRicty フォントを生成する。私は\u003ca href=\"http://d.hatena.ne.jp/itouhiro/20120703\"\u003eRictyフォントをWindowsで生成する（2012年7月03日版）\u003c/a\u003eを見ながら生成しました。バッチを叩いて15分ぐらいかかった気がします。\u003c/li\u003e\n\u003cli\u003eMacTypeを導入する。\u003ca href=\"https://code.google.com/p/mactype/downloads/list\"\u003ehttps://code.google.com/p/mactype/downloads/list\u003c/a\u003e からインストールします。\u003c/li\u003e\n\u003cli\u003eMacType を設定する。スタートメニューから「MacType Tray」を開いて、ウイザード右上の独立モードを選択します。\u003c/li\u003e\n\u003cli\u003eMacType のプロファイルを設定する。私の設定は「FT Opt」です。ちょっとぼやける感じもしますが、なんとなく Mac ぽくなります。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eそれでは皆さん、良い \u003ca href=\"http://d.hatena.ne.jp/keyword/IntelliJ\"\u003eIntelliJ\u003c/a\u003e + Ricty ライフを！\u003c/p\u003e\n\u003cp\u003e明日は \u003ca href=\"http://qiita.com/gd_yasu\"\u003egd_yasu\u003c/a\u003e さんです。\u003c/p\u003e\n\u003chr\u003e","title":"IntelliJ Windows 版で Ricty フォントを使いたい！"},{"content":" 募集ページ #tddbc Togetterまとめ 昨年は主催しましたが、今回はTAとして参加しました。一応名目上は今年の主催者である @135yshr さんの補助をするという立場だったけど、ほとんどなんもしていない。\n結論からいえば、開催して本当に良かったなと思う。皆さんにも楽しんでいただけたようで嬉しい。昨年の悪い点は今回で大分改善出来たかなと思いました。\nお題が良かった 昨年は自動販売機でしたが、若干作りにくい印象がありました。一見するとこの問題は誰もが使ったことがあるものなのでとても作りやすいように見えますが、お金を投入した状態を保持する「状態」を扱うテストが必要だったり、お釣りや商品を排出するという「出力」をどう扱うか悩んだり、なにより自動販売機という豊富な機能がイメージとしてあるので、先のことまで考えて壮大な設計を最初から考えてしまい、TDDの肝である「１つずつ少しずつ」が出来ないことがありました。\nなので今年はTDDのお題として有名な「Range」に @i_takehiro さんがアレンジを加えて「整数の区間」というのを作りました。 今は課題８まで見られますが、当日は課題１・課題２と小出しにしていくことで、参加者が「１つずつ少しずつ」を実践できるようにしました。 ただ、「ジョウタンテン」とか「クカン」とか「カタンテン」とか数学的な要素が若干強いので、課題１の途中までをペアプロデモを行うことと、用語集を用意して参加者の人が概念を理解できるように配慮しました。\nTDDBC はテスト駆動開発を「体験する場」なので、今回はその体験が最良となるように最適化を行い、結果成功したと言えるのかなと思います。\nお弁当良かった 昨年はペア決め後はお弁当は特に用意せず、自由行動としていました。その結果、各ペア間の溝が埋まり切らなかったかなと感じていました。 今年はお弁当を用意して、お昼時間もペアの方と過ごしていただくようにしました。また、アイスブレイクと手書きのポジションペーパーを用意してお互いの親睦を深めていただくようにしました。ここらへんは、今年の主催者である @135yshr さんの手腕のおかげだと思います。\n会場良かった 昨年は貸し会議室を借りたんですが、プロジェクターの色味がおかしかったり、会場費のせいで収支が悪化してしまいました。 今年はデータコム株式会社様のご協力でとても良い会場を無償で提供していただき、大変助かりました。\nレビュー良かった @i_takehiro さんのマサカリが冴えまくってて、手が上がるたびに会場全体がカイジばりに「ザワザワ」してました。こんなレビューワが自分のプロジェクトにいると怖い心強いなぁと思いました。\n懇親会良かった データコム株式会社様の会場をそのままお借りしてビアバッシュを行いました。昨年の懇親会参加はほぼTAだけとなってしまいましたが、今年はビアバッシュで懇親会費を抑えたおかげか参加者もほぼ全員でした。 懇親会の中で前日にLT希望書を募ったのにもかかわらず、飛び入りを含めると７人ぐらい発表されまして、居酒屋でただしゃべるよりもとても内容が濃かったと思いました。\nまとめ 去年良くなかった点が今年はカイゼンできたというのが本当に良かった。来年もまた開催できるよう、運営側としてお手伝いしていければと思っています。\nEXCERPT: 募集ページ #tddbc Togetterまとめ 昨年は主催しましたが、今回はTAとして参加しました。一応名目上は今年の主催者である @135yshr さんの補助をするという立場だったけど、ほとんどなんもしていない。 結論からいえば、開催して本当に良かったなと思う。皆さんにも楽しんでいただけたようで嬉しい。昨年の悪い点は今回で大分改善出来たかなと思いました。 お題が良かった 昨年は自動販売機でしたが、若干作りにくい印象がありました。一見するとこの問題は誰もが使ったことがあるものなのでとても作りやすいように見えますが、お金を投入した状態を保持する「状態」を扱うテストが必要だったり、お釣りや商品… ","permalink":"/entry/2013/10/13/220104/","summary":"\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://tddbc.doorkeeper.jp/events/6148\"\u003e募集ページ\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://togetter.com/li/576125\"\u003e#tddbc Togetterまとめ\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e昨年は主催しましたが、今回はTAとして参加しました。一応名目上は今年の主催者である @135yshr さんの補助をするという立場だったけど、ほとんどなんもしていない。\u003c/p\u003e\n\u003cp\u003e結論からいえば、開催して本当に良かったなと思う。皆さんにも楽しんでいただけたようで嬉しい。昨年の悪い点は今回で大分改善出来たかなと思いました。\u003c/p\u003e\n\u003ch3 id=\"お題が良かった\"\u003eお題が良かった\u003c/h3\u003e\n\u003cp\u003e昨年は自動販売機でしたが、若干作りにくい印象がありました。一見するとこの問題は誰もが使ったことがあるものなのでとても作りやすいように見えますが、お金を投入した状態を保持する「状態」を扱うテストが必要だったり、お釣りや商品を排出するという「出力」をどう扱うか悩んだり、なにより自動販売機という豊富な機能がイメージとしてあるので、先のことまで考えて壮大な設計を最初から考えてしまい、TDDの肝である「１つずつ少しずつ」が出来ないことがありました。\u003c/p\u003e\n\u003cp\u003eなので今年はTDDのお題として有名な「Range」に @i_takehiro さんがアレンジを加えて「\u003ca href=\"http://devtesting.jp/tddbc/?TDDBC%E4%BB%99%E5%8F%B003%2F%E8%AA%B2%E9%A1%8C\"\u003e整数の区間\u003c/a\u003e」というのを作りました。\n今は課題８まで見られますが、当日は課題１・課題２と小出しにしていくことで、参加者が「１つずつ少しずつ」を実践できるようにしました。\nただ、「ジョウタンテン」とか「クカン」とか「\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AB%A5%BF%A5%F3\"\u003eカタン\u003c/a\u003eテン」とか数学的な要素が若干強いので、課題１の途中までを\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DA%A5%A2%A5%D7%A5%ED\"\u003eペアプロ\u003c/a\u003eデモを行うことと、\u003ca href=\"http://devtesting.jp/tddbc/?TDDBC%E4%BB%99%E5%8F%B003%2F%E8%AA%B2%E9%A1%8C%E7%94%A8%E8%AA%9E%E9%9B%86\"\u003e用語集\u003c/a\u003eを用意して参加者の人が概念を理解できるように配慮しました。\u003c/p\u003e\n\u003cp\u003eTDDBC は\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C6%A5%B9%A5%C8%B6%EE%C6%B0%B3%AB%C8%AF\"\u003eテスト駆動開発\u003c/a\u003eを「体験する場」なので、今回はその体験が最良となるように最適化を行い、結果成功したと言えるのかなと思います。\u003c/p\u003e\n\u003ch3 id=\"お弁当良かった\"\u003eお弁当良かった\u003c/h3\u003e\n\u003cp\u003e昨年はペア決め後はお弁当は特に用意せず、自由行動としていました。その結果、各ペア間の溝が埋まり切らなかったかなと感じていました。\n今年はお弁当を用意して、お昼時間もペアの方と過ごしていただくようにしました。また、アイスブレイクと手書きの\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DD%A5%B8%A5%B7%A5%E7%A5%F3%A5%DA%A1%BC%A5%D1%A1%BC\"\u003eポジションペーパー\u003c/a\u003eを用意してお互いの親睦を深めていただくようにしました。ここらへんは、今年の主催者である @135yshr さんの手腕のおかげだと思います。\u003c/p\u003e\n\u003ch3 id=\"会場良かった\"\u003e会場良かった\u003c/h3\u003e\n\u003cp\u003e昨年は貸し会議室を借りたんですが、プロジェクターの色味がおかしかったり、会場費のせいで収支が悪化してしまいました。\n今年はデータコム株式会社様のご協力でとても良い会場を無償で提供していただき、大変助かりました。\u003c/p\u003e\n\u003ch3 id=\"レビュー良かった\"\u003eレビュー良かった\u003c/h3\u003e\n\u003cp\u003e@i_takehiro さんのマサカリが冴えまくってて、手が上がるたびに会場全体がカイジばりに「ザワザワ」してました。こんなレビューワが自分のプロジェクトにいると怖い心強いなぁと思いました。\u003c/p\u003e\n\u003ch3 id=\"懇親会良かった\"\u003e懇親会良かった\u003c/h3\u003e\n\u003cp\u003eデータコム株式会社様の会場をそのままお借りしてビアバッシュを行いました。昨年の懇親会参加はほぼTAだけとなってしまいましたが、今年はビアバッシュで懇親会費を抑えたおかげか参加者もほぼ全員でした。\n懇親会の中で前日にLT希望書を募ったのにもかかわらず、飛び入りを含めると７人ぐらい発表されまして、居酒屋でただしゃべるよりもとても内容が濃かったと思いました。\u003c/p\u003e\n\u003ch3 id=\"まとめ\"\u003eまとめ\u003c/h3\u003e\n\u003cp\u003e去年良くなかった点が今年はカイゼンできたというのが本当に良かった。来年もまた開催できるよう、運営側としてお手伝いしていければと思っています。\u003c/p\u003e\n\u003chr\u003e\n\u003ch2 id=\"募集ページ-tddbc-togetterまとめ-昨年は主催しましたが今回はtaとして参加しました一応名目上は今年の主催者である-135yshr-さんの補助をするという立場だったけどほとんどなんもしていない-結論からいえば開催して本当に良かったなと思う皆さんにも楽しんでいただけたようで嬉しい昨年の悪い点は今回で大分改善出来たかなと思いました-お題が良かった-昨年は自動販売機でしたが若干作りにくい印象がありました一見するとこの問題は誰もが使ったことがあるものなのでとても作りやすいように見えますがお金を投入した状態を保持する状態を扱うテストが必要だったりお釣りや商品\"\u003eEXCERPT:\n募集ページ #tddbc Togetterまとめ 昨年は主催しましたが、今回はTAとして参加しました。一応名目上は今年の主催者である @135yshr さんの補助をするという立場だったけど、ほとんどなんもしていない。 結論からいえば、開催して本当に良かったなと思う。皆さんにも楽しんでいただけたようで嬉しい。昨年の悪い点は今回で大分改善出来たかなと思いました。 お題が良かった 昨年は自動販売機でしたが、若干作りにくい印象がありました。一見するとこの問題は誰もが使ったことがあるものなのでとても作りやすいように見えますが、お金を投入した状態を保持する「状態」を扱うテストが必要だったり、お釣りや商品…\u003c/h2\u003e","title":"TDDBC 仙台 The 3rd に参加しました。 #tddbc"},{"content":"モバイルサービスのサーバーロジックのテストをしようとした場合、モバイルサービスのモジュールは公開されていないのでローカル環境でテストが出来ない。\nなのでモック使おうと思ってもそんなのは公開されておらず、絶望しつつなんとなくBuild 2013 のセッションを眺めてたら、 Going Live and Beyond with Windows Azure Mobile Services | Build 2013 | Channel 9で zumock というので出来るらしいと紹介されてた。んでも、ぐぐっても見当たらない。\nセッションの発表者である @paulbatum さんに twitter で聞いてみたら、今バケーション中だからもう少し待っててとのこと。こんな風に簡単に聞ける時代は本当にスゴイ。\nということで、そのうちモバイルサービスでも TDD ができそうですので、公開され次第 blog か 記事(ステマ)で紹介したいと思います。\n","permalink":"/entry/2013/08/05/004714/","summary":"\u003cp\u003eモバイルサービスのサーバーロジックのテストをしようとした場合、モバイルサービスのモジュールは公開されていないのでローカル環境でテストが出来ない。\u003c/p\u003e\n\u003cp\u003eなのでモック使おうと思ってもそんなのは公開されておらず、絶望しつつなんとなくBuild 2013 のセッションを眺めてたら、\n\u003ca href=\"http://channel9.msdn.com/Events/Build/2013/3-511\"\u003eGoing Live and Beyond with Windows Azure Mobile Services | Build 2013 | Channel 9\u003c/a\u003eで zumock というので出来るらしいと紹介されてた。んでも、ぐぐっても見当たらない。\u003c/p\u003e\n\u003cp\u003eセッションの発表者である @paulbatum さんに \u003ca href=\"http://d.hatena.ne.jp/keyword/twitter\"\u003etwitter\u003c/a\u003e で聞いてみたら、今バケーション中だからもう少し待っててとのこと。こんな風に簡単に聞ける時代は本当にスゴイ。\u003c/p\u003e\n\u003cp\u003eということで、そのうちモバイルサービスでも TDD ができそうですので、公開され次第 blog か \u003ca href=\"http://www.buildinsider.net/web/azuremobilesvc/01\"\u003e記事\u003c/a\u003e(ステマ)で紹介したいと思います。\u003c/p\u003e\n\u003chr\u003e","title":"Windows Azure モバイルサービスのテスト方法（予告）"},{"content":"前回はTime Capsuleで快適になったと書きましたが、1点だけ共有フォルダが Windows から参照できず困ってました。\nTime Capsule の共有設定が、装置パスワードになっていたので、アカウントに切り替えたらなんとファイルが空っぽに見えてしまい超焦りました！\n慌てて装置パスワードに戻したら復元してくれて、ヤレヤレという感じでしばらく放置してました。\nで、今朝共有フォルダをみたら、「Shared」と「Users」という見慣れないフォルダが出来ていました。\nもしやと思って「Shared」にファイルを突っ込んで、再度アカウントに切り替えたところ無事にファイルも表示され、WIndows からも見られました！\nまとめると、Time Capsule のファイルを Windows から見るためには「アカウント」に設定する必要があります。もし、デフォルトの「装置パスワード」から変更する場合は、「Shared」というフォルダにファイルを移動させる必要があります。\nこれで、Windows のバックアップも Time Capsule に突っ込めるので本当に良くなったわー。\n","permalink":"/entry/2013/08/02/062009/","summary":"\u003cp\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/2013/06/18/230407\"\u003e前回はTime Capsuleで快適になった\u003c/a\u003eと書きましたが、1点だけ共有フォルダが Windows から参照できず困ってました。\u003c/p\u003e\n\u003cp\u003eTime \u003ca href=\"http://d.hatena.ne.jp/keyword/Capsule\"\u003eCapsule\u003c/a\u003e の共有設定が、装置パスワードになっていたので、アカウントに切り替えたらなんとファイルが空っぽに見えてしまい超焦りました！\u003c/p\u003e\n\u003cp\u003e慌てて装置パスワードに戻したら復元してくれて、ヤレヤレという感じでしばらく放置してました。\u003c/p\u003e\n\u003cp\u003eで、今朝共有フォルダをみたら、「Shared」と「Users」という見慣れないフォルダが出来ていました。\u003c/p\u003e\n\u003cp\u003eもしやと思って「Shared」にファイルを突っ込んで、再度アカウントに切り替えたところ無事にファイルも表示され、WIndows からも見られました！\u003c/p\u003e\n\u003cp\u003eまとめると、Time \u003ca href=\"http://d.hatena.ne.jp/keyword/Capsule\"\u003eCapsule\u003c/a\u003e のファイルを Windows から見るためには「アカウント」に設定する必要があります。もし、デフォルトの「装置パスワード」から変更する場合は、「Shared」というフォルダにファイルを移動させる必要があります。\u003c/p\u003e\n\u003cp\u003eこれで、Windows のバックアップも Time \u003ca href=\"http://d.hatena.ne.jp/keyword/Capsule\"\u003eCapsule\u003c/a\u003e に突っ込めるので本当に良くなったわー。\u003c/p\u003e\n\u003chr\u003e","title":"Time Capsule の共有フォルダを Windows から見ようとしてハマッタ"},{"content":"AirMac Time Capsuleを買いました。今回買った理由は3点。\nauひかりを利用していてＨＧＷ内蔵無線ＬＡＮ親機機能使用料というのが毎月400円とられているので、節約したかった。 どうせ無線LANルーター買うなら、802.11acに対応しているのが良い。 以前から Time Machine のバックアップに苦しめられていた（Bitcasa に TimeMachine でバックアップはうまくいかなかったとかまたまた外付け HDD の Time Machine パーティションが壊れた）ので、NAS の機能が欲しかった。 Time Capsule のUSBに、今まで使用していた外付けHDDを接続。これだけで普通にNASとして使える。Time Machine の機能はもちろん内蔵のHDDへ。\n今までの苦労は何だったんだろうっていう感じ。外付けHDDの煩わしいUSB接続や電源のオンオフも不要で常時つけっぱなし。サスペンドから復帰時のマウントエラーもなし。やっぱりAppleは純正に限りますなぁ。\n","permalink":"/entry/2013/06/18/230407/","summary":"\u003cp\u003e\u003ca href=\"http://www.apple.com/jp/airmac-time-capsule/\"\u003eAirMac Time Capsule\u003c/a\u003eを買いました。今回買った理由は3点。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eauひかりを利用していてＨＧＷ内蔵無線ＬＡＮ親機機能使用料というのが毎月400円とられているので、節約したかった。\u003c/li\u003e\n\u003cli\u003eどうせ\u003ca href=\"http://d.hatena.ne.jp/keyword/%CC%B5%C0%FELAN\"\u003e無線LAN\u003c/a\u003eルーター買うなら、802.11acに対応しているのが良い。\u003c/li\u003e\n\u003cli\u003e以前から Time Machine のバックアップに苦しめられていた（\u003ca href=\"http://nnasaki.hatenablog.com/entry/2013/04/15/004647\"\u003eBitcasa に TimeMachine でバックアップはうまくいかなかった\u003c/a\u003eとか\u003ca href=\"http://nnasaki.hatenablog.com/entry/2012/08/07/015916\"\u003eまたまた外付け HDD の Time Machine パーティションが壊れた\u003c/a\u003e）ので、\u003ca href=\"http://d.hatena.ne.jp/keyword/NAS\"\u003eNAS\u003c/a\u003e の機能が欲しかった。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTime \u003ca href=\"http://d.hatena.ne.jp/keyword/Capsule\"\u003eCapsule\u003c/a\u003e のUSBに、今まで使用していた外付けHDDを接続。これだけで普通に\u003ca href=\"http://d.hatena.ne.jp/keyword/NAS\"\u003eNAS\u003c/a\u003eとして使える。Time Machine の機能はもちろん内蔵のHDDへ。\u003c/p\u003e\n\u003cp\u003e今までの苦労は何だったんだろうっていう感じ。外付けHDDの煩わしいUSB接続や電源のオンオフも不要で常時つけっぱなし。\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%B5%A5%B9%A5%DA%A5%F3%A5%C9\"\u003eサスペンド\u003c/a\u003eから復帰時のマウントエラーもなし。やっぱり\u003ca href=\"http://d.hatena.ne.jp/keyword/Apple\"\u003eApple\u003c/a\u003eは純正に限りますなぁ。\u003c/p\u003e\n\u003chr\u003e","title":"AirMac Time Capsule を買ったら超快適になった"},{"content":" npmの場所 README (GitHub) これは何？ Windows Azure Command-Line Tools for Mac and Linux (Linux)を普段使用しているんですが、入力補完が効かないのでイライラしてました。\nで、対するAWSさんはというと入力補完できるじゃないですか！(via AWS Command Line Tool Python版 ｜ Developers.IO)\nということで、Azure 版作ってみました。azure-cli があるなら node.js がはいっているでしょということで、node.js です。\n初めて npm に登録したのでうまく出来ているか若干不安。インストールがうまくいったとか出来なかったという人は @nnasaki までご連絡いただければ幸いです。\nまた、今のところ bash 限定で zsh は対応中です。(依存しているライブラリが対応していないかもしれないので、ちょっと手こずるかも…)\nえ？ Windows 版？ PowerShell があるでしょ！\nサンプル 以下のような感じで通常の補完のように[tab]キーでどんどんコマンドの補完が出てきます。\n`$ azure[tab] account help portal service sql config mobile sb site vm $ azure m[tab] $ azure mobile[tab] onfig data job list log scale show create delete key locations restart script table ` インストール方法 README (GitHub) に記載してありますが、慣れない英語なので日本語で注意点も含めて記載しておきます。\nnpmでパッケージをインストールします。\n`npm install azure-completion -g ` 以下コマンドを順番に実行する必要があります。\n`comp-azure --install \u0026gt;\u0026gt; ~/.bash_profile comp-azure sed -i -e \u0026#39;s/(azure/(comp-azure/\u0026#39; ~/.node-completion/azure source ~/.node-completion/azure ` もしエラーになった場合は、~/.node-completion/azureが存在するか確認してください。comp-azure を一度実行しないとどうやら作成されないようです。\n後、再現性が無かったんですが一度だけ~/.node-completion/azure-e が作成されてしまったことがあります。もしなってしまった場合は~/.node-completion/azureにリネームして sed 以降をやり直してみてください。\n今後について いろいろと充実させていきたいです。要望等あればお気軽に @nnasaki にメンションか Github の Issues までご連絡ください！\nzsh の対応 コマンド補完が無くなると \u0026ldquo;-h\u0026rdquo; が出続けてカッコ悪いの直す コマンド補完リスト作成のタンポポワークを自動化する azure vm --json | egrep '^\\s+vm' | awk -F\u0026quot; \u0026quot; '{print $2\u0026quot;: {}, \u0026quot;}' | uniq とかやって、コピペで作ってるので効率が悪いんですよ…\nテスト追加 ","permalink":"/entry/2013/06/09/055633/","summary":"\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://npmjs.org/package/azure-completion\"\u003enpmの場所\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nnasaki/azure-completion\"\u003eREADME (GitHub)\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"これは何\"\u003eこれは何？\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://www.windowsazure.com/en-us/manage/linux/other-resources/command-line-tools/\"\u003eWindows Azure Command-Line Tools for Mac and Linux (Linux)\u003c/a\u003eを普段使用しているんですが、入力補完が効かないのでイライラしてました。\u003c/p\u003e\n\u003cp\u003eで、対するAWSさんはというと入力補完できるじゃないですか！(via \u003ca href=\"http://dev.classmethod.jp/cloud/aws-command-line-tool-python/\"\u003eAWS Command Line Tool Python版 ｜ Developers.IO\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eということで、Azure 版作ってみました。azure-cli があるなら node.js がはいっているでしょということで、node.js です。\u003c/p\u003e\n\u003cp\u003e初めて npm に登録したのでうまく出来ているか若干不安。インストールがうまくいったとか出来なかったという人は @nnasaki までご連絡いただければ幸いです。\u003c/p\u003e\n\u003cp\u003eまた、今のところ \u003ca href=\"http://d.hatena.ne.jp/keyword/bash\"\u003ebash\u003c/a\u003e 限定で \u003ca href=\"http://d.hatena.ne.jp/keyword/zsh\"\u003ezsh\u003c/a\u003e は対応中です。(依存しているライブラリが対応していないかもしれないので、ちょっと手こずるかも…)\u003c/p\u003e\n\u003cp\u003eえ？ Windows 版？ \u003ca href=\"http://wappowershell.codeplex.com/\"\u003ePowerShell\u003c/a\u003e があるでしょ！\u003c/p\u003e\n\u003ch2 id=\"サンプル\"\u003eサンプル\u003c/h2\u003e\n\u003cp\u003e以下のような感じで通常の補完のように[tab]キーでどんどんコマンドの補完が出てきます。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`$ azure[tab]\naccount  help     portal   service  sql\nconfig   mobile   sb       site     vm\n\n$ azure m[tab]\n$ azure mobile[tab]\nonfig     data       job        list       log        scale      show\ncreate     delete     key        locations  restart    script     table\n`\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"インストール方法\"\u003eインストール方法\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/nnasaki/azure-completion\"\u003eREADME (GitHub)\u003c/a\u003e\nに記載してありますが、慣れない英語なので日本語で注意点も含めて記載しておきます。\u003c/p\u003e","title":"azure-completion を npm で公開しました #jazug #azurejp"},{"content":"しまった写真取り忘れてた。\nTogetter まとめ JaSSTソフトウェアテストシンポジウム-JaSST'13 Tohoku どの方もとても良い講演でした。\nライブテスティングって何だろうと思ったら実況中継みたいな感じなんですね。名キャスティングで楽しめました。\nツイートしましたが、LTで発表していただいた方々もLTじゃなくて１セッションとして今度聞いてみたいです。本当に。\n来年も開催されるということなので、次は登壇する側になれるようネタを仕込んでおきたいなぁと思います。TDD とかとか。\n以下、今日知ったことをまとめておきます。\nAstah* で状態遷移モデルから自動で試験項目を作れる 品質スイートプラグイン 残念ながら Professional 以上でしか利用できないようなので、今使うことは出来ないかな…\n1024パターンのテストを9パターンにする 原因結果グラフ。たとえば音楽再生時に着信して一時停止した場合に使用する。本当に５年前知っていればよかった。\nCEGTest - 原因結果グラフからテスト条件を作成するツール テストについて経営層・マネージャに３つ抑えておいてほしいことは３つ テストは欠陥があることしか示せない。バグ０を強要するお客様とはおつきあいを考えて欲しい。 全数テストは不可能。「いいから全部やれ」は勘弁。テスト技法を用いてテスト数を間引くこと。指示する人は全部のサイズを理解していないことが多いので確認すること テストは条件次第。「有人宇宙ロケット」「プロモーション限定スマフォアプリ」ではドメインが違う Selenium と Jenkins で自動化 Selenium IDE で記録したテストは、Jenkins で自動化できて、IE等でも実行できる。前に IDE で記録したテストを WebDriver で書き直そうとしたけどナンセンスっぽい。\nメトリクスは一つの指標に過ぎない たとえば信頼度成長曲線だけ見ても、テストがクソなのかソフトが良いのか判断がつかない。同じプロジェクト・同じ人であれば、過去の実績から判断がつくが、ソフトウェア開発で同じ条件になることは考えづらい。\nじゃぁ、どうするかというと判断材料の一つであって、それだけ信じてもしょうが無い。自分たちが何をどうやってなんでテストしたかが重要。お客様に説明できるか？\n","permalink":"/entry/2013/06/01/014006/","summary":"\u003cp\u003eしまった写真取り忘れてた。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://togetter.com/li/511585\"\u003eTogetter まとめ\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.jasst.jp/symposium/jasst13tohoku.html\"\u003eJaSSTソフトウェアテストシンポジウム-JaSST'13 Tohoku\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eどの方もとても良い講演でした。\u003c/p\u003e\n\u003cp\u003eライブテスティングって何だろうと思ったら実況中継みたいな感じなんですね。名キャスティングで楽しめました。\u003c/p\u003e\n\u003cp\u003eツイートしましたが、LTで発表していただいた方々もLTじゃなくて１セッションとして今度聞いてみたいです。本当に。\u003c/p\u003e\n\u003cp\u003e来年も開催されるということなので、次は登壇する側になれるようネタを仕込んでおきたいなぁと思います。TDD とかとか。\u003c/p\u003e\n\u003cp\u003e以下、今日知ったことをまとめておきます。\u003c/p\u003e\n\u003ch2 id=\"astah-で状態遷移モデルから自動で試験項目を作れる\"\u003eAstah* で状態遷移モデルから自動で試験項目を作れる\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://astah.change-vision.com/ja/feature/quality-plugin.html\"\u003e品質スイートプラグイン\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e残念ながら Professional 以上でしか利用できないようなので、今使うことは出来ないかな…\u003c/p\u003e\n\u003ch2 id=\"1024パターンのテストを9パターンにする\"\u003e1024パターンのテストを9パターンにする\u003c/h2\u003e\n\u003cp\u003e原因結果グラフ。たとえば音楽再生時に着信して一時停止した場合に使用する。本当に５年前知っていればよかった。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://softest.cocolog-nifty.com/labo/CEGTest/\"\u003eCEGTest - 原因結果グラフからテスト条件を作成するツール\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"テストについて経営層マネージャに３つ抑えておいてほしいことは３つ\"\u003eテストについて経営層・マネージャに３つ抑えておいてほしいことは３つ\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eテストは欠陥があることしか示せない。バグ０を強要するお客様とはおつきあいを考えて欲しい。\u003c/li\u003e\n\u003cli\u003e全数テストは不可能。「いいから全部やれ」は勘弁。テスト技法を用いてテスト数を間引くこと。指示する人は全部のサイズを理解していないことが多いので確認すること\u003c/li\u003e\n\u003cli\u003eテストは条件次第。「有人宇宙ロケット」「プロモーション限定スマフォアプリ」ではドメインが違う\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"selenium-と-jenkins-で自動化\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Selenium\"\u003eSelenium\u003c/a\u003e と Jenkins で自動化\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Selenium\"\u003eSelenium\u003c/a\u003e IDE で記録したテストは、Jenkins で自動化できて、IE等でも実行できる。前に IDE で記録したテストを WebDriver で書き直そうとしたけどナンセンスっぽい。\u003c/p\u003e\n\u003ch2 id=\"メトリクスは一つの指標に過ぎない\"\u003eメトリクスは一つの指標に過ぎない\u003c/h2\u003e\n\u003cp\u003eたとえば信頼度成長曲線だけ見ても、テストがクソなのかソフトが良いのか判断がつかない。同じプロジェクト・同じ人であれば、過去の実績から判断がつくが、ソフトウェア開発で同じ条件になることは考えづらい。\u003c/p\u003e\n\u003cp\u003eじゃぁ、どうするかというと判断材料の一つであって、それだけ信じてもしょうが無い。自分たちが何をどうやってなんでテストしたかが重要。お客様に説明できるか？\u003c/p\u003e\n\u003chr\u003e","title":"ソフトウェアテストシンポジウム 2013 東北 JaSST'13 Tohoku に参加しました #jassttohoku"},{"content":"f:id:nnasaki:20130524182717j:plain 午前中は仕事で、午後も仕事で結局松浦さんのセッションしかでれませんでした。\n強いチームに変える７つのステップというテーマで「チームキャンバス」というものを書きました。3人でグループを組んで個人で書いたものをレビューし合うという内容で、私は体重が増えたとかいうわけわからないチャラい内容書いてたら、同じチームの方はアジャイルやっている中での悩みとか書いてて、だいぶやっちまったなーな感じをしていました。\n「他人を変えられないが、自分は変えられる」というのはよく聞くけどまさにその通りだと改めて思った。自分も変化し続けるように努力していきたい。\nビアバッシュはだいぶ盛り上がって、新卒な方や昔お仕事をした方に再開したりもした。\nその後の二次会はメニューにないチャーハン頼んだら出てきてすごくおいしかったりとか。\nAgile Japan というイベントは個人的に非常に思い入れがある。なぜなら、自分が初めて参加した勉強会だから。2011 年の震災直後のイベントに参加した。ITで震災後の世界に何か出来ないかとかそんな思いもあったと思う（今でも貢献は出来ていない）\nイベントの開催って本当に大変ですが、来年もまた開催されると良いなーと心から思っています。\n","permalink":"/entry/2013/05/25/010738/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20130524/20130524182717.jpg\" alt=\"f:id:nnasaki:20130524182717j:plain\" title=\"f:id:nnasaki:20130524182717j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20130524182717j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e午前中は仕事で、午後も仕事で結局松浦さんのセッションしかでれませんでした。\u003c/p\u003e\n\u003cp\u003e強いチームに変える７つのステップというテーマで「チームキャンバス」というものを書きました。3人でグループを組んで個人で書いたものをレビューし合うという内容で、私は体重が増えたとかいうわけわからないチャラい内容書いてたら、同じチームの方は\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A2%A5%B8%A5%E3%A5%A4%A5%EB\"\u003eアジャイル\u003c/a\u003eやっている中での悩みとか書いてて、だいぶやっちまったなーな感じをしていました。\u003c/p\u003e\n\u003cp\u003e「他人を変えられないが、自分は変えられる」というのはよく聞くけどまさにその通りだと改めて思った。自分も変化し続けるように努力していきたい。\u003c/p\u003e\n\u003cp\u003eビアバッシュはだいぶ盛り上がって、新卒な方や昔お仕事をした方に再開したりもした。\u003c/p\u003e\n\u003cp\u003eその後の二次会はメニューにないチャーハン頼んだら出てきてすごくおいしかったりとか。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Agile\"\u003eAgile\u003c/a\u003e Japan というイベントは個人的に非常に思い入れがある。なぜなら、自分が初めて参加した勉強会だから。2011 年の震災直後のイベントに参加した。ITで震災後の世界に何か出来ないかとかそんな思いもあったと思う（今でも貢献は出来ていない）\u003c/p\u003e\n\u003cp\u003eイベントの開催って本当に大変ですが、来年もまた開催されると良いなーと心から思っています。\u003c/p\u003e\n\u003chr\u003e","title":"Agile Japan 2013 仙台サテライト Day1 にちょっとだけ参加した #AgileJapan #agilesendai"},{"content":"簡易 Todo アプリってポータルからダウンロードできるこれです。\nf:id:nnasaki:20130517055815j:plain 大体3ステップぐらいでいけます。\nAndorid Stuido にインポートする Eclipse用なのでそのままだと Android Studio に Import 出来ない…と思ったら出来た。IntelliJ IDEA 12 では当然出来るんですが、Android Studio は Gradle ベースだから出来ないと思い込んでた。\nやり方は[Android Studio] 既存の Eclipse プロジェクトを Android Studio にインポートする ｜ Developers.IOの Eclipse は飛ばして 「Android Studio にインポートする」と同じです。\nインポートが終わると以下のようになります。Android Studio さんは インポートしたときは gradle は作ってくれないようです。\nf:id:nnasaki:20130517060842j:plain BOMを取り除く で、ビルドするとおそらく以下エラーとなります。\nf:id:nnasaki:20130517061348j:plain この java: \\65279は不正な文字です は UTF-8 に BOM がついているときのエラーですので、BOMを取ってあげれば実行できます。Android Stuido で BOM の取り方は分からなかったので、以前書いたBOM 付き UTF-8 から BOM を取りたいを参考にしてください。\nDepencencies の追加 これでいけると思ったらまたビルドエラーになります。\nf:id:nnasaki:20130517062046j:plain おもむろに Project Structure を開きます。(Mac なら command+; がショートカット。File メニューのところにあります)\nするとなんか下の方が Library 'libs' is not userd と赤くなっているので、電球みたいなアイコンをクリックして、Add to Depencencies を選びます。\nf:id:nnasaki:20130517063205j:plain Choose Modules で OK をクリック。\nf:id:nnasaki:20130517063403j:plain libs が追加されていることを確認して OK をクリック。\nf:id:nnasaki:20130517063520j:plain Debug を実行するとビルドが成功し無事に起動しました。\nf:id:nnasaki:20130517064817j:plain ","permalink":"/entry/2013/05/17/064924/","summary":"\u003cp\u003e簡易 Todo アプリってポータルからダウンロードできるこれです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20130517/20130517055815.jpg\" alt=\"f:id:nnasaki:20130517055815j:plain\" title=\"f:id:nnasaki:20130517055815j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20130517055815j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e大体3ステップぐらいでいけます。\u003c/p\u003e\n\u003ch2 id=\"andorid-stuido-にインポートする\"\u003eAndorid Stuido にインポートする\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Eclipse\"\u003eEclipse\u003c/a\u003e用なのでそのままだと \u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e Studio に Import 出来ない…と思ったら出来た。\u003ca href=\"http://d.hatena.ne.jp/keyword/IntelliJ\"\u003eIntelliJ\u003c/a\u003e IDEA 12 では当然出来るんですが、\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e Studio は Gradle ベースだから出来ないと思い込んでた。\u003c/p\u003e\n\u003cp\u003eやり方は\u003ca href=\"http://dev.classmethod.jp/smartphone/android/eclipse-project-to-android-studio/\"\u003e[Android Studio] 既存の Eclipse プロジェクトを Android Studio にインポートする ｜ Developers.IO\u003c/a\u003eの \u003ca href=\"http://d.hatena.ne.jp/keyword/Eclipse\"\u003eEclipse\u003c/a\u003e は飛ばして 「\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e Studio にインポートする」と同じです。\u003c/p\u003e\n\u003cp\u003eインポートが終わると以下のようになります。\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e Studio さんは インポートしたときは gradle は作ってくれないようです。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20130517/20130517060842.jpg\" alt=\"f:id:nnasaki:20130517060842j:plain\" title=\"f:id:nnasaki:20130517060842j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20130517060842j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch2 id=\"bomを取り除く\"\u003eBOMを取り除く\u003c/h2\u003e\n\u003cp\u003eで、ビルドするとおそらく以下エラーとなります。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20130517/20130517061348.jpg\" alt=\"f:id:nnasaki:20130517061348j:plain\" title=\"f:id:nnasaki:20130517061348j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20130517061348j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eこの \u003ccode\u003ejava: \\65279は不正な文字です\u003c/code\u003e は \u003ca href=\"http://d.hatena.ne.jp/keyword/UTF-8\"\u003eUTF-8\u003c/a\u003e に BOM がついているときのエラーですので、BOMを取ってあげれば実行できます。\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e Stuido で BOM の取り方は分からなかったので、以前書いた\u003ca href=\"http://nnasaki.hatenablog.com/entry/2013/05/03/015850\"\u003eBOM 付き UTF-8 から BOM を取りたい\u003c/a\u003eを参考にしてください。\u003c/p\u003e\n\u003ch2 id=\"depencencies-の追加\"\u003eDepencencies の追加\u003c/h2\u003e\n\u003cp\u003eこれでいけると思ったらまたビルドエラーになります。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20130517/20130517062046.jpg\" alt=\"f:id:nnasaki:20130517062046j:plain\" title=\"f:id:nnasaki:20130517062046j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20130517062046j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eおもむろに Project Structure を開きます。(Mac なら \u003ccode\u003ecommand+;\u003c/code\u003e がショートカット。File メニューのところにあります)\u003c/p\u003e","title":"Windows Azure Mobile Services の簡易 Todo アプリを Android Studio で起動する"},{"content":"昨日、朝起きたら Getting Started with Android Studio | Android Developers なるものでTLが賑わってた。なにかと思ったら、Google I/O で発表された新しい IDE で、なんと IntelliJ ベースらしい。(しかも出たばかりの13 EAPベース)\n続々とエントリーが増えている。\n[開発環境] Android Studioをインストールしてみる ｜ Developers.IO [Android Studio] 快適にコーディングできるように設定をカスタマイズしてみた ｜ Developers.IO [Android Studio] 既存の Eclipse プロジェクトを Android Studio にインポートする ｜ Developers.IO Android Studio試してみたよ - marsのメモ 早速会社で Windows 版をダウンロードして昼休みに試してみたが、gradle のエラーが起きてしまってビルドできなかった。\n(´・ω・`)\n自宅の Mac ではすんなりいった。会社のマシンは Gradle Home を設定してたから駄目だったのかなぁ。ちょっと原因が分かっていない。\n設定周りをちょこちょこみてたら、SDKがアプリに含まれていたので brew で入れている SDK に設定したり、フォントを Ricty にするなどしてみた。\nf:id:nnasaki:20130517042114j:plain ","permalink":"/entry/2013/05/17/051708/","summary":"\u003cp\u003e昨日、朝起きたら \u003ca href=\"http://developer.android.com/sdk/installing/studio.html\"\u003eGetting Started with Android Studio | Android Developers\u003c/a\u003e なるものでTLが賑わってた。なにかと思ったら、\u003ca href=\"http://d.hatena.ne.jp/keyword/Google%20I/O\"\u003eGoogle I/O\u003c/a\u003e で発表された新しい IDE で、なんと \u003ca href=\"http://d.hatena.ne.jp/keyword/IntelliJ\"\u003eIntelliJ\u003c/a\u003e ベースらしい。(しかも出たばかりの13 \u003ca href=\"http://d.hatena.ne.jp/keyword/EAP\"\u003eEAP\u003c/a\u003eベース)\u003c/p\u003e\n\u003cp\u003e続々とエントリーが増えている。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://dev.classmethod.jp/smartphone/install-android-studi/\"\u003e[開発環境] Android Studioをインストールしてみる ｜ Developers.IO\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://dev.classmethod.jp/smartphone/android/android-studio-customize-settings/\"\u003e[Android Studio] 快適にコーディングできるように設定をカスタマイズしてみた ｜ Developers.IO\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://dev.classmethod.jp/smartphone/android/eclipse-project-to-android-studio/\"\u003e[Android Studio] 既存の Eclipse プロジェクトを Android Studio にインポートする ｜ Developers.IO\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/masanobuimai/20130516/1368708416\"\u003eAndroid Studio試してみたよ - marsのメモ\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e早速会社で Windows 版をダウンロードして昼休みに試してみたが、gradle のエラーが起きてしまってビルドできなかった。\u003c/p\u003e\n\u003cp\u003e(´・ω・`)\u003c/p\u003e\n\u003cp\u003e自宅の Mac ではすんなりいった。会社のマシンは Gradle Home を設定してたから駄目だったのかなぁ。ちょっと原因が分かっていない。\u003c/p\u003e\n\u003cp\u003e設定周りをちょこちょこみてたら、\u003ca href=\"http://d.hatena.ne.jp/keyword/SDK\"\u003eSDK\u003c/a\u003eがアプリに含まれていたので \u003ca href=\"http://d.hatena.ne.jp/keyword/brew\"\u003ebrew\u003c/a\u003e で入れている \u003ca href=\"http://d.hatena.ne.jp/keyword/SDK\"\u003eSDK\u003c/a\u003e に設定したり、フォントを Ricty にするなどしてみた。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20130517/20130517042114.jpg\" alt=\"f:id:nnasaki:20130517042114j:plain\" title=\"f:id:nnasaki:20130517042114j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20130517042114j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003chr\u003e","title":"Android Studio をインストールした"},{"content":"前回はインストール方法をご紹介しましたが、今回は使用方法をご紹介したいと思います。 リファレンスはこちらです。\nWindows Azure Mobile Services で私がよく使うものだけピックアップしました。\nテーブル定義を見る カラムの名前、型等を確認できる\n`azure mobile table show サービス名 テーブル名 ` テーブルの中身を見る SELECT * FROM テーブル名 TOP 10 と同様\n`azure mobile data read サービス名 テーブル名 ` テーブル操作 SQLでいえば DROP TABLE 相当。 テーブルに設定していたスクリプトや権限も消えてしまうので、スクリプトはダウンロードしておいた方が良い。\nテーブル作成 `azure mobile table create サービス名 テーブル名 ` テーブル削除 `azure mobile table delete サービス名 テーブル名 ` スクリプト操作 ディレクトリ構造がローカル側もtable/テーブル名とする必要がある。\nダウンロード時に既に同名のファイルがあるとエラーになるので -o オプションで上書き設定をしている。\nローカルは git で管理して、サーバーへアップロードという感じでバージョン管理に役立つ。\nスクリプトダウンロード `azure mobile script download -o サービス名 table/テーブル名.insert ` スクリプトアップロード `azure mobile script upload サービス名 table/テーブル名.insert ` ログを見る ストリーム(tail -f)のようには出来ない。いちいちリクエストするして3秒ぐらいかかるのが使いづらい。\n`azure mobile log サービス名 ` ","permalink":"/entry/2013/05/15/061708/","summary":"\u003cp\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/2013/05/02/005951\"\u003e前回はインストール方法をご紹介しました\u003c/a\u003eが、今回は使用方法をご紹介したいと思います。\n\u003ca href=\"http://www.windowsazure.com/en-us/manage/linux/other-resources/command-line-tools/#Commands_to_manage_mobile_services\"\u003eリファレンスはこちら\u003c/a\u003eです。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%20Azure\"\u003eWindows Azure\u003c/a\u003e Mobile Services で私がよく使うものだけピックアップしました。\u003c/p\u003e\n\u003ch2 id=\"テーブル定義を見る\"\u003eテーブル定義を見る\u003c/h2\u003e\n\u003cp\u003eカラムの名前、型等を確認できる\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`azure mobile table show サービス名 テーブル名\n`\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"テーブルの中身を見る\"\u003eテーブルの中身を見る\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003eSELECT * FROM テーブル名 TOP 10\u003c/code\u003e と同様\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`azure mobile data read サービス名 テーブル名\n`\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"テーブル操作\"\u003eテーブル操作\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/SQL\"\u003eSQL\u003c/a\u003eでいえば DROP TABLE 相当。\nテーブルに設定していたスクリプトや権限も消えてしまうので、スクリプトはダウンロードしておいた方が良い。\u003c/p\u003e\n\u003ch4 id=\"テーブル作成\"\u003eテーブル作成\u003c/h4\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`azure mobile table create サービス名 テーブル名\n`\n\u003c/code\u003e\u003c/pre\u003e\u003ch4 id=\"テーブル削除\"\u003eテーブル削除\u003c/h4\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`azure mobile table delete サービス名 テーブル名\n`\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"スクリプト操作\"\u003eスクリプト操作\u003c/h2\u003e\n\u003cp\u003eディレクトリ構造がローカル側もtable/テーブル名とする必要がある。\u003c/p\u003e\n\u003cp\u003eダウンロード時に既に同名のファイルがあるとエラーになるので \u003ccode\u003e-o\u003c/code\u003e オプションで上書き設定をしている。\u003c/p\u003e\n\u003cp\u003eローカルは git で管理して、サーバーへアップロードという感じでバージョン管理に役立つ。\u003c/p\u003e\n\u003ch4 id=\"スクリプトダウンロード\"\u003eスクリプトダウンロード\u003c/h4\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`azure mobile script download  -o サービス名 table/テーブル名.insert\n`\n\u003c/code\u003e\u003c/pre\u003e\u003ch4 id=\"スクリプトアップロード\"\u003eスクリプトアップロード\u003c/h4\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`azure mobile script upload サービス名 table/テーブル名.insert\n`\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"ログを見る\"\u003eログを見る\u003c/h2\u003e\n\u003cp\u003eストリーム(tail -f)のようには出来ない。いちいちリクエストするして3秒ぐらいかかるのが使いづらい。\u003c/p\u003e","title":"Windows Azure Mobile Services をコマンドラインツールで操作する"},{"content":"f:id:nnasaki:20130514063153j:plain Community Open Day 2013 東北会場 （エフスタ!!SENDAI）にて、Windows Azure Mobile Service を利用した iOS/Android アプリ開発 について発表しました。\n** COD2013 Windows Azure Mobile Service を用いたiOS／Android開発 ** from Yamamoto Masaki\nCommunity Open Day 2013資料まとめ #cod2013jp - Togetter 今回はエフスタさん主催でした。皆さんとても元気があって面白かった！セッション後のLTもみんな5分きっかりでとても上手だった。また、懇親会と二次会の人数がほとんど変わらなくて大盛り上がりだった。中でもextreme ラブプラスAzure は記録では無く記憶に残っていますｗ\n発表自体は緊張はそれほどしてなかったんだけど、しゃべっているうちにだんだんと過呼吸になってしまった。息が苦しくてマイクに荒い鼻息が拾われてしまうという事態にｗ\nあと、デモも失敗しまくりでした。結構リハーサルしたんだけどなぁ。\nそんなぼろぼろセッションだったにもかかわらず Mobile Services を使ってみたいという話を聞けたり、アンケートに記載をいただけたりと、話して良かったなぁと思いました。\nデモやデプロイ中のちょっとした間の持たせ方とか、失敗した後のリカバリとか、他の方を見てうまいなぁと思いました。次回はもっと良い発表が出来るように精進したいと思います。\nあとセッション中にチラッとお話しした、iOS のプッシュ通知の設定方法は以下になります。Apple の最新のポータル画面では無いですが、雰囲気はつかめると思います。証明書作成とかめんどくさいですねぇ。\nWindows Azure Mobile Services for iOS チュートリアル | MSDN ","permalink":"/entry/2013/05/11/233000/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20130514/20130514063153.jpg\" alt=\"f:id:nnasaki:20130514063153j:plain\" title=\"f:id:nnasaki:20130514063153j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20130514063153j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"http://cod.ms/Pages/default.aspx\"\u003eCommunity Open Day 2013\u003c/a\u003e 東北会場 （エフスタ!!SENDAI）にて、\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%20Azure\"\u003eWindows Azure\u003c/a\u003e Mobile Service を利用した iOS/\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e アプリ開発 について発表しました。\u003c/p\u003e\n\u003cp\u003e** \u003ca href=\"http://www.slideshare.net/YamamotoMasaki/cod2013-windows-azure-mobile-service-i-osandroid\"\u003eCOD2013 Windows Azure Mobile Service を用いたiOS／Android開発\u003c/a\u003e ** from \u003cstrong\u003e\u003ca href=\"http://www.slideshare.net/YamamotoMasaki\"\u003eYamamoto Masaki\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://togetter.com/li/501372\"\u003eCommunity Open Day 2013資料まとめ #cod2013jp - Togetter\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e今回はエフスタさん主催でした。皆さんとても元気があって面白かった！セッション後のLTもみんな5分きっかりでとても上手だった。また、懇親会と二次会の人数がほとんど変わらなくて大盛り上がりだった。中でもextreme \u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%E9%A5%D6%A5%D7%A5%E9%A5%B9\"\u003eラブプラス\u003c/a\u003eAzure は記録では無く記憶に残っていますｗ\u003c/p\u003e\n\u003cp\u003e発表自体は緊張はそれほどしてなかったんだけど、しゃべっているうちにだんだんと\u003ca href=\"http://d.hatena.ne.jp/keyword/%B2%E1%B8%C6%B5%DB\"\u003e過呼吸\u003c/a\u003eになってしまった。息が苦しくてマイクに荒い鼻息が拾われてしまうという事態にｗ\u003c/p\u003e\n\u003cp\u003eあと、デモも失敗しまくりでした。結構リハーサルしたんだけどなぁ。\u003c/p\u003e\n\u003cp\u003eそんなぼろぼろセッションだったにもかかわらず Mobile Services を使ってみたいという話を聞けたり、アンケートに記載をいただけたりと、話して良かったなぁと思いました。\u003c/p\u003e\n\u003cp\u003eデモやデプロイ中のちょっとした間の持たせ方とか、失敗した後のリカバリとか、他の方を見てうまいなぁと思いました。次回はもっと良い発表が出来るように精進したいと思います。\u003c/p\u003e\n\u003cp\u003eあとセッション中にチラッとお話しした、iOS のプッシュ通知の設定方法は以下になります。\u003ca href=\"http://d.hatena.ne.jp/keyword/Apple\"\u003eApple\u003c/a\u003e の最新のポータル画面では無いですが、雰囲気はつかめると思います。証明書作成とかめんどくさいですねぇ。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://msdn.microsoft.com/ja-jp/windowsazure/hh697503\"\u003eWindows Azure Mobile Services for iOS チュートリアル | MSDN\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e","title":"Community Open Day 2013 東北会場にて発表しました"},{"content":"Windows Azure Mobile Services から Android のサンプルアプリをダウンロードして IntelliJ でビルドしようとすると以下エラーが出た。\n`java: \\65279は不正な文字です ` BOM 付き UTF-8 だと起こるということが分かったので、BOM を削除しようとすると意外といい方法が無い。(vim -b で開いて削除するとか。手作業が多い)\n今回行った作業をまとめておく。\nBOM 付きかどうかの確認方法 file コマンドを使用するのが一番手っ取り早い。以下のように with BOM で出力される。\n`$ file * ToDoActivity.java: UTF-8 Unicode (with BOM) Java program text, with CRLF line terminators ToDoItem.java: UTF-8 Unicode (with BOM) C++ program text, with CRLF line terminators ToDoItemAdapter.java: UTF-8 Unicode (with BOM) Java program text, with CRLF line terminators ` BOM の削除 (Ruby 編) Ruby のワンライナーで解決出来ないか試してみた。 file コマンドの結果で ASCII って表示されているけど、元のファイルが日本語含まれていないからで、問題なさそうだった。\n`$ ruby -e \u0026#39;print File.open(\u0026#34;TodoItem.java\u0026#34;, \u0026#34;r:BOM|UTF-8\u0026#34;).read\u0026#39; \u0026gt; test.java $ file * ToDoActivity.java: UTF-8 Unicode (with BOM) Java program text, with CRLF line terminators ToDoItem.java: UTF-8 Unicode (with BOM) C++ program text, with CRLF line terminators ToDoItemAdapter.java: UTF-8 Unicode (with BOM) Java program text, with CRLF line terminators test.java: ASCII C++ program text, with CRLF line terminators ` BOM の削除 (ツール 編) MultiTextConverter @ アールケー開発 を使用する。 環境設定で UTF-8 の BOM なしにして、Dock へディレクトリをドラッグアンドドロップしてあげると変換されました。\n`$ file * ToDoActivity.java: ASCII Java program text ToDoItem.java: ASCII C++ program text ToDoItemAdapter.java: ASCII Java program text ` ","permalink":"/entry/2013/05/03/015850/","summary":"\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%20Azure\"\u003eWindows Azure\u003c/a\u003e Mobile Services から \u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e のサンプルアプリをダウンロードして \u003ca href=\"http://d.hatena.ne.jp/keyword/IntelliJ\"\u003eIntelliJ\u003c/a\u003e でビルドしようとすると以下エラーが出た。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`java: \\65279は不正な文字です\n`\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eBOM 付き \u003ca href=\"http://d.hatena.ne.jp/keyword/UTF-8\"\u003eUTF-8\u003c/a\u003e だと起こるということが分かったので、BOM を削除しようとすると意外といい方法が無い。(\u003ca href=\"http://d.hatena.ne.jp/keyword/vim\"\u003evim\u003c/a\u003e -b で開いて削除するとか。手作業が多い)\u003c/p\u003e\n\u003cp\u003e今回行った作業をまとめておく。\u003c/p\u003e\n\u003ch2 id=\"bom-付きかどうかの確認方法\"\u003eBOM 付きかどうかの確認方法\u003c/h2\u003e\n\u003cp\u003efile コマンドを使用するのが一番手っ取り早い。以下のように with BOM で出力される。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`$ file *\nToDoActivity.java:    UTF-8 Unicode (with BOM) Java program text, with CRLF line terminators\nToDoItem.java:        UTF-8 Unicode (with BOM) C++ program text, with CRLF line terminators\nToDoItemAdapter.java: UTF-8 Unicode (with BOM) Java program text, with CRLF line terminators\n`\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"bom-の削除-ruby-編\"\u003eBOM の削除 (\u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003e 編)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003e の\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%EF%A5%F3%A5%E9%A5%A4%A5%CA%A1%BC\"\u003eワンライナー\u003c/a\u003eで解決出来ないか試してみた。\nfile コマンドの結果で ASCII って表示されているけど、元のファイルが日本語含まれていないからで、問題なさそうだった。\u003c/p\u003e","title":"BOM 付き UTF-8 から BOM を取りたい"},{"content":"ポータルからいちいちやるのめんどくさくなったので、インストールしました。Windows Azure Command-Line Tools for Mac and Linux (Linux) ではパッケージをインストールしろと書いてありますが、めんどくさかったので Homebrew と node.js でインストールしました。\nHomebrew が入っていれば5ステップでインストールから動作確認まで出来ます。\nHomebrew で node.js をインストールする 簡単です。Homebrewが入っていれば以下コマンドを実行するだけです。\n`$ brew install node ` インストール後に以下メッセージが出るので、$Path に /usr/local/share/npm/bin を追加しておきます。\n`Homebrew installed npm. We recommend prepending the following path to your PATH environment variable to have npm-installed binaries picked up: /usr/local/share/npm/bin ` npm で Windows Azure Command-Line Tools をインストールする これも簡単です。以下コマンドを実行するだけです。\n`$ npm install azure-cli -g ` アカウントの設定ファイルをダウンロードする 以下コマンドを実行するとブラウザが立ち上がりダウンロードが始まります。\n`$ azure account download info: Executing command account download info: Launching browser to http://go.microsoft.com/fwlink/?LinkId=254432 help: Save the downloaded file, then execute the command help: account import \u0026lt;file\u0026gt; info: account download command OK ` こんな画面です。\nf:id:nnasaki:20130502003629p:plain アカウントの設定をインポートする 先ほどダウンロードしたものをインポートします。\n`$ azure account import ~/Downloads/credentials.publishsettings info: Executing command account import info: Found subscription: info: Setting default subscription to: info: Use \u0026#34;azure account set\u0026#34; to change to a different one. info: Setting service endpoint to: https://management.core.windows.net/ warn: The \u0026#39;credentials.publishsettings\u0026#39; file contains sensitive information. warn: Remember to delete it now that it has been imported. info: Account publish settings imported successfully + Verifying account info: account import command OK ` 重要なファイルだから消すようにと言われてたので消します。\n`$ rm ~/credentials.publishsettings ` 動作確認をする Windows Azure Mobile Services のロケーションを確認してみます。\n`$ azure mobile locations info: Executing command mobile locations info: East US (default) info: West US info: North Europe info: East Asia ` 無事取得できているようです。以上でインストール完了です。\n","permalink":"/entry/2013/05/02/005951/","summary":"\u003cp\u003eポータルからいちいちやるのめんどくさくなったので、インストールしました。\u003ca href=\"http://www.windowsazure.com/en-us/manage/linux/other-resources/command-line-tools/\"\u003eWindows Azure Command-Line Tools for Mac and Linux (Linux)\u003c/a\u003e ではパッケージをインストールしろと書いてありますが、めんどくさかったので Homebrew と node.js でインストールしました。\u003c/p\u003e\n\u003cp\u003eHomebrew が入っていれば5ステップでインストールから動作確認まで出来ます。\u003c/p\u003e\n\u003ch2 id=\"homebrew-で-nodejs-をインストールする\"\u003eHomebrew で node.js をインストールする\u003c/h2\u003e\n\u003cp\u003e簡単です。Homebrewが入っていれば以下コマンドを実行するだけです。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`$ brew install node\n`\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eインストール後に以下メッセージが出るので、$Path に \u003ccode\u003e/usr/local/share/npm/bin\u003c/code\u003e を追加しておきます。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`Homebrew installed npm.\nWe recommend prepending the following path to your PATH environment\nvariable to have npm-installed binaries picked up:\n  /usr/local/share/npm/bin\n`\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"npm-で-windows-azure-command-line-tools-をインストールする\"\u003enpm で \u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%20Azure\"\u003eWindows Azure\u003c/a\u003e Command-Line Tools をインストールする\u003c/h2\u003e\n\u003cp\u003eこれも簡単です。以下コマンドを実行するだけです。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`$ npm install azure-cli -g\n`\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"アカウントの設定ファイルをダウンロードする\"\u003eアカウントの設定ファイルをダウンロードする\u003c/h2\u003e\n\u003cp\u003e以下コマンドを実行するとブラウザが立ち上がりダウンロードが始まります。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`$ azure account download\ninfo:    Executing command account download\ninfo:    Launching browser to http://go.microsoft.com/fwlink/?LinkId=254432\nhelp:    Save the downloaded file, then execute the command\nhelp:      account import \u0026lt;file\u0026gt;\ninfo:    account download command OK\n`\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eこんな画面です。\u003c/p\u003e","title":"Windows Azure コマンドラインツールを Mac にインストールする"},{"content":"Androidアプリテスト技法 を読みました。良い本だと思います。\n前半９０ページ程がテスト技法について、後半１００ページ程がAndoroidアプリの自動テスト化のTIPS集。\n前半のテスト技法は Android に限らずソフトウェア全般に使える上、90ページぐらいにコンパクトにまとまっているので、初学者が読む分量としても良いと思いました。 HAYST法が出てきたり、同値分割等のベーシックな技法も例題を含めてカバーされており、「あぁ、テスト勉強会であったわー」って思いながら読んでた。 個人的にはJSTQB のシラバスより良いかなと思いました。\n後半のテスト自動化は具体例が不足していて若干ボリューム不足を感じましたが、エミュレーターを起動せずにJUnitを使ったり、DBやモックもカバーされており概要としては十分。\n後半が前半のテスト技法と分断しているのがちょっと残念かなぁと思いました。テスト技法を使用して後半が具体的にどう実装していくかっていう構成だともっと良かったかも。\nAndroid開発していて、テスト技法をこれから学びたいという方にはオススメです。\n[\nAndroidアプリテスト技法 ](http://www.amazon.co.jp/exec/obidos/ASIN/4798037044/hatena-blog-22/)[Androidアプリテスト技法](http://www.amazon.co.jp/exec/obidos/ASIN/4798037044/hatena-blog-22/)- 作者: 生路茂太,井芹洋輝,神原健一,長谷川孝二,松木晋祐,宮田友美,吉澤毅- 出版社/メーカー: 秀和システム- 発売日: 2013/02- メディア: 単行本- この商品を含むブログ (2件) を見る\n","permalink":"/entry/2013/04/16/065047/","summary":"\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/asin/4798037044/hatena-blog-22\"\u003eAndroidアプリテスト技法\u003c/a\u003e を読みました。良い本だと思います。\u003c/p\u003e\n\u003cp\u003e前半９０ページ程がテスト技法について、後半１００ページ程がAndoroidアプリの自動テスト化のTIPS集。\u003c/p\u003e\n\u003cp\u003e前半のテスト技法は \u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e に限らずソフトウェア全般に使える上、90ページぐらいにコンパクトにまとまっているので、初学者が読む分量としても良いと思いました。\nHAYST法が出てきたり、同値分割等のベーシックな技法も例題を含めてカバーされており、「あぁ、テスト勉強会であったわー」って思いながら読んでた。\n個人的には\u003ca href=\"http://d.hatena.ne.jp/keyword/JSTQB\"\u003eJSTQB\u003c/a\u003e のシラバスより良いかなと思いました。\u003c/p\u003e\n\u003cp\u003e後半のテスト自動化は具体例が不足していて若干ボリューム不足を感じましたが、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A8%A5%DF%A5%E5%A5%EC%A1%BC%A5%BF%A1%BC\"\u003eエミュレーター\u003c/a\u003eを起動せずに\u003ca href=\"http://d.hatena.ne.jp/keyword/JUnit\"\u003eJUnit\u003c/a\u003eを使ったり、DBやモックもカバーされており概要としては十分。\u003c/p\u003e\n\u003cp\u003e後半が前半のテスト技法と分断しているのがちょっと残念かなぁと思いました。テスト技法を使用して後半が具体的にどう実装していくかっていう構成だともっと良かったかも。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e開発していて、テスト技法をこれから学びたいという方にはオススメです。\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://ecx.images-amazon.com/images/I/51vBHlPtNzL._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"Androidアプリテスト技法\" title=\"Androidアプリテスト技法\"\u003e\u003cfigcaption\u003eAndroidアプリテスト技法\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/4798037044/hatena-blog-22/)%5BAndroid\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/4798037044/hatena-blog-22/)[Android\u003c/a\u003eアプリテスト技法](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/4798037044/hatena-blog-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/4798037044/hatena-blog-22/)-\u003c/a\u003e 作者: 生路茂太,井芹洋輝,神原健一,長谷川孝二,松木晋祐,宮田友美,吉澤毅- 出版社/メーカー: \u003ca href=\"http://d.hatena.ne.jp/keyword/%BD%A8%CF%C2%A5%B7%A5%B9%A5%C6%A5%E0\"\u003e秀和システム\u003c/a\u003e- 発売日: 2013/02- メディア: 単行本- \u003ca href=\"http://d.hatena.ne.jp/asin/4798037044/hatena-blog-22\"\u003eこの商品を含むブログ (2件) を見る\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"Androidアプリテスト技法 を読んだ"},{"content":"良いところはたくさんあります。SQLDBがタダだったり、サーバーサイドのコードがJavaScriptで簡単に記述できたり、ありすぎますが、あえて不満点を。\nサーバーサイドのソースコード管理が出来ない 挿入や更新等はすべてポータルサイト上でコードを編集するんですが、履歴管理が出来ない。サーバー上のコードエディタはとてもよく出来ているんですが残念です。\nWeb サイトは git や dropbox に対応しているので、対応してくれればなーと思ってます。\nソースコードがすぐに反映されない さっきの続きっぽくなりますが、ポータルサイトでソースコードを更新しても10秒ぐらい待たされます。きっと裏では色々デプロイが走っているからと思うんですが、もう少し早くなればなーと思います。\nでも、これはそんなに問題じゃ無いです。git push でもそれぐらいかかりますしね。\nログがリアルタイムに見られない ログもポータルサイトでしか見られないので不満です。Webサイトだとリアルタイムにクライアントで見られるので、Webサイト同等になってくれればなーと思います。\n最後にもう一度だけ言っておきますが、Windows Azure Mobile Services は本当に良いサービスです。大好きです。でもあえて問題点を挙げるならば上記があるかなと思います。\n","permalink":"/entry/2013/04/15/011122/","summary":"\u003cp\u003e良いところはたくさんあります。SQLDBがタダだったり、サーバーサイドのコードが\u003ca href=\"http://d.hatena.ne.jp/keyword/JavaScript\"\u003eJavaScript\u003c/a\u003eで簡単に記述できたり、ありすぎますが、あえて不満点を。\u003c/p\u003e\n\u003ch2 id=\"サーバーサイドのソースコード管理が出来ない\"\u003eサーバーサイドの\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%BD%A1%BC%A5%B9%A5%B3%A1%BC%A5%C9\"\u003eソースコード\u003c/a\u003e管理が出来ない\u003c/h2\u003e\n\u003cp\u003e挿入や更新等はすべてポータルサイト上でコードを編集するんですが、履歴管理が出来ない。サーバー上のコードエディタはとてもよく出来ているんですが残念です。\u003c/p\u003e\n\u003cp\u003eWeb サイトは git や \u003ca href=\"http://d.hatena.ne.jp/keyword/dropbox\"\u003edropbox\u003c/a\u003e に対応しているので、対応してくれればなーと思ってます。\u003c/p\u003e\n\u003ch2 id=\"ソースコードがすぐに反映されない\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%BD%A1%BC%A5%B9%A5%B3%A1%BC%A5%C9\"\u003eソースコード\u003c/a\u003eがすぐに反映されない\u003c/h2\u003e\n\u003cp\u003eさっきの続きっぽくなりますが、ポータルサイトで\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%BD%A1%BC%A5%B9%A5%B3%A1%BC%A5%C9\"\u003eソースコード\u003c/a\u003eを更新しても10秒ぐらい待たされます。きっと裏では色々デプロイが走っているからと思うんですが、もう少し早くなればなーと思います。\u003c/p\u003e\n\u003cp\u003eでも、これはそんなに問題じゃ無いです。git push でもそれぐらいかかりますしね。\u003c/p\u003e\n\u003ch2 id=\"ログがリアルタイムに見られない\"\u003eログがリアルタイムに見られない\u003c/h2\u003e\n\u003cp\u003eログもポータルサイトでしか見られないので不満です。Webサイトだとリアルタイムにクライアントで見られるので、Webサイト同等になってくれればなーと思います。\u003c/p\u003e\n\u003cp\u003e最後にもう一度だけ言っておきますが、\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%20Azure\"\u003eWindows Azure\u003c/a\u003e Mobile Services は本当に良いサービスです。大好きです。でもあえて問題点を挙げるならば上記があるかなと思います。\u003c/p\u003e\n\u003chr\u003e","title":"Windows Azure Mobile Services の不満点"},{"content":"前回の記事で、これでクラウドにバックアップやーって思ったんですけど、なかなかうまくいかない。\nというのも、TimeMachine への書き込む量が結構半端ないので、ISP規制情報Wiki にあるように、1日30GB制限を軽く上回ってしまうことが多い。\nあと、3日ぐらい回しっぱなしにしてなんとか90GBぐらいのディスクをBitcasaに作ったんだけど、マウントできなくなった。\n原因は Bitcasa なのか、ファイルシステムが壊れたのか定かではない。どちらにしても数10GBオーダーのディスクイメージをクラウドに置くと言うことはまだ現実的では無いと思った。\nただ、今後はBitcasaを使わないかというとそうではなくて、タイムマシンは外付けHDDにするけど、外付けHDDのバックアップを定期的にBitcasaにしようと思ってます。\nあと、Dropbox とか Google Drive とか SkyDrive を Bitcasa にまとめようとも思ってます。ただ、Word とか Excel なファイルは SkyDrive とかにおいていた方が便利なので、様子見ながらですかね。\n","permalink":"/entry/2013/04/15/004647/","summary":"\u003cp\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/2013/02/14/023146\"\u003e前回の記事\u003c/a\u003eで、これでクラウドにバックアップやーって思ったんですけど、なかなかうまくいかない。\u003c/p\u003e\n\u003cp\u003eというのも、TimeMachine への書き込む量が結構半端ないので、\u003ca href=\"http://isp.oshietekun.net/\"\u003eISP規制情報Wiki\u003c/a\u003e にあるように、1日30GB制限を軽く上回ってしまうことが多い。\u003c/p\u003e\n\u003cp\u003eあと、3日ぐらい回しっぱなしにしてなんとか90GBぐらいのディスクをBitcasaに作ったんだけど、マウントできなくなった。\u003c/p\u003e\n\u003cp\u003e原因は Bitcasa なのか、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%D5%A5%A1%A5%A4%A5%EB%A5%B7%A5%B9%A5%C6%A5%E0\"\u003eファイルシステム\u003c/a\u003eが壊れたのか定かではない。どちらにしても数10GBオーダーのディスクイメージをクラウドに置くと言うことはまだ現実的では無いと思った。\u003c/p\u003e\n\u003cp\u003eただ、今後はBitcasaを使わないかというとそうではなくて、タイムマシンは外付けHDDにするけど、外付けHDDのバックアップを定期的にBitcasaにしようと思ってます。\u003c/p\u003e\n\u003cp\u003eあと、\u003ca href=\"http://d.hatena.ne.jp/keyword/Dropbox\"\u003eDropbox\u003c/a\u003e とか \u003ca href=\"http://d.hatena.ne.jp/keyword/Google\"\u003eGoogle\u003c/a\u003e Drive とか \u003ca href=\"http://d.hatena.ne.jp/keyword/SkyDrive\"\u003eSkyDrive\u003c/a\u003e を Bitcasa にまとめようとも思ってます。ただ、Word とか Excel なファイルは \u003ca href=\"http://d.hatena.ne.jp/keyword/SkyDrive\"\u003eSkyDrive\u003c/a\u003e とかにおいていた方が便利なので、様子見ながらですかね。\u003c/p\u003e\n\u003chr\u003e","title":"Bitcasa に TimeMachine でバックアップはうまくいかなかった"},{"content":" 告知ページ 当日のTogetterまとめ 一応前回の0回から数えて第１回目ですが。ナンバリングはやめるかも。\nスタッフとして参加しましたが、あんまりスタッフぽいことはやってないｗ\n受付は参加者の方に手伝ってもらったり、迷子の人も迎えに行ってもらったり、ダイアログでファシリテーターやったけどあまりにもポンコツすぎて補足してもらったり。\nお金数えただけです。スタッフぽいところはｗ\nDevSenトーク LTほど短くないけど、1セッションでもない。10分ぐらいで皆さんの経験を話しをしていただくのをDevSenトークと名付けました。\n登壇していただいたお二人とも良い話だった。\n菊川さんは見積もりでプランニングポーカーを導入してみた話。すばらしいっす。\n森さんは iOS アプリをいかに低予算でシェアを獲得するために、なにを行ったか。とても実践的だった。\nお二人に共通するのは今までの常識に囚われないこと。新しいチャレンジをしているってところかな。僕も見習わなくてはと思った。\nダイアログ ダイアログでは4テーブルにわかれて、私も⒈テーブルに参加しました。受託開発つらいね。Excel 倒せないとか。承認フローめんどくさい。責任ってなんだ。人のせいにすんな。そんな話でプログラミングの技術問題ではなく組織上の問題について語り合ってた。\n結論は当然出ない。1時間ぐらいの話し合いで解決するわけないもん。でも、それはそれでまたいいかなと思った。\nダイアログファシリテーターは前述の通りポンコツなんで、全体的に「月曜日からはEclipseを立ち上げる」という結果にｗ 難しいです。まとめるの。\nビアバッシュ ビアバッシュも色々と話しを聞けて楽しかったです。なんかこんなの撮ったり…\nf:id:nnasaki:20130414132752j:plain 最後に、いろいろ告知がありました。どれも面白いイベントなんで皆さん以下の日付は空けておくと良いと思います！\nf:id:nnasaki:20130414131823j:plain イベント案内 | 2013-04-24 (水) すくすくスクラムSendai 第7回 ～スクラムを描いてみよう！～ - 東北デベロッパーズコミュニティ イベント案内 | 2013-04-27 (土) DBFlute勉強会「DBFluteで攻めのDB生活を」 - 東北デベロッパーズコミュニティ 5月11日 Community Open Day 2013東北会場（エフスタ!!SENDAI）(宮城県) ","permalink":"/entry/2013/04/12/230000/","summary":"\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://devlove-sendai.doorkeeper.jp/events/3463\"\u003e告知ページ\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://togetter.com/li/487702\"\u003e当日のTogetterまとめ\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e一応前回の0回から数えて第１回目ですが。ナンバリングはやめるかも。\u003c/p\u003e\n\u003cp\u003eスタッフとして参加しましたが、あんまりスタッフぽいことはやってないｗ\u003c/p\u003e\n\u003cp\u003e受付は参加者の方に手伝ってもらったり、迷子の人も迎えに行ってもらったり、ダイアログで\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%D5%A5%A1%A5%B7%A5%EA%A5%C6%A1%BC%A5%BF%A1%BC\"\u003eファシリテーター\u003c/a\u003eやったけどあまりにもポンコツすぎて補足してもらったり。\u003c/p\u003e\n\u003cp\u003eお金数えただけです。スタッフぽいところはｗ\u003c/p\u003e\n\u003ch2 id=\"devsenトーク\"\u003eDevSenトーク\u003c/h2\u003e\n\u003cp\u003eLTほど短くないけど、1セッションでもない。10分ぐらいで皆さんの経験を話しをしていただくのをDevSenトークと名付けました。\u003c/p\u003e\n\u003cp\u003e登壇していただいたお二人とも良い話だった。\u003c/p\u003e\n\u003cp\u003e菊川さんは見積もりでプランニングポーカーを導入してみた話。すばらしいっす。\u003c/p\u003e\n\u003cp\u003e森さんは iOS アプリをいかに低予算でシェアを獲得するために、なにを行ったか。とても実践的だった。\u003c/p\u003e\n\u003cp\u003eお二人に共通するのは今までの常識に囚われないこと。新しいチャレンジをしているってところかな。僕も見習わなくてはと思った。\u003c/p\u003e\n\u003ch2 id=\"ダイアログ\"\u003eダイアログ\u003c/h2\u003e\n\u003cp\u003eダイアログでは4テーブルにわかれて、私も⒈テーブルに参加しました。受託開発つらいね。Excel 倒せないとか。承認フローめんどくさい。責任ってなんだ。人のせいにすんな。そんな話でプログラミングの技術問題ではなく組織上の問題について語り合ってた。\u003c/p\u003e\n\u003cp\u003e結論は当然出ない。1時間ぐらいの話し合いで解決するわけないもん。でも、それはそれでまたいいかなと思った。\u003c/p\u003e\n\u003cp\u003eダイアログ\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%D5%A5%A1%A5%B7%A5%EA%A5%C6%A1%BC%A5%BF%A1%BC\"\u003eファシリテーター\u003c/a\u003eは前述の通りポンコツなんで、全体的に「月曜日からは\u003ca href=\"http://d.hatena.ne.jp/keyword/Eclipse\"\u003eEclipse\u003c/a\u003eを立ち上げる」という結果にｗ 難しいです。まとめるの。\u003c/p\u003e\n\u003ch2 id=\"ビアバッシュ\"\u003eビアバッシュ\u003c/h2\u003e\n\u003cp\u003eビアバッシュも色々と話しを聞けて楽しかったです。なんかこんなの撮ったり…\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20130414/20130414132752.jpg\" alt=\"f:id:nnasaki:20130414132752j:plain\" title=\"f:id:nnasaki:20130414132752j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20130414132752j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e最後に、いろいろ告知がありました。どれも面白いイベントなんで皆さん以下の日付は空けておくと良いと思います！\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20130414/20130414131823.jpg\" alt=\"f:id:nnasaki:20130414131823j:plain\" title=\"f:id:nnasaki:20130414131823j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20130414131823j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://tohoku-dev.jp/modules/eguide/event.php?eid=200\"\u003eイベント案内 | 2013-04-24 (水) すくすくスクラムSendai 第7回 ～スクラムを描いてみよう！～ - 東北デベロッパーズコミュニティ\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://tohoku-dev.jp/modules/eguide/event.php?eid=204\"\u003eイベント案内 | 2013-04-27 (土) DBFlute勉強会「DBFluteで攻めのDB生活を」 - 東北デベロッパーズコミュニティ\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://kokucheese.com/event/index/82446/\"\u003e5月11日 Community Open Day 2013東北会場（エフスタ!!SENDAI）(宮城県)\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e","title":"DevLove仙台 4/12(金) を開催しました #Devlove #DevSen"},{"content":" ソフトウェアテスト勉強会～レビューのススメ～ - TDC - ニュース - 東北デベロッパーズコミュニティ ソフトウェアテスト勉強会～レビューのススメ～ - Togetter Devlove仙台以来の1ヶ月ぶりぐらいの勉強会参加。 時間はだいぶ押して21時30分ぐらいまでかかったけど楽しかった。\n要求仕様のレビューでしたが、自分の観点だと仕様書の中に書いてあることしか指摘出来なかった。つまり、ユーザー視点での使い心地やプロダクトオーナー視点だとこの機能に価値があるかとか。\nツイッターでつぶやかれてなかったみたいなんで、Blog に書いておきますね。\nイタコメソッド！＼(^o^)／\n","permalink":"/entry/2013/04/09/233000/","summary":"\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://tohoku-dev.jp/modules/news/article.php?storyid=192\"\u003eソフトウェアテスト勉強会～レビューのススメ～ - TDC - ニュース - 東北デベロッパーズコミュニティ\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://togetter.com/li/485778\"\u003eソフトウェアテスト勉強会～レビューのススメ～ - Togetter\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDevlove仙台以来の1ヶ月ぶりぐらいの勉強会参加。\n時間はだいぶ押して21時30分ぐらいまでかかったけど楽しかった。\u003c/p\u003e\n\u003cp\u003e要求仕様のレビューでしたが、自分の観点だと仕様書の中に書いてあることしか指摘出来なかった。つまり、ユーザー視点での使い心地やプロダクトオーナー視点だとこの機能に価値があるかとか。\u003c/p\u003e\n\u003cp\u003eツイッターでつぶやかれてなかったみたいなんで、Blog に書いておきますね。\u003c/p\u003e\n\u003cp\u003eイタコメソッド！＼(^o^)／\u003c/p\u003e\n\u003chr\u003e","title":"ソフトウェアテスト勉強会～レビューのススメ～ に行ってきた #sendaitest"},{"content":"5/11(土)にCommunity Open Day 2013が開催される予定で、東北会場のセッションにて発表することになりました。\n発表内容は「Windows Azure Mobile Service を利用したマルチプラットフォームへのプッシュ通知方法」とちょっと長めです。\nもう少し詳しく言うと、サーバーからスマホに「ツイートあったよ」とか「メールあったよ」とかプッシュ通知を実装しようとするととにかく面倒なんです。 なにが面倒かっていうと、自前でサーバーを立てなくちゃいけないのと、iOS や Android や Windows Phone で サーバーからスマホに通知する API がそれぞれ異なるため、それぞれ別々のロジックを書く必要があるからです。\nそれが Windows Azure Mobile Service を使用すれば、サーバー不要でソースも１つで済むからこんなに簡単！すごい！彼女できた！といった内容になると思います。\nセッションは50分もあるそうなんでライブコーディングとか今までやったこと無いことも出来るといいかなーと思ってます。\nまだ詳細は考え中な為、上記内容は変更になるかもしれませんが、皆様よろしくお願いいたします。\n全国8都市で「Community Open Day 2013」を開催 - GrapeCity さんのニュースリリース Community Open Day 2013 公式ページ 東北会場のタイムテーブルや場所の詳細 お申し込み 5月11日 Community Open Day 2013東北会場（エフスタ!!SENDAI）(宮城県)\n","permalink":"/entry/2013/04/06/061444/","summary":"\u003cp\u003e5/11(土)に\u003ca href=\"http://cod.ms/Pages/default.aspx\"\u003eCommunity Open Day 2013\u003c/a\u003eが開催される予定で、東北会場のセッションにて発表することになりました。\u003c/p\u003e\n\u003cp\u003e発表内容は「\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%20Azure\"\u003eWindows Azure\u003c/a\u003e Mobile Service を利用した\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DE%A5%EB%A5%C1%A5%D7%A5%E9%A5%C3%A5%C8%A5%D5%A5%A9%A1%BC%A5%E0\"\u003eマルチプラットフォーム\u003c/a\u003eへのプッシュ通知方法」とちょっと長めです。\u003c/p\u003e\n\u003cp\u003eもう少し詳しく言うと、サーバーからスマホに「ツイートあったよ」とか「メールあったよ」とかプッシュ通知を実装しようとするととにかく面倒なんです。\nなにが面倒かっていうと、自前でサーバーを立てなくちゃいけないのと、iOS や \u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e や Windows Phone で サーバーからスマホに通知する \u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003e がそれぞれ異なるため、それぞれ別々のロジックを書く必要があるからです。\u003c/p\u003e\n\u003cp\u003eそれが \u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%20Azure\"\u003eWindows Azure\u003c/a\u003e Mobile Service を使用すれば、サーバー不要でソースも１つで済むからこんなに簡単！すごい！彼女できた！といった内容になると思います。\u003c/p\u003e\n\u003cp\u003eセッションは50分もあるそうなんでライブコーディングとか今までやったこと無いことも出来るといいかなーと思ってます。\u003c/p\u003e\n\u003cp\u003eまだ詳細は考え中な為、上記内容は変更になるかもしれませんが、皆様よろしくお願いいたします。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://www.grapecity.com/tools/siteinfo/news?HomeNewsId=424\"\u003e全国8都市で「Community Open Day 2013」を開催  - GrapeCity さんのニュースリリース\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cod.ms/Pages/default.aspx\"\u003eCommunity Open Day 2013 公式ページ\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cod.ms/Pages/place_fukushima.aspx\"\u003e東北会場のタイムテーブルや場所の詳細\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eお申し込み\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://kokucheese.com/event/index/82446/\"\u003e5月11日 Community Open Day 2013東北会場（エフスタ!!SENDAI）(宮城県)\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"Community Open Day 2013 に 登壇 のお知らせ"},{"content":"pgAdminIII に DBを適当に作って pg_dump したデータ読ませようと思ったらできなかった。\n正確にはファイルは選べるけど、形式が違うみたい。\nで、どうしたかっていうと以下手順。\n解決策 スタートメニューから SQL Shell (psql) を選択 大体デフォルトでそのままENTERしていけばOKだけど、DBの選択だけきっちりやる 次のコマンドを実行する databaseName=# \\i C:/ProgramData/psql.dmp\nとりあえずこれでできたっぽい\n","permalink":"/entry/2013/03/20/230740/","summary":"\u003cp\u003epgAdminIII に DBを適当に作って \u003ca href=\"http://d.hatena.ne.jp/keyword/pg_dump\"\u003epg_dump\u003c/a\u003e したデータ読ませようと思ったらできなかった。\u003c/p\u003e\n\u003cp\u003e正確にはファイルは選べるけど、形式が違うみたい。\u003c/p\u003e\n\u003cp\u003eで、どうしたかっていうと以下手順。\u003c/p\u003e\n\u003ch1 id=\"解決策\"\u003e解決策\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eスタートメニューから \u003ca href=\"http://d.hatena.ne.jp/keyword/SQL\"\u003eSQL\u003c/a\u003e Shell (\u003ca href=\"http://d.hatena.ne.jp/keyword/psql\"\u003epsql\u003c/a\u003e) を選択\u003c/li\u003e\n\u003cli\u003e大体デフォルトでそのままENTERしていけばOKだけど、DBの選択だけきっちりやる\u003c/li\u003e\n\u003cli\u003e次のコマンドを実行する\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003edatabaseName=# \\i C:/ProgramData/\u003ca href=\"http://d.hatena.ne.jp/keyword/psql\"\u003epsql\u003c/a\u003e.dmp\u003c/p\u003e\n\u003cp\u003eとりあえずこれでできたっぽい\u003c/p\u003e\n\u003chr\u003e","title":"Windows 上の pgAdminIII に Linux から pg_dump したデータをリストアする"},{"content":"Windows のコマンドプロンプトでコピペしようとCTRL+VするとVとかなってキーってなることが多い人向けの情報。\nやり方 キー一発ではできなかった。コンビネーションキーで行う。\nALT+SPACE E P ALT+SPACE思いつかなかったわー。\n","permalink":"/entry/2013/03/20/225135/","summary":"\u003cp\u003eWindows の\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%B3%A5%DE%A5%F3%A5%C9%A5%D7%A5%ED%A5%F3%A5%D7%A5%C8\"\u003eコマンドプロンプト\u003c/a\u003eでコピペしようとCTRL+VするとVとかなってキーってなることが多い人向けの情報。\u003c/p\u003e\n\u003ch1 id=\"やり方\"\u003eやり方\u003c/h1\u003e\n\u003cp\u003eキー一発ではできなかった。コンビネーションキーで行う。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eALT+SPACE\u003c/li\u003e\n\u003cli\u003eE\u003c/li\u003e\n\u003cli\u003eP\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eALT+SPACE思いつかなかったわー。\u003c/p\u003e\n\u003chr\u003e","title":"Windows のコマンドプロンプトでマウスを使わずにコピペする"},{"content":"前半の Android は後回しにして 7章の Rails を中心に読んだ。\nJenkins の環境は Ubuntu が中心だった。まずは OSX にというところで、 capybara-webkit をそのまま gem から入れようとしたらエラーとなった。Ruby はいろいろつまづきやすい。\ncapybara-webkit のインストールエラー エラー内容 `Installing capybara-webkit (0.14.2) Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /Users/user/.rbenv/versions/1.9.3-p327/bin/ruby extconf.rb Command \u0026#39;qmake -spec macx-g++\u0026#39; not available Gem files will remain installed in /Users/user/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/capybara-webkit-0.14.2 for inspection. Results logged to /Users/user/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/capybara-webkit-0.14.2/./gem_make.out An error occurred while installing capybara-webkit (0.14.2), and Bundler cannot continue. Make sure that `gem install capybara-webkit -v \u0026#39;0.14.2\u0026#39;` succeeds before bundling. ` 対処 本書の説明で先に依存関係のあるQtを入れると書いてあったので、おそらくOSXも同様でしょうということで、以下コマンドを実行\nbrew install qt\n無事 bundle install 出来た。\n大量の DEPRECATION WARNING いざ rake rspec を実行すると大量の DEPRECATION が出た。こんな内容\nエラー内容 ``include Capybara` is deprecated. Please use `include Capybara::DSL` instead. DEPRECATION WARNING: The InstanceMethods module inside ActiveSupport::Concern will be no longer included automatically. Please define instance methods directly in RSpec::Rails::SetupAndTeardownAdapter instead. (called from \u0026lt;top (required)\u0026gt; at /Users/user/Documents/ruby/blog/spec/controllers/posts_controller_spec.rb:3) DEPRECATION WARNING: The InstanceMethods module inside ActiveSupport::Concern will be no longer included automatically. Please define instance methods directly in RSpec::Rails::TestUnitAssertionAdapter instead. (called from \u0026lt;top (required)\u0026gt; at /Users/user/Documents/ruby/blog/spec/controllers/posts_controller_spec.rb:3) ` 対処 ぐぐってみるとどうやら rspec-rails のバージョンが古いからみたい。\ngem 'rspec-rails', '~\u0026gt; 2.0' を単純に gem 'rspec-rails' にしたらとりあえずでなくなった\nDatabaseCleaner のエラー 実行しても、 0 examples, 0 failures となっていてよく見ると以下エラーが出ていた。\nエラー内容 `Exception encountered: #\u0026lt;DatabaseCleaner::UnknownStrategySpecified: The \u0026#39;trunsaction\u0026#39; strategy does not exist for the active_record ORM! Available strategies: truncation, transaction, deletion\u0026gt; ` 対処 これは単純に typo で transaction にしてあげたらうまく実行できた。\n`➜ blog git:(master) ✗ rake spec /Users/user/.rbenv/versions/1.9.3-p327/bin/ruby -S rspec ./spec/controllers/posts_controller_spec.rb ./spec/helpers/posts_helper_spec.rb ./spec/models/post_spec.rb ./spec/requests/posts_spec.rb ./spec/routing/posts_routing_spec.rb ./spec/views/posts/edit.html.erb_spec.rb ./spec/views/posts/index.html.erb_spec.rb ./spec/views/posts/new.html.erb_spec.rb ./spec/views/posts/show.html.erb_spec.rb No DRb server is running. Running in local process instead ... Rack::File headers parameter replaces cache_control after Rack 1.5. ...............*F............ Pending: PostsHelper add some examples to (or delete) /Users/user/Documents/ruby/blog/spec/helpers/posts_helper_spec.rb # No reason given # ./spec/helpers/posts_helper_spec.rb:14 Failures: 1) Posts GET /posts Failure/Error: visit posts_path NameError: undefined local variable or method `posts_path\u0026#39; for #\u0026lt;RSpec::Core::ExampleGroup::Nested_3::Nested_1:0x007ffba5c90e98\u0026gt; # ./spec/models/post_spec.rb:6:in `block (3 levels) in \u0026lt;top (required)\u0026gt;\u0026#39; Finished in 0.26662 seconds 29 examples, 1 failure, 1 pending Failed examples: rspec ./spec/models/post_spec.rb:8 # Posts GET /posts rake aborted! /Users/user/.rbenv/versions/1.9.3-p327/bin/ruby -S rspec ./spec/controllers/posts_controller_spec.rb ./spec/helpers/posts_helper_spec.rb ./spec/models/post_spec.rb ./spec/requests/posts_spec.rb ./spec/routing/posts_routing_spec.rb ./spec/views/posts/edit.html.erb_spec.rb ./spec/views/posts/index.html.erb_spec.rb ./spec/views/posts/new.html.erb_spec.rb ./spec/views/posts/show.html.erb_spec.rb failed Tasks: TOP =\u0026gt; spec (See full trace by running task with --trace) ` 実行して満足したので、今日はこの辺にしておく。\n[\n入門Jenkins―実践「継続的インテグレーション」 ](http://www.amazon.co.jp/exec/obidos/ASIN/4798035300/hatena-blog-22/)[入門Jenkins―実践「継続的インテグレーション」](http://www.amazon.co.jp/exec/obidos/ASIN/4798035300/hatena-blog-22/)- 作者: 末広尚義,竹内一成,太田健一郎,西川茂伸- 出版社/メーカー: 秀和システム- 発売日: 2012/09- メディア: 単行本- 購入: 5人 クリック: 138回- この商品を含むブログ (9件) を見る\n","permalink":"/entry/2013/03/17/233000/","summary":"\u003cp\u003e前半の \u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e は後回しにして 7章の \u003ca href=\"http://d.hatena.ne.jp/keyword/Rails\"\u003eRails\u003c/a\u003e を中心に読んだ。\u003c/p\u003e\n\u003cp\u003eJenkins の環境は \u003ca href=\"http://d.hatena.ne.jp/keyword/Ubuntu\"\u003eUbuntu\u003c/a\u003e が中心だった。まずは OSX にというところで、 capybara-\u003ca href=\"http://d.hatena.ne.jp/keyword/webkit\"\u003ewebkit\u003c/a\u003e をそのまま gem から入れようとしたらエラーとなった。\u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003e はいろいろつまづきやすい。\u003c/p\u003e\n\u003ch2 id=\"capybara-webkit-のインストールエラー\"\u003ecapybara-\u003ca href=\"http://d.hatena.ne.jp/keyword/webkit\"\u003ewebkit\u003c/a\u003e のインストールエラー\u003c/h2\u003e\n\u003ch4 id=\"エラー内容\"\u003eエラー内容\u003c/h4\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`Installing capybara-webkit (0.14.2)\nGem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.\n\n        /Users/user/.rbenv/versions/1.9.3-p327/bin/ruby extconf.rb\nCommand \u0026#39;qmake -spec macx-g++\u0026#39; not available\n\nGem files will remain installed in /Users/user/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/capybara-webkit-0.14.2 for inspection.\nResults logged to /Users/user/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/capybara-webkit-0.14.2/./gem_make.out\n\nAn error occurred while installing capybara-webkit (0.14.2), and Bundler cannot\ncontinue.\nMake sure that `gem install capybara-webkit -v \u0026#39;0.14.2\u0026#39;` succeeds before\nbundling.\n`\n\u003c/code\u003e\u003c/pre\u003e\u003ch4 id=\"対処\"\u003e対処\u003c/h4\u003e\n\u003cp\u003e本書の説明で先に依存関係のあるQtを入れると書いてあったので、おそらくOSXも同様でしょうということで、以下コマンドを実行\u003c/p\u003e","title":"入門Jenkins 読書記録(1)"},{"content":"brew docotor したらいろいろエラーが出ていたのでその対処。\nWarning: /usr/bin occurs before /usr/local/bin エラーメッセージ `Warning: /usr/bin occurs before /usr/local/bin This means that system-provided programs will be used instead of those provided by Homebrew. The following tools exist at both paths: emacs emacsclient etags gcov-4.2 git git-cvsserver git-receive-pack git-shell git-upload-archive git-upload-pack gitk Consider amending your PATH so that /usr/local/bin occurs before /usr/bin in your PATH. ` 原因 デフォルトが bash で zsh を使ったときに$PATH が /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin: のようになってしまうから。\n対処 /etc/zshenv を /etc/zprofile にリネームする\n`sudo mv /etc/zshenv /etc/zprofile ` via 【Mac】zshをサブシェルで起動するとPATHがおかしくなる - よんちゅBlog\nWarning: Unbrewed .pc files were found in /usr/local/lib/pkgconfig. エラーメッセージ `Warning: Unbrewed .pc files were found in /usr/local/lib/pkgconfig. If you didn\u0026#39;t put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted. Unexpected .pc files: /usr/local/lib/pkgconfig/osxfuse.pc ` 原因 fuse4x を入れているとなる模様。Bitcasaの時にいろいろしたけど、結局不要となったので削除する。\n対処 brew uninstall fuse4x を行い、まだエラーが出ていたので手動で削除した\n","permalink":"/entry/2013/03/16/072043/","summary":"\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/brew\"\u003ebrew\u003c/a\u003e docotor したらいろいろエラーが出ていたのでその対処。\u003c/p\u003e\n\u003ch2 id=\"warning-usrbin-occurs-before-usrlocalbin\"\u003eWarning: /usr/bin occurs before /usr/local/bin\u003c/h2\u003e\n\u003ch4 id=\"エラーメッセージ\"\u003eエラーメッセージ\u003c/h4\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`Warning: /usr/bin occurs before /usr/local/bin\nThis means that system-provided programs will be used instead of those\nprovided by Homebrew. The following tools exist at both paths:\n\n    emacs\n    emacsclient\n    etags\n    gcov-4.2\n    git\n    git-cvsserver\n    git-receive-pack\n    git-shell\n    git-upload-archive\n    git-upload-pack\n    gitk\n\nConsider amending your PATH so that /usr/local/bin\noccurs before /usr/bin in your PATH.\n`\n\u003c/code\u003e\u003c/pre\u003e\u003ch4 id=\"原因\"\u003e原因\u003c/h4\u003e\n\u003cp\u003eデフォルトが \u003ca href=\"http://d.hatena.ne.jp/keyword/bash\"\u003ebash\u003c/a\u003e で \u003ca href=\"http://d.hatena.ne.jp/keyword/zsh\"\u003ezsh\u003c/a\u003e を使ったときに$PATH が \u003ccode\u003e/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:\u003c/code\u003e のようになってしまうから。\u003c/p\u003e\n\u003ch4 id=\"対処\"\u003e対処\u003c/h4\u003e\n\u003cp\u003e/etc/zshenv を /etc/zprofile にリネームする\u003c/p\u003e","title":"brew doctor のエラー対処"},{"content":"すっごい緊張したけど、皆さんから結構いい反応あって良かったなーと思ってます。\nDevLove仙台募集ページ DevLOVE仙台 〜Share the eXperience！から始めよう〜 - DevLOVE仙台\nTogetter DevLOVE仙台 〜Share the eXperience！から始めよう〜 #devsen #devlove - Togetter\n発表スライド\n** Devlove仙台20130309 レガシープロジェクト脱出大作戦 ** from Yamamoto Masaki\nまぁ、結局脱出できてないじゃん的なツッコミもありましたが、大事なのは心構え。やらなければ変わらないってところかなー。\nぼくは自分の発表でいっぱいいっぱいだったのですが、皆さんとてもいい話だった。小泉さんが良い感じでまとめていますので気になる方はToggetterをご利用ください。\n次回はダイアログとかに自分も参加してみたいな。懇親会もすごく楽しくて、よかった。\n二次会は濃い話が多かったなーって感じ。\nこれで終わりじゃないので継続して続けるということを当面の目標かなと思います。\n","permalink":"/entry/2013/03/10/014035/","summary":"\u003cp\u003eすっごい緊張したけど、皆さんから結構いい反応あって良かったなーと思ってます。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDevLove仙台募集ページ\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://devlove-sendai.doorkeeper.jp/events/2718\"\u003eDevLOVE仙台 〜Share the eXperience！から始めよう〜 - DevLOVE仙台\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTogetter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://togetter.com/li/468935\"\u003eDevLOVE仙台 〜Share the eXperience！から始めよう〜 #devsen #devlove - Togetter\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e発表スライド\u003c/p\u003e\n\u003cp\u003e** \u003ca href=\"http://www.slideshare.net/YamamotoMasaki/devlove20130309\"\u003eDevlove仙台20130309 レガシープロジェクト脱出大作戦\u003c/a\u003e ** from \u003cstrong\u003e\u003ca href=\"http://www.slideshare.net/YamamotoMasaki\"\u003eYamamoto Masaki\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eまぁ、結局脱出できてないじゃん的なツッコミもありましたが、大事なのは心構え。やらなければ変わらないってところかなー。\u003c/p\u003e\n\u003cp\u003eぼくは自分の発表でいっぱいいっぱいだったのですが、皆さんとてもいい話だった。小泉さんが良い感じでまとめていますので気になる方はToggetterをご利用ください。\u003c/p\u003e\n\u003cp\u003e次回はダイアログとかに自分も参加してみたいな。懇親会もすごく楽しくて、よかった。\u003c/p\u003e\n\u003cp\u003e二次会は濃い話が多かったなーって感じ。\u003c/p\u003e\n\u003cp\u003eこれで終わりじゃないので継続して続けるということを当面の目標かなと思います。\u003c/p\u003e\n\u003chr\u003e","title":"DevLOVE仙台〜Share the eXperience！から始めよう〜 でしゃべってきました #devsen #devlove"},{"content":"前回の記事Developer Camp ＜Windows 8＞Windows ストアアプリ開発コンプリート 仙台 に行きましたでは、Windows Azure Mobile Services は米国の西部・東部を選ばないと有料だったが、東アジアも無料で利用できるようになった。\nまた、Android も対応して、Azure から iOS, Android, Windows Phone にプッシュ通知が遅れるようになった。料金はたぶん無料で出来るはず。まだ自分で試していないので間違ってたらごめん。\nソースは以下です。\nWindows Azureのアップデート: Androidサポート、SQLレポート サービス、Active Directoryなど… | S/N Ratio (by SATO Naoki) ","permalink":"/entry/2013/03/10/010000/","summary":"\u003cp\u003e前回の記事\u003ca href=\"http://nnasaki.hatenablog.com/entry/2013/02/23/220000\"\u003eDeveloper Camp ＜Windows 8＞Windows ストアアプリ開発コンプリート 仙台 に行きました\u003c/a\u003eでは、\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%20Azure\"\u003eWindows Azure\u003c/a\u003e Mobile Services は米国の西部・東部を選ばないと有料だったが、東アジアも無料で利用できるようになった。\u003c/p\u003e\n\u003cp\u003eまた、\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e も対応して、Azure から iOS, \u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e, Windows Phone にプッシュ通知が遅れるようになった。料金はたぶん無料で出来るはず。まだ自分で試していないので間違ってたらごめん。\u003c/p\u003e\n\u003cp\u003eソースは以下です。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://satonaoki.wordpress.com/2013/03/05/azure-updates/\"\u003eWindows Azureのアップデート: Androidサポート、SQLレポート サービス、Active Directoryなど… | S/N Ratio (by SATO Naoki)\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e","title":"Windows Azure Mobile Services が Android 対応したよ ＆ 東アジア地域でも使えるようになったよ"},{"content":"Developer Camp ＜Windows 8＞Windows ストアアプリ開発コンプリート 仙台 に行ってきました。\nWindows ストアアプリ開発ってどんなもんだろうと思ったのがきっかけです。\n全体的な感想として講義は大変わかりやすく、資料も充実していてよかった。Windows ストアアプリすげーっていうより、Azure すげーって思ったｗ\nWindows Azure Mobile Services でテーブルをちょこちょこっていじったけど、Entity Framework と同じ感じでテーブルを呼び出せ、クラウドの非同期な DB の更新が await todoTable.UpdateAsync(item) のたった1行で済んじまうのですよ。\nしかも適切にサービスを設定してれば、あの面倒なアプリへのプッシュ通知も勝手にやってくれる。ちょー便利。プッシュ通知は iOS も対応していて、近日 Android も対応。\nこれで無料って便利すぎて鼻血でるレベル。\nデザイン面とかはストアアプリだけでなく、Android や iOS にも応用が利くので、今後追跡調査していきたい。 （たしか去年のABCでAndroidのデザインはMSのサイトを参考にしてボタン幅を決めた方が良いと聞きました。）\n以下に自分のまとめを記載しておきます。\n今回の資料 テキストはネットに公開されているものと同じです。動画はまだ準備中ですが収録は終わってて編集中だそうです。\nWindows Azure ハンズオン トレーニング オンライン版 | MSDN Windows ストア アプリ開発コンプリート\nストアアプリとデスクトップアプリの違い 全画面表示 タッチ操作 ストアからの入手 MS の審査必要\n通常の.NET Framework は使えない。WIN RTを使う。 一つのアカウントで５つのデバイスまでインストールできる インスタントストアで管理\n企業内配布（サイドローディング） 審査不要\n証明書を含める グループポリシーの変更（ドメインが前提） PowerShellでインストール アプリパッケージの構成要素 アプリマニフェスト xml\nストアで表示される情報。権限とかカテゴリ対象年齢\nVisual Studio で簡単に編集可能\nブロックマップ\nすべてのファイルの。ハッシュ。改ざん防止\nWindows ストア 透明性のある承認プロセス 審査の詳細がみれる。ブラックボックスではない。\n審査の前に Windows App Cert Kit で事前チェックを推奨。\n開発の収益を最大に\n30%は手数料だが、売上金額により手数料を減額。\nUX クロム（Windows の枠とかソートのタイトル項目）を排除する コンテンツ優先 コンテンツの間に十分な余白を取る 余白は基準があり決められている。\n左上から数ミリ、コンテンツの間は数ミリ\nMSサイトにデザイン指標のドキュメント600ページぐらいがある\n大変なのでテンプレートを使うと良い\n違反すると審査通らない可能性が高い （ユーザー数多ければ例外も。。。）\nフォントのサイズも決まっている\nタッチ優先の設計\nヒートターゲット参照\n視覚フィードバックをする（色を変える、指に追従する）\nON,OFFのスライダーの方向は縦か横で統一させる\n複数のビューを考慮して設計する\n1024*768（最少）\n1366*768（ワイド画面） スナップビュー（ワイド画面以上サポート） シミュレーターで利用可能\n縦長モード\nセマンティックズーム\nXAML で定義可能\n画像の自動スケール変換機能 SVG か 3サイズのアセット(100%, 140%, 180%)\nアセットファイルは次の3つ用意する。scale-1[048]0の命名規則が必須 Logo.scale-100.png Logo.scale-140.png Logo.scale-180.png\n適切なコントラクトの使用 コントラクトとは、windows や 他アプリとの連携。他アプリとの契約をしてというイメージ。 wsdl の コントラクトと同じイメージかな？ 例えば検索と共有のこと\nタイル スタートメニューに表示されるアプリのアイコン\n正方形とワイドの2種類\nライブ タイルといわれる動的な表示が可能\n通知はローカルとクラウドを選べる\n通知\nライブタイルだけではなくトースト（上からでるポップアップのようなもの）も選べる\nトーストはむやみやたらに使わない\nWindows 通知サービス （WNS)を利用。何百万のユーザーに拡張可能。無料！\n通知サービスから受け取るのはアプリ直接ではなく、OSのサービスで受け取ってからアプリに通知する。\nローミング\n各デバイス間での設定等の共有が可能\nアプリバー *下部はコマンド用で統一 *上部はナビゲーション用で統一（戻る等） アプリのプロセスライフサイクル 実行中、一時停止、終了の３つ 違うアプリが起動されると一時停止状態になる メールを動かしている時にブラウザを立ち上げた時 メール：一時停止\nブラウザ：起動中\nその次にニュースを見てメモリが足りなくなったら\nメール：終了\nブラウザ：一時停止\nニュース：起動中\n一時停止はメモリに保存されているので特に気にしなくてよい\n終了はOSが勝手に行うので途中状態をOnSuspendingで受け取ってストレージに保存する必要がある\n5秒以内に保存を行えるようにする\nDB操作 直接RDBにつなぐことはできない（ADO.NETのような） web service が必須。 Windows Azure Mobile Services を使えば数秒でデプロイ可能 Windows Azure Mobile Services マルチテナントで10まで無料 1GB SQL DB が使用可能だが、米国東部・西部の DC を選ぶ必要がある。 他の DC を選ぶと料金が発生する。\nプッシュ通知 Windows Azure Mobile Services で可能だが・・・ Windows 8 開発者アカウントも必要で年間4800円有料。 ","permalink":"/entry/2013/02/23/220000/","summary":"\u003cp\u003e\u003ca href=\"http://www.pasonatech.co.jp/event/index.jsp?no=3751\"\u003eDeveloper Camp ＜Windows 8＞Windows ストアアプリ開発コンプリート 仙台\u003c/a\u003e に行ってきました。\u003c/p\u003e\n\u003cp\u003eWindows ストアアプリ開発ってどんなもんだろうと思ったのがきっかけです。\u003c/p\u003e\n\u003cp\u003e全体的な感想として講義は大変わかりやすく、資料も充実していてよかった。Windows ストアアプリすげーっていうより、Azure すげーって思ったｗ\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%20Azure\"\u003eWindows Azure\u003c/a\u003e Mobile Services でテーブルをちょこちょこっていじったけど、Entity Framework と同じ感じでテーブルを呼び出せ、クラウドの非同期な DB の更新が \u003ccode\u003eawait todoTable.UpdateAsync(item)\u003c/code\u003e のたった1行で済んじまうのですよ。\u003c/p\u003e\n\u003cp\u003eしかも適切にサービスを設定してれば、あの面倒なアプリへのプッシュ通知も勝手にやってくれる。ちょー便利。プッシュ通知は iOS も対応していて、近日 \u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e も対応。\u003c/p\u003e\n\u003cp\u003eこれで無料って便利すぎて鼻血でるレベル。\u003c/p\u003e\n\u003cp\u003eデザイン面とかはストアアプリだけでなく、\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e や iOS にも応用が利くので、今後追跡調査していきたい。\n（たしか去年のABCで\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003eのデザインはMSのサイトを参考にしてボタン幅を決めた方が良いと聞きました。）\u003c/p\u003e\n\u003cp\u003e以下に自分のまとめを記載しておきます。\u003c/p\u003e\n\u003ch2 id=\"今回の資料\"\u003e今回の資料\u003c/h2\u003e\n\u003cp\u003eテキストはネットに公開されているものと同じです。動画はまだ準備中ですが収録は終わってて編集中だそうです。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://msdn.microsoft.com/ja-jp/windowsazure/jj729789\"\u003eWindows Azure ハンズオン トレーニング オンライン版 | MSDN\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWindows ストア アプリ開発コンプリート\u003c/p\u003e\n\u003ch2 id=\"ストアアプリとデスクトップアプリの違い\"\u003eストアアプリとデスクトップアプリの違い\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e全画面表示\u003c/li\u003e\n\u003cli\u003eタッチ操作\u003c/li\u003e\n\u003cli\u003eストアからの入手\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMS の審査必要\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e通常の\u003ca href=\"http://d.hatena.ne.jp/keyword/.NET%20Framework\"\u003e.NET Framework\u003c/a\u003e は使えない。WIN RTを使う。\u003c/li\u003e\n\u003cli\u003e一つのアカウントで５つのデバイスまでインストールできる\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eインスタントストアで管理\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e企業内配布（サイドローディング）\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e審査不要\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e証明書を含める\u003c/li\u003e\n\u003cli\u003eグループポリシーの変更（ドメインが前提）\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/PowerShell\"\u003ePowerShell\u003c/a\u003eでインストール\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"アプリパッケージの構成要素\"\u003eアプリパッケージの構成要素\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eアプリ\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DE%A5%CB%A5%D5%A5%A7%A5%B9%A5%C8\"\u003eマニフェスト\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/xml\"\u003exml\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eストアで表示される情報。権限とかカテゴリ対象年齢\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e で簡単に編集可能\u003c/p\u003e","title":"Developer Camp ＜Windows 8＞Windows ストアアプリ開発コンプリート 仙台 に行きました"},{"content":"書くのが遅れたので、ちょっとバックデート。\n今回もOracle さんのセミナールーム。いつもありがとうございます。\n今回で１５章が終わり、残りは１６章と１７章で２年越しのDDD読書会も終わりが見えてきた感じ。来月はいろいろと予定が重なってるので１７章は作りたいなーと思ってます。\nDDD 読み終わった次は何するか楽しみですね。\n","permalink":"/entry/2013/02/22/220000/","summary":"\u003cp\u003e書くのが遅れたので、ちょっとバックデート。\u003c/p\u003e\n\u003cp\u003e今回も\u003ca href=\"http://d.hatena.ne.jp/keyword/Oracle\"\u003eOracle\u003c/a\u003e さんのセミナールーム。いつもありがとうございます。\u003c/p\u003e\n\u003cp\u003e今回で１５章が終わり、残りは１６章と１７章で２年越しのDDD読書会も終わりが見えてきた感じ。来月はいろいろと予定が重なってるので１７章は作りたいなーと思ってます。\u003c/p\u003e\n\u003cp\u003eDDD 読み終わった次は何するか楽しみですね。\u003c/p\u003e\n\u003chr\u003e","title":"第１５回 DDD(ドメイン駆動設計)勉強会 に行ってきた"},{"content":"仕事が押してしまって、半分ぐらいから参加。\n最近の流れがテスト自動化と探索的テストらしい。\n探索的テストはテスト技法ではなくスタイルなりっ！！（ババァーーーン）って感じで面白かった。確かにテスト仕様書なんてエビデンスに必要なだけで、役に立つことはあまりない。\n弊社も推し進めているWモデル（W字開発モデル）についても途中からしか聞けなかったけど参考になった。\nしっかりDevLOVE仙台の告知も行いました！みんな来てくれるといいな。\n勉強会後にはビアバッシュで、たまたまハワイから参加しましたとか、全然ソフトウェア開発はしていないんですけどもとかいろいろな人の話が聞けて良かった。ニセコのワインからニセコには最近オーストラリア人が一杯来ているんですとかとか。\nテスト勉強会は毎回面白いので、次回も時間が合えば参加したいです。\n","permalink":"/entry/2013/02/16/001505/","summary":"\u003cp\u003e仕事が押してしまって、半分ぐらいから参加。\u003c/p\u003e\n\u003cp\u003e最近の流れがテスト自動化と探索的テストらしい。\u003c/p\u003e\n\u003cp\u003e探索的テストはテスト技法ではなくスタイルなりっ！！（ババァーーーン）って感じで面白かった。確かにテスト仕様書なんてエビデンスに必要なだけで、役に立つことはあまりない。\u003c/p\u003e\n\u003cp\u003e弊社も推し進めているWモデル（W字開発モデル）についても途中からしか聞けなかったけど参考になった。\u003c/p\u003e\n\u003cp\u003eしっかり\u003ca href=\"http://devlove-sendai.doorkeeper.jp/events/2718\"\u003eDevLOVE仙台\u003c/a\u003eの告知も行いました！みんな来てくれるといいな。\u003c/p\u003e\n\u003cp\u003e勉強会後にはビアバッシュで、たまたまハワイから参加しましたとか、全然ソフトウェア開発はしていないんですけどもとかいろいろな人の話が聞けて良かった。\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%CB%A5%BB%A5%B3\"\u003eニセコ\u003c/a\u003eのワインから\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%CB%A5%BB%A5%B3\"\u003eニセコ\u003c/a\u003eには最近オーストラリア人が一杯来ているんですとかとか。\u003c/p\u003e\n\u003cp\u003eテスト勉強会は毎回面白いので、次回も時間が合えば参加したいです。\u003c/p\u003e\n\u003chr\u003e","title":"ソフトウェアテスト勉強会～JaSST'13東京報告会～ に行ってきたよ #sendaitest"},{"content":"前置き 外付けHDD のファイルシステムがまた壊れていい加減嫌になったので、クラウド上に Time Machine でバックアップできないか試してみた。\n以下、何個か候補があったが、Bitcasa にした。\nOnline Backup,Sync and Space for Mac TimeMachine用のクラウドサービス。速度が遅いのと、ちょっとお高いのでやめた。\nK Nishijimaのぶろぐ: Amazon S3上にTimeMachineでバックアップを取る方法 これにしようか迷ったけど、s3は従量制でトランザクション料も別途取られるので、TimeMachine のように細かいファイルを作ったり消したりはいくらになるか想像できなかったので、怖くなってやめた。\nBitcasa Infinite Storage | Your External Hard Drive in the Cloud こいつに決めた。1年間容量無制限で$99(今はキャンペーン中でさらに$66)は安い。\n設定方法 Bitcasa にてアカウントを取得する まー、まずはアカウントを取得しないと始まりません。以下から取得できます。このリンクから作っていただけると、無料期間が延びるっぽいので使っていただけるとうれしいです。\nSign up for an account Bitcasa のクライアントをインストールする NASのように使え、Dropbox 等のフォルダを同期とはちょっと違う感覚。\nスパース・ディスクイメージを作成する 以下のような構成で作る。ポイントは通常のNASだとイメージフォーマットはスパースバンドル・ディスクイメージで作ってたと思うけど、それだとBitcasaからマウントできなかったので、スパース・ディスクイメージで作るようにする。\nスパース・ディスクイメージを選択した後に、サイズを選択すると2Tとかどーんと選べるようになっているはず。\n名前は適当でOKです。制限はありません。\nf:id:nnasaki:20130214022028j:plain Bitcasa へコピーする 作成されたディスクイメージはそのまま Bitcasa へ放り込みましょう。2Tを作成するとだいたい980Mぐらいでした。\ntmutil で設定する Bitcasa でディスクイメージをダブルクリックしてマウントしたら、以下コマンドを実行してタイムマシンのディスクに設定します。\n`sudo tmutil setdestination /Volumes/TimeMachineOnBitcasa ` 後はひたすら待つ 2013/2/16 修正 以上でコピーが始まるはずです。私の環境で 92GBのバックアップが結構かかりました。２日経ってもまだ終わってません。３０GBを超えると速度が遅くなってしまいました。プロバイダの規制もあるかもしれませんね。というか、あるみたいです・・・。\n実運用に耐えられるかは今のところぎりぎりですね（＾＾；\n起動時に自動マウントしたりとか、そこら辺もやらないとなー。\n2013/4/15 追記 実運用は厳しかった。Bitcasa に TimeMachine でバックアップはうまくいかなかったを書きました。\n","permalink":"/entry/2013/02/14/023146/","summary":"\u003ch2 id=\"前置き\"\u003e前置き\u003c/h2\u003e\n\u003cp\u003e外付けHDD の\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%D5%A5%A1%A5%A4%A5%EB%A5%B7%A5%B9%A5%C6%A5%E0\"\u003eファイルシステム\u003c/a\u003eがまた壊れていい加減嫌になったので、クラウド上に Time Machine でバックアップできないか試してみた。\u003c/p\u003e\n\u003cp\u003e以下、何個か候補があったが、Bitcasa にした。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://www.dollydrive.com/\"\u003eOnline Backup,Sync and Space for Mac\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTimeMachine用のクラウドサービス。速度が遅いのと、ちょっとお高いのでやめた。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://k-nishijima.blogspot.jp/2012/09/amazon-s3timemachine.html\"\u003eK Nishijimaのぶろぐ: Amazon S3上にTimeMachineでバックアップを取る方法\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eこれにしようか迷ったけど、s3は従量制で\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C8%A5%E9%A5%F3%A5%B6%A5%AF%A5%B7%A5%E7%A5%F3\"\u003eトランザクション\u003c/a\u003e料も別途取られるので、TimeMachine のように細かいファイルを作ったり消したりはいくらになるか想像できなかったので、怖くなってやめた。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.bitcasa.com/\"\u003eBitcasa Infinite Storage | Your External Hard Drive in the Cloud\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eこいつに決めた。1年間容量無制限で$99(今はキャンペーン中でさらに$66)は安い。\u003c/p\u003e\n\u003ch2 id=\"設定方法\"\u003e設定方法\u003c/h2\u003e\n\u003ch3 id=\"bitcasa-にてアカウントを取得する\"\u003eBitcasa にてアカウントを取得する\u003c/h3\u003e\n\u003cp\u003eまー、まずはアカウントを取得しないと始まりません。以下から取得できます。このリンクから作っていただけると、無料期間が延びるっぽいので使っていただけるとうれしいです。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://my.bitcasa.com/invited/3f8efd7f98084a34a2f546392853021c\"\u003eSign up for an account\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"bitcasa-のクライアントをインストールする\"\u003eBitcasa のクライアントをインストールする\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/NAS\"\u003eNAS\u003c/a\u003eのように使え、\u003ca href=\"http://d.hatena.ne.jp/keyword/Dropbox\"\u003eDropbox\u003c/a\u003e 等のフォルダを同期とはちょっと違う感覚。\u003c/p\u003e\n\u003ch3 id=\"スパースディスクイメージを作成する\"\u003eスパース・ディスクイメージを作成する\u003c/h3\u003e\n\u003cp\u003e以下のような構成で作る。ポイントは通常の\u003ca href=\"http://d.hatena.ne.jp/keyword/NAS\"\u003eNAS\u003c/a\u003eだとイメージフォーマットはスパースバンドル・ディスクイメージで作ってたと思うけど、それだとBitcasaからマウントできなかったので、スパース・ディスクイメージで作るようにする。\u003c/p\u003e\n\u003cp\u003eスパース・ディスクイメージを選択した後に、サイズを選択すると2Tとかどーんと選べるようになっているはず。\u003c/p\u003e\n\u003cp\u003e名前は適当でOKです。制限はありません。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20130214/20130214022028.jpg\" alt=\"f:id:nnasaki:20130214022028j:plain\" title=\"f:id:nnasaki:20130214022028j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20130214022028j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch3 id=\"bitcasa-へコピーする\"\u003eBitcasa へコピーする\u003c/h3\u003e\n\u003cp\u003e作成されたディスクイメージはそのまま Bitcasa へ放り込みましょう。2Tを作成するとだいたい980Mぐらいでした。\u003c/p\u003e\n\u003ch3 id=\"tmutil-で設定する\"\u003etmutil で設定する\u003c/h3\u003e\n\u003cp\u003eBitcasa でディスクイメージをダブルクリックしてマウントしたら、以下コマンドを実行してタイムマシンのディスクに設定します。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`sudo tmutil setdestination /Volumes/TimeMachineOnBitcasa\n`\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"後はひたすら待つ\"\u003e後はひたすら待つ\u003c/h2\u003e\n\u003cp\u003e2013/2/16 修正\n以上でコピーが始まるはずです。私の環境で 92GBのバックアップが結構かかりました。２日経ってもまだ終わってません。３０GBを超えると速度が遅くなってしまいました。プロバイダの規制もあるかもしれませんね。というか、あるみたいです・・・。\u003c/p\u003e\n\u003cp\u003e実運用に耐えられるかは今のところぎりぎりですね（＾＾；\u003c/p\u003e","title":"Bitcasa に TimeMachine でバックアップする"},{"content":"個人的に Vagrant をいろいろ試していて、そろそろまとめようと思ったら既にVagrant - naoyaのはてなダイアリーで d:id:naoya さんがいい感じにまとめられていて先を越されてしまった。\n非常に便利な Vagrant ですが、私の Macbook にてなぜか vagrant sandbox off や vagrant sandbox rollback でエラーが出てしまったので、その対処を記載しておきます。\n環境 MacOS X 10.8.2 VirtualBox 4.2.6 rbenv 0.4.0 ruby 1.9.3p327 Vagrant 1.0.6 sahara 0.0.13 エラー内容 vagrant sandbox off時\n`$ vagrant sandbox off [default] - switching sandbox off 0%... Progress state: NS_ERROR_FAILURE VBoxManage: error: Snapshot operation failed VBoxManage: error: Failed to perform an online medium merge (VERR_INVALID_PARAMETER) VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component Console, interface IConsole VBoxManage: error: Context: \u0026#34;int handleSnapshot(HandlerArg*)\u0026#34; at line 431 of file VBoxManageSnapshot.cpp ` vagrant sandbox rollback時\n`$ vagrant sandbox rollback [default] - powering off machine 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% [default] - roll back machine 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% [default] - starting the machine again VBoxManage: error: The saved state file \u0026#39;/Users/nnasaki/VirtualBox VMs/second-kitchen_1360688166/Snapshots/2013-02-12T17-22-05-034073000Z.sav\u0026#39; is invalid (VERR_FILE_NOT_FOUND). Delete the saved state and try again VBoxManage: error: Details: code VBOX_E_FILE_ERROR (0x80bb0004), component Console, interface IConsole ` 対処 github から sahara ソースを持ってきて、issues#17 のパッチを取り込む。\nsahara をビルドするために gem をいろいろインストールすると依存関係が壊れたり意図しない gem がアップデートすると後々面倒なので、rbenv-gemset を使うようにする。\n`brew update brew install rbenv-gemset ` git clone でソースを持ってきて、echo sahara-build \u0026gt; .rbenv-gemsets すると sahara 専用の gemset というかビルド環境が用意できる。\n`git clone https://github.com/jedi4ever/sahara.git cd sahara echo sahara-build \u0026gt; .rbenv-gemsets gem install bundle bundle install rbenv rehash ` sandbox off failed: Issue #17 のパッチを取り込む。パッチはヘッダを消してissues-17.patchというファイルを作成する。\n`patch --dry-run -p0 \u0026lt; issues-17.patch patch -p0 \u0026lt; issues-17.patch rake build ` ビルドが成功したら gemset を消して後始末。消さないと~/.rbenvにゴミが残ったままになります。\n`rm .rbenv-gemsets rbenv gemset delete 1.9.3-p327 sahara-build ` sahara をインストール\n`cd pkg gem install ./sahara-0.0.13.gem rbenv rehash ` sandbox が動くことを確認\n`vagrant sandbox status vagrant sandbox on vagrant sandbox off ` sahara のビルド方法は 20120721 chefの下準備 #devlove の p90 を参考にしました。\n私の環境だけの問題かもしれませんが、メモに残しておきます。\n","permalink":"/entry/2013/02/13/042355/","summary":"\u003cp\u003e個人的に Vagrant をいろいろ試していて、そろそろまとめようと思ったら既に\u003ca href=\"http://d.hatena.ne.jp/naoya/20130205/1360062070\"\u003eVagrant - naoyaのはてなダイアリー\u003c/a\u003eで \u003ca href=\"http://d.hatena.ne.jp/naoya/\"\u003ed:id:naoya\u003c/a\u003e さんがいい感じにまとめられていて先を越されてしまった。\u003c/p\u003e\n\u003cp\u003e非常に便利な Vagrant ですが、私の \u003ca href=\"http://d.hatena.ne.jp/keyword/Macbook\"\u003eMacbook\u003c/a\u003e にてなぜか \u003ccode\u003evagrant sandbox off\u003c/code\u003e や \u003ccode\u003evagrant sandbox rollback\u003c/code\u003e でエラーが出てしまったので、その対処を記載しておきます。\u003c/p\u003e\n\u003ch2 id=\"環境\"\u003e環境\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/MacOS%20X\"\u003eMacOS X\u003c/a\u003e 10.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/VirtualBox\"\u003eVirtualBox\u003c/a\u003e 4.2.6\u003c/li\u003e\n\u003cli\u003erbenv 0.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/ruby\"\u003eruby\u003c/a\u003e 1.9.3p327\u003c/li\u003e\n\u003cli\u003eVagrant 1.0.6\u003c/li\u003e\n\u003cli\u003esahara 0.0.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"エラー内容\"\u003eエラー内容\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003evagrant sandbox off\u003c/code\u003e時\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`$ vagrant sandbox off\n[default] - switching sandbox off\n0%...\nProgress state: NS_ERROR_FAILURE\nVBoxManage: error: Snapshot operation failed\nVBoxManage: error: Failed to perform an online medium merge (VERR_INVALID_PARAMETER)\nVBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component Console, interface IConsole\nVBoxManage: error: Context: \u0026#34;int handleSnapshot(HandlerArg*)\u0026#34; at line 431 of file VBoxManageSnapshot.cpp\n`\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e\u003ccode\u003evagrant sandbox rollback\u003c/code\u003e時\u003c/p\u003e","title":"vagrant sandbox off や rollback がエラーになる時の対処"},{"content":"Web上のサンプルは1.8系の頃ばかりで割と少ない感じがしたので、メモしておく。\nたとえば、以下のような CSV から Path と FileName カラムを 削除して、FilePath という一つのカラムに結合して、さらに Text の内容に改行を含めたい場合の例。\nf:id:nnasaki:20130204005022j:plain 完成形はこんな感じ。\nf:id:nnasaki:20130204005015j:plain 作成したコードは以下。ruby convert.rb blog.csv \u0026gt; convert.csv のように実行する。\nポイントは4つ\nハッシュのように扱える :headers =\u0026gt; true を指定することで、CSV の一行目のカラムを Key として、それぞれのフィールドを Value で使えます。左から何番目と指定する必要が無いので、CSV の形式が変わっても使えるのでとても便利\nコマンドのように実行できる CSV.filter を使用すると、第一引数を INPUT として扱い、OUTPUT は標準出力となります。これで、sed や awk 等の感覚で実行できるスクリプトが簡単に作成できます。\nヘッダーの加工は注意が必要 ヘッダーだけ特別な加工をしたいので、if row.header_row? としています。next で以降の処理はさせずに次のループに移るようにしています。\nMAC の場合、改行コード入力は ALT+¥ で入力すること row[\u0026quot;Text\u0026quot;] \u0026lt;\u0026lt; \u0026quot;ああ\\nええ\u0026quot; に改行コード \\n を入れても改行できず、おっかしいなーと思ったら、ALTを押さないと円マーク(¥)になってしまい、バックスラッシュ(\\)にならなかったためでした。\nいつもはコンソールで irb でやっているので気づきませんでしたが、今回は Sublime Text 2 でエディタ使ってやってたら、はまってしまった。\n2000行ぐらいならほぼ一瞬で済んでしまうようなので、良さそう。まだ自分の中でデータ加工する際の複数のハッシュキーを削除する方法とか、ハッシュではない普通の配列とシンボルとかがごちゃごちゃになってて Ruby 力の足りなさを痛感しました。\n","permalink":"/entry/2013/02/05/012212/","summary":"\u003cp\u003eWeb上のサンプルは1.8系の頃ばかりで割と少ない感じがしたので、メモしておく。\u003c/p\u003e\n\u003cp\u003eたとえば、以下のような \u003ca href=\"http://d.hatena.ne.jp/keyword/CSV\"\u003eCSV\u003c/a\u003e から Path と FileName カラムを 削除して、FilePath という一つのカラムに結合して、さらに Text の内容に改行を含めたい場合の例。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20130204/20130204005022.jpg\" alt=\"f:id:nnasaki:20130204005022j:plain\" title=\"f:id:nnasaki:20130204005022j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20130204005022j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e完成形はこんな感じ。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20130204/20130204005015.jpg\" alt=\"f:id:nnasaki:20130204005015j:plain\" title=\"f:id:nnasaki:20130204005015j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20130204005015j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e作成したコードは以下。\u003ccode\u003eruby convert.rb blog.csv \u0026gt; convert.csv\u003c/code\u003e のように実行する。\u003c/p\u003e\n\u003cp\u003eポイントは4つ\u003c/p\u003e\n\u003ch3 id=\"ハッシュのように扱える\"\u003eハッシュのように扱える\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003e:headers =\u0026gt; true\u003c/code\u003e を指定することで、\u003ca href=\"http://d.hatena.ne.jp/keyword/CSV\"\u003eCSV\u003c/a\u003e の一行目のカラムを Key として、それぞれのフィールドを Value で使えます。左から何番目と指定する必要が無いので、\u003ca href=\"http://d.hatena.ne.jp/keyword/CSV\"\u003eCSV\u003c/a\u003e の形式が変わっても使えるのでとても便利\u003c/p\u003e\n\u003ch3 id=\"コマンドのように実行できる\"\u003eコマンドのように実行できる\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/CSV\"\u003eCSV\u003c/a\u003e.filter を使用すると、第一引数を INPUT として扱い、OUTPUT は標準出力となります。これで、\u003ca href=\"http://d.hatena.ne.jp/keyword/sed\"\u003esed\u003c/a\u003e や \u003ca href=\"http://d.hatena.ne.jp/keyword/awk\"\u003eawk\u003c/a\u003e 等の感覚で実行できるスクリプトが簡単に作成できます。\u003c/p\u003e\n\u003ch3 id=\"ヘッダーの加工は注意が必要\"\u003eヘッダーの加工は注意が必要\u003c/h3\u003e\n\u003cp\u003eヘッダーだけ特別な加工をしたいので、\u003ccode\u003eif row.header_row?\u003c/code\u003e としています。next で以降の処理はさせずに次のループに移るようにしています。\u003c/p\u003e\n\u003ch3 id=\"mac-の場合改行コード入力は-alt-で入力すること\"\u003eMAC の場合、改行コード入力は ALT+¥ で入力すること\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003erow[\u0026quot;Text\u0026quot;] \u0026lt;\u0026lt; \u0026quot;ああ\\nええ\u0026quot;\u003c/code\u003e に改行コード \u003ccode\u003e\\n\u003c/code\u003e を入れても改行できず、おっかしいなーと思ったら、ALTを押さないと円マーク(\u003ccode\u003e¥\u003c/code\u003e)になってしまい、バックスラッシュ(\u003ccode\u003e\\\u003c/code\u003e)にならなかったためでした。\u003c/p\u003e\n\u003cp\u003eいつもはコンソールで \u003ca href=\"http://d.hatena.ne.jp/keyword/irb\"\u003eirb\u003c/a\u003e でやっているので気づきませんでしたが、今回は \u003ca href=\"http://d.hatena.ne.jp/keyword/Sublime\"\u003eSublime\u003c/a\u003e Text 2 でエディタ使ってやってたら、はまってしまった。\u003c/p\u003e\n\u003cp\u003e2000行ぐらいならほぼ一瞬で済んでしまうようなので、良さそう。まだ自分の中でデータ加工する際の複数のハッシュキーを削除する方法とか、ハッシュではない普通の配列とシンボルとかがごちゃごちゃになってて \u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003e 力の足りなさを痛感しました。\u003c/p\u003e\n\u003chr\u003e","title":"Ruby 1.9.3 で CSV を加工したい"},{"content":"Rails に入ったとたんにはまりだしたｗ\nまず、19章で環境のセットアップが本書と異なる。 本書は Rails 3.0.0, cucumber-rails 0.3.2 となっており、自分は Rails 3.2.11, cucumber-rails は 1.3.0 をインストールした。 そうしたところ、web_step.rbが最新の cucumber には入っていないらしい。\n20章から急に駆け足になる。序盤の丁寧な説明は全くなく、サンプルコードをダウンロードして後はよろしく見てくれというスタンスっぽい。ソースコードは http://pragprog.com/titles/achbd/source_code からダウンロードできる。\nおかげでいろいろハマッタのでメモしておく。\nattr_accessible が必要 Rails 3.2 あたりからセキュリティ強化のため、フォームからモデルのインスタンス変数にアクセスする場合は、明示的に attr_accessible をつける必要があるらしく追加した。\nmodel/genre.rb\n`class Genre \u0026lt; ActiveRecord::Base has_and_belongs_to_many :movies attr_accessible :name end ` model/movie.rb\n`class Movie \u0026lt; ActiveRecord::Base has_and_belongs_to_many :genres attr_accessible :title, :release_year, :genres .... ` migrateに余計なカラムつけない has_and_belongs_to_many にタイムスタンプは不要となったので削る\ndb/migrate/20130129180816_create_genres_movies.rb\nTYPO。。。 意気揚々とrake cucumberするもエラー。\nScenario: Create movie in genre # features/create_movie.feature:7 Given a genre named Comedy # features/step_definitions/genre_steps.rb:9 When I create a movie Caddyshack in the Comedy genre # features/step_definitions/movie_steps.rb:9 Then Caddyshack should be in the Comedy genre # features/step_definitions/movie_steps.rb:18 undefined method `movies\u0026rsquo; for #Genre:0x007f839de03260 (ActionView::Template::Error)\nどうやら、genre.moviesでエラーになっている。TYPOしてしまってhas_and_belongs_to_many :moveis としてしまいエラーが発生していた movies に直した。\nwebrat じゃなくて capybara が動いていた `Then Caddyshack should be in the Comedy genre # features/step_definitions/movie_steps.rb:18 stack level too deep (SystemStackError) features/create_movie.feature:10:in `Then Caddyshack should be in the Comedy genre\u0026#39; ` わけわからんエラーのため、movie_step.rb に save_page を入れてって確認したところ、response.should contain(\u0026quot;1 movie\u0026quot;) でエラーになっている模様。page.should have_content(\u0026quot;1 movie\u0026quot;)とすることで回避できた。\nどうやら、 webrat ではなく capybara が動いていたようで書き換えが必要となった。\nこれで何とか green になった。\nエラーメッセージから修正箇所が想像しづらく、手間取ってしまった。\n[\nThe RSpec Book (Professional Ruby Series) ](http://www.amazon.co.jp/exec/obidos/ASIN/4798121932/hatena-blog-22/)[The RSpec Book (Professional Ruby Series)](http://www.amazon.co.jp/exec/obidos/ASIN/4798121932/hatena-blog-22/)- 作者: David Chelimsky,Dave Astels,Zach Dennis,角谷　信太郎,豊田　祐司,株式会社クイープ- 出版社/メーカー: 翔泳社- 発売日: 2012/02/22- メディア: 大型本- 購入: 6人 クリック: 129回- この商品を含むブログ (13件) を見る\n","permalink":"/entry/2013/01/30/052849/","summary":"\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Rails\"\u003eRails\u003c/a\u003e に入ったとたんにはまりだしたｗ\u003c/p\u003e\n\u003cp\u003eまず、19章で環境のセットアップが本書と異なる。\n本書は \u003ca href=\"http://d.hatena.ne.jp/keyword/Rails\"\u003eRails\u003c/a\u003e 3.0.0, cucumber-\u003ca href=\"http://d.hatena.ne.jp/keyword/rails\"\u003erails\u003c/a\u003e 0.3.2 となっており、自分は \u003ca href=\"http://d.hatena.ne.jp/keyword/Rails\"\u003eRails\u003c/a\u003e 3.2.11, cucumber-\u003ca href=\"http://d.hatena.ne.jp/keyword/rails\"\u003erails\u003c/a\u003e は 1.3.0 をインストールした。\nそうしたところ、\u003ccode\u003eweb_step.rb\u003c/code\u003eが最新の cucumber には入っていないらしい。\u003c/p\u003e\n\u003cp\u003e20章から急に駆け足になる。序盤の丁寧な説明は全くなく、サンプルコードをダウンロードして後はよろしく見てくれというスタンスっぽい。\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%BD%A1%BC%A5%B9%A5%B3%A1%BC%A5%C9\"\u003eソースコード\u003c/a\u003eは  \u003ca href=\"http://pragprog.com/titles/achbd/source_code\"\u003ehttp://pragprog.com/titles/achbd/source_code\u003c/a\u003e からダウンロードできる。\u003c/p\u003e\n\u003cp\u003eおかげでいろいろハマッタのでメモしておく。\u003c/p\u003e\n\u003ch2 id=\"attr_accessible-が必要\"\u003eattr_accessible が必要\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Rails\"\u003eRails\u003c/a\u003e 3.2 あたりからセキュリティ強化のため、フォームからモデルの\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%BF%A5%F3%A5%B9\"\u003eインスタンス\u003c/a\u003e変数にアクセスする場合は、明示的に attr_accessible をつける必要があるらしく追加した。\u003c/p\u003e\n\u003cp\u003emodel/genre.rb\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`class Genre \u0026lt; ActiveRecord::Base\n  has_and_belongs_to_many :movies\n  attr_accessible :name\nend\n`\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003emodel/movie.rb\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`class Movie \u0026lt; ActiveRecord::Base\n  has_and_belongs_to_many :genres\n  attr_accessible :title, :release_year, :genres\n      ....\n`\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"migrateに余計なカラムつけない\"\u003emigrateに余計なカラムつけない\u003c/h2\u003e\n\u003cp\u003ehas_and_belongs_to_many にタイムスタンプは不要となったので削る\u003c/p\u003e\n\u003cp\u003edb/migrate/20130129180816_create_genres_movies.rb\u003c/p\u003e\n\u003ch2 id=\"typo\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/TYPO\"\u003eTYPO\u003c/a\u003e。。。\u003c/h2\u003e\n\u003cp\u003e意気揚々と\u003ccode\u003erake cucumber\u003c/code\u003eするもエラー。\u003c/p\u003e\n\u003cp\u003eScenario: Create movie in genre                        # features/create_movie.feature:7\nGiven a genre named Comedy                           # features/step_definitions/genre_steps.rb:9\nWhen I create a movie Caddyshack in the Comedy genre # features/step_definitions/movie_steps.rb:9\nThen Caddyshack should be in the Comedy genre        # features/step_definitions/movie_steps.rb:18\nundefined method `movies\u0026rsquo; for #\u003ca href=\"Genre:0x007f839de03260\"\u003eGenre:0x007f839de03260\u003c/a\u003e (\u003ca href=\"http://d.hatena.ne.jp/keyword/ActionView\"\u003eActionView\u003c/a\u003e::Template::Error)\u003c/p\u003e","title":"The RSpec Book 読書記録(2)"},{"content":"ちょこちょこ Rails をいじる機会が多くなってきたので、やっぱりテスト書かなくちゃと思って The RSpec Book を購入しました。（たまたま翔泳社のポイントをいただいたというのも大きいけど）\n[\nThe RSpec Book (Professional Ruby Series) ](http://www.amazon.co.jp/exec/obidos/ASIN/4798121932/hatena-blog-22/)[The RSpec Book (Professional Ruby Series)](http://www.amazon.co.jp/exec/obidos/ASIN/4798121932/hatena-blog-22/)- 作者: David Chelimsky,Dave Astels,Zach Dennis,角谷　信太郎,豊田　祐司,株式会社クイープ- 出版社/メーカー: 翔泳社- 発売日: 2012/02/22- メディア: 大型本- 購入: 6人 クリック: 129回- この商品を含むブログ (13件) を見る\nタイトルは RSpec とあるけど、前書きにあるとおり Cucumber も出てくるし、BDD の側面が強い。ちゃんと BDD と TDD のサイクルをどう回すか、アジャイル開発とはまで出てきて、良いことが書いてある。\nさて、目的の Rails については前半は出てこなくて、19章以降になる。ここで Gemfile に Cucumber を書いてインストールするんだけど、本書のままだと Rails 3.2.11 でうまく動かなかったのでメモしておく。cucmber-railsとdatabase_cleanerをtestグループにのみ含めるのがポイント。\n`group :development, :test do gem \u0026#34;rspec-rails\u0026#34; gem \u0026#34;webrat\u0026#34; end group :test do gem \u0026#34;cucumber-rails\u0026#34; gem \u0026#39;database_cleaner\u0026#39; end ` ","permalink":"/entry/2013/01/27/013805/","summary":"\u003cp\u003eちょこちょこ \u003ca href=\"http://d.hatena.ne.jp/keyword/Rails\"\u003eRails\u003c/a\u003e をいじる機会が多くなってきたので、やっぱりテスト書かなくちゃと思って The \u003ca href=\"http://d.hatena.ne.jp/keyword/RSpec\"\u003eRSpec\u003c/a\u003e Book を購入しました。（たまたま\u003ca href=\"http://d.hatena.ne.jp/keyword/%E6%C6%B1%CB%BC%D2\"\u003e翔泳社\u003c/a\u003eのポイントをいただいたというのも大きいけど）\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://ecx.images-amazon.com/images/I/51-3T735zLL._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"The RSpec Book (Professional Ruby Series)\" title=\"The RSpec Book (Professional Ruby Series)\"\u003e\u003cfigcaption\u003eThe RSpec Book (Professional Ruby Series)\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/4798121932/hatena-blog-22/)%5BThe\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/4798121932/hatena-blog-22/)[The\u003c/a\u003e RSpec Book (Professional Ruby Series)](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/4798121932/hatena-blog-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/4798121932/hatena-blog-22/)-\u003c/a\u003e 作者: David Chelimsky,Dave Astels,Zach Dennis,角谷　信太郎,豊田　祐司,\u003ca href=\"http://d.hatena.ne.jp/keyword/%B3%F4%BC%B0%B2%F1%BC%D2%A5%AF%A5%A4%A1%BC%A5%D7\"\u003e株式会社クイープ\u003c/a\u003e- 出版社/メーカー: \u003ca href=\"http://d.hatena.ne.jp/keyword/%E6%C6%B1%CB%BC%D2\"\u003e翔泳社\u003c/a\u003e- 発売日: 2012/02/22- メディア: 大型本- 購入: 6人 クリック: 129回- \u003ca href=\"http://d.hatena.ne.jp/asin/4798121932/hatena-blog-22\"\u003eこの商品を含むブログ (13件) を見る\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eタイトルは \u003ca href=\"http://d.hatena.ne.jp/keyword/RSpec\"\u003eRSpec\u003c/a\u003e とあるけど、前書きにあるとおり Cucumber も出てくるし、BDD の側面が強い。ちゃんと BDD と TDD のサイクルをどう回すか、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A2%A5%B8%A5%E3%A5%A4%A5%EB\"\u003eアジャイル\u003c/a\u003e開発とはまで出てきて、良いことが書いてある。\u003c/p\u003e\n\u003cp\u003eさて、目的の \u003ca href=\"http://d.hatena.ne.jp/keyword/Rails\"\u003eRails\u003c/a\u003e については前半は出てこなくて、19章以降になる。ここで Gemfile に Cucumber を書いてインストールするんだけど、本書のままだと \u003ca href=\"http://d.hatena.ne.jp/keyword/Rails\"\u003eRails\u003c/a\u003e 3.2.11 でうまく動かなかったのでメモしておく。\u003ccode\u003ecucmber-rails\u003c/code\u003eと\u003ccode\u003edatabase_cleaner\u003c/code\u003eをtestグループにのみ含めるのがポイント。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`group :development, :test do\n  gem \u0026#34;rspec-rails\u0026#34;\n  gem \u0026#34;webrat\u0026#34;\nend\n\ngroup :test do\n  gem \u0026#34;cucumber-rails\u0026#34;\n  gem \u0026#39;database_cleaner\u0026#39;\nend\n`\n\u003c/code\u003e\u003c/pre\u003e\u003chr\u003e","title":"The RSpec Book 読書記録(1)"},{"content":" 宮城大学大学院 情報デザイン特別講義 2012 小飼 弾 先生 がいらっしゃるということで行ってきた。\nもう全然 Perl の話じゃなくてコンピューターサイエンス。いや、それも通り越してしまって、哲学的なものを感じました。\nだって、print \u0026quot;Hello, World\u0026quot;がプログラムかデータか？っていうところから、チューリングマシンが出てきて、ライフゲームが出てきて。ライフゲームに生命があるか？\nこんなの話の展開誰が想像できますか？ｗ\nで、生命ってのは結局 生命 → 物理法則 ＋ 初期状態 と言い表すことができるかもしれないって一つの結論が導きだされた。ライフゲームが1970年に生まれて、チューリングマシンが表現できるとわかったのが2010年で４０年かかっている。 これは物理法則が単純すぎるから、初期状態を探すのに時間がかかった。\nこれもプログラミングに当てはめることが可能でプログラム → 言語 ＋ ソースコードであり、言語が複雑になるほどソースコードは簡略化可能で、言語が簡単なほどソースコードは複雑化するっていうので、BrainFuck 等の言語で FizzBuzz を表す例を見た。\nライブコーディングもあり、フィボナッチ数は普通に書くと35あたりから辛くなるというところで、高速化するにはどうするか？という問題。Perl だと memorize の２行を追加すれば良いということで、自前でキャッシュする場合との比較を行った。\nここら辺のプログラミングはHigher-Order Perlというとても良い本がPDFで全文公開されているので是非見て欲しいとのことだった。英語だけど。日本語だとメタプログラミングRubyとかいいかもしれないね。\n今後求められるプログラマーとしては複雑なものから単純なものを生み出す。つまり、メタプログラミングのできるプログラマーが求められるとの話。\n最後は杜の都ということを意識していただいたかもしれないお言葉で結論が導き出された。\n逆に考えるんだ\n","permalink":"/entry/2013/01/13/230634/","summary":"\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://sendai.pm.org/myu2012/\"\u003e宮城大学大学院 情報デザイン特別講義 2012\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e小飼 弾 先生  がいらっしゃるということで行ってきた。\u003c/p\u003e\n\u003cp\u003eもう全然 \u003ca href=\"http://d.hatena.ne.jp/keyword/Perl\"\u003ePerl\u003c/a\u003e の話じゃなくてコンピューターサイエンス。いや、それも通り越してしまって、哲学的なものを感じました。\u003c/p\u003e\n\u003cp\u003eだって、\u003ccode\u003eprint \u0026quot;Hello, World\u0026quot;\u003c/code\u003eがプログラムかデータか？っていうところから、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C1%A5%E5%A1%BC%A5%EA%A5%F3%A5%B0%A5%DE%A5%B7%A5%F3\"\u003eチューリングマシン\u003c/a\u003eが出てきて、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%E9%A5%A4%A5%D5%A5%B2%A1%BC%A5%E0\"\u003eライフゲーム\u003c/a\u003eが出てきて。\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%E9%A5%A4%A5%D5%A5%B2%A1%BC%A5%E0\"\u003eライフゲーム\u003c/a\u003eに生命があるか？\u003c/p\u003e\n\u003cp\u003eこんなの話の展開誰が想像できますか？ｗ\u003c/p\u003e\n\u003cp\u003eで、生命ってのは結局 \u003ccode\u003e生命 → 物理法則 ＋ 初期状態\u003c/code\u003e と言い表すことができるかもしれないって一つの結論が導きだされた。\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%E9%A5%A4%A5%D5%A5%B2%A1%BC%A5%E0\"\u003eライフゲーム\u003c/a\u003eが1970年に生まれて、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C1%A5%E5%A1%BC%A5%EA%A5%F3%A5%B0%A5%DE%A5%B7%A5%F3\"\u003eチューリングマシン\u003c/a\u003eが表現できるとわかったのが2010年で４０年かかっている。\nこれは物理法則が単純すぎるから、初期状態を探すのに時間がかかった。\u003c/p\u003e\n\u003cp\u003eこれもプログラミングに当てはめることが可能で\u003ccode\u003eプログラム → 言語 ＋ ソースコード\u003c/code\u003eであり、言語が複雑になるほど\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%BD%A1%BC%A5%B9%A5%B3%A1%BC%A5%C9\"\u003eソースコード\u003c/a\u003eは簡略化可能で、言語が簡単なほど\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%BD%A1%BC%A5%B9%A5%B3%A1%BC%A5%C9\"\u003eソースコード\u003c/a\u003eは複雑化するっていうので、\u003ca href=\"http://d.hatena.ne.jp/keyword/BrainFuck\"\u003eBrainFuck\u003c/a\u003e 等の言語で \u003ca href=\"http://d.hatena.ne.jp/keyword/FizzBuzz\"\u003eFizzBuzz\u003c/a\u003e を表す例を見た。\u003c/p\u003e\n\u003cp\u003eライブコーディングもあり、フィボナッチ数は普通に書くと35あたりから辛くなるというところで、高速化するにはどうするか？という問題。\u003ca href=\"http://d.hatena.ne.jp/keyword/Perl\"\u003ePerl\u003c/a\u003e だと \u003ca href=\"http://d.hatena.ne.jp/keyword/memorize\"\u003ememorize\u003c/a\u003e の２行を追加すれば良いということで、自前でキャッシュする場合との比較を行った。\u003c/p\u003e\n\u003cp\u003eここら辺のプログラミングは\u003ca href=\"http://hop.perl.plover.com/\"\u003eHigher-Order Perl\u003c/a\u003eというとても良い本がPDFで全文公開されているので是非見て欲しいとのことだった。英語だけど。日本語だとメタプログラミング\u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003eとかいいかもしれないね。\u003c/p\u003e\n\u003cp\u003e今後求められる\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DE\"\u003eプログラマ\u003c/a\u003eーとしては複雑なものから単純なものを生み出す。つまり、メタプログラミングのできる\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DE\"\u003eプログラマ\u003c/a\u003eーが求められるとの話。\u003c/p\u003e\n\u003cp\u003e最後は杜の都ということを意識していただいたかもしれないお言葉で結論が導き出された。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e逆に考えるんだ\u003c/p\u003e\u003c/blockquote\u003e\n\u003chr\u003e","title":"宮城大学大学院 情報デザイン特別講義 2012 に行ってきた"},{"content":"せっかくの休みなのに、所用で友人との忘年会2件ぐらい参加できなかったので黙々とプログラミングをするとか、とても勿体ない年末年始を過ごした。\n忘れないうちにやったことと感想をメモしておく。iOS と Play Framework と Rails をやった。\niOS 2歳の息子が電車とか車が大好きなので、あいうえお順に電車を表示するアプリを作った。単純に page based application で写真を表示するようにしただけ。写真は wikipedia から拾ってきた。写真のライセンスを確認していなかったので、ソース公開は現時点でちょっと控える。写真のライセンスを確認したら公開したい。\n今後やりたいことは２つある。\n起動時にメモリにガッって、全写真を読み込むのでとてもよろしくない。Core Data やらを勉強してページごとに動的に読むように改善したい。 写真のリサイズは iOS 6 だと自動でやってくれるけど、iOS 5 だとやってくれないのでなんとかしたい。でも面倒なので iOS 6 な iPad を購入して息子に与えてしまった。お金で解決できることはお金で解決してしまうというのが最近のモットー。ｳﾞｧｲﾔｲﾔｲﾔｲﾔｰ、 Play Framework いまさらながら、Web+DB vol 71 を見ながら写経してみた。やってみた感じ、View は Razor なので ASP.NET MVC と同じ感じで組めてすんなり入れた。けれど、SQLを直接書く必要があったり Model と Controller は Scala で書かれたコードを見てもイマイチ理解できなくて、今後使うことは今のところ無いかなという感想。\n非同期やホットリロードという魅力的な利点があることは理解したので、今後 Scala 力が高まったらまた試してみたいと思った。\nRuby On Rails お仕事でプロトタイプを作成するのにちょっと使った。だいぶ前にハローワールドぐらいはやってたんだけど、テストや配信周りを含めて本腰入れてやってみた。\nAssets Pipeline とやらの仕組みが最初わからず、なんで jQuery やら SASS やらがロードされるのかわからなかった。あと、Production で Deploy するとそこら辺でエラーになったりとか。\nけれど、ググればなんとかなった。持っている本は Rails 1.x や 2.x の頃で、現在の3.2とは異なりすぎていて吹いた。\n今のところ Play よりは理解できているので、もうしばらくいじってみたいと思う。Rails だけでなく、テストに RSpec や Cucumber を使ったり、本番環境への配信も Chef やら Capistrano 等の Rails 周りのやつも使っていきたい。開発・テスト・デプロイとすべて一貫して Ruby でできるあたりに、Rubyist の Ruby 愛を感じた。\n","permalink":"/entry/2013/01/09/231928/","summary":"\u003cp\u003eせっかくの休みなのに、所用で友人との忘年会2件ぐらい参加できなかったので黙々とプログラミングをするとか、とても勿体ない年末年始を過ごした。\u003c/p\u003e\n\u003cp\u003e忘れないうちにやったことと感想をメモしておく。iOS と Play Framework と \u003ca href=\"http://d.hatena.ne.jp/keyword/Rails\"\u003eRails\u003c/a\u003e をやった。\u003c/p\u003e\n\u003ch2 id=\"ios\"\u003eiOS\u003c/h2\u003e\n\u003cp\u003e2歳の息子が電車とか車が大好きなので、あいうえお順に電車を表示するアプリを作った。単純に page based application で写真を表示するようにしただけ。写真は \u003ca href=\"http://d.hatena.ne.jp/keyword/wikipedia\"\u003ewikipedia\u003c/a\u003e から拾ってきた。写真のライセンスを確認していなかったので、ソース公開は現時点でちょっと控える。写真のライセンスを確認したら公開したい。\u003c/p\u003e\n\u003cp\u003e今後やりたいことは２つある。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e起動時にメモリにガッって、全写真を読み込むのでとてもよろしくない。Core Data やらを勉強してページごとに動的に読むように改善したい。\u003c/li\u003e\n\u003cli\u003e写真のリサイズは iOS 6 だと自動でやってくれるけど、\u003ca href=\"http://d.hatena.ne.jp/keyword/iOS%205\"\u003eiOS 5\u003c/a\u003e だとやってくれないのでなんとかしたい。でも面倒なので iOS 6 な \u003ca href=\"http://d.hatena.ne.jp/keyword/iPad\"\u003eiPad\u003c/a\u003e を購入して息子に与えてしまった。お金で解決できることはお金で解決してしまうというのが最近のモットー。ｳﾞｧｲﾔｲﾔｲﾔｲﾔｰ、\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"play-framework\"\u003ePlay Framework\u003c/h2\u003e\n\u003cp\u003eいまさらながら、Web+DB vol 71 を見ながら写経してみた。やってみた感じ、View は Razor なので \u003ca href=\"http://d.hatena.ne.jp/keyword/ASP.NET%20MVC\"\u003eASP.NET MVC\u003c/a\u003e と同じ感じで組めてすんなり入れた。けれど、\u003ca href=\"http://d.hatena.ne.jp/keyword/SQL\"\u003eSQL\u003c/a\u003eを直接書く必要があったり Model と Controller は \u003ca href=\"http://d.hatena.ne.jp/keyword/Scala\"\u003eScala\u003c/a\u003e で書かれたコードを見てもイマイチ理解できなくて、今後使うことは今のところ無いかなという感想。\u003c/p\u003e\n\u003cp\u003e非同期やホットリロードという魅力的な利点があることは理解したので、今後 \u003ca href=\"http://d.hatena.ne.jp/keyword/Scala\"\u003eScala\u003c/a\u003e 力が高まったらまた試してみたいと思った。\u003c/p\u003e\n\u003ch2 id=\"ruby-on-rails\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby%20On%20Rails\"\u003eRuby On Rails\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eお仕事でプロトタイプを作成するのにちょっと使った。だいぶ前にハローワールドぐらいはやってたんだけど、テストや配信周りを含めて本腰入れてやってみた。\u003c/p\u003e\n\u003cp\u003eAssets Pipeline とやらの仕組みが最初わからず、なんで \u003ca href=\"http://d.hatena.ne.jp/keyword/jQuery\"\u003ejQuery\u003c/a\u003e やら SASS やらがロードされるのかわからなかった。あと、Production で Deploy するとそこら辺でエラーになったりとか。\u003c/p\u003e\n\u003cp\u003eけれど、ググればなんとかなった。持っている本は \u003ca href=\"http://d.hatena.ne.jp/keyword/Rails\"\u003eRails\u003c/a\u003e 1.x や 2.x の頃で、現在の3.2とは異なりすぎていて吹いた。\u003c/p\u003e\n\u003cp\u003e今のところ Play よりは理解できているので、もうしばらくいじってみたいと思う。\u003ca href=\"http://d.hatena.ne.jp/keyword/Rails\"\u003eRails\u003c/a\u003e だけでなく、テストに \u003ca href=\"http://d.hatena.ne.jp/keyword/RSpec\"\u003eRSpec\u003c/a\u003e や Cucumber を使ったり、本番環境への配信も Chef やら \u003ca href=\"http://d.hatena.ne.jp/keyword/Capistrano\"\u003eCapistrano\u003c/a\u003e 等の \u003ca href=\"http://d.hatena.ne.jp/keyword/Rails\"\u003eRails\u003c/a\u003e 周りのやつも使っていきたい。開発・テスト・デプロイとすべて一貫して \u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003e でできるあたりに、\u003ca href=\"http://d.hatena.ne.jp/keyword/Rubyist\"\u003eRubyist\u003c/a\u003e の \u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003e 愛を感じた。\u003c/p\u003e","title":"年末年始にやったことメモ"},{"content":"あけましておめでとうございます。今年もよろしくお願いします。\n1/6までお休みなので、去年の振り返りと今年の目標をゆっくり決めようかなと思っています。\n","permalink":"/entry/2013/01/01/222548/","summary":"\u003cp\u003eあけましておめでとうございます。今年もよろしくお願いします。\u003c/p\u003e\n\u003cp\u003e1/6までお休みなので、去年の振り返りと今年の目標をゆっくり決めようかなと思っています。\u003c/p\u003e\n\u003chr\u003e","title":"あけましておめでとうございます"},{"content":"この記事はTDD Advent Calendar jp: 2012 : ATND の6日目です。\n前日(5日目)は @a_suenami さんの 受託開発でTDDを導入するということ でした。\nデシジョンテーブルを使ってテストしたい！ 仙台で行われている、仙台ソフトウェアテスト勉強会とデシジョンテーブルとSpockで試すTDD（ネタ） - pocketberserkerの爆走にインスパイアされ、テスト技法としてデシジョンテーブルを書いた後に、具体的にどのようにテストの自動化を行うか考えてみました。\n今回は（も？）FizzBuzzをお題としたいと思います。\nデシジョンテーブルとは？ デシジョン・テーブルを活用するを参照してください。以下引用します。\nデシジョン・テーブル（ディシジョン・テーブル）は decision table、 つまりそのまま訳せば「決定表」です。 様々な事情・条件を考慮して、 何かを「決める」ときに、 それを表形式で表現する方法です。\nSpecFlowを使用する id:pocketberserker さんは Groovy で実践していらっしゃいますが、私は c# でデシジョンテーブルを表現できないか試行錯誤してみました。テーブルの表現は Ruby on Rails の受け入れテストでよく使用される Cucumber でできそうです。 c# では Cucumber は残念ながら使用できませんが、同じDSL(Gherkin)を使用できる SpecFlow というツールで代用ができそうです。\n環境設定 以下の環境で試しています。\nWindows 8 Visual Studio 2012 Professional (Expressは拡張が入らないので非推奨) c# また、Visual Studio の「拡張機能と更新プログラム」から次の拡張をインストールしてください\nSpecFlow 実践 Project Setup | SpecFlow とだいたい同じように進めますが NUnit ではなく MSTest を使用し、さらに Chaining Assertion を使用します。xUnit 系とは少々異なる記述となりますが、単純に好みの問題です。\nSpecFlowプロジェクトの作成 Visual Studio にて c# のクラスライブラリを新規作成します。名前は「FizzBuzz.Specs」とします f:id:nnasaki:20121201015902j:plain Class1.cs は不要なので削除します\nパッケージマネージャ(NuGet)にて下記コマンドを実施してライブラリをインストールします\nPM\u0026gt; Install-Package SpecFlow\nPM\u0026gt; Install-Package ChainingAssertion\n「新しい項目の追加」より「SpecFlow Feature File」を選択します。名前は「FizzBuzz.feature」とします\nApp.config を開いて、要素に以下を追記します。\nfeature と steps の作成 SpecFlow のテストは feature にテキスト形式で自然言語で記述し、steps にテストをプログラミング言語で記述します。具体的にはFizzBuzz.feature を次のように編集します\n前提以降に書かれているのがデシジョンテーブルとなります。たとえば入力値が３ならば３の倍数ですので true となり、５の倍数ではないので false 。結果は\u0026quot;Fizz\u0026ldquo;と出力します。\nファイルを保存すると「FizzBuzz.feature.cs」というファイルが自動生成されます。このファイルは feature と steps の関連づけを行います。\n次に、Generate Step Definitions を選択すると、steps を自動作成します。\nここで一度、FizzBuzz.feature で右クリックして、「Run SpecFlow Scenarios」を実行しましょう。すべてのテストが「Pending」となっているので失敗すること（レッド）を確認します。\nf:id:nnasaki:20121204011948j:plain 自動生成した steps は日本語が混ざっているとメソッド名がおかしくなりますので、若干手直した結果が下記です。\n説明上日本語メソッドが入り交じっていますがご容赦ください。\nDecision クラスで feature に記載したカラムのデータ型を指定し、 Setup メソッドでテーブルをIEnumerableに変換しています。\nAssert メソッドにてテストを実施しています。\nこの時点では FizzBuzz クラスは未作成のため、当然ビルドエラーとなります。\nFizzBuzz クラスを作成する ソリューションを右クリックし、追加 - 新しいプロジェクトの追加 で「クラスライブラリ」を追加します。名前はとりあえず「FizzBuzz」とします。このクラスに実装していきます。\n本来ならば、ここからTDDで開発するべきなのでしょうが、今回は長くなってしまうのと、FizzBuzzはすでに語り尽くされていることなので割愛します。詳細は @biac さんの記事VB2010 Express + NUnit 2.5 で、 初めてのTDD Step by Step: TDD.NETがとてもわかりやすいので、そちらを参照ください。\n今回はTDDを重ねた結果、以下コードができたこととします。\n尚、コードが完成するまでの間、SpecFlowはずっと失敗したままです。\nテストを実行する テストが以下のように成功（グリーン）になりましたら、実装は完了です。\nf:id:nnasaki:20121204012341j:plain 次のステップ 次の faeture に取りかかる前に一度リファクタリングを検討してください。レッド・グリーン・リファクタリングがTDDにおける黄金の回転です。\n今回はFizzBuzzという軽い題目でしたが、応用編としてブラウザを自動操縦してテストをすることも可能です。詳細はMSDN マガジン: BDD 入門: SpecFlow と WatiN によるビヘイビア駆動開発を参照してください。\nWatiN はブラウザを表示させて動作するので、Selenium と同様にスローテストとなります。Rails ですと Capybara という抽象化ライブラリを使用して、テストのカテゴリによって、headless browser（画面表示なしのブラウザなので高速）を使用するように切り替えが可能です。\nしかし、残念ながら .NET では Capybara のような抽象化ライブラリはまだ一般的ではないようで、もしかしたら coypu を使用すればできるかもしれません（未検証）。この辺は、追々調査をしていきたいと思います。\nおまけ（MSTest \u0026amp; Chaining Assertion を使用する場合） SpecFlow を使用しなくても、似たような感じなことは単体テストでできます。Visual Studio の単体テストでは MSTest がサポートされています。しかし、パラメタライズテストに対応していないため、先ほどのChaining Assertion を利用することで可能となります。以下にコードを記載しておきます。\n見ての通り、テストの可読性は SpecFlow のほうが上ですが、ちょっとしたテストならこれでも十分な気はします。\nまとめ 以上で、デシジョンテーブルを使用したテストのお話は終わりです。デシジョンテーブルは仕様の整理にも役立つとても良いテスト技法ですので、皆さん是非活用していただければと思います。\n明日(７日目)は @masaru_b_cl さんです。\n","permalink":"/entry/2012/12/06/065455/","summary":"\u003cp\u003eこの記事は\u003ca href=\"http://atnd.org/events/33846\"\u003eTDD Advent Calendar jp: 2012 : ATND\u003c/a\u003e の6日目です。\u003c/p\u003e\n\u003cp\u003e前日(5日目)は @\u003ca href=\"http://twitter.com/a_suenami\"\u003ea_suenami\u003c/a\u003e さんの  \u003ca href=\"http://a-suenami.hatenablog.com/entry/2012/12/05/222130\"\u003e受託開発でTDDを導入するということ\u003c/a\u003e でした。\u003c/p\u003e\n\u003ch1 id=\"デシジョンテーブルを使ってテストしたい\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%B7%A5%B8%A5%E7%A5%F3%A5%C6%A1%BC%A5%D6%A5%EB\"\u003eデシジョンテーブル\u003c/a\u003eを使ってテストしたい！\u003c/h1\u003e\n\u003cp\u003e仙台で行われている、\u003ca href=\"http://ameblo.jp/sendai-test/\"\u003e仙台ソフトウェアテスト勉強会\u003c/a\u003eと\u003ca href=\"http://d.hatena.ne.jp/pocketberserker/20120122/1327214434\"\u003eデシジョンテーブルとSpockで試すTDD（ネタ） - pocketberserkerの爆走\u003c/a\u003eにインスパイアされ、テスト技法として\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%B7%A5%B8%A5%E7%A5%F3%A5%C6%A1%BC%A5%D6%A5%EB\"\u003eデシジョンテーブル\u003c/a\u003eを書いた後に、具体的にどのようにテストの自動化を行うか考えてみました。\u003c/p\u003e\n\u003cp\u003e今回は（も？）\u003ca href=\"http://d.hatena.ne.jp/keyword/FizzBuzz\"\u003eFizzBuzz\u003c/a\u003eをお題としたいと思います。\u003c/p\u003e\n\u003ch1 id=\"デシジョンテーブルとは\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%B7%A5%B8%A5%E7%A5%F3%A5%C6%A1%BC%A5%D6%A5%EB\"\u003eデシジョンテーブル\u003c/a\u003eとは？\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"http://homepage3.nifty.com/kaku-chan/q_and_p/decision_table.html\"\u003eデシジョン・テーブルを活用する\u003c/a\u003eを参照してください。以下引用します。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eデシジョン・テーブル（ディシジョン・テーブル）は decision table、 つまりそのまま訳せば「決定表」です。 様々な事情・条件を考慮して、 何かを「決める」ときに、 それを表形式で表現する方法です。\u003c/p\u003e\u003c/blockquote\u003e\n\u003ch1 id=\"specflowを使用する\"\u003eSpecFlowを使用する\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"http://blog.hatena.ne.jp/pocketberserker/\"\u003eid:pocketberserker\u003c/a\u003e さんは Groovy で実践していらっしゃいますが、私は \u003ca href=\"http://d.hatena.ne.jp/keyword/c%23\"\u003ec#\u003c/a\u003e で\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%B7%A5%B8%A5%E7%A5%F3%A5%C6%A1%BC%A5%D6%A5%EB\"\u003eデシジョンテーブル\u003c/a\u003eを表現できないか試行錯誤してみました。テーブルの表現は \u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby%20on%20Rails\"\u003eRuby on Rails\u003c/a\u003e の受け入れテストでよく使用される Cucumber でできそうです。\n\u003ca href=\"http://d.hatena.ne.jp/keyword/c%23\"\u003ec#\u003c/a\u003e では Cucumber は残念ながら使用できませんが、同じDSL(Gherkin)を使用できる \u003ca href=\"http://www.specflow.org/specflownew/\"\u003eSpecFlow\u003c/a\u003e  というツールで代用ができそうです。\u003c/p\u003e\n\u003ch1 id=\"環境設定\"\u003e環境設定\u003c/h1\u003e\n\u003cp\u003e以下の環境で試しています。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWindows 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e 2012 Professional (Expressは拡張が入らないので非推奨)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/c%23\"\u003ec#\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eまた、\u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e の「\u003ca href=\"http://d.hatena.ne.jp/keyword/%B3%C8%C4%A5%B5%A1%C7%BD\"\u003e拡張機能\u003c/a\u003eと更新プログラム」から次の拡張をインストールしてください\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSpecFlow\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1 id=\"実践\"\u003e実践\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"http://www.specflow.org/specflownew/ProjectSetupGuide.html\"\u003eProject Setup | SpecFlow\u003c/a\u003e とだいたい同じように進めますが \u003ca href=\"http://d.hatena.ne.jp/keyword/NUnit\"\u003eNUnit\u003c/a\u003e ではなく MSTest を使用し、さらに \u003ca href=\"http://chainingassertion.codeplex.com/\"\u003eChaining Assertion\u003c/a\u003e を使用します。xUnit 系とは少々異なる記述となりますが、単純に好みの問題です。\u003c/p\u003e\n\u003ch2 id=\"specflowプロジェクトの作成\"\u003eSpecFlowプロジェクトの作成\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e にて \u003ca href=\"http://d.hatena.ne.jp/keyword/c%23\"\u003ec#\u003c/a\u003e のクラスライブラリを新規作成します。名前は「\u003ca href=\"http://d.hatena.ne.jp/keyword/FizzBuzz\"\u003eFizzBuzz\u003c/a\u003e.Specs」とします\u003c/li\u003e\n\u003c/ul\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20121201/20121201015902.jpg\" alt=\"f:id:nnasaki:20121201015902j:plain\" title=\"f:id:nnasaki:20121201015902j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20121201015902j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eClass1.cs は不要なので削除します\u003c/p\u003e","title":"デシジョンテーブルを使用してテストしてみよう #TddAdventJp"},{"content":"f:id:nnasaki:20121201001323j:plain 主催者多忙によりおよそ２ヶ月ぶりの開催。結局、今日もこれなかったんだけど今年最後になりそうなので、みんなで開催することにした。\n久しぶりにやれてみんなで毒吐きまくりで、いつもながら楽しかった。\n初めてF君も発表していい経験になったんじゃないかなーと思う。\n今年は一回ぐらいしか発表できていないので、来年も発表したいですね。\n飲みに行きたかったけど、明日は会社の研修があるので今日は残念ながらキャンセルした。ここら辺も来年はサッといけるようにYAuthの認証を得ておきたい :-)\n","permalink":"/entry/2012/12/01/001835/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20121201/20121201001323.jpg\" alt=\"f:id:nnasaki:20121201001323j:plain\" title=\"f:id:nnasaki:20121201001323j:plain\" class=\"hatena-fotolife\" itemprop=\"image\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20121201001323j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e主催者多忙によりおよそ２ヶ月ぶりの開催。結局、今日もこれなかったんだけど今年最後になりそうなので、みんなで開催することにした。\u003c/p\u003e\n\u003cp\u003e久しぶりにやれてみんなで毒吐きまくりで、いつもながら楽しかった。\u003c/p\u003e\n\u003cp\u003e初めてF君も発表していい経験になったんじゃないかなーと思う。\u003c/p\u003e\n\u003cp\u003e今年は一回ぐらいしか発表できていないので、来年も発表したいですね。\u003c/p\u003e\n\u003cp\u003e飲みに行きたかったけど、明日は会社の研修があるので今日は残念ながらキャンセルした。ここら辺も来年はサッといけるようにYAuthの認証を得ておきたい :-)\u003c/p\u003e\n\u003chr\u003e","title":"DDD勉強会に行った"},{"content":"community technology preview (CTP) for Visual Studio 2012 Update の vsupdate_KB2707250.exe、Microsoft ASP.NET Fall 2012 Update BUILD Prerelease、Type Script 0.8.1 をインストールした。\nそれぞれのダウンロード先は下記の通り。\nDownload: Visual Studio 2012 Update 1 CTP 4 - Microsoft Download Center - Download Details Download ASP.NET Fall 2012 Update from Official Microsoft Download Center Download TypeScript for Visual Studio 2012 from Official Microsoft Download Center 目的は特になくてなんとなくやってみようかなーぐらい。ASP.NET に knockout.js と Web API のテンプレートが追加されていて良い感じ。これでなんかネタ作れないかなー・・・。\nあとは neue cc - Microsoft Fakes Frameworkの使い方 にて知ったんですが、Provide Microsoft Fakes with all Visual Studio editions – Customer Feedback for Microsoft に期待しています。\nVisual Studio 2012 Ultimate 以外で Fakes が使えるととてもうれしい。Moq でもあんまり困らないんですが、既存のレガシーコードに Interface 増やしたりとか面倒なんでそのままモック化できればいいなーと思っています。\n年末には出るといいなー！\n","permalink":"/entry/2012/11/27/020429/","summary":"\u003cp\u003ecommunity technology preview (CTP) for \u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e 2012 Update の vsupdate_KB2707250.exe、Microsoft \u003ca href=\"http://d.hatena.ne.jp/keyword/ASP.NET\"\u003eASP.NET\u003c/a\u003e Fall 2012 Update BUILD Prerelease、Type Script 0.8.1 をインストールした。\u003c/p\u003e\n\u003cp\u003eそれぞれのダウンロード先は下記の通り。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://www.microsoft.com/ja-jp/download/details.aspx?id=34818\"\u003eDownload: Visual Studio 2012 Update 1 CTP 4 - Microsoft Download Center - Download Details\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.microsoft.com/en-us/download/details.aspx?id=35493\"\u003eDownload ASP.NET Fall 2012 Update from Official Microsoft Download Center\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.microsoft.com/en-us/download/details.aspx?id=34790\"\u003eDownload TypeScript for Visual Studio 2012 from Official Microsoft Download Center\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e目的は特になくてなんとなくやってみようかなーぐらい。\u003ca href=\"http://d.hatena.ne.jp/keyword/ASP.NET\"\u003eASP.NET\u003c/a\u003e に knockout.js と Web \u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003e のテンプレートが追加されていて良い感じ。これでなんかネタ作れないかなー・・・。\u003c/p\u003e\n\u003cp\u003eあとは \u003ca href=\"http://neue.cc/2012/11/03_387.html\"\u003eneue cc - Microsoft Fakes Frameworkの使い方\u003c/a\u003e にて知ったんですが、\u003ca href=\"http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2919309-provide-microsoft-fakes-with-all-visual-studio-edi\"\u003eProvide Microsoft Fakes with all Visual Studio editions – Customer Feedback for Microsoft\u003c/a\u003e に期待しています。\u003c/p\u003e","title":"Visual Studio 2012 周りをアップデートした"},{"content":"f:id:nnasaki:20121116215807j:plain ソフトウェアテスト勉強会～やってみよう！デシジョンテーブル＆状態遷移～ - TDC - ニュース - 東北デベロッパーズコミュニティ\n写真 は21歳誕生日を祝っての21個のイカリングスカイタワー写真です。\nテスト勉強会は0回以降参加していなかったので、ようやく参加できた。講師は@nemorineさん。\nデシジョンテーブルと状態遷移は結合テストと思い出したくない強化テスト（結合テスト以降でバグがいっぱいあるとやる）で作ったなーと懐かしながらやっていた。\nジョジョネタがところどころ出てきましたが、残念ながら不発ッ！学生もチラホラいるので、ついてこれなかったかしら。\nデシジョンテーブルと状態遷移図（表）はJSTQBテスト技術者資格認定-シラバス（学習事項）・用語集-では「〜という役割である」という説明だけで、作成の仕方までは解説されていないので、実際に手を動かして作るのはとても参考になった。\nいくつか覚えていることを箇条書きメモ。\nデシジョンテーブル 入力条件（縦軸）は同値分析を行い、2のべき乗で増えていく条件を出来るだけ減らすこと。 条件指定部（横軸）の組み合わせも同様に圧縮できる。設計時には便利だが、テスト時はやり過ぎると試験項目漏れとなるので注意。 真偽値は綺麗に書く。バラバラに書くと網羅しているかパッと見分かりづらいから。 コツは入力条件が3つなら2**3 = 8通りとなるので、一番目の入力条件はYYYYNNNN、2番目の入力条件はYYNNYYNN、3番目はYNYNYNYNとして機械的に書く。\n三番目の機械的に書くのは表にするとこんな感じ。Yを半分ずつに減らし（分割し）て書いていくのがポイント。自分は知らなかったので、おーなるほどーと思った。\n入力条件\n条件指定部\nクーポン YYYYNNNN\n平日 YYNNYYNN\n学生 YNYNYNYN\n状態遷移テスト 状態遷移図で条件漏れは発見しにくい。理解をしやすくするものとして、図を元に表を作ると良い。 UML の状態遷移図を使用しても良い 状態が遷移する間、初期状態からイベントをいくつか経由して初期状態に戻った時、イベントの同時実行等に注意する。 勉強会後の懇親会はほぼ全員参加で14人も集まった。\nなんと昨日誕生日と明日誕生日というニアピンな人が二人もいたので、低音なハッピバースデーで祝った。\n生搾りパイナップル絞りサワーが大人気で、うまかったけど、酵素のせいか飲めば飲むほど酔いが覚めるという意見もあり。\nc#erいないすかね、という話をしたら「僕は.NETが嫌いなんでc++でゴリゴリですね」という強者もいて、なかなかc#使いには肩身が狭い世の中です。\n次回は12月15日(土)にゲストを招いてテスト技法の勉強会を予定しているそうで、HAYST法を使ったりするようです。私は残念ながら既に先約があって行けません（とても行きたい！）が、皆さんは予定をあけておくと良いと思います！\n","permalink":"/entry/2012/11/17/021124/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20121116/20121116215807.jpg\" alt=\"f:id:nnasaki:20121116215807j:plain\" title=\"f:id:nnasaki:20121116215807j:plain\" class=\"hatena-fotolife\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20121116215807j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"http://tohoku-dev.jp/modules/news/article.php?storyid=172\"\u003eソフトウェアテスト勉強会～やってみよう！デシジョンテーブル＆状態遷移～ - TDC - ニュース - 東北デベロッパーズコミュニティ\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e写真\nは21歳誕生日を祝っての21個の\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A4%A5%AB%A5%EA%A5%F3%A5%B0\"\u003eイカリング\u003c/a\u003eスカイタワー写真です。\u003c/p\u003e\n\u003cp\u003eテスト勉強会は0回以降参加していなかったので、ようやく参加できた。講師は@nemorineさん。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%B7%A5%B8%A5%E7%A5%F3%A5%C6%A1%BC%A5%D6%A5%EB\"\u003eデシジョンテーブル\u003c/a\u003eと状態遷移は\u003ca href=\"http://d.hatena.ne.jp/keyword/%B7%EB%B9%E7%A5%C6%A5%B9%A5%C8\"\u003e結合テスト\u003c/a\u003eと思い出したくない強化テスト（\u003ca href=\"http://d.hatena.ne.jp/keyword/%B7%EB%B9%E7%A5%C6%A5%B9%A5%C8\"\u003e結合テスト\u003c/a\u003e以降でバグがいっぱいあるとやる）で作ったなーと懐かしながらやっていた。\u003c/p\u003e\n\u003cp\u003eジョジョネタがところどころ出てきましたが、残念ながら不発ッ！学生もチラホラいるので、ついてこれなかったかしら。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%B7%A5%B8%A5%E7%A5%F3%A5%C6%A1%BC%A5%D6%A5%EB\"\u003eデシジョンテーブル\u003c/a\u003eと状態遷移図（表）は\u003ca href=\"http://jstqb.jp/syllabus.html\"\u003eJSTQBテスト技術者資格認定-シラバス（学習事項）・用語集-\u003c/a\u003eでは「〜という役割である」という説明だけで、作成の仕方までは解説されていないので、実際に手を動かして作るのはとても参考になった。\u003c/p\u003e\n\u003cp\u003eいくつか覚えていることを箇条書きメモ。\u003c/p\u003e\n\u003ch3 id=\"デシジョンテーブル\"\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%B7%A5%B8%A5%E7%A5%F3%A5%C6%A1%BC%A5%D6%A5%EB\"\u003eデシジョンテーブル\u003c/a\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e入力条件（縦軸）は同値分析を行い、2のべき乗で増えていく条件を出来るだけ減らすこと。\u003c/li\u003e\n\u003cli\u003e条件指定部（横軸）の組み合わせも同様に圧縮できる。設計時には便利だが、テスト時はやり過ぎると試験項目漏れとなるので注意。\u003c/li\u003e\n\u003cli\u003e真偽値は綺麗に書く。バラバラに書くと網羅しているかパッと見分かりづらいから。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eコツは入力条件が3つなら2**3 = 8通りとなるので、一番目の入力条件はYYYYNNNN、2番目の入力条件はYYNNYYNN、3番目はYNYNYNYNとして機械的に書く。\u003c/p\u003e\n\u003cp\u003e三番目の機械的に書くのは表にするとこんな感じ。Yを半分ずつに減らし（分割し）て書いていくのがポイント。自分は知らなかったので、おーなるほどーと思った。\u003c/p\u003e\n\u003cp\u003e入力条件\u003cbr\u003e\n条件指定部\u003c/p\u003e\n\u003cp\u003eクーポン\nYYYYNNNN\u003c/p\u003e\n\u003cp\u003e平日    \u003cbr\u003e\nYYNNYYNN\u003c/p\u003e\n\u003cp\u003e学生    \u003cbr\u003e\nYNYNYNYN\u003c/p\u003e\n\u003ch3 id=\"状態遷移テスト\"\u003e状態遷移テスト\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e状態遷移図で条件漏れは発見しにくい。理解をしやすくするものとして、図を元に表を作ると良い。\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/UML\"\u003eUML\u003c/a\u003e の状態遷移図を使用しても良い\u003c/li\u003e\n\u003cli\u003e状態が遷移する間、初期状態からイベントをいくつか経由して初期状態に戻った時、イベントの同時実行等に注意する。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e勉強会後の懇親会はほぼ全員参加で14人も集まった。\u003c/p\u003e\n\u003cp\u003eなんと昨日誕生日と明日誕生日というニアピンな人が二人もいたので、低音なハッピバースデーで祝った。\u003c/p\u003e\n\u003cp\u003e生搾りパイナップル絞りサワーが大人気で、うまかったけど、酵素のせいか飲めば飲むほど酔いが覚めるという意見もあり。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/c%23\"\u003ec#\u003c/a\u003eerいないすかね、という話をしたら「僕は.NETが嫌いなんで\u003ca href=\"http://d.hatena.ne.jp/keyword/c%2B%2B\"\u003ec++\u003c/a\u003eでゴリゴリですね」という強者もいて、なかなか\u003ca href=\"http://d.hatena.ne.jp/keyword/c%23\"\u003ec#\u003c/a\u003e使いには肩身が狭い世の中です。\u003c/p\u003e\n\u003cp\u003e次回は12月15日(土)にゲストを招いてテスト技法の勉強会を予定しているそうで、\u003ca href=\"http://www.hayst.com/Pages/default.aspx\"\u003eHAYST法\u003c/a\u003eを使ったりするようです。私は残念ながら既に先約があって行けません（とても行きたい！）が、皆さんは予定をあけておくと良いと思います！\u003c/p\u003e\n\u003chr\u003e","title":"ソフトウェアテスト勉強会に行って来た"},{"content":"f:id:nnasaki:20121114061951j:plain 問題 Parallels Desktop から BootCamp の Windows 8 を起動しようとしたところ、下記エラーとなった。\n**Boot Camp パーティションのハードディスクを構成できませんでした。 ディスク構成エラーが発生しました。ディスクに対する読み取り/書き込み権限があることを確認して下さい。\nf:id:nnasaki:20121114062034j:plain 詳細を押すと下記のメッセージが出た。\nError: PRL_ERR_DISK_GPT_MBR_NOT_EQUAL (0x80021065)\nf:id:nnasaki:20121114062137j:plain 解決策 rEFIt - An EFI Boot Menu and Toolkit をインストールして、MBR と GPT の不一致を解消すれば良い。\nんで、試す前に注意を。\nrEFlt はブート領域を書き換えるので、最悪 Mac が起動しなくなるリスクがあります**。USB メモリにインストールとかも出来るようですので、心配な人はそっちを試したほうがいいです。\nリスクを理解した上で、私が行った具体的な手順は下記の通り。\n1.rEFIt 0.14 (6.5M Mac disk image) をクリックしてダウンロードする\n2.イメージをマウントして、Finder から rEFlt.mpkg をクリック\n3.インストールを進めていく\n4.再起動\n5.Boot 画面が rEFlt になっていなく、Mac OS が起動\n6.もう一度再起動する。わりとここが重要っぽいです。\n7.Boot 画面が rEFlt になっていた\n8.Start Partitioning Tool を選択\nf:id:nnasaki:20121114053358j:plain 9.May I update the MBR as printed above? [y/N] とでるので、yを入力してエンター\nf:id:nnasaki:20121114053244j:plain 10.Mac OS を選択して、再び BootCamp を起動しようとするとキター\nf:id:nnasaki:20121114064404j:plain 原因 ぐぐってみると、Just installed Parallels can\u0026rsquo;t use Bootcamp - Parallels Forumsが最初に出てきた。\nWindows uses the MBR. Mac uses the GPT. If the MBR has a partition that overlaps another partition in the GPT, then Windows could corrupt the partition in the GPT.\nということで、GPT を壊してしまったのかなと思う。\n思い当たる操作があって、WIndows上でパーティションを操作して分割とかやろうとしました。そのときダイナミックディスクに変換する必要がある。といわれてキャンセルしたんだけど、壊してしまったみたい。\nパーティションを変更するのは慎重にしないとだめだなぁ。\n","permalink":"/entry/2012/11/15/235133/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20121114/20121114061951.jpg\" alt=\"f:id:nnasaki:20121114061951j:plain\" title=\"f:id:nnasaki:20121114061951j:plain\" class=\"hatena-fotolife\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20121114061951j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch1 id=\"問題\"\u003e問題\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Parallels%20Desktop\"\u003eParallels Desktop\u003c/a\u003e から BootCamp の Windows 8 を起動しようとしたところ、下記エラーとなった。\u003c/p\u003e\n\u003cp\u003e**\u003ca href=\"http://d.hatena.ne.jp/keyword/Boot%20Camp\"\u003eBoot Camp\u003c/a\u003e パーティションのハードディスクを構成できませんでした。\nディスク構成エラーが発生しました。ディスクに対する読み取り/書き込み権限があることを確認して下さい。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20121114/20121114062034.jpg\" alt=\"f:id:nnasaki:20121114062034j:plain\" title=\"f:id:nnasaki:20121114062034j:plain\" class=\"hatena-fotolife\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20121114062034j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e詳細を押すと下記のメッセージが出た。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eError: PRL_ERR_DISK_GPT_\u003ca href=\"http://d.hatena.ne.jp/keyword/MBR\"\u003eMBR\u003c/a\u003e_NOT_EQUAL (0x80021065)\u003c/p\u003e\u003c/blockquote\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20121114/20121114062137.jpg\" alt=\"f:id:nnasaki:20121114062137j:plain\" title=\"f:id:nnasaki:20121114062137j:plain\" class=\"hatena-fotolife\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20121114062137j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch1 id=\"解決策\"\u003e解決策\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"http://refit.sourceforge.net/\"\u003erEFIt - An EFI Boot Menu and Toolkit\u003c/a\u003e をインストールして、\u003ca href=\"http://d.hatena.ne.jp/keyword/MBR\"\u003eMBR\u003c/a\u003e と GPT の不一致を解消すれば良い。\u003c/p\u003e\n\u003cp\u003eんで、試す前に注意を。\u003c/p\u003e\n\u003cp\u003erEFlt はブート領域を書き換えるので、最悪 Mac が起動しなくなるリスクがあります**。USB メモリにインストールとかも出来るようですので、心配な人はそっちを試したほうがいいです。\u003c/p\u003e\n\u003cp\u003eリスクを理解した上で、私が行った具体的な手順は下記の通り。\u003c/p\u003e\n\u003cp\u003e1.rEFIt 0.14 (6.5M Mac disk image) をクリックしてダウンロードする\u003c/p\u003e\n\u003cp\u003e2.イメージをマウントして、Finder から rEFlt.mpkg をクリック\u003c/p\u003e\n\u003cp\u003e3.インストールを進めていく\u003c/p\u003e\n\u003cp\u003e4.再起動\u003c/p\u003e\n\u003cp\u003e5.Boot 画面が rEFlt になっていなく、\u003ca href=\"http://d.hatena.ne.jp/keyword/Mac%20OS\"\u003eMac OS\u003c/a\u003e が起動\u003c/p\u003e\n\u003cp\u003e6.もう一度再起動する。わりとここが重要っぽいです。\u003c/p\u003e\n\u003cp\u003e7.Boot 画面が rEFlt になっていた\u003c/p\u003e\n\u003cp\u003e8.Start Partitioning Tool を選択\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20121114/20121114053358.jpg\" alt=\"f:id:nnasaki:20121114053358j:plain\" title=\"f:id:nnasaki:20121114053358j:plain\" class=\"hatena-fotolife\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20121114053358j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e9.May I update the \u003ca href=\"http://d.hatena.ne.jp/keyword/MBR\"\u003eMBR\u003c/a\u003e as printed above? [y/N] とでるので、yを入力してエンター\u003c/p\u003e","title":"Parallels Desktop から BootCamp の Windows 8 が起動しなかった"},{"content":"Android のホームアプリの情報って少なくてハマったので断片だけメモ。\nホームアプリは AndroidManifest.xml に\u0026lt;category android:name=\u0026quot;android.intent.category.HOME\u0026quot;/\u0026gt;を追加すればいいだけ。\n大体これでクリアできたんだけど、再起動後に問題があって、ホームボタンを押してもうんともすんとも言わない。正確にはイベント(onCreate()やonResume()等)が来ない状態となってしまった。\nSDKに付属しているサンプルのホームアプリも同様の現象が起きるようだった。android-sdk-macosx/samples/android-16/Home/src/com/example/android/home/\nこういう時はオープンソースの強みということで、デフォルトのランチャーのソースを見ることにした。https://android.googlesource.com/platform/packages/apps/Launcher2\n結果、 AndroidManifest.xml の activity に以下が記載されており、自作ホームアプリに組み込むことでイベントが来るようになって解決した。\n`android:stateNotNeeded=\u0026#34;true\u0026#34; android:clearTaskOnLaunch=\u0026#34;true\u0026#34; ` AndroidManifest.xml 詳細を見ると、clearTaskOnLaunch の効果があったのかなと思います。\nこういうことはデバッガで追ってもわからないし、LogCat にも何も出ないし、Android Hacks にも載ってなかった。もうちょっと Android の基礎力が必要と感じました。\n","permalink":"/entry/2012/11/05/230705/","summary":"\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e のホームアプリの情報って少なくてハマったので断片だけメモ。\u003c/p\u003e\n\u003cp\u003eホームアプリは AndroidManifest.\u003ca href=\"http://d.hatena.ne.jp/keyword/xml\"\u003exml\u003c/a\u003e に\u003ccode\u003e\u0026lt;category android:name=\u0026quot;android.intent.category.HOME\u0026quot;/\u0026gt;\u003c/code\u003eを追加すればいいだけ。\u003c/p\u003e\n\u003cp\u003e大体これでクリアできたんだけど、再起動後に問題があって、ホームボタンを押してもうんともすんとも言わない。正確にはイベント(onCreate()やonResume()等)が来ない状態となってしまった。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/SDK\"\u003eSDK\u003c/a\u003eに付属しているサンプルのホームアプリも同様の現象が起きるようだった。\u003ccode\u003eandroid-sdk-macosx/samples/android-16/Home/src/com/example/android/home/\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eこういう時は\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AA%A1%BC%A5%D7%A5%F3%A5%BD%A1%BC%A5%B9\"\u003eオープンソース\u003c/a\u003eの強みということで、デフォルトのランチャーのソースを見ることにした。\u003ccode\u003ehttps://android.googlesource.com/platform/packages/apps/Launcher2\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e結果、 AndroidManifest.\u003ca href=\"http://d.hatena.ne.jp/keyword/xml\"\u003exml\u003c/a\u003e の activity に以下が記載されており、自作ホームアプリに組み込むことでイベントが来るようになって解決した。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`android:stateNotNeeded=\u0026#34;true\u0026#34;\nandroid:clearTaskOnLaunch=\u0026#34;true\u0026#34;\n`\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e\u003ca href=\"http://www.limy.org/program/android/android_manifest.html\"\u003eAndroidManifest.xml 詳細\u003c/a\u003eを見ると、clearTaskOnLaunch の効果があったのかなと思います。\u003c/p\u003e\n\u003cp\u003eこういうことはデバッガで追ってもわからないし、LogCat にも何も出ないし、\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e Hacks にも載ってなかった。もうちょっと \u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e の基礎力が必要と感じました。\u003c/p\u003e\n\u003chr\u003e","title":"Android の自作ホームアプリでホームボタンが効かないときの対処"},{"content":"Android のアプリは Hello World 的なことしかやったこと無くて、社内の教育でチラホラ説明がしたことがある程度なんだけど、実行委員として参加しました。公式サイトにも名前を載せていただけて光栄です。あ、ASP.NET MVC4 + jQuery Mobile というのはお仕事でやったことはあります。\nいろいろ思い出しながら徒然書いてたら、4000字超えてたので時間のない人は見出しだけ追っていけば良いと思います。\n概要 セッション数が約100、バザール(展示会)を同時進行という、東北のIT系イベントの中では過去最大規模のイベントだったと思います。\nICT ERAの会場である東北大学百周年記念会館 川内萩ホールは席数1235席という巨大ホールに加えて、ABC は 11教室 * 約120席 = 1320席 。さらにバザールに11教室という感じだったので、最大3000人ぐらいを想定していたと思います。(※ 思いますというのは、私は実行委員ですが、イベントを実行するための役割で、企画はしていないため把握できていません。戦略と戦術で言えば戦術となります。)\n実はトラックリーダー兼会場リーダーだった！ 前日に打合せがあり、その時初めてトラックリーダー兼会場リーダーという役割があることを知りました。（その前までは普通のスタッフの役割だった）なので、超焦りました。やることが10倍ぐらい多くなるし責任も重いｗ\n運営マニュアルも毎時間更新される感じだったので、頭に叩き込んで目Grepで確認している感じでした。\n当日の感想 もーバタバタでしたｗ\n朝8時に集合して、自分のスタッフ3人と初顔合わせだったんですが、ちょっとトラブルがありました。苗字のよみがなが違っていて、出会えなかったり、実は第一セッションで話しますということがわかったりで焦りまくりでした。ですが、人生で初めてインカムを着用し気分はちょっと高まりましたｗ\n会場の準備が大変 私の担当は開発セッション会場のリーダーでして、セッションは午後からなのでゆっくり出来るかな？と思ったんですが、午前中はバザー開催のための準備で机の移動やら荷物の移動やら、かなりの重労働で大変でした。\nバザーの準備が落ち着いたら開発セッションの会場の準備にとりかかりました。こちらは講義室なのでレイアウトの変更は必要なく、プロジェクターの調整と掲示物の貼りつけ、それに電源タップの増設と養生ぐらいでよかったので楽でした。\nスタッフへ役割の説明したよ ひと通り会場の準備が終わったので、今度はスタッフに役割分担とマニュアルの説明です。スピーカーの人はABCのスタッフ経験がある方で問題なし。もう一人は大学生ぐらいの実行委員。最後の3人目は学生アルバイトとしてヘルプに来たという人。\nとりあえずマニュアルをひと通り説明して、司会・タイムキーパー・その他の役割をローテーションすることにした。マニュアルが非常によく出来ていて、司会進行のスクリプトが入っていたのでそれに沿って進行すれば問題なかろう、ということで、何事も経験と言って任せることにした。\nお弁当が来ない！ マニュアルの説明を15分ぐらいしたところで、お昼休憩なんだけど、どうやらお弁当がまだ来ていないようでした。集合時間を決めて各自解散としました。結局お弁当は30分ぐらい遅れてきました。\nバザールを見てみた お弁当が来るまでの間、バザールを見てみました。お昼時間だったのもあると思うのですが、全体的にちょっと人が少ないかな？って感じでした。人がいるブースでも3人ぐらいで、誰も見ていないという所も多かったです。\n第一セッションが始まった！ バザールをひと通り回って、遅れて届いた弁当を口に詰めて、第一セッションの準備にとりかかりました。リーダーの役割として、講師の方の出迎え、注意事項の説明等々を粛々とチェックリストをこなしてった。講師控え室に居る方は殆ど無く、皆さん自主的に教室に来ていただけてとても助かりました。タイムキーパーへの指示、その他スタッフの指示を行い、時間も13時となり、いよいよ第一セッション開始となりました。\n最初の司会は自分だったんですがとても緊張した。声が上ずってたし、噛んでいたかなー。録画されていたので、公開されたら恥ずかしいなｗ\n問題発生！ とあるセッションで講師が来ないという問題が発生して焦りました。インカムで事務局とやりとりして捜索してもいらっしゃらず、どうしようと思っていたら、直前になっていらっしゃいました。\n他スタッフの司会も問題なし 自分以降の司会も不安でしたが、何も問題ありませんでした。いや、むしろ自分より上手いｗ 失敗が許される環境であれば、どんどん自分の仕事を振っていくということはやっぱり大事ですね。自分が何でも一番うまく出来ると思わないことが重要と改めて感じました。\n最終セッションも無事終了 そんなこんなで最終セッションも無事終了。いろいろヤキモキしましたが、なんとかこなすことができました。開発セッションはどれも興味深く、後の資料公開が楽しみです。\n後片付けはかなり混沌としていた 最終セッションは17:00〜18:00だったんですが、この間インカムでは「人が足りない〜」と悲鳴の嵐でした。というのも、バザール会場は17:00終了で撤収開始。メインの萩ホールは17:30終了で撤収開始。さらに懇親会は18:00受付開始で会場・受付準備。ということで、それぞれの会場で行き場を失った方達が一斉に懇親会会場に向かうので、行列が出来ますし場所の問い合わせもあるし。 自分の会場は18:00に終わったので、5分ぐらいで後片付けをしてサッサと終わらせた。で、どこに行けば良いかというと、バザールが全然片付けられていないということでバザールに向かいました。\n後片付けが終わらない〜 バザールの一階の片付けが6教室中2つ程度しか終っていなく、手伝うことになりました。インカムでヘルプを呼んでも懇親会会場でみんな手がいっぱいだそうで、100人ぐらいスタッフ居るのに5人も来れないってホントかなーって思いつつ粛々と机を並べておりました。 しばらくしたら、増援部隊が来てくれてなんとか終わらせることができました。 この時18:30ぐらいだったかなぁ。\n懇親会に行こうとしたら、今度は荷物の返送でガヤガヤしてたので向かってみると、ガムテープが無いとかだったので運送のおじさんに借りたりとかしてました。（ガムテープは全部使いきってしまってゴメンナサイしました。。。）\nようやく一段落してこの時時計は19:00ぐらいだったかな。\nようやく懇親会に出られるもご飯が無い 懇親会会場に到着すると予想以上の人でごったかえしていました。懇親会が始まって1時間ぐらい経過してたので、テーブル上の食べ物はほぼ皆無。唯一残っている牛タン焼きには行列という感じでした。 仕方なく行列に並んでようやく牛タンをゲットしましたが、Angry Birds の Antti Sonninen が牛タン食べたこと無いって言うので上げちゃいましたｗ\nAntti はすごく日本語が堪能で、ビックリしました。英語で会話にチャレンジしようとも思いましたが、おとなの英会話を20回分ぐらい撮り溜めしているのを思い出したのでやめました。次はちゃんと消化してから会話したいと思います！\n二次会は楽しかった 懇親会も終わり、また会場の片付けが〜って思ったら、ここは従業員の方々が片付けてくれるということで胸をなで下ろしました。\n二次会は最初30人ぐらいの予定だったのですが、最終的には70人になったそうです。やっぱり一番盛り上がったのは、アリTVさんの平成の仙台四郎ことだいちさんによるジャンケン大会ですね。腹抱えて笑わせてもらいました。どーもプロっぽいと思ったら元芸人さんだったんですね。さすがです。\n二次会は電車の時間と疲れも出てきたので途中で退席しました。\nまとめ 素晴らしいイベントでした。今回スタッフとして参加出来て本当に良かったと思います。細かい問題もたくさんありました。会場の見取り図が無いとか、荷物の運び先がわからないとか。一番の問題は集客だったと思います。\nTogetter見ていると、イベント自体知らなかったという人や萩ホールがガラガラだったという意見もあります。私の妻や友人にイベントのことを聞いても皆知らないと言ってました。単なるAndroidのイベントでしたら、知らなくても良いと思うのですが、震災復興と題しているのと会場のキャパ数を考えると、TV-CM 等ぐらいの宣伝費を予算として確保しておき、もっと広く一般の人にリーチするべきだったのかなと思います。\nもしくはもう少し規模の小さい会場にすべきだったと思います。\nなにやらとても偉そうに聞こえると思いますが、あくまでこれは結果論であって誰にも見積もれなかったと思うので、誰も責めるべきではないと思っています。事前の準備は想像以上に大変で、委員長・事務局の方々は傍目から見ても身を粉にして寝る時間を惜しんで尽力していることがわかりました。本当にお疲れさまでした。\n今後の自分としては、最近イベントに参加する度に最後は電池切れしているので、ダイエットも兼ねて運動して体力を付けたいと思っています。あとはおとなの英会話の消化。あれ、Android と全然関係ないじゃんとかそーいうツッコミはナシで。。。\n参照リンク先 公式サイト\nTogetter\n","permalink":"/entry/2012/10/22/000652/","summary":"\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e のアプリは \u003ca href=\"http://d.hatena.ne.jp/keyword/Hello%20World\"\u003eHello World\u003c/a\u003e 的なことしかやったこと無くて、社内の教育でチラホラ説明がしたことがある程度なんだけど、実行委員として参加しました。公式サイトにも\u003ca href=\"http://www.android-group.jp/conference/ictera-abc/event/\"\u003e名前を載せていただけて光栄です\u003c/a\u003e。あ、ASP.NET MVC4 + \u003ca href=\"http://d.hatena.ne.jp/keyword/jQuery\"\u003ejQuery\u003c/a\u003e Mobile というのはお仕事でやったことはあります。\u003c/p\u003e\n\u003cp\u003eいろいろ思い出しながら徒然書いてたら、4000字超えてたので時間のない人は見出しだけ追っていけば良いと思います。\u003c/p\u003e\n\u003ch1 id=\"概要\"\u003e概要\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"http://www.android-group.jp/conference/ictera-abc/conference/\"\u003eセッション数が約100\u003c/a\u003e、\u003ca href=\"http://www.android-group.jp/conference/ictera-abc/bazaar/\"\u003eバザール(展示会)\u003c/a\u003eを同時進行という、東北のIT系イベントの中では過去最大規模のイベントだったと思います。\u003c/p\u003e\n\u003cp\u003eICT ERAの会場である\u003ca href=\"http://www.bureau.tohoku.ac.jp/hagihall/institution/detail01.html\"\u003e東北大学百周年記念会館 川内萩ホール\u003c/a\u003eは席数1235席という巨大ホールに加えて、ABC は 11教室 * 約120席 = 1320席 。さらにバザールに11教室という感じだったので、最大3000人ぐらいを想定していたと思います。(※ 思いますというのは、私は実行委員ですが、イベントを実行するための役割で、企画はしていないため把握できていません。戦略と戦術で言えば戦術となります。)\u003c/p\u003e\n\u003ch1 id=\"実はトラックリーダー兼会場リーダーだった\"\u003e実はトラックリーダー兼会場リーダーだった！\u003c/h1\u003e\n\u003cp\u003e前日に打合せがあり、その時初めてトラックリーダー兼会場リーダーという役割があることを知りました。（その前までは普通のスタッフの役割だった）なので、超焦りました。やることが10倍ぐらい多くなるし責任も重いｗ\u003c/p\u003e\n\u003cp\u003e運営マニュアルも毎時間更新される感じだったので、頭に叩き込んで目\u003ca href=\"http://d.hatena.ne.jp/keyword/Grep\"\u003eGrep\u003c/a\u003eで確認している感じでした。\u003c/p\u003e\n\u003ch1 id=\"当日の感想\"\u003e当日の感想\u003c/h1\u003e\n\u003cp\u003eもーバタバタでしたｗ\u003c/p\u003e\n\u003cp\u003e朝8時に集合して、自分のスタッフ3人と初顔合わせだったんですが、ちょっとトラブルがありました。苗字のよみがなが違っていて、出会えなかったり、実は第一セッションで話しますということがわかったりで焦りまくりでした。ですが、人生で初めてインカムを着用し気分はちょっと高まりましたｗ\u003c/p\u003e\n\u003ch2 id=\"会場の準備が大変\"\u003e会場の準備が大変\u003c/h2\u003e\n\u003cp\u003e私の担当は\u003ca href=\"http://www.android-group.jp/conference/ictera-abc/conference/develop/\"\u003e開発セッション\u003c/a\u003e会場のリーダーでして、セッションは午後からなのでゆっくり出来るかな？と思ったんですが、午前中はバザー開催のための準備で机の移動やら荷物の移動やら、かなりの重労働で大変でした。\u003c/p\u003e\n\u003cp\u003eバザーの準備が落ち着いたら開発セッションの会場の準備にとりかかりました。こちらは講義室なのでレイアウトの変更は必要なく、プロジェクターの調整と掲示物の貼りつけ、それに電源タップの増設と養生ぐらいでよかったので楽でした。\u003c/p\u003e\n\u003ch2 id=\"スタッフへ役割の説明したよ\"\u003eスタッフへ役割の説明したよ\u003c/h2\u003e\n\u003cp\u003eひと通り会場の準備が終わったので、今度はスタッフに役割分担とマニュアルの説明です。スピーカーの人はABCのスタッフ経験がある方で問題なし。もう一人は大学生ぐらいの実行委員。最後の3人目は学生アルバイトとしてヘルプに来たという人。\u003c/p\u003e\n\u003cp\u003eとりあえずマニュアルをひと通り説明して、司会・タイムキーパー・その他の役割をローテーションすることにした。マニュアルが非常によく出来ていて、司会進行のスクリプトが入っていたのでそれに沿って進行すれば問題なかろう、ということで、何事も経験と言って任せることにした。\u003c/p\u003e\n\u003ch2 id=\"お弁当が来ない\"\u003eお弁当が来ない！\u003c/h2\u003e\n\u003cp\u003eマニュアルの説明を15分ぐらいしたところで、お昼休憩なんだけど、どうやらお弁当がまだ来ていないようでした。集合時間を決めて各自解散としました。結局お弁当は30分ぐらい遅れてきました。\u003c/p\u003e\n\u003ch2 id=\"バザールを見てみた\"\u003eバザールを見てみた\u003c/h2\u003e\n\u003cp\u003eお弁当が来るまでの間、バザールを見てみました。お昼時間だったのもあると思うのですが、全体的にちょっと人が少ないかな？って感じでした。人がいるブースでも3人ぐらいで、誰も見ていないという所も多かったです。\u003c/p\u003e\n\u003ch2 id=\"第一セッションが始まった\"\u003e第一セッションが始まった！\u003c/h2\u003e\n\u003cp\u003eバザールをひと通り回って、遅れて届いた弁当を口に詰めて、第一セッションの準備にとりかかりました。リーダーの役割として、講師の方の出迎え、注意事項の説明等々を粛々とチェックリストをこなしてった。講師控え室に居る方は殆ど無く、皆さん自主的に教室に来ていただけてとても助かりました。タイムキーパーへの指示、その他スタッフの指示を行い、時間も13時となり、いよいよ第一セッション開始となりました。\u003c/p\u003e\n\u003cp\u003e最初の司会は自分だったんですがとても緊張した。声が上ずってたし、噛んでいたかなー。録画されていたので、公開されたら恥ずかしいなｗ\u003c/p\u003e\n\u003ch2 id=\"問題発生\"\u003e問題発生！\u003c/h2\u003e\n\u003cp\u003eとあるセッションで講師が来ないという問題が発生して焦りました。インカムで事務局とやりとりして捜索してもいらっしゃらず、どうしようと思っていたら、直前になっていらっしゃいました。\u003c/p\u003e\n\u003ch2 id=\"他スタッフの司会も問題なし\"\u003e他スタッフの司会も問題なし\u003c/h2\u003e\n\u003cp\u003e自分以降の司会も不安でしたが、何も問題ありませんでした。いや、むしろ自分より上手いｗ 失敗が許される環境であれば、どんどん自分の仕事を振っていくということはやっぱり大事ですね。自分が何でも一番うまく出来ると思わないことが重要と改めて感じました。\u003c/p\u003e\n\u003ch2 id=\"最終セッションも無事終了\"\u003e最終セッションも無事終了\u003c/h2\u003e\n\u003cp\u003eそんなこんなで最終セッションも無事終了。いろいろヤキモキしましたが、なんとかこなすことができました。開発セッションはどれも興味深く、後の資料公開が楽しみです。\u003c/p\u003e\n\u003ch2 id=\"後片付けはかなり混沌としていた\"\u003e後片付けはかなり混沌としていた\u003c/h2\u003e\n\u003cp\u003e最終セッションは17:00〜18:00だったんですが、この間インカムでは「人が足りない〜」と悲鳴の嵐でした。というのも、バザール会場は17:00終了で撤収開始。メインの萩ホールは17:30終了で撤収開始。さらに懇親会は18:00受付開始で会場・受付準備。ということで、それぞれの会場で行き場を失った方達が一斉に懇親会会場に向かうので、行列が出来ますし場所の問い合わせもあるし。\n自分の会場は18:00に終わったので、5分ぐらいで後片付けをしてサッサと終わらせた。で、どこに行けば良いかというと、バザールが全然片付けられていないということでバザールに向かいました。\u003c/p\u003e\n\u003ch2 id=\"後片付けが終わらない\"\u003e後片付けが終わらない〜\u003c/h2\u003e\n\u003cp\u003eバザールの一階の片付けが6教室中2つ程度しか終っていなく、手伝うことになりました。インカムでヘルプを呼んでも懇親会会場でみんな手がいっぱいだそうで、100人ぐらいスタッフ居るのに5人も来れないってホントかなーって思いつつ粛々と机を並べておりました。\nしばらくしたら、増援部隊が来てくれてなんとか終わらせることができました。\nこの時18:30ぐらいだったかなぁ。\u003c/p\u003e\n\u003cp\u003e懇親会に行こうとしたら、今度は荷物の返送でガヤガヤしてたので向かってみると、ガムテープが無いとかだったので運送のおじさんに借りたりとかしてました。（ガムテープは全部使いきってしまってゴメンナサイしました。。。）\u003c/p\u003e\n\u003cp\u003eようやく一段落してこの時時計は19:00ぐらいだったかな。\u003c/p\u003e\n\u003ch2 id=\"ようやく懇親会に出られるもご飯が無い\"\u003eようやく懇親会に出られるもご飯が無い\u003c/h2\u003e\n\u003cp\u003e懇親会会場に到着すると予想以上の人でごったかえしていました。懇親会が始まって1時間ぐらい経過してたので、テーブル上の食べ物はほぼ皆無。唯一残っている牛タン焼きには行列という感じでした。\n仕方なく行列に並んでようやく牛タンをゲットしましたが、Angry Birds の Antti Sonninen が牛タン食べたこと無いって言うので上げちゃいましたｗ\u003c/p\u003e\n\u003cp\u003eAntti はすごく日本語が堪能で、ビックリしました。英語で会話にチャレンジしようとも思いましたが、おとなの英会話を20回分ぐらい撮り溜めしているのを思い出したのでやめました。次はちゃんと消化してから会話したいと思います！\u003c/p\u003e\n\u003ch2 id=\"二次会は楽しかった\"\u003e二次会は楽しかった\u003c/h2\u003e\n\u003cp\u003e懇親会も終わり、また会場の片付けが〜って思ったら、ここは従業員の方々が片付けてくれるということで胸をなで下ろしました。\u003c/p\u003e\n\u003cp\u003e二次会は最初30人ぐらいの予定だったのですが、最終的には70人になったそうです。やっぱり一番盛り上がったのは、アリTVさんの平成の仙台四郎ことだいちさんによるジャンケン大会ですね。腹抱えて笑わせてもらいました。どーもプロっぽいと思ったら元芸人さんだったんですね。さすがです。\u003c/p\u003e","title":"ICT ERA + ABC2012東北 にスタッフとして参加しました"},{"content":"公式ページにも書いていないので知らない人が多いのでは？以下、佐々木さんの投稿を facebook から転載っです。============================================\n‎[ICT ERA + ABC2012東北] 開催まであと4日に迫りました。\nあと、4日のこのタイミングで申し訳ないのですが、実は\n[ICT ERA + ABC2012東北]のWebページは、Web APIも\n公開しています。直前となりますが、カンファレンス案内アプリを大募集しています!今回は、Web APIの解説のホームページを用意している暇もないので\nすが、前回のABC2012Sと同じプロトコルになっている模様です。前回のページを参考に、Web APIのURLを発掘してみました。━━━━━━━━━━━━━\n▶ 講演一覧\n━━━━━━━━━━━━━\nhttp://www.android-group.jp/conference/ictera-abc/api/conference/返り値: XMLでかえってきます━━━━━━━━━━━━━\n▶ バザール一覧\n━━━━━━━━━━━━━\nhttp://www.android-group.jp/conference/ictera-abc/api/bazaar/返り値: XMLでかえってきます━━━━━━━━━━━━━\n▶ 会場Live(当日稼働するかはまだ未定)\n━━━━━━━━━━━━━\nhttp://www.android-group.jp/conference/ictera-abc/api/live/返り値: XMLでかえってきます詳細は、前回のABCのWeb APIの解説ページを参考にしてください。\nXMLの構造はほぼ同じになっています。\n━━━━━━━━━━━━━\n▶ ABC2012S(前回)のWebAPIの解説\n━━━━━━━━━━━━━\nhttp://www.android-group.jp/conference/abc2012s/api/たった4日で、「Androidアプリを開発できたよ!」という勇者の方は、\nこの投稿にReplyしてください。全力で拡散いたします!\n============================================\n","permalink":"/entry/2012/10/17/232840/","summary":"\u003cp\u003e\u003ca href=\"http://www.android-group.jp/conference/ictera-abc/\"\u003e公式ページ\u003c/a\u003eにも書いていないので知らない人が多いのでは？以下、佐々木さんの投稿を \u003ca href=\"http://d.hatena.ne.jp/keyword/facebook\"\u003efacebook\u003c/a\u003e から転載っです。============================================\u003c/p\u003e\n\u003cp\u003e‎[ICT ERA + ABC2012東北] 開催まであと4日に迫りました。\u003c/p\u003e\n\u003cp\u003eあと、4日のこのタイミングで申し訳ないのですが、実は\u003c/p\u003e\n\u003cp\u003e[ICT ERA + ABC2012東北]のWebページは、Web \u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003eも\u003c/p\u003e\n\u003cp\u003e公開しています。直前となりますが、カンファレンス案内アプリを大募集しています!今回は、Web \u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003eの解説のホームページを用意している暇もないので\u003c/p\u003e\n\u003cp\u003eすが、前回のABC2012Sと同じプロトコルになっている模様です。前回のページを参考に、Web \u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003eのURLを発掘してみました。━━━━━━━━━━━━━\u003c/p\u003e\n\u003cp\u003e▶ 講演一覧\u003c/p\u003e\n\u003cp\u003e━━━━━━━━━━━━━\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://www.android-group.jp/conference/ictera-abc/api/conference/\"\u003ehttp://www.android-group.jp/conference/ictera-abc/api/conference/\u003c/a\u003e返り値: \u003ca href=\"http://d.hatena.ne.jp/keyword/XML\"\u003eXML\u003c/a\u003eでかえってきます━━━━━━━━━━━━━\u003c/p\u003e\n\u003cp\u003e▶ バザール一覧\u003c/p\u003e\n\u003cp\u003e━━━━━━━━━━━━━\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://www.android-group.jp/conference/ictera-abc/api/bazaar/\"\u003ehttp://www.android-group.jp/conference/ictera-abc/api/bazaar/\u003c/a\u003e返り値: \u003ca href=\"http://d.hatena.ne.jp/keyword/XML\"\u003eXML\u003c/a\u003eでかえってきます━━━━━━━━━━━━━\u003c/p\u003e\n\u003cp\u003e▶ 会場Live(当日稼働するかはまだ未定)\u003c/p\u003e\n\u003cp\u003e━━━━━━━━━━━━━\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://www.android-group.jp/conference/ictera-abc/api/live/\"\u003ehttp://www.android-group.jp/conference/ictera-abc/api/live/\u003c/a\u003e返り値: \u003ca href=\"http://d.hatena.ne.jp/keyword/XML\"\u003eXML\u003c/a\u003eでかえってきます詳細は、前回のABCのWeb \u003ca href=\"http://d.hatena.ne.jp/keyword/API\"\u003eAPI\u003c/a\u003eの解説ページを参考にしてください。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/XML\"\u003eXML\u003c/a\u003eの構造はほぼ同じになっています。\u003c/p\u003e\n\u003cp\u003e　\u003c/p\u003e\n\u003cp\u003e━━━━━━━━━━━━━\u003c/p\u003e\n\u003cp\u003e▶ ABC2012S(前回)のWebAPIの解説\u003c/p\u003e\n\u003cp\u003e━━━━━━━━━━━━━\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://www.android-group.jp/conference/abc2012s/api/\"\u003ehttp://www.android-group.jp/conference/abc2012s/api/\u003c/a\u003eたった4日で、「\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003eアプリを開発できたよ!」という勇者の方は、\u003c/p\u003e\n\u003cp\u003eこの投稿にReplyしてください。全力で拡散いたします!\u003c/p\u003e\n\u003cp\u003e============================================\u003c/p\u003e\n\u003chr\u003e","title":"ICT ERA + ABC2012東北 には Web API があるよ！"},{"content":"実はポチッていました。\n9月末の発表の夜に Google Play でポチりました。\n届いたのは10/1の日中で、仕事から帰宅して子供を寝かしつけてから遊びはじめました。感触としてはサクサクでとても良いです。iPad とか他のタブレットは持っていなくて他の人のを触っただけなんですが、ホーム画面の操作感は iPad に遜色ないと思います。\nただ、Chrome がちょっと指に遅れてスクロールがついてくるのと、アプリによってはスクロールがガクガクしてしまって、残念なものがあります。（はてぶアプリの内蔵ブラウザっぽいのが特に顕著）\nAndroid の端末はまだよくわかっていないので、いろいろアプリを入れて遊んでみたいと思います。\n","permalink":"/entry/2012/10/06/081148/","summary":"\u003cp\u003e実はポチッていました。\u003c/p\u003e\n\u003cp\u003e9月末の発表の夜に \u003ca href=\"http://d.hatena.ne.jp/keyword/Google\"\u003eGoogle\u003c/a\u003e Play でポチりました。\u003c/p\u003e\n\u003cp\u003e届いたのは10/1の日中で、仕事から帰宅して子供を寝かしつけてから遊びはじめました。感触としてはサクサクでとても良いです。\u003ca href=\"http://d.hatena.ne.jp/keyword/iPad\"\u003eiPad\u003c/a\u003e とか他のタブレットは持っていなくて他の人のを触っただけなんですが、ホーム画面の操作感は \u003ca href=\"http://d.hatena.ne.jp/keyword/iPad\"\u003eiPad\u003c/a\u003e に遜色ないと思います。\u003c/p\u003e\n\u003cp\u003eただ、\u003ca href=\"http://d.hatena.ne.jp/keyword/Chrome\"\u003eChrome\u003c/a\u003e がちょっと指に遅れてスクロールがついてくるのと、アプリによってはスクロールがガクガクしてしまって、残念なものがあります。（はてぶアプリの内蔵ブラウザっぽいのが特に顕著）\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e の端末はまだよくわかっていないので、いろいろアプリを入れて遊んでみたいと思います。\u003c/p\u003e\n\u003chr\u003e","title":"Nexus 7 を買った"},{"content":"mnp して、1週間ばかり Xperia™ GX を使っていましたが、操作中に再起動が2回ありました。1回目は電話帳操作中に何も押せなくなって、操作が効かなくなったら再起動。着信履歴があって、妻が電話したらしかったです。\n2回目はデザリング中にアプリをいじってたら再起動。\nこれが Xperia のせいか Android 4.0 のせいなのかわかりません。\nLTE との通信の兼ね合いもあると思いますが、Galaxy SIII と比べてみたいと思います。ちなみに実は買っていた Nexus 7 (Android 4.1) は非常にサクサクで軽快です。\n","permalink":"/entry/2012/10/06/080049/","summary":"\u003cp\u003emnp して、1週間ばかり \u003ca href=\"http://www.sonymobile.co.jp/product/docomo/so-04d/index.html\"\u003eXperia™ GX\u003c/a\u003e を使っていましたが、操作中に再起動が2回ありました。1回目は電話帳操作中に何も押せなくなって、操作が効かなくなったら再起動。着信履歴があって、妻が電話したらしかったです。\u003c/p\u003e\n\u003cp\u003e2回目はデザリング中にアプリをいじってたら再起動。\u003c/p\u003e\n\u003cp\u003eこれが \u003ca href=\"http://d.hatena.ne.jp/keyword/Xperia\"\u003eXperia\u003c/a\u003e のせいか \u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e 4.0 のせいなのかわかりません。\u003c/p\u003e\n\u003cp\u003eLTE との通信の兼ね合いもあると思いますが、Galaxy SIII と比べてみたいと思います。ちなみに実は買っていた Nexus 7 (\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e 4.1) は非常にサクサクで軽快です。\u003c/p\u003e\n\u003chr\u003e","title":"Android 4.0 の使用中に1週間で再起動が2回"},{"content":"タイトルの通り、docomo に mnp しました。自分の２台の携帯(au, softbank)と、妻の１台(au)で合計３台。\nなぜ、自分が２台持ちだったかというと、２年前にガラケー(au)に追加して iPhone4 (softbank) を購入したからです。\nガラケーを維持\bしたかったのは、当時スマホの可用性が信じられなかったから。今は iPhone は十分に信頼できると考えています。で、次になぜ docomo へ mnp したかという疑問があると思いますが、いろいろ計算した結果ドコモが一番安くなるからです。\n理由はスマホを買うと月々3500円程度の割引が受けられるため基本料が無料になるのと、２台持ちするとプラスXi割引でパケット代が3980円になるので、月々1000円ちょっとでパケホーダイになります。ここらへんの詳しい計算は携帯電話・スマートフォンの維持費を0円無料にする方法 - MNPプランナー　スマートフォン携帯電話の利用料金・維持費を安くする方法を参照していただくと良いと思います。私は Galaxy SIII(SC-06D) と Xperia GX (SO-04D) に変えました。\n使用感についてはまた別記事で…\n","permalink":"/entry/2012/10/06/050701/","summary":"\u003cp\u003eタイトルの通り、docomo に mnp しました。自分の２台の携帯(au, \u003ca href=\"http://d.hatena.ne.jp/keyword/softbank\"\u003esoftbank\u003c/a\u003e)と、妻の１台(au)で合計３台。\u003c/p\u003e\n\u003cp\u003eなぜ、自分が２台持ちだったかというと、２年前に\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AC%A5%E9%A5%B1%A1%BC\"\u003eガラケー\u003c/a\u003e(au)に追加して iPhone4 (\u003ca href=\"http://d.hatena.ne.jp/keyword/softbank\"\u003esoftbank\u003c/a\u003e) を購入したからです。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AC%A5%E9%A5%B1%A1%BC\"\u003eガラケー\u003c/a\u003eを維持\bしたかったのは、当時スマホの可用性が信じられなかったから。今は \u003ca href=\"http://d.hatena.ne.jp/keyword/iPhone\"\u003eiPhone\u003c/a\u003e は十分に信頼できると考えています。で、次になぜ docomo へ mnp したかという疑問があると思いますが、いろいろ計算した結果ドコモが一番安くなるからです。\u003c/p\u003e\n\u003cp\u003e理由はスマホを買うと月々3500円程度の割引が受けられるため基本料が無料になるのと、２台持ちするとプラスXi割引でパケット代が3980円になるので、月々1000円ちょっとで\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%D1%A5%B1%A5%DB%A1%BC%A5%C0%A5%A4\"\u003eパケホーダイ\u003c/a\u003eになります。ここらへんの詳しい計算は\u003ca href=\"http://androidandandroid.blog.fc2.com/blog-entry-550.html\"\u003e携帯電話・スマートフォンの維持費を0円無料にする方法 - MNPプランナー　スマートフォン携帯電話の利用料金・維持費を安くする方法\u003c/a\u003eを参照していただくと良いと思います。私は Galaxy SIII(SC-06D) と \u003ca href=\"http://d.hatena.ne.jp/keyword/Xperia\"\u003eXperia\u003c/a\u003e GX (SO-04D) に変えました。\u003c/p\u003e\n\u003cp\u003e使用感についてはまた別記事で…\u003c/p\u003e\n\u003chr\u003e","title":"docomo に mnp した"},{"content":"f:id:nnasaki:20120915102213j:plain Ruby よくわかんないけど、とりあえずどんなもんかなって雰囲気だけでもと行ってみました。\n詳しいことはレポート：Sapporo RubyKaigi 2012 スペシャルレポート｜gihyo.jp … 技術評論社のほうに詳細に記載されているので、そちらを見たほうが良いと思います。\n以降は、私個人の感想を書きます。\n### １日目 井原正博さんの「クックパッドのつくりかた」が一番グッと来ました。 「やりたいこと」と「得意なこと」と「やるべきこと」の３つを満たすことをする。それを実践すれば会社の評価も必然とあがる。でもそれを見つけるのは用意ではない。\nこの話は技術者ではなく起業家向けというか誰にでも話せる内容だなぁと思いました。\n### 2日目 やはりMatzこと[まつもとゆきひろ](http://d.hatena.ne.jp/keyword/%A4%DE%A4%C4%A4%E2%A4%C8%A4%E6%A4%AD%A4%D2%A4%ED)さんの key note ですね。 最近 Perl があるのになんで Ruby を作ったのか？と質問され、Ruby は車輪の再発明で、人的リソースを無駄にしていると言われたそうです。\n「どう思いますか？（Rubyカンファレンスで聞くのは卑怯なんですけど）」\nマンパワーじゃなくてモチベーションが重要で、私たちは機械じゃない。車輪の再発明かもしれないけど、多様性は悪ではないと思っている。Ruby が何故成功したかは正直わからない。（インタビューの時はわからないと言うと嫌な顔されるので、コミュニティがーとかオープンソースがーとか言うようにしている）\n一生懸命プレイしている野球少年に「でも、君はプロになれない。」といったらどう思うか？それは人的リソースの無駄使いなのか？\n多様性によって無駄な重複はあるかもしれないけど、いずれ自然淘汰され必要なものだけが残っていく。Ruby はWebは大体制覇した\nCookpad が Ruby で作られているんだよっていっても、奥さんが信じてくれない（笑）Ruby は自分の思考に合致する。\n自分と同じような人が多いから広まっているんじゃないか。We Code, Therefore We Are「我らコードを書く，故に我らあり」\n僕が思うに、Ruby は多様性によって生まれ、そして（必要だから）残ったのかなぁと思いました。\nAaron Pattersonさんの話もよかったです。最初はサラミを作るという話だったんですが、サラミの温度や湿度管理をデータ化してRubyで統計を取得して表示するという最後は We Code というテーマに結びつけるという見事な内容でした。\n### 2日目懇親会 懇親会会場が２つに別れていて、スピーカーの人たちとはあまりお話出来なかったんですが、Matz がフラフラと歩いていて、「サインください」って言ったらしてもらえたｗ うちわにしてもらったんで、ちょっと見づらいですね。 Matzのサインもらった！ #sprk2012 twitter.com/nnasaki/status…— 山本誠樹/Masaki Yamamotoさん (@nnasaki) 9月 15, 2012\nid:shuji_w6e さんと出会えたこともよかった。TDDBC 札幌を主催しているかたで、いろいろ悩みとか共有したりできてよかった。JUnit本を現在執筆中ということで、期待しています！(Java よくわかんないけど)\n### 3日目 宿がなくて前日が漫画喫茶で宿泊ということで疲れがピークであまりセッションを聞いてなく。。。モクモクとコード書きをしていました。自動販売機ネタを ASP.NET MVC4 で Web アプリ化するとどうなるかとか。その後飛行機の時間もあったので、１５時ぐらいに会場を後にしました。 ### 全体的な感想 最初はボッチで[Ruby](http://d.hatena.ne.jp/keyword/Ruby)もよくわかんないのに行ったので、親戚のおじさんのお葬式に突然一人で現れた子供みたいな感じ（どんなんだ）で、しかも Windows 8 に [Visual Studio](http://d.hatena.ne.jp/keyword/Visual%20Studio) 立ち上げて [c#](http://d.hatena.ne.jp/keyword/c%23) とかしていたので、[Rubyist](http://d.hatena.ne.jp/keyword/Rubyist) たちに撲殺されるんじゃないかとヒヤヒヤしていました。 そしたら、ばったり@nemorineさんと会って心強くなり、TEF道の方々も紹介していただいて本当に良い出会いができました。こういうイベントはただセッションを聞くだけだったら、インターネット経由で見れるので参加する必要は無いと思います。しかし、人と人との出会いが生まれるのはその場所なのだなと思います。セッションには無い部分を求めて行くべきなのかなと思いました。次回行く時は Ruby になんらかの貢献をして、スピーカーとして参加したいです。\n","permalink":"/entry/2012/09/17/161254/","summary":"\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20120915/20120915102213.jpg\" alt=\"f:id:nnasaki:20120915102213j:plain\" title=\"f:id:nnasaki:20120915102213j:plain\" class=\"hatena-fotolife\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20120915102213j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003e よくわかんないけど、とりあえずどんなもんかなって雰囲気だけでもと行ってみました。\u003c/p\u003e\n\u003cp\u003e詳しいことは\u003ca href=\"http://gihyo.jp/news/report/01/sapporo-rubykaigi2012\"\u003eレポート：Sapporo RubyKaigi 2012 スペシャルレポート｜gihyo.jp … 技術評論社\u003c/a\u003eのほうに詳細に記載されているので、そちらを見たほうが良いと思います。\u003c/p\u003e\n\u003cp\u003e以降は、私個人の感想を書きます。\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e### １日目\n井原正博さんの「クックパッドのつくりかた」が一番グッと来ました。\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e「やりたいこと」と「得意なこと」と「やるべきこと」の３つを満たすことをする。それを実践すれば会社の評価も必然とあがる。でもそれを見つけるのは用意ではない。\u003c/p\u003e\n\u003cp\u003eこの話は技術者ではなく起業家向けというか誰にでも話せる内容だなぁと思いました。\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e### 2日目\nやはりMatzこと[まつもとゆきひろ](http://d.hatena.ne.jp/keyword/%A4%DE%A4%C4%A4%E2%A4%C8%A4%E6%A4%AD%A4%D2%A4%ED)さんの key note ですね。\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e最近 \u003ca href=\"http://d.hatena.ne.jp/keyword/Perl\"\u003ePerl\u003c/a\u003e があるのになんで \u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003e を作ったのか？と質問され、\u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003e は\u003ca href=\"http://d.hatena.ne.jp/keyword/%BC%D6%CE%D8%A4%CE%BA%C6%C8%AF%CC%C0\"\u003e車輪の再発明\u003c/a\u003eで、人的リソースを無駄にしていると言われたそうです。\u003c/p\u003e\n\u003cp\u003e「どう思いますか？（\u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby%A5%AB%A5%F3%A5%D5%A5%A1%A5%EC%A5%F3%A5%B9\"\u003eRubyカンファレンス\u003c/a\u003eで聞くのは卑怯なんですけど）」\u003c/p\u003e\n\u003cp\u003eマンパワーじゃなくてモチベーションが重要で、私たちは機械じゃない。\u003ca href=\"http://d.hatena.ne.jp/keyword/%BC%D6%CE%D8%A4%CE%BA%C6%C8%AF%CC%C0\"\u003e車輪の再発明\u003c/a\u003eかもしれないけど、多様性は悪ではないと思っている。\u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003e が何故成功したかは正直わからない。（インタビューの時はわからないと言うと嫌な顔されるので、コミュニティがーとか\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AA%A1%BC%A5%D7%A5%F3%A5%BD%A1%BC%A5%B9\"\u003eオープンソース\u003c/a\u003eがーとか言うようにしている）\u003c/p\u003e\n\u003cp\u003e一生懸命プレイしている野球少年に「でも、君はプロになれない。」といったらどう思うか？それは人的リソースの無駄使いなのか？\u003c/p\u003e\n\u003cp\u003e多様性によって無駄な重複はあるかもしれないけど、いずれ自然淘汰され必要なものだけが残っていく。\u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003e はWebは大体制覇した\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Cookpad\"\u003eCookpad\u003c/a\u003e が \u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003e で作られているんだよっていっても、奥さんが信じてくれない（笑）\u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003e は自分の思考に合致する。\u003c/p\u003e\n\u003cp\u003e自分と同じような人が多いから広まっているんじゃないか。We Code, Therefore We Are「我らコードを書く，故に我らあり」\u003c/p\u003e\n\u003cp\u003e僕が思うに、\u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003e は多様性によって生まれ、そして（必要だから）残ったのかなぁと思いました。\u003c/p\u003e\n\u003cp\u003eAaron Pattersonさんの話もよかったです。最初はサラミを作るという話だったんですが、サラミの温度や湿度管理をデータ化して\u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003eで統計を取得して表示するという最後は We Code というテーマに結びつけるという見事な内容でした。\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e### 2日目懇親会\n懇親会会場が２つに別れていて、スピーカーの人たちとはあまりお話出来なかったんですが、Matz がフラフラと歩いていて、「サインください」って言ったらしてもらえたｗ うちわにしてもらったんで、ちょっと見づらいですね。\n\u003c/code\u003e\u003c/pre\u003e\n\u003cblockquote\u003e\n\u003cp\u003eMatzのサインもらった！ \u003ca href=\"https://twitter.com/search/%23sprk2012\"\u003e#sprk2012\u003c/a\u003e \u003ca href=\"http://t.co/E5NPhlFI\"\u003etwitter.com/nnasaki/status…\u003c/a\u003e— 山本誠樹/Masaki Yamamotoさん (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/status/246916502249426944\"\u003e9月 15, 2012\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e\u003ca href=\"http://blog.hatena.ne.jp/shuji_w6e/\"\u003eid:shuji_w6e\u003c/a\u003e さんと出会えたこともよかった。TDDBC 札幌を主催しているかたで、いろいろ悩みとか共有したりできてよかった。\u003ca href=\"http://d.hatena.ne.jp/keyword/JUnit\"\u003eJUnit\u003c/a\u003e本を現在執筆中ということで、期待しています！(\u003ca href=\"http://d.hatena.ne.jp/keyword/Java\"\u003eJava\u003c/a\u003e よくわかんないけど)\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e### 3日目\n宿がなくて前日が漫画喫茶で宿泊ということで疲れがピークであまりセッションを聞いてなく。。。モクモクとコード書きをしていました。自動販売機ネタを ASP.NET MVC4 で Web アプリ化するとどうなるかとか。その後飛行機の時間もあったので、１５時ぐらいに会場を後にしました。\n\n### 全体的な感想\n最初はボッチで[Ruby](http://d.hatena.ne.jp/keyword/Ruby)もよくわかんないのに行ったので、親戚のおじさんのお葬式に突然一人で現れた子供みたいな感じ（どんなんだ）で、しかも Windows 8 に [Visual Studio](http://d.hatena.ne.jp/keyword/Visual%20Studio) 立ち上げて [c#](http://d.hatena.ne.jp/keyword/c%23) とかしていたので、[Rubyist](http://d.hatena.ne.jp/keyword/Rubyist) たちに撲殺されるんじゃないかとヒヤヒヤしていました。\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eそしたら、ばったり@nemorineさんと会って心強くなり、\u003ca href=\"http://d.hatena.ne.jp/keyword/TEF\"\u003eTEF\u003c/a\u003e道の方々も紹介していただいて本当に良い出会いができました。こういうイベントはただセッションを聞くだけだったら、インターネット経由で見れるので参加する必要は無いと思います。しかし、人と人との出会いが生まれるのはその場所なのだなと思います。セッションには無い部分を求めて行くべきなのかなと思いました。次回行く時は \u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003e になんらかの貢献をして、スピーカーとして参加したいです。\u003c/p\u003e","title":"Sapporo RubyKaigi 2012 に行って来た"},{"content":"ページ全体じゃなくて div で区切ったテーブルとかリストだけスクロールさせたいときに jQuery.flickSimple.js というのを使っている。これはタッチで任意の要素をフリックでスクロールできるからすごく便利なんだけど、とある要素をクリックしたというイベントが a タグが入っていないと発生しなくて困った。例えば、$(\u0026rsquo;#verticaly\u0026rsquo;).on(\u0026lsquo;click\u0026rsquo;, \u0026rsquo;li\u0026rsquo;, function(){ alert(\u0026ldquo;test\u0026rdquo;); }); っていうのを無理やり追加してリストにクリックイベントを追加したとしても、フリック時もクリックと判定されてしまうのでうまくいかない。 デモは以下。\nちょっと見にくいですが、縦にフリックでスクロールが出来ます。\njQuery.flickSimple.js は onClick イベントが用意されていて以下のように書くことでクリックイベントを拾えるようになる。\nところが上記の onClick イベントは a タグがある場合のみ有効となっているようで、上記HTML から a を取り除いてしまうと以下のようにクリックイベントが起きない。\nGitHub のソースを見ると下記のようになっていて、意図的にはじいている。\ntouchend: function(e) { var o = this; if ( o.disabled || o.startX === null || o.startY === null ) { return; } o.startX = null; o.startY = null; if ( o.anc \u0026amp;\u0026amp; ! o.touchhold ) { if ( o.onClick ) { o.onClick( o.anc ); } ```ちょっと見づらいですが、以下のように改造してみました。//+としているのが追加したところです。 touchend: function(e) { var o = this; if ( o.disabled || o.startX === null || o.startY === null ) { return; } // chg アンカー以外のクリックイベントに対応させる var te = o.touchable ? e.originalEvent.touches[0] : e; //+ var nowX = te.clientX; //+ var nowY = te.clientY; //+\nvar click = false; //+ if ( Math.abs( o.startX - nowX ) \u0026lt; 5 \u0026amp;\u0026amp; Math.abs( o.startY - nowY ) \u0026lt; 5 ) { //+ click = true; //+ } //+ o.startX = null; //+ o.startY = null; //+ //- if ( o.anc \u0026amp;\u0026amp; ! o.touchhold ) { if ( click \u0026amp;\u0026amp; ! o.touchhold ) { //+ if ( o.onClick ) { //- o.onClick( o.anc ); o.onClick( e ); //+ } if ( ! o.anc ) { //+ return; //+ } //+\nこの改造を取り込んだのが以下です。 これでMacのsafariではやった動いたーと思って、iphone で確認したらフリック自体出来なくなってしまいダメダメでした。もう少し調整が必要そうで次回に続きます。 ----- ","permalink":"/entry/2012/09/13/020752/","summary":"\u003cp\u003eページ全体じゃなくて div で区切ったテーブルとかリストだけスクロールさせたいときに \u003ca href=\"http://www014.upp.so-net.ne.jp/makog/js/jquery_flicksimple/#10\"\u003ejQuery.flickSimple.js\u003c/a\u003e というのを使っている。これはタッチで任意の要素をフリックでスクロールできるからすごく便利なんだけど、とある要素をクリックしたというイベントが a タグが入っていないと発生しなくて困った。例えば、$(\u0026rsquo;#verticaly\u0026rsquo;).on(\u0026lsquo;click\u0026rsquo;, \u0026rsquo;li\u0026rsquo;, function(){ alert(\u0026ldquo;test\u0026rdquo;); }); っていうのを無理やり追加してリストにクリックイベントを追加したとしても、フリック時もクリックと判定されてしまうのでうまくいかない。 デモは以下。\u003c/p\u003e\n\u003cp\u003eちょっと見にくいですが、縦にフリックでスクロールが出来ます。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/jQuery\"\u003ejQuery\u003c/a\u003e.flickSimple.js は onClick イベントが用意されていて以下のように書くことでクリックイベントを拾えるようになる。\u003c/p\u003e\n\u003cp\u003eところが上記の onClick イベントは a タグがある場合のみ有効となっているようで、上記HTML から a を取り除いてしまうと以下のようにクリックイベントが起きない。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/makog/jQuery.flickSimple.js/blob/master/jquery.flicksimple.js\"\u003eGitHub のソース\u003c/a\u003eを見ると下記のようになっていて、意図的にはじいている。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003etouchend: function(e) {\n\t\t\tvar o = this;\n\t\t\tif ( o.disabled || o.startX === null || o.startY === null ) { return; }\n\t\t\to.startX = null;\n\t\t\to.startY = null;\n\t\t\tif ( o.anc \u0026amp;\u0026amp; ! o.touchhold ) {\n\t\t\t\tif ( o.onClick ) {\n\t\t\t\t\to.onClick( o.anc );\n\t\t\t\t}\n```ちょっと見づらいですが、以下のように改造してみました。//+としているのが追加したところです。\n\u003c/code\u003e\u003c/pre\u003e\u003cpre\u003e\u003ccode\u003etouchend: function(e) {\n    var o = this;\n    if ( o.disabled || o.startX === null || o.startY === null ) { return; }\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e// chg アンカー以外のクリックイベントに対応させる\nvar te = o.touchable ? e.originalEvent.touches[0] : e; //+\nvar nowX = te.clientX; //+\nvar nowY = te.clientY; //+\u003c/p\u003e","title":"jQuery.flickSimple.js で a タグじゃない要素のクリックイベントを拾いたい"},{"content":"例えば以下のような構成の場合。\n`Content | | [jquery](http://d.hatena.ne.jp/keyword/jquery).mobile-1.1.1.[css](http://d.hatena.ne.jp/keyword/css) | +---images | [ajax](http://d.hatena.ne.jp/keyword/ajax)-loader.gif ` BundleMobileConfigに以下のように定義されています。\n` bundles.Add(new StyleBundle(\u0026#34;~/Content/jquerymobile/[css](http://d.hatena.ne.jp/keyword/css)\u0026#34;).Include(\u0026#34;~/Content/[jquery](http://d.hatena.ne.jp/keyword/jquery).mobile-{version}.[css](http://d.hatena.ne.jp/keyword/css)\u0026#34;)) ` 上記 css には以下のように定義されている。\n`url(images/[ajax](http://d.hatena.ne.jp/keyword/ajax)-loader.gif) ` するとデバッグ時は良いがBundleTable.EnableOptimizations = trueを指定して縮小させると画像のURLが以下のようになり読み込めないとエラーになる。\n`[http://localhost:1509/Content/jquerymobile/images/ajax-loader.gif](http://localhost:1509/Content/jquerymobile/images/ajax-loader.gif) ` 理由はBundleの定義でjquerymobileをフォルダのように記載してしまっているため、cssのURLが以下のようになるから。\n`[http://localhost:1509/Content/jquerymobile/css?v=pFGS97cnbEIzXqbDbNmSv2vLBmv9zHVSGkyxN7zB0Qc1](http://localhost:1509/Content/jquerymobile/css?v=pFGS97cnbEIzXqbDbNmSv2vLBmv9zHVSGkyxN7zB0Qc1) ` 解決策は / ではなく . にすればよい。\n` bundles.Add(new StyleBundle(\u0026#34;~/Content/jquerymobile.[css](http://d.hatena.ne.jp/keyword/css)\u0026#34;).Include(\u0026#34;~/Content/[jquery](http://d.hatena.ne.jp/keyword/jquery).mobile-{version}.[css](http://d.hatena.ne.jp/keyword/css)\u0026#34;)) ` このように BundleCollection に css を加えるときは勝手にフォルダを追加しないようにすること ちなみに自動縮小っていうのは、ASP.NET MVC4 の新機能で javascript と css の改行コードを削って容量を小さくしてくれる機能です。普段のデバッグ時は無効になっていて、有効になる条件は２つ\nWeb.config の compilation 要素が false の場合 Global.asax の Application_Start() で BundleTable.EnableOptimizations = true と設定した時 デバッグ時に無効になっているので、IIS にいざデプロイした時に「あれ画像が表示されねー」って悩むかもしれません。 上記の例で上げたのは jQuery.Mobile.MVC という割とメジャーな NuGet パッケージを使用すると発生する問題なので修正したいんですが、CodePlex や github 見てもプロジェクトが見つからないのでメモ書きするぐらいしか無いという状況。\n","permalink":"/entry/2012/09/08/004330/","summary":"\u003cp\u003e例えば以下のような構成の場合。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`Content \n|\n| [jquery](http://d.hatena.ne.jp/keyword/jquery).mobile-1.1.1.[css](http://d.hatena.ne.jp/keyword/css) \n| \n+---images \n| 　　　　[ajax](http://d.hatena.ne.jp/keyword/ajax)-loader.gif `\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eBundleMobileConfigに以下のように定義されています。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e` bundles.Add(new StyleBundle(\u0026#34;~/Content/jquerymobile/[css](http://d.hatena.ne.jp/keyword/css)\u0026#34;).Include(\u0026#34;~/Content/[jquery](http://d.hatena.ne.jp/keyword/jquery).mobile-{version}.[css](http://d.hatena.ne.jp/keyword/css)\u0026#34;)) `\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e上記 \u003ca href=\"http://d.hatena.ne.jp/keyword/css\"\u003ecss\u003c/a\u003e には以下のように定義されている。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`url(images/[ajax](http://d.hatena.ne.jp/keyword/ajax)-loader.gif) `\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eすると\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%D0%A5%C3%A5%B0\"\u003eデバッグ\u003c/a\u003e時は良いが\u003ccode\u003eBundleTable.EnableOptimizations = true\u003c/code\u003eを指定して縮小させると画像のURLが以下のようになり読み込めないとエラーになる。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`[http://localhost:1509/Content/jquerymobile/images/ajax-loader.gif](http://localhost:1509/Content/jquerymobile/images/ajax-loader.gif) `\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e理由はBundleの定義でjquerymobileをフォルダのように記載してしまっているため、\u003ca href=\"http://d.hatena.ne.jp/keyword/css\"\u003ecss\u003c/a\u003eのURLが以下のようになるから。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e`[http://localhost:1509/Content/jquerymobile/css?v=pFGS97cnbEIzXqbDbNmSv2vLBmv9zHVSGkyxN7zB0Qc1](http://localhost:1509/Content/jquerymobile/css?v=pFGS97cnbEIzXqbDbNmSv2vLBmv9zHVSGkyxN7zB0Qc1) `\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e解決策は / ではなく . にすればよい。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e` bundles.Add(new StyleBundle(\u0026#34;~/Content/jquerymobile.[css](http://d.hatena.ne.jp/keyword/css)\u0026#34;).Include(\u0026#34;~/Content/[jquery](http://d.hatena.ne.jp/keyword/jquery).mobile-{version}.[css](http://d.hatena.ne.jp/keyword/css)\u0026#34;)) `\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eこのように BundleCollection に \u003ca href=\"http://d.hatena.ne.jp/keyword/css\"\u003ecss\u003c/a\u003e を加えるときは勝手にフォルダを追加しないようにすること\n \nちなみに自動縮小っていうのは、ASP.NET MVC4 の新機能で \u003ca href=\"http://d.hatena.ne.jp/keyword/javascript\"\u003ejavascript\u003c/a\u003e と \u003ca href=\"http://d.hatena.ne.jp/keyword/css\"\u003ecss\u003c/a\u003e の改行コードを削って容量を小さくしてくれる機能です。普段の\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%D0%A5%C3%A5%B0\"\u003eデバッグ\u003c/a\u003e時は無効になっていて、有効になる条件は２つ\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWeb.config の compilation 要素が false の場合\u003c/li\u003e\n\u003cli\u003eGlobal.asax の Application_Start() で BundleTable.EnableOptimizations = true と設定した時\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%D0%A5%C3%A5%B0\"\u003eデバッグ\u003c/a\u003e時に無効になっているので、\u003ca href=\"http://d.hatena.ne.jp/keyword/IIS\"\u003eIIS\u003c/a\u003e にいざデプロイした時に「あれ画像が表示されねー」って悩むかもしれません。\n \n上記の例で上げたのは \u003ca href=\"http://nuget.org/packages/jQuery.Mobile.MVC/\"\u003ejQuery.Mobile.MVC\u003c/a\u003e という割とメジャーな NuGet パッケージを使用すると発生する問題なので修正したいんですが、\u003ca href=\"http://d.hatena.ne.jp/keyword/CodePlex\"\u003eCodePlex\u003c/a\u003e や github 見てもプロジェクトが見つからないのでメモ書きするぐらいしか無いという状況。\u003c/p\u003e\n\u003chr\u003e","title":"ASP.NET MVC4 で css の自動縮小をすると css に記載した画像が読み込まれなくなることがある"},{"content":"前回はTDDBC_仙台02の課題をC#で素振り（ステップ0 〜 1まで） - nnasakiのブログ課題 → 大阪と一緒\n子供の夜泣きでちょこちょこ起きるので、こっそりやってました。gist だと履歴の差分が見れないっぽいので、 github で公開してみました。TFS で作業しているので、TFS から git に変換する必要があって、git-tfsというのを使用して変換してみた。けれどもステップごとの作業内容は TFS のタスク（付箋）として扱っていて、コミットログは実装の内容だけしか書いていなかったので、分かりにくいですね。おまけに TFS の CI で自動ビルドした内容も含まれているのでコミットログが追いづらい。Announcing Git Integration with TFS - Brian Harry\u0026rsquo;s blog - Site Home - MSDN Blogsというのを MS の中の人が作ったっぽいので、そっちだともっと見やすくなったりするのかな？とりあえず今はこのままで。\n前置きが長くなりましたが、ステップ４までやってみました。C#っぽいところを gist に抜き出してみました。49行目の自動販売機の在庫を取得する処理に LINQ を使ってみました。ラムダを使用するとコードの行数がグッと減っていいですね。次回は ASP.NET MVC4 と絡めていこうと思っていますが List のデータ構造が DB になってもほとんど実装を変更せずに行けるはずです。\n","permalink":"/entry/2012/09/06/025118/","summary":"\u003cp\u003e前回は\u003ca href=\"http://nnasaki.hatenablog.com/entry/2012/08/21/004824\"\u003eTDDBC_仙台02の課題をC#で素振り（ステップ0 〜 1まで） - nnasakiのブログ\u003c/a\u003e課題 → \u003ca href=\"http://devtesting.jp/tddbc/?TDDBC%E5%A4%A7%E9%98%AA2.0%2F%E8%AA%B2%E9%A1%8C\"\u003e大阪と一緒\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e子供の夜泣きでちょこちょこ起きるので、こっそりやってました。gist だと履歴の差分が見れないっぽいので、\u003ca href=\"https://github.com/nnasaki/tddbc_sendai02\"\u003e github で公開してみました。\u003c/a\u003eTFS で作業しているので、TFS から git に変換する必要があって、\u003ca href=\"http://git-tfs.com/\"\u003egit-tfs\u003c/a\u003eというのを使用して変換してみた。けれどもステップごとの作業内容は TFS のタスク（付箋）として扱っていて、コミットログは実装の内容だけしか書いていなかったので、分かりにくいですね。おまけに TFS の CI で自動ビルドした内容も含まれているのでコミットログが追いづらい。\u003ca href=\"http://blogs.msdn.com/b/bharry/archive/2012/08/13/announcing-git-integration-with-tfs.aspx\"\u003eAnnouncing Git Integration with TFS - Brian Harry\u0026rsquo;s blog - Site Home - MSDN Blogs\u003c/a\u003eというのを MS の中の人が作ったっぽいので、そっちだともっと見やすくなったりするのかな？とりあえず今はこのままで。\u003c/p\u003e\n\u003cp\u003e前置きが長くなりましたが、ステップ４までやってみました。\u003ca href=\"http://d.hatena.ne.jp/keyword/C%23\"\u003eC#\u003c/a\u003eっぽいところを gist に抜き出してみました。49行目の自動販売機の在庫を取得する処理に LINQ を使ってみました。ラムダを使用するとコードの行数がグッと減っていいですね。次回は ASP.NET MVC4 と絡めていこうと思っていますが List のデータ構造が DB になってもほとんど実装を変更せずに行けるはずです。\u003c/p\u003e\n\u003chr\u003e","title":"TDDBC_仙台02の課題をC#で素振り（ステップ2 〜 4まで）"},{"content":"イベント案内 | 2012-08-31 (金) 第12回 DDD(ドメイン駆動設計)勉強会 - 東北デベロッパーズコミュニティ\nエリック・エヴァンスのドメイン駆動設計 目次今回で記念すべき1周年でした。「第14章 モデルの整合性を維持する」を読み進め、共有カーネル（SHARED KARNEL）までと腐敗防止層（ANTICORRUPTION LAYER）を議論しました。\n初参加の方もいらっしゃり、とてもエクスパートな方で 「KARNEL って KERNEL のスペルミスですよね？」という早速鋭いツッコミをしていました。正誤表には載っていないようですので、教えてあげたほうが良いかもしれません。内容は「第4部　戦略的設計」に入り、だいぶ実践的な内容になってきたと感じました。今までの論調は完璧なドメインモデルを目指しすぎていて、正直机上の空論とも思える時がありました。今回は2つのコンテキストの統合について論じられており、レガシーシステムを統合するには何を意識するか、ファサードとアダプターとファクトリを駆使する等でとても参考になった。一応 .NETer(笑) として MS に関連した情報を紹介しますと、 MSDN にもベストプラクティスとして ドメイン駆動設計の概要 というような記事がありますし、最近買ったプログラミングMicrosoft ASP.NET MVC ASP.NET MVC 3対応版 (マイクロソフト公式解説書) も標準で作成される Model, Controller, View 以外にも Controller の汚染を避けるため、Service, Repository, DomainModel を作成することが推奨されています。\n何が言いたかったかというと、DDD はもはや新しいことではなく、当たり前になりつつあるということです。私も現在のプロジェクトには出来るだけ適用するようにしています。（まだまだ稚拙ですが・・・）\n私自身はデザインパターンの理解はまだ完全では無いし、本の内容も理解しきれていません。まだまだ足りないことだらけだなぁと改めて気付かせてくれる大変良い機会でした。次回も是非参加したいと思います。\n","permalink":"/entry/2012/09/01/002031/","summary":"\u003cp\u003e\u003ca href=\"http://tohoku-dev.jp/modules/eguide/event.php?eid=150\"\u003eイベント案内 | 2012-08-31 (金) 第12回 DDD(ドメイン駆動設計)勉強会 - 東北デベロッパーズコミュニティ\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://www.seshop.com/product/detail/13087/\"\u003eエリック・エヴァンスのドメイン駆動設計 目次\u003c/a\u003e今回で記念すべき1周年でした。「第14章 モデルの整合性を維持する」を読み進め、共有カーネル（SHARED KARNEL）までと腐敗防止層（ANTICORRUPTION LAYER）を議論しました。\u003c/p\u003e\n\u003cp\u003e初参加の方もいらっしゃり、とてもエクスパートな方で 「KARNEL って KERNEL のスペルミスですよね？」という早速鋭いツッコミをしていました。\u003ca href=\"http://www.shoeisha.co.jp/book/qa/13087/list?pn=all\u0026amp;mode=\"\u003e正誤表\u003c/a\u003eには載っていないようですので、教えてあげたほうが良いかもしれません。内容は「第4部　戦略的設計」に入り、だいぶ実践的な内容になってきたと感じました。今までの論調は完璧なドメインモデルを目指しすぎていて、正直机上の空論とも思える時がありました。今回は2つのコンテキストの統合について論じられており、レガシーシステムを統合するには何を意識するか、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%D5%A5%A1%A5%B5%A1%BC%A5%C9\"\u003eファサード\u003c/a\u003eとアダプターとファクトリを駆使する等でとても参考になった。一応 .NETer(笑) として MS に関連した情報を紹介しますと、 \u003ca href=\"http://d.hatena.ne.jp/keyword/MSDN\"\u003eMSDN\u003c/a\u003e にもベストプラクティスとして \u003ca href=\"http://msdn.microsoft.com/ja-jp/magazine/dd419654.aspx\"\u003eドメイン駆動設計の概要\u003c/a\u003e というような記事がありますし、最近買った\u003ca href=\"http://www.amazon.co.jp/dp/4822294668/\"\u003eプログラミングMicrosoft ASP.NET MVC ASP.NET MVC 3対応版 (マイクロソフト公式解説書)\u003c/a\u003e も標準で作成される Model, Controller, View 以外にも Controller の汚染を避けるため、Service, Repository, DomainModel を作成することが推奨されています。\u003c/p\u003e\n\u003cp\u003e何が言いたかったかというと、DDD はもはや新しいことではなく、当たり前になりつつあるということです。私も現在のプロジェクトには出来るだけ適用するようにしています。（まだまだ稚拙ですが・・・）\u003c/p\u003e\n\u003cp\u003e私自身は\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%B6%A5%A4%A5%F3%A5%D1%A5%BF%A1%BC%A5%F3\"\u003eデザインパターン\u003c/a\u003eの理解はまだ完全では無いし、本の内容も理解しきれていません。まだまだ足りないことだらけだなぁと改めて気付かせてくれる大変良い機会でした。次回も是非参加したいと思います。\u003c/p\u003e\n\u003chr\u003e","title":"第12回 DDD(ドメイン駆動設計)勉強会に行って来た"},{"content":"TDDBC_仙台02の課題 は 大阪 と同じです。「TDDBC C#」でぐぐると TDDBC大阪の課題をC#でやってみる ～ クラス設計とTDD という @biac さんの素晴らしい記事が既にあるのでやる意味が無い感じですが、自分なりに解いてみるのもいい勉強になるかなと思ってやってみました。\n以降、何回かに分けて課題を進めます。\nASP.NET MVC4 を使用していますので、最終的には AppHarbor とかに公開して動くアプリにしたいと思います。\n### 開発環境 WIndows 8 Release Preview Visual Studio 2012 RC Professional（多分 Express でもOK）\nTeam Foundation Service (TFS Preview)\nASP.NET MVC4\nMSTest\nChaining Assertion\n### まえおき #### Windows 8 を使用していますが、、、 XP でも同じことが出来ます。たまたま自分の環境が Windows 8 だったというだけです。 #### TFS Preview って？ ソース管理＋BTSです。git ではなく、VS と相性のいい TFS Preview を使いました。今は無償で TFS 同等の機能を利用できるので使いまくればいいと思います。 こんな感じでタスクを管理していました。\nf:id:nnasaki:20120821012303j:plain #### MSTest って？ VS に統合されている MS 謹製のテスティング[フレームワーク](http://d.hatena.ne.jp/keyword/%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF)です。CTRL+R,Aのツーストロークでテストが実行でき、今の範囲のテストは 17ms で終わるのでほぼ一瞬です。全くストレスは感じません。 しかしながら、NUnit と比べると機能が見劣りするので後述する Chaining Assertion で機能補完しています。\n#### Chaining Assertion って？ Chaining Assertion は Nuget コンソールから 「Install-Package ChainingAssertion」でインストールできます。 特徴として、以下があります\n対象のメソッドの後に直接 Is(expected) を付けてテストできる。 TestCase属性を付けてパラメタライズテストができる。 AsDynamic() を使用して private メソッド/プロパティ/フィールド をテストできる。 例外も比較的簡単にテストできる。 作者は neue cc - C#(.NET)のテストフレームワーク4種の比較雑感 の NUnit で書いている通り Hamcrest が嫌いなようなので、AssertThat は使わず、c# の拡張メソッドを使用するようにしたようです。\n私も c# でやるならこれがベストだと考えています。\n### 実装したコード(gist貼りつけ) ","permalink":"/entry/2012/08/21/004824/","summary":"\u003cp\u003e\u003ca href=\"http://devtesting.jp/tddbc/?TDDBC%E4%BB%99%E5%8F%B002#l14\"\u003eTDDBC_仙台02の課題\u003c/a\u003e は \u003ca href=\"http://devtesting.jp/tddbc/?TDDBC%E5%A4%A7%E9%98%AA2.0%2F%E8%AA%B2%E9%A1%8C\"\u003e大阪\u003c/a\u003e と同じです。「TDDBC \u003ca href=\"http://d.hatena.ne.jp/keyword/C%23\"\u003eC#\u003c/a\u003e」でぐぐると \u003ca href=\"http://codezine.jp/article/detail/6633\"\u003eTDDBC大阪の課題をC#でやってみる ～ クラス設計とTDD\u003c/a\u003e という @biac さんの素晴らしい記事が既にあるのでやる意味が無い感じですが、自分なりに解いてみるのもいい勉強になるかなと思ってやってみました。\u003c/p\u003e\n\u003cp\u003e以降、何回かに分けて課題を進めます。\u003c/p\u003e\n\u003cp\u003eASP.NET MVC4 を使用していますので、最終的には AppHarbor とかに公開して動くアプリにしたいと思います。\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e### 開発環境\nWIndows 8 Release Preview\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e 2012 RC Professional（多分 Express でもOK）\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://tfspreview.com\"\u003eTeam Foundation Service (TFS Preview)\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eASP.NET MVC4\u003c/p\u003e\n\u003cp\u003eMSTest\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://chainingassertion.codeplex.com/\"\u003eChaining Assertion\u003c/a\u003e\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e### まえおき\n\n\n#### Windows 8 を使用していますが、、、\nXP でも同じことが出来ます。たまたま自分の環境が Windows 8 だったというだけです。\n\n#### TFS Preview って？\nソース管理＋BTSです。git ではなく、VS と相性のいい TFS Preview を使いました。今は無償で TFS 同等の機能を利用できるので使いまくればいいと思います。\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eこんな感じでタスクを管理していました。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20120821/20120821012303.jpg\" alt=\"f:id:nnasaki:20120821012303j:plain\" title=\"f:id:nnasaki:20120821012303j:plain\" class=\"hatena-fotolife\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20120821012303j:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cpre\u003e\u003ccode\u003e#### MSTest って？\nVS に統合されている MS 謹製のテスティング[フレームワーク](http://d.hatena.ne.jp/keyword/%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF)です。CTRL+R,Aのツーストロークでテストが実行でき、今の範囲のテストは 17ms で終わるのでほぼ一瞬です。全くストレスは感じません。\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eしかしながら、\u003ca href=\"http://d.hatena.ne.jp/keyword/NUnit\"\u003eNUnit\u003c/a\u003e と比べると機能が見劣りするので後述する Chaining Assertion で機能補完しています。\u003c/p\u003e","title":"TDDBC_仙台02の課題をC#で素振り（ステップ0 〜 1まで）"},{"content":"以前 Macbook Pro Retina ディスプレイモデル に WIndows 8 Release Preview をインストールする で KB Parallels が問題で Windows 8 がゲストOSのとして起動出来なかったんだけど、この間の Parallels のアップデート後起動できるようになっていた。先の KB は相変わらず更新されていないけど、私の Macbook Pro Retina, Mid 2012 では Boot Camp にインストールした WIndows8 Release Preview が起動できた。 Retina ディスプレイでは、Retina 非対応のアプリのように文字が汚いけど、なんとか動かせるレベル。Visual Studio とか使う分には困らない感じ。お試しでいれた VMWare Fusion では起動できなかったので、お困りの人は Parallels を試すと良いかもしれない。\nちなみに Parallels Desktop を使っているのに、わざわざ Boot Camp に WIndows8 を入れるメリットは何かと言うと、ゲームをやりたい時は Boot Camp で起動して最高のパフォーマンスで楽しめる。、Visual Studio を弄りたいときはわざわざ再起動させずにゲストOSとして起動させてサクっと楽しめる。\nBoot Camp 領域のバックアップ方法を考える必要がありますが、おすすめです。今は Release Preview なのでバックアップしていませんが、追々考えなければなー。\n","permalink":"/entry/2012/08/20/204740/","summary":"\u003cp\u003e以前 \u003ca href=\"http://nnasaki.hatenablog.com/entry/2012/07/08/140901\"\u003eMacbook Pro Retina ディスプレイモデル に WIndows 8 Release Preview をインストールする\u003c/a\u003e で \u003ca href=\"http://kb.parallels.com/jp/112443\"\u003eKB Parallels\u003c/a\u003e が問題で Windows 8 がゲストOSのとして起動出来なかったんだけど、この間の \u003ca href=\"http://d.hatena.ne.jp/keyword/Parallels\"\u003eParallels\u003c/a\u003e のアップデート後起動できるようになっていた。先の KB は相変わらず更新されていないけど、私の \u003ca href=\"http://d.hatena.ne.jp/keyword/Macbook%20Pro\"\u003eMacbook Pro\u003c/a\u003e Retina, Mid 2012 では \u003ca href=\"http://d.hatena.ne.jp/keyword/Boot%20Camp\"\u003eBoot Camp\u003c/a\u003e にインストールした WIndows8 Release Preview が起動できた。 Retina ディスプレイでは、Retina 非対応のアプリのように文字が汚いけど、なんとか動かせるレベル。\u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e とか使う分には困らない感じ。お試しでいれた \u003ca href=\"http://d.hatena.ne.jp/keyword/VMWare%20Fusion\"\u003eVMWare Fusion\u003c/a\u003e では起動できなかったので、お困りの人は \u003ca href=\"http://d.hatena.ne.jp/keyword/Parallels\"\u003eParallels\u003c/a\u003e を試すと良いかもしれない。\u003c/p\u003e\n\u003cp\u003eちなみに \u003ca href=\"http://d.hatena.ne.jp/keyword/Parallels%20Desktop\"\u003eParallels Desktop\u003c/a\u003e を使っているのに、わざわざ \u003ca href=\"http://d.hatena.ne.jp/keyword/Boot%20Camp\"\u003eBoot Camp\u003c/a\u003e に WIndows8 を入れるメリットは何かと言うと、ゲームをやりたい時は \u003ca href=\"http://d.hatena.ne.jp/keyword/Boot%20Camp\"\u003eBoot Camp\u003c/a\u003e で起動して最高のパフォーマンスで楽しめる。、\u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e を弄りたいときはわざわざ再起動させずにゲストOSとして起動させてサクっと楽しめる。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Boot%20Camp\"\u003eBoot Camp\u003c/a\u003e 領域のバックアップ方法を考える必要がありますが、おすすめです。今は Release Preview なのでバックアップしていませんが、追々考えなければなー。\u003c/p\u003e\n\u003chr\u003e","title":"Parallels Desktop で Boot Camp にインストールした WIndows8 がいつの間にかゲストOSとして起動するようになっていた"},{"content":"TDDBC 前に環境壊すのも嫌だったので、保留にしていた Mountain Lion にアップグレードしました。前準備にバックアップをしていたのでメモしておきます。\n### ハードウェア [Macbook Pro](http://d.hatena.ne.jp/keyword/Macbook%20Pro) Retina, Mid 2012 USBメモリ 2G\nUSBメモリ 8G\n### 下準備 #### Recovery HD をバックアップする Recovery HD に LION が入っていますが、万が一のためにバックアップしておきます。もし失敗しても Time Machine で戻せますが、念には念を入れるというやつです。 手順はLion Recovery Disk AssistantをダウンロードしてUSBメモリ 2Gを差して実行するだけで1分かからず出来ました。\n#### Mountain Lion のディスクイメージを保存する Mountain Lion は [App Store](http://d.hatena.ne.jp/keyword/App%20Store) からダウンロードするのですが、4Gもありインストール後も消えてしまいます。再ダウンロードはだるいので、アプリごと外付けHDDに取っておきつつ、インストールイメージを [USBメモリ](http://d.hatena.ne.jp/keyword/USB%A5%E1%A5%E2%A5%EA) 8G に取っておきます。[USBメモリ](http://d.hatena.ne.jp/keyword/USB%A5%E1%A5%E2%A5%EA)にインストーラ作成は何故か Disk Utility でうまく作れなかったので、[OS X Mountain Lionの起動ディスクをUSBメモリで作成 | moonblack](http://moonblack.net/archives/4561) を参考に怪しいツールで[USBメモリ](http://d.hatena.ne.jp/keyword/USB%A5%E1%A5%E2%A5%EA)にインストーラーを作成した。 ### いざ本番 Mountain Lion のインストーラーを起動して、放置すること30分ぐらい。いつの間にか [Macbook pro](http://d.hatena.ne.jp/keyword/Macbook%20pro) の電源が落ちていて、電源ボタンを入れたら Mountain Lion が起動した。 大して違いを感じず。 通知センターとリマインダーとメモが増えたぐらいしかわからない。UI は Safari の読込中のバーがなんかなめらかに進むようになってたぐらいかなぁ。結構念入りに準備したけどあっけなく終わって拍子抜けでした。\n","permalink":"/entry/2012/08/20/203218/","summary":"\u003cp\u003eTDDBC 前に環境壊すのも嫌だったので、保留にしていた Mountain Lion にアップグレードしました。前準備にバックアップをしていたのでメモしておきます。\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e### ハードウェア\n[Macbook Pro](http://d.hatena.ne.jp/keyword/Macbook%20Pro) Retina, Mid 2012\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/USB%A5%E1%A5%E2%A5%EA\"\u003eUSBメモリ\u003c/a\u003e 2G\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/USB%A5%E1%A5%E2%A5%EA\"\u003eUSBメモリ\u003c/a\u003e 8G\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e### 下準備\n\n\n#### Recovery HD をバックアップする\nRecovery HD に LION が入っていますが、万が一のためにバックアップしておきます。もし失敗しても Time Machine で戻せますが、念には念を入れるというやつです。\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e手順は\u003ca href=\"http://support.apple.com/kb/DL1433\"\u003eLion Recovery Disk Assistant\u003c/a\u003eをダウンロードして\u003ca href=\"http://d.hatena.ne.jp/keyword/USB%A5%E1%A5%E2%A5%EA\"\u003eUSBメモリ\u003c/a\u003e 2Gを差して実行するだけで1分かからず出来ました。\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e#### Mountain Lion のディスクイメージを保存する\nMountain Lion は [App Store](http://d.hatena.ne.jp/keyword/App%20Store) からダウンロードするのですが、4Gもありインストール後も消えてしまいます。再ダウンロードはだるいので、アプリごと外付けHDDに取っておきつつ、インストールイメージを [USBメモリ](http://d.hatena.ne.jp/keyword/USB%A5%E1%A5%E2%A5%EA) 8G に取っておきます。[USBメモリ](http://d.hatena.ne.jp/keyword/USB%A5%E1%A5%E2%A5%EA)にインストーラ作成は何故か Disk Utility でうまく作れなかったので、[OS X Mountain Lionの起動ディスクをUSBメモリで作成 | moonblack](http://moonblack.net/archives/4561) を参考に怪しいツールで[USBメモリ](http://d.hatena.ne.jp/keyword/USB%A5%E1%A5%E2%A5%EA)にインストーラーを作成した。\n\n### いざ本番\nMountain Lion のインストーラーを起動して、放置すること30分ぐらい。いつの間にか [Macbook pro](http://d.hatena.ne.jp/keyword/Macbook%20pro) の電源が落ちていて、電源ボタンを入れたら Mountain Lion が起動した。\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e大して違いを感じず。 通知センターとリマインダーとメモが増えたぐらいしかわからない。UI は \u003ca href=\"http://d.hatena.ne.jp/keyword/Safari\"\u003eSafari\u003c/a\u003e の読込中のバーがなんかなめらかに進むようになってたぐらいかなぁ。結構念入りに準備したけどあっけなく終わって拍子抜けでした。\u003c/p\u003e","title":"Mountain Lion にアップグレードした"},{"content":"初めてイベントを主催しました。** イベント自体は大きな事故や問題も無く無事に開催することが出来て、本当に良かったと思います。\n正直、自分が思っている以上に開催することは大変でした。\nどのぐらい大変だったかというと、チェック項目が100以上あるスタッフノートが出来上がるほど大変でしたというとちょっとは伝わるでしょうか？開催中は主催者としてイベントを回すためにはどうするか、\n次に何をすれば良いかという考えが頭でいっぱいで、\n@t_wadaさんの基調講演も上の空という状態でした。なので内容の詳細はいまいさんの参加レポートを見ていただくとして、主催するまでの道のりと感想を中心に書いていきたいと思います。\n### 何故主催者となったか？ すべての始まりは去年のデブサミ東北で開催されたTDDBC仙台01でこんなツイートをしてしまったからになります。 #tddbc** 仙台皆さんお疲れ様でした。和田さんありがとうございました。久しぶりに楽しくコードがかけました。今日が始まりとなり、次回また開催できるよう頑張ります— 山本誠樹/Masaki Yamamotoさん (@nnasaki) 7月 2, 2011 まぁ、よくある言いだしっぺの法則という奴です。\n### 開催するまでの道のり ここからは時系列で思い出しながら書いていきます。 #### ５〜６月 主催者になるのは簡単です。[#tddbc の作り方( #TddAdventJp )](http://d.hatena.ne.jp/setoazusa/20111201/1322749426)に書いてあるとおり、[TDDBCのML](http://groups.google.com/group/tddbc?hl=ja)で「やります」と言うだけです。なので、今回は[ジョジョ展](http://www.jojo-morioh.com/)を餌に5/19に開催宣言をしたところ、翌日には見事@t_wadaさんが喰いつくという幸先の良いスタートを切ることが出来ました。問題はそこからで、TDDBC は複数のサポートをするスタッフが必要です。和田さんの返信の後は、6/18までの約1ヶ月間誰からも手が挙がらない状態でした。当時の心境としては、開催出来るかどうかが不安で不安で仕方がない毎日を過ごしていました。 口火を切って頂いた@tosikawaさんの返信は本当に嬉しかったことを今でも覚えています。MLの募集と同時進行で、DDD読書会やレッツゴーデベロッパー等の勉強会にて内々でスタッフをお願いして回っておりました。@i_takehiroさん、@masanobuimaiさん、@leecomさんに協力していただけることとなり、ホッと胸をなでおろしました。\n#### ７月 MLでは@yujioramaさんからスタッフ参加の返信があり、とても感謝しています。人の次に問題となるのは会場です。実は会場の調整に失敗しており、いつも無料で貸出をしていただける会場が借りられないということがわかりました。 今思えば開催日を借りられる日にずらせばよかったかもしれませんが、他のイベントと自分の都合とジョジョ展を照らし合わせると 8/11 しか無い状態になってしまい、エル・ソーラ仙台　大研修室を借りることにしました。日にちと場所が決まったので、7/27 の約２週間前に TDC にて告知を出しました。ATND 等一般的なイベント募集サイトを使わなかったのは、参加者へのリマインドメール等を送るために e-mail address が必須と出来なかったのと、柔軟な事前アンケートフォームができるからでした。\n#### 8月 いよいよ２週間を切るわけですが、ほとんど準備が出来ていない状態でした。実は前日打合せについては8/7に@yujioramaさんから提案があるまで、当初は不要と考えていました。今思えば前日打合せをやらずにイベントを開催できると思っていた自分の愚かさを恥じるばかりです。 このとき冒頭にリンクを張ったスタッフ向けノートを@yujioramaさんに提供をしていただき、開催準備を急激に加速することが出来ました。\n### 開催日当日 そろそろ書くのも疲れてきたので、思い出せる範囲で。 #### 9:00〜10:00 受付開始は10時からの予定でしたが、スタッフは9時に集合して会場の設営と朝会を行いました。これも前日打合せ前は、受付開始と同じ10時から会場を準備しようとしていたので、本当に自分の愚かさを（ｒｙ #### 10:30〜 開始の挨拶を行いました。実はここらへんが疲労のピークで、誰かの話を聞いても右から左に抜けていく感じでした。スタッフ向けノートを頼りに抜けや漏れが無いように話すことと写真を撮ることが精一杯でした。気がついたらもうワークショップが終わって振り返りをやっている感じでした。気がついたら[おじいちゃんを見送るポーズ](http://t.co/R4fTj7ox)をしていました。しかも間違っているし… ### 所感 イベントとしては成功したと思うけれども、開催側としては反省点ばかり。[参加者全員のKPT](http://devtesting.jp/tddbc/?TDDBC%E4%BB%99%E5%8F%B002#l15)はありますが、別途スタッフ向けのKPTもあったほうがいいかなと思っています。つらつらとネガティブなことばっかり書いてきましたが、一言で言えば辛かったけど楽しかったです。きっと後にも先にもお盆で子どもが生まれる1週間前に TDDBC をやろうと思う無謀者は私だけでしょうｗ次は私が開催できるかわかりませんが、TDDBC仙台03を楽しみにしていますので、もし主催したい方が居ましたら気兼ねなく声をかけていただければと思います。 @t_wadaさん曰く、地方の開催で主催者が変わったのはおそらく初めてとのことでしたので、3回目も別な主催者の方ですと記録更新？が出来るかもしれません。私は当日のワークショップが全然出来なかったので、コツコツ素振りをしていこうかなぁと思っています。\n### 最後に 講師を快く引き受けていただいた@t_wadaさん。 遠路はるばるお越しいただいた@yujioramaさんと@tosikawaさん。\n未熟な主催者を支えていただいた@i_takehiroさん、@masanobuimaiさん、@leecomさん、@yura760さん。\n当日紹介出来ませんでしたが領収書を作成していただいた TDC の皆様。本当にありがとうございました。もし次回開催することになりましたら、またお力を貸していただければと思っています。\n","permalink":"/entry/2012/08/16/003948/","summary":"\u003cp\u003e初めてイベントを主催しました。**\nイベント自体は大きな事故や問題も無く無事に開催することが出来て、本当に良かったと思います。\u003c/p\u003e\n\u003cp\u003e正直、自分が思っている以上に開催することは大変でした。\u003c/p\u003e\n\u003cp\u003eどのぐらい大変だったかというと、\u003ca href=\"https://docs.google.com/spreadsheet/ccc?key=0Av8NIU3ixgIZdHBvZXk1NUh2WTZaRE82TTN6Ml8tTmc\"\u003eチェック項目が100以上あるスタッフノート\u003c/a\u003eが出来上がるほど大変でしたというとちょっとは伝わるでしょうか？開催中は主催者としてイベントを回すためにはどうするか、\u003c/p\u003e\n\u003cp\u003e次に何をすれば良いかという考えが頭でいっぱいで、\u003c/p\u003e\n\u003cp\u003e@t_wadaさんの基調講演も上の空という状態でした。なので内容の詳細は\u003ca href=\"http://d.hatena.ne.jp/masanobuimai/20120814\"\u003eいまいさんの参加レポート\u003c/a\u003eを見ていただくとして、主催するまでの道のりと感想を中心に書いていきたいと思います。\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e### 何故主催者となったか？\nすべての始まりは去年のデブサミ東北で開催されたTDDBC仙台01でこんなツイートをしてしまったからになります。\n\u003c/code\u003e\u003c/pre\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003ca href=\"https://twitter.com/search/?q=%23tddbc\"\u003e#tddbc**\u003c/a\u003e 仙台皆さんお疲れ様でした。和田さんありがとうございました。久しぶりに楽しくコードがかけました。今日が始まりとなり、次回また開催できるよう頑張ります— 山本誠樹/Masaki Yamamotoさん (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/status/87093295376904192\"\u003e7月 2, 2011\u003c/a\u003e\nまぁ、よくある言いだしっぺの法則という奴です。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cpre\u003e\u003ccode\u003e### 開催するまでの道のり\nここからは時系列で思い出しながら書いていきます。\n\n#### ５〜６月\n主催者になるのは簡単です。[#tddbc の作り方( #TddAdventJp )](http://d.hatena.ne.jp/setoazusa/20111201/1322749426)に書いてあるとおり、[TDDBCのML](http://groups.google.com/group/tddbc?hl=ja)で「やります」と言うだけです。なので、今回は[ジョジョ展](http://www.jojo-morioh.com/)を餌に5/19に開催宣言をしたところ、翌日には見事@t_wadaさんが喰いつくという幸先の良いスタートを切ることが出来ました。問題はそこからで、TDDBC は複数のサポートをするスタッフが必要です。和田さんの返信の後は、6/18までの約1ヶ月間誰からも手が挙がらない状態でした。当時の心境としては、開催出来るかどうかが不安で不安で仕方がない毎日を過ごしていました。\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e口火を切って頂いた@tosikawaさんの返信は本当に嬉しかったことを今でも覚えています。MLの募集と同時進行で、DDD読書会やレッツゴー\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%D9%A5%ED%A5%C3%A5%D1\"\u003eデベロッパ\u003c/a\u003eー等の勉強会にて内々でスタッフをお願いして回っておりました。@i_takehiroさん、@masanobuimaiさん、@leecomさんに協力していただけることとなり、ホッと胸をなでおろしました。\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e#### ７月\nMLでは@yujioramaさんからスタッフ参加の返信があり、とても感謝しています。人の次に問題となるのは会場です。実は会場の調整に失敗しており、いつも無料で貸出をしていただける会場が借りられないということがわかりました。\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e今思えば開催日を借りられる日にずらせばよかったかもしれませんが、他のイベントと自分の都合とジョジョ展を照らし合わせると 8/11 しか無い状態になってしまい、\u003ca href=\"http://www.sendai-l.jp/center/shisetsu/ls_01.html\"\u003eエル・ソーラ仙台　大研修室\u003c/a\u003eを借りることにしました。日にちと場所が決まったので、7/27 の約２週間前に \u003ca href=\"http://tohoku-dev.jp/modules/eguide/event.php?eid=144\"\u003eTDC にて告知\u003c/a\u003eを出しました。ATND 等一般的なイベント募集サイトを使わなかったのは、参加者へのリマインドメール等を送るために e-mail address が必須と出来なかったのと、柔軟な事前アンケートフォームができるからでした。\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e#### 8月\nいよいよ２週間を切るわけですが、ほとんど準備が出来ていない状態でした。実は前日打合せについては8/7に@yujioramaさんから提案があるまで、当初は不要と考えていました。今思えば前日打合せをやらずにイベントを開催できると思っていた自分の愚かさを恥じるばかりです。\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eこのとき冒頭にリンクを張ったスタッフ向けノートを@yujioramaさんに提供をしていただき、開催準備を急激に加速することが出来ました。\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e### 開催日当日\nそろそろ書くのも疲れてきたので、思い出せる範囲で。\n\n#### 9:00〜10:00\n受付開始は10時からの予定でしたが、スタッフは9時に集合して会場の設営と朝会を行いました。これも前日打合せ前は、受付開始と同じ10時から会場を準備しようとしていたので、本当に自分の愚かさを（ｒｙ\n\n#### 10:30〜\n開始の挨拶を行いました。実はここらへんが疲労のピークで、誰かの話を聞いても右から左に抜けていく感じでした。スタッフ向けノートを頼りに抜けや漏れが無いように話すことと写真を撮ることが精一杯でした。気がついたらもうワークショップが終わって振り返りをやっている感じでした。気がついたら[おじいちゃんを見送るポーズ](http://t.co/R4fTj7ox)をしていました。しかも間違っているし…\n\n### 所感\nイベントとしては成功したと思うけれども、開催側としては反省点ばかり。[参加者全員のKPT](http://devtesting.jp/tddbc/?TDDBC%E4%BB%99%E5%8F%B002#l15)はありますが、別途スタッフ向けのKPTもあったほうがいいかなと思っています。つらつらとネガティブなことばっかり書いてきましたが、一言で言えば辛かったけど楽しかったです。きっと後にも先にもお盆で子どもが生まれる1週間前に TDDBC をやろうと思う無謀者は私だけでしょうｗ次は私が開催できるかわかりませんが、TDDBC仙台03を楽しみにしていますので、もし主催したい方が居ましたら気兼ねなく声をかけていただければと思います。\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e@t_wadaさん曰く、地方の開催で主催者が変わったのはおそらく初めてとのことでしたので、3回目も別な主催者の方ですと記録更新？が出来るかもしれません。私は\u003ca href=\"http://devtesting.jp/tddbc/?TDDBC%E5%A4%A7%E9%98%AA2.0%2F%E8%AA%B2%E9%A1%8C\"\u003e当日のワークショップ\u003c/a\u003eが全然出来なかったので、コツコツ素振りをしていこうかなぁと思っています。\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e### 最後に\n講師を快く引き受けていただいた@t_wadaさん。\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e遠路はるばるお越しいただいた@yujioramaさんと@tosikawaさん。\u003c/p\u003e","title":"TDDBC仙台02 を開催しました"},{"content":"外付けHDDが壊れた - nnasakiのブログと外付けUSBディスク に付けていた HDD がまた調子悪くなった - nnasakiのブログで何度か調子悪くなっている、CG-HDC2EU3100 が Time Machine のパーティションが壊れて修復不可となった。今までの教訓から Time Machine は別パーティションにしておいて正解だった。\nTime Machine のディスクは読み取れるので copy -r して別のディスクに移しているが、200GB程の容量が3時間経っても全然終わる気配がない。\nコピーは諦めてパーティションを初期化してしまうか迷う。やっぱりこのケースは MAC と相性が悪いと思う。テレビの REGZA で使ってた外付け HDD を Time Machine 専用にして運用してみようかなぁ。\n","permalink":"/entry/2012/08/07/015916/","summary":"\u003cp\u003e\u003ca href=\"http://nnasaki.hatenablog.com/entry/2012/01/08/224313\"\u003e外付けHDDが壊れた - nnasakiのブログ\u003c/a\u003eと\u003ca href=\"http://nnasaki.hatenablog.com/entry/2012/03/20/150024\"\u003e外付けUSBディスク に付けていた HDD がまた調子悪くなった - nnasakiのブログ\u003c/a\u003eで何度か調子悪くなっている、CG-HDC2EU3100 が Time Machine のパーティションが壊れて修復不可となった。今までの教訓から Time Machine は別パーティションにしておいて正解だった。\u003c/p\u003e\n\u003cp\u003eTime Machine のディスクは読み取れるので copy -r して別のディスクに移しているが、200GB程の容量が3時間経っても全然終わる気配がない。\u003c/p\u003e\n\u003cp\u003eコピーは諦めてパーティションを初期化してしまうか迷う。やっぱりこのケースは MAC と相性が悪いと思う。テレビの \u003ca href=\"http://d.hatena.ne.jp/keyword/REGZA\"\u003eREGZA\u003c/a\u003e で使ってた外付け HDD を Time Machine 専用にして運用してみようかなぁ。\u003c/p\u003e\n\u003chr\u003e","title":"またまた外付け HDD の Time Machine パーティションが壊れた"},{"content":"新幹線に朝早くから乗って日帰りで。世界で40000のビルドサーバーが立ち上がっているそうな。\n講演が英語で同時通訳スライド（？）みたいなのがあって、なかなか斬新だった。\nJenkins シールを手にいれたのでエモーショナルなシールと並べて Macbook に貼ろうと思う。その後は旧友と Footers に行った。\n3時間ぐらい飲んで一人4000円ぐらいでだいぶ楽しめた。\n実は離婚していましたとか、社長直属だと事業部長通さなくて楽だわーとかとか。\n","permalink":"/entry/2012/07/30/004540/","summary":"\u003cp\u003e新幹線に朝早くから乗って日帰りで。世界で40000のビルドサーバーが立ち上がっているそうな。\u003c/p\u003e\n\u003cp\u003e講演が英語で同時通訳スライド（？）みたいなのがあって、なかなか斬新だった。\u003c/p\u003e\n\u003cp\u003eJenkins シールを手にいれたのでエモーショナルなシールと並べて \u003ca href=\"http://d.hatena.ne.jp/keyword/Macbook\"\u003eMacbook\u003c/a\u003e  に貼ろうと思う。その後は旧友と Footers に行った。\u003c/p\u003e\n\u003cp\u003e3時間ぐらい飲んで一人4000円ぐらいでだいぶ楽しめた。\u003c/p\u003e\n\u003cp\u003e実は離婚していましたとか、社長直属だと事業部長通さなくて楽だわーとかとか。\u003c/p\u003e\n\u003chr\u003e","title":"Jenkins ユーザーカンファレンスに行って来た"},{"content":"TDDBC仙台02 の募集を開始いたしました。\n8/11(土)に行います！\nhttp://tohoku-dev.jp/modules/eguide/event.php?eid=144プログラミングに自信の無い方、マネージャーの方も\n@t_wada さんの講演だけでも一聴の価値はあると思います。定員は30名ですが開場には余裕がございますので、\n多少人数オーバーしても問題ありません。いやー、去年2回目やるよと言ってなんとか開催できそうで本当によかった。\n以下は募集文の転載\nTDDBC(TDD Boot Camp)仙台02を8/11(土)に開催します！ユニットテストしたことないんだけど、どうすればいいの？\nなぜ、テストを先にするの？\nテストコードを書く時間が無駄なんじゃないの？\nテストの自動化をすれば品質は上がるの？\nコードカバレッジは100%は必要なの？上記疑問に一つでも当てはまる方は是非参加してみて下さい。\nきっと答えが見つかるはずです。【TDD Boot Campとは】\nテスト駆動開発(Test Driven Development)について、座学だけでなく、実習形式で手を動かして体得することを目的とするイベントです。昨年、デブサミ２０１１東北にて開催され、今回で２回目となります。\n昨年開催された内容については http://codezine.jp/article/detail/6055 をご覧ください。今年も TDD の伝道師、和田卓人さん (@t_wada) をお招きし、講演、指導を頂きます。\n和田さんとTDDについてもっと知りたい方は［動画で解説］和田卓人の“テスト駆動開発”講座(http://gihyo.jp/dev/serial/01/tdd)をご覧ください。今回は TDDBC 卒業の証として、グリーンバンドを1個500円で販売します。\n希望される方は申し込みフォームにて希望サイズ（MかL）をお選びください。\n※グリーバンドについて： http://d.hatena.ne.jp/mzp/20100711/greenband\n※会場利用規則により会場では販売できませんので、懇親会場にて販売させて頂きます。\n懇親会にご参加なさらない方につきましては、別途対応させて頂きます。【開催日時・場所について】\n開催日：2012/08/11(土曜日) 10:30～17:30 (開場 10:00)\n定員：30人\n場所：エル・ソーラ仙台　大研修室（アエル　28階）\nhttp://www.sendai-l.jp/center/shisetsu/ls_01.html\n公式サイト：http://devtesting.jp/tddbc/\nハッシュタグ：#tddbc【参加費用について】\n参加費用：2000円 (会場費等)\n当日受付にて回収します。【懇親会について】\n懇親会：（場所未定）\n時間 18:00 - 20:00\n参加費 3,500円（学生は3,000円）\nグリーンバンドを希望される方は別途500円頂きます。【タイムテーブル】\n10:00～10:30 受付開始\n10:30～10:45 Opening\n10:45～12:00 基調講演\n12:00～13:00 Lunch\n13:00～14:30 1つめの開発するテーマを発表+ペアプロ大会\n14:30～15:00 コードレビュー+休憩\n15:00～16:30 2つめの開発するテーマを発表+ペアプロ大会\n16:30～17:00 コードレビュー+休憩\n17:00～17:30 ふりかえり・時間配分等は目安です。\n・演習は３～４名で１チームで行います。\n・演習は１台のPCを使って、10分毎に実装者を交代する乱取り形式で行います。\n・演習ではノートPCを使用しますが、３～４名に１台あれば良いので無くても参加可能です。\n・PCをご持参いただく際に、延長コードを併せてお持ちいただけましたら幸いです。【使用する言語について】\n申し込みフォームにてアンケートを行い、ペアが組める言語を選択していただきます。\n運営側でサポートする言語は以下の通りです。\nサポート外の言語を選択されても構いませんが自己責任でお願いします。【言語】\nJava\nGroovy\nC#\nC++\nC\nVB.NET\nPython\nRuby【その他】\n会場にはネットワーク接続環境がありません。\n運営側にてWi-fiを用意する予定ですが、繋がらない可能性がございます。\n必要な方は自前インフラの用意をお願いいたします。当日は写真撮影を行います。インターネットに一般公開する予定です。\n当日にもお知らせいたしますが、撮影に不都合がある方はその旨スタッフにお知らせください。【参加準備】\n・みんなで作るポジションペーパー にご記入ください。\nこちらは必須ではありませんが、積極的に自分をアピールしてみましょう!\n以下URLを編集してください。\nhttps://docs.google.com/present/edit?id=0Af8NIU3ixgIZZGY4Zzg2d2ZfMmZyZDJoOGh0・ノートパソコンの持参をしていただける方へお願い\n当日は、開発環境を構築する時間がほとんどありません。事前にテスティングフレームワークのインストールをお願いいたします。\nJava の環境構築に関しては、環境構築(Java/仙台01)を参照してください。\nhttp://devtesting.jp/tddbc/?%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89%28Java%2F%E4%BB%99%E5%8F%B001%29c#, VB.NET の環境については、以下記事を参照してください。\nC#で始めるテスト駆動開発\nhttp://codezine.jp/article/detail/6300\nVB2010 Express + NUnit 2.5 で、 初めてのTDD Step by Step\nhttp://www.tdd-net.jp/vb2010ee-nunit25-tdd-stepbystep.html【Macを持参する方へ】\nACアダプターが干渉して他の人が電源を確保できなくなるため、100円ショップ等で延長または分岐タップをご用意ください。・コードレビュー時にスクリーンに投影してもらうかもしれませんので、ディスプレイアダプタをご用意ください。\n","permalink":"/entry/2012/07/28/001028/","summary":"\u003cp\u003eTDDBC仙台02 の募集を開始いたしました。\u003c/p\u003e\n\u003cp\u003e8/11(土)に行います！\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://tohoku-dev.jp/modules/eguide/event.php?eid=144\"\u003ehttp://tohoku-dev.jp/modules/eguide/event.php?eid=144\u003c/a\u003eプログラミングに自信の無い方、マネージャーの方も\u003c/p\u003e\n\u003cp\u003e@t_wada さんの講演だけでも一聴の価値はあると思います。定員は30名ですが開場には余裕がございますので、\u003c/p\u003e\n\u003cp\u003e多少人数オーバーしても問題ありません。いやー、去年2回目やるよと言ってなんとか開催できそうで本当によかった。\u003c/p\u003e\n\u003cp\u003e以下は募集文の転載\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003c/li\u003e\n\u003cli\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTDDBC(TDD \u003ca href=\"http://d.hatena.ne.jp/keyword/Boot%20Camp\"\u003eBoot Camp\u003c/a\u003e)仙台02を8/11(土)に開催します！\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%E6%A5%CB%A5%C3%A5%C8%A5%C6%A5%B9%A5%C8\"\u003eユニットテスト\u003c/a\u003eしたことないんだけど、どうすればいいの？\u003c/p\u003e\n\u003cp\u003eなぜ、テストを先にするの？\u003c/p\u003e\n\u003cp\u003eテストコードを書く時間が無駄なんじゃないの？\u003c/p\u003e\n\u003cp\u003eテストの自動化をすれば品質は上がるの？\u003c/p\u003e\n\u003cp\u003eコード\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AB%A5%D0%A5%EC%A5%C3%A5%B8\"\u003eカバレッジ\u003c/a\u003eは100%は必要なの？上記疑問に一つでも当てはまる方は是非参加してみて下さい。\u003c/p\u003e\n\u003cp\u003eきっと答えが見つかるはずです。【TDD \u003ca href=\"http://d.hatena.ne.jp/keyword/Boot%20Camp\"\u003eBoot Camp\u003c/a\u003eとは】\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C6%A5%B9%A5%C8%B6%EE%C6%B0%B3%AB%C8%AF\"\u003eテスト駆動開発\u003c/a\u003e(Test Driven Development)について、座学だけでなく、実習形式で手を動かして体得することを目的とするイベントです。昨年、デブサミ２０１１東北にて開催され、今回で２回目となります。\u003c/p\u003e\n\u003cp\u003e昨年開催された内容については \u003ca href=\"http://codezine.jp/article/detail/6055\"\u003ehttp://codezine.jp/article/detail/6055\u003c/a\u003e をご覧ください。今年も TDD の伝道師、和田卓人さん (@t_wada) をお招きし、講演、指導を頂きます。\u003c/p\u003e\n\u003cp\u003e和田さんとTDDについてもっと知りたい方は［動画で解説］和田卓人の“\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C6%A5%B9%A5%C8%B6%EE%C6%B0%B3%AB%C8%AF\"\u003eテスト駆動開発\u003c/a\u003e”講座(\u003ca href=\"http://gihyo.jp/dev/serial/01/tdd\"\u003ehttp://gihyo.jp/dev/serial/01/tdd\u003c/a\u003e)をご覧ください。今回は TDDBC 卒業の証として、グリーンバンドを1個500円で販売します。\u003c/p\u003e\n\u003cp\u003e希望される方は申し込みフォームにて希望サイズ（MかL）をお選びください。\u003c/p\u003e\n\u003cp\u003e※グリーバンドについて： \u003ca href=\"http://d.hatena.ne.jp/mzp/20100711/greenband\"\u003ehttp://d.hatena.ne.jp/mzp/20100711/greenband\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e※会場利用規則により会場では販売できませんので、懇親会場にて販売させて頂きます。\u003c/p\u003e\n\u003cp\u003e　　懇親会にご参加なさらない方につきましては、別途対応させて頂きます。【開催日時・場所について】\u003c/p\u003e\n\u003cp\u003e開催日：2012/08/11(土曜日) 10:30～17:30 (開場 10:00)\u003c/p\u003e\n\u003cp\u003e定員：30人\u003c/p\u003e\n\u003cp\u003e場所：エル・ソーラ仙台　大研修室（アエル　28階）\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://www.sendai-l.jp/center/shisetsu/ls_01.html\"\u003ehttp://www.sendai-l.jp/center/shisetsu/ls_01.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e公式サイト：\u003ca href=\"http://devtesting.jp/tddbc/\"\u003ehttp://devtesting.jp/tddbc/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eハッシュタグ：#tddbc【参加費用について】\u003c/p\u003e\n\u003cp\u003e参加費用：2000円 (会場費等)\u003c/p\u003e\n\u003cp\u003e当日受付にて回収します。【懇親会について】\u003c/p\u003e\n\u003cp\u003e懇親会：（場所未定）\u003c/p\u003e\n\u003cp\u003e時間 18:00 - 20:00\u003c/p\u003e\n\u003cp\u003e参加費 3,500円（学生は3,000円）\u003c/p\u003e\n\u003cp\u003eグリーンバンドを希望される方は別途500円頂きます。【タイムテーブル】\u003c/p\u003e\n\u003cp\u003e10:00～10:30 受付開始\u003c/p\u003e\n\u003cp\u003e10:30～10:45 Opening\u003c/p\u003e\n\u003cp\u003e10:45～12:00 基調講演\u003c/p\u003e\n\u003cp\u003e12:00～13:00 Lunch\u003c/p\u003e\n\u003cp\u003e13:00～14:30 1つめの開発するテーマを発表+\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DA%A5%A2%A5%D7%A5%ED\"\u003eペアプロ\u003c/a\u003e大会\u003c/p\u003e\n\u003cp\u003e14:30～15:00 コードレビュー+休憩\u003c/p\u003e\n\u003cp\u003e15:00～16:30 2つめの開発するテーマを発表+\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DA%A5%A2%A5%D7%A5%ED\"\u003eペアプロ\u003c/a\u003e大会\u003c/p\u003e","title":"TDDBC(TDD Boot Camp)仙台02 を開催します。"},{"content":"3部の締めくくり。12章と13章。@mokkeee さんのまとめをさらっと流して終わり。\nデザインパターンが当たり前のように出てきて理解が前提。\nデコレータとか全然使ったこと無いけど、一応理解はしているつもり。今回も本の内容よりグチが多くなりがちでちょっと反省。余った時間は TDDBC仙台02 の宣伝をして終了。\n2週間前なのでこれから忙しくなるなー\n","permalink":"/entry/2012/07/28/000519/","summary":"\u003cp\u003e3部の締めくくり。12章と13章。@mokkeee さんのまとめをさらっと流して終わり。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%B6%A5%A4%A5%F3%A5%D1%A5%BF%A1%BC%A5%F3\"\u003eデザインパターン\u003c/a\u003eが当たり前のように出てきて理解が前提。\u003c/p\u003e\n\u003cp\u003eデコレータとか全然使ったこと無いけど、一応理解はしているつもり。今回も本の内容よりグチが多くなりがちでちょっと反省。余った時間は TDDBC仙台02 の宣伝をして終了。\u003c/p\u003e\n\u003cp\u003e2週間前なのでこれから忙しくなるなー\u003c/p\u003e\n\u003chr\u003e","title":"第11回 DDD(ドメイン駆動設計)勉強会に行って来た"},{"content":"前回はDB接続できなかったので、できるようにしてみた。 http://mvc4sample.apphb.com/Home/Dbmanipulateソースは Github においてます。 https://github.com/nnasaki/tryAppHarbor.git\nDB の接続方法は思ったより簡単だった\nAdd-ons から SQL Server をインストールする Automatic migrations with Entity Framework 4.3を参考に進める github に Push する 以上だけど、MVC4 を使っていると2番目がなかなかうまくいかなかった。\nMVC4 を使用すると EntityFramework が新しいのが入ってしまい、「install-package EntityFramework -ProjectName Core」をしてインストールしたものとバージョンが不一致となってしまいエラーとなった。解決策としては、「Core」側の EntityFramework の参照先を「Web」と一致させることで解決した。\nこの例はDB層をWebプロジェクトから分離できるので割と良いサンプルだと思う。「Core」という名前がいけてないので、「Repository」とかにするとそれっぽくなるんじゃなかろうか。また、Alias を使用することで Connection String にパスワードを埋め込まないで済むのが良い。\n実はまだ問題が残っていて右上の Resister と Login が使用できていない。これは .Net のメンバーシップというセキュリティの機能を使用しているんだけど、ローカルでは動いているのに、サーバー側で動いていないという状況。\nたぶん、EntityFramework の Migration で DB を Drop しようとして失敗していると思うんだけど、後日調査する。\n","permalink":"/entry/2012/07/24/011205/","summary":"\u003cp\u003e前回はDB接続できなかったので、できるようにしてみた。  \u003ca href=\"http://mvc4sample.apphb.com/Home/Dbmanipulate\"\u003ehttp://mvc4sample.apphb.com/Home/Dbmanipulate\u003c/a\u003eソースは Github においてます。  \u003ca href=\"https://github.com/nnasaki/tryAppHarbor.git\"\u003ehttps://github.com/nnasaki/tryAppHarbor.git\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eDB の接続方法は思ったより簡単だった\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd-ons から \u003ca href=\"http://d.hatena.ne.jp/keyword/SQL%20Server\"\u003eSQL Server\u003c/a\u003e をインストールする\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://blog.appharbor.com/2012/04/24/automatic-migrations-with-entity-framework-4-3\"\u003eAutomatic migrations with Entity Framework 4.3\u003c/a\u003eを参考に進める\u003c/li\u003e\n\u003cli\u003egithub に Push する\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e以上だけど、MVC4 を使っていると2番目がなかなかうまくいかなかった。\u003c/p\u003e\n\u003cp\u003eMVC4 を使用すると EntityFramework が新しいのが入ってしまい、「install-package EntityFramework -ProjectName Core」をしてインストールしたものとバージョンが不一致となってしまいエラーとなった。解決策としては、「Core」側の EntityFramework の参照先を「Web」と一致させることで解決した。\u003c/p\u003e\n\u003cp\u003eこの例はDB層をWebプロジェクトから分離できるので割と良いサンプルだと思う。「Core」という名前がいけてないので、「Repository」とかにするとそれっぽくなるんじゃなかろうか。また、Alias を使用することで Connection String にパスワードを埋め込まないで済むのが良い。\u003c/p\u003e\n\u003cp\u003e実はまだ問題が残っていて右上の Resister と Login が使用できていない。これは\u003ca href=\"http://d.hatena.ne.jp/keyword/%20.Net\"\u003e .Net\u003c/a\u003e のメンバーシップというセキュリティの機能を使用しているんだけど、ローカルでは動いているのに、サーバー側で動いていないという状況。\u003c/p\u003e\n\u003cp\u003eたぶん、EntityFramework の Migration で DB を Drop しようとして失敗していると思うんだけど、後日調査する。\u003c/p\u003e\n\u003chr\u003e","title":"AppHarbor に ASP.NET MVC4 + Entity Framework + SQL Server で DB 接続させてみた"},{"content":"ちょっと前にこんなツイートして\nheroku みたいに ASP.NET も無料でホスト出来るところないかのう— 山本誠樹/Masaki Yamamotoさん (@nnasaki) 7月 19, 2012\n調べてみたらAppHarborというところがあった。\n本当に heroku for .NET って感じで利用できる。使い方も簡単です。\nまず、今回は GitHub と AppHarbor をリンクさせます。（Webからクリックするだけで完了）\n次に GitHub に Push します。\ngit add .\ngit commit -m \u0026ldquo;first commit\u0026rdquo;\ngit push\nすると、勝手に AppHarbor がソースを同期してビルドし始めます。\n数秒すると結果がトップページに表示され、アプリにアクセスできます。\n今回デプロイしたのは ASP.NET MVC4 テンプレのまま以下に作りました。\nhttp://mvc4sample.apphb.com/なお、.NET Framework 4.5 はビルドに失敗します。\n以下のようなログが表示されますので、.NET Framework 4.5 が入っていないみたい。\nBuild started 7/21/2012 12:33:57 AM. Project \u0026#34;D:\\temp\\zn1naisy.srd\\input\\MvcApplication1\\MvcApplication1.sln\u0026#34; on node 1 (default targets). ValidateSolutionConfiguration: Building solution configuration \u0026#34;Release|Any CPU\u0026#34;. Project \u0026#34;D:\\temp\\zn1naisy.srd\\input\\MvcApplication1\\MvcApplication1.sln\u0026#34; (1) is building \u0026#34;D:\\temp\\zn1naisy.srd\\input\\MvcApplication1\\MvcApplication1\\MvcApplication1.csproj\u0026#34; (2) on node 1 (default targets). C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\Microsoft.Common.targets(847,9): warning MSB3644: The reference assemblies for framework \u0026#34;.NETFramework,Version=v4.5\u0026#34; were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted for the framework you intend. [D:\\temp\\zn1naisy.srd\\input\\MvcApplication1\\MvcApplication1\\MvcApplication1.csproj] PrepareForBuild: ```MVC4 は .NET Framework 4.0 で動くので、4.0ベースでデプロイすれば問題ありません。それにしても便利ですね。DB がまだ使えないんですが、20MBまでは無料で使えるようなので、とりあえず使いたいだけなら Azure とかいらないですね。 ----- ","permalink":"/entry/2012/07/21/090212/","summary":"\u003cp\u003eちょっと前にこんなツイートして\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eheroku みたいに \u003ca href=\"http://t.co/z8QzMG7u\"\u003eASP.NET\u003c/a\u003e も無料でホスト出来るところないかのう— 山本誠樹/Masaki Yamamotoさん (@nnasaki) \u003ca href=\"https://twitter.com/nnasaki/status/225925877937098753\"\u003e7月 19, 2012\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e調べてみたら\u003ca href=\"https://appharbor.com/\"\u003eAppHarbor\u003c/a\u003eというところがあった。\u003c/p\u003e\n\u003cp\u003e本当に heroku for\u003ca href=\"http://d.hatena.ne.jp/keyword/%20.NET\"\u003e .NET\u003c/a\u003e って感じで利用できる。使い方も簡単です。\u003c/p\u003e\n\u003cp\u003eまず、今回は GitHub と AppHarbor をリンクさせます。（Webからクリックするだけで完了）\u003c/p\u003e\n\u003cp\u003e次に GitHub に Push します。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003egit add .\u003c/p\u003e\n\u003cp\u003egit commit -m \u0026ldquo;first commit\u0026rdquo;\u003c/p\u003e\n\u003cp\u003egit push\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eすると、勝手に AppHarbor がソースを同期してビルドし始めます。\u003c/p\u003e\n\u003cp\u003e数秒すると結果がトップページに表示され、アプリにアクセスできます。\u003c/p\u003e\n\u003cp\u003e今回デプロイしたのは ASP.NET MVC4 テンプレのまま以下に作りました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://mvc4sample.apphb.com/\"\u003ehttp://mvc4sample.apphb.com/\u003c/a\u003eなお、\u003ca href=\"http://d.hatena.ne.jp/keyword/.NET%20Framework\"\u003e.NET Framework\u003c/a\u003e 4.5 はビルドに失敗します。\u003c/p\u003e\n\u003cp\u003e以下のようなログが表示されますので、\u003ca href=\"http://d.hatena.ne.jp/keyword/.NET%20Framework\"\u003e.NET Framework\u003c/a\u003e 4.5 が入っていないみたい。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eBuild started 7/21/2012 12:33:57 AM.\nProject \u0026#34;D:\\temp\\zn1naisy.srd\\input\\MvcApplication1\\MvcApplication1.sln\u0026#34; on node 1 (default targets).\nValidateSolutionConfiguration:\n  Building solution configuration \u0026#34;Release|Any CPU\u0026#34;.\nProject \u0026#34;D:\\temp\\zn1naisy.srd\\input\\MvcApplication1\\MvcApplication1.sln\u0026#34; (1) is building \u0026#34;D:\\temp\\zn1naisy.srd\\input\\MvcApplication1\\MvcApplication1\\MvcApplication1.csproj\u0026#34; (2) on node 1 (default targets).\nC:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\Microsoft.Common.targets(847,9): warning MSB3644: The reference assemblies for framework \u0026#34;.NETFramework,Version=v4.5\u0026#34; were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted for the framework you intend. [D:\\temp\\zn1naisy.srd\\input\\MvcApplication1\\MvcApplication1\\MvcApplication1.csproj]\nPrepareForBuild:\n```MVC4 は .NET Framework 4.0 で動くので、4.0ベースでデプロイすれば問題ありません。それにしても便利ですね。DB がまだ使えないんですが、20MBまでは無料で使えるようなので、とりあえず使いたいだけなら Azure とかいらないですね。\n\n-----\n\u003c/code\u003e\u003c/pre\u003e","title":"AppHarbor を試した"},{"content":"当面仕事でお世話になりそうなのと、ASP.NET MVC は WEB に情報が少ないので買いました。\n[\nプログラミングMicrosoft ASP.NET MVC ASP.NET MVC 3対応版 (マイクロソフト公式解説書) ](http://www.amazon.co.jp/exec/obidos/ASIN/4822294668/hatena-hamazou-22/)[プログラミングMicrosoft ASP.NET MVC ASP.NET MVC 3対応版 (マイクロソフト公式解説書)](http://www.amazon.co.jp/exec/obidos/ASIN/4822294668/hatena-hamazou-22/)- 作者: Dino Esposito,日本マイクロソフト井上章監訳,株式会社クイープ- 出版社/メーカー: 日経BP社- 発売日: 2012/05/08- メディア: 単行本- クリック: 14回- この商品を含むブログ (3件) を見る 3000円ぐらいかなーってレジに持って行ったら5000円もしてびっくり！\n今は大体50/500ページぐらいで10%消化してるけど、今までの Web Form は Ajax との親和性が低いとか筆者の思想がところどころ反映されていて面白い。\nまた、設計の指針も書いてあるのが良い。Web だとあまり設計まで踏み込んで解説していることが少ないので。\n今度の新しいお仕事は .NET が主体のプロトタイプで、リリースは来年ぐらいになると思うので Visual Studio 2012 、.NET Framework 4.5 、ASP.NET MVC 4 の RC 版で提案したい。\n「RC 版とかバグがあったらどうするつもりですか？」と聞かれたら、「ASP.NET MVC 4 はオープンソースなので責任もってソースから直します（キリッ」って答えたい（願望）開発プロセスもなんちゃってアジャイルで、イテレーションを2週間ごとに区切ってリリースしていく予定。なぜか WBS を書いているけどね！\nソースとタスク管理は TFS 2012 を使う予定。\nたぶん一番問題なのは今まで VB だったので、C# を受け入れてもらえるかどうか。もう VB とか書いてられないっす。マジで。\nもう、Microsoft にどっぷりなので、 Microsoft に開発事例として乗っけてもらえるぐらいの勢いでやりたいなーｗ\n","permalink":"/entry/2012/07/21/045419/","summary":"\u003cp\u003e当面仕事でお世話になりそうなのと、\u003ca href=\"http://d.hatena.ne.jp/keyword/ASP.NET%20MVC\"\u003eASP.NET MVC\u003c/a\u003e は WEB に情報が少ないので買いました。\u003c/p\u003e\n\u003cp\u003e[\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://ecx.images-amazon.com/images/I/51aG7VjNQML._SL160_.jpg\" class=\"hatena-asin-detail-image\" alt=\"プログラミングMicrosoft ASP.NET MVC ASP.NET MVC 3対応版 (マイクロソフト公式解説書)\" title=\"プログラミングMicrosoft ASP.NET MVC ASP.NET MVC 3対応版 (マイクロソフト公式解説書)\"\u003e\u003cfigcaption\u003eプログラミングMicrosoft ASP.NET MVC ASP.NET MVC 3対応版 (マイクロソフト公式解説書)\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/4822294668/hatena-hamazou-22/)%5B\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/4822294668/hatena-hamazou-22/)[\u003c/a\u003eプログラミングMicrosoft ASP.NET MVC ASP.NET MVC 3対応版 (マイクロソフト公式解説書)](\u003ca href=\"http://www.amazon.co.jp/exec/obidos/ASIN/4822294668/hatena-hamazou-22/)-\"\u003ehttp://www.amazon.co.jp/exec/obidos/ASIN/4822294668/hatena-hamazou-22/)-\u003c/a\u003e 作者: Dino Esposito,日本\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%DE%A5%A4%A5%AF%A5%ED%A5%BD%A5%D5%A5%C8\"\u003eマイクロソフト\u003c/a\u003e井上章監訳,\u003ca href=\"http://d.hatena.ne.jp/keyword/%B3%F4%BC%B0%B2%F1%BC%D2%A5%AF%A5%A4%A1%BC%A5%D7\"\u003e株式会社クイープ\u003c/a\u003e- 出版社/メーカー: \u003ca href=\"http://d.hatena.ne.jp/keyword/%C6%FC%B7%D0BP\"\u003e日経BP\u003c/a\u003e社- 発売日: 2012/05/08- メディア: 単行本- クリック: 14回- \u003ca href=\"http://d.hatena.ne.jp/asin/4822294668\"\u003eこの商品を含むブログ (3件) を見る\u003c/a\u003e\n3000円ぐらいかなーってレジに持って行ったら5000円もしてびっくり！\u003c/p\u003e\n\u003cp\u003e今は大体50/500ページぐらいで10%消化してるけど、今までの Web Form は \u003ca href=\"http://d.hatena.ne.jp/keyword/Ajax\"\u003eAjax\u003c/a\u003e との親和性が低いとか筆者の思想がところどころ反映されていて面白い。\u003c/p\u003e\n\u003cp\u003eまた、設計の指針も書いてあるのが良い。Web だとあまり設計まで踏み込んで解説していることが少ないので。\u003c/p\u003e\n\u003cp\u003e今度の新しいお仕事は\u003ca href=\"http://d.hatena.ne.jp/keyword/%20.NET\"\u003e .NET\u003c/a\u003e が主体のプロトタイプで、リリースは来年ぐらいになると思うので \u003ca href=\"http://d.hatena.ne.jp/keyword/Visual%20Studio\"\u003eVisual Studio\u003c/a\u003e 2012 、\u003ca href=\"http://d.hatena.ne.jp/keyword/.NET%20Framework\"\u003e.NET Framework\u003c/a\u003e 4.5 、\u003ca href=\"http://d.hatena.ne.jp/keyword/ASP.NET%20MVC\"\u003eASP.NET MVC\u003c/a\u003e 4 の RC 版で提案したい。\u003c/p\u003e\n\u003cp\u003e「RC 版とかバグがあったらどうするつもりですか？」と聞かれたら、「\u003ca href=\"http://d.hatena.ne.jp/keyword/ASP.NET%20MVC\"\u003eASP.NET MVC\u003c/a\u003e 4 は\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AA%A1%BC%A5%D7%A5%F3%A5%BD%A1%BC%A5%B9\"\u003eオープンソース\u003c/a\u003eなので責任もってソースから直します（キリッ」って答えたい（願望）\u003ca href=\"http://d.hatena.ne.jp/keyword/%B3%AB%C8%AF%A5%D7%A5%ED%A5%BB%A5%B9\"\u003e開発プロセス\u003c/a\u003eもなんちゃって\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A2%A5%B8%A5%E3%A5%A4%A5%EB\"\u003eアジャイル\u003c/a\u003eで、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A4%A5%C6%A5%EC%A1%BC%A5%B7%A5%E7%A5%F3\"\u003eイテレーション\u003c/a\u003eを2週間ごとに区切ってリリースしていく予定。なぜか \u003ca href=\"http://d.hatena.ne.jp/keyword/WBS\"\u003eWBS\u003c/a\u003e を書いているけどね！\u003c/p\u003e","title":"プログラミングMicrosoft ASP.NET MVC を買った"},{"content":"2日遅れで書いてしまった。ABC とは Android Bazaar and Conference のこと。\n10月に東北大学で開催されますよっ！1000人ぐらい集めたいみたい。Facebookのシステムについて丸山先生の説明を聞いた。すべてのリクエストをログを吐いてTailで読んで処理していくというシステムらしい。\nリクエストの取りこぼしをしないためにそうしているみたい。\nでも、逐次ログをフラッシュしているわけではなくバッファリングをしているので、フラッシュするまでの間にマシンが強制終了してしまう可能性はあると思う。\nなので、やっぱり失うリクエストってのもあるんだろうなぁと感じた。\nアーキテクチャとしては興味深いけどね。Google I/Oから見るAndroid最新技術動向については、いろいろいっぱいもらってていいなーっと。Android はまだまだ安定しなさそうですね。スマートフォンテストラボみやぎはスマホ80台をテストで利用できるそうです。なんと、9月ぐらいまでは無料！\n10月のイベントは忙しくなければスタッフやろうかなーと思った次第。\n","permalink":"/entry/2012/07/21/043635/","summary":"\u003cp\u003e2日遅れで書いてしまった。ABC とは \u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e Bazaar and Conference のこと。\u003c/p\u003e\n\u003cp\u003e10月に\u003ca href=\"http://d.hatena.ne.jp/keyword/%C5%EC%CB%CC%C2%E7%B3%D8\"\u003e東北大学\u003c/a\u003eで開催されますよっ！1000人ぐらい集めたいみたい。\u003ca href=\"http://d.hatena.ne.jp/keyword/Facebook\"\u003eFacebook\u003c/a\u003eのシステムについて丸山先生の説明を聞いた。すべてのリクエストをログを吐いてTailで読んで処理していくというシステムらしい。\u003c/p\u003e\n\u003cp\u003eリクエストの取りこぼしをしないためにそうしているみたい。\u003c/p\u003e\n\u003cp\u003eでも、逐次ログをフラッシュしているわけではなくバッファリングをしているので、フラッシュするまでの間にマシンが強制終了してしまう可能性はあると思う。\u003c/p\u003e\n\u003cp\u003eなので、やっぱり失うリクエストってのもあるんだろうなぁと感じた。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3\"\u003eアーキテクチャ\u003c/a\u003eとしては興味深いけどね。\u003ca href=\"http://d.hatena.ne.jp/keyword/Google%20I/O\"\u003eGoogle I/O\u003c/a\u003eから見る\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e最新技術動向については、いろいろいっぱいもらってていいなーっと。\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e はまだまだ安定しなさそうですね。\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%B9%A5%DE%A1%BC%A5%C8%A5%D5%A5%A9%A5%F3\"\u003eスマートフォン\u003c/a\u003eテストラボみやぎはスマホ80台をテストで利用できるそうです。なんと、9月ぐらいまでは無料！\u003c/p\u003e\n\u003cp\u003e10月のイベントは忙しくなければスタッフやろうかなーと思った次第。\u003c/p\u003e\n\u003chr\u003e","title":"ABC2012東北準備会 に参加してきた"},{"content":"Parallels Desktop に入れるつもりだったんだけど、問題があって入れられない。KB Parallelsなので BootCamp に入れるために外付けDVDとUSBメモリを買った。最初はBootCampでWindows 8 Release Previewをインストールしてみた | bootcamp de Windows on Mac　～ MacでWindowsを動かそう～をみてUSBメモリからやろうとしたんだけど、どうしてもうまくいかない。次に面倒だったけど、Retina MacBook ProにWindows 8インストール成功、しかも簡単だったをみてDVDにWindows8を焼いて、インストールしようとしたけど、「インストーラディスクが見つかりませんでした」と出てしまいダメ。焼き方が悪かったかと思い、Mac OS X でディスクイメージファイルから CD や DVD を作成するで焼き直したら先に進んで、再起動した。けれどもUSBメモリをさしっぱなしにしてたらUSBメモリからブートできないといわれて、抜いて試したらやっぱりブートできない。\nもういちど、BootCampアシスタントをやり直して、USBメモリを抜いておいたら無事にインストールが始まった。\n今度はシリアルキーを入れる画面で、メモってなかったので先に進まずもう一度やり直すことにした。\nやっとインストールが終わって、WIndows8 が起動した。\nドライバ周りでエラーが出ていたので、 BootCamp アシスタントで最新のサポートファイルをUSBメモリにコピーして、Windows8 でインストールした。\nすると、解像度が２８８０になって文字のサイズが１５０％となり、Retina な Windows 8 になった。\nでも、このままだとデュアルディスプレイで使用しているディスプレイが1920ぐらいまでなので、文字が大きすぎるため、Macは1680ぐらいまでの解像度に落として文字を普通にした。スコアを確認したらまずまずいい感じ。\nf:id:nnasaki:20120708140259p:plain メモリも1.6Gと思ったより消費が少ない。\nf:id:nnasaki:20120708140727p:plain Parallels が対応すれば BootCamp のパーティションを Lion から起動できるようになるので、しばらくはこのまま使い込んでみたいと思う。\n","permalink":"/entry/2012/07/08/140901/","summary":"\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Parallels%20Desktop\"\u003eParallels Desktop\u003c/a\u003e に入れるつもりだったんだけど、問題があって入れられない。\u003ca href=\"http://kb.parallels.com/jp/112443\"\u003eKB Parallels\u003c/a\u003eなので BootCamp に入れるために外付けDVDと\u003ca href=\"http://d.hatena.ne.jp/keyword/USB%A5%E1%A5%E2%A5%EA\"\u003eUSBメモリ\u003c/a\u003eを買った。最初は\u003ca href=\"http://macbootcamp.net/%EF%BD%92eview/windows8_-release_preview_install_bootcamp.html\"\u003eBootCampでWindows 8 Release Previewをインストールしてみた | bootcamp de Windows on Mac　～ MacでWindowsを動かそう～\u003c/a\u003eをみて\u003ca href=\"http://d.hatena.ne.jp/keyword/USB%A5%E1%A5%E2%A5%EA\"\u003eUSBメモリ\u003c/a\u003eからやろうとしたんだけど、どうしてもうまくいかない。次に面倒だったけど、\u003ca href=\"http://weekly.ascii.jp/elem/000/000/093/93360/\"\u003eRetina MacBook ProにWindows 8インストール成功、しかも簡単だった\u003c/a\u003eをみてDVDにWindows8を焼いて、インストールしようとしたけど、「インストーラディスクが見つかりませんでした」と出てしまいダメ。焼き方が悪かったかと思い、\u003ca href=\"http://support.apple.com/kb/HT2087?viewlocale=ja_JP\"\u003eMac OS X でディスクイメージファイルから CD や DVD を作成する\u003c/a\u003eで焼き直したら先に進んで、再起動した。けれども\u003ca href=\"http://d.hatena.ne.jp/keyword/USB%A5%E1%A5%E2%A5%EA\"\u003eUSBメモリ\u003c/a\u003eをさしっぱなしにしてたら\u003ca href=\"http://d.hatena.ne.jp/keyword/USB%A5%E1%A5%E2%A5%EA\"\u003eUSBメモリ\u003c/a\u003eからブートできないといわれて、抜いて試したらやっぱりブートできない。\u003c/p\u003e\n\u003cp\u003eもういちど、BootCampアシスタントをやり直して、\u003ca href=\"http://d.hatena.ne.jp/keyword/USB%A5%E1%A5%E2%A5%EA\"\u003eUSBメモリ\u003c/a\u003eを抜いておいたら無事にインストールが始まった。\u003c/p\u003e\n\u003cp\u003e今度はシリアルキーを入れる画面で、メモってなかったので先に進まずもう一度やり直すことにした。\u003c/p\u003e\n\u003cp\u003eやっとインストールが終わって、WIndows8 が起動した。\u003c/p\u003e\n\u003cp\u003eドライバ周りでエラーが出ていたので、 BootCamp アシスタントで最新のサポートファイルを\u003ca href=\"http://d.hatena.ne.jp/keyword/USB%A5%E1%A5%E2%A5%EA\"\u003eUSBメモリ\u003c/a\u003eにコピーして、Windows8 でインストールした。\u003c/p\u003e\n\u003cp\u003eすると、解像度が２８８０になって文字のサイズが１５０％となり、Retina な \u003ca href=\"http://d.hatena.ne.jp/keyword/Windows%208\"\u003eWindows 8\u003c/a\u003e になった。\u003c/p\u003e\n\u003cp\u003eでも、このままだと\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%E5%A5%A2%A5%EB%A5%C7%A5%A3%A5%B9%A5%D7%A5%EC%A5%A4\"\u003eデュアルディスプレイ\u003c/a\u003eで使用しているディスプレイが1920ぐらいまでなので、文字が大きすぎるため、Macは1680ぐらいまでの解像度に落として文字を普通にした。スコアを確認したらまずまずいい感じ。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20120708/20120708140259.png\" alt=\"f:id:nnasaki:20120708140259p:plain\" title=\"f:id:nnasaki:20120708140259p:plain\" class=\"hatena-fotolife\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20120708140259p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003eメモリも1.6Gと思ったより消費が少ない。\u003c/p\u003e\n\u003cfigure class=\"figure-image figure-image-fotolife\"\u003e\u003cimg src=\"http://cdn-ak.f.st-hatena.com/images/fotolife/n/nnasaki/20120708/20120708140727.png\" alt=\"f:id:nnasaki:20120708140727p:plain\" title=\"f:id:nnasaki:20120708140727p:plain\" class=\"hatena-fotolife\"\u003e\u003cfigcaption\u003ef:id:nnasaki:20120708140727p:plain\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Parallels\"\u003eParallels\u003c/a\u003e が対応すれば BootCamp のパーティションを Lion から起動できるようになるので、しばらくはこのまま使い込んでみたいと思う。\u003c/p\u003e\n\u003chr\u003e","title":"Macbook Pro Retina ディスプレイモデル に WIndows 8 Release Preview をインストールする"},{"content":"DDD 読書会で発表してきました。** 発表資料はスライドシェアにアップしました。\n尚、本そのままの図表を載せていましたので、削除しました。レイアウトが多少崩れて分かりにくくなっていますが、原著と合わせてみていただければと思います。\nDDD読書会 アナリシスパターン**View more presentations from Yamamoto Masaki.後半は元帳とか記帳ルールとか出てきてイマイチ理解しきれていなかったけど、@MasanorMurakamiさん曰く、簿記の用語で定義されているというドメインエキスパートの意見をいただけた。@i_takehiroさんからはアナリシスパターンの原著のほうが例が分かりやすいのと、会計の知識が無くてもクラス間の依存関係の分離に着目すればもうちょっと理解が深めれたのではという、レビューっぽい意見をいただけた。やっぱり、こう言うのは発表しないとわからない・気付けないところがあるので非常に良い経験となりました。また、機会があれば発表してみたいと思います。\n発表が終わったあとは各自DDD談義や、私はC#の質問を受けてデリゲートとは説明してた。学校の課題なんだけど、Mainに対してCalcクラスで１０のカウントアップの時だけDelegate通してEvent通知するようなプログラムだった。こんな単純なのだとデリゲートを使用するメリットが無いので勉強する方もイメージわかないよなぁという感想。\nとりあえず、CalcクラスはMainを知らなくて良いとか、通知する対象が何個合ってもCalcの実装は変更することなく一斉に通知できるよとか、いかにもっぽいことを説明しておいた。\n今回発表してて環境周りで問題が起きた。それぞれ解決策があるので次は忘れないようにしたい。\n僕の持っているバチ物の Display Port にDVIからVGAに変換するアダプタをかましたが、プロジェクターで認識してくれなかった。 純正品ならOKでした。やっぱり純正品買わないとダメだなぁ。\nKeynote を iPhone から Keynote Remote を使用してスライドを流しました。が、、、 会場で用意された Wi-fi では認識できなかった。Mac で Wi-fi ネットワークを作成することで接続ができた。\niPhone がスリープすると Wi-fi が切れてしまい、iPhone が IPアドレス取得するのに１分 ぐらいかかって不便だった\nスリープOFFにして電話着信もOFFにしてという下準備が必要。\n","permalink":"/entry/2012/06/30/000917/","summary":"\u003cp\u003eDDD 読書会で発表してきました。**\n発表資料はスライドシェアにアップしました。\u003c/p\u003e\n\u003cp\u003e尚、本そのままの図表を載せていましたので、削除しました。レイアウトが多少崩れて分かりにくくなっていますが、原著と合わせてみていただければと思います。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://www.slideshare.net/YamamotoMasaki/ddd-13495320\"\u003eDDD読書会 アナリシスパターン\u003c/a\u003e**View more \u003ca href=\"http://www.slideshare.net/\"\u003epresentations\u003c/a\u003e from \u003ca href=\"http://www.slideshare.net/YamamotoMasaki\"\u003eYamamoto Masaki\u003c/a\u003e.後半は元帳とか記帳ルールとか出てきてイマイチ理解しきれていなかったけど、@MasanorMurakamiさん曰く、簿記の用語で定義されているというドメインエキスパートの意見をいただけた。@i_takehiroさんからは\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A2%A5%CA%A5%EA%A5%B7%A5%B9%A5%D1%A5%BF%A1%BC%A5%F3\"\u003eアナリシスパターン\u003c/a\u003eの原著のほうが例が分かりやすいのと、会計の知識が無くてもクラス間の依存関係の分離に着目すればもうちょっと理解が深めれたのではという、レビューっぽい意見をいただけた。やっぱり、こう言うのは発表しないとわからない・気付けないところがあるので非常に良い経験となりました。また、機会があれば発表してみたいと思います。\u003c/p\u003e\n\u003cp\u003e発表が終わったあとは各自DDD談義や、私は\u003ca href=\"http://d.hatena.ne.jp/keyword/C%23\"\u003eC#\u003c/a\u003eの質問を受けてデリゲートとは説明してた。学校の課題なんだけど、Mainに対してCalcクラスで１０のカウントアップの時だけDelegate通してEvent通知するようなプログラムだった。こんな単純なのだとデリゲートを使用するメリットが無いので勉強する方もイメージわかないよなぁという感想。\u003c/p\u003e\n\u003cp\u003eとりあえず、CalcクラスはMainを知らなくて良いとか、通知する対象が何個合ってもCalcの実装は変更することなく一斉に通知できるよとか、いかにもっぽいことを説明しておいた。\u003c/p\u003e\n\u003cp\u003e今回発表してて環境周りで問題が起きた。それぞれ解決策があるので次は忘れないようにしたい。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e僕の持っているバチ物の Display Port にDVIから\u003ca href=\"http://d.hatena.ne.jp/keyword/VGA\"\u003eVGA\u003c/a\u003eに変換するアダプタをかましたが、プロジェクターで認識してくれなかった。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e純正品ならOKでした。やっぱり純正品買わないとダメだなぁ。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eKeynote を \u003ca href=\"http://d.hatena.ne.jp/keyword/iPhone\"\u003eiPhone\u003c/a\u003e から Keynote Remote を使用してスライドを流しました。が、、、\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e会場で用意された \u003ca href=\"http://d.hatena.ne.jp/keyword/Wi-fi\"\u003eWi-fi\u003c/a\u003e では認識できなかった。Mac で \u003ca href=\"http://d.hatena.ne.jp/keyword/Wi-fi\"\u003eWi-fi\u003c/a\u003e ネットワークを作成することで接続ができた。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/iPhone\"\u003eiPhone\u003c/a\u003e がスリープすると \u003ca href=\"http://d.hatena.ne.jp/keyword/Wi-fi\"\u003eWi-fi\u003c/a\u003e が切れてしまい、\u003ca href=\"http://d.hatena.ne.jp/keyword/iPhone\"\u003eiPhone\u003c/a\u003e が \u003ca href=\"http://d.hatena.ne.jp/keyword/IP%A5%A2%A5%C9%A5%EC%A5%B9\"\u003eIPアドレス\u003c/a\u003e取得するのに１分\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eぐらいかかって不便だった\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eスリープOFFにして電話着信もOFFにしてという下準備が必要。\u003c/p\u003e\n\u003chr\u003e","title":"DDD 読書会で発表してきた"},{"content":"Diablo3 がいっつもメンテで出来ないので、勉強会で見た Rails とやらでツールを作ってみた。http://d3maintenance.herokuapp.com/\nbootstrap を適当に適用しただけなので、UIはそのうちなんとかする。やってることはService Status - Forums - Diablo IIIからメンテ情報っぽい箇所を抜き出して、さらに時間っぽい所をJSTに変換している。メンテ情報っぽいところは Hpricot というライブラリを使いました。jQuery風にCSSセレクタがRubyで書けますので、掲示板の一番先頭だけとりあえず抜き出してみました。次のサイトを参考にしました\nRoute 477 - RubyでHTMLとWebを操作するためのライブラリ、HpricotとWWW::Mechanize , HikiReload時間っぽいところは正規表現で抜き出して、Ruby標準のTime.parseを使用しました。herokuはタイムゾーンがずれていたので、JSTにするためにHerokuのタイムゾーンを日本時間に設定する - アインシュタインの電話番号☎を参考にしました。一番時間かかったのは heroku へのアップロードです。Windowsだと\u0026quot;heroku login\u0026quot;でException?例外？が発生してしまい、MACだとSSHキーが違うのを認識するせいか\u0026quot;git push heroku\u0026quot;で\u0026quot;Permission denied (publickey).\u0026ldquo;となってしまいました。\n解決策としてはWindowsは有りませんでした。MACは~/.ssh/configを書くことで通るようになりました。Herokuで鍵がPermission denied (publickey).　になる時 - opamp_sandoの日記 \u0026hellip;でいいよねを参考にしました。次は定期的にクロールさせて、RSS吐いて、登録してたらメールやtwitterで通知等々を実装出来ればと思います。\n","permalink":"/entry/2012/06/11/222522/","summary":"\u003cp\u003eDiablo3 がいっつもメンテで出来ないので、勉強会で見た \u003ca href=\"http://d.hatena.ne.jp/keyword/Rails\"\u003eRails\u003c/a\u003e とやらでツールを作ってみた。\u003ca href=\"http://d3maintenance.herokuapp.com/\"\u003ehttp://d3maintenance.herokuapp.com/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ebootstrap を適当に適用しただけなので、UIはそのうちなんとかする。やってることは\u003ca href=\"http://us.battle.net/d3/en/forum/5394512/\"\u003eService Status - Forums - Diablo III\u003c/a\u003eからメンテ情報っぽい箇所を抜き出して、さらに時間っぽい所をJSTに変換している。メンテ情報っぽいところは Hpricot というライブラリを使いました。\u003ca href=\"http://d.hatena.ne.jp/keyword/jQuery\"\u003ejQuery\u003c/a\u003e風に\u003ca href=\"http://d.hatena.ne.jp/keyword/CSS\"\u003eCSS\u003c/a\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%BB%A5%EC%A5%AF%A5%BF\"\u003eセレクタ\u003c/a\u003eが\u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003eで書けますので、掲示板の一番先頭だけとりあえず抜き出してみました。次のサイトを参考にしました\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://route477.net/d/?date=20070205\"\u003eRoute 477 - RubyでHTMLとWebを操作するためのライブラリ、HpricotとWWW::Mechanize , HikiReload\u003c/a\u003e時間っぽいところは\u003ca href=\"http://d.hatena.ne.jp/keyword/%C0%B5%B5%AC%C9%BD%B8%BD\"\u003e正規表現\u003c/a\u003eで抜き出して、\u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003e標準のTime.parseを使用しました。herokuは\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%BF%A5%A4%A5%E0%A5%BE%A1%BC%A5%F3\"\u003eタイムゾーン\u003c/a\u003eがずれていたので、JSTにするために\u003ca href=\"http://d.hatena.ne.jp/ruedap/20110210/heroku_timezone_japan_jst\"\u003eHerokuのタイムゾーンを日本時間に設定する - アインシュタインの電話番号☎\u003c/a\u003eを参考にしました。一番時間かかったのは heroku へのアップロードです。Windowsだと\u0026quot;heroku login\u0026quot;でException?例外？が発生してしまい、MACだと\u003ca href=\"http://d.hatena.ne.jp/keyword/SSH\"\u003eSSH\u003c/a\u003eキーが違うのを認識するせいか\u0026quot;git push heroku\u0026quot;で\u0026quot;Permission denied (publickey).\u0026ldquo;となってしまいました。\u003c/p\u003e\n\u003cp\u003e解決策としてはWindowsは有りませんでした。MACは~/.\u003ca href=\"http://d.hatena.ne.jp/keyword/ssh\"\u003essh\u003c/a\u003e/configを書くことで通るようになりました。\u003ca href=\"http://d.hatena.ne.jp/opamp_sando/20110914/1316011399\"\u003eHerokuで鍵がPermission denied (publickey).　になる時 - opamp_sandoの日記 \u0026hellip;でいいよね\u003c/a\u003eを参考にしました。次は定期的にクロールさせて、\u003ca href=\"http://d.hatena.ne.jp/keyword/RSS\"\u003eRSS\u003c/a\u003e吐いて、登録してたらメールや\u003ca href=\"http://d.hatena.ne.jp/keyword/twitter\"\u003etwitter\u003c/a\u003eで通知等々を実装出来ればと思います。\u003c/p\u003e\n\u003chr\u003e","title":"Diablo3 のメンテ情報を PDT から JST に変換させるツール作った"},{"content":"昨日のうちに書こうと思ったけど、不覚にも子供と一緒に寝てしまった。\nどれも良い内容でした。個人的には倉貫さんの昔話が今の自分と同じ様な境遇だったのであるあるという感じでよかった。60枚前後のスライドを60分ぐらいの時間でしゃべらなくちゃいけないので超早口でした。各コミュニティのミニブースというかテーブルがあって、いろいろお話も出来てよかったです。\nTDDBC仙台 も開催するということは伝わってて、すくすくスクラムとコラボとかそういう話も聞けてよかったです。以下は私のメモです。それぞれのユーストへのリンクも貼っておきます。\nスタートアップなら Rails Ustream.tv: ユーザー tohoku-dev: レッツゴーデベロッパー2012 THE NEXT Part001, Recorded on 2012/06/09. コンピュータ\n10年前 cgi.rb 使ってた。オレオレフレームワーク化して嫌になった Ruby カンファレンスを見て Rails 以降を決めた 開発時間が1/3になった cgi.rb は本当に辛かった。まじでいやになる Railsの欠点 method missing\nテストが長い\n実行速度が遅い（クラウドでカバー）\nバージョンアップが速すぎる\nRailsの利点\n達人のみができる超短期開発。知らなければ出来ない。\nYou-OKの構成 ロードバランサー\nWebサーバー ^ n\nmemchachd\nWEBと組み込みを一緒にしたい\nBegleBone にLinuxが載る。そのままRubyが動く\n組み込みRubyいらないんじゃ・・・\nライブコーディングは gvim でしたっ。\n足を使ってリーンUX\nUstream.tv: ユーザー tohoku-dev: レッツゴーデベロッパー2012 THE NEXT Part002, Recorded on 2012/06/09. コンピュータ\nUXの定義 ISOの定義はわけわからん！\nざっくりいうとUX＝UI\n下絵から作ればUXになるか？ならない\n５層で構成される\nSurface Skeleton Structure （Scope Strategy）\n魅力がない 使いづらい 使えない （必要ない）\n誰も使わないソフトは悲惨\nその製品は「誰の、どのような問題を」解決するのか？\nProblem interview\nいきなりコーディングしない。話を聞く\nEarly adapter\nMust-have problem\n既存代替作・既存製品の把握\nこれは顧客開発プロセスの９つのうち２つ\nシリコンバレーでは Product/Market Fit が終わった段階で資金を集める\nGet out of the building\n手を動かす前に足を使って仮説を検証する\nダメだとおもったら戦略変換するPivot\n継続的デリバリーが拓く新世紀\nUstream.tv: ユーザー tohoku-dev: レッツゴーデベロッパーズ2012 THE NEXT Part003, Recorded on 2012/06/09. コンピュータ\n継続的インテグレーションの範囲はビルド・テスト・静的解析まで デリバリーは本番環境までのデプロイを含む とにかく本番環境へのデプロイは大変！ ワンクリックデプロイから始める 継続的デリバリーの体験談 ステージング環境まではほぼMavenで出来ている。\n本番環境へはDBのパスワードをリポジトリに入れるわけにはいかない。\nDBのスキーマが変更された場合どうするか\n日本で多い「受託開発」の案件でも継続的デリバリーを適用できるか？\n難しい。政治的な理由で\n一括請負な受託開発は納品時の品質が重要なので途中の継続的デリバリー自体が価値がない\nデータ構造（スキーマ）の変化に大して継続的デリバリーするためのベストプラクティスは？\nRails は migration\nDB屋とプログラマーが別チームなので、手動しか無い\n結論：人ができることだけ人がやろう\nプログラマを一生の仕事にできるビジネスモデルで目指す未来のビジョン\nUstream.tv: ユーザー tohoku-dev: レッツゴーデベロッパー2012 THE NEXT Part004,\nどうやってアジャイルを広めたか 新人教育\nとらぷっているプロジェクトにあえて入る アジャイルプラクティスを実践するがアジャイルと言わない\n成功したらアジャイルと言う。失敗したら言わないｗ\nガラパゴスなキャリア戦略\n自分の置かれている環境を味方につける\n自分自身の名前を出す\n1000人〜2000人規模の会社でアジャイルしていますとかなかなか居ないんじゃない？\n３０歳でチーム解散転職を決意\nでもキャリア的にSIerでマネージャーでJAVAで次も同じ仕事になってしまう\nやりたいことをやってみよう。アジャイルとRuby\n人月による見積もりと成果物の完成責任\nオープンソース化に４月決意して１２月\n最初マネージャに言うも跳ね返される\n段階を踏んでなんとか決済通った\n会社で新しいことを導入する\n提案ではなく相談\nショートカットするための肩書き\nトップからの視点と言葉\n自分戦略についてのふりかえり\nオーナーシップとスタートアップとビジネスモデルについて\n給料を貰っているなら会社はお客さん\nアジャイル出来ないとかグチグチいうんじゃなくて提案する。\n起業するときにビジネスモデル大事\nどうやって定額サービスをしているか\n生産性を高める\nドキュメントを作らない 移動しない 営業しない ","permalink":"/entry/2012/06/10/140128/","summary":"\u003cp\u003e昨日のうちに書こうと思ったけど、不覚にも子供と一緒に寝てしまった。\u003c/p\u003e\n\u003cp\u003eどれも良い内容でした。個人的には倉貫さんの昔話が今の自分と同じ様な\u003ca href=\"http://d.hatena.ne.jp/keyword/%B6%AD%B6%F8\"\u003e境遇\u003c/a\u003eだったのであるあるという感じでよかった。60枚前後のスライドを60分ぐらいの時間でしゃべらなくちゃいけないので超早口でした。各コミュニティのミニブースというかテーブルがあって、いろいろお話も出来てよかったです。\u003c/p\u003e\n\u003cp\u003eTDDBC仙台 も開催するということは伝わってて、すくすく\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%B9%A5%AF%A5%E9%A5%E0\"\u003eスクラム\u003c/a\u003eとコラボとかそういう話も聞けてよかったです。以下は私のメモです。それぞれのユーストへのリンクも貼っておきます。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eスタートアップなら \u003ca href=\"http://d.hatena.ne.jp/keyword/Rails\"\u003eRails\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://www.ustream.tv/recorded/23181740\"\u003eUstream.tv: ユーザー tohoku-dev: レッツゴーデベロッパー2012 THE NEXT Part001, Recorded on 2012/06/09. コンピュータ\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e10年前 cgi.rb 使ってた。オレオレ\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF\"\u003eフレームワーク\u003c/a\u003e化して嫌になった\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003e カンファレンスを見て \u003ca href=\"http://d.hatena.ne.jp/keyword/Rails\"\u003eRails\u003c/a\u003e 以降を決めた\u003c/li\u003e\n\u003cli\u003e開発時間が1/3になった\u003c/li\u003e\n\u003cli\u003ecgi.rb は本当に辛かった。まじでいやになる\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Rails\"\u003eRails\u003c/a\u003eの欠点\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emethod missing\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eテストが長い\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e実行速度が遅い（クラウドでカバー）\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eバージョンアップが速すぎる\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Rails\"\u003eRails\u003c/a\u003eの利点\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e達人のみができる超短期開発。知らなければ出来ない。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eYou-OKの構成\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%ED%A1%BC%A5%C9%A5%D0%A5%E9%A5%F3%A5%B5%A1%BC\"\u003eロードバランサー\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eWebサーバー ^ n\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ememchachd\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWEBと組み込みを一緒にしたい\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBegleBone に\u003ca href=\"http://d.hatena.ne.jp/keyword/Linux\"\u003eLinux\u003c/a\u003eが載る。そのまま\u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003eが動く\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e組み込み\u003ca href=\"http://d.hatena.ne.jp/keyword/Ruby\"\u003eRuby\u003c/a\u003eいらないんじゃ・・・\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eライブコーディングは \u003ca href=\"http://d.hatena.ne.jp/keyword/gvim\"\u003egvim\u003c/a\u003e でしたっ。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e足を使ってリーンUX\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://www.ustream.tv/recorded/23182812\"\u003eUstream.tv: ユーザー tohoku-dev: レッツゴーデベロッパー2012 THE NEXT Part002, Recorded on 2012/06/09. コンピュータ\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUXの定義\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eISOの定義はわけわからん！\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eざっくりいうとUX＝UI\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e下絵から作ればUXになるか？ならない\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e５層で構成される\u003c/p\u003e\n\u003cp\u003eSurface Skeleton Structure （Scope Strategy）\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e魅力がない 使いづらい 使えない （必要ない）\u003c/p\u003e","title":"レッツゴーデベロッパーNextに行って来た"},{"content":"第０回 ソフトウェアテスト勉強会に行って来た。忘れないうちにまとめておく。\n本日の講師 東京エレクトロン 根本さん\n組み込み系なのに主な使用言語はC＃と以外！\n勉強会の目的\n以前は北海道に住んでいらして、北海道でテストの勉強会に参加していた。\n東北にテストの風を！\n今後のテスト勉強会進め方について。\n偶数月（ですよね？）はシラバスに沿っての勉強。1〜2時間ぐらい。JSTQBの試験の知識が身につくように。\n奇数月は第3土曜日にゲストの講義やワークショップやチュートリアル。こちらは3〜4時間を予定。講師にhpの湯本剛さん。IBMの細川さん・原佑貴子さんを予定。\n高橋さんのLT\nJSTQBの試験に合格した。\n試験が１時間で新幹線で日帰り。会社のカネが無ければ受けるのが辛かった\n同じテストの用語でも会社ごとに異なる。 例えばシステムテストだったり、統合テストだったり。標準の言葉を知らないとコミュニケーションが成り立たない！\n豆蔵社の講習がとても良かった 発注側の条件が開発部門と品質部門が別でなければならない、というのを受注して開発をしている人の実体験が聞けた。部門が別だと対立が起きやすい。\n今日の本題。「品質が悪いからテストをしなさい」は正しいのか？ そもそも品質とはなにか？ワークショップ\n例えば、iPhone対ガラケー。どちらが品質が良いか？\nこれは誰が使うかによって変わる。「自分が使う場合」が品質になっていないか？\n利用者の視点が大事。\n品質は誰かにとっての価値である by ワインバーグ (via ソフトウェア品質 - Wikipedia)\n最後に\n次回は6/15(金) 19:00からAERにて開催\n来年2月に仙台でJSTQB試験を開催予定。 小泉さんの津田りを参考に思い出して書いてみました。\nところどころワークショップがあって、飽きさせない感じでよかったです。品質については自分もうまく説明出来なかった。\n昔の作業では結合試験でバグが多いと強化結合試験という形で再テストを行っていた。\nそれが品質という利用者の価値になっていたかというと、正直なってなかったと思う。\n何を目的でテストをするか。誰のためのテストかということを意識するのが重要だと思った。\nテストは手段であって目的ではない。\niso9126の品質特性を分かりやすくまとめたプリントで「ぶっちゃけ品質特性」というのを頂いたのですが、ググッても出てこないです。\nそれらしきのはTEF道『聡美塾』 Presents ユーザー視点とテストの素敵なコラボの４１ページ目に見つけたのですが。どなたかおわかりになりましたらコメントか @nnasaki まで教えていただければ幸いです。 2012/06/10 追記\n@nemorineさんより連絡いただいて、ぶっちゃけ品質特性を以下にアップしていただきました。ありがとうございました。\nhttp://t.co/bzLPjBoh\n","permalink":"/entry/2012/05/18/233007/","summary":"\u003cp\u003e\u003ca href=\"http://tohoku-dev.jp/modules/eguide/event.php?eid=122\"\u003e第０回 ソフトウェアテスト勉強会\u003c/a\u003eに行って来た。忘れないうちにまとめておく。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e本日の講師\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e東京エレクトロン 根本さん\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e組み込み系なのに主な使用言語はC＃と以外！\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e勉強会の目的\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e以前は北海道に住んでいらして、北海道でテストの勉強会に参加していた。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e東北にテストの風を！\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e今後のテスト勉強会進め方について。\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e偶数月（ですよね？）は\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%B7%A5%E9%A5%D0%A5%B9\"\u003eシラバス\u003c/a\u003eに沿っての勉強。1〜2時間ぐらい。\u003ca href=\"http://d.hatena.ne.jp/keyword/JSTQB\"\u003eJSTQB\u003c/a\u003eの試験の知識が身につくように。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e奇数月は第3土曜日にゲストの講義やワークショップやチュートリアル。こちらは3〜4時間を予定。講師にhpの湯本剛さん。\u003ca href=\"http://d.hatena.ne.jp/keyword/IBM\"\u003eIBM\u003c/a\u003eの細川さん・原佑貴子さんを予定。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e高橋さんのLT\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/JSTQB\"\u003eJSTQB\u003c/a\u003eの試験に合格した。\u003c/p\u003e\n\u003cp\u003e試験が１時間で新幹線で日帰り。会社のカネが無ければ受けるのが辛かった\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e同じテストの用語でも会社ごとに異なる。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e例えばシステムテストだったり、統合テストだったり。標準の言葉を知らないとコミュニケーションが成り立たない！\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e豆蔵社の講習がとても良かった\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e発注側の条件が開発部門と品質部門が別でなければならない、というのを受注して開発をしている人の実体験が聞けた。部門が別だと対立が起きやすい。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e今日の本題。「品質が悪いからテストをしなさい」は正しいのか？\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eそもそも品質とはなにか？ワークショップ\u003c/p\u003e\n\u003cp\u003e例えば、\u003ca href=\"http://d.hatena.ne.jp/keyword/iPhone\"\u003eiPhone\u003c/a\u003e対\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%AC%A5%E9%A5%B1%A1%BC\"\u003eガラケー\u003c/a\u003e。どちらが品質が良いか？\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eこれは誰が使うかによって変わる。「自分が使う場合」が品質になっていないか？\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e利用者の視点が大事。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e品質は誰かにとっての価値である by \u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%EF%A5%A4%A5%F3%A5%D0%A1%BC%A5%B0\"\u003eワインバーグ\u003c/a\u003e (via \u003ca href=\"http://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E5%93%81%E8%B3%AA\"\u003eソフトウェア品質 - Wikipedia\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e最後に\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e次回は6/15(金) 19:00からAERにて開催\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e来年2月に仙台で\u003ca href=\"http://d.hatena.ne.jp/keyword/JSTQB\"\u003eJSTQB\u003c/a\u003e試験を開催予定。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e小泉さんの津田りを参考に思い出して書いてみました。\u003c/p\u003e\n\u003cp\u003eところどころワークショップがあって、飽きさせない感じでよかったです。品質については自分もうまく説明出来なかった。\u003c/p\u003e\n\u003cp\u003e昔の作業では結合試験でバグが多いと強化結合試験という形で再テストを行っていた。\u003c/p\u003e\n\u003cp\u003eそれが品質という利用者の価値になっていたかというと、正直なってなかったと思う。\u003c/p\u003e\n\u003cp\u003e何を目的でテストをするか。誰のためのテストかということを意識するのが重要だと思った。\u003c/p\u003e\n\u003cp\u003eテストは手段であって目的ではない。\u003c/p\u003e\n\u003cp\u003eiso9126の品質特性を分かりやすくまとめたプリントで「ぶっちゃけ品質特性」というのを頂いたのですが、ググッても出てこないです。\u003c/p\u003e\n\u003cp\u003eそれらしきのは\u003ca href=\"http://www.jasst.jp/archives/jasst10s/pdf/S4.pdf\"\u003eTEF道『聡美塾』 Presents ユーザー視点とテストの素敵なコラボ\u003c/a\u003eの４１ページ目に見つけたのですが。どなたかおわかりになりましたらコメントか @nnasaki まで教えていただければ幸いです。 2012/06/10 追記\u003c/p\u003e\n\u003cp\u003e@nemorineさんより連絡いただいて、ぶっちゃけ品質特性を以下にアップしていただきました。ありがとうございました。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://t.co/bzLPjBoh\"\u003ehttp://t.co/bzLPjBoh\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e","title":"「第０回 ソフトウェアテスト勉強会」に行って来た"},{"content":"今日は前回聞いた Iterator だったので、モクモクしてた。\nadapter と template と factoryMethod まで進んだ。\nところどころをジェネリクスを混ぜたり、TDD 風に進めたりしていた。Java は普段使っていないので、File の読み書きとかにすぐつまずいたりしてしまう。\nまだまだ Java 修行が足りない感じだなぁ。\n","permalink":"/entry/2012/04/18/230205/","summary":"\u003cp\u003e今日は前回聞いた \u003ca href=\"http://d.hatena.ne.jp/keyword/Iterator\"\u003eIterator\u003c/a\u003e だったので、モクモクしてた。\u003c/p\u003e\n\u003cp\u003eadapter と template と \u003ca href=\"http://d.hatena.ne.jp/keyword/factoryMethod\"\u003efactoryMethod\u003c/a\u003e まで進んだ。\u003c/p\u003e\n\u003cp\u003eところどころを\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%B8%A5%A7%A5%CD%A5%EA%A5%AF%A5%B9\"\u003eジェネリクス\u003c/a\u003eを混ぜたり、TDD 風に進めたりしていた。\u003ca href=\"http://d.hatena.ne.jp/keyword/Java\"\u003eJava\u003c/a\u003e は普段使っていないので、File の読み書きとかにすぐつまずいたりしてしまう。\u003c/p\u003e\n\u003cp\u003eまだまだ \u003ca href=\"http://d.hatena.ne.jp/keyword/Java\"\u003eJava\u003c/a\u003e 修行が足りない感じだなぁ。\u003c/p\u003e\n\u003chr\u003e","title":"デザパタ勉強会に行って来た"},{"content":"TFS11 Express をインストールして使ってみた。インストールはすごい簡単で10分程度で終わった。\nけれども、VS2010 Professional からつなげるのに手間取った。これは MSDN Blogs に書いてある Download: Microsoft Visual Studio 2010 Service Pack 1 (Installer) をインストールしないとダメ。\nようやく接続出来るようになったら今度はプロジェクトが作成出来ない。いろいろ試したがVS 2010 からはどうしてもダメで、TFS Explorer 11 で一回プロジェクトを作成すれば、ソリューションとか追加可能になった。VS 11 Express は WIndows8 をインストールしていないので、For Web を試してみた。For Webでも従来の Windows Form のアプリプロジェクトを読み込むことが出来て、デバッグもできた。けれども WPF は読み込めないというなんとも変な感じ。Express | Microsoft Visual Studio 11 Betaに書いてあるとおり、従来のアプリは 2010 でやれってことなんだろう。でも、2010 Express だと TFS に繋がらないし、従来のWindows アプリをTFS11つかってExpressで無料でやりたいという欲求は満たされないわけで・・・\n","permalink":"/entry/2012/04/14/033122/","summary":"\u003cp\u003eTFS11 Express をインストールして使ってみた。インストールはすごい簡単で10分程度で終わった。\u003c/p\u003e\n\u003cp\u003eけれども、VS2010 Professional からつなげるのに手間取った。これは \u003ca href=\"http://blogs.msdn.com/b/visualstudioalm/archive/2011/09/14/tfs-preview-downloads.aspx\"\u003eMSDN Blogs\u003c/a\u003e に書いてある \u003ca href=\"http://www.microsoft.com/download/en/details.aspx?id=23691\"\u003eDownload: Microsoft Visual Studio 2010 Service Pack 1 (Installer)\u003c/a\u003e をインストールしないとダメ。\u003c/p\u003e\n\u003cp\u003eようやく接続出来るようになったら今度はプロジェクトが作成出来ない。いろいろ試したがVS 2010 からはどうしてもダメで、TFS Explorer 11 で一回プロジェクトを作成すれば、ソリューションとか追加可能になった。VS 11 Express は WIndows8 をインストールしていないので、For Web を試してみた。For Webでも従来の Windows Form のア\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%D7%A5%EA%A5%D7%A5%ED\"\u003eプリプロ\u003c/a\u003eジェクトを読み込むことが出来て、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%D0%A5%C3%A5%B0\"\u003eデバッグ\u003c/a\u003eもできた。けれども \u003ca href=\"http://d.hatena.ne.jp/keyword/WPF\"\u003eWPF\u003c/a\u003e は読み込めないというなんとも変な感じ。\u003ca href=\"http://www.microsoft.com/visualstudio/11/ja-jp/products/express\"\u003eExpress | Microsoft Visual Studio 11 Beta\u003c/a\u003eに書いてあるとおり、従来のアプリは 2010 でやれってことなんだろう。でも、2010 Express だと TFS に繋がらないし、従来のWindows アプリをTFS11つかってExpressで無料でやりたいという欲求は満たされないわけで・・・\u003c/p\u003e\n\u003chr\u003e","title":"TFS11 Express と VS 11 をいじってみた"},{"content":"DDD 読書会に参加しました。今回は仕様とリポジトリを分けるというのがポイントで、具体的な実装が見えてきてようやく理解できるようになってきた。ソースコードリーディングも軽く触りがあってよかった。インターフェース・アプリケーション・ドメイン・インフラストラクチャの4つに別れているが、まだ関連性がイマイチ掴みきれていない。ドメインもモデルと仕様とリポジトリはなんとなく分かってきたがまだごちゃごちゃしているので、本見て復習だなぁ。\n","permalink":"/entry/2012/04/14/031123/","summary":"\u003cp\u003eDDD 読書会に参加しました。今回は仕様と\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%EA%A5%DD%A5%B8%A5%C8%A5%EA\"\u003eリポジトリ\u003c/a\u003eを分けるというのがポイントで、具体的な実装が見えてきてようやく理解できるようになってきた。\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%BD%A1%BC%A5%B9%A5%B3%A1%BC%A5%C9\"\u003eソースコード\u003c/a\u003eリーディングも軽く触りがあってよかった。インターフェース・アプリケーション・ドメイン・インフラストラクチャの4つに別れているが、まだ関連性がイマイチ掴みきれていない。ドメインもモデルと仕様と\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%EA%A5%DD%A5%B8%A5%C8%A5%EA\"\u003eリポジトリ\u003c/a\u003eはなんとなく分かってきたがまだごちゃごちゃしているので、本見て復習だなぁ。\u003c/p\u003e\n\u003chr\u003e","title":"DDD 読書会に行って来た"},{"content":"ADK 1.7 から Intel Hardware Accelerated Execution Manager (Intel HAXM) というのが使えるようになり、エミュレーターがチョッ早になったという噂を聞いて試してみた。高速化のポイントはエミュレーターを Virtualization（仮想化）用の CPU で動かすようになったから早くなった。手順は Configuring Virtual Machine Acceleration を参照して行った。\n注意点は\nBIOS で Virtualization を有効にすること。 Android SDK Manager からインストールするだけではだめで、別途 android-tools の extras にあるインストーラを実行しなければならないこと。 VirtualBox と相性が悪いこと（後述） Windows ノートPC で Centrino2 とかいうCPUで通常のエミュレーターと比較した結果\nエミュレーター起動時間は1分ぐらいで大差なし アニメーションのカクツキが少なくなったかも ブラウザが結構よく動くっぽい snapshot をオンにしていると二度と立ち上がらなくなる（AVD を再作成すれば治る） で、結論としては VirtualBox で Android を走らせて adb connect して使うほうが良いという、比較したどちらでも無い結果になりました！\nこれも今日初めて知ったんだけど、Windows 上で実機並みにぬるぬる動いて感動しました。手順とか WEB を見ると省略されてたりスクリーンショットがなかったりするので、今度記事を作ろうと思います。2013/4/15 追記\n割と検索されているようなので追記しておきます。\n今現在はエミュレータではなくNexus7の実機でDebugしています。\nなぜなら、実機のほうがエミュレーターより反応良いし、エミュレータではうまくいったのにということがありません。\n2万円を高いと思うか安いと思うかは人それぞれだと思いますが、エミュレータで我慢する時間を考えるとすぐにペイできる値段だと思いますので、実機を使うことをオススメします。\n","permalink":"/entry/2012/04/10/005923/","summary":"\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/ADK\"\u003eADK\u003c/a\u003e 1.7 から \u003ca href=\"http://d.hatena.ne.jp/keyword/Intel\"\u003eIntel\u003c/a\u003e Hardware Accelerated Execution Manager (\u003ca href=\"http://d.hatena.ne.jp/keyword/Intel\"\u003eIntel\u003c/a\u003e HAXM) というのが使えるようになり、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A8%A5%DF%A5%E5%A5%EC%A1%BC%A5%BF%A1%BC\"\u003eエミュレーター\u003c/a\u003eがチョッ早になったという噂を聞いて試してみた。高速化のポイントは\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A8%A5%DF%A5%E5%A5%EC%A1%BC%A5%BF%A1%BC\"\u003eエミュレーター\u003c/a\u003eを Virtualization（仮想化）用の CPU で動かすようになったから早くなった。手順は \u003ca href=\"http://developer.android.com/guide/developing/devices/emulator.html#accel-vm\"\u003eConfiguring Virtual Machine Acceleration\u003c/a\u003e を参照して行った。\u003c/p\u003e\n\u003cp\u003e注意点は\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/BIOS\"\u003eBIOS\u003c/a\u003e で Virtualization を有効にすること。\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e \u003ca href=\"http://d.hatena.ne.jp/keyword/SDK\"\u003eSDK\u003c/a\u003e Manager からインストールするだけではだめで、別途 \u003ca href=\"http://d.hatena.ne.jp/keyword/android\"\u003eandroid\u003c/a\u003e-tools の extras にあるインストーラを実行しなければならないこと。\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/VirtualBox\"\u003eVirtualBox\u003c/a\u003e と相性が悪いこと（後述）\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWindows ノートPC で Centrino2 とかいうCPUで通常の\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A8%A5%DF%A5%E5%A5%EC%A1%BC%A5%BF%A1%BC\"\u003eエミュレーター\u003c/a\u003eと比較した結果\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A8%A5%DF%A5%E5%A5%EC%A1%BC%A5%BF%A1%BC\"\u003eエミュレーター\u003c/a\u003e起動時間は1分ぐらいで大差なし\u003c/li\u003e\n\u003cli\u003eアニメーションのカクツキが少なくなったかも\u003c/li\u003e\n\u003cli\u003eブラウザが結構よく動くっぽい\u003c/li\u003e\n\u003cli\u003esnapshot をオンにしていると二度と立ち上がらなくなる（AVD を再作成すれば治る）\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eで、結論としては \u003ca href=\"http://d.hatena.ne.jp/keyword/VirtualBox\"\u003eVirtualBox\u003c/a\u003e で \u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e を走らせて adb connect して使うほうが良いという、比較したどちらでも無い結果になりました！\u003c/p\u003e\n\u003cp\u003eこれも今日初めて知ったんだけど、Windows 上で実機並みにぬるぬる動いて感動しました。手順とか WEB を見ると省略されてたり\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%B9%A5%AF%A5%EA%A1%BC%A5%F3%A5%B7%A5%E7%A5%C3%A5%C8\"\u003eスクリーンショット\u003c/a\u003eがなかったりするので、今度記事を作ろうと思います。2013/4/15 追記\u003c/p\u003e\n\u003cp\u003e割と検索されているようなので追記しておきます。\u003c/p\u003e\n\u003cp\u003e今現在は\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A8%A5%DF%A5%E5%A5%EC%A1%BC%A5%BF\"\u003eエミュレータ\u003c/a\u003eではなくNexus7の実機でDebugしています。\u003c/p\u003e\n\u003cp\u003eなぜなら、実機のほうが\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A8%A5%DF%A5%E5%A5%EC%A1%BC%A5%BF%A1%BC\"\u003eエミュレーター\u003c/a\u003eより反応良いし、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A8%A5%DF%A5%E5%A5%EC%A1%BC%A5%BF\"\u003eエミュレータ\u003c/a\u003eではうまくいったのにということがありません。\u003c/p\u003e\n\u003cp\u003e2万円を高いと思うか安いと思うかは人それぞれだと思いますが、\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A8%A5%DF%A5%E5%A5%EC%A1%BC%A5%BF\"\u003eエミュレータ\u003c/a\u003eで我慢する時間を考えるとすぐにペイできる値段だと思いますので、実機を使うことをオススメします。\u003c/p\u003e\n\u003chr\u003e","title":"Android のエミュレーターで Intel HAXM を試してみた"},{"content":"CG-HDC2EU3100 というやつで 2TB の HDD を2台つなげて RAID1 にしているんだけど、また調子悪くなった。USB を Mac Book Air につなげると、HDD1 のアクセスランプが点きっぱなしになって、認識しない。disk utility で見ても認識出来ていない。\nRAID1 を一度解除してみても認識しない。\nディスクをひとつずつ外していくと、Disk1 のみのときは認識してデータも無事。Disk2 のみのときはアクセスランプが点きっぱなしになって認識できない状態となった。最初はHDDが逝ってしまったのかと思ったけど、確かめるために WIndows PC につなげたところ普通に認識した。HFS+ なので、Windowsではパーティション削除を単純に行い、先頭のパーティションだけは何故か消せなかったので、そのままとした。この状態で HDD を再度 CG-HDC2EU3100 の Disk2 につなげたところ、認識した。でも、これで終わりじゃ無くて、今度は RAID1 のリビルドがされていないようだった。（ディップスイッチを切り替えて、RAID1 を解除して個別で認識させたところ、追加したディスクにデータが書きこまれていなかった）いろいろ調べたところ、一度ディスクエラーの状態になってからじゃないとリビルドしてくれないらしい。なので、Disk2 を一度外して電源をいれてエラーランプが付くことを確認。再度 Disk2 をつなげたところリビルドが始まったー。\nこのケースやっぱダメなのかなぁ。一応まだ継続して使うけれども、RAID5 のケースというか普通の NAS を買ったほういいのかなぁ。\n","permalink":"/entry/2012/03/20/150024/","summary":"\u003cp\u003eCG-HDC2EU3100 というやつで 2TB の HDD を2台つなげて RAID1 にしているんだけど、また調子悪くなった。USB を Mac Book Air につなげると、HDD1 の\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A2%A5%AF%A5%BB%A5%B9%A5%E9%A5%F3%A5%D7\"\u003eアクセスランプ\u003c/a\u003eが点きっぱなしになって、認識しない。disk utility で見ても認識出来ていない。\u003c/p\u003e\n\u003cp\u003eRAID1 を一度解除してみても認識しない。\u003c/p\u003e\n\u003cp\u003eディスクをひとつずつ外していくと、Disk1 のみのときは認識してデータも無事。Disk2 のみのときは\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A2%A5%AF%A5%BB%A5%B9%A5%E9%A5%F3%A5%D7\"\u003eアクセスランプ\u003c/a\u003eが点きっぱなしになって認識できない状態となった。最初はHDDが逝ってしまったのかと思ったけど、確かめるために WIndows PC につなげたところ普通に認識した。HFS+ なので、Windowsではパーティション削除を単純に行い、先頭のパーティションだけは何故か消せなかったので、そのままとした。この状態で HDD を再度 CG-HDC2EU3100 の Disk2 につなげたところ、認識した。でも、これで終わりじゃ無くて、今度は RAID1 のリビルドがされていないようだった。（ディップスイッチを切り替えて、RAID1 を解除して個別で認識させたところ、追加したディスクにデータが書きこまれていなかった）いろいろ調べたところ、一度ディスクエラーの状態になってからじゃないとリビルドしてくれないらしい。なので、Disk2 を一度外して電源をいれてエラーランプが付くことを確認。再度 Disk2 をつなげたところリビルドが始まったー。\u003c/p\u003e\n\u003cp\u003eこのケースやっぱダメなのかなぁ。一応まだ継続して使うけれども、RAID5 のケースというか普通の \u003ca href=\"http://d.hatena.ne.jp/keyword/NAS\"\u003eNAS\u003c/a\u003e を買ったほういいのかなぁ。\u003c/p\u003e\n\u003chr\u003e","title":"外付けUSBディスク に付けていた HDD がまた調子悪くなった"},{"content":"XCode を入れ直したらディスクが開いて嬉しくなったので、ディスクのお掃除をしてみた\nシンボリックリンクを使ってiPhoneのバックアップデータを移動させた で 5GB 空いた！ 最新の du は以下のような感じ。Usersが多いのは WIndows の VM が入っているから\n``` 392K ./.DocumentRevisions-V100 6.9M ./.fseventsd 5.8G ./.MobileBackups 2.2G ./.Spotlight-V100 0B ./.Trashes 0B ./.vol 10G ./Applications 4.1M ./bin 0B ./cores 4.5K ./dev 1.0K ./home 5.0G ./Library 1.0K ./net 0B ./Network 0B ./opt 5.1G ./private 2.3M ./sbin 2.9G ./System 51G ./Users 643M ./usr 4.0K ./Volumes 83G .\n----- ","permalink":"/entry/2012/03/09/012256/","summary":"\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/XCode\"\u003eXCode\u003c/a\u003e を入れ直したらディスクが開いて嬉しくなったので、ディスクのお掃除をしてみた\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://knk-n.com/2011/04/04/%E3%82%B7%E3%83%B3%E3%83%9C%E3%83%AA%E3%83%83%E3%82%AF%E3%83%AA%E3%83%B3%E3%82%AF%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6iphone%E3%81%AE%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E3%83%87/\"\u003eシンボリックリンクを使ってiPhoneのバックアップデータを移動させた\u003c/a\u003e で 5GB 空いた！\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e最新の du は以下のような感じ。Usersが多いのは WIndows の VM が入っているから\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e```\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e392K     ./.DocumentRevisions-V100\n6.9M     ./.fseventsd\n5.8G     ./.MobileBackups\n2.2G     ./.Spotlight-V100\n0B     ./.Trashes\n0B     ./.vol\n10G     ./Applications\n4.1M     ./bin\n0B     ./cores\n4.5K     ./dev\n1.0K     ./home\n5.0G     ./Library\n1.0K     ./net\n0B     ./Network\n0B     ./opt\n5.1G     ./private\n2.3M     ./sbin\n2.9G     ./System\n51G     ./Users\n643M     ./usr\n4.0K     ./Volumes\n83G     .\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e\n-----\n\u003c/code\u003e\u003c/pre\u003e","title":"Mac Book Air のディスクをお掃除した"},{"content":"XCode は Xcode 4.3 を入れました。 のとおりにインストール。\nHomebrew は MacPorts から Homebrew に移行する の通りにインストールした。XCode は 3 も消したので、ディスクの空きが 8G から 25G になったよ！\n","permalink":"/entry/2012/03/09/001354/","summary":"\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/XCode\"\u003eXCode\u003c/a\u003e は \u003ca href=\"http://blog.sorah.jp/2012/02/20/xcode43\"\u003eXcode 4.3 を入れました。\u003c/a\u003e のとおりにインストール。\u003c/p\u003e\n\u003cp\u003eHomebrew は \u003ca href=\"http://d.hatena.ne.jp/shogo0809/20110711/1310362071\"\u003e MacPorts から Homebrew に移行する\u003c/a\u003e の通りにインストールした。\u003ca href=\"http://d.hatena.ne.jp/keyword/XCode\"\u003eXCode\u003c/a\u003e は 3 も消したので、ディスクの空きが 8G から 25G になったよ！\u003c/p\u003e\n\u003chr\u003e","title":"XCode 4.3.1 と MacPorts から Homebrew に移行した"},{"content":"Jenkins を Mac にインストールして試してみたけど、以下エラーが出てなかなかうまくいかなかった。\n``` [android] Failed to automatically opt out of SDK statistics gathering. [android] java.io.FileNotFoundException: /var/root/.android/ddms.cfg (Permission denied)\n結局 Jenkins さんは daemon で動いていて、/var/root/ は root のみ書き込みが許可されているので駄目だった。 付け焼刃的な感じで、sudo chmod o+rwx /var/root/ としたけど、これはイカンよなぁ。そもそも /var/root/.[android](http://d.hatena.ne.jp/keyword/android)/ に作成するのがどうかとも思うけど、[daemon](http://d.hatena.ne.jp/keyword/daemon) 周りのお作法を理解していないので、今日はここまでで明日への宿題。あと、ビルドだけなら[エミュレーター](http://d.hatena.ne.jp/keyword/%A5%A8%A5%DF%A5%E5%A5%EC%A1%BC%A5%BF%A1%BC)立ち上げなくても ant で済むので、[android](http://d.hatena.ne.jp/keyword/android) といえども [Java](http://d.hatena.ne.jp/keyword/Java) なんだなぁというのが今日の感想。 ----- ","permalink":"/entry/2012/03/06/030420/","summary":"\u003cp\u003eJenkins を Mac にインストールして試してみたけど、以下エラーが出てなかなかうまくいかなかった。\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e```\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e[android] Failed to automatically opt out of SDK statistics gathering.\n[android] java.io.FileNotFoundException: /var/root/.android/ddms.cfg (Permission denied)\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e結局 Jenkins さんは daemon で動いていて、/var/root/ は root のみ書き込みが許可されているので駄目だった。\n\n付け焼刃的な感じで、sudo chmod o+rwx /var/root/ としたけど、これはイカンよなぁ。そもそも /var/root/.[android](http://d.hatena.ne.jp/keyword/android)/ に作成するのがどうかとも思うけど、[daemon](http://d.hatena.ne.jp/keyword/daemon) 周りのお作法を理解していないので、今日はここまでで明日への宿題。あと、ビルドだけなら[エミュレーター](http://d.hatena.ne.jp/keyword/%A5%A8%A5%DF%A5%E5%A5%EC%A1%BC%A5%BF%A1%BC)立ち上げなくても ant で済むので、[android](http://d.hatena.ne.jp/keyword/android) といえども [Java](http://d.hatena.ne.jp/keyword/Java) なんだなぁというのが今日の感想。\n\n-----\n\u003c/code\u003e\u003c/pre\u003e","title":"JENKINS で Android アプリを自動ビルドしてみた"},{"content":"書くのが3日遅れてしまったけど、第２回 デザインパターン勉強会\u0026amp;第３回Java勉強会準備会に行って来た。\n今回はデザインパターンのほうで参加。増補改訂版Java言語で学ぶデザインパターン入門というちょっと懐かしい本の写経を行いました。第1章のイテレータパターンを写経しましたが、しばらく java をやってなかったので、配列の初期化でコンパイルエラーが出てちょっと詰まるという凡ミスしてしまった。今回勉強になったのは、本では自前でイテレータを実装していたけど、Java5 あたりから Iterator と Iterable が実装されており、そちらを使ったほうが、for each にも使えるので良さそうということでした。最後に井上さんによるライブコーディングを見て、その速さに圧巻でした。おいらの3倍どころか30倍ぐらい早いんじゃないかなぁ〜。\n3月は社内で Android 勉強会の講師をやるので、Eclipse にも慣れておかないとなぁと思いました。\n帰り際の会話で実際実務でデザインパターンってあんまり実装しないですねって話が出て、たしかに自分も利用はするけど実装するのはファクトリーかオブザーバーぐらいしか無い。シングルトンはマルチスレッドの妨げになるから利用すべきではないと思う。イテレーターも実際自分で実装するかといわれると、使わないかなぁ。\nArrayList あたりにクラスを突っ込んで、Equals() と hashCode() を実装って感じにしている。.Net でも同じで Equals() と GetHashCode() だっけか。そこら辺は、また別途考えたいと思う。\n","permalink":"/entry/2012/02/29/220000/","summary":"\u003cp\u003e書くのが3日遅れてしまったけど、\u003ca href=\"http://tohoku-dev.jp/modules/news/article.php?storyid=115\"\u003e第２回 デザインパターン勉強会\u0026amp;第３回Java勉強会準備会\u003c/a\u003eに行って来た。\u003c/p\u003e\n\u003cp\u003e今回は\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%B6%A5%A4%A5%F3%A5%D1%A5%BF%A1%BC%A5%F3\"\u003eデザインパターン\u003c/a\u003eのほうで参加。増補改訂版\u003ca href=\"http://d.hatena.ne.jp/keyword/Java\"\u003eJava\u003c/a\u003e言語で学ぶ\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%B6%A5%A4%A5%F3%A5%D1%A5%BF%A1%BC%A5%F3\"\u003eデザインパターン\u003c/a\u003e入門というちょっと懐かしい本の写経を行いました。第1章の\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A4%A5%C6%A5%EC%A1%BC%A5%BF\"\u003eイテレータ\u003c/a\u003eパターンを写経しましたが、しばらく \u003ca href=\"http://d.hatena.ne.jp/keyword/java\"\u003ejava\u003c/a\u003e をやってなかったので、配列の初期化でコンパイルエラーが出てちょっと詰まるという凡ミスしてしまった。今回勉強になったのは、本では自前で\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A4%A5%C6%A5%EC%A1%BC%A5%BF\"\u003eイテレータ\u003c/a\u003eを実装していたけど、\u003ca href=\"http://d.hatena.ne.jp/keyword/Java5\"\u003eJava5\u003c/a\u003e あたりから \u003ca href=\"http://d.hatena.ne.jp/keyword/Iterator\"\u003eIterator\u003c/a\u003e と Iterable が実装されており、そちらを使ったほうが、for each にも使えるので良さそうということでした。最後に井上さんによるライブコーディングを見て、その速さに圧巻でした。おいらの3倍どころか30倍ぐらい早いんじゃないかなぁ〜。\u003c/p\u003e\n\u003cp\u003e3月は社内で \u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003e 勉強会の講師をやるので、\u003ca href=\"http://d.hatena.ne.jp/keyword/Eclipse\"\u003eEclipse\u003c/a\u003e にも慣れておかないとなぁと思いました。\u003c/p\u003e\n\u003cp\u003e帰り際の会話で実際実務で\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%C7%A5%B6%A5%A4%A5%F3%A5%D1%A5%BF%A1%BC%A5%F3\"\u003eデザインパターン\u003c/a\u003eってあんまり実装しないですねって話が出て、たしかに自分も利用はするけど実装するのはファクトリーかオブザーバーぐらいしか無い。シングルトンはマルチスレッドの妨げになるから利用すべきではないと思う。\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A4%A5%C6%A5%EC%A1%BC%A5%BF\"\u003eイテレータ\u003c/a\u003eーも実際自分で実装するかといわれると、使わないかなぁ。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/ArrayList\"\u003eArrayList\u003c/a\u003e あたりにクラスを突っ込んで、Equals() と hashCode() を実装って感じにしている。.Net でも同じで Equals() と GetHashCode() だっけか。そこら辺は、また別途考えたいと思う。\u003c/p\u003e\n\u003chr\u003e","title":"第２回 デザインパターン勉強会\u0026第３回Java勉強会準備会 に行って来た"},{"content":"確定申告のために Felicaカードリーダー RC-S330 を引っ張り出して、Mac Book Air に付けた。Parallels Desktop の Windows XP にドライバをインストールしたんだけれども、デバイスマネージャで見るとドライバが読み込めないと出ているので、何回かドライバを削除したり繋げ直したけどよくならず。\nぐぐってみたら、Windows XP Lite で不要なサービスとして Smart Card Service を削っていたのが悪かったらしく、下記の通りでした。（サーバーが応答しなかったので、グーグルのキャッシュのリンクを貼っておきます）\nSONYのRC-S330(Felica Port PaSoRi RCS956 USB)を認識しない\nデバイスマネージャで見ると「Felica Port PaSoRi RCS956 USB」と表示されるが、アイコンに黄色ビックリが付いてドライバの読み込みにコード39で失敗している。\n(「このハードウェアのデバイス ドライバを読み込むことができません。ドライバが壊れているか、ドライバがない可能性があります。 (コード 39)」)　XPの CDの中の\n[I386](http://d.hatena.ne.jp/keyword/I386)\\SMCLIB.SY_\nを\nEXPAND SMCLIB.SY_ SMCLIB.SYS\nして\n%WINDIR%\\system32\\drivers\nにコピーする。\nこれで出来るーと思ったら、Smart Card Service が復活しておらず、まだ動かず・・・。\nいろいろ調べてまだDLLが足りないのと、サービスの再インストールが必要なようで、How to reinstall the Smart Card service on Windows XPを実行してようやく動くようになったー。なんだかんだで１時間近くかかったなぁ。元はといえば Lion に対応していない e-tax のせい！\n","permalink":"/entry/2012/02/26/231955/","summary":"\u003cp\u003e確定申告のために \u003ca href=\"http://d.hatena.ne.jp/keyword/Felica\"\u003eFelica\u003c/a\u003eカードリーダー RC-S330 を引っ張り出して、Mac Book Air に付けた。Parallels Desktop の Windows XP にドライバをインストールしたんだけれども、デバイスマネージャで見るとドライバが読み込めないと出ているので、何回かドライバを削除したり繋げ直したけどよくならず。\u003c/p\u003e\n\u003cp\u003eぐぐってみたら、Windows XP Lite で不要なサービスとして Smart Card Service を削っていたのが悪かったらしく、下記の通りでした。（サーバーが応答しなかったので、グーグルのキャッシュのリンクを貼っておきます）\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://webcache.googleusercontent.com/search?q=cache:FiHrg5SGxkMJ:www.neko.ne.jp/~freewing/software/nlite_xp_sp3/\"\u003eSONYのRC-S330(Felica Port PaSoRi RCS956 USB)を認識しない\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e　デバイスマネージャで見ると「\u003ca href=\"http://d.hatena.ne.jp/keyword/Felica\"\u003eFelica\u003c/a\u003e Port \u003ca href=\"http://d.hatena.ne.jp/keyword/PaSoRi\"\u003ePaSoRi\u003c/a\u003e RCS956 USB」と表示されるが、アイコンに黄色ビックリが付いてドライバの読み込みにコード39で失敗している。\u003c/p\u003e\n\u003cp\u003e　(「このハードウェアのデバイス ドライバを読み込むことができません。ドライバが壊れているか、ドライバがない可能性があります。 (コード 39)」)　XPの CDの中の\u003c/p\u003e\n\u003cp\u003e[I386](\u003ca href=\"http://d.hatena.ne.jp/keyword/I386\"\u003ehttp://d.hatena.ne.jp/keyword/I386\u003c/a\u003e)\\SMCLIB.SY_\u003c/p\u003e\n\u003cp\u003e　を\u003c/p\u003e\n\u003cp\u003eEXPAND SMCLIB.SY_ SMCLIB.SYS\u003c/p\u003e\n\u003cp\u003e　して\u003c/p\u003e\n\u003cp\u003e%WINDIR%\\system32\\drivers\u003c/p\u003e\n\u003cp\u003e　にコピーする。\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eこれで出来るーと思ったら、Smart Card Service が復活しておらず、まだ動かず・・・。\u003c/p\u003e\n\u003cp\u003eいろいろ調べてまだDLLが足りないのと、サービスの再インストールが必要なようで、\u003ca href=\"http://lazybit.com/index.php/2007/12/19/windows_xp_re_install_smart_card_service\"\u003eHow to reinstall the Smart Card service on Windows XP\u003c/a\u003eを実行してようやく動くようになったー。なんだかんだで１時間近くかかったなぁ。元はといえば Lion に対応していない e-tax のせい！\u003c/p\u003e\n\u003chr\u003e","title":"Felica カードリーダーが認識しなくて焦った"},{"content":"そういえば１回目書き忘れてた。社用があって１時間遅れで到着。 少人数で１回目と同じで若干会社のグチ大会になってしまった感はあったけど楽しかった。 ちょっとみんなと立場が違うかなぁと思ったのは、同じ受託開発でも一次受けか二次請けかの違いで、自分の場合は二次請け（孫請け）が多いのでお客様（ユーザー）と直接会話が殆ど無い。けれども、悩みはみんな結構同じでアジャイル自体を人月の契約に適用すると難しいとか、精算指標(ks/h)はどうするとかあるんだなぁと。結局アジャイル開発を会社が適用しても人月モデルほど売上が上がらないのが、会社が積極的に導入しない一番の理由なのかなぁと思った。 会社の品質プロセスではウォーターフォールかスパイラルモデルが前提なので、本気でアジャイルやろうとするとスパイラルモデルに無理やりこじつけてやる必要があるのと、工程移行判定をどのように切り抜けるかが問題だなぁ。ソフトウェア開発としてではなくて、サービス提供って感じで誤魔化せればいいんだけど。 ま、そんなことより、自分の中での一番の疑問はP.178の「ファーンファーンウィーヒッダステーッステー」の原文と、パーキングロットチャートが変更管理に結びつき、スコープと期日と予算が固定されたプロジェクトで何故役に立つかが理解出来ていないので復習する。 帰りは @i_takehiro さんと TDD 入門編みたいな計画を聞いてイイねと思った。今度は自分が開催する側にそろそろなっていきたいなぁと思っている。 いい加減に時間無い時間無いばっかり言ってないで、時間を作らないとな。 ","permalink":"/entry/2012/02/23/230323/","summary":"\u003ch2 id=\"いい加減に時間無い時間無いばっかり言ってないで時間を作らないとな\"\u003eそういえば１回目書き忘れてた。社用があって１時間遅れで到着。\n少人数で１回目と同じで若干会社のグチ大会になってしまった感はあったけど楽しかった。\nちょっとみんなと立場が違うかなぁと思ったのは、同じ受託開発でも一次受けか二次請けかの違いで、自分の場合は二次請け（孫請け）が多いのでお客様（ユーザー）と直接会話が殆ど無い。けれども、悩みはみんな結構同じで\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A2%A5%B8%A5%E3%A5%A4%A5%EB\"\u003eアジャイル\u003c/a\u003e自体を人月の契約に適用すると難しいとか、精算指標(ks/h)はどうするとかあるんだなぁと。結局\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A2%A5%B8%A5%E3%A5%A4%A5%EB\"\u003eアジャイル\u003c/a\u003e開発を会社が適用しても人月モデルほど売上が上がらないのが、会社が積極的に導入しない一番の理由なのかなぁと思った。\n会社の品質プロセスでは\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A6%A5%A9%A1%BC%A5%BF%A1%BC%A5%D5%A5%A9%A1%BC%A5%EB\"\u003eウォーターフォール\u003c/a\u003eかスパイラルモデルが前提なので、本気で\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A2%A5%B8%A5%E3%A5%A4%A5%EB\"\u003eアジャイル\u003c/a\u003eやろうとするとスパイラルモデルに無理やりこじつけてやる必要があるのと、工程移行判定をどのように切り抜けるかが問題だなぁ。ソフトウェア開発としてではなくて、サービス提供って感じで誤魔化せればいいんだけど。\nま、そんなことより、自分の中での一番の疑問はP.178の「ファーンファーンウィーヒッダステーッステー」の原文と、パーキングロットチャートが変更管理に結びつき、スコープと期日と予算が固定されたプロジェクトで何故役に立つかが理解出来ていないので復習する。\n帰りは @i_takehiro さんと TDD 入門編みたいな計画を聞いてイイねと思った。今度は自分が開催する側にそろそろなっていきたいなぁと思っている。\nいい加減に時間無い時間無いばっかり言ってないで、時間を作らないとな。\u003c/h2\u003e","title":"アジャイルサムライ読書会 in 仙台 第二回目に行って来た"},{"content":"題名のとおり。妻はとても満足しているよう。 背景を説明すると、昨年５月頃に購入した Regza Phone が 突然の再起動、フリーズ、メモリ不足でカメラ・メールが起動できない等の症状があり、２回修理に出していました。 ２回目の修理から帰ってきたとき、au ショップの店員から次も症状が改善されなかった場合は、お客様センターに相談しますのでという話があり、２ヶ月ぐらいがまして使っていたけれども、やっぱり改善せず。 で、本日 au ショップに行ったところ、無償交換しますと言われた。 私が iPhone を使用しているので、妻も iPhone にしたかったようだけれども、iPhone 以外で選択してくださいと言われた。 私は妻にギャラクシーS II を勧めたんだけれど、ワンセグが無いため LG Optimus X IS11LG を選択しました。 今考えると Acro HD が出てから交渉すりゃよかったかなぁとちょっと思うけど、だいぶ快適になったようでよかったと思う。 ","permalink":"/entry/2012/02/19/210916/","summary":"\u003ch2 id=\"今考えると-acro-hd-が出てから交渉すりゃよかったかなぁとちょっと思うけどだいぶ快適になったようでよかったと思う\"\u003e題名のとおり。妻はとても満足しているよう。\n背景を説明すると、昨年５月頃に購入した \u003ca href=\"http://d.hatena.ne.jp/keyword/Regza\"\u003eRegza\u003c/a\u003e Phone が 突然の再起動、フリーズ、メモリ不足でカメラ・メールが起動できない等の症状があり、２回修理に出していました。\n２回目の修理から帰ってきたとき、au ショップの店員から次も症状が改善されなかった場合は、お客様センターに相談しますのでという話があり、２ヶ月ぐらいがまして使っていたけれども、やっぱり改善せず。\nで、本日 au ショップに行ったところ、無償交換しますと言われた。\n私が \u003ca href=\"http://d.hatena.ne.jp/keyword/iPhone\"\u003eiPhone\u003c/a\u003e を使用しているので、妻も \u003ca href=\"http://d.hatena.ne.jp/keyword/iPhone\"\u003eiPhone\u003c/a\u003e にしたかったようだけれども、\u003ca href=\"http://d.hatena.ne.jp/keyword/iPhone\"\u003eiPhone\u003c/a\u003e 以外で選択してくださいと言われた。\n私は妻にギャラクシーS II を勧めたんだけれど、ワンセグが無いため LG Optimus X IS11LG を選択しました。\n今考えると Acro HD が出てから交渉すりゃよかったかなぁとちょっと思うけど、だいぶ快適になったようでよかったと思う。 \u003c/h2\u003e","title":"妻の Regza Phone を au LG Optimus X IS11LG  に交換してきた"},{"content":"サクッとできることはすぐにやるｗ さっそく AWS で Windows Server を立ち上げてみたけど簡単でした。 はじめてのアマゾンクラウド (EC2でWindowsを立ち上げリモート接続)を参考にしたら30分ぐらいで Remote Desktop でつながるようになった。 しかも、1年間の無料枠は Linux と Windows が両方同時に使えるということで、いろいろ試してみたいと思います。 ただ、問題点はいくつかあります。EC2のWindowsインスタンスを使うより\n無料枠のメモリは600MB程度しか無い 32ビット版を選ぶと Small インスタンスでメモリは1.7Gぐらいまでしか拡張できない 64ビット版は逆に Small インスタンスが選べず、いきなり Large で7.5Gぐらいあるが、月額28500円ぐらい 1年後は月額2000円かかる ということを考えると、目的はVPS的に使いたいだけなので、フツーにVPSを使ったほうが良いと思いました。 ASPとかを提供したいと思うなら使用する価値があるかもしれないんですけど、それなら Azure を最初から使えば良いと思うので、とりあえず無料枠の1年間で遊んで終わりとなりそうな予感がします。 ","permalink":"/entry/2012/02/05/000854/","summary":"\u003cp\u003eサクッとできることはすぐにやるｗ\nさっそく AWS で Windows Server を立ち上げてみたけど簡単でした。\n\u003ca href=\"http://www.slideshare.net/kentamagawa/ec2windows\"\u003eはじめてのアマゾンクラウド (EC2でWindowsを立ち上げリモート接続)\u003c/a\u003eを参考にしたら30分ぐらいで Remote Desktop でつながるようになった。\nしかも、1年間の無料枠は \u003ca href=\"http://d.hatena.ne.jp/keyword/Linux\"\u003eLinux\u003c/a\u003e と Windows が両方同時に使えるということで、いろいろ試してみたいと思います。\nただ、問題点はいくつかあります。\u003ca href=\"http://d.hatena.ne.jp/w650/20110405/1301929666\"\u003eEC2のWindowsインスタンスを使う\u003c/a\u003eより\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e無料枠のメモリは600MB程度しか無い\u003c/li\u003e\n\u003cli\u003e32ビット版を選ぶと Small \u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%BF%A5%F3%A5%B9\"\u003eインスタンス\u003c/a\u003eでメモリは1.7Gぐらいまでしか拡張できない\u003c/li\u003e\n\u003cli\u003e64ビット版は逆に Small \u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%BF%A5%F3%A5%B9\"\u003eインスタンス\u003c/a\u003eが選べず、いきなり Large で7.5Gぐらいあるが、月額28500円ぐらい\u003c/li\u003e\n\u003cli\u003e1年後は月額2000円かかる\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"aspとかを提供したいと思うなら使用する価値があるかもしれないんですけどそれなら-azure-を最初から使えば良いと思うのでとりあえず無料枠の1年間で遊んで終わりとなりそうな予感がします\"\u003eということを考えると、目的はVPS的に使いたいだけなので、フツーにVPSを使ったほうが良いと思いました。\n\u003ca href=\"http://d.hatena.ne.jp/keyword/ASP\"\u003eASP\u003c/a\u003eとかを提供したいと思うなら使用する価値があるかもしれないんですけど、それなら Azure を最初から使えば良いと思うので、とりあえず無料枠の1年間で遊んで終わりとなりそうな予感がします。\u003c/h2\u003e","title":"AWS で Windows Server を立ち上げてみた"},{"content":"雪がちらつく中行ってきました。詳細プログラムは東北デベロッパーズカンファレンス～TDC4周年記念を参照。 基調講演は日本Androidの会会長の丸山先生。お題は「ネットワークメディアとコマース - 著作権・プライバシー問題の動向」と堅苦しい感じだったけど、そうでもなかった。 内容は2001年から2011年までの10年間のおさらいという感じで、「あーそうそう、こんなのあった」という感じでさらっと聞けた。Apple, Google, Amazon, Microsoftらは自社クラウドとクラウドフロントエンドがあって、それが強みという話。たしかに日本で両方持っている企業はありませんね。 著作権とプライバシーは時間の関係で駆け足だったけど、iCloudといいGoogle Musicといい日本は相当遅れているというお話。 最後の質疑応答でどうすればいいかというのは、若い世代が声を上げればいいというのと、そのうち旧来のメディア（テレビとか）が破錠して使えるように成るのではということ。 HTML5はNHKにでたばっかりの、Google及川さんが出てきて期待したのですが、さらっと話してほぼ北村さんのChromeによるデモが中心で若干肩透かしな感じだったけど、HTML5はこんな感じかーというのを体験できた。 及川さんのHTML5はブラウザのためではなく、クラウドフロントエンドでありHTTP等のプロトコルから再定義するという言葉が印象的だった。 あとは、Androidのインテントをブラウザ向けにするWEBインテントを提案中とのことで、これはいいなと思った。 HTML5は続いてMSの春日井さんで、これもIE9でのデモが中心な感じ。IE6が米国で1%切ってパーティーをやったので、日本でもやりたいという掴みから入った（日本は5.5%だったかな）。 デモをすすめる中でアマナグループさんがFlashからHTML5に置き換えて、とてもきれいなソースなので参考にしてみてくださいということでした。 HTML5の所感としては、もうネイティブアプリと変わらないことが出来る（カメラとかGPSとか加速度センサーとか）のはいいんだけど、ブラウザ間の互換性がやっぱり気になる。 結局今回のデモもChromeとIE9で動作が違うのもあるし、各ブラウザ間の調整というのは今よりももっと大変になるんじゃないかなぁ。 講演内容は Chrome VS IE とかにしても面白かったんじゃないかなぁと。いっそ、FirefoxとSafariも交えてってのもよかったかも。 HTML5は以上で、次はAWSの荒木さん。 いつの間にかAWSでWindows Serverが無料の範囲で使えるようになっててびっくりした。これは是非やってみたい。 荒木さんは家でやるのが面倒なことを是非AWSでやってくださいという内容。RAIDだったり、並列コンパイルだったり、ネットワーク分割だったり。月750時間までの無料なので、基本的に1CPUなら毎日使えるし、30個つかって1日という使い方でも無料ということ。 「どうせそんな実験なんて一回やったら満足するんですよ。」という暴言には爆笑してしまったｗ 最後はドメイン駆動設計(DDD)翻訳者の和智さんの講演で終わり。DDDとは何かというのを非常にうまく説明していた。私が説明しようとしてもなかなか出来ないｗ その後、懇親会に参加して @haradakiro と約1年ぶりにお話しした。「会社でなかなかアジャイル開発できないんっすよー。」という相談したら「アジャイルって言わない方いいよ。1ヶ月ごとにデモするって言えばいいんだよ。」というありがたいアドバイスを頂いた。 その後は和智さんを捕まえて、 @i_takehiro や @leecom とDDD談義をした。JAZ(Japan Azure User Group)の橋本さんがLTを開始したところで、私用で帰ることとなってしまった。 今回の Next Action は 次の３つかなー。TDC は本当によいコミュニティでエネルギーを充電できた感じ。頑張らないトナー\nAWS で Windows server を立ち上げる TDDBC 仙台二回目開催（@leecom からプッシュされたｗ） 居酒屋プレゼン（春）でLT ","permalink":"/entry/2012/02/04/222829/","summary":"\u003cp\u003e雪がちらつく中行ってきました。詳細プログラムは\u003ca href=\"http://tohoku-dev.jp/modules/eguide/event.php?eid=100\"\u003e東北デベロッパーズカンファレンス～TDC4周年記念\u003c/a\u003eを参照。\n基調講演は日本\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003eの会会長の丸山先生。お題は「ネットワークメディアとコマース - 著作権・プライバシー問題の動向」と堅苦しい感じだったけど、そうでもなかった。\n内容は2001年から2011年までの10年間のおさらいという感じで、「あーそうそう、こんなのあった」という感じでさらっと聞けた。\u003ca href=\"http://d.hatena.ne.jp/keyword/Apple\"\u003eApple\u003c/a\u003e, \u003ca href=\"http://d.hatena.ne.jp/keyword/Google\"\u003eGoogle\u003c/a\u003e, Amazon, Microsoftらは自社クラウドとクラウドフロントエンドがあって、それが強みという話。たしかに日本で両方持っている企業はありませんね。\n著作権とプライバシーは時間の関係で駆け足だったけど、iCloudといい\u003ca href=\"http://d.hatena.ne.jp/keyword/Google\"\u003eGoogle\u003c/a\u003e Musicといい日本は相当遅れているというお話。\n最後の質疑応答でどうすればいいかというのは、若い世代が声を上げればいいというのと、そのうち旧来のメディア（テレビとか）が破錠して使えるように成るのではということ。\n\u003ca href=\"http://d.hatena.ne.jp/keyword/HTML5\"\u003eHTML5\u003c/a\u003eはNHKにでたばっかりの、\u003ca href=\"http://d.hatena.ne.jp/keyword/Google\"\u003eGoogle\u003c/a\u003e及川さんが出てきて期待したのですが、さらっと話してほぼ北村さんの\u003ca href=\"http://d.hatena.ne.jp/keyword/Chrome\"\u003eChrome\u003c/a\u003eによるデモが中心で若干肩透かしな感じだったけど、\u003ca href=\"http://d.hatena.ne.jp/keyword/HTML5\"\u003eHTML5\u003c/a\u003eはこんな感じかーというのを体験できた。\n及川さんの\u003ca href=\"http://d.hatena.ne.jp/keyword/HTML5\"\u003eHTML5\u003c/a\u003eはブラウザのためではなく、クラウドフロントエンドでありHTTP等のプロトコルから再定義するという言葉が印象的だった。 あとは、\u003ca href=\"http://d.hatena.ne.jp/keyword/Android\"\u003eAndroid\u003c/a\u003eのインテントをブラウザ向けにするWEBインテントを提案中とのことで、これはいいなと思った。\n\u003ca href=\"http://d.hatena.ne.jp/keyword/HTML5\"\u003eHTML5\u003c/a\u003eは続いてMSの春日井さんで、これもIE9でのデモが中心な感じ。IE6が米国で1%切ってパーティーをやったので、日本でもやりたいという掴みから入った（日本は5.5%だったかな）。\nデモをすすめる中で\u003ca href=\"http://amana.jp/\"\u003eアマナグループ\u003c/a\u003eさんがFlashから\u003ca href=\"http://d.hatena.ne.jp/keyword/HTML5\"\u003eHTML5\u003c/a\u003eに置き換えて、とてもきれいなソースなので参考にしてみてくださいということでした。\n\u003ca href=\"http://d.hatena.ne.jp/keyword/HTML5\"\u003eHTML5\u003c/a\u003eの所感としては、もうネイティブアプリと変わらないことが出来る（カメラとかGPSとか加速度センサーとか）のはいいんだけど、ブラウザ間の互換性がやっぱり気になる。\n結局今回のデモも\u003ca href=\"http://d.hatena.ne.jp/keyword/Chrome\"\u003eChrome\u003c/a\u003eとIE9で動作が違うのもあるし、各ブラウザ間の調整というのは今よりももっと大変になるんじゃないかなぁ。\n講演内容は \u003ca href=\"http://d.hatena.ne.jp/keyword/Chrome\"\u003eChrome\u003c/a\u003e VS IE とかにしても面白かったんじゃないかなぁと。いっそ、\u003ca href=\"http://d.hatena.ne.jp/keyword/Firefox\"\u003eFirefox\u003c/a\u003eと\u003ca href=\"http://d.hatena.ne.jp/keyword/Safari\"\u003eSafari\u003c/a\u003eも交えてってのもよかったかも。 \n\u003ca href=\"http://d.hatena.ne.jp/keyword/HTML5\"\u003eHTML5\u003c/a\u003eは以上で、次はAWSの荒木さん。\nいつの間にかAWSでWindows Serverが無料の範囲で使えるようになっててびっくりした。これは是非やってみたい。\n荒木さんは家でやるのが面倒なことを是非AWSでやってくださいという内容。RAIDだったり、並列コンパイルだったり、ネットワーク分割だったり。月750時間までの無料なので、基本的に1CPUなら毎日使えるし、30個つかって1日という使い方でも無料ということ。\n「どうせそんな実験なんて一回やったら満足するんですよ。」という暴言には爆笑してしまったｗ\n最後はドメイン駆動設計(DDD)翻訳者の和智さんの講演で終わり。DDDとは何かというのを非常にうまく説明していた。私が説明しようとしてもなかなか出来ないｗ\nその後、懇親会に参加して @haradakiro と約1年ぶりにお話しした。「会社でなかなか\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A2%A5%B8%A5%E3%A5%A4%A5%EB\"\u003eアジャイル\u003c/a\u003e開発できないんっすよー。」という相談したら「\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A2%A5%B8%A5%E3%A5%A4%A5%EB\"\u003eアジャイル\u003c/a\u003eって言わない方いいよ。1ヶ月ごとにデモするって言えばいいんだよ。」というありがたいアドバイスを頂いた。\nその後は和智さんを捕まえて、 @i_takehiro や @leecom とDDD談義をした。JAZ(Japan Azure User Group)の橋本さんがLTを開始したところで、私用で帰ることとなってしまった。\n今回の Next Action は 次の３つかなー。TDC は本当によいコミュニティでエネルギーを充電できた感じ。頑張らないトナー\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAWS で Windows server を立ち上げる\u003c/li\u003e\n\u003cli\u003eTDDBC 仙台二回目開催（@leecom からプッシュされたｗ）\u003c/li\u003e\n\u003cli\u003e居酒屋プレゼン（春）でLT\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e","title":"東北デベロッパーズカンファレンス～TDC4周年記念に行って来た"},{"content":"東芝が特許庁の新基幹システム開発中止になった件で、ちょっと言及をしたいと思います。タイトルは私の認識が間違っているかもしれないので、そうであれば指摘いただければと思います。 特許庁のシステムについては、急にこのような結果になったわけではなく、特許庁情報システムに関する技術検証委員会というのが設置され、平成22年8月20日(金)に以下報告書が提出されています。 「特許庁情報システムに関する調査委員会」からの調査報告書の提出について ここでギョッとしたことは、コピペコードが推奨されているのです。報告書の58ページあたりです。\n3 今後の作業における課題 (1)「設計成果物」の開発規模について 運営基盤システムは,各ユーザアプリケーションを互いに疎な関係とするコンセプトであるため,複数のアプリケーションに共通する要素であっても極力共通化しない 設計手法を採用している。 この設計手法の下では,複数のアプリケーションが互いに共通・類似する要素を重複して持つことになるため,アプリケーションの開発規模が大きくなり,「設計成果物」に対して暫定的に算出された開発規模は,当初の想定を上回るものとなっている。 一方で,このような共通・類似する要素については,他のアプリケーションの要素 をコピーする,あるいは若干の修正を加えるのみで開発可能であるから,アプリケーション開発に要する工数は,相当程度削減可能であると考えられる。 ただし,そのためには,共通・類似する要素を管理しておくことが前提となる。したがって,そのような管理を行うツールの整備について,早急に検討すべきである\nコピペコードを量産するために、コピペコードを管理するツールが必要だと理解しましたが、本気でそう思っているのだろうか・・・。私の勘違いだといいんですが。 特許庁情報システムに関する技術検証委員会がその後何回か調査報告書をだしていて、以下にまとまっています。 特許庁情報システムに関する技術検証委員会 最近の中止に至る理由は技術検証報告書 ～フォローアップ結果とりまとめ～にまとめられています。この中身も結局は管理と人の問題ばかりで、詳細な技術面のコピペコード量産方針については言及されていなく残念な感じです。 アプリケーション間を互いに疎結合とするには、情報処理試験でいうモジュール間結合度を思い出してしまいますが、実際にやるにはインスタンスに状態を保持しない共通の関数を用意するとか、最近ではWEBサービス化してしまうとかあると考えます。 次回開発時には頓挫しないようになればいいなぁと思いますが。。。 ","permalink":"/entry/2012/01/30/010629/","summary":"\u003cp\u003e\u003ca href=\"http://d.hatena.ne.jp/keyword/%C5%EC%BC%C7\"\u003e東芝\u003c/a\u003eが\u003ca href=\"http://d.hatena.ne.jp/keyword/%C6%C3%B5%F6%C4%A3\"\u003e特許庁\u003c/a\u003eの新基幹システム開発中止になった件で、ちょっと言及をしたいと思います。タイトルは私の認識が間違っているかもしれないので、そうであれば指摘いただければと思います。\n\u003ca href=\"http://d.hatena.ne.jp/keyword/%C6%C3%B5%F6%C4%A3\"\u003e特許庁\u003c/a\u003eのシステムについては、急にこのような結果になったわけではなく、\u003ca href=\"http://d.hatena.ne.jp/keyword/%C6%C3%B5%F6%C4%A3\"\u003e特許庁\u003c/a\u003e情報システムに関する技術検証委員会というのが設置され、平成22年8月20日(金)に以下報告書が提出されています。\n\u003ca href=\"http://www.meti.go.jp/press/20100820003/20100820003.html\"\u003e「特許庁情報システムに関する調査委員会」からの調査報告書の提出について\u003c/a\u003e\nここでギョッとしたことは、コピペコードが推奨されているのです。報告書の58ページあたりです。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3 今後の作業における課題\n(1)「設計成果物」の開発規模について 運営基盤システムは,各ユーザアプリケーションを互いに疎な関係とするコンセプトであるため,複数のアプリケーションに共通する要素であっても極力共通化しない 設計手法を採用している。\nこの設計手法の下では,複数のアプリケーションが互いに共通・類似する要素を重複して持つことになるため,アプリケーションの開発規模が大きくなり,「設計成果物」に対して暫定的に算出された開発規模は,当初の想定を上回るものとなっている。\n一方で,このような共通・類似する要素については,他のアプリケーションの要素 をコピーする,あるいは若干の修正を加えるのみで開発可能であるから,アプリケーション開発に要する工数は,相当程度削減可能であると考えられる。\nただし,そのためには,共通・類似する要素を管理しておくことが前提となる。したがって,そのような管理を行うツールの整備について,早急に検討すべきである\u003c/p\u003e\u003c/blockquote\u003e\n\u003ch2 id=\"次回開発時には頓挫しないようになればいいなぁと思いますが\"\u003eコピペコードを量産するために、コピペコードを管理するツールが必要だと理解しましたが、本気でそう思っているのだろうか・・・。私の勘違いだといいんですが。\n \n\u003ca href=\"http://d.hatena.ne.jp/keyword/%C6%C3%B5%F6%C4%A3\"\u003e特許庁\u003c/a\u003e情報システムに関する技術検証委員会がその後何回か調査報告書をだしていて、以下にまとまっています。\n\u003ca href=\"http://www.jpo.go.jp/cgi/link.cgi?url=/shiryou/toushin/kenkyukai/jyouhou_iinkai.htm\"\u003e特許庁情報システムに関する技術検証委員会\u003c/a\u003e\n最近の中止に至る理由は\u003ca href=\"http://www.jpo.go.jp/shiryou/toushin/kenkyukai/pdf/jyouhou_iinkai/houkoku.pdf\"\u003e技術検証報告書 ～フォローアップ結果とりまとめ～\u003c/a\u003eにまとめられています。この中身も結局は管理と人の問題ばかりで、詳細な技術面のコピペコード量産方針については言及されていなく残念な感じです。\nアプリケーション間を互いに\u003ca href=\"http://d.hatena.ne.jp/keyword/%C1%C2%B7%EB%B9%E7\"\u003e疎結合\u003c/a\u003eとするには、\u003ca href=\"http://d.hatena.ne.jp/keyword/%BE%F0%CA%F3%BD%E8%CD%FD%BB%EE%B8%B3\"\u003e情報処理試験\u003c/a\u003eでいうモジュール間結合度を思い出してしまいますが、実際にやるには\u003ca href=\"http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%BF%A5%F3%A5%B9\"\u003eインスタンス\u003c/a\u003eに状態を保持しない共通の関数を用意するとか、最近ではWEBサービス化してしまうとかあると考えます。\n次回開発時には頓挫しないようになればいいなぁと思いますが。。。\u003c/h2\u003e","title":"特許庁のシステムはコピペコード量産で作ろうとしていた？"},{"content":"今年に入って富士通、NEC、東芝という大手企業のニュースにより、いろんなところで議論が巻き起こっている。 富士通、余剰ＳＥ変身作戦 NEC、通期連結業績見通しを下方修正、最終赤字は1000億円、1万人の人員削減を断行へ 特許庁が新基幹システムの開発やり直し　委託先、東芝の作業遅れで 仕事をいただいている身としては少なからずとも影響があると思う。今年もあまり良くない雰囲気が既に出始めているので、対策していかないとなぁ。 特許庁については報告書についてちょっとツッコミしたくなったので、別記事で言及したい。 ","permalink":"/entry/2012/01/30/002113/","summary":"\u003ch2 id=\"特許庁については報告書についてちょっとツッコミしたくなったので別記事で言及したい\"\u003e今年に入って\u003ca href=\"http://d.hatena.ne.jp/keyword/%C9%D9%BB%CE%C4%CC\"\u003e富士通\u003c/a\u003e、NEC、\u003ca href=\"http://d.hatena.ne.jp/keyword/%C5%EC%BC%C7\"\u003e東芝\u003c/a\u003eという大手企業のニュースにより、いろんなところで議論が巻き起こっている。\n\u003ca href=\"http://www.nikkei.com/tech/ssbiz/article/g=96958A9C93819696E3EAE2E1918DE3EAE2E3E0E2E3E0E2E2E2E2E2E2;p=9694E3EAE3E0E0E2E2EBE0E4E3E2\"\u003e富士通、余剰ＳＥ変身作戦\u003c/a\u003e\n\u003ca href=\"http://www.asahi.com/digital/bcnnews/BCN201201270009.html\"\u003eNEC、通期連結業績見通しを下方修正、最終赤字は1000億円、1万人の人員削減を断行へ\u003c/a\u003e\n\u003ca href=\"http://sankei.jp.msn.com/politics/news/120124/plc12012417070013-n1.htm\"\u003e特許庁が新基幹システムの開発やり直し　委託先、東芝の作業遅れで\u003c/a\u003e\n \n仕事をいただいている身としては少なからずとも影響があると思う。今年もあまり良くない雰囲気が既に出始めているので、対策していかないとなぁ。\n\u003ca href=\"http://d.hatena.ne.jp/keyword/%C6%C3%B5%F6%C4%A3\"\u003e特許庁\u003c/a\u003eについては報告書についてちょっとツッコミしたくなったので、別記事で言及したい。\u003c/h2\u003e","title":"大手企業の動きが怪しい"},{"content":"正確にはパーティションやらの論理構造が壊れてしまったようで、Mac Book Air にマウントした際に壊れているからバックアップとってフォーマットし直してくれと言われて、読み取り専用にされてしまった。 Time Machine, iPhoto, iTunes を格納しているドライブで、RAIDミラーリングしているから物理的には大丈夫だと思っていたのに、あっさり論理的に壊れてしまってちょっと不安。写真とかは取り返しが付かないから、Flicker なり Picasa なりにコピーしておく必要がありそうだなぁ。後、Time Machine の大量のファイル書き込みが壊れやすい原因だと思うので、パーティションを分けるようにしようと思う。 復旧にも結構手間取ってしまった。\nTime Machine は 細かいファイルがたくさんありすぎて、諦めた。その他でも70GBあったので、Mac Book Air にデータコピーはできなく、Windows マシンを立ち上げるも HFS+ は対応していないので、Paragon HFS+ for Windows 8 フリー版 （Read-Only 読込のみ）をいれて、WIndows マシンに バックアップをコピーした。 外付けHDDを HFS+ でフォーマットした。リモートデスクトップ経由でコピーしたら遅すぎる。 外付けHDDを HFS+ と ExFat の２つのパーティションに分けてフォーマットした Windows につなげて、 ExFat のほうにバックアップしたファイル郡をコピー Mac Book Air につなげて、 ExFat から HFS+ にファイルコピー ExFat を削除して、再度 HFS+ でフォーマットして TimeMachine 用にする さてさて、あとはちゃんと読み込めればいいんだけど・・・ 1/29 追記 なんとか無事復旧したんだけど、外付けHDDがたまにフリーズしている。。。 RAID1が有効なのが悪さしているのか、HDDが悪いのか・・・とりあえずはこのままつかってみる・・・ ","permalink":"/entry/2012/01/08/224313/","summary":"\u003cp\u003e正確にはパーティションやらの論理構造が壊れてしまったようで、Mac Book Air にマウントした際に壊れているからバックアップとってフォーマットし直してくれと言われて、読み取り専用にされてしまった。\nTime Machine, \u003ca href=\"http://d.hatena.ne.jp/keyword/iPhoto\"\u003eiPhoto\u003c/a\u003e, \u003ca href=\"http://d.hatena.ne.jp/keyword/iTunes\"\u003eiTunes\u003c/a\u003e を格納しているドライブで、RAIDミラーリングしているから物理的には大丈夫だと思っていたのに、あっさり論理的に壊れてしまってちょっと不安。写真とかは取り返しが付かないから、Flicker なり \u003ca href=\"http://d.hatena.ne.jp/keyword/Picasa\"\u003ePicasa\u003c/a\u003e なりにコピーしておく必要がありそうだなぁ。後、Time Machine の大量のファイル書き込みが壊れやすい原因だと思うので、パーティションを分けるようにしようと思う。\n復旧にも結構手間取ってしまった。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTime Machine は 細かいファイルがたくさんありすぎて、諦めた。その他でも70GBあったので、Mac Book Air にデータコピーはできなく、Windows マシンを立ち上げるも HFS+ は対応していないので、\u003ca href=\"http://www.paragon-software.com/jp/free/\"\u003eParagon HFS+ for Windows 8 フリー版 （Read-Only 読込のみ）\u003c/a\u003eをいれて、WIndows マシンに バックアップをコピーした。\u003c/li\u003e\n\u003cli\u003e外付けHDDを HFS+ でフォーマットした。リモートデスクトップ経由でコピーしたら遅すぎる。\u003c/li\u003e\n\u003cli\u003e外付けHDDを HFS+ と ExFat の２つのパーティションに分けてフォーマットした\u003c/li\u003e\n\u003cli\u003eWindows につなげて、 ExFat のほうにバックアップしたファイル郡をコピー\u003c/li\u003e\n\u003cli\u003eMac Book Air につなげて、 ExFat から HFS+ にファイルコピー\u003c/li\u003e\n\u003cli\u003eExFat を削除して、再度 HFS+ でフォーマットして TimeMachine 用にする\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"raid1が有効なのが悪さしているのかhddが悪いのかとりあえずはこのままつかってみる\"\u003eさてさて、あとはちゃんと読み込めればいいんだけど・・・\n\u003cstrong\u003e1/29 追記\u003c/strong\u003e\nなんとか無事復旧したんだけど、外付けHDDがたまにフリーズしている。。。\nRAID1が有効なのが悪さしているのか、HDDが悪いのか・・・とりあえずはこのままつかってみる・・・ \u003c/h2\u003e","title":"外付けHDDが壊れた"},{"content":"unity3d をインストールした インストール方法は簡単で、http://unity3d.com/unity/download/ からダウンロードして普通にインストールするだけで、unity が立ち上がって再生ボタンみたいなのを押したら、サンプルゲームみたいなのが動いた。 あとは以下のドキュメントを参考にいじってみよう http://ws.cis.sojo-u.ac.jp/~izumi/Unity_Documentation_jp/Documentation.html http://gp-portal.jp/src/ippan/shoukaiPage.cfm?id=2255 ","permalink":"/entry/2011/12/30/003503/","summary":"\u003ch2 id=\"heading\"\u003eunity3d をインストールした\nインストール方法は簡単で、\u003ca href=\"http://unity3d.com/unity/download/\"\u003ehttp://unity3d.com/unity/download/\u003c/a\u003e からダウンロードして普通にインストールするだけで、unity が立ち上がって再生ボタンみたいなのを押したら、サンプルゲームみたいなのが動いた。\nあとは以下のドキュメントを参考にいじってみよう\n\u003ca href=\"http://ws.cis.sojo-u.ac.jp/~izumi/Unity_Documentation_jp/Documentation.html\"\u003ehttp://ws.cis.sojo-u.ac.jp/~izumi/Unity_Documentation_jp/Documentation.html\u003c/a\u003e\n\u003ca href=\"http://gp-portal.jp/src/ippan/shoukaiPage.cfm?id=2255\"\u003ehttp://gp-portal.jp/src/ippan/shoukaiPage.cfm?id=2255\u003c/a\u003e\n \u003c/h2\u003e","title":"unity3d をインストールした"}]