コロナ石油ストーブ SX-C21 の、しんの交換について

替芯の型番は、本体説明書の記載通り、コロナ石油燃焼機器用しん SX-2270。

石油ストーブ自体の説明書には芯の交換方法は記載されてなくて、替芯付属の説明書に記載があるが、モデルによって構成が結構違うようで、SX-C21 は説明書記載とは異なる構成。

作業手順や注意点は、他サイト丸投げになるが下記ページが参考になる。

上記ページにも書かれてるが、既存の芯を取り出すところが説明書未記載、且つ一番の難所。ポイントは下記。

  1. やらなくてはいけないのは、芯を固定している火力調節用の鉄の棒を手前に引いて、芯を上に取り出せるようにすること
  2. 火力調節用の鉄の棒は手前に引けないように金具でロックされているので、この金具を上に引っ張って解除する。ロック解除とか大仰そうな感じだが、ロック用の金具が上に上がってないと鉄の棒が金具に微妙に引っかかって出てこないだけの話
  3. 鉄の棒は手で掴みづらいこともあり、素手で手前に引くのは結構厳しい。ペンチとかで掴んで引っ張ると楽
  4. 鉄の棒の先端付近のギアみたいなやつが芯から離れたら、芯を上に上げることが出来るようになる。上に上げるのは、芯の中心の鉄柱みたいなやつではなく、鉄柱の周りの芯なので、注意。布部分を掴んで持ち上げるのがシンプル

補足:点火ヒーターの交換について

芯に火が点かない場合、芯以外に問題になりそうな個所として、点火ヒーターの劣化がある。 点火して赤くなれば基本問題ないはずだが、問題ありそうならまずは点火ヒーターの交換を行った方が良いかもしれない(こちらの交換の方が全然作業楽なので)。

点火ヒーターの脱着は非常に楽。指で押し込んでから回せば取れる。

上が劣化した点火ヒーター、下が新品の点火ヒーター。コロナの点火ヒーターは基本昔から同じ部品を使っているらしい。

念のため、自分の芯交換作業内容を以下に記載しておく。

必要な工具:プラスドライバー、ナット外すスパナ

予め、給油タンクと乾電池は外しておきます。

真ん中の燃焼筒をまず外します。

外れた。

火力調節用の回すやつを、手前に引いて外します(鉄の棒に刺さってるだけ)。

ネジを外します。

横についてるネジも同様に外します。これは計4つ。

キャビネットを外します。

ネジを外します。

ネジを外します。

円形の枠(案内筒リング)みたいなのが外れるようになるので、外します。

ナットを外します。これは計3つ。

ネジを外します。

芯を囲っている物体が外れるようになるので、外します。この後の作業の邪魔にならないように、脇に避けておきます。電線が付いてるのでそれが邪魔で避け辛い場合は、電線を固定しているやつから外しておくと楽です。

SX-C21 だとこんな感じでプラスチックのやつが指で開く形式でした。

一番難しい作業。ロックを上にあげながら、ペンチで火力調節用の鉄心を手前に引いて、芯を押さえている鉄心を解除します。ガチャガチャとやりながら手前に引いてると、明らかに「ガコッ」と解除されたような手応えがあると思うので、そうしたら芯を上に引けば簡単に上がります。少し上げてもビクともしない場合は、たぶん火力調節用の鉄心がちゃんと解除できてないと思われる。

見え辛いけど、下は解除されてる状態。

芯を上にあげると、こんな感じで抜ける。

古い芯を外して、新しい替え芯と差し替える。火力調節用鉄心が入っていたところの上に、芯の切り欠き部分が来るようにセットする。

後は、逆の作業を行って組み立てて完了。逆の作業の場合も、火力調節用鉄心でロックするのがちょっと大変かも。消化位置が一番上に来るはずなので、そこに合うようにセットする(その際、再度ロック解除と同様の鉄心引きが必要かも)。なお、火力調節用の鉄心の向きに注意する。最初と違う角度で入れてしまうと、最悪もう外せなくなるかもしれない。

ASP.NET MVC のユーザー入力値項目について

MVC のユーザー入力値項目は、基本的には全てモデルで受けて処理するようにする。 その上で、モデルの各プロパティに対して Required, StringLength, RegularExpression 等の DataAnnotation を使って、入力制限をかける。

また、既定で危険な可能性のある文字は入力されるとアクションメソッドが呼ばれる前に MVC で例外発生するので、必要に応じて ValidateInput(false) 属性を付加して無効化する。

ThinkPad で 2100: Detection error on HDD0 (Main HDD) 発生時の対応

ThinkPad T530 に SSD を繋いで使用していたが、1 ヶ月ほど使っていなかった状態から久し振りに起動しようとしたところ、PC 起動時に「2100: Detection error on HDD0 (Main HDD)」と表示されて Windows が起動しなくなった。 その時試した方法と、最終的に起動に成功した方法について説明。

詳細な状況

  • PC 起動時に「2100: Detection error on HDD0 (Main HDD)」と表示されて、Windows が起動しない
  • その後、画面のメッセージに従って ESC キーを押して進めても、ブート方法を SSD 以外から選ぶメニューしか表示されず、解決にならない
  • BIOS メニューに入る前の判定のようで、F1 キーを押しながら起動しても、BIOS 画面ではなく本エラーメッセージが表示される(BIOS 画面に入れないわけではない。後述)
  • 10 回以上起動しなおしを試したが、状況変わらず

ネットで調べて分かったこと

  • このメッセージ表示は OS が起動する前と言う事もあって、ThinkPad 固有のエラーメッセージの様子
  • ネットの情報を見る限りは、SSD が壊れて発生している可能性は低い様子
  • ThinkPad 起動時にディスクからの応答を規定時間以内に検知できないとこのエラーが発生するらしく、その応答検知のタイミングがシビアなので、誤検知に近い形でこのエラーが発生することがあるらしい
  • その為、何度か起動を試すと、起動する事もあるらしい(自分は駄目だったが)

ネットの情報を基に試したけど駄目だった方法

  • バッテリーの抜き差し(何でこれで直ることがあるのかも不明)
  • BIOS 画面を起動して、何もしないで抜ける。上述したように F1 キーを押下したまま電源を入れても本エラーが発生するが、その後 ESC を押して進めると、BIOS 画面に入ることが出来る
  • SSD を一度取り外して、接続コネクタ部の埃を取った後、再度接続(実際には接続コネクタ部に埃はほとんどついてなかった)

最終的に起動に成功した方法

以下の動画を基に F10 を押しながら電源を入れて Lenovo diagnostics を起動し、Storage test を行ってから再起動したところ、Windows 10 が正常に起動するようになった(その後は同様の問題発生していない)。

2100 DETECTION ERROR ON HDD - YouTube

具体的な流れは以下。

  1. F10 を押しながら PC 起動
  2. 本エラーメッセージが表示されるので、ESC 押して進める
  3. ブートに関するメニューが表示されるので、右タブの「Application Menu」を選択する。F10 を押しながら起動した場合、このメニューに diagnostics の項目が追加されているので、それを選ぶ
  4. Lenovo diagnostics が起動したら Storage test を行い、完了したら、ツールを終了してマシン再起動する。自分の場合は以下のように Drive self-test が Not applicable (非適用) だったが、結果的には関係なかった様子

f:id:poke_dev:20181230165355j:plain

Windows 10 が起動した時の状況を見る限り、Windows Update で自動更新・自動再起動が発生したようで、その時の再起動から本問題が発生した様子だった。

ASP.NET MVC のリダイレクトについて

リダイレクト方法は主に以下の 2 つ。

  1. Redirect("URL パス")
  2. RedirectToAction("アクション", "コントローラー", [エリア名など])

基本的には全て、RedirectToActionメソッドを使えば良い(エリアも考慮されるので)。

ただこれだと、ルーティングで defaults に設定された URL へのリダイレクトは当該 URL ではなく、ルートの URL に変換された後、リダイレクトされる。

そうではなく、指定した URL へリダイレクトさせたい場合は、Redirect メソッドを使えば変換されずに当該 URL でそのままリダイレクトされる。

エクセルを使った SQL DB データ登録用の DML 作成

対象テーブルのレイアウトは以下と仮定。

CREATE TABLE [dbo].[Table_1](
    [col1] [nvarchar](10) NOT NULL,
    [col2] [int] NOT NULL,
)

エクセルでデータ入力し、最終列に以下の数式を入力(数式の入力列は、予めセルの形式を「標準」にしておく)

="INSERT INTO [dbo].[Table_1] ([col1], [col2]) VALUES (N'" & B2 & "'," & C2 & ");"

f:id:poke_dev:20181223165253p:plain

※ 文字の置換とか NULL 設定とかは、適宜エクセル関数を使って対処する

ASP.NET MVC の TempData について

ASP.NET MVC の TempData は Session とは分かれているため、例えば Session.Clear メソッドの実行は TempData には影響しない。

但し、使用するセッション ID は同じなので、Session.Abandon メソッドを実行すると Session, TempData 共に無効になる。