USO400

本当の事かはわからないです、きっと半分くらい嘘です。信じてはダメ。

KH400

レギュレータレクチファイア交換

前回から空くこと2週間、ようやく受け取ってきました 31600-GEE-003。 いちおう前回に追記しつつ書くと、値段は税込8400円弱でした。オークションで半値くらいの中華とか買うならメーカー純正のこっちを買うのが自分の方針としてはいいかな、と思っています。ググったところ、純正で出ているのに9000円以上で販売しているサイトもあるみたいでした。メーカー取り寄せ分だけ高くなっているということなんでしょうね。 そして本題のレギュレータ・レクチファイアの交換ですが、いったん既存のレギュレータ・レクチファイアは車体に取り付けたまま、適当な場所に31600-GEE-003を設置してみて、うまく動いたら実際にリプレースしようかなと思っています。 道具 いったん今日は31600-GEE-003を取り付けるために必要な道具を買ってきました。 配線 AVS線(1.25sq)を赤黒黄色の三色、各1m。本当は0.9か0.75sqで良かったみたいだけど近所のホームセンターではいい具合に在庫が無かったので1.25で妥協しました。 カブラー レギュレータ/レクチファイア側カプラー
3 min read
python

Pythonのエンコードを宣言する

Pythonでファイルのエンコードを宣言するとき # -*- coding: utf-8 -*- こういった内容を記載する人が多いと思いますが、自分にはこの記法には疑問がありました。 なぜEmacsを使わない人たちがEmacsのエンコードを宣言をするのだろうか。 会社ではEmacsを使うのは自分だけなので、もしかしたらこの記法がPythonのエンコード宣言だと思っているのかもしれません。 Vimではこう書く(らしい)です(Vimはほぼ使わないので知りません # vim:fileencoding=<encoding-name> Pythonのリファレンス 英文 If a comment in the first or second line of the Python script matches the regular expression coding[=:]\s*([-\w.]+), this comment is processed as an
1 min read
ios

iOS7,8,9のアプリケーションライフサイクル

