どこでも見れるメモ帳

とあるSEの備忘録。何かあれば気軽にコメントください〜

2015-01-01から1年間の記事一覧

はてブの共起タグをネットワーク表示するには(個人版)

はじめに はてブのタグについて,共起タグを取得し,ネットワーク表示する方法を簡単に記します. 環境はMacOSX,Firefox, はてブ拡張アドオンインストール済とします. 共起頻度が3回以上のタグ組み合わせをネットワーク表示 共起タグの取得 $ echo "tagA,t…

マージコミットを含む大きめのgitブランチをcherry-pickで別ブランチに持っていくには

git

はじめに マージコミットを含む大きめのgitブランチを,別のブランチに持って行きたい状況が発生したのでメモ*1. 取り込みたいブランチを1コミットにまとめ,これを取り込み先ブランチにcherry-pickマージする方法を記す*2. なお,複数コミットを1コミット…

Poderosaでコマンド実行結果をクリップボードにコピーするには

はじめに Poderosaには,コマンド実行結果をPoderosa実行元(ローカル)のクリップボードにコピーする機能があります. これでファイルをcatしてクリップボードにコピーとか,ディレクトリ構成をtreeしてコピーとかできます.便利! やりかた コマンド実行時…

RSpecで複数の指定行を実行する方法

はじめに RSpecで特定のケースのみを「複数」実行したい状況が生じたためメモ. やり方 行指定オプションを複数回指定する. $ rspec [file_name] --line_number [line_number_1] --line_number [line_number_2] 略記式で以下のようにも記述できる. $ rspec…

SRP(単一責任原則)とCC(循環的複雑度)によるコンポーネント内の技術的負債の定量化

はじめに ソースコードを静的解析することでRailsのコンポーネント(単一ファイル)の技術的負債を定量化します. 方針はこちらの記事*1に従って行います. なお,SRPの算出はgit blameを用いて*2行い,CCの算出はrubocopのMetrics/CyclomaticComplexityを用…

git blameによるSRP(単一責任原則)の定量化

はじめに ソースコードを静的解析することでSRP(単一責任原則)を定量的に算出します.*1 svn blameによるSRP算出*2を参考に、git blameによる算出をshで行ってみました. このSRP値が最大のモジュールが王様モジュールに相当します. # 単一責務性の違反指…

LDAの各変数の意味と幾何的解釈について

はじめに LDAの仕組みについて,時間をあけるとすぐに記憶が飛んでしまうためメモ. ここでは以下についてまとめます*1 LDAのグラフィカルモデルにおける各変数の意味とは? LDAは幾何的に何をやってるのか? LDAのグラフィカルモデル まず,各文書についてB…

gitで変更ファイルの差分行番号を取得するには?

はじめに gitで変更ファイルの差分行内容とその行番号を取得したい状況が生じたためメモ(下画像は実行結果) やりかた git --no-pager diff --no-ext-diff -U1000000 \ | diff-lines.sh \ | grep -E "^[^\"].*\:[0-9]+\:[\+|\-]" 1行目について,git diffを…

SVN/GITリビジョン区間の更新ファイルをパッチ化する

はじめに SVNもしくはGITにおけるリビジョン区間*1の更新ファイルをパッチ化*2する作業が生じたためシェル化メモ。 やりかた(SVNの場合) # リビジョン区間(r6000-r6100)における更新ファイルについて、 # ディレクトリ構造を維持したままtar.gzに固める sv…

技術的負債をいかに減らすか

はじめに コードの保守性を定量評価したいとき、どういう指標を用いるのがいいんだろう??コミット時にその指標が悪化してたらリモートリポジトリへのコミットを禁止にしたり、コミッター別にその指標に対する影響度をグラフ化して、技術的負債を改善したい…

ローカルのシェルスクリプトをリモート実行する

はじめに 「ほぼ」同じ構成のサーバがN台あって,それぞれに対して同じスクリプトを実行したい。このときスクリプトはひとつに集約したい(=各サーバにスクリプト配置したくない)。こういうときって、どうするのが定番なんだろう・・・— Kensho (@ni66ling…

行ごとに文字数を換算する

はじめに 行ごとに文字数を計算したい状況が発生したためメモ。 やりかた $ cat input_file | while read line; do echo $line $((`echo $line | wc -m` - 1)); done 文字数の計上は $ wc -m。これはマルチバイト文字に対応しており、日本語と英語が混ざって…

before_filterをすべてスキップする

はじめに 子クラスで親クラスのbefore_filterをすべて実行させたくない状況が生じたのでメモ。 やりかた skip_before_filter(*_process_action_callbacks.select{|filter| filter.kind == :before}.map(&:filter)) まず、skip_before_filterは、フィルタのシ…

Pythonでパイプを含むコマンド実行を手軽に行う

はじめに Pythonで「パイプを含むコマンド」を実行する方法が分かりづらかったため、手軽に行う方法を簡単にメモ。 参考: 17.1. subprocess ― サブプロセス管理 方法 以下をテンプレートとする。commandに「実行したいパイプを含むコマンド」を宣言する。 …