まだIT業界で消耗してるの? 😊ソフトウェア開発者のブログ

カテゴリー: サイト制作

サイトを ASP.NET Core + .NET Core で作り直しました

2016年2月23日

この Webサイトは、Umbracoで作っていましたが、ASP.NET Core(ASP.NET 5)+ .NET Core で作成し直してみました。Umbracoも拡張性が高くて悪くはないのですが、自分でプログラムを書きたい場合には自由度が小さくなるのとデバックの時には重くなるのが欠点でした。それで思い切って、作り直すことにしました。選択肢としては、ASP.NET MVC 5、ASP.NET Core + .NET Framework 4.6、ASP.NET Core + .NET Core の三つでしたが、思い切って NET Core + .NET Core にしてみました。

ASP.NET 5 については、スケジュールが変更され、名称も ASP.NET Core に変更になるということで、RC2 が出る直前になってドタバタしているようですが、実際使っていると問題点があることはわかります。でも、基本的なところはそれほど変わっていないし安定しているので使えないことはないです。

運用を始めたばかりで、切り替えの時に少し失敗してサーバーを止めてしまったこともありましたが、取りあえずは普通に動いています。Ubuntuサーバーの方でもテストしていますが、そちらも大きな問題はなく動作しています。

ASP.NET Core、.NET Core については、最近マイクロソフトから以下のブログが出て、方向性がよくわかるようになったと思います。

ASP.NET 5 is dead - Introducing ASP.NET Core 1.0 and .NET Core 1.0

An Update on ASP.NET Core and .NET Core

Porting to .NET Core

ASP.NET Community Standup – February 16, 2016

Porting MSBuild to .NET Core

コンパイラーが DNX から CLI に変更になるというのは賛成です。このサイトの発行時のファイルサイズは、約300MBぐらいで、その内runtimesが106MB、packagesが190MBです。runtimesの分は、ホストのOSにインストールされたランタイムを使う必要がなくなった代わりに必要になるもので、どんな小さなアプリにでも必要になります。packagesの分が大きくなっているのは、.NET Core だけでなく下の図のように Windows Phone 8 や Xamarin のものまで含まれているためです。Webサーバに関していえば、これぐらいのファイルサイズでも我慢できなくはないのですが、コンソールアプリケーションで 100MBというのはちょっと大きすぎだと思います。AOT(事前コンパイラ)をしてファイルサイズも減らして欲しいし、最初の起動時間も短縮して欲しいと思うし、コンソールアプリケーションだと、ネイティブコードにコンパイルして欲しいところです。 packages

.NET Core を使う上での支障は、ライブラリーの対応があまり進んでいないことです。「Porting to .NET Core」に書いてあるように、.NET Core でも System.Data、System.DirectoryServices、System.Drawing、System.Transactions、System.Xml.Xsl、System.Xml.Schema、System.Net.Mail、System.IO.Ports、System.Workflow、System.Xaml で、時間がなくて移行があまりできていないそうです。 そういう状況なので、サードパーティ製のライブラリーの対応状況は悪いです。

現状では、ASP.NET だと、ASP.NET Core + .NET Framework 4.6 という選択肢が現実的だし、UWP の方も windows 10 mobile が殆ど普及していないことや、デスクトップPCでも依然として主力は Windows 7 であることを考えれば、.NET Core を急ぐ必要はないと思います。

しかし、5年後を考えると .NET Core が必要というのは間違いないと思います。また、下の図は、Azure の VM の Linux と Windows の価格です。個人だとこれだけ価格に差が出てくると Linux の方を使いたいと思ってしまいます。それで、これからは、 Linux のことも書いていきたいと思っています。 azure

WordPress ばかり使っていないで Wix, Weebly, Tumblr も使ってみよう

2015年10月27日

日本のWebサイト制作では、WordPressが一人勝ちになっています。WordPressは優秀なソフトですが、猫も杓子もWordPressというのは行き過ぎではないかと思います。

ささっとWebサイトを作りたい場合には、Webサービスの方を使ってみた方がいいと思います。代表的なウェブサイトビルダーといえば、以下のようなものがあります。

Wix

デザイン性の高いテンプレートが揃っています。 Google検索で site:wix.com とするとかなりの数の Wix で作成したサイトが見つかります。例としては、久米島ホタルの会のWebサイトがあります。素人でも少し美的センスがあれば、結構見た目のいいWebサイトを作ることができます。PowerPoint を使える人であれば、間違いなくそれなりのサイトは作れると思います。

