DEFY4のスプロケットを交換してみました

今回DEFY4のスプロケットを交換しました。
交換後は非常に良くなったので、消耗品の交換は躊躇しちゃいけないなと思った・・・・そんな話です。

[NEWスプロケ](http://www2.gyafuuuun.com/wp-content/uploads/2017/04/IMG_0757.jpg)

経緯

DEFY4を乗っていてギアを変えるとき特定のギアだけ違和感があって、ギアチェンジ後「チャリ・・・チャリチャリ」みたいな感じで音が出ていました。
その音は少しずつ大きくなっているようで気になっていたのです。

特定のギアというのはリアのロー側から2段目でいつも行っている自転車屋に聞きに行ったら

「アウターのとき下から2つ目まではキアチェンジしないようお願いしている」

との事。
Webで調べたらチェーンのたすきがけは良くないとのことで、アウターローは良くないと書いているページは多いものの

なんか釈然としないのでTwitterつぶやいてたら、ハクセン鳩ヶ谷さんが

ディレイラーハンガーは一月程前に変えたばかりなので、スプロケが怪しい。スプロケは4000km走って交換なしですし交換時かも?

ということで交換することにしました。

どのスプロケを買う?

DEFY4 2016にはSRAMのPG850の11-32Tが使われています。

http://www.giant.co.jp/giant16/bike_datail.php?p_id=00000042#specifications

このPG850の歯構成は11-12-14-16-18-21-26-32のようです。

今回交換したのはSHIMANO(シマノ)のCS-HG41 8S 11-32Tで歯構成は11-13-15-18-21-24-28-32です。

通勤用途だと大体重いギアでは18Tぐらいまで主に使うギアで、その上のほうはほとんど使いません。
今まで11Tは一回ですら使ったことがあるかどうか・・・。

また100kmぐらいのライドをすると体力なしの私は疲れて来て、21-32Tあたりのギアを多用するようになります。
そういうことを考えても軽めのギアの多いCS-HG41がいいかなと思いそちらを購入することにしました。

交換作業

https://www.riteway-jp.com/maintenance/mainte_37sproket.html

工具さえあれば、↑のような感じにやるだけでさっくりと終わります。
ちょっと最初力を入れないとなのでおっかなびっくりですが(;・∀・)

当初は自転車屋さんに頼むつもりでしたが自分でやって正解でした。

[NEWスプロケ](http://www2.gyafuuuun.com/wp-content/uploads/2017/04/IMG_0759.jpg)[NEWスプロケ](http://www2.gyafuuuun.com/wp-content/uploads/2017/04/IMG_0776.jpg)

むかーし、ESCAPE R3乗ってた時に使ってた工具を仕様しました。
10年ぶりぐらいに出してきたらめっちゃ錆とりました(´;ω;`)ウッ…

問題なく使えたのでよかったです。

また交換後はリアディレイラーの調整が必要なのかなとかちょっと思っていたのですが、スプロケの交換だけだったらリアディレイラーの調整なくても大丈夫っぽいですね。
変更後調整が必要かなとドキドキしてましたけど良かったです(笑)

交換後の使用感

なんでもっと早く交換しなかったんだろう・・・!

というのが今の気持ちです。
ほんと素晴らしいです。まず困っていたチャリチャリなる異音がなくなり精神的に楽になりましたが、何よりも漕いだ感じが非常に快適に。
この感覚をなんと行っていいのか、新品のスプロケはダイレクト感が違うの?すごく走りやすいです。

交換後、127kmのサイクリングしてきましたがこの距離私にとって初めてです。
後半はヘロヘロで軽めのギアでずっと漕いでいましたが、21T,24T,28Tの3つのギアを使って走っておりました。これが前だと21T,26Tの2つでしたのでギアの選択肢が一つ増えてありがたかったです。

普通のロード乗りの人だったらSRAMのほうが乗りやすいのかなぁなんて思わないでもないですが・・・どうなんでしょう?

最後に

ハクセン鳩ヶ谷さんには感謝です。
Twitterでのリプライがなければ当面放置だったかもしれません。
こう、何かお買い物とかで御礼出来ればなぁとも思うのですが、タイレルFXは結局地元の自転車屋さんで買ってしまいましたし。
なんか申し訳ない気持ちがw

こんな場末のBLOGで見てお客さんが増えるかわかりませんが、直接店舗行きいいお店だなと思いましたしTwitterでの対応もありがたくおすすめ出来るお店だと思います。
興味を持つ方がいたら是非。

〜飯能〜山伏峠〜西武秩父〜星音の湯(まで行けず)サイクリング

最近、二週間に一回ぐらいは100km弱ぐらいのサイクリングをしています。
今回は帰りは輪行でのサイクリングをすることにしました。

片道45kmぐらいから、片道90kmになると行動範囲がぐっと広がりますねヽ(=´▽`=)ノ
そんなわけで本日は以前から行ってみたかった西武秩父まで行ってみることにしました。

今回の目玉は初めてのヒルクライム・山伏峠と同じく始めての輪行でしょうか。

山伏峠まで

有間ダムのあるところまでは以前もサイクリングで行ったことありますし、また山伏峠の入り口である名郷まではハイキングで何度かいったことがあるのであんまりドキドキ感もなく普通に進みました。

鳥居観音

鳥居観音を見つけたりして、普段バス移動だと気が付かないところが新鮮で楽しいですね。
ただ地味に登りで少しずつ少しずつ体力が削られます。
名郷に来るときにはすでに「帰りたい」とかちょっと思ってました(;・∀・)

ちなみに途中も次から次えとロード乗りの人に抜かされています(汗)

山伏峠

なんか自転車の人がそれなりにいますな。
とりあえずトイレ行ったりパン食べたりしながらちょっと休憩をします。
すでにプチ疲れているので心配で。

山伏峠に関しては私が書くよりも
大東京ヒルクライム!さんの
ページを見て頂いたほうがいいと思います。

ページによってはギアはアウターのまま登る人がいるらしいと書いてありましたが、
この私は一度足をつきゆっくり5分ぐらい?休憩をしてようやく登りきれました。

山伏峠

アウターで登りきるって・・・信じられない。
みんなすごいなー。貧脚で検索したサイトのほとんどが貧脚詐欺で信じられない_| ̄|○

Stravaとかで結果を見ると下位20%ぐらい中にいるみたいです。

足もそうですが、それよりも息と心が負けた感じがします(;・∀・)
心拍計とかつけたほうがいいのかなぁとかちょっぴり思いました。

山伏峠のてっぺん〜西武秩父まで

ほとんど下りです。これがゴホウビか!と思いました。
途中、芦ヶ久保の道の駅で軽く休憩&食事をしたりと楽しい時間を過ごして西武秩父へ。
途中から国道299号線に入りますが交通量が多いです。
ダンプも通りますし気をつけたいところです(;・∀・)

西武秩父ではまずは特急電車を予約して、そこから温泉へ向かうことにしました。
そうそう西武秩父駅併設の祭の湯が今度オープンしますね。
建物はほぼてきているようです。

祭の湯

ここに気を取られたせいか、気が緩んだせいか、段差の乗り上げの際に転んでしまいました。

STI

STIレバーが曲がってるーΣ(゚Д゚)
これ治るのでしょうか。。。とか思いながら自転車を温泉まで走らせました。

9.5%

えと。9.5% Σ(゚Д゚)
疲れ切っていた私にとどめをさしました。とりあえず西武秩父に引き返し本日のサイクリングは終了しました。

途中、わらじカツ丼食べたくて、安田屋日野田店へ寄ったのですが人がものすごく並んでいて諦めてきました(´・ω・`)

輪行して帰る

西武秩父の駅前で輪行袋にしまうのですが、駅前は比較的広々としていますので作業場所には困らなかったです。
予めと旧予約の際に、輪行ではじめてなんです。といったら、車両の一番後ろの場所をとって頂けました。
券売機ではなく、窓口で購入するのが良さそうです。

輪行

一番後ろの席の場合、写真のように後ろに自転車を置きシートを倒して固定できます。
通常の電車より高いですけど、西武秩父から帰るときは特急で帰りたいなぁと思いました。

自転車のバラしも組み立ても、非常にまごまごとして解体組み立て共に20分以上かかった気がします。
駅に余裕を持って行ったのですが、ちょうどいい時間に。
また、輪行袋への入れ方が分からなくなって、iPadを開いてPDFを見ながら作業していました。
IT化バンザイw

まとめとか今後とか

ヒルクライムはつらいですが、色々なところに行ってみたいなぁと思っています。
ですので、これからも秩父方面は走ってみたいなぁと思っています。

同じ秩父へ向かうにしても、山伏峠から正丸峠、刈場坂峠を経由して行く道があるみたいです。
299号を使うより車通りが少ないので安心出来ます。
そのうち体力つけたらそちら経由で行ってみたいなぁとか。

輪行に関しては、なんとか出来たもののやっぱり個人的には700Cロードでの輪行はしたくないですね(;・∀・)
タイレルFX購入して納品待ちなので、今後はそちらが活躍するようになりそうですヽ(=´▽`=)ノ

行きたいところは多々あれど体力気力根性技術etcがないのがツライです。
鍛えるとかそーゆーハードなことは苦手ですが、ぼちぼちとゆっくりやっていきたいかな、と。

楽しくまったり行きたいんですがそのためには体力が必要だと思い、とても悩ましい気持ちになっています(;・∀・)

DAHONとタイレルとタルタルーガを試乗しました。

埼玉サイクルエキスポサイクルハウスしぶやさんの試乗会をはしごして
折りたたみ自転車の試乗をしてきましたヽ(=´▽`=)ノ

今回の試乗ではタルタルーガが良い意味ですごく印象的でした。その辺も含めてどんな感じだったかといいますと・・・。

DAHON MuElite

たぶんDAHONのスポーツ系折りたたみの最上位機種だと思います。
こちらは最上位だけあってお値段が約30万円します。
DAHONの折りたたみ自転車はリーズナブルというイメージがあったりするのですがコレは全然そんなことない・・・。

乗り心地

小径車は乗り心地良くないって聞くけど意外とそうでもないかな。少なくても20km強ぐらいでは問題なさそうです。
今乗っているDEFY4とあまりかわらない感じかも?

今回試乗した中で2番目に乗り心地が良かったです。一番はタルタルーガですが、あちらはサスペンションがありますので。

操作性

私にとっては普通のロードかなと。
ただ、ただ。テクトロのブレーキは止まる気がないなぁと再度思い知りました。

その他(感想)

DAHONといえば、タイレルとかに比べて折りたたんだときのサイズが小さいイメージがありましたがコレは違う・・・!
でかい!ドロップハンドルの折りたたんだ時にすごく邪魔になっている。

  • お値段がこの中で一番高い
  • フレームが中折する(DAHON全般そうですが・・・)
  • フロントシングル仕様
  • 折りたたみがイケてない

というのがあって残念ながら購入候補になりそうにないです。。。

DAHON MuSLX

ちょっと前までこれも候補でした。
軽いし、その割に売れていないのか特売っぽいのをチラチラ見たりしたのでw

乗り心地

振動とかは特筆すべきところが特にないというか。記憶にないというか・・・。
今回試乗して思いましたけど私が走る速度帯ではそんなに乗り心地悪いと思いませんでした。

ただポジションはフラットバーなので全然違いますね。
たぶんハンドルとシートの高さの調整である程度制御出来るのかなと思いますが、
試乗した時は体が思いっきり上がるんだけど、ママチャリとも違うしなんか走りづらかったです。

当たり前だけど、MuElite程走らない気がします。

操作性

やばい。なんか走り出しの時に安定しない。クイックな反応と言うべきなのでしょうか。
慣れればそうでもないのかもしれませんがふらっっとします。

タルタルーガではそこまでではないので、ステム長やハンドルの横幅の問題かもしれません。

その他(感想)

とりあえず、乗ってみて購入候補から外しました。
個人的にドロップハンドルの折りたたみがいいかもなぁと思いました。

Tartaruga Type SPORT DX, GT

試乗する前と後で印象がガラリと変わっった自転車です。
最初は大きいし輪行しづらそうだし、と思っていたのですが大きいぶん工夫されていました。
あと最上位グレード(DX)がフラット、その下(GT)がドロップハンドルという変わっている構成です。

乗り心地

このなかで一番乗り心地がいいです。
その割にふにゃふにゃしていなくて、長距離ライドしても疲れが少なそうですね。
タルタルーガの売りの一つであるサスペンションのおかげかなと思います。

操作性

フラットバーのDXでもMuSLXで感じたクイックさはそんなに感じませんでした。
ドロップハンドに関してはコントロールレバーはシマノではないです。その為、シフト操作に戸惑いがw

シフトボタンも硬かったので個人的には他のに変えたいかもしれません。
タルタルーガ買うならフラットバーのやつがいいかもですヽ(=´▽`=)ノ

その他(感想)

タルタルーガはスペックに現れないところが凄いと思っています。
この辺は話を聞かないとなかなかわからないものですね。

タルタルーガの折りたたみは2種類あるうちイージーフォールディングという形態を使うことが多いようです。
この場合、ブロンプトンのようなコロコロ輪行が可能です。
専用の輪行バッグを使うと、輪行バッグの一部だけを開いてコロコロ輪行が出来ます!!しかも閉じられるのでJRとかの持ち込みも大丈夫なんです!!

また折りたたんだサイズは大きいものの、奥行き?は他の折りたたみと大差なく実際の輪行にはそんなに影響しなさそうです。

荷物もたくさん積めますし、よく考えられているなぁという感想です。

Tyrell FX

もっとも予想と実際が変わらない自転車だった気がします。

乗り心地

ロード波でしょうか。20〜25km/hではうちのロードとあんまり変わらないかな?と思いました。
なんか特筆すべきことがない(;・∀・)

もしかしたらこれ以上だとロードとの差が出てくるのかもしれませんが、まぁその辺はしょうがないかなと。
元々貧脚ですし出来る範囲で走れればw
メーカーの人曰く100kmとか走る人とかおすすめですよみたいな事言っていたような気がします。

操作感

シフトレバーとかうちよりグレードがいいので切り替えがいい感じだった記憶があります。
うちコンポClarisだからこっちのほうがグレード高いよ、チクショウ(´;ω;`)

その他

全体的には一番ロードに近い気がします。
MuEliteをフロントダブルに出来ればソッチのほうがロードっぽい気がしますがお値段が高いのと、フレーム折るのが気に入らない_| ̄|○

試乗をしてみて

候補としてDAHONはなくなったかなぁと。
製品としてはよく出来ているとは思いますが私の趣味と合わないというか(笑)

現時点ではTyrell FXが現状に一番沿ってる気がします。
週末だけ持ち出すのであればタルタルーガの選択肢もなかなか。。。

そんなわけでまだまだ悩みは続きそうですw

ASP.NET Core で複雑なバリデーションをする

本日もメモがてら・・・

ASP.NET Coreのバリデーションはモデルにアノテーションを入れるだけでサックサクに出来るので楽させてもらっています。
最大文字数制御や正規表現による入力規制とかは大丈夫なのですが、色々な要素が絡みあった入力チェックをしたいときがあります。

別テーブルのデータを見てとある入力がある場合は入力を特定の値に制限するなど、別テーブルまで絡んだりすると標準のバリデーションでは出来ないのではないかと思います。

ASP.NET CoreではIValidatableObjectを実装したクラスに対してValidation時にValidateのメソッドを呼び出してくれます。
そこでモデル全体としての入力チェックが出来るので、そこで行うと良いみたいです。

この時にDbContext(ApplicationDbContext)が使いたくなることもあると思います。その場合はvalidationContext.GetServiceで取得することが可能です。
データベースに以外にもサービスが定義されていれば必要に応じて取得できそうです。

using System.ComponentModel.DataAnnotations;

public class HogeHoge : IValidatableObject
{

    // 〜〜〜 色々省略 〜〜

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        //DbContext取得
        var dbContext = (ApplicationDbContext)validationContext.GetService(typeof(ApplicationDbContext));


        if(true){ //本当は入力チェック(;・∀・)
            yield return new ValidationResult("エラーメッセージ");
        }

    }
}

EntityFramework Core(EFCore)で更新日時を自動的に入れたい

あとで忘れないようにφ(..)メモメモ

EntityFrameworkでデータを更新した際に自動でデータを生成・保存したい項目ってありますよね。
更新日時とか更新ユーザー名とか。

更新日時とかはRailsであればcreated_atとか項目作っておけば勝手にやってくれますが、
EntityFrameworkでは違うみたいです。

色々調べたところDBContextのSaveChangesをオーバーライドして、保存処理が走るまえにデータをいれて上げるのが良いみたいです。

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{

    //〜〜〜〜〜〜〜〜省略〜〜〜〜

    public override int SaveChanges()
    {

        var now = DateTime.Now; //毎度Now取り出すとコストが掛かるのと、更新日時がレコードによって異ならないように。
        var changes = ChangeTracker.Entries<Kokyaku>().Where(p => p.State == EntityState.Modified || p.State == EntityState.Added).Select(u => u.Entity);
        foreach (var change in changes)
        {
            change.UpdDate = now;
        }
        return base.SaveChanges();
    }

}

こんな感じのロジックでKokyakuクラスに関しては、UpdDateフィールドに自動的に更新日時が入るようになります。Kokyakuの部分を親クラスにして、親クラスにUpdDateのフィールドを作るというのが一般的な流れになりそうです。

Webアプリケーション等で更新ユーザーを保存する場合、SignManagerやUserManagerをDIして現在のログインユーザーを保存・・・・と行きたいのですが、A circular dependency was detected for the service of type ‘Microsoft.AspNetCore.Identity.UserManager
などとDIが循環していると怒られてしまいます。

更新ユーザー名を保存するにはもうActionFilterを利用するなど少し仕組みを考える必要がありそうです。