KTM 1190 Adventure に試乗した
200Dukeの一年点検でディーラーに行ったら、好きなだけ試乗して良いと言われたので、高速に乗ったりして計2時間程プチツー。
今年一年結構いろんなバイクに乗ってきましたが、メーカーとの相性ってあるなぁと最近思っています。個人的にKTMのマシンはとにかくコーナーが楽しい。 免許とって1年になるかならないかの初心者ですが、懐が深いというか、曲がりたいところに曲がれるというか。
水冷VツインのLC8シリーズには初めて乗ったのですが、Dukeと同じく4, 5000回転から盛り上がる感じでした。 最近シングルもしくはツインが良いなぁと思う理由の一つが、法定速度内でエンジンの美味しいゾーンが使えるというところでして、こいつも高速の合流を2速で引っ張るとかなり刺激的な加速をします。
ただ巷で噂の通り爆熱でした。ディーラーのお兄さんも夏は死にますと。ウーン。
このカラーはKTMにしては珍しく高級感があっていいですね! というか実際めちゃ高いんですがw
あと、気になる690Duke 2016モデルですが、4月くらいには価格等の情報が入りそうだということ。 また試乗させてもらえるかなー
200Dukeくんにネットアンカーを追加
最近マイガレ倶楽部を利用してもっぱら大型ばかり乗り回してるのですが、レンタルしたあとに200Dukeに乗るとやっぱり良いバイクだなと思うことが多いです。
最近フツフツとカスタム意欲が湧いてきているのですが、まあそんなに金も無いのでまずは積載性を上げるところからやっていこうかと。 (なんだかんだでリュックからいっぱなしは辛いものがある...
ネットアンカー
こちらをリアフェンダー?に4箇所追加します。 2014年式Dukeですが、付属のものではなく、M5*30mmを追加購入しました。年式によって違うとの噂アリ。
元からあったネジを取り外して追加するだけの簡単なお仕事。
ネットを設置してみる。
あまリング! 標準装備のインドの魔法のタイヤ減る気配が無いのですがそれは…
試しにリュック載せて走行してみたかったのですが、あいにくの天気なので、また来週....
乗ったバイクリスト
- 200Duke
- CBR650F
- GSR750
- Vストローム1000
- 690Duke
- Ninja250
- MT-09
- Bolt
- DIAVEL-CARBON ← new!!
- GSX-S1000 ← new!!
- ストリート750 ← new!!
- Ninja1000 ← new!!
- F700GS ← new!!
- Ninja400 ← new!!
- Ninja250SL ← new!!
ちょっとだけ借りたやつ
- バンディット1250F ← new!!
- MT-09トレーサー ← new!!
newなやつの中だと、GSX-S1000がホント楽しすぎますね...次点でVストローム1000...アレ...鈴菌...ウッ とはいえ高速道路以外だとDukeクン相当楽しい方なんすよね。いやーいい買い物したなぁ。
そういえば順当にステップアップなら690Dukeだろうと2回レンタルしてるんですが、やっぱり振動がちょっと... ~60km/h位ならリッターより体感ハヤイんですけどね。Vツイン or パラでミドルクラスを出すという噂があるので、KTMさん...オネシャス!
ヤマハ boltに乗ってきた
ケツをくいっとやると素直に曲がる!
乗ったバイクリスト
- 200Duke
- CBR650F
- GSR750
- Vストローム1000
- 690Duke
- Ninja250
- MT-09
- Bolt
Ninja250をレンタルした
今日はNinja250に乗ってきたよ
KTM 690DUKEをレンタルした
どうもお久しぶりです。
軽い!
法定速度内なら鬼加速
とにかく熱が凄い!
3000回転以下は使い物にならない
というわけで総評
Swiftつらいことまとめ
XCode Beta1出た時に勉強のためにMasterDetailなテンプレートからプロジェクトを作成して色々試しているんですが、辛いことが多いのでメモしておきます。
XCodeの補完が辛い
対処法:コメントから日本語を削除。デフォルトで作成されるコメントに年が入ってるのでグレップして削除。辛い。
ブロック内でweak, unownedが使えない
謎。playgroundやと動くwww
なので、
@lazy var hoge = {//初期化のためのクロージャ }()
でいいのにクロージャ内でdelegate = selfする系だとわざわざ初期化関数を作る。辛い。
privateが無い
最初はどうでも良いか〜って思ってたけど、インスタンス変数が外部からセットされることを前提にしているのか、内部で使いまわすために定義されているのかが分からなくなってくる可能性大。
ここらへんはObCのヘッダと実装ファイルにプロパティ宣言を分けるやつ好きだったんですけどね〜。
関数の補完が謎
引数なしの関数を定義して、補完機能を使って書こうとすると
func hoge() -> String { return "hoge" }
みたいな関数を定義してると、hoge(self: クラスの型)でしょ?という謎補完をしてくる。そしてそのままコールすると引数たりんよエラーが出る。どこ見に行ってるんだろう・・・
self.で呼んであげると動くけど、補完が効かないので、一旦hogeで補完して頭にselfを付けるという作業をしています。辛い。
nilを返すのにimplicityUnwrapするapiがある
Swift - ImplicityUnwrapOptional型な戻り値の関数の扱い方 - Qiita
Qiitaの方には回避方法を書いたんですが、Objective-Cなnilも返すapiをそのまま移植したのか知りませんが、戻り値の型定義がImplicityUnwrapOptionalだったりするので、ランタイムエラーになるやつがある。nil返す可能性あるんだったら素直にOption型でいいんじゃないかなぁ。辛い。
(追記)for-inが辛い
Objective-C時代のコレクションは何でもかんでも突っ込めたのですが、Swift先生は型に厳しいのでこういうことをします。
var set = NSMutableSet() set.addObject("h") set.addObject("o") set.addObject("g") set.addObject("e") for str: AnyObject in set { if let _str = str as? String { println(_str) } }
で、コレをCLLocationManagerのmonitoredRegion(戻り値: NSSet!)に対してやろうとしたらXCodeが100%クラッシュしやがるので、完全にやる気なくなりました。
まとめると
今すぐやらなくても良い言語な気がしてきました...(こういうのを書いてあわよくば解答を得ようとするスタイル...つらいなぁ〜
MailCore2についてメモ(iOS)
iOS用メールクライアントを作るにはコレ使えばいいのかな?というライブラリ。
とりあえずGmailに対してIDLEセッション貼って、変更があった場合にだけメッセージ取得的なことはできたのでその手順
手順
2.先ほどのMCOIMAPSessionに対してidleOperation命令を実行。対象のメールサーバーに更新があったら、引数で渡したブロックに対してコールバックされる
3.ヘッダー情報のみが欲しい場合はセッションに対してfetchMessagesByUIDOperationWithFolder:の方をコール(rangeをセット出来、配列がかえってくるので、TableViewにセットすればメールの一覧リストが作れる)
4.コンテンツが欲しい場合はセッションに対してfetchMessageByUIDOperationWithFolder:をコール。uid(IMAPのプロトコルに準拠したやつ)で特定するので、フェッチした際に自分がどこまでフェッチしたかを覚えておく。
未検証だが、uidに関してはログ吐くと、next uidが取得出来るので、それ使えばfetchする必要ないかも。
IMAP IDLE (RFC2177)
29minごとに通信して、死ぬのを回避してね!って書いてある...僕クライアントアプリ作るわけじゃないからポーリングでいい気がしてきた...