2017/07/14

Recent entries from same category

  1. .NET Core 3.0 が gRPC をサポートした。

結構前から、そろそろ .NET Core を使ったお仕事とかやっていきたいなと思っていて、その際に Linux でちゃんと動くのかを確認しておきたかった。ただインターネットを見てもそれほど良い情報が見当たらず、これは誰も試してないのかもなと思い仕方がないので自分で作って体験してみる事にした。

GitHub - mattn/dotnet-blog

README.md dotnet-blog Markdown friendly blog engine inspired with Jekyll written in Microsoft .NET C...

https://github.com/mattn/dotnet-blog

Markdown で記事が書けて、Jekyll と同様に Liquid でテンプレート制御が行えて、さらに Git と連携するブログエンジンです。

ディレクトリ構成は Jekyll とほぼ同じで、_posts2017-07-13-タイトル.md の形式のファイルを置いたら勝手に _layouts の中のテンプレートが適用されてかっちょいいサイトで表示されるという物です。設定ファイルも _config.yml に書きます。

title: "塩梅ドットコム"
base-url: "http://mattn.apphb.com"
clone-url: https://github.com/mattn/dotnet-blog-posts.git

この clone-url に書かれたリポジトリから、_posts_layouts および _site といったファイルを git pull してローカルに展開します。サンプルのリポジトリも置いておきました。

GitHub - mattn/dotnet-blog-posts

Dismiss Join GitHub today GitHub is home to over 20 million developers working together to host and ...

https://github.com/mattn/dotnet-blog-posts

一度デプロイ出来たら、あとはこちらのリポジトリを更新してサイトの /pull に POST を送ると更新されます。この仕組みはもしかするといずれ変更するかもしれません。

トップ画面

トップ画面や

記事の画面

記事もきちんと表示されます。

とまぁ、こんな感じのブログエンジンを書いてみた訳だけど、実は今回はあえて Vim を使わず全て Visual Studio Code だけで開発を行った。これは仕事で使っていくなら僕だけじゃなく IDE を使いたい人がどの程度苦労するかも把握しておきたかったから。Visual Studio Code の C# 開発環境は以前まではそこそこ酷くて、まともな開発なんて出来ないんじゃないのって思ってたけど今回の開発でそのイメージは一蹴された。あの小気味良い軽快な動作をするエディタの様な IDE 上で、dotnet の restore やブレイクポイントを貼ったデバッグ、入力補完などほぼ問題なく扱えた。

また Windows で開発すると同時に Linux でも動作検証を行った。今回使った DotLiquid や CommonMark などは netcoreapp1.1 (.NET Core 1.1 ターゲット) でも問題無く使えていたし、publish して IIS 上で動作する事も確認出来た。気を付けないといけないのは、パス周りは「必ず」Path.Combine などを使うという事くらいだった。当初は 2~3 日くらいでこの検証を行う予定だったが、ちょっといろいろと忙しく1週間程度掛かってしまった。けれど開発の手順に慣れれば数日でそこそこ品質の良いマルチプラットフォーム向けのウェブアプリケーションを開発する事も出来るという結論に至った。まだテストスイートやインフラ周りで問題が無いかちゃんと検証できてないのでいきなり仕事で使おうとは思ってないけど、そこそこ近い未来で使う時が来るんじゃないかと思った。

Posted at by