basyura's blog

あしたになったらほんきだす。

Vivaldi - 新しいタブでブックマークを開く

f:id:basyura:20170404213050p:plain:w600

設定にあった。便利。アドレスバーかららも常に新規タブにしてほすぃ。

cVim のコマンドバーからの実行も別タブで開きたい

key.js をいじる。

  var tab = {
    active: true,
    newWindow: false,
    isURL: false,
    isLink: false,
    pinned: false,
-   tabbed: false,
+   tabbed: true,
    incognito: false,
  };

cVim のコマンドバーでも C-p 、C-n で選択肢を上下移動したい

set cncpcompletion すればいいんだけど、アドレスバーでも C-p C-n するために Karabiner or AutoHotkey で Up Down にマッピングしてるので発動しない。key.js をいじる。

      case '<Up>': // Command history navigation/search
      case '<Down>':
+
+       if (Command.type === 'action' && settings.cncpcompletion) {
+         event.preventDefault();
+         if (key === '<Up>') {
+           Mappings.actions.previousCompletionResult();
+         }
+         else  {
+           Mappings.actions.nextCompletionResult();
+         }
+         return;
+       }

        event.preventDefault();
        Command.history.cycle(Command.type, (key === '<Up>'));
        break;

Vivaldi + cVim

長らく Firefox + keysnail を使っていたけど Vivaldi + cVim に乗り換えられそう。まだまだ気になるところがあるけど。Chrome と違って Vivaldi だと本体のショートカットキーを変えたり消したりできるので便利。

まだ?できないこと&微妙な所

  • テキストボックスでの undo redo をマッピングできない
  • アドレスバーでのキーマッピングができない (windows でのカーソル移動がつらい)
  • コマンドラインで日本語入力確定のための enter を押すと入力が確定されてしまう。<Ctrl-Enter> も反応する。Mac 版のみで Windows では大丈夫そう。 → インストール済みプラグインの js をいじって Ctrl+Enter は回避。
  • アドレスバーから検索した時に文字化けする時がある。
  • アドレスバーで url 確定した時に新しいタブで開けない。
  • Windows だとアドレスバーで c-e といったキーバインディングが使えない
    • アドレスバーでだけ発動するキー設定はどうやったらいいんだ?
  • Ctrl+p Ctrl+n で選択肢も含めて上下に移動したいけどデフォルトではできそうにない&バッティングしそうなので、AutoHotkey または Karabiner でリマップして対応。

Firefox に比べて全てがキビキビしているし、長時間使っている場合のメモリが増加したまま開放されないとか、それによる動作のもっさり感も無い。Firefox には戻れないかもしれない。タブのプロセス化にあたって拡張が Chrome と一緒になるし、積極的に使うメリットが無くなる気がする。期待はしているけど。

いまのところの設定ファイル

僕のチームの開発ルール

僕のチームの開発ルール、なんていうと大げさだし内容があってない感あるけど触発されて書いてみる。ただの思い出の殴り書き。

CVS

java servlet で IE をうにょうにょ動かす web? システムを作っていた。その頃はプロジェクトで CVS を使っていた。SVN 1.0 が出てはいたが 1.1 はまだだった。そもそも存在を知らなかったと思う。

wiki を使っているチームもあったが、基本的には excel に書いて共通フォルダに置いていたような気がする。ある程度の仕様書は web 上に置かれていた。最新化されることもなく情報共有の認識も薄かったのでそれぞれでメモを持っていた。客先(開発室)にいたこともあって充分なネット環境がなく、air edge で 256kbps はええ!トルネード速くなるけど画像が荒い!といった時期だった。

Eclipse の CVS 連携で表示される差分が見やすくて非常に良かった。差分表示機能だけ取り出せないものかと試行錯誤してた気がするけど、今思えば winmerge とか使えばよかったんじゃないだろうか。知識も検索力も乏しい時代だったので何かと時間がかかっていたように思う。

最近は Eclipse がバカにされている?風潮があるけど、上位バージョンで使える機能を除けば昨今の visual studio より扱いやすかった印象。たまにメモリ不足で落ちることを除けばバックグラウンドでビルドしてくれるしアウトラインがポップアップで出るし起動するまでに dll 読み込みすぎてアレとかなかったし(これは構成の問題だけど)。jsp を書き換えて IE を F5 でリロードして即反映されるのが楽だった。js も書き換えれば即反映だったし。生産性は悪くなかったと思うけど業務知識も開発スキルも低くて黒歴史が量産された。あの頃は若かった問題。

当時は IE6 なのもあってパフォーマンスに悩まされ続けたけど最近は PC の性能も上がりまくって爆速になってたりする。

Vimmer になったのもその頃で ViPlugin が便利だった。途中から vrapper に切り替えてさらに便利になった。

CVS と Redmine

相変わらず CVS で開発してユーザーごとにタグを打つとか移動するとかしていた。ファイル単位に。それはそれで小回りがきいて激しく困ったことはなかった。バージョンもそんなに別れてなかったし。

この頃はほぼ一人で開発とメンテをしていたのだけど、機能追加やバグ修正に伴って記録が全くないのはマズイだろうと一人 Redmine を始める。自分がいなくなっても経緯とかはここを見てもらえばなんとかなるだろうというのもあった。

数人が入っては抜けてを繰り返し自分も抜けて無事に引き渡しができた。見ることはないけど今も稼働しているので十分に役立った。

SVN

別プロジェクトが始まって SVN 運用がはじまった。開発中は何も考えずコミットしていけばよかったけど、リリースのためのブランチがきられると地獄がはじまった。コミット単位のマージがめんどくさいし分岐したブランチの統合は何回か試みが行われた後は戻そうと言い出す人はいなくなった。マージ担当が徹夜でコンフリクトを直した結果、マージ元と先が逆になってて早朝に破棄されてたのは胸が熱くなった。お疲れ。

元々資源管理に関する運用を考えるということに対して全体的に希薄だったのがよくなかった。マージすればいいんでしょ、ぐらいの軽い気持ちだったように思う。

SVN だけで複数の案件を並行して開発するのは無理に感じたので、僕は git-svn を使っていた。他の人は歯を食いしばっていた、ように思っていたけど git に切り替わるとSVN の方が良かった(分かり易かった)と言う声をかなり聞くのでこだわってたのはごく少数だったのかもしれない。

SVN + Redmine

課題管理を何でするか?となった時に excel 管理は嫌だ!と言い通して(駄々をこねて)導入。チームとして Redmine を使う事になる。最初はみんな慣れてなくて右往左往するか何も書き込まない。継続的な啓蒙活動と Redmine おじさん活動を行う。こまめにチケットに反応しているとようやく要領が分かったようで浸透していった。ついでにチケット上での喧嘩がちょいちょい勃発していたけど思春期みたいなもので一定期間過ぎると無くなっていった。

最初は windows server に SVN を立てていたのだけど、別の windows 機に立ててる Redmine がリポジトリの内容を引っ張れなくて残念だった。リビジョン番号はチケットに書いているけど、その修正内容は Redmine で見れないのでリリース系にマージされてるのかを調べるのが手間でメリットが半減していた。

チケット番号と SVN のログからコミットされているかを付き合わせて一覧化するスクリプトを書いて、出荷のたびにエクセルでリリースブランチにマージしてるのかしてないのかを書き込んでもらう運用。

その後、SVN のサーバが変わったタイミングで取れるようになったのでチケットとコミットが紐づけることができるようになった。チケットを開けばマージ状況はもちろん diff も見れるようになったのでいろんなことが捗るようになった。ようやく一人前になれた気がした。

必要に応じて Redmine 本体をいじったり plugin を書いたりして運用中。

最近は親子関係のチケットが量産されているのが気になっているが、自発的にチケットおこしやコメントをすることが当たり前になっている。「それチケットに登録されてる?」「チケットの番号は?」という会話が普通にされている。

SVN + Redmine + Jenkins

開発が進むにつれてビルドエラーが目立つようになる。うっかりコミット漏れもあるがビルドが通るかの確認もなくコミットされてるケースもあった。自分のところだけならまだいいけど、他チームにも迷惑をかけてしまうことも多々あった。ちょうど良いタイミングで Jenkins のセミナーがあったので受講。ググれと言われればそれまでだけれど、順序立てて教えてもらえるのは分かりやすくてありがたかった。すぐに自チーム用の Jenkins を立てて日に5回程度ビルドして注意を促した。同時に他チーム起因によるエラーを見つけては連絡していた。だいたいみんな「自分のところではビルド通ってますけどね」と言う。

Redmine と同じサーバに Jenkins も入れていたのでビルド中は Redmine が重いなぁと感じることがあったけど、最近はパフォーマンスアップされたのかビルド中でも特に感じなくなった。Jenkins でいい感じに並列ビルドできず時間がまぁまぁかかるのが難点。SSD にしたい。プロジェクト構成的に並列ビルドが厳しいのもなんとかしたいけど手遅れ感がある。

git

プロジェクト開始当初も git にするかという話はあったのだけど勉強コストがあるのと、今から変えると大混乱することが目に見えていたので先送りにされていた。

開発に 1 つの区切りができたのもあり、SVN だと辛いことが多いのもあって git への移行が決定される。言い出しっぺなところもあるけど、蓋を開けてみると git を知っている人が数人しかおらず、github を使っていた自分が一番詳しかったようで旗振り役になる。

詳しかったと言っても一人プロジェクトだったので、複数人でやるときの merge や rebase 運用についてはいろいろ調べながら試行錯誤で進めた。yokohama.vim でも相談させてもらった。運用はしているけど、それが一般的なのか間違ってるのかが分からないので、外の人に直接話を聞ける場があるっていうのは非常にありがたかった。

Github はお金的な問題でダメ。Gitbucket か GitLab かで迷ったけれど GitLab を採用。 Gitbucket ではフックがまだ使えなかったのが大きな理由だった。試用を兼ねて立てているけど、jar 一個で動くお手軽感はすげーなと思う。

GitLab は良いタイミングでパフォーマンスチューニングが活発になっていたのも大きかった。ネットでは重いと評判だったし自分で立てて検証してみても確かに厳しいなという感触だった。それがアップデートの度にいい感じに改善していた。現状でも重いなと思うことはしばしばあるけど “まだ” 許容範囲。

もう 1 つタイミングが良かったなと思うのが git for windows の改善。コマンド入力が苦手な人が多すぎるのは置いとくとして、問題なく使えている。packman を使ってパッケージを入れられるのも良かった。このタイミングで cygwin をようやく捨てることができた。長い間本当にお世話になった。ck も。

GitLab をセットアップし、定期的にアップデートして、Ruby でフックを作った。Redmine の plugin に次ぐ、業務で Ruby のお仕事。

ブランチ戦略を考えたり、wiki に手順や困った時の tips などなど沢山書き込んで情報発信しまくった。当初は使ってなかったけど merge request を紹介して運用に乗せた。今は当たり前に使っていてソースレビューも行われている。

現在の運用はほぼ手を離れていて担当の人に任せてある状態。何かあればフォローする程度になった。

次は

Elasticsearch などを使って Redmine やアプリログの可視化をしたいなと思っている。けどプロジェクトのピークがずっと続いててなかなか手をつけられてない。

まとめ

某 naoya さんがスクルトをかける方が好きだという表現をしていたけど、僕もそっちがあってるっぽい。レベルが違うので同じとか言うのも恥ずかしいけど。 自分でコードを書くし設計したりもするけど、開発スピードを上げるための活動やリリースの改善をした結果、助かる人がいるとか喜んでくれる人がいるとやる気がでる。 本来やるべきこととはズレたボランティアベースな所が多々ある。活動として給料が出るといいんだけど、本来やるべきところを後ろにずらしてやってたりするのでトントンか。他にも効率よく開発できるようにリポジトリの掃除や整備も地味にやってたりするんだけど、なかなか評価されない所ではある。自分からアピールしたりもしないけど。みんなで効率悪いことやってると気になってしまうので仕方がない。

今年度は (も) 色々あって激動の年になりそうだけど、適度に頑張る。体が元気ならなんとでもなる。

4月になったので新年度になった

速すぎる。いろいろと仕事がたまってハケないので振りまくったのだけどそれでも遅れる。スケジュールの弾き方が甘いと言えばそうなんだけど、手を出しすぎるのと質問受けまくりなのが問題か。全体効率が上がっているのならいいんだけど証明するデータは無いのでツラミ。常に遅れるなら働かない方が進捗がいいのでは無いかと思ったり。いろいろと体制が変わるし今年度後半はさらに変わるだろうし爆発必至のアレもあるしあっという間にいろんな意味で終わりそうだ。

とりあえず redmine のチケットを掃除したい。

Bear 気になるところ

ウインド幅が一定にならない

Mac 版。Ctrl+1 Ctrl+2 Ctrl+3 で左と真ん中にあるタグ一覧、メモ 一覧を表示・非表示できるんだけど、その都度ウインドウ幅戻ってしまう (広くなってしまう)。エディタだけを表示していい感じにできるので適度なウインドウ幅に変えてから入力する。ただ、チラチラ気になることがあったりするのでメモ一覧を表示してチラ見してから戻ることがある。このときに Ctrl+2 を押してメモ一覧を出して再び Ctrl+2 で非表示にするとメモ一覧が合った状態のウインドウ幅をキープしてしまう。

ワークアラウンドとしは、 Ctrl+2 でメモ一覧を表示している状態でウインドウ幅を変更してから Ctrl+21 でメモ一覧を消してから入力する。こうすると表示を切り替えてもウインドウ幅がキープされる。ただし、Ctrl+1 でタグ一覧を表示すると広がってしまう。辛い。

スワイプで戻った時に一覧に戻る

iOS 版。ページリンクで別ページに飛んだ後、スワイプしたときに前に開いていたページに戻ると見せかけてノートの一覧が表示される。

ページをまとめたノートを作りたい場合に不便。

evernote だと戻る。ページを移動するたびにスタックが積まれて行き、戻るたびに消えて行く。

スワイプの操作感は良い。とても。

URL 貼り付け

https://www.google.co.jp/ がクリップボードにあるとして、Bear で貼り付けると [Google](https://www.google.co.jp/) に展開される。便利だけど url で貼り付けたい場合もある。その場合は貼り付けられた url 記法を自分で削って url だけにすることになるのがちょっと不便。

挙動がちょっと気になるだけで困るわけではないだけど。

行間が詰まる

この記法 を連続して使用して改行が発生した場合に上の記法と下の記法がくっついてしまう。行間設定を変えればいいのだけどこれ以上増やすのはちょっと。

半角英数が文に混ざると行間が狭まる。これはなんなのかなぁ。狭くならなければ上記の問題も解決するように思う。

画像サイズを変更できない

Markdown にそもそも記法がないので当たり前といえば当たり前なのだけど小さくしたいことがしばしばある。

TOC がほしいなぁ

Tree Of Contents。Evernote とは違って見だしを明示的に設定するので作れる。## のみを抽出するとか ## まで抽出されるとか指定できると嬉しい。

検索窓がウインドウサイズ変更のアイコンとかぶる

Mac 版。左上の信号。文字入力を始めると消えるのだけどカーソルが動くと出てくる。もうちょっと右にテキストボックスが移動すればいいのだけどそれはそれで信号が出てないときは違和感あるかも。検索文字がそんなに長くなることは無いので右寄せのテキストボックスに変更でいいのではないだろうか。とはいえ困ることはないんだけど。

1.1 リリース

リリースされたけど、気になるところは特に変わってないようだ。今後に期待。 iOS 版はきたけど、Mac 版がこないなぁ。windows 版欲しいなー。

ひとやすみ - 何かに当たったらしい

日曜日

夕方ぐらいから体の調子が悪くなる。また副鼻腔炎の悪化かと思いつつやりすごす。

月曜日

朝にパンを食べたものの昼は食べる気がせず寝っぱなし。風邪なのか、副鼻腔炎なのか、食あたりなのか、何かの中毒なのかよく分からないけど寝て過ごす。

日中は OS-1 をひたすら飲む。飲む点滴のようなものなのでお腹はあまりすかない。

夕方にカーテンの取付をしたのだけど立ち上がるのもしんどいし、手を上げても 10 秒ぐらいで限界が来る。

再び寝る。

夜にうどんを食べ始めるも半分ぐらい食べたところでお腹がキリキリしはじめるのでストップ。

また寝る。

火曜日

36.8 度。微熱。風邪なキモするが経験上風邪薬をもらうよりも耳鼻科で薬をもらった方が効果があるので通院する。どちらにしろ風邪が治った後は喉がやられたままで咳がとまらなくなるし (これは歳なのか・・・関東に住み始めたからだから環境のせいだと思うけけど)。 今月は毎週頭に通ってることになってしまっている。治ったと思ったら悪化するの繰り返し。もう年休もないので行ける時に行く。今まで一週間ごとだったのに一ヶ月分が処方される。

夜になってようやく食欲が戻ってきたけど、お腹の調子がまだまだ。うどんをあっためて食べると割と元気になる。同時に平熱に戻る (逆に低い気がしないでもない)

水曜日

もう水曜日。今週終わったようなもんだ。仕事が・・・・いろいろ悪循環になりつつあるな。

オレオレ在宅勤務をかまして消費してたのも原因だけど、年休がもうない。ふぅ。

万全とはいかないが(もはや万全の状態が思い出せない)復活。

ビールがうまい。

東京ブラック 350ml×24本

東京ブラック 350ml×24本

源頼朝

源頼朝 全2巻合本版

源頼朝 全2巻合本版

頼朝・・・嫌なやつだなぁという印象を持ってしまう。実際どうだったかなんて知らないのに安直である。

頼朝は政治家であり、義経は軍人であった。
源頼朝 - wikipedia

そういうことである。

平治の乱から壇ノ浦の戦いまでを駆け足で復習することができた。前半の挙兵して鎌倉にたどり着くまではじっくり書かれていたものの、後半はかなり駆け足で壇ノ浦は数行で終わってしまった。

鎌倉幕府。
それも遂に、長くはなかった。この時代、頼朝のみではないが、自己の手足の主体を知りながら、同梱億生の主体たる国土には深く思い至らなかった恨みがある。
作者はいつも、覇者頼朝に、その一点を惜しみ、人間頼朝に、「豆の詩」を思うて傷む。

判官贔屓を感じないでもない。