それマグで!

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

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

ファイルを更新したら同期したい。

ファイルを更新したら、転送したい。 php のプロジェクトってちまちま転送してると、面倒くさいんですよね。ファイル監視してrsync するのに、grunt とか持ち出すのも馬鹿馬鹿しい。 かといって、サーバーにログインしてvim で編集するとIDE使えないし、コー…

mac os が /tmp に wifi-**.log を大量に作る

/tmp のサイズがやけに大きい しらべたら、 /tmp の中に wifi ログって言うファイルが300くらいあった。なんでや。。。 ログをやめさせる sudo wdutil log -wifi これでログを取らなくなるので、静になる。 参考資料 https://superuser.com/questions/106…

JSでモーダルダイアログ出すやつ

モーダルウインドウ出すやつで良いのがない。 jQuery に依存してたり、細かなイベントが取れなかったり、設定が煩雑だったり、もっと簡単に出来るだろう。と思ってたけど ネット探して片っ端から試したけど、これ。というのがない。 仕方ないので作った。画…

要素のスタイルをそのまま取り出して、要素をコピーして保存する

要素のスタイルを見た目をそのまま保存したくないですか? 出来るんですよ。 computedStyle を使えば出来ます。 大昔は 紙Copiとかあったし、あの人はそのまま、カーリル作ったりGyazo買収して忙しそうですけど。ScrapBoxはちょっと依存強すぎてすきになれな…

JSON をシリアライズ・デシリアライズ で関数を含めてObjectをコピーする

以前、JSONのstringify の 第二引数の話を書いた。 takuya-1st.hatenablog.jp そういえば、完成形を書いてない。 JSONで関数も含めてシリアライズする例はこれ。 関数も含めてシリアライズしてコピーする。 var a = { name: "takuya", say: function() { con…

grepコマンドでファイル名だけを取り出す。

grep してマッチした行ではなく、ファイル名が欲しい 検索したキーワードを含むファイル名を取り出して、それを全部開いて処理したいときに grep -l -l をつけるとファイル名だけを取り出すことが出来る。 覚え方 l なので line ですね 関連資料:その他のgr…

unar/lsar コマンドで指定したファイルを取り出す。ほとんどのアーカイブファイルを扱える。

unar / lsar コマンドが便利 unar コマンドで展開すると文字化けがあまり発生しない。 unar とペアになってる lsar コマンドも文字化けを余り起こさずにファイルを取り出せる。 また展開できる 指定したファイルだけを取り出すには lsar で一覧したファイル…

mac wifi を再起動するコマンド( 切断、起動、指定したSSIDに接続

mac の Wifi をコマンドから操作できると楽だよね 切断して、オフして再起動して、接続する。 sudo airport -z sudo networksetup -setairportpower en0 off sudo networksetup -setairportpower en0 on networksetup -setairportnetwork en0 0001docomo こ…

php のエルビス演算子を初期化以外の用途で使ったら・・・

php

エルビス演算子が便利だけど。 三項演算子の省略形 elbis operator が便利だけど int(10) //} 変数初期化チェックがシンプルになって嬉しいよね。empty 相当だよねーってウキウキして empty の代わりの使ってみたり。 三項演算子を省略する使うとちょっとね…

一時的にaliasをオフにする バックスラッシュ

一時的にalias をオフにしたいとき grep や ls などを使っていて、一時的にalias をオフにしたいことないですか? 私は結構たくさんあります。 grep や ls にいっぱいオプションを付けていて普段はそれを使っているのですが、素のgrep がほしいときはある。 …

MySQLの基本的コマンド(ユーザ・DB・権限)の設定削除作成の早見表

MySQLをぱぱっと管理したときに困らないように データベース作成したり削除したりで困らないように、チートシート的にコピペで使えるようなものを用意しておきます。 ユーザーの確認 select User,Host, Password from mysql.user; データベース一覧 show dat…

フルカラーと白黒のプリントやコミックスのzipを判別する

以前、画像の白黒判定をやった takuya-1st.hatenablog.jp 白黒判定が出来るから、スキャンした画像が「プリント」か「雑誌」か判定していけば便利なんじゃないかと ScanSnap ScanSnap でスキャンしたときに、学校のプリントか、教科書やカラー資料か判定して…

node.jsを野良ビルドした記録

node を野良ビルドした debian jessie の node が古いので野良ビルドした。 jessie そろそろ捨てるけど、ちょっと急ぎで node 使う必要があったので。 コンパイルとインストール checkinstall を使った sudo apt install checkinstall 作業ログ wget https:/…

raspberry pi で初期ユーザー pi 以外のユーザーを自動ログインする。

raspi W 届いた! raspi W を買ったので初期設定した。 ユーザー takuya を追加して代わりに使うことにした ユーザー pi は絶対狙われるので、ssh がグルーバルから接続できないように設定して、ログインは最低限した。 自動ログインユーザーを決める方法を…

MySQL の blob型に入ったStringを文字列(utf-8)にして取り出す。

blob に長い文字列が入ってます。 mysql で varchar や textを使えばいいのに、blob で文字列を埋め込んでいるソースコードがありまして。 そこに入ってる文字列を取り出しても blob なので hex になってるだけです。これを文字列として SELECT したい conve…

SQLで連番を作成や配列をカラム・行に展開する

SQL で連番を扱うときに SQL で連番を扱うときに、数字が入った配列が有るととても便利です。ただしソレを作成するのは不便です。 0..9 これを、次のようなテーブル行に展開したい。 :id 0 1 2 3 4 5 6 7 8 9 SQLで配列を展開するように行にする。 select 0 …

0001docomoのdocomoWiFiにパソコン(iPad)接続のID/PWの確認

docomo Wifiはパソコンから使える ありがとう、ドコモ。ドコモのWiFiはパソコンやタブレット(ipad)から使えます。 au やソフトバンクが軒並み接続サポートを消していく中にあって ドコモはちゃんと接続させてくれます。 しかも電波も管理もしっかしてて確実…

pdoで文字化けを防ぐutf-8を設定する

php

php で MySQL(mariaDB)にアクセスすると文字化けをする いまどき文字化けするなんて思わなかった。古いデータベースだし mysql 関数でやってるやつだからなぁ set name しなくても PDO のドライバの初期化のタイミングで文字コードを指定できるようになって…

php7 で非推奨になったmysql_connect関連のmysql関数を対応する(mysqli

php

php7 から mysql_connect が非サポートになりました。 いまどきPDO使ってないとかありえないんですけど。まぁmysql_connect を使ってるプログラムが動いてることも多いわけです。 今回はこの対応をしたので、誰かの役に立てばいいのでメモっておきます。 mys…

csh 系で 日本語 文字コードを設定する

csh 系のシェルを使ってた FreeBSDにログインする機会があり、文字コードで詰まった。 文字コードの環境変数をセットするには setenv を使うらしい。 setenv LANG ja_JP.UTF-8 これで日本語が正しくなった。

pv pipe viewer をcaptureする

プロセスの進捗を見る pv で pv はプロセスパイプを通過したバイト数をみて、進捗を見ることが出来るのですが。 pv の出力をスクリプトから取りたい pv の output は stderr に書かれるのだけれど、それをキャプチャリングしたいなと思ったら。。。結構面倒…

WindowsのSJISのファイルがUTF-8で化けるので一気に置換するスクリプト

windowsから来たZipファイルを展開したら 文字コードがグチャグチャーって化けるのでした。辛い。 文字コードを修正するスクリプトをぱぱっと書いた conv_file_name.sh -v -n path/to/*.pdf conv_file_name.sh -v path/to/*.pdf nkf があれば何とか出来るん…

SeleniumのWebDriver(chrome)からCookieを取りだしてHTTP::CookieにしたりCurlで再利用する

Selenium のWebDriverからCookieを取り出したら Seleniumで画像をだけを取り出して保存したり、ファイルを取り出すのは不便だよね。 だけど、直接Curlで叩くのもCookieの問題でもっと不便だよね。 そこでSeleniumのCookieをCurlで使える形式やNetscape形式で…

SeleniumのchromeDriverのプロファイルのPATHを調べる方法

起動済みのChromeのプロファイルの場所を調べるには SeleniumからChromedriverが起動したときに、プロファイルがちゃんと渡されて起動したかどうか それを調べるにはどうすれば良いのか。少し考えてみたら chrome://version/ を見るしか無いと思われる chrom…

selenium で chrome ヘッドレスで新規タブの要素をクリックできない

selenium + chromedriver を headlessを扱うときに困る。 新規タブを開かれると、element not clickable で、currently visibleで、 displayed がfalse になる。 なんで、クリックできないエラーになるのか頭をひねったら、width だった。 原因と再現 driver…

macのスマート引用符・スマートダッシュ機能が罠だった。

なんかオカシイなと思ったら スマートダッシュ・スマート引用符で自動変換されていた件。 Evernote に適当にコードメモしたのが動かなくて Evernoteに適当にメモしたコード断片をIPython や Pryに貼り付けたら動かなくて、なんだこれ? とおもってよく調べて…

クラス・メソッドをインスタンス内から呼び出す

ruby でクラスに所属するメソッドを呼び出す。 クラスに所属するStaticなメソッドを呼び出したときに、クラス名を直接指定するのは不便だよね。 class A def self.do puts :do end def say A.do # クラス名が・・・ end end a = A.new a.say self で参照する…

クラスの特異メソッドにモジュールのメソッドを取り込む

モジュールのメソッドを、クラスの特異メソッドに取り込む module で定義した、メソッドやローカル変数を、クラスの特異メソッドに取り込む 次のようにすると実現できる。 module S1 def sample puts :sample end end class A class << self include S1 end …

自動的にmysql のバックアップを取ってくれる automysqlbackup

ぼーっとしててやらかした。 履歴から入力してて、イライラしてるときに、truncate コマンドを本番環境に実行してしまった。もう詰んだ。死にたい。 二度とこんなことがないように automysqlbackup というパッケージを導入することにしました、 apt で apt i…

Twitter の OAuth でメールアドレス求めるのはやめてほしい

なぜTwitterで新規登録すると「メールアドレス」が求められてしまうのか。 Twitterの認証連携をして、AuthorizeApp したあとにメールアドレスの確認が必要になる。ほとんどの「JPサービス」はこの形態を取る。 OAuth わかってんのか 認証を丸投げしてるんだ…

作成済みの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 にファイルを集める傾向があるの…