サイトウ

サイトウ

適当な事ばかり書きます
KH400

続KH400ガソリン流量

それなりに走ってガソリン減らしてコック(PMC製)を取り外した。 タンクを外して、外れたフィルターを取り出すためタンクをふりふり。なかなか難儀しました。 分解した図 コックのタンク内側、ノズルがついている側には想像以上にゴミが溜まっていていて驚いた。パークリ吹いたら飛ぶ程度だったけど、想像以上のゴミだった。 サビなのか、なんだかカサブタのような黒いカスがついていた。 フィルターは信越シリコーンのKE45Wを使用。これはどこのサイト(こういったメンテとかレストアしているサイト)でも使われているので買いました。優秀です。 こちら、もともと取り付けていたコック。純正なのかな。 タンクに取り付けるナット?の内側にはめるゴムが切れてしまったため使っていなかったが、そのゴム以外は問題がない。ナットの内側真ん中あたりに溝がない場所があって、そこに取り付けられていたゴムがダメになってしまった。 使用中のコックにもナットに同様のゴムがあったので使いまわしてみたらサイズもドンピシャだった(当たり前か)。このナットに取り付けるゴムはまだ純正のパーツが供給されているような
2 min read
KH400

KH400のガソリン流量

最近どうもガソリン流量がおかしい。1番?左キャブだけ流れがぎこちない。たまに流れてい無い。 キャブをバラしてみたけど変わらず、バイクを揺らすとちょろちょろ流れたり。 原因はコックかなーとー思ってタンクキャップを開けてガソリン残量を見たら コックのPRIノズル先端のフィルター(樹脂)が外れていた。 ガソリンコックは半年くらい前にガソリン漏れが気になったのでPMCのグレーのコックに変更していたがまさかこんなことに。。。 ガソリンはそこそこな残量だったにですぐ抜けない。 1年くらい前にタンクの錆び取り(花咲Gで適当に)をしていたので錆は酷くない筈だけど、ゴミが詰まったのだろうか。。。 もう少し走ってガソリン残量が5Lくらいに減らしてからコック外して様子見するか。
KH400

ワイヤリングの変更

正直どこまでがノーマルかわからないウチのKH400。 スロットルワイヤーがヘタっていたので、スターターワイヤーとセットで交換することにした。(スピードメーター、タコメーター、クラッチワイヤーは半年くらい前に交換済み 楽天でキジマのKH400対応ワイヤーを買おうと思ったが在庫切れの3週間待ちと連絡が来たのでキャンセルしてweblikeでドレミコレクションのKH400用を購入した。webikeでも在庫確認云々のメールが来たけど注文から2日後には発送された。 この土日は届いたワイヤーの交換作業と自転車のタイヤ交換をした。 自転車のタイヤ交換作業は特筆事項も無いので割愛。 問題はスロットルワイヤーとスターターワイヤーのワイヤリング。 メインハーネス硬化の関係でハンドルを左へ切った時ワイヤーが引っ張られる現象があったのでワイヤリングをどうするか悩んでいたが、そもそもドレミコレクションのワイヤーは取り付けられているワイヤーよりもかなり短かった。 ドレミコレクションのワイヤー長が純正同等と仮定すると既存は15~20cmほど長いということになる。 買ってしまったものは仕方が無い
2 min read
KH400

燃調

東京モーターサイクルショー(28日)に行って、久しぶりに高速を走ってカーボンを落とした。 かなり暖かい日だったので燃調はそこそこ気になっていた。高速では煙がかなり出てたのでカーボンはそれなりに焼けたと思う。 その日はまぁまぁそんな感じで楽しく走れたけど、低速の燃調が気になったので少しエアスクリューを締め込んだ。 翌日の日曜に走ると低速濃い目の中速薄目といった感触だった。エアスクリューだけいじっても季節的に厳しいのでニードル段数いじって様子見してダメそうならメインジェットの番手を上げるか。 なんて思ってたけど久しぶりの高速走行だったしカーボン焼けて抜けが良くなったのかも。。 メインジェットの番手上げてニードル段数もいじるかー。
ios

ifdefとかのマクロ

iOSアプリを開発している人にはおなじみであろうマクロ #ifdef DEBUG // do something #endif Xcodeでプロジェクトを作成するとDebugビルドにはDEBUGがPreprocessor Macrosの初期値として設定されているので使用している人は多いと思う。 この#ifdefとかに混ざって#ifも使われていたりしてマクロがカオスになっているソースがたまにある。 ということで検証 // フラグ作成 #define TEST_FLG 1 // ifdefの場合 #ifdef TEST_FLG NSLog(@"ifdef TEST_FLG Success"); #else NSLog(@"ifdef TEST_FLG Failure"); #endif // TEST_FLG // ifの場合 #if TEST_FLG NSLog(@"if TEST_FLG Success"
1 min read
linux

ssh鍵認証で毎回パスワードを求められた

githubのアカウントを作成してssh鍵認証の接続確認をした。認証確認のためのプロジェクトを作成してcloneとpushが確認できればいいや。 鍵を作る。githubに書かれてたコマンドのままでok。秘密鍵の名前はid_rsa_githubとした。 $ ssh-keygen -t rsa -C "your_email@example.com " # 鍵を作る Generating public/private rsa key pair. Enter file in which to save the key (/Users/user/.ssh/id_rsa): id_rsa_github Enter passphrase (empty for no passphrase): Enter same passphrase again:
1 min read
objc

iOS8のFontFamilyName

iOS9はこちら 取得方法 familyNameからfontNameを取得する。 for (NSString *familyName in [UIFont familyNames]) { for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) { NSLog(@"%@", fontName); } } 確認環境 iPhone Simulator (iOS8.2) 結果抜粋 Marion-Italic Marion-Bold Marion-Regular Copperplate-Light Copperplate Copperplate-Bold STHeitiSC-Medium STHeitiSC-Light IowanOldStyle-Italic IowanOldStyle-Roman IowanOldStyle-BoldItalic IowanOldStyle-Bold CourierNewPS-BoldMT CourierNe
2 min read
objc