以前に作ったアプリがiOS9でうまく動かないという連絡を受けたので調査した結果、アプリケーションのライフサイクルが変更されたことによりイベントトリガと描画の関係が前後するというしょぼいミスをしていました。 悔しいので変化をまとめました。 具体的な問題の原因となった箇所はこちら。詳細は下のライフサイクルを見たらわかります。 -[AppDelegate applicationDidBecomeActive:] 検証したアプリの画面構成 1. UINavigationController 2. FirstViewController 3. SecondViewController(FirstViewController.navigationControllerにpushされる) iOS7 (7.1.2 // 起動 -[FirstViewController awakeFromNib] -[AppDelegate application:willFinishLaunchingWithOptions:] -[AppDelegate application:d
1 min read
xcode

Xcode7からのBundle Identifier定義

--- 追記@2016/12/6 こっちにXcode8での設定方法を書きました --- 追記ここまで Xcode6系まではinfo.plistで直接定義する形だったけど Xcode7からはProjectファイルで定義するようになって、info.plistのbundle identifierの項目はこんな感じになっていた(Xcodeのマイグレーションをするとこうなるということで。 $(PRODUCT_BUNDLE_IDENTIFIER) メリット ビルド設定(Build Configuration)でバンドルIDが変更できるようになった。 Debugビルド、Releaseビルド、AdHocビルドなどでバンドルIDが変更できるのでターゲットを無駄に追加する必要が無くなった。 デメリット 理解していない人がinfo.plistを書き換えたら死ねる。 下手に書き換えられたら別アプリになるから。。。
ios

iOS9のFontFamilyName

iOS8系でフォントの一覧を出したので、iOS9でもやっておく。 なんかfamilyNamesの中身が無いものもいくつかあったぽい(たぶんCJKとか言語に依存するものだと思う)。 取得方法 familyNameからfontNameを取得する。 for (NSString *familyName in [UIFont familyNames]) { for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) { NSLog(@"%@", fontName); } } 確認環境 iPhone Simulator (iOS9) 結果抜粋 Copperplate-Light Copperplate Copperplate-Bold IowanOldStyle-Italic IowanOldStyle-Roman IowanOldStyle-BoldItalic IowanOldStyle-Bold KohinoorTelugu-Regular
2 min read
ios

GoogleAnalyticsを組み込んだiOSアプリがiOS9実機ビルドできなかった

表題の通りGoogleAnalyticsを組み込んだiOSアプリのiOS9実機ビルドでエラーが出た。 とりあえず何も考えないでGoogleAnalyticsを最新版に更新したが変わらなかった。iOS9対応というかXcode7対応。 https://developers.google.com/analytics/devguides/collection/ios/v3/sdk-download?hl=ja エラー内容 ld: '/Users/xxxx/path/to/app/Libs/GoogleAnalytics/libGoogleAnalyticsServices.a(TAGDataProvider.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from
1 min read
KH400

31600-GEE-003

知る人ぞ知る31600-GEE-003 ホンダはジョルノクレアの全波整流レギュレータレクチファイア。 今時(2015年9月時点)ではメーカー生産終了で在庫もないと言った話がよく聞かれるけど、NAPSで在庫があるようでした。 まだ時間が無くて受け取りに行けていないですが、メーカー在庫はまだあって、生産終了しているだけじゃないのかなと思っています。 単相全波整流なんて今時ろくにないのはわかるので、需要も少ないんだろうなとは思いますが。 続きは受け取ってから書きます。
KH400 充電されなくなった件について
KH400

KH400 充電されなくなった件について

前回に引き続き。 充電されないなーと思ってバッテリがへたったのかと思ったがそうではなかった。 今回はざっくりとしたポストです。 巻き方や巻き数、線径など秘密にされる内容の詳細は次あたりのポストにまとめる予定です このタイミングで「あージェネレータの問題か」と思ってジェネレータを取り外した。しかし本来この時点ではジェネレータを取り外すのではなく、抵抗値の確認をすべきだったな、と今更反省している。具体的にはレクチファイアにつながる黄色い配線(110型3端子カプラー、黄色/黄色/若草色)とボディアースの導通をチェックすべきだった。 状況 * 自走可能 * 発電不良 ということで原因の可能性は * ライティングコイル(短絡) * メインハーネス(断線) * レクチファイアの故障(断線?) かな、と思った。 しかし微弱だが電装系は動いている。微弱なのはバッテリーが充電不足だから。 ではバッテリーを充電したらどうか。 問題なかった。 ということで原因はメインハーネスでは無いだろう。 * ライティングコイル(短絡) * レクチファイアの
3 min read
server

Ghostをアップデートした

久しぶりにGhostをアップデートした。nodeのバージョンも古かったので少し手間がかかった。 構成 * nginx * node&npm(nvm) * ghost v0.6.4 nginx nginxは特に何も変更無いので端折る。 node&npm(nvm) nodeとnpmはnvmでインストールしてます。 nodeのバージョンが0.10.3Xだったのでアップデートします。 nvm install v0.10.40 nvm alias default v0.10.40 npm install -g node-gyp npm install -g forever ghost http://support.ghost.org/how-to-upgrade/#command-line-upgrade-on-linux のとおり。 コマンドにするとこんな感じか(
1 min read
KH400

KH400発電/電装系トラブル

タイトルにはトラブルと書いたけどそんなにトラブルとは思ってなかったりする。 夜に軽く流そうと思ったらウインカーが点滅しない(点灯あるいは非常にゆるやかな点滅といった状態)で、ヘッドライトは実家に常備されていた単一電池の懐中電灯を彷彿させるぼんやりとした明るさとなっていた。 これはバッテリーがへたっていることは明白なので、すぐさま帰還しバッテリー端子の電圧を計測すると7v。おわた。。。 とりあえず充電器で充電して状況みてみる予定。 ついでにバッテリをはずした状態でイグニッションをON。テスタでバッテリにつながる端子間の抵抗値を計ったところ、おおよそ10Ω。ニュートラルランプ(3w電球)が点灯するだけなのに10Ω 。これはメインハーネスなどなどリプレースも近いかな、とか思う今日この頃。 使っている電圧計はたぶんこれ。電圧テスタとか作ってるメーカーはたくさんあるけど長野県は上田が本社ということで同郷という贔屓目により日置のテスタを購入した記憶。 使っている充電器はこれ。amazonで評価がいいので無難かな、と。 車があるならこれの一つ上のモデルのこっちが良さそう
ios

iOSエンジニアに知っていてほしいブレークポイント

アプリを改修するiOSエンジニアが知っていると得をするブレークポイント。 デバッグするときにブレークポイントを使用しないエンジニアはあまりいないと思う。 アプリを改修することになったとき、元々自分が実装したアプリ以外は画面の構成やイベントハンドリングが自分の思想とは全然違うことがあって、どこで画面遷移が行われているのか。どの画面がいま表示されている画面なのかわからないということはよくある。 そんなときに使うブレークポイントがSymbolicBeakpoint。 Xcodeで「⌘+7」を押してブレークポイントを表示して、ウィンドウ左下の+ボタンから作成する。 [UINavigationController pushViewController:animated:] [UIViewController presentViewController:animated:completion:] こんな感じで設定しておけば、このクラスメソッドやインスタンスメソッドが実行されるときにブレークポイントが作動して止まってくれる。 上記の場合だど実際にはUIKit
1 min read
KH400

続KH400ガソリン流量 その後

前回何も考えずに信越シリコーンのKE45Wでガソリンコックのノズルにフィルターを取り付けてから、どうもガソリンの流れかたに違和感があった。 気になったのでコックを取り外すとKE45Wは5倍くらいに膨れ上がっていた。 KE45Wは耐ガソリン性があるなんて思っていなかったけど、こんなことになるとは。あのときの自分を全力で制止したい。 とか悔やんでも仕方ないのでキャブをバラしてゴミが無いか確認してコックはKE45Wのカスを削りとって元に戻した。とりあえずまだカスが流れる可能性はあるのでコックとキャブの間にフューエルフィルターを挟んで様子を見る。 それにしても何てことをしてしまったんだ。。
ios

UITabBarの色を変える

UITabBarControllerのデザインをちょこちょこ調整する必要があった。 またいつか使いそうな気がするのでメモ。 この設定はiOS7.1系以降なら問題なく動くと思う。7.0系は問題があったようななかったような。 + (UIImage *)imageFromColor:(UIColor *)color size:(CGSize)size { CGRect bounds = CGRectZero; bounds.size = size; UIGraphicsBeginImageContext(bounds.size); CGContextRef contextRef = UIGraphicsGetCurrentContext(); CGContextSetFillColorWithColor(contextRef, [color CGColor]); CGContextFillRect(contextRef, bounds); UIImage *image = UIGraphicsGetImageFromCurren
1 min read
program

Xcodeでメソッドにコメント書く

コメントは大事 例えばこんな感じで書くと色々と便利。メソッドだけじゃなくてプロパティとかただの変数でもいい。 /** @method increment: @param i NSInteger 数値 @return 引数iをインクリメントして返す 引数iをインクリメントして返すお仕事 */ - (NSInteger)increment:(NSInteger)i { return ++i; } 気をつけること 1. コメントは/*!ではなく/**で始めた方がいい。Swiftで/*!が無視された(今は違うかも? 2. 説明を書くときは空行を入れる、もしくは@discussionを使う この2つくらい。 使い方 コメントを書いたメソッドをクイックヘルプ(オプション+左クリック、もしくはコントロール+コマンド+ハテナ)するとこうなる(メソッドを呼び出す箇所でも同じ)。 しかしここまで書くのはめんどくさいし、そもそもクイックヘルプを表示するとかダルい。 どうせならメソッド打つときの補完と同じように大事な部分だけ表示できれば十分
1 min read
KH400

ユーザー車検やってきた 後編

多摩の車検場でKH400の車検をやってきました。 車検の流れ 正規の流れよりは要領が悪いかもしれないけど、自分がやった流れなど。 0. 事前準備 最初にWebから予約できるので、予約する。予約番号を控えておく。時間にもよるのかもしれないけど、予約は前日でもOKみたい。 持ち物 実際に持って行ったもの * 印鑑 * 軽自動車税納税通知書兼領収書 * 自賠責保険証明書(期限が切れそうなやつ) * 点検整備記録簿(特にフォーマットはないらしいので、適当な場所でダウンロードして点検した) * お金(3万円くらいもっていった) * 車検の予約番号メモ 1. 書類を作成とお金の支払い 1. 車検場に行く 2. 車検場内のナンバーセンターで書類の購入 3. 車検の受付(ナンバーセンターの斜め向かいの建物)5番受付の向かいにある記入例を見つつ記入項目を埋める 4. 車検場入り口付近にある代書屋さんで自賠責保険の支払い 5. 代書屋さんの奥にある受付で、軽自動車税納税証明の判子をもらう 6. ナンバーセンターに戻り重量税など購入、印紙を貼
4 min read
KH400

ユーザー車検やってきた 前編

KH400購入からもうじき2年。車検がせまってきたので有休を消化しつつ自分で車検を通した。 月曜火曜と2連休を取り、土日含めて3日間整備して火曜に車検という流れにした。まるで工場勤めかのようなツナギを着てひたすら整備。 整備の流れザックリ 土〜月曜の作業内容。基本的に月数回は走っているので特に問題や違和感無し。ただし少し燃調が濃いめという認識だった。 先日転んでスピードメーターとタコメーターのケーブルにダメージがかなりキテいたので交換などもした。 1. スピードメーターとタコメーターのケーブルを交換(共にドレミコレクション) 2. ヘッドライトケースを外してメインハーネスをハーネステープでグルグル(カバーが硬化していたため切り取った) 3. 特製オイル(安いエンジンオイル+灯油)でフレームなどひたすら磨きつつボルト/ナットの緩みを確認 4. チェーンをチェーンソーオイルでクリクリ&ふきふきしてホイールも磨く(オイル浸透を待つため一晩おく 5. 走って燃調など車体全体の調子を確認、プラグの確認 6. エンジンが温めてからミッションオイルを交換
2 min read
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