Redmineのシンタックスハイライトプラグインが出てた

f:id:yassan0627:20180206005940p:plain

Redmineのチケットやwikiで使えるシンタックスハイライトは、 CodeRay と言うライブラリを使用しているのだけど、対応フォーマットが少ない為、以下の通り、Rougeと言う別のライブラリへの移管を提案されていて、長いこと停滞状態にある。

www.redmine.org

そこで今年の1月に、プラグインでRougeの対応を行った人が現れたようです。

github.com

めちゃめちゃありがたいのだけど、コレって結局、公式の運営的にはどうなんだろうなぁと。 プラグインとしてではなく、公式に取り込まれてくれないかなぁと。

こういう要望の取り込みに対して、チケットや注記に「良いね」ボタン的なものがあると良いなぁと思う。 また、チケットでGitHubのPRみたいな流れとか作れると嬉しいのだけど、そうなっちゃうと「コレ、ナンテGitHub?」ってなっちゃうか。。。

だとしても、Redmineの開発にRedmineを使っている以上、Redmine使って開発が加速する仕組みは必要だと考えるけどどうなんだろうね。 そこで、その一環として、チケットを使った(使って無くてもいいけど)PRの様なマージの仕組みはアリなんじゃないかな。

Rougeの対応早く公式に入らないかなぁと思う今日此の頃。Perlbashが欲しいマンでした。

所でこの本、半額なってる。 買おうかな。

Redmine Plugin Extension and Development

Redmine Plugin Extension and Development

US配列キーボードとWindowsとUbuntuの共存。主に日本語入力。

f:id:yassan0627:20180203151325p:plain

Win+Spaceで日本語入力切り替えをWindowsUbuntuで統一する話。

動機

US配列キーボードが気に入って使っているのだけど、現状、WindowsUbuntuを行ったり来たりしてて一番困るのが日本語入力の切替え。

デフォルトだと、Windows側は、Alt+`で切替え、Ubuntu側は、Ctrl+Space とこの上なく面倒くさい。
Ctrl+Spaceで統一するのはよく見るのだけど、Ctrl+Spaceを切替えに使われてしまうと、vscodeなどの候補一覧出すのに支障が出てしまう。

からくり

入力ソースを2つ用意して、1つは日本語。もう一つは英語にして、切り替えているだけ。

pros & cons

pros

  • Windows側は、Alt+`で切替え、Ubuntu側は、Ctrl+Space とこの上なく面倒くさい問題の解決
  • Ctrl+Spaceで統一しないので、キーバインドがバッティングしてしまう vscodeなどのIntelliSenseを使う場合にも困らない

cons

  • Mozc(iBus)だと、OS起動時の1度だけ、日本語入力の際に、入力モードを「ひらがな」に設定しなければならない

環境

実施方法

Windows側の設定

コントロールパネルから「時計、言語、および地域」→「言語」を選択。
「言語の追加」を選び、「英語」→「英語(米国)」を選択して「追加」ボタン押下。

f:id:yassan0627:20180203152308p:plain

Ubuntu

「テキスト入力」の設定を開き、「入力ソースの選択」で「英語(US)」を選択

入力ソースの切替えの設定を「次のソースへ切替え」には「Win+Space」を入力して設定し、「前のソースへ切替え」には「Shift+Space」を入力して設定。

f:id:yassan0627:20180203154643p:plain

課題の解決

consで上げたとおり、起動後一回だけ、「ひらがな」に切り替えないといけないのだけど、この辺を参考にすると良いです。

sicklylife.hatenablog.com

Google Homeの「今日はどんな日?」について調べてみた

f:id:yassan0627:20180123111931p:plain

Google Homeに「今日はどんな日?」って訪ねたら「今日の予定は~」って喋りだしたので、調べてみた。

仕様としては、メインのカレンダーについてのみ対応との事。
しかし、その中で複数の予定があった場合、Google Home で読み上げることが可能な情報は最大 3 つまで(2018/01/23現在)。

メインのカレンダーの調べ方については、Googleアシスタントの設定から「カレンダー」を選択し、灰色になっている、チェックが外せないカレンダーの表示になっているものがメインのカレンダーです。

読み上げるカレンダーを自由に切替え出来るようになるか複数のカレンダーに対応してくれることを願うばかり。
みんなでフィードバック送信したら優先して改善してもらえるかもしれないのでみんなでフィードバックしよう。

また、Google Homeとは関係ないけど、
Googleアシスタントに話しかけて確認する予定については、複数のカレンダーでもOK。
複数のカレンダーのうち、一部だけにしたい場合は、上記の設定からカレンダーを設定すればOK。

Google Homeホント便利。

nvm&npmの環境で入れたモジュールってバージョン毎にどこあるのか調べた。

f:id:yassan0627:20171229071433p:plain 前に、yoを入れたのだけど、

yassan.hatenablog.jp

Node.jsをnvmでVer.切り替え出来るようにしてるので、インストールしたモジュールってどこに行くのか?
って思ったので簡単に調べた。

結論: -g指定してグローバルインストールしているけど、実行バージョンのみにインストールしている。

改めて、nvm読む。

環境は、NPM_CONFIG_PREFIXを見ているみたい。

マニュアルは、、、man npmってやっても存在しません。。 npm --help としたら、npm help npmで分かるそうな。
ver.依存あるし当然っちゃ当然。

$ npm help npm
 :

DIRECTORIES
       See npm help 5 npm-folders to learn about where npm puts stuff.

       In particular, npm has two modes of operation:

       · global mode:
         npm installs packages into the install prefix at prefix/lib/node_modules and bins are installed in prefix/bin.

       · local mode:
         npm installs packages into the current project directory, which defaults to the  current  working  directory.   Packages  are
         installed to ./node_modules, and bins are installed to ./node_modules/.bin.

       Local mode is the default.  Use -g or --global on any command to operate in global mode instead.

グローバルモード(インストール時に -g 指定)した場合は、prefix at prefix/lib/node_modules と prefix/bin にインストール。 デフォルトとはローカルモードで、カレントに./node_modulesを使ってそこに入れる。と。なるほど。

prefixってどこかなぁ、、、

$ npm config edit
 :
; prefix=/home/yassan/.nvm/versions/node/v8.9.3
   :

コメントアウトされてるけど、デフォルトは/home/yassan/.nvm/versions/node/v8.9.3ですね。

試しに別の環境で、2つのバージョンをインストール後に、ローカルモードでインストール(npm install yo)したら、カレントにnode_modulesディレクトリを作って、そこにインストールしてた。 しかも、パスが通ってないので、未設定だとyo使えない(当たり前)

んで、グローバルモードでyoをインストール。

$ npm install -g yo
/home/yassan/.nvm/versions/node/v8.9.3/bin/yo -> /home/yassan/.nvm/versions/node/v8.9.3/lib/node_modules/yo/lib/cli.js
/home/yassan/.nvm/versions/node/v8.9.3/bin/yo-complete -> /home/yassan/.nvm/versions/node/v8.9.3/lib/node_modules/yo/lib/completion/index.js

> spawn-sync@1.0.15 postinstall /home/yassan/.nvm/versions/node/v8.9.3/lib/node_modules/yo/node_modules/spawn-sync
> node postinstall


> yo@2.0.0 postinstall /home/yassan/.nvm/versions/node/v8.9.3/lib/node_modules/yo
> yodoctor

となってたので、実行しているバージョン先と関連付けてますね。 実際に存在確認。

yassan:~/.nvm/versions ((v0.33.8)) $ ll node/v8.9.3/bin/
合計 34388
drwxrwxr-x 2 yassan yassan     4096 12月 29 06:47 ./
drwxrwxr-x 7 yassan yassan     4096 12月 29 05:38 ../
-rwxrwxr-x 1 yassan yassan 35200878 12月  8 23:09 node*
lrwxrwxrwx 1 yassan yassan       38 12月  8 23:10 npm -> ../lib/node_modules/npm/bin/npm-cli.js*
lrwxrwxrwx 1 yassan yassan       38 12月  8 23:10 npx -> ../lib/node_modules/npm/bin/npx-cli.js*
lrwxrwxrwx 1 yassan yassan       33 12月 29 06:47 yo -> ../lib/node_modules/yo/lib/cli.js*
lrwxrwxrwx 1 yassan yassan       46 12月 29 06:47 yo-complete -> ../lib/node_modules/yo/lib/completion/index.js*
yassan:~/.nvm/versions ((v0.33.8)) $ ll node/v9.3.0/bin/
合計 34212
drwxrwxr-x 2 yassan yassan     4096 12月 12 18:38 ./
drwxrwxr-x 7 yassan yassan     4096 12月 29 06:21 ../
-rwxrwxr-x 1 yassan yassan 35021636 12月 12 18:37 node*
lrwxrwxrwx 1 yassan yassan       38 12月 12 18:38 npm -> ../lib/node_modules/npm/bin/npm-cli.js*
lrwxrwxrwx 1 yassan yassan       38 12月 12 18:38 npx -> ../lib/node_modules/npm/bin/npx-cli.js*

確かに、実行バージョン(v8.9.3)にはyoはあるけど、使っていないバージョンには入ってませんね。

納得したのでこの辺で。

redash on Rancher

f:id:yassan0627:20171202155827p:plain むっちゃ遅れましたが、 Rancher Advent Calendar 2017 の 20日目の記事です。

  • TLDR
    • Pros
    • Cons
  • なんでカタログ化したいん?
  • 前提条件
  • プライベートカタログの作成
    • Redashのカタログの工夫ポイント
      • その1:docker-compose.ymlの条件分岐
      • その2:pgAdmin4の追加
      • その3:サンプルデータセットの容易
      • その4:sidekickを使って初回起動前に実施が必要なcreate_dbを実施
      • その5:スタックの配置先のローカルボリュームをスタック削除しても消えないようにした
    • 最終的に、作成したカタログ
      • docker-compose.yml.tpl
      • rancher-compose.yml
  • プライベートカタログをリモートリポジトリへ追加
  • ローカルボリュームを作成する
    • Racher CLI setup
    • ローカルボリュームを作成
  • プライベートカタログをRancherへ登録
  • redashカタログからサービスを起動
  • 今後について
  • おまけ:pgAdmin4の使い方
続きを読む

Rancherでdocker-compose.ymlの条件分岐を試す

f:id:yassan0627:20171202155827p:plain Rancher Advent Calendar 2017 の 13日目の記事です。

20日目に「 redashのプライベートカタログ化」を紹介するのですが、あれこれ欲張りすぎて記事が長くなったのと、まだ、カレンダーが埋まってないので埋めてみました。

目次

  • 使い方
    • 条件式用の変数の定義 <rancher-compose.yml>
    • 条件分岐の記述 <docker-compose.yml>
    • 注意事項
  • その他の例
続きを読む

カタログジェネレータを試してみた

f:id:yassan0627:20171202155827p:plain Rancher Advent Calendar 2017 の 12日目の記事です。

20日目に「 redashのプライベートカタログ化」を紹介するのですが、あれこれ欲張りすぎて記事が長くなったのと、まだ、カレンダーが埋まってないので埋めてみました。

  • プライベートカタログジェネレータのセットアップ
    • npmのVer.管理ツール nvm のインストール
    • npmのインストール
      • インストール可能な安定Ver.を探す
      • 安定Ver.のnpmをインストール
    • Yeomanのインストール
      • npmを使ってYeomanをインストール
    • Rancherカタログジェネレータ generator-rancher-catalog をインストール
  • 空のカタログを生成
続きを読む