IBInspectableを使ったらエラーが出た

IBInspectableを使うとInterfacebuilderがよしなに表示を変えてくれるとかいうのは知ってた(試しに使ったことはあった程度だった)けど、IBInspectableを使っているライブラリがあったので使ってみた。 IB Designables Failed to render instance of XXX: Rendering the view took longer than 200ms. Your drawing code may suffer from slow... こんな感じのエラーが出た。xibファイルが無駄に複雑で巨大なせいでレンダリングが遅い画面だったけど、IBInspectableを使った結果余計なエラーが出るようになった。 もちろんビルドには問題ない。ただ気持ち悪いだけで。
server

Gitlabをアップデートした

omnibus版は便利とは聞くけどソースで管理している。 https://github.com/gitlabhq/gitlabhq/tree/master/doc/update ここにあるコマンドを使えばokだったけど、rbenvを使っていたためにsudoコマンドを使うとbundlerが/usr/bin/bundlerを見てしまっていたのでmdファイルに記載のコマンドでsudo -u git -Hは使わなかった。 注意点はそれくらいでアップデートできました。
objc

NSLayoutConstraint.constantの値を変更してビューのサイズを取得した

フラグでNSLayoutConstraint.constantの値を変更してscrollViewのcontentSizeを変更する、ということをしようとしたけどうまくいかなかった。 CGRectGetMaxY()の時点では_childView.frameにはconstraintの値が反映されてなかった。 だいたいの処理の流れ(適当) - (void)updateConstraint { if ([self isHidden]) { _childViewConstraint.constant = 100.f; } else { _childViewConstraint.constant = 0.f; } CGRect frame = _mainView.frame; frame.size.height = CGRectGetMaxY(_childViewConstraint.frame); _mainView.frame = frame; CGSize cont
KH400

続)KH400が動かない

直りましたというか直しました。2ヶ月くらい前に。直った嬉しさ余って走り回っていたため書き忘れていたので書きます。 原因 ジェネレータの低速用コイルでした。 バラします。タンク、左サイドカバー、ギアチェンジペダル、スプロケカバー、エンジン左カバーを外した状態。 拡大。この状態の画像は撮影しておく必要あり。ジェネレータの上側ネジとその上の線の位置を記録しておかないと、点火時期がズレる原因になる。 ジェネレータを取り外してもっと拡大(しかしピンボケ) 少し解説 KH400の点火方式はマグネトーCDI、いわゆるフライホイールマグネトー点火やフラマグ点火と呼ばれる機構を採用している。 この方式はエンジン始動のための電源がバッテリーではなくマグネトーなので、バッテリーが死んでいても(死にかけていても)キックさえすれば(発電系が正常なら)エンジンがかかる。 ということはエンジンがかからないときにバッテリーを見ても意味がない。 ついでに書くと、KH400のジェネレータにはコイルが7つついている。詳細は下記。 ピックアップコイル ピックアップコイ
4 min read
server

Linuxで起動時にスクリプトを実行

このblogはghostを使っているのでサーバが再起動されたときにスクリプトを走らせてあげる必要があったけど、そんな設定してなくてっていうか再起動なんて滅多に走らせていなかったので特に気にしていなかったけど再起動のたびにログインしてスクリプト実行というのもだるいので起動時にスクリプトを走らせるようにした $ sudo emacs /etc/rc.local 以下、追記 su -l <user> -c "sh <path/to/script>"
ios

dispatch_sync

dispatch_syncを使う - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // メインスレッドで非同期実行 NSLog(@"1.%@", [NSThread isMainThread]? @"mainThread": @"backgroundThread"); dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // 第一引数でキューを指定して同期実行 NSLog(@"2.%@", [NSThread isMainThread]? @"mainThread": @"backgroundThread"); }); return YES; } 結果
1 min read
objc

NSURLSessionでBasic認証する

どうせ1つのアプリで複数のBasic認証することなんて無いっしょ とか思いつつも使い回しがききそうな実装を考えたのでメモ 1. requestのURLはhttp://user:password@example.comみたいにユーザとパスワードも記載しておくとする 2. NSURLSessionTaskのcompletionHandlerは使わないでdelegateを使用する 3. WWW-Authenticateのrealmを取得 4. 認証するURLに対してcurl -vとかリクエストして401レスポンスを取得 5. 今回はこんなレスポンスが来ていたWWW-Authenticate: Basic realm="Login Required" 6. 該当realmはLogin Required 7. delegateメソッド- URLSession:didReceiveChallenge:completionHandler:を実装する 8. - URLSession:didReceiveChallenge:completionHandler: - (void)
1 min read
KH400

KH400が動かない

前回に引き続き、というか未だに直している最中なKH400 イグニッションコイルを交換してスパークは確認できたが、どうにも火花が弱い。 点火系はいずれ一新したいと思っていたので原因を探しつつ色々と現状を見てみようと思う。 たぶん自分はこういうことをする人たちの中では珍しい方で、 師匠なんて人はおろかバイク仲間すらいないのでブログなどネットサーフィンしつつ原因究明中。 調べた内容をザックリ書く。 現状を把握しておく KH400はCDIマグネトー点火。なのでバッテリーが無くても点火が可能。 点火できない今もキックするとニュートラルランプが光ることを確認できる。 厳密にはニュートラルランプで使用される発電系は点火とは電源が違うはず。 とりあえず点火系の不具合を探す。 発電からスパークプラグまでの経路 * スパークプラグ * プラグキャップ+ケーブル * イグニッションコイル * CDIユニット * ステーター(ジェネレーター)コイルAssy 上から順に原因を探していくのが常套手段でありお金がかからない順でもある。 スパークプラグ
1 min read
objc

Xcode6.1.1で実機が選択できなかった

先日買ったiPadに開発中のアプリをインストールしようとしたらデバイス一覧に表示されず2日間ほど無駄をしてしまった。 プロジェクトのバンドルIDもプロビジョニングも問題無いことは確認済みだった(別Macではインストールできた)ので、MacかXcodeの設定に問題があるのだろうと思っていた。 解決方法 * 実機をMacに接続 * ステータスバーのWindow > Devices * Devicesウィンドウの左上DEVICESで該当の実機を[Ctrl+Click] * Show in Run Destinations Menuをクリック(チェックがついたらOK) 参考 Stack Overflow
ios

APNs証明書を作る(アプリ登録済みの場合)

ザックリとメモする Step.1 Apple Developer CenterでCertificatesの登録リクエストを行う。 * Certificates > +ボタン > 「Apple Push Notification service SSL」 * iOSアプリがDevelopment証明書を使用する場合はSandbox, Distributionビルドを使用する場合はProductionになる * Continue Step.2 APNs証明書が使用するAppIDを選択 Step.3 Certificateの生成 証明書アシスタントでリクエストを作成する * キーチェーンアクセスを起動(/Applications/Utilities/キーチェーンアクセス) * 画面左上のメニューから「キーチェーンアクセス」>「証明書アシスタント」>「認証局に証明書を要求」 証明書アシスタントの入力内容 * メールアドレス > ユーザのメールアドレス * 通称 > 識別情報がわかる名前 * CAのメールアドレス > 空欄 *
1 min read