Post(s) tagged "プログラミング"
— プロ・アマ・プログラミング言語を問わずに今までの4倍のスピードで学習する方法 - Craftworks Tech Blog - Branch
- ソーシャルブックマークのホッテントリのフィードを購読する
- はてなブックマークだと、フィードURLのフォーマットは以下です。
http://b.hatena.ne.jp/t/perl?sort=hot&threshold=5&mode=rss
perlが学習したい言語thresholdがブックマーク数のしきい値です。例だと5users以上でフィードに含まれます。- 特に気になったサイトの人気エントリにざっと目を通す
- 前出の方法ですと、最新トレンドは追えますが、過去の価値ある情報はカバーできません。そこで次は、過去の情報を追う方法です。
ホッテントリのフィードを購読していると、ある特定のブロガーが、ホッテントリリストに多く現れることに気が付くと思います。
その中で、自分の興味を特に強く惹く記事を多く書く人の過去の人気記事を追ってみましょう。
はてなブックマークでは、URLを指定して、そのサイト内の人気エントリを抽出できます。
http://b.hatena.ne.jp/entrylist?sort=count&url=http://d.hatena.ne.jp/tokuhirom/
url=以降に人気記事を読みたいサイトURLを入れます。- 特に気になったブログを個別に購読する
- ここまで来ると、自分が知りたい情報にあった記事を書く人、サイトの毛色などが掴めてくると思います。
そうしたら、タグ別の購読とは別に、サイト毎にフィードを追加購読しましょう。- 流行のライブラリ、フレームワーク、アプリケーションのソースコードを読む
- 他人が書いたソースコードを読むことはとても良い勉強になります。新発見が沢山あります。
上記の項目をこなしていれば、その言語でどんなライブラリやフレームワークが流行っているか掴めていると思いますので、そのライブラリなどのパッケージを取得してソースコードを読んでいきましょう。- カンファレンスなどのスライドに目を通す
- 最近どこのコミュニティでも、勉強会などが活発になってきています。
SlideShare などで、その発表資料も無料で公開されていることがほとんどですので、片っ端から探して目を通しましょう。
スライドは、特にリテラシーが高い人が書いているケースが多い上に、実際の業務でのソリューションや、最新技術発表といった内容が多いので、とても参考になります。- 特に気になった人のブックマークをお気に入り登録する
- アンテナが高く、自分と同じ分野を学習している人のブックマークをお気に入り登録しましょう。その上で自分のお気に入りページのフィードを購読すれば、登録した人がブックマーク登録したページが流れてきます。
http://b.hatena.ne.jp/Craftworks/favorite.rss
Craftworks の部分を自分の id に変えましょう。
— Top 10 custom JavaScript functions of all timeinsertAfter()
function insertAfter(parent, node, referenceNode) {
parent.insertBefore(node, referenceNode.nextSibling);
}
— 正規表現の解説 上級編正規表現の解説 上級編
- 先読み(lookahead)
- 「(?=pattern)」はゼロ幅の肯定的先読み表現です。「(?!pattern)」はゼロ幅の否定的先読み表現です。
- 「(?=pattern)」は’pattern’が続く位置にマッチします。つまり、この正規表現はアンカーです。厳密にいえばグループではないと言うことになります。この正規表現が示す位置はpatternの直前です。
- 後読み(lookbehind)
- 「(?<pattern)」でゼロ幅の肯定的後読み、「(!<pattern)」でゼロ幅の否定的後読みになります。
- 先読みを使った「(?=pattern)hoge」が「(?<pattern)hoge」とは違うのは、この動きをみると分かります。
に対して、「(?<RX)-\d」を検索すると、
- RX-3
- RX-7
- RX-8
がマッチします。「(?=RX)-\d」では何もマッチしません。これは「(?<RX)」がマッチするのはRXの後なのに対し、「(?=RX)」がマッチするのはRXの前であるからです。
- -3
- -7
- -8
— 全角英数字(+ _) ⇔ 半角英数字(+ _) - by AOK全角英数字(+ _)⇔ 半角英数字(+ _)
/* 全角英数字を半角英数字に置換する */
function z2h_word(src) {
return src.replace(/([A-Za-z0-9_])/g,
function ($0) {
return String.fromCharCode($0.charCodeAt(0) - 65248);
});
}/* 半角英数字を全角英数字に置換する */
function h2z_word(src) {
return src.replace(/(\w)/g,
function ($0) {
return String.fromCharCode($0.charCodeAt(0) + 65248);
});
}
— JavaScriptの配列をちゃんと理解する:JavaやCとは大違い - builder by ZDNet Japan配列のループ処理
配列要素をループ処理するためには、配列オブジェクトが持つ「length」プロパティを使うのが普通です。lengthプロパティは配列の「長さ」を返します。
for (var i = 0; i < a.length; i++) {
…
}ちなみに上のコードは、下のようにするとパフォーマンスが大きく向上します。その理由は、「a.length」を最初の一度しか参照しないためです。JavaScriptのドット(.)演算子は、すでにご存じの通りハッシュテーブルの検索処理を伴いますので、かなりの処理コストを伴うためです。
for (var i = 0, n = a.length; i < n; i++) {
…
}
JavaScript addEventListener() - とみぞーノート 通常登録したイベントハンドラはイベント伝搬のバブリングフェーズで呼ばれる。このため、DOM Treeの下の方のエレメントからイベントハンドラが順番に呼ばれる。 useCaptureをtrueにしてイベントハンドラを登録すると、キャプチャフェーズでイベントハンドラが呼ばれるようになる。このため、その他のイベントハンドラに先だって呼び出されるようになる。
- DOMエレメントのプロパティに設定したイベントハンドラ
- HTMLタグに埋め込んだイベントハンドラ
- ‘useCapture = false’でaddEventListenerされたイベントハンドラ
— 第3回 変数の宣言とスコープ - @IT匿名関数による疑似ブロック・スコープの実現
(function() {
for (var i =0; i < 10; i++) {
// ブロック内の処理
}
})();
window.alert(i);以下のコードと同意である
var f = function() {
for (var i = 0; i < 10; i++) {
// ブロック内の処理
}
};
f();
— @IT:運用 Windows管理者のためのWindows Script Host入門 第5回 WshShellオブジェクトの詳細(1) 2.プログラムの実行方法1―RunメソッドWScript.Runの第2パラメータ
値 意味 0 ウィンドウを非表示にし、別のウィンドウをアクティブにする 1 ウィンドウをアクティブにして表示する。ウィンドウが最小化または最大化されている場合は、元のサイズと位置に戻る 2 ウィンドウをアクティブにし、最小化ウィンドウとして表示する 3 ウィンドウをアクティブにし、最大化ウィンドウとして表示する 4 ウィンドウを最新のサイズと位置で表示する。アクティブ・ウィンドウは切り替わらない 5 ウィンドウをアクティブにし、現在のサイズと位置で表示する 6 指定したウィンドウを最小化し、Zオーダー上で次に最上位となるウィンドウをアクティブにする 7 ウィンドウを最小化ウィンドウとして表示する。アクティブ・ウィンドウは切り替わらない 8 ウィンドウを現在の状態で表示する。アクティブ・ウィンドウは切り替わらない 9 ウィンドウをアクティブにして表示する。ウィンドウが最小化または最大化されている場合は、元のサイズと位置に戻る 10 アプリケーションを起動したプログラムの状態に基づいて表示状態を設定する
— JavaScriptの使える小技です。: 配列からある要素を削除する配列からある要素を削除する
Array.splice(開始番号,削除する要素数);
配列の最初の値を削除 : Array.shift()
配列の最後の値を削除 : Array.pop()
— javascript: escape(), encodeURI(), encodeURIComponent() 比較 (groundwalker.com)JavaScriptの文字エンコード比較
- 元データ
- !”#$%&’()*+,-./
- 0123456789
- :;?@
- ABCDEFGHIJKLMNOPQRSTUVWXYZ
- [\]^_`
- abcdefghijklmnopqrstuvwxyz
- {|}~
- escape()
- %20%21%22%23%24%25%26%27%28%29*+%2C-./
- 0123456789
- %3A%3B%3C%3D%3E%3F@
- ABCDEFGHIJKLMNOPQRSTUVWXYZ
- %5B%5C%5D%5E_%60
- abcdefghijklmnopqrstuvwxyz
- %7B%7C%7D%7E%7F
- encodeURI()
- %20!%22#$%25&’()*+,-./
- 0123456789
- :;%3C=%3E?@
- ABCDEFGHIJKLMNOPQRSTUVWXYZ
- %5B%5C%5D%5E_%60
- abcdefghijklmnopqrstuvwxyz
- %7B%7C%7D~%7F
- encodeURIComponent()
- %20!%22%23%24%25%26’()*%2B%2C-.%2F
- 0123456789
- %3A%3B%3C%3D%3E%3F%40
- ABCDEFGHIJKLMNOPQRSTUVWXYZ
- %5B%5C%5D%5E_%60
- abcdefghijklmnopqrstuvwxyz
- %7B%7C%7D~%7F