Weebly

Wix と比べると地味な感じのテンプレートが多くなっています。Wixと違ってHTMLとCSSでフルカスタマイズすることが可能なので、テンプレートに Bootstrapを使うことも可能です。地味な会社サイトを作りたい場合にはWixより適していると思います。Weeblyで作成したWebサイトの例としては、あま り有名なものはありませんが、site:weebly.com で Google検索をすると結構な数のWebサイトが表示されます。例えば、柏まちづくり文化賞というサイトがあります。これぐらいのWebサイトであれば素人でも少し HTML, CSS を勉強すれば作れるのではないかと思います。

Tumblr

映像や画像を多用するサイトとの相性がいいサービスで、今回の漫画「Tumblrでポートフォリオを作ろう(基本編)(1)」で紹介しています。漫画の中で紹介しているGAPのページはTumblrの特徴を上手に使っています。GAPのことをいえば、Pintrestの方にもGAPのページがありこちらの方でもPintrestの機能をうまく使っています。Webデザイナーであれば、WordPressを勉強するのではなくGAPのようなサイトを作るのも一つの方向だと思います。

WordPressは本当に安いの

Wixの有料プランの料金は、下の図のようになっていて、「無制限」の値引き前の価格で年15600円です。

Wix Price

それでも、WordPressユーザーには高いという人がかなりいます。そしてWordPressは無料で安いと言います。でも、WordPress を使えるようになるまでにいくら時間がかかるかの計算をしていないからそういうことがいえるのです。

石垣島ITブートキャンプが1ヶ月間でWordPressの作り方を習得するようです。それでも素人が1人で WordPress で WEB製作をできるようになるのはなかなか難しいようです。その期間の人件費と授業料を考えれば50万円~100万円ぐらいのコストにはなると思います。

また、Web制作を委託にだしてWordPressで作成してもらった場合も同じぐらいの費用が必要になります。それに、WordPressの場合、自社で運用するのが難しくて、年10万以上の運営管理費を制作会社に払っているところは多いと思います。

学習コストを考えると、年1万や2万というのは安いものです。

Weeblyは、本当に日本語フォントがない?

Google で Weebly と検索すると日本語でトップに出てくるサイトでは、以下のように書いてあります。

簡単なレストランのサイトを作ろうとしました。
作ろうとしましたが、断念しました。決定的な理由は簡単に言うと以下です。

  • 日本語フォントがない
  • モバイル版がいまいち

そのほかは、なかなか素敵です。

これでは、Weebly があまりにも可哀想です。

Weeblyでは、コントロールパネルの「フォントの変更」には確かに日本語フォントはありませんが、CSSを直接編集することにより、日本語フォントもちゃんと使えます。

「デザイン」のパネルを表示すると、「フォントの変更」の下には「HTML/CSSの編集」というボタンが一番下にあって、HTML/CSSを編集できることはすぐわかります。

Wix Price

それをクリックすると、下の図のようにHTMLやCSSの編集画面が表示されます。自分の使ってみたテーマでは、main_style.css がメインのスタイルシートになっていて、そこで、font-familyに日本語フォントを追加していってやるだけです。

Wix Price

それから、モバイル版もいまいちということはありません。レスポンシブルのテーマを使えば、モバイル版はきちんと表示されます。試しにWeeblyでページを作ってみましたが、それほど問題なく表示されています。

ブログの筆者は、わざわざレスポンシブルでないテーマを使っていますが、その場合は、PC版とモバイル版のヘッダー画像が別のものになるというのが仕様のようです。その場合でも、同じヘッダー画像にしようと思えば、PC版もモバイル版もヘッダーなしを選択して、自分でヘッダーを作れば大丈夫です。

ブログの筆者が言うようにWeeblyは「なかなか素敵」です。

 

短時間で大量のアクセスがあったけど、どう対応する?

2014年6月27日

最近、テレビ番組のクイズの関係で自分の Webサーバーに短時間で大量のアクセスがあったので、その時の様子を参考までにメモをしておきます。アクセスについてはスマートフォンからが殆どで、テレビを見ながらスマートフォンを使っている人が多いようです。

下の図がそのアクセスの状況をグラフにしたもので21時56分には、1分間で3,500PVもの処理をしていました。時間に直すと21万PVなので、月1千万PVのアクセスにも余裕で対応できそうです。

