Hatena::Groupstudyroom

文::字

2010-08-09

[]メモ インターン講義4日目「JavaScript で学ぶ イベントドリブン」 - Hatena::Engineering 14:26 メモ [http://d.hatena.ne.jp/hatenatech/20100805/1281005759:title=インターン講義4日目「JavaScript で学ぶ イベントドリブン」 - Hatena::Engineering] - 文::字 を含むブックマーク

function foobar() {}
var foobar = function {}
  • 関数スコープであり for ループとかではスコープを作らない
  • 変数のスコープ
    • 関数の 2 行目以降で var foo = 2 と書くと自動的に関数の最初で undefined で初期化されてしまう

00:42:19 あたりまで観た。

2010-07-19

[] セミコロンをつけないことによるメリット・デメリット 10:11  セミコロンをつけないことによるメリット・デメリット - 文::字 を含むブックマーク

あとでちゃんとまとめる、かも。

  • メリット
  • デメリット
    • 移植性が減る (IE とか)
    • 本当にセミコロンが必要なケースを判別しづらい

自分は主に読みやすいからつけてない。

LuigipochoLuigipocho2013/12/28 23:25Thanks alot - your answer solved all my problems after several days stungglirg

GustavoGustavo2013/12/29 15:41At last! Someone with real <a href="http://cgnlfv.com">extripese</a> gives us the answer. Thanks!

MatteoMatteo2013/12/30 02:44I like to party, not look aritcles up online. You made it happen. http://cmicdnuiu.com [url=http://knauhcaqnjw.com]knauhcaqnjw[/url] [link=http://cvmfpgwrr.com]cvmfpgwrr[/link]

2010-07-13

[] JSON 形式 23:12  JSON 形式 - 文::字 を含むブックマーク

キーを '' で囲む必要がある。

2010-07-04

[][] 12:00 2010-07-04 - 文::字 を含むブックマーク

クロージャについては JavaScript のほうがシンプルで好きなんだけど (Ruby は lamda とか Proc とかゴチャゴチャしている印象)、メタプログラミング方面ではやっぱり Ruby のほうが充実しているのかなと思った。

例えばこういうのとか (EeePub のソースより)。SomeClass#some_attr= と SomeClass#some_attr にそれぞれエイリアスを作って、SomeClass#other_attr= と SomeClass#other_attr で set/get できるようにするメソッド。

      def attr_alias(name, src)
        alias_method name, src
        alias_method :"#{name}=", :"#{src}="
      end

この attr_alias のおかげで、EeePub::NCX の doc_title が title という別名でも set/get できるようになって、クラスの外部的なインタフェースが使いやすくなっている。こういうのって、JavaScript 的にはどういう風にやるんだろうな。

2010-06-20

[]JGate テンプレートエンジンっぽいやつ 14:01 JGate テンプレートエンジンっぽいやつ - 文::字 を含むブックマーク

JGate (AppJet) の使い方という記事で「テンプレートエンジンは無くて」みたいなことを書いてしまったけど、supplant という関数でごく簡単なテンプレート機能が使えることに気付いた。

http://docs.jgate.de/api/symbols/_global_.html#supplant

var data = {name: "Aaron", age: 25, today: new Date()};
print(supplant(data, """

{name}'s age is {age} years, as of {today}.

"""));

Atom フィード出力する lib-atom というライブラリのソースを読んでいて見つけた。

2009-05-18

[] 20:52 2009-05-18 - 文::字 を含むブックマーク

  • Object#toSource (Not implemented in IE)

VernonVernon2013/12/28 21:46This article aciehved exactly what I wanted it to achieve.

MiguelMiguel2013/12/29 15:40I was really confused, and this answered all my <a href="http://qaifiekktaa.com">qutssione.</a>

2009-02-23

[]今作ろうとしているアウトラインエディタオブジェクト指向を当てはめるならどうなるんだろう 04:57 今作ろうとしているアウトラインエディタにオブジェクト指向を当てはめるならどうなるんだろう - 文::字 を含むブックマーク

  • カーソルのある li 要素のインスタンス CurrentListItem をクラスメソッドで取得
    • CurrentListItem.shallow とか CurrentListItem.deep とかしたい
  • それらをキーバインド用のクラスに登録していく感じか

2009-02-14

[] 15:35 2009-02-14 - 文::字 を含むブックマーク

<ul>
  <li>パン</li>
  <li>ごはん</li>
  <li>パスタ</li>
</ul>
  • 複数ノードを指定して階層を深くする機能も欲しい
  • たまに 2 番目以降の li タグなのに previous sibling が null になっていることがある
  • リストの挿入でこうなることがある

f:id:linwttaa:20090215090145p:image

    • Enter キーイベントをキャッチして、なんか処理をラップする必要がある

2009-02-11

[]Arguments.callee とか 16:22 Arguments.callee とか - 文::字 を含むブックマーク

2009-02-08

[] 22:30 2009-02-08 - 文::字 を含むブックマーク

2009-02-07

[]リッチテキストエディタの実装を調べる 11:33 リッチテキストエディタの実装を調べる - 文::字 を含むブックマーク

アウトライナ独自のキーバインドの実装

  • タブキーでフォーカスが次の要素に移らないようにする
    • Tab で階層を深くする
    • Shift + Tab で階層を浅くする
  • Delete キーと BackSpace が押されたタイミングで現在のカーソルの位置を取得して、リストタグが消されないように制御する
    • 頻繁に使いそうだから、現在のカーソルの位置を取得する関数を定義する
  • 範囲を指定して削除
    • 選択範囲が行をまたがった場合に、リストアイテム単位で選択されるようにする
  • 右クリックメニューからカット/コピー/ペースト/削除が選択された場合の制御
    • 制御できるのかな
  • リンク機能
  • Emacs / Shell の C-k と C-y (kill-line と yank-line) を実装したい
    • ビジュアル単位じゃなくて、アイテム単位でカット & ペースト
  • 結局、サーバーサイドで正しい階層になっているかを判定するような機構がないとばんばん XML valid じゃない文字列が保存できてしまいそう
  • MarkDown とか PukiWiki 記法のリストで出力できる機能
  • OPML で出力できる機能
  • テキストが削除されたときに発生するイベント
    • = onChange イベント時に差分をとって、文字数が減っていた場合?
  • 高度な機能としては、リストのサブアイテムを開閉する機能
    • DOM で childNodes を指定して display:none にするみたいなのでいけるかも(?)
  • MultipleSelection よさそう
  • execCommand : indent, outdent, insertHTML
  • Javascript Outliner

RichelleRichelle2013/02/03 19:58That's the best awsenr by far! Thanks for contributing.

yiuacsiyiuacsi2013/02/05 13:3519fBWh , [url=http://pfphffdhzwmn.com/]pfphffdhzwmn[/url], [link=http://wkcrzujnjaiu.com/]wkcrzujnjaiu[/link], http://uswyhhiohifc.com/

hdbnfhsztohdbnfhszto2013/02/05 20:26NuqoAm <a href="http://kgiqdqneiogq.com/">kgiqdqneiogq</a>

2009-02-05

[]LDR で記事に含まれる画像だけ表示する GreaseMonkey スクリプト 23:18 LDR で記事に含まれる画像だけ表示する GreaseMonkey スクリプト - 文::字 を含むブックマーク

// ==UserScript==
// @name           LDR Only Images
// @namespace      http://d.hatena.ne.jp/linwttaa
// @include        http://reader.livedoor.com/reader/
// ==/UserScript==
(function(){
    var w = unsafeWindow;
    w.register_hook("before_printfeed", function(feed) {
        feed.items.forEach(function(item) {
            urls = item.body.match(/"https?:\/\/.+?(jpg|png|gif)"/g);
            if(urls == null) { return; }
            item.body = '';
            for(i=0;i<urls.length;i++){
                item.body = item.body + '<img src=' + urls[i] + ' /><br />';
            }
        });
    });
})();

AmmAmm2013/12/28 22:32Great thgknini! That really breaks the mold!

NicoNico2013/12/29 15:40What a <a href="http://canocjbpv.com">plaurese</a> to find someone who thinks through the issues

AnthonyAnthony2013/12/30 02:43That's a genuinely imrpessive answer. http://kijqqhexdz.com [url=http://yztaxdnzc.com]yztaxdnzc[/url] [link=http://gzfsqpxkae.com]gzfsqpxkae[/link]

2009-01-21

[] 14:12 2009-01-21 - 文::字 を含むブックマーク

<html>
<head></head>
<body>

<h2>1</h2>
<p id="p1" onclick="click()">click</p>

<h2>2</h2>
<p id="p2">click</p>

<script type="text/javascript">
var flag = 0;
function click() {
  if(flag == 1) { return; }
  flag = 1;
}

p1 = document.getElementById('p1');

p1.appendChild(document.createTextNode('hoge'));
var myForm = document.createElement('form');
myForm.innerHTML = '<textarea></textarea><input type="submit" />';
console.log(myForm.innerHTML);
p1.appendChild(myForm);

</script>
</body>
</html>

FrankFrank2013/12/28 22:49I supospe that sounds and smells just about right.

ZinebZineb2013/12/29 15:41Help, I've been informed and I can't become <a href="http://nshjes.com">igortann.</a>

2007-11-23

[][]JavaScriptでの形態素解析についてメモ 18:13 JavaScriptでの形態素解析についてメモ - 文::字 を含むブックマーク

  • munotterでは、外部の形態素解析エンジンを使用せずに「漢字・ひらがな・カタカナ・アルファベット・全角アルファベット・アスキー文字記号・全角記号・スペース」を単語の区切りとしている(L116-125)。
       GamMo.prototype.pattern = {
         "kanji": "([一-龠々〆ヵヶ]+)",
         "hiragana": "([ぁ-ん]+)",
         "katakana": "([ァ-ヴー]+)",
         "word": "([a-zA-Z0-9_]+)",
         "zenkaku": "([a-zA-Z0-9]+)",
         "ascii": "([!-~]+)",
         "kigoh": "([、。!?()「」『』’”!-\/:-@\[-\^`\{-~])",
         "space": "([ \\s\\n]+)"
         };

一番てっとり早い日本語形態素解析の方法ではあるけど、たとえば「わたしはかなしい」のような文が一つの形態素として解釈されてしまったり、逆に「冷やし中華」が「冷」と「やし」と「中華」の3つの形態素に分解されてしまう。

  • GreaseMonkeyでは、GM_XMLHttpRequestからYahoo!形態素解析APIを利用することができる。
  • HTML+JavaScriptでは、XMLHttpRequestに制限があるためできない。Yahoo!形態素解析APIがJSONPに対応したとしても、JSONPにはPOSTが無いからダメ(参考:Javascriptでdiffる ( with 形態素解析 ) (nakatani @ cybozu labs))。

とりあえずGreaseMonkey + Yahoo!形態素解析APIを試してみようかな。

korn_freakkorn_freak2008/04/26 10:56こんなのありますよ
http://chasen.org/~taku/software/TinySegmenter/
すごい