メモを揉め

お勉強の覚書。

プログラミング

はてなブログのカスタムCSSをゼロから書き直した

疲れた。 ちなみにモバイルのデザインはProに入ってないので変わってないです。 個人的には、モバイルはデフォルトのデザインが気に入っているのでいいかなと思っています。 公式テーマから流用した部分 ほとんどはゼロから書きましたが、CSSリセット、セレ…

RealDOM再入門

初Greasemonkey、初Tampermonkey、初ブックマークレット触ってみました。 生DOMいっぱいさわりました。 ブラウザで検索・置換 いくつかサンプルコードを見ているとDocument.body.innerHTMLを正規表現で検索・置換するものが多かった、 というのはつまり以下…

RubyのcombinationをSwiftでも使いたい

2016年9月15日追記 Swift 3.0 に対応させました。 memowomome.hatenablog.com めちゃくちゃ久しぶりに Swift 触ったわ。。。 追記ここまで。 --- 最近codeIQの問題にSwiftでもちょくちょく挑戦してます。 それまでRubyで解くことが多かったので、配列操作の…

Light Tableについて

Light Table使ってます。 Light Tableってどのくらい使われてるんだろう? twitterのタイムラインを見てるとSublime TextとかAtom関連のつぶやきは良く見かけるけど、Light Tableの事はほぼ見ない印象。 なのでLight Tableのいいところを紹介します。 Evalua…

Ruby, RSpec, CoffeeScript, Node.js, gulp, browserify

もろもろはじめました。 何を書いていいのか分からなくなるので、メモはこまめに取らないとダメですね。 ザクッとした感想(雑感) あれこれ悩んでいるより、とにかく触ってみるのが一番だなと思いました。 新しかったり、自分の知らない技術の紹介とかを見…

MVCとかMVVMの前の自分まとめ

MVC、MVVMに関する記事を色々読んでいると、 それなりに理解したつもりになっても、いざ具体的な事になるといまいちピンと来ない。 今感じている事、 大規模な開発を経験したことが無いから、必要性が実感できてない サンプルを見てもいまいちメリットが分か…

ビット演算でundefined、NaNを0に変換する

javascriptの算術演算子は(+が文字列連結の時を除いて)被演算子がundefined、NaNの時、結果はNaNになります。 undefined + 1 //NaN undefined - 1 //NaN undefined * 1 //NaN undefined / 1 //NaN undefined % 1 //NaN +undefined //NaN -undefined //NaN …

javascriptのオブジェクトリテラルは評価されるまでは、あくまでブロック文でしかない

よくよく考えたら普通のことでした。 評価せずに使われる場面も思いつかないのでわざわざ書くことでもないと思うのですが、何が役に立つか分からないこの世の中。 一応メモ。 そもそも何故気になったか 算術演算子の動作を調べるために色んな物同士を演算子…

EclipseのJSDTでユーザーライブラリを強制的に削除する方法

javascriptを書くときにEclipseを使用し始めてもうだいぶ立ちます。 最近になってMacBook Pro Retinaを購入してからも同じようにEclipseを導入したのですが、その移行作業中につまずいたのでメモ。 つまずいたところ JSDTではあらかじめ読み込んでおきたいラ…

CSSスプライトによるアニメーションでプログレスバーを作ってみた

オライリーの書籍「javascriptグラフィックス」第2章「DHTML」より、CSSスプライトというテクニックを学んだ。 ダイナミックHTML - Wikipedia javascriptグラフィックス - デモページ HTML5Canvas、Adobe Flashを使わないので互換性が高いのもさることながら…

javascriptでjavascriptのシンタックスハイライト

このブログにコードを載せる際のシンタックスハイライトの為に作った。 基本的にはキーワードを正規表現で拾ってきて<span>タグで囲むだけのもの。 正規表現リテラルと文字列リテラルは複雑になったので分けて処理。 結局思い通りに動くまで2日か3日ぐらいかかっ</span>…

undefinedを[ ]で囲んで+で連結すると空文字っぽくなる

[undefined] + [undefined] // "" 1 + [undefined] // "1" その他にも、 1 + [1]; // "11" 1 + ["1"]; // "11" 1 + [true]; // "1true" 1 + [0, 1, 2]; // "10,1,2" 1 + [undefined, false, NaN, null, 0]; // "1,false,NaN,,0" 数値、真偽値、NaNはそのまま…

1ずつ変化する数に/n&1すると、0と1をn回ずつトグルできる

0で初期化したaを1ずつ増やし、そのたびに割る2アンド1をする。 var a = 0; a / 2 & 1; // 0 a++; a / 2 & 1; // 0 a++; a / 2 & 1; // 1 a++; a / 2 & 1; // 1 a++; a / 2 & 1; // 0 a++; a / 2 & 1; // 0 a++; a / 2 & 1; // 1 a++; a / 2 & 1; // 1 0と1…

Math.floor()を短く書く

javascriptではビット演算をすると、自動的に整数に変換されるよ なので、 var x = 5, a = 3.98; とした時 Math.floor()を使うと、 x - Math.floor(a); // 2 となるところを x - (a | 0); // 2 と、ビット演算を使って短く書ける。(正確にはMath.floor()と…