image

 

最近は、スマートフォーンの普及でいつどこからでもアクセスできるようになったので、テレビやSNSで話題になったことをすぐにアクセスする人が増えており、短時間にアクセスが集中する傾向が強くなっています。

こういうアクセスにどう対応するかですが、今回も2分間だけのアクセスなので、あらゆる場合に対応するというのはコストからいって無理なように思います。でも、短時間で多くのアクセスが一気に来るような事態は今後増加していくと思うので、レスポンスタイムを短くするとか、時間のかかる処理を改善しておくとかいう日頃の努力が重要だと思っています。

サーバー等のスペック

サーバー: AWS m1.medium
サーバーOS: Windows Server 2012
使用しているソフトウェア: ASP.NET MVC 4, Umbraco

この時の CPU の負荷を CloudWatch で見ると最大で70%になっています。

image

Umbraco 7.1 を使ってみた

2014年4月17日

Umbraco 7.1.1 が公開されています。Umbraco 7 で動作するパッケージも増えてきたし、Umbraco 7.1の公開でシステムの方も安定してきたように思います。そのためか、Google トレンド(下の図)をみると、最近Umbracoは人気度が伸びています。

image

しかし、日本では全く使われていないようです。Niels が下の図のとおり4月9日のインストール状況をツイートしているのですが、日本はゼロでした。

image

それで、久しぶりに Umbraco のことを書いてみます。Umbraco 7 では、以前と比べるとインストーラーや管理画面がスマートになっています。それから、Azure Web サイトを使うとインストールも簡単です。Microsoft Azure へのインストールのメモも作成しました。

このサイトを Umbraco 7 にアップグレードしようと思ったのですが、uCommentsy が Umbraco 7 に対応していないということでやめて、ecitizen.jp の方をアップグレードしてみました。インストールの途中でデータベースの更新エラーが発生しましたが、Umbraco のフォーラムに丁度その問題の記事があったので、その記事の最後にある SQL スクリプトを実行すると無事にアップグレードすることができました。Umbraco 4 の時にインストールした場合に発生するエラーのようです。Umbraco 7 にすると管理画面がよくなりました。

Umbraco 6 で 新 API の導入、Umbraco 7 では AngularJS を使った新管理画面の導入と大きなアップデートがあって、過去のパッケージが使えなくなりました。でも、使いやすくなったし、これで当分はこのような大きな修正はないと思うので、Umbraco を一度使ってみてください。

日本では、CMS は WordPress が人気で、SEO にもいいと言われていますが、ブログは、一度書いてしまうとその記事を修正するのは基本的には禁じ手です。だから、人気のある記事を同じ URL でアップデートしながら最新のものにしていくということができません。これは、SEO にとって非常に残念なことで、人気のある記事は Umbrco に移行させて、アップデートしていくのは SEO 的にみていい方法だと思います。

Umbraco 7 が公開されています

2013年11月30日

遅くなりましたが Umbraco 7 が公開されています。下の図のように管理画面の方が一新され、レスポンスがよくなって使いやすくなっています。

image

スターターキットの方も下の図のように HTML 5 のレスポンシブルのテーマに変更されています。デフォルトが WebForm から MVC に変更されたので、スターターキットの方も MVC になっています。

image

Umbraco 7 で残念なのは、Url に ASCII コードしか使えなくなったことです。日本語名でコンテンツを作成すると日本語部分が消された Url になってしまいます。日本語名でコンテンツを作りたい場合は、対応方法としては、Document Type に Alias が umbracoUrlName のプロパティを追加して、Url を ASCII コードで入力することで対応できます。具体的には、Setting セクションで、下の図のように、Document Types の Master に新規プロパティを追加します。その時に Alias を umbracoUrlName にしておきます。

image

そうすると、コンテンツのセクションで入力画面に下の図のように Url の入力項目が追加され、名前でなくここで入力された Url になります。この項目でも名前の場合と同じで日本語を入力しても Url の方では消されてしまうので、日本語名の Url は使えなくなってしまっています。

image

Umbraco Issues の U4-750 で、Stephan 氏が Unicode も Url で使えるように過去のルーティンも Umbraco Core に追加する。また、IUrlSegmentProvider をオーバーライドすれば自分で好きなように名前から Url を設定できるようになるといっているので、少しソースの方を調べてみようと思っています。