旧ソーサリーフォースサイトは閉鎖いたしました

事前に当ブログ、また旧サイト(sorceryforce.com)において告知しておりました旧ソーサリーフォースサイトは 11/30 をもって閉鎖いたしました。今までご利用いただいた方々ありがとうございます。

旧サイトのコンテンツの大部分はすでに新サイト (sorceryforce.net) に移行しておりますので、旧サイトのコンテンツはそちらをご覧ください。

また、ドメイン sorceryforce.com については新サイトを参照するように変更しております。今のところ利用不可にする予定はありませんのでそのままご利用いただけます。

sorceryforce.com_2020-11-29

サイト sorceryforce.com と sorceryforce.netとの統合について

現在メインで運用している sorceryforce.net の前のバージョンのサイトとして sorceryforce.com を運営しておりましたが、近いうちに sorceryforce.net へ統合する予定でいます。

image

ドメイン「sorceryforce.com」は今後も使用していきますが、基本的には sorceryforce.net にリダイレクトする形になると思います。2つのサイト間で構成はまったく異なるので、同一コンテンツへのリダイレクトはいたしません。

sorceryforce.com に掲載していた記事やコンテンツについては順次 sorceryforce.net に移行しています。大部分のコンテンツは移行する予定ですが、移行が不可能なもの (掲示板など)、コンテンツとしてすでに用途がないものは移行いたしません。基本的にはほぼ移行いたしますので sorceryforce.com を利用していた方も安心できるかと思います。

閉鎖 (統合) の時期については「2020/11/30」を予定しています。

ちなみに sorceryforce.com を閉鎖(統合)する理由としては、

  • コンテンツがほぼ静的 HTML で制作している。(一部は CGI あり)
  • HTML の構成が古く、最新のブラウザでレイアウトが崩れる。静的 HTML なので修正が面倒
  • sorceryforce.com とsorceryforce.net の運用目的が同じなので、結局コンテンツは sorceryforce.net の方のみ更新となってしまう

などがあります。いずれもネックな内容でしたので今回の統合への運びとなりました。

今後もホームページの運営は続けてまいりますのでどうぞよろしくお願いいたします。

ホームページ運用サイトの新サイトへの移行予定について

現在 Web サイト「ソーサリーフォース」を「http://sorceryforce.net/」で運用していますが、運用を開始してから9年ぐらい経ちました (まあ、最初の2年ぐらいはほぼ放置してたんですが…)。

5年10年経つと Web の仕組みがどんどん変わっていき、当時のスタイルに合わせて構築していたものも古くなってきたので新しくサイトを作り直すことにしました。

とはいうもののまったく新しいサイトというわけではなく現サイトのリプレースみたいな形なのでサイト名も変わっておりませんし、レイアウトも少し変えたぐらいになっています。

新しいサイトの URL は「https://core.sorceryforce.net/」なんですが、現在仮運用中なので順次移行を行っていき、完了したら最終的には「https://sorceryforce.net/」に戻す予定です。

ちなみに新しいサイトでは何が変わったかというと、見た感じでは分からないですが以下のものを作り直しています。

  • 見た目を少し変更 (流行に合わせているわけではありません)
  • HTML5 に準拠 (可能な限り)
  • CSS3 に準拠 (可能な限り)
  • 参照クライアントライブラリをバージョンアップ
  • ほぼ HTTPS 対応 (現在 HTTP はつながらないようになっています)
  • Web エンジンを ASP.NET から ASP.NET Core に変更

内部的なところは大きく変えていますが、閲覧者には関係ないところなので割愛します。まだ構築中なところもあるのでうまく表示されなかったりリンクがおかしい、見た目がおかしいところがあったりしますが、順次修正していきたいと思います。

当面は2つのサイトで運用しますが、統合後「https://sorceryforce.net/」に戻しますが「https://core.sorceryforce.net/」でもアクセスできるようにはしておきます。

]]>

ホームページサーバーを移転しました

以前お知らせしたとおり、ホームページを運用しているサーバーを移転しました。ドメイン(sorceryforce.net)はそのまま流用していますので、ページへのアクセスについては特に変わらず、今まで通り参照することが可能です。

ただ、ブログについてはアドレスが「http://sorceryforce.net/wordpress/」から「https://blog.sorceryforce.net/」に変更となっています。これについても前の投稿で書いた通りなんですが、アプリケーションサイトの中に WordPress のサイトを作っていたので、これを別サイトに独立させて作りました。アドレスが変わってしまう問題がありますが、リダイレクトさせるようにしたので問題ないはずです。

一応移転は完了したのですが、全ページ見まわしたわけではないので、もしかしたら不具合があるかもしれません。また、ブログについては一部のページで画像が表示されない可能性があるかもしれません。何かあればブログのコメントか Twitter などでお知らせください。

ここから移転についての余談になるのですが、ホームページを移転する際は、先に移転先に同じサイトを構築しておいて、動作確認が終わったらドメインの参照先 IPアドレスを変えるという方法を考えてました。実際にそう行ったのですが、想定外だったのは参照先の IPアドレスを変えるために DNS を変更したのですが、あれって即座に反映されないんですね。ドメインを新規で登録すると割と早くアクセスできていたので、同じ感覚で切り替えられると思っていました。

で、実際にやってみたら最長で2日間ぐらいかかって、最初は何が原因で繋がらないのか全く分かりませんでした (500 エラーとか出る)。まあいろいろいじったりしていたら PING が送る先の IP アドレスがまだ変わってないことが分かったので、とりあえず待つことにしました。

意外と興味深かったのが、アクセスする PC によって同じタイミングでも接続しようとする先が違うことでした。ある PC はすでにアクセスできるようになっていたり、とある PC はまだだったり、さらにはルートドメインは正しい IPアドレスを指すのに、サブドメインは前の IPアドレスを指していたりと、どういう仕組みになってるんだろうなと思いました。

とりあえず移転は完了したので、その間ブログに書けなかった内容を後で書いていきたいと思います。

]]>

JSON テキスト整形 Web アプリ作りました

.NET Framework の標準機能でオブジェクトを JSON にシリアライズすると、改行やインデントのない1行の JSON テキストとして出力されるのですが、さすがにそのままだと見づらいので、プログラムで JSON テキストを解析して改行やインデントを付加し、見やすくしてたりしていました。

というのをずっと前に実装していたのを忘れていて、この機能ほしいなーと思っていたら、そういえばなんかそういうの作ったことあった気がするなー、と思い出しました。

ほかのサイトでも JSON の整形をやってくれるところはあるのですが、せっかくメソッド1個呼べば整形できるプログラムがあったので自サイトにもあってもいいかなと思って作ってみました。

とりあえず仮で作ったのでβ版開発室においてあります。本アプリとしてリリースするかはまだ決めていませんが、使ってみたい方は使ってみてください。

使い方は簡単で、JSON テキストを入力テキストエリアに張り付けて変換ボタンを押せば出力テキストエリアに整形された JSON テキストが出力されます。

変な形式でなければたいていはきちんと出力されるはずです。変な形式だと変なテキストが部分的に返されるはずだと思います。特別構文のチェックを行っているわけではありません。

]]>

ホームページ「sorceryforce.net」の実行環境を変更しました

内部フレームワークを変えただけなので見た目とかは特に何も変わっていません。

開発環境を Windows 10 や Visual Studio 2015 に移行したりしていたのですが、ついでなのでホームページを動かしている ASP.NET の中身もいろいろバージョンを上げてみました。もし挙動などがおかしければコメントいただけると助かります。(WordPress 側は特に変えてないのでブログのほうは大丈夫だと思います)

一応変えてみたものは次の通りです。

  • ASP.NET 4 → ASP.NET 4.5.2
  • .NET Framework 4 → .NET Framework 4.5.2 (サーバーがいつの間にか 4.5 対応していたので上げました)
  • Entity Framework 5 → Entity Framework 6.1.2 (4→5 みたいに API 変わってなくてよかったです)
  • jQuery 1.8.2 → jQuery 1.10.2

ただ、Web サーバーのほうが権限の問題で Roslyn を使おうとするとアクセス権エラーが発生してホームページがまったく動かなかったので、web.config から「system.codedom」を抹消して使用しないようにしました。というか自作サーバーでテストしていたときは普通に動いていたのに、いざ本番ホームページサーバーにあげたら不明なエラーが発生して動かなかったので結構焦りました。一時期ホームページが開けなくなっていたのはこのためです。

ちなみに、作り直す前のプロジェクトを VS2013 から VS2015 に移行した時に図のような警告が出ていたので、SQL Server 2012 Express LocalDB を入れようかと思ったのですが、新規に作り直した時に認証系などをすべて外したので警告は出なくなりました。

2015-09-09 20_17_36-Microsoft Visual Studio

]]>

sorceryforce.net の多言語対応仕様を変更しました

気づいていた人はあんまりいないと思いますが、Web サイト「sorceryforce.net」では複数の言語で表示できるように構築していました。今回その動作仕様を変更しています。

今までは多言語対応は以下のようにしていました。

  1. HTTP ヘッダーで送信される言語情報によって表示される言語を切り替えていた
  2. クエリパラメータに「lang=XX」を追加することによって環境に依存せずに表示言語を切り替えられるようにしていた

しかし、上記の対応ではいくつか問題がありました。

まず 1 についてですが、ユーザーが意識せずに表示言語が自分の環境に合わせて変更されるというメリットがあるのですが、SEO 観点からみると、どんなに複数の言語に対応されていたとしても URL は一つであるため、言語数分の評価がされないということです。基本的には日本語がメインなのですが、代わりに英語で評価されたとした場合にコンテンツ力が低いとみなされると「http://sorceryforce.net/」の評価が下がってしまい、同時に日本語サイトとしての評価も下がってしまうことになります。

2 についても SEO 観点から見た場合、クエリパラメータによる多言語対応はあまり評価対象にはならないようです。

上記の理由から今回以下のように多言語対応の仕様を変更しました。

  1. 言語の変更は URL のドメインの直下で指定するようにした
  2. URL で言語を指定していなかった場合は、HTTP ヘッダーで指定された言語のページにリダイレクトする

1 については前の仕様のクエリパラメータによる言語指定をパスに移動させた形になります。これにより、言語単位で URL が決定するので SEO に対する評価も言語単位になります。クエリパラメータで指定した場合とどれぐらい評価が違うのかといわれると定かではありませんが、URL の見た目的にもユーザーに分かりやすい形になっていると思います。URL の言語部分を変えれば表示される言語も変わります。たぶん大手のサイトとかもこの形式を採用しているところが多いです。

2 については言語が、指定されていなかった場合、日本語がメインのサイトなので日本語のページを表示させようかと思いましたが、正直、URL に対して言語指定ありなしで言語表示を分岐させるのがめんどうだったのでやめました。また、せっかく英語環境で見に来ても日本語で表示されるとみてくれない可能性もあるので、そうであれば対応する言語のページに飛ばした方が有意義かなと思いました。URL を変えずに表示言語を変える方法は前回の使用の 1 に該当してしまうのでやっていません。

上記変更に伴い、せっかくなのでユーザーが言語を変更できるようにページの左側に言語を選択できるドロップダウンをつけてみました。これでいちいち URL を変更せずに直接見たい言語を選択できるようになりました。また、前の仕様ではページを切り替えるたびに URL で再度言語を入力しなければいけませんでしたが、今回の修正に伴い、表示されている言語のままほかのページへページングできるようにもしました。

 

さて、ここまでの話でなんだか大がかりな変更をしているようにも思えるかもしれませんが、実は中身のコンテンツに対してはあまり多言語対応していません orz。特に Tips 系は日本語のままなのでどうしようかなと思っています。実際 HTML の多言語化をどうすればいいのかなーと悩んでいる段階です。まあ、コンテンツについてはおいおい対応していきたいと思います。

]]>

ホームページ(sorceryforce.net)の障害の対応終わりました

2014/08/05 23:50 ころにホームページの方を復旧いたしました。

原因については前の投稿の通りデータベース破損によるものでしたので、サーバー管理者に削除してもらって作り直しました。

ほんとは最近のバックアップがあればそれをリストアして完了の予定だったのですが、2月ごろにバックアップを取って以来、まったく取っていなかったという失態を犯してしまっていたため、どうしようかと少し悩んでいました。orz

とりあえずローカルにはホームページとほぼ同じテーブルレイアウトを保持していましたので、いったん2月のバックアップDBをリストアし、ローカルからサーバーへのテーブルレイアウト同期 SQL を発行しエラーが発生しないように修正、更新履歴等必要な情報を一括アップロードしてとりあえず問題なく動いている感じがします。

もしなにかおかしな挙動をしているようであればブログにでもコメントください。

余談:Outlook の予定表にバックアップスケジュール入れていたんですが、2月ごろからまったく通知されなくなったんですよね・・・。

]]>

ホームページ(sorceryforce.net)の障害について

2014/08/05の朝あたりからホームページ(sorceryforce.net)を閲覧するとエラーページが表示される状態になっております。

原因としてはデータベースに障害が発生しており、データベースの入れ替え作業が必要なのですが、おそらく作業は深夜あたりになりますのでそれまでお待ちください。

※ホームページとブログでは別々のデータベースを使っているのでブログ側は問題なく動いてます。

]]>

ちーたんつ~るず 始めます

最近はあまりツールやゲームを作ることがなく、ホームページをちょろっとメンテするぐらいだったので、ひさびさになんか作ろうかなーと思いました。ただ、本格的なものを作ろうとするとそれなりの時間がかかってしまうし、途中で飽きたり挫折したりする可能性もあるので、自分が作りたいものを規模の大きさに関わらず気ままに作るつもりです。基本的に誰かのために作る、というよりは自分が欲しいから作る、というスタンスです。ただ、自分しか使わないのももったいないので、他の人にも使えそうなものがあれば公開していこうかと思います。

さて、ツールを公開するにあたり、ちょんプロ(ちょっとしたプログラム)みたいなものを公開してもなんか素っ気ないので名前を付けることにしました。その名も「ちーたんつ~るず」です。「つ~るず」は Tools をひらがなにしたものです。「ちーたん」は以前作っていた Windows Mobile 用の Twitter クライアントの名前から持ってきました。Windows Mobile のサポートも終了したため開発の方もやめてしまいましたが、それなりに使われたツールであり、そのままなくしてしまうのももったいなかったので名前だけでも今回採用しました。

前述したとおり、ちーたんつ~るずは私が気ままに作るツールなので、誰向けに作るというものではありません。多くの人に使えるツールである場合もありますし、ものすごく限定された人しか使わないようなツールである場合もあります。何を出すかはその時の気分次第です。

どんな環境で動かせるの?

基本的には .NET Framework で作ったツールになるので Windows デスクトップ用になるかと思います。ストアアプリ版を作る可能性もあるかもしれませんが、あちらは申請とかいろいろ面倒なので、気ままに作れるデスクトップ向けツールになるかと思います。場合によっては Web ツールになる場合もあります。その場合は sorceryforce.net のβ版開発室で公開することになるかと思います。

でもお高いんでしょう?

気ままに作ったツールなので、そこからお金を取ることはありません。ツールによっては広告を入れるという場合もあるかもしれませんが、利用者がツールを使うにあたって直接お金を支払うということはありません。アプリの購入やアプリ内課金もありません。

何を作るの?

ここまで書いたのだからなんか出すんだろうと思われますが、はい、まずは第1弾を公開する予定です。詳しい内容についてはツール公開時に書きますが、ほぼほぼできているので週末あたりには公開できるかもしれません。バージョンは 0.01 ですが、なんだかんだいって当初予定していたもの以上の機能をいれてしまったので、Ver 0.10 ぐらいでもいいんじゃないかと思ってます。一応 Windows デスクトップ向けのツールです。デスクトップ向けといってもタブレット向けです。とりあえず内容はお楽しみということで。

]]>