P57 mod_dumpio

【機能】
Apache httpdに対する入力/出力のHTTP電文をerror_logに記録できる
 よって、GET時の情報だけでなく、POST情報も記録できる
TLS暗号化が有効化されている場合は、復号化後/暗号化前の情報を出力してくれる

【有効化方法】
(httpd.conf)
>|bash|
LoadModule dumpio_module modules/mod_dumpio.so
DumpIOInput On
DumpIOOutput On
LogLevel warn dumpio:trace7 ・・・α
|

P31 Process Substitution(プロセス置換)

bashzshなどでの一部コマンドで対応されている機能
そのため、あまりシェルスクリプトで書くのは控えておいた方が良いかも(チームの技術レベルが高いところであれば問題ないが)。
パイプでは置き換えできない(ex. 入力をファイルとしてでしか作りこまれていないコマンド)場合などに利用する。

[参考リンク]
news.mynavi.jp

P21 Apache httpdのアクセスログを解析するツール

ApacheLogViewer
www.vector.co.jp

Windowsで利用できる
・ログが見やすくなる
・どの曜日や時間帯にアクセスが多いかなど統計情報有

Visitors
www.hping.org

WindowsだけでなくLinuxでも利用可能
ApacheだけでなくIISなどにも対応
・分析結果をHTMLに出力してくれ、かなりでかいログも対応可能

VimでAsciiDocを確認しながら編集を行う設定方法

AsciiDocとは

軽量マークアップ言語の一つ。
記法などの紹介は他のサイトで沢山書いてくれているので割愛。

Asciidoctor 文法クイックリファレンス(日本語訳)
Markdownでかけなかったアレ、Asciidocならこうかけますよ。 #Markdown - Qiita

先輩が利用していて、以下が非常に良いなと思い、Markdownから変更することを思案中。

  • Markdownで小回りが利かない部分なども対応(してそう)
  • マーカー機能やnoteなどのアイコンなどビジュアライズ機能がデフォルト装備
  • (出力系に左右されるところはあるが)出力後のHTMLが綺麗
  • 拡張機能を用いればUMLや図などを記述、組込が楽

Vimで設定方法

VSCodeを利用すれば楽に使えるが、Vimに出戻りしてきたので、Vim for Windowsで設定を行う。

(設定方法)
1. QuickRunやPreVimを導入する
自身は以前MarkdownVim + Chromeを用いて表示する環境を構築済なので不要
Vim8系でMarkdownを確認しながら編集を行う設定(Windows編) - 雑記帳

2. AsciiDocの出力設定を行う
PreVimがAsciiDocを出力する機構が存在するため、1.の作業後に以下をgvimrcに追記すれば、環境構築完了(※1)

" 拡張子とファイルタイプの関連付け
autocmd BufNewFile,BufRead *.{asciidoc,adoc,asc} set filetype=asciidoc

" quickrunでasciidocを閲覧する場合にPrevimOpenを起動させる様に関連づけ
let g:quickrun_config = {
    \ 'asciidoc': {
    \   'runner': 'shell',
    \   'outputter': 'null',
    \   'command': ':PrevimOpen',
    \   'exec': '%c',
    \ },
    \ }

※1
let g:quickrun_config を既に定義している場合は、マージする必要有
複数定義するともれなく定義したどちらかのQuickRunが失敗します。。。

注意点

PreVimがAsciiDocの出力にそこまで力入れていないためか、この設定ではいくつか未対応部分有

  • 第一段落より上位に記載した内容が反応しない(:authorや:revdateなど)
  • noteなどといった一部がそのまま出力される
  • PlantUMLなどに関しても当然非対応なのでそのまま出力される

→私は色々設定するのが面倒なので重たくなるのが嫌なので、見せる場合などの綺麗にしたい場合は以下で出力する事にしました。
(AsciiDoc Tiny Editor)
AsciiDoc Tiny Editor
本当に使い込むのであれば、AsciiDoctorなどインストールして、ローカルで出力できるようにするのがベストだと思いますが、まだMarkdownから乗り換えるか分からないので。。

Chromeのタブのポップアップを表示させない様にする方法

【背景】
2019年10月か11月頭位より、タブのところに少しの間カーソルを置いておくと、ドメイン名やページ名などがホバー表示される様に機能追加が実装されている。
最初凄い!と思っていたが、タブをそこまで多く利用しない身としては、ポップアップに表示される情報量があまり意味がなく、加えて他のタブの見たいところが埋もれてしまって不便になったと思っていた。

【対応方法】

  1. chrome://flags/#tab-hover-cardsでEnter
  2. 「Tab Hover Cards」という設定値を「Disabled」に変更
  3. 右下のRelaunchボタンを押下

【参考情報】
Chromeのフォーラムで質問が既に挙がっていた。
support.google.com

redmineにプラグインをインストールしようとするとundefined methodエラーになる

【環境】
redmine 3.4.3
Ruby 2.4.0
Ruby on Rails 4.2.8

【インストールしようとしたプラグイン
Issue Template
https://www.r-labs.org/projects/issue-template

【事象】
Redmineに上記テンプレートをインストールしようとした。
マニュアルに従い(※1)、以下のコマンドを実行した。

bundle exec rails redmine:plugins:migrate RAILS_ENV=production

※1 マニュアルにはrails ~と記載あったが、パス張ってないので、内部の利用しているのを使いたいというのもあり、bundle execを自身で補完している。

結果、以下の様なエラーを得ることができた。

Error:Command ' redmine:plugins:migrate' not recognized
/opt/redmine-3.4.3/vendor/bundle/ruby/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:151:in `write_error_message' : undefined method `success? for nil:NilClass (NoMethoError)
    from /opt/redmine-3.4.3/vendor/bundle/ruby/2.4.0/gems/railties-4.2.8/lib/rails/commnds/commands_tasks.rb:41:in `run_command!'
    (以下略)

【原因】
Ruby on Rails 4系は、railsコマンドでなく、rakeを使わないといけなかったため。
読んでいたマニュアルは、Ruby on Rails 5系のであった。

【対応方法】
以下の通り、railsをrakeに変更するだけで無事インストールできた。

bundle exec rake redmine:plugins:migrate RAILS_ENV=production

【補記事項】
Ruby on rails 4系までは、rakeコマンドとrailsコマンドは使い分ける必要がある。Ruby on rails 5系では、rakeコマンドをラップする形でrailsコマンドが作成されている様なので、とりえあずrailsコマンドを利用していてよさそうである。(ruby全く書けない素人が1,2分調べた程度なので、嘘書いていたすみません…。)
・Issue Templateを利用する場合、Redmine3系はv0.2.x-support-Redmine3のブランチもしくはv0.2.x系のタグのプラグインを利用する必要がある。
 なお、gitで指定する場合は、redmineのpluginフォルダで以下を実行すれば取得可能である。

git clone -b v0.2.x-support-Redmine3 https://github.com/akiko-pusu/redmine_issue_templates.git

入門Redmine 第5版

入門Redmine 第5版