それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

2017-06-01から1ヶ月間の記事一覧

作成済みのm5sumとぱぱっと比較する方法(改竄検出の楽な方法

md5sum の -c オプション -c 生成済みの md5sum の一覧とファイルを比較して改ざんを検出する。 事前にファイルのmd5sum の値の一覧を作成しておき、いまのファイルがそのファイルのハッシュ値と一致するかを調べておく。すると簡単に改竄検出や不正検出を見…

nkfの使い方:base64のエンコードとデコード(ただし文字列だけ

nkf だけで base64 のエンコードとデコードが出来る nkf には -mB と -MB のペアがあるのでBase64のエンコードとデコードが出来る。 nkf で base64 エンコード echo -n こんにちは | nkf -MB nkf で base64 デコード echo 44GT44KT44Gr44Gh44Gv| nkf -mBW こ…

nkfでURLエンコードされた文字を扱える(エンコード・デコード・文字コード)

nkf だけで、URIエンコードされた文字を扱える とある文字列を処理していて、CP932(Shift_JIS ) がそのまま、URLエンコードされた文字に出会って、ちょっと面倒な自体になった 。 node の decodeURI/decodeURIComponent だとUTF-8を期待されて動かない。ruby…

Macのopen(開く・保存)のダイアログで、不可視ドットファイル(フォルダ)を選択するーフルパスで開くモード

Mac の保存ダイアログで不可視フォルダを選びたい 開くダイアログのフォルダ選択のときに、隠しファイルやフォルダを開きたいときがよくある。 ドットファイルやドットのフォルダ( .rbenv / . pyenv など)を開きたい。 たとえば、atom/visual studio code/in…

pry のEchoをオフにする

コピペなどでエコーが邪魔なとき _pry_.config.print = proc {} irb の場合は conf.echo = false こうすれば、長いStringのスクロールで死ななくて済む 一時的にオフにして、元に戻すなら _pry_.config._print = _pry_.config.print _pry_.config.print = pr…

chrome でHTML をPDFに変換する

HTMLをPDFに変換する --print-pdf オプション HTMLをPDFに変換するコマンドは、いくつか有るけれど、 chrome のオプションだけで実現できる。 しかも chrome59 から headless オプションがあって更に便利になった。 コマンドの使い方 chrome-bin --headless …

Seleniumで印刷(print preview)を経てPDFを保存する方法

Selenium + chromedriverで 印刷プレビューにアクセスするのが面倒くさい Chromeを webdriverでアクセスすると iframe で作られた、印刷プレビューにアクセスするのがとてもめんどくさい。(セキュリティ関連のアレコレの制限をdisableオプションで取っ払え…

rubyのLoggerでログを出力する方法

ruby のロガーについて調べておきました ruby ではログを出すときに Logger が便利です。 require 'logger' logger = Logger.new(STDOUT) 標準出力に出す場合は STDOUT($stdout) 、標準エラー出力に出す場合は STDERR($strerr) を指定する。 ログを出す logg…

QRコードアプリはLINEのQRリーダーが一番手軽。( ios 10 まで

LINEのQRコードリーダが一番手軽って話。 QRコードのためだけに専用アプリを入れるのもめんどくさい。どれを選んだら良いか考えるのもめんどくさくないですか? LINEについてるQRリーダで十分 QRリーダは、別にLINEだけの規格ではないので、一般的なサイトを…

ruby で先月の月末を求める

先月の月末を求めるには まず、月初の01日を作ります。 Date.parse(Date.today.strftime('%Y-%m-01')).to_s 今月の1日を作る方法を知ってると後はなんでも応用が効くよね。 次に−1日する (Date.parse(Date.today.strftime('%Y-%m-01'))-1).to_s 簡単でし…

ツイートを常にSafariで開く(Twitterアプリに移動してしまう)またはその逆

ツイートリンクをクリックすると→ツイッターアプリが起動してしまう この現象は、よく質問を受けます。(とくにiOS初心者の方々に) Safariでクリックしたら Facebookアプリが開く? 常にFacebook アプリが開くのを当たり前と思ってる方々が、Safariで開いち…

コマンドから指定のSSIDに無線LANをつなぐ

コマンドから無線LANを接続するときにSSID指定 SSIDを指定して接続を切り替えたい 指定のSSIDに接続したい networksetup -setairportnetwork en0 0001docomo networksetup -setairportnetwork en0 mobilepoint password(pre-sharekey ) mac のコマンドからWi…

chromeの起動オプションでページをHTML→PDFで保存する。

chrome だけを使って、HTMLをPDFに変換します。 chrome で pdf にサイトを保存することが可能です。Seleniumのscreenshot を作らなくても、単一なページであれば、PDFにすることが可能です --print-to-pdfオプション $ alias chrome='/Applications/Google C…

chrome(webdriver)を headless はリサイズできないので、初期値で決めて解決させる

headless で動かしてる chrome でエラーが出る。 最初、なんのエラーかわからず悶絶してた。理由がわかったので書いておきます。 リサイズすると次のようなエラーに driver.manage.window.resize_to(1200,1200) エラー Selenium::WebDriver::Error::UnknownE…

Selenium でモバイルエミュレーション

seleniumでモバイルエミュレーションを使いたい ChromeのWebDriverでモバイル・エミュレーションを使えれば便利なのに。回線速度とか、画面の回転とか、画面のサイズとか、逐次セットするのは面倒なので、セットになってるモバイル・エミュレーション機能を…

selenium で Google Chromeの開発者ツールにアクセスする

Selenium から 開発者ツールにアクセスしたい。 DevtoolsがChromeで閉じられちゃうので、なんとかならないのかなと思って調べてた。 パフォーマンスタブにアクセスできる driver.execute_script("return window.performance.getEntries();") これでなんとか…

selenium で parital text/ link_text を指定すれば楽ができる!!!!

selenium でリンクの指定が楽になった。 ドキュメントを読んでたら、良いものを見つけた 今までのやり方。 driver.find_element(:xpath, "//a[contains(./text(), 'ログイン')]") driver.find_element(:xpath, "//a[./text()='ログイン']") 今回知ったやり方…

Evernote で選択中ノートを全て指定したノートに移動する

Evernote のノートをまとめて移動したい Evernoteのノートが増えてくると、検索結果をまとめて別のノートに移動したいとか。そういう事が増えてくる それも「キーボードショートカット」で! キーボードショートカットを作るには? Mac でキーボードショート…

vim で .viminfo を保存反映するとyankバッファが共有されて嬉しい

vim

vim の作業中情報は .viminfoに書かれている。 .viminfoのファイルに必要なデータが保存されている。 作業中のVimから別のVimへデータを引き継ぐには、 .viminfo を使うと実現できる。 vim から vim へ.viminfoを使うには 端末Aが作業中のvim で 端末Bがtmux…

ipythonの入力履歴を見る

ipython の入力履歴をみたい ipythonの入力のヒストリファイルはどこにあるのか調べたのでメモ ~/.ipython に ipython のファイルがある。 しらべたら次のところにファイルがあった *1 ~/.ipython 最近のLinuxなら ~/.config にファイルを集める傾向があるの…

Xpathで隣り合う前後要素を取得/ 兄弟・姉妹要素を取る

xpath で隣り合う要素を取得するには 妹(弟)ノードを取りに行く。 id("gaika_k")/following-sibling::div あるノードの弟ノードをとるには、あるノードを指定してから following-sibling::タグ名とすれば取ることができる。 姉(兄)ノード 姉を取りに行くなら…

xpath で要素をRange(範囲)指定する。( index で範囲指定 )

Xpathで要素を範囲指定するには position() 関数と組み合わせて戦える。 //tr[ position() > 0 ] これは指定番目を1つ取り出す次の書式の発展系と考えればわかりやすい 1番目のtrを取り出す。 //tr[ 1 ] 1番目より後ろの trを取り出す。 //tr[ position() >…

lsでファイルを拡張子ごとに並べる

ファイルを種類順に並べたい。 デスクトップの整理でよく見る「ファイルを種類別」に整理と同じ、ファイルを種類順にまとめて結果に表示を ls コマンドでもできることがわかった。 -X で拡張子でまとめて表示 ls -lX こうすると、ext 順にまとめて表示してく…

lsで日付ファイル名の逆順に並べる並べ方

ls で日付・ファイル名・ファイルサイズなどを昇順・降順に並べたい ファイルを並べて結果をだすときに、新しいものから処理したいとか、古いものから処理したいことがあるよね。 ls でファイルの日付順に並べる 新しいものが先になるように並べるには ls -l…

cygwinのインストールでUAC(Admin昇格)を不要にする

Cygwin のインストールにオプションがつかえた。 今更知った。もっと早く知っていれば。 ./setup-x86-64.exe --no-admin これをつけることでインストール時に、Admin権限を要求されないので、UACの権限がなくてもインストールが可能になる。 たぶんデスクト…

sysd の管理単位-ユニット

systemd の管理単位 systemd は起動のすべてを 「ユニット」という単位で管理する。 ユニットは「Service」が代表例で、/etc/init.d/ に記述するようなサービスDaemonはすべて「Service unit」 として管理される。 ユニットには、service の他に、 target mo…

systemd のファイルについて

systemd のファイルについて debian での systemd の構成について調べた systemd のユニットファイルが置かれている場所 /lib/systemd/ /usr/lib/systemd/ /etc/systemd/ など locate で探すと結構たくさんあってどうなってるのか面食らう。なので役割分担と…

systemdでsysVinit/Upstart系のコマンドはどうなるの?

upstart 系のものはどうなるの? takuya@:systemd$ ls -l /sbin/{start,reload,stop,restart,status} ls: /sbin/start にアクセスできません: そのようなファイルやディレクトリはありません ls: /sbin/reload にアクセスできません: そのようなファイルやデ…

systemdの起動プロセスとinitについて

systemd の起動について /sbin/init (rootプロセス) として systemd が起動する。 此のときに systemd はdefaut.target というユニットをトリガーとしてシステムの起動が始まる。 以前は、sysV init と呼ばた機能がinit からコールされてたがそれが systemd …

bashのシェルスクリプトで拡張子を取得して利用するときのまとめ

特定の拡張子に○○する的なことはよくある シェルスクリプトを書いていると拡張子で判別したいことはよくある。 bashで拡張子を取得するには bashのブレース展開が一番ラクです。 path=/etc/apache2/httpd.conf extension=${path##*.} #=> conf 特定のディレ…