dotNetConf 2015 Japan with JXUGに参加してきました
参加してきました。
セッション内容は以下が主な内容でした。
どれも面白い内容でした。
特に竹原貴司(@takepara)さんのセッションは話し方が独特でものすごく引き込まれました(笑)
個人的に年明けにASP.NET vNextについてはちょこっと調べていたりしていましたが、今日聞いた限り、VS2015Previewのプロジェクト構成が変更されたり、プロダクト名が変更されたり、半年も経っていないのにまだ大きく動いているようです。
.NET 2015関連技術のセッションでしたが、すべて開発中のものが多く、まだどうなるかわからない感が強い印象がありました。
登壇者の方もそんな事を話されていて、どうなることやらと話されていました。
年内は厳しいのでしょうか。
Windows10リリース時点では.NET Framework 4.6にもならないのかな。。 VisualStudio2015が出るタイミングになりそうな気がします。
.NETでの開発をこれから始めるので、採用する技術についてもう少し将来性をウォッチしていきたいなと思います。
あとASP.NET5ではVisualBasicがサポートされないらしいのでオワコン感を感じました。ほとんどC#のみの話題でしたし。
ただRoslynでは対応しているみたいなのですぐ無くなることはないでしょうけども。
関連ツイートまとめられた内容はこちら togetter.com
.NET開発テクノロジ入門 2014年版 を読んだ
.NETは業務でASP.NET&VisualBasicで利用していたけれど、バージョン4.0とかまでだったので最新技術をキャッチアップするために購入を決めて読んだ。
.NET開発テクノロジ入門 2014年版 VisualStudio2013対応版 (MSDNプログラミングシリーズ)
- 作者: 酒井達明,山田祥寛,小高太郎,中原幹雄,芝村達郎,和田健司,日本マイクロソフト株式会社エバンジェリストチーム
- 出版社/メーカー: 日経BP社
- 発売日: 2014/06/04
- メディア: 単行本
- この商品を含むブログ (4件) を見る
感想
ASP.NET MVC、Web APIがメインの内容だったと思う。 すでに1年近く前の本だけど、知っているところは復習になったし、知らないところはしれてよかった。
細かいレビューは後日書く。
自作PCを組む
WindowsのノートPCのバッテリーがだいぶヘタってきていたので、年末にMacBookPro with Retina 13inchを買って、快適な生活を送るようになったが、自宅にWindows機が稼働しなくなったため、新たに自作しようかと思う。
とはいえMacBookを購入したお陰でクレカの請求がすごいことになっているため、必要最低限で考える
■今考えているスペック
- CPU : Core i5以上
- マザーボード:こだわりなし
- メインメモリ : 8GB以上
- グラフィック: CPU統合グラフィック
- ストレージ1:ノートPCに積んでいたSSD(OS入り)
- ストレージ2:データ保存用にHDD
- 安いPCケース
- 電源:こだわりなし
- モニタ:自宅にあるもの21インチ?
価格.comで調べてみる
まずはCPU
次にマザーボード
メインメモリ
ストレージ
とりあえずはなし ノートPCで使っていたSSDを移管予定
PCケース
電源
この記事を書いている時点では、合計約5万円。
うーん。
Microsoft.AspNet.Hostingについて
Max OS XでASP.NETを動かす - takeman's blogをやってみて気になって調べてみた
Windowsだと通常IIS上でローカルサイトを構築するんだけど、今回のMac上だとk web
やk kestrel
コマンドでMicrosoft.AspNet.Hosting
を利用してローカルサイトをホスティングしてるようだった。
Home/samples/HelloMvc/project.json
{ "dependencies": { "Kestrel": "1.0.0-beta1", "Microsoft.AspNet.Diagnostics": "1.0.0-beta1", "Microsoft.AspNet.Hosting": "1.0.0-beta1", "Microsoft.AspNet.Mvc": "6.0.0-beta1", "Microsoft.AspNet.Server.WebListener": "1.0.0-beta1" }, "commands": { "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5001", "kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5004" }, "frameworks": { "aspnet50": {}, "aspnetcore50": {} } }
探したらやっぱりMicrosoft.AspNet.Hosting
名前空間のソースコードもgithubに置いてあった
Main関数は今度じっくり読む
Hosting/Program.cs at dev · aspnet/Hosting · GitHub
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; using System.IO; using System.Threading; using System.Threading.Tasks; using Microsoft.Framework.ConfigurationModel; using Microsoft.Framework.DependencyInjection; using Microsoft.Framework.DependencyInjection.Fallback; using Microsoft.Framework.Logging; using Microsoft.Framework.Runtime; namespace Microsoft.AspNet.Hosting { public class Program { private const string HostingIniFile = "Microsoft.AspNet.Hosting.ini"; private readonly IServiceProvider _serviceProvider; public Program(IServiceProvider serviceProvider) { _serviceProvider = serviceProvider; } public void Main(string[] args) { var config = new Configuration(); if (File.Exists(HostingIniFile)) { config.AddIniFile(HostingIniFile); } config.AddEnvironmentVariables(); config.AddCommandLine(args); var services = HostingServices.Create(_serviceProvider, config) .BuildServiceProvider(); var appEnv = services.GetRequiredService<IApplicationEnvironment>(); var hostingEnv = services.GetRequiredService<IHostingEnvironment>(); var context = new HostingContext() { Services = services, Configuration = config, ServerName = config.Get("server"), // TODO: Key names ApplicationName = config.Get("app") // TODO: Key names ?? appEnv.ApplicationName, EnvironmentName = hostingEnv.EnvironmentName, }; var engine = services.GetRequiredService<IHostingEngine>(); var loggerFactory = services.GetRequiredService<ILoggerFactory>(); var appShutdownService = _serviceProvider.GetRequiredService<IApplicationShutdown>(); var shutdownHandle = new ManualResetEvent(false); var serverShutdown = engine.Start(context); appShutdownService.ShutdownRequested.Register(() => { try { serverShutdown.Dispose(); } catch (Exception ex) { var logger = loggerFactory.Create<Program>(); logger.WriteError("TODO: Dispose threw an exception", ex); } shutdownHandle.Set(); }); var ignored = Task.Run(() => { Console.WriteLine("Started"); Console.ReadLine(); appShutdownService.RequestShutdown(); }); shutdownHandle.WaitOne(); } } }
TypeScriptを試す。
去年の初めにJavaScriptでちょっとしたプログラムを作っていて、TypeScriptにも目がいってしまったので試す。
試すにあたり結城浩先生のエントリが参考になった。
TypeScriptを実行するまでの流れ
- node.jsをインストール
- 「npm install -g typescript」でTypeScriptのパッケージをインストール
- .tsファイルをコーディングして作成
- 「tsc ~.ts」を実行しjsファイルにコンパイル
- 「node ~.js」で実行
module Greeting{ export class Hello{ constructor(private text : string){ } say() : void{ console.log(this.text); } } } var hello : Greeting.Hello = new Greeting.Hello("Hello, World!"); hello.say();
登録完了
インプットばっかりでアウトプットを疎かにしがちなので、ここに書いていく。