それマグで!

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

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

js

Number と parseInt()の挙動の違い / 数字に変換するとひと言でいうが奥深い

js

parseInt と Number の挙動の違い。 parseInt と Number という2つがある。文字列 → 数値の型変換の関数を使おうとしてみんな一度くらいこの違いが気になるんじゃない? 違いをパパッと確認しよう parseInt と Number の差異が如実に顕出するのは、次の例で…

npm で作られたプロジェクトの依存モジュールを更新する npm-check-updates

npm で作ったパッケージのnode_module の更新をしたい npm でインストールしたパッケージはどうも使い捨ての傾向があり、アップデートを継続するにはちょっと手間が必要で。 更新可能なパッケージをを見つけるには npm のサブコマンドを使えばできる npm upd…

jq コマンドで UTF-8 の文字列をデコードやエンコード(codepoint を元に戻す)

コードポイントなった、日本語を単純に元のUTF-8に戻したり、コードポイントでエスケープして符号にする。 コードポイントになった文字列*1 単純に jq に通せば、日本語になる。 何も考えずに、 jq 通せばコードポイントを読める文字にすることができる・ ro…

jq コマンドなどで、JSONハイフン付のキーを取り出す方法

jq ではハイフンに意味がある オブジェクトのキー名にハイフンが混じるとエラー $ cat out | jq - .download-dir jq: error: dir/0 is not defined at <top-level>, line 1: なぜ? だってJSってハイフンは引き算じゃん? こう書いてしまうと、 obj.config ={".download</top-level>…

メールアドレスの入力が、@マークで分割された場合の簡単入力

誰が考えたか知らないが、謎文化のメアドを区切る文化 入力がかったるくて仕方ない。思考するより速く入力したいスピード狂としてはストレスを感じる ストレスを感じるより、プログラミングして解決したほうが気持ちがいい。 対策した そこで、XpathとBookma…

if 文には必ずブロックをつけろと言われることが多いけど、使い方によってはむしろ邪魔

if にブロックがないと叱られたことが昔から多い。 if のブロックって上手に書けばいいと思うし、設定やLintで矯正されたりするんだけどさ。 この if の書き方を見ほしい function setupAce(e, set){ //デフォルト設定(カスタマイズしたい場合はの引数(set)…

JS で String#replaceAll すべて置換をするには

JS のコードレビューをしていて、気になってしょうがない split.join いっぱい次のような、関数をいっぱい見かけるのですが、これは replaceAll の代りにし使ってるんだろうか。一般的なんだろうか。 どっかのサイトで上位に出てくるんだろうか。○iita とか …

動的に複数script を追加したときに読み込みを待つ。Promise版(body/headに足したあと待つ)

JS で動的ロードして関数を追加する。 適当な関数を突っ込んで、ロードされるのを待ってから、関数を使いたい。 とりあえず、script.onload で解決することはわかってるんだけど。読み込みたい関数が複数だと、全部ロードされるのを待つのをコールバック・チ…

jid / json のjq的なクエリをインタラクティブに試せるツール

jid が便利そうなので使ってみた jid-github インストール brew install jid 使ってみる jid は json を食わせて、その結果から必要なものを絞り込んで調べることができる 試しに使ってみる。 echo '{"info":{"date":"2016-10-23","version":1.0},\ "users":…

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

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

Object.assign は何をする為にあるんや?

Object.assign が使えるようになってる。 Object.assign() - JavaScript | MDN Object.assign(target, ...sources) せっかくなので調べてみて、ソースコードの重複が減らせるのに使えるか調べてみた。 Object.assign は何をするのか var a = { age : 17 } va…

JavaScript で、文字列から単語を抜き出す、分かち書きもどきをやる。

js

javascript で単語を取り出したい。 WEBページのリンク要素やコンテツから単語を抜き出したい。 単語を抜き出す正規表現 特定の語句の塊を抜き出しておく。 r=/[一-龠]+|[ぁ-ん]+|[ァ-ヴー]+|[a-zA-Z0-9\-]+|[a-zA-Z0-9]+/g テキストを処理すると送り…

dom event currentTargetとtargetの違い。

js

currentTargetについて event.target はイベントが発生した要素 event.currentTarget はイベントリスナをセットした要素を指す。 ときどき、間違いそうになるのでメモ。 例 body #←リスナー └── form ├── input └── label #クリックイベント 例の場合、body …

NotelistをArrayとして扱ってForEachしたい

DOMのNodelistがiteratable じゃないので面倒だったりする。 nodelistは配列っぽいけど配列じゃない list = document.getElementsByTagName("a") list.length ; //#=> 10 list.forEach() // #=> undefined for each とか、mapとかしたいじゃん ArrayObjectに…

jQueryでMapの結果を配列で取り出してJOINする。

js

jQueryでタグの属性や値を取り出してMapにしたときに、結果を配列にして、一行文字列にしたい 一旦 get()するのがミソ。 $("div.img_box img[selected]").map(function(i,e){ return $(e).attr('my_id')} ).get().join(",") mapの結果をget().join()。これで…

LocalStroageが便利になる、JSON.stringfy

js

LocalStroageにオブジェクトを入れるには、キーバリューなので、ちょっとめんどくさい。シリアライズをどうするのか JSON.stringifyを使ってシリアライズ そのため、JSオブジェクトを扱いたい場合は、JSON.stringifyとJSON.parseを利用するなどして文字列に…

jQuery でHTMLElementを取り出す(方法がブラウザごとに異なるかも)

jQuery を使っていると,HTMLElementはほとんど使わないので,存在を忘れそうになります.しかし、たまに元要素を参照して値を見たい!と思うときやEventをAddしたいと思うときがあります. 元HTML要素を取得する方法 jquery#get を使います 例 jQuery("#men…

Windowsのプロダクトキーを確認する(DigitalProductIdをデコード)

追記 at 2010-07-12 WindowsVistaで試したら動かなかったのでへんこう var ret = this.read_reg('HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\DigitalProductId'); //↓ つぎに変更 var ret = this.read_reg('HKLM\\SOFTWARE\\Microsoft\\Windows…

Windowsのインストール済みプログラム一覧

プログラムの追加と削除でみることが出来るインストール済みプログラム一覧。あれをプログラムから閲覧できると便利だと思いました。自動インストールとか、パッチレベルを調査するときに使えそう。そこで自分レポジトリのコード定型集をあさってみました。 …

IEを呼び出す

前回のIE利用法をさらに検索してた。 少しずつ分ってきた IEのJsエンジンを作り出す #IEのDocumentをWSHから利用する var document = new ActiveXObject('htmlfile'); window = document.parentWindow; window.alert(""); window.document.body.innerHTML +=…