それマグで!

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

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

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

シェルスクリプトを実行する (JavaScript for OSX )

シェル・スクリプトを実行すると世界が広がる アプリにシェル・スクリプトを実行させることが出来ます。 var app = Application.currentApplication(); app.includeStandardAdditions = true app.doShellScript(" echo 1 " ) シェル・スクリプトの戻り値も取…

<input type=image>で送信すると、X,Y座標が送信されるので、調べたら闇だった

複数に分割されたログインID入力が・・・ タイムズカープラスのログインを、ブラウザが学習しない。 Opera(Presto)だと複数にわかれたIDを学習してたのに、Opera(blink)になってから学習しないので、もう面倒だから拡張機能で対応しようとした。 フォームの…

SafariのDOMにアクセスする

/proc/version でLinuxのバージョン確認(ディストリ種類・32/64ビット・カーネル)

proc 見ればバージョンわかる。 takuya@atom:~$ cat /proc/version Linux version 3.2.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 SMP Debian 3.2.54-2 こりゃ、覚えやすくていいわ。

Safariのページロードを待つ( Javscript for OSX Automation )

Safariを自動操縦のその2です。 前回Safariを起動して、ページ遷移をしました。 そのさい、ページのロードを、スリープして待っていただけでした。しかし。今回はページのロードをJavaScriptを使って待とうと思います。 前回の記事はこちら⇛Safariの自動操…

Safariの自動操縦 (JXA: JavaScript for OSX Automation)

前回のハローワールド JavaScriptでハローワールドして、とりあえずメッセージの送って遊びました。 AppleScript のJavaScriptでハローワールド - それマグで! メッセージ.app でバンバン AppleScript のJavaScript版 JXAで、起きない友達をバンバンする - …

AppleScript のJavaScript版 JXAで、起きない友達をバンバンする

待ち合わせに来ない、、、 友人が寝てて待ち合わせにこないので、iMessageを使ってバンバンしたらどうだろうと思って作ってみた。 var mes = Application("Messages") chat = mes.chats.byId("iMessage;-;+819012345678") for( var i =0; i<10;i++){ mes.sen…

Javascriptで文字列の0埋め、空白で右寄せでフォーマット

Javascript で sprintf( "%04d" 987 ); をやりたいと思った var i = 123 ( "000" + i ).substr(-4) //=> 0123 なるほど! substr と組み合わせればいいのか > ( ("000") + 1 ) '0001' > ( ("000") + 1 ).substr(-1) '1' > ( ("000") + 1 ).substr(-3) '001' …

AppleScript のJavaScriptでハローワールド

AppleScript の記述言語にJavaScriptが加わりました AppleScriptはMac OSXを自動化するために作られた方式なんですけど。 AppleScriptってとっても読みやすい言語なんだけど。 やっぱりJavaScriptが一番だ。 JavaScript でアプリを操作出来る JavaScriptさえ…

Javascrript for OSX Automation アドベントカレンダー

JavaScript for OSX Automation が出来るようになりました。 WindowにCOMがあってJScrptからアクセスできたようにOSXも遂にJavaScriptでアクセスできるようになりました。 AppleScriptで出来たことは殆ど、JavaScriptで出来るようになってテンションが上りま…

画像を拡大全画面表示するのに、まだLightBoxとか言ってんの?

フルスクリーン・モード使えよ。楽だぞ 昨今のブラウザにはフルスクリーンモードが搭載されていて、それを使うと、コピペレベルで画像を拡大表示が出来る 画像をフルスクリーンにお手軽に作るHTMLの例 <div id='img01' onclick="this.webkitRequestFullScreen();" > <img src='http://cdn-ak.f.st-hatena.com/images/fotolife/t/takuya_1st/20141129/20141129034938.jpg' /> </div>

文字列からで数字(金額や単位)を純粋に取り出して計算する

数字を取り出す方法はいろいろあるけど・・・ 正規表現で抜き出すとよりも、数字以外を消したほうが速いって事に気づいた。今までの自分は何をしてたんだろうと泣きそうになる。 "¥12,000".gsub(/[^\d]/, "").to_i #=> 12000 これで簡単に、いままで何をし…

PostgreSQLのデータベースを空にする(シーケンス

PostgreSQLのテーブルを空にする方法 DROP TABLE Then CRATE TABLE truncate TABLE この場合、1は結構時間が掛かるの。なので、個人的には2がオススメ truncate table truncate でテーブルを空にする。 truncate table users; でもこの場合はテーブルのシ…

JSON vs XML。サブセットを考えるとXMLのほうが扱いやすい

JSON 便利ですけど、 JSONって便利なんですけど、JSONの一部を切り出してもJSONにならないんですよね。 とくに関数を抜いたデータだけと考えると、JSONって便利なのかなぁって思うようになった。 { "user" : [ { "name" : "takuya", "age" : "19" }, { "name…

rubyのNokogiriをもっと簡単に!Slopする。

ruby のNokgiri をもっと簡単に使いたい。 PHPのSimpeXMLに負けてる気がします。JSON.load にも負けてる気がします。 NokogirのSlopを見つけた doc = Nokogir::Slop("<book><title>日常に潜む数理曲線</title></book>") doc.book.tile.text #=> 日常に潜む数理曲線 これが出来る。 もうい…

curlコマンドで連番サイトの全データを取得する

Mechanizeとかで息切れしている人たちに捧げる。 curl には連番を処理する機能があって。 連番(sequence)はこれでまとめ得取得できちゃう。 curl 'http://www.jr-odekake.net/eki/top.php?id=0610[001-999]' これで http://www.jr-odekake.net/eki/top.php?i…

phpinfo の1行で書ける確認くん。リクエスト内容を見る

phpinfo にはいくつも引数を与えることが出来る。

mp4tags/ffmpeg で、動画のアーティスト情報を書換えて、iTunesのミュージックビデオの仕分けをちゃんとする

mp4 をitunesに取り込んだら残念な感じ 「不明なアーティスト」にすべて分類される。 スクリーンショット 2014-11-16 16.24.10 ホームビデオに分類されて動画が行方不明になるので、ミュージックビデオにするとミュージックに出てくる id3tags で音楽情報が…

数字の ruby で金額を3桁区切りにする(正規表現)

ruby には %' がない マニュアルにそう書いてある 代わりに色々メソッド組合せて考える 1234567890.to_s.reverse.gsub(/(\d{3})(?=\d)/, '\1,').reverse #=> "1,234,567,890" 正規表現で、数字の3つずつに区切って",d{3}" に置換するのが便利っぽい ちなみ…

bashでファイル名が辞書順なのを番号順に並べる

bash の ls でファイル名が辞書順 かなしい・・・文字列として処理されちゃう。。。 takuya@rena:~/Desktop/pdf$ ls -l total 31936 -rw-r--r-- 1 takuya staff 33720 11 15 03:11 0.jpg -rw-r--r-- 1 takuya staff 44660 11 15 03:11 1.jpg -rw-r--r-- 1 ta…

ファイル名の一括置換コマンド rename

ファイル名の一括置換をどうしてますか。 わたしは、ruby でワンライナーかいたり、したいんだけど。ruby ワンライナーには致命的欠陥 rename コマンド そこを我慢して使ってると、rename コマンドを知った。 たとえば、拡張子を変えるとき rename 's/txt/cs…

Canvasで画像をリサイズする。画像をリサイズしてダウンロード。

canvasを使えば、画像をリサイズすることが出来る。 e = ev.target var w = e.dataset.width; var h = e.dataset.height; cv = document.createElement("canvas") cv.width = w cv.height = h cv.setAttribute("style","display:none"); document.body.appen…

Promiseを使って画像のロード待ちに対応する

JavaScript はマルチスレッドプログラムで、コールバック地獄 JavaScript はマルチスレッドプログラムで、コールバック関数を作るのがメインの作業だと思います。 マルチスレッドプログラムは構わないんだけど、コールバック関数の管理が面倒。特に変数。 ま…

突然のダウンロードリンク作成!

ささっとダウンロードボタンを作る方法を探していて辿りつけました。 ダウンロードリンク作るのが、超簡単になりました。 a 要素にdownload 属性つけるだけ。 <a href="ダウンロードさせたいコンテンツ" download="保存ファイル名 >link</a> たったこれだけ。突然のダウンロードボタン設置依頼にも1分以内に対応できます。 これまでは、サーバー側でHTTPヘッダとか content-type application/pdf とか各必要がありました。 実例 <a href="http://j.mp/1sMDwOI" download="N-BOXピンク.jpg">写真をダウ…</a>

なんだ、input type=password に全角文字入力できるじゃん

input type=password はまさかのペースト可能 し、知らなかった。。。ペーストしたらパスワードに全角文字入るんですね。 ってことは、TextInputでも入力できるじゃん! ←全角入力 積極的に活用していきたい。

JavaScriptのparseInt でCSS文字列をパパっと処理

parseInt便利! 知らなかった。parseInt は使える子だった。 parseInt("20%") //=> 20 parseInt("01%") //=> 1 parseInt("1200px") //=> 1200 parseInt("10em") //=> 10 parseInt("10pt") //=> 10 いちいち、String.replace してたわ。 CSSをJSからいじるの…

HTMLフォームにキーボードイベントでキー値を突っ込む(出来ないから代替案

2021-12-15 更新 最近のブラウザで動くやつについてはこちら → HTMLフォームのinputにイベントで文字列の値を突っ込む - それマグで! Form のinput に値を突っ込みたい form の input に値を突っ込みたい。しかし ITバブル時代だよって感じのアクセスはした…

html5 canvasを用いた画像のBase64作成

Base64 大好きです。 どんなデータでもHTMLに埋め込んでしまえるBase64愛してます。 画像をBase64にしたいな。 色々と方法はあるけれど、今回はCanvasでやろうと思いました。 base64にするには Image を作成 img srcに Image突っ込んでロードさせる img がロ…

OSX で ldd がないのでどうするのか

LDDは共有ライブラリへの依存関係を調べることに使います。 Mac OSX には ldd がないので、依存ライブラリを銅使ってるのか見れない。 otools を使う otool -L $path_to_name /usr/local/bin/ldd よく間違うので、もうalias しといた alias ldd="otool -L " …

教習所の予約時間を間違えてキャンセル料発生したので、スクリプトで頑張る

オリックス教習所で、二輪教習頑張ってます。 二輪教習って順番通りとるのですが、思った日に開いてなかったり、開講日がわかりづらいので、いつ予約するべきいいかわかりにくいです。 教習予約の時間間違えてキャンセル料が・・・ やっちまった。いつもはWE…