それマグで!

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

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

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

rubyで実行中のユーザー名(id)を取得したい

ruby でスクリプトを実行したのは誰? スクリプトの実行ユーザーを知りたい。root以外で動かされるとパーミッションがあとで面倒なので、root 以外が起動しようとすると拒否したいってことが、わりとあるわけで。 実行ユーザーIDを知るには Process.euid #=>…

pbcopy で標準出力の内容をecho表示を維持しつつコピーしたい

pbcopy コマンドはクリップボードのコピーが出来て便利。 pbcopy コマンドを使うと、ターミナルの出力内容をコピーが出来る。便利なコマンド でも困ったことが有る。クリップボードにコピーされた内容を見れない。 takuya@~$ ls / Applications Network User…

mac で使えそうなQuickLookプラグイン

QuickLookプラグインを使う Quicklookはないと困る存在で、使い始めるといろいろなファイルをプレビューしたくなる。 インストール・インストール済みのプラグインはここで観れる。 インストールするには、このフォルダに突っ込めばいい。 /Users/takuya/Lib…

インストールされてるJDKバージョンを確認し一覧するコマンド

あれ?java どこに入れたっけ java 本体やコマンド なんてめったに使わないので、ついつい油断しますよね。 java_home という便利なコマンドが有る。 /usr/libexec/java_home Debian にはコマンドが見当たらなかったのでたぶん、MacOS用だと思うのですが。調…

XPathで目的の要素を持つ親ノードから辿ることをする。

Xpath が便利なのがこれ HTMLやテーブルで <a> を狙って取り出したいときに、複数取り出しちゃう。nth-child を使えば良いんだろうけど、Xpathの方がもうすこし柔軟に書けるので便利なんですよね。 <ul> <li><a></a> <li><a></a> <li><span><a></a></span> <li> <ul> これだと、2個めの a を狙うのは //li[2]/a になるんだ</ul></li></li></li></li></ul></a>…

Javaの対話型コンソール(repl)を使って楽をする

ちょっと動作調べるのに main 書くのめんどくさそう java を REPL つまり、対話型インターフェイスでCLIで実行したい。 go や node でお世話になるあれ。swhift にすら搭載されて。php にすら搭載されてるあれ. ruby なら pry / irb 、 python なら ipython …

curlコマンドで速度制限(スピードリミッタ)をつける

curl でファイルを次々と取得してて curl でパッケージを取得したり、転送したりしてて他の作業に支障がでることがあります。 curl 万能なので使いすぎます。 speed limit をつけることで curl を速度制限出来ます。 速度上限をつけることで、穏やかに、急が…

ログをgrep してリアルタイム確認する確実な方法(tailf/tail -f と組み合わせ

tailf の結果をgrep してxargs したい場合 grep するだけなら問題ない。これは期待どおりに動く tail -f a.log | grep name grep が pipeの間に入ると厄介だ tail -f a.log | grep name | grep type この場合は正しく動作しない、中間に挟まったgrepがIOをバ…

もしかして、Amazon って oAuth できるの?

ドメイン登録しようとしてて、ふと見たら・・・ あれ?認証連携アカウントがAmazon???? もしかしてAmazonってOAuthの連携ができるのではないか? もし、アカウント連携できるなら強い だってクレカ登録率高いもん。ショッピングサイトで使うなら絶対に強…

script コマンドで作業内容をリモートで伝える

script コマンドで作業内容をリモートで伝える screen コマンドの共有でも出来るけどね。script コマンドだけでも出来るよね。 screen の共有とかと同じです。 見せたい側で script -f -a sample.log みたい側で tail -F sample.log としておけばずっと見て…

MySQL/MariaDBのSQLとテーブル名を補完する mycli が便利

mycli が便利でやばい SELECT / INSERT などを補完してくれて、テーブル名やカラム名を補完してくれて、SQLを色付けしてくれる。 インストール python で出来てるのでpip でインストール pip install mycli pip がないときは pyenv を pyenv から準備すれば…

pyenvを使って、pythonをインストールしてpython環境を使う。

pyenv をインストールする。 python 3.6 を使いたいなと思ってインストールをはじめました。 ユーザー空間にvirtualenv 作るより楽ちんだし pyenv 使おうぜ インストール git clone git://github.com/yyuu/pyenv.git ~/.pyenv macOS なひとは brew install p…

twitterの検索方法:自分の過去のツイート検索したり、リツイート検索したり、便利な検索方法

あのツイートどこだっけ? あーあの retweet したやつ何処だっけ あのときにTweetしたやつなんだけど などと過去のリツイートやツイートを検索したいことが多々有りますよね。 検索方法が有ります。 引用元 たとえば自分の過去のツイートをRT含めて掘り出し…

tailコマンドで複数のログをまとめて表示する

同時に2つのログを見たい tail -f を2つ起動して、ターミナル並べておくのも邪魔くさいと思ってました。 tail -f /path/to/log2 /path/to/log1 こうすれば、複数のログファイルを同時に tail でウオッチできる。 いままでは watch と cat を組合せてたので…

tail コマンドがファイルの削除、作成時でも動くようにする

tail -f コマンドを使うとファイルの削除で動作が止まる。 tail -f /path/to/log で ログファイルを見ているときに、別のプロセスでファイルが消えたら ファイルが消えたら、動作が止まる。 mv /path/to/log /dev/null rm /path/to/log echo hello > /path/t…

tail -f コマンドがログ監視てるプログラムが死んだら一緒に自動的に終了する

pid を指定すると tail コマンドが自動的に終了する tail -f --pid=$PID /path/to/log PIDを指定したときに ローカルホスト開発ツールのログ監視してるときとかに便利ですね。 man tail --pid=PID with -f, terminate after process ID, PID dies 参考資料 h…

ChromeのDeveloper tools(開発ツール)のコンソール(コマンドライン)で出てくる記号と関数

chrome の dev tools に出てくる関数 $ と $$ の違い $ = document.querySelector $$ = document.querySelectorAll $x は Xpath $x('//a') xpath は組み立てと呼び出しが面倒なので、とても嬉しい。 その他の関数をマトメておくと クエリ系 $ $$ $x 直前のも…

右クリックでEvernoteに送信する

右クリックでEvernoteにファイルを送りたい Finderで右クリックでファイルをEvernoteに送るにはどうするか。 「このアプリケーションで開く」→「Evernote」とすればいいし、項目にEvernoteがなければ、その他から選べばいいいのですが。。。 最初から用意さ…

Evernoteにファイルを投入するコマンド

Evernoteにファイルをまとめて放り込みたい。 コマンドでまとめてEvernoteに放り込みたい。APIを経由すると毎年〜キーを更新しなくちゃいけないので面倒くさい なので、Apple Script ( の JavaScript ) でやろうと思う ( Windows な人は同じ目的で enscript.…

JXAのJavaScript AutomationとObjc Cocoaのオブジェクト呼び出し例

JXA で NSString を使ってPATHの変換をしてみたのでメモ objcのCocoa から NSString と FileManager を使ったので、いろいろ知見を得られたのでメモ。 Javascriptで、NSString を使うには、次のようにする。 ObjC.import('Cocoa') NSStringを init して allo…

Selenium で フォーム送信

Selenium で フォーム送信 するには。 若干のWaitを入れてあげるとうまく動くと思う。 driver.goto 'https://example.com/login' wait = Selenium::WebDriver::Wait.new(:timeout => 3) # second ## ページロードを待つ wait.until { driver.xpath('//*[@id=…

Selenium使おうとしたらchromedriverが古くてエラーになった。

selenium 使おうとしたらエラーになった。 >> require 'selenium-webdriver' => true >> driver = Selenium::WebDriver.for :chrome , :desired_capabilities => caps NameError: undefined local variable or method `caps' for main:Object from (pry):2:i…

tailf と grep を組合せて Slackにログを通知する。パイプでワンライナー

ログファイルを監視して、slack などに通知したい。 ログを監視して Slackに投げる方法で、かんたんなのを考えた。 ログファイルに何か変更があって、それが特定のときに メールや slack のチャンネルに通知を出したら便利だと思う。 あれこれログ監視や通知…

google chrome が google アカウントのパスワードを補完(入力しない問題

Google Chrome がパスワードを利用させてくれない ChromeにGoogleアカウントでログインしてる場合、そのアカウントのパスワードは補完されない。 そのために、Chromeでパスワードを何度も入力することになり面倒くさい。 原因と理由 ちょっと実験してみた。 …

素因数分解をしてくれるコマンド factor

prime numbers ( 素数 ) に分解してくれるコマンドがあった。 takuya@Desktop$ factor 123456 123456: 2 2 2 2 2 2 3 643 factor とは 要因の意味で数学的に因数で、factor コマンドは 素数を使って因数を表現してくれるコマンド 何に使うのか。 特に何に使…

シェルスクリプトの改行コードを修正する

改行コードが原因でエラーになる。 改行コードを \r\n が原因でエラーになった。 takuya@:~$ bash -n apt apt: 行 2: 予期しないトークン `$'\r'' 周辺に構文エラーがあります 'pt: 行 2: `_apt() 一瞬何のエラーかわからなかったけどよく見るとエラーに改行…