Movatterモバイル変換


[0]ホーム

URL:


はてラボはてな匿名ダイアリー
ようこそ ゲスト さんログインユーザー登録

「Regex」を含む日記RSS

はてなキーワード:Regexとは

2025-12-12

anond:20251212012306

https://learn.microsoft.com/ja-jp/dotnet/api/system.text.regularexpressions.regex.replace?view=net-8.0

リンク踏めばわかるけど、c#regexクラスc++みたいにイテレーター(C#だと列挙子やReadOnlySequenceクラス)を渡せない。

https://ufcpp.net/study/csharp/resource/span/#first-class-span

https://qiita.com/nskydiving/items/3af8bab5a0a63ccb9893

https://ufcpp.net/study/csharp/resource/readonlyness/

https://learn.microsoft.com/ja-jp/dotnet/framework/interop/copying-and-pinning

あと、リンク先全部読めばわかるけど、Spanやreadonly structが導入されたのはC#7.2以降(.net core2.1)なんで、油断するとコピーしまくりだったりするし、win32apiやCOMを呼び出すときコピーされることがあるから注意しろMSDNに書いてあったりする

Permalink |記事への反応(0) | 11:57

このエントリーをはてなブックマークに追加ツイートシェア

https://x.com/i/status/1995357685395652652

aiマヌケだな。

実はもっと早くする方法がある。

ただ、誰もgistやstackoverflow には書いてないし、aiは大昔に書かれた本の内容なんて知りもしない。

からgistとstackoverflow、一部のgithubからしか学習できないAIには早いコードは書けないし、それこそが、ちゃん英語数学勉強したITエンジニアが死なない理由の一つでもある。

マイナーアルゴリズムデータ構造基本的英語での解説がメインなんで、高校英語リーディングがある程度できるまではやらんとダメなのよ。ものによっては数学知識もいるので、高校数学は全部取ったほうがいい。受験数学の難しい奴は知らなくても支障はないと思うが、もしかしたら、使うかも)

あと、.netから重いというのは半分当たっていて半分は間違い。

ただ、.netだと油断するとコピーしまくりなせいでメモリー使用量が増えるという側面はあるし、regexイテレーターすら突っ込めないんで、巨大ファイルの改行またぎの検索が苦手という側面がある。

最近.netだとspan検索かけられるけど、あまり大きなspanだとlohの問題とか色々出てくるし…

(1行が64KB超えなんてことは巨大ログファイルでもさすがにないけど、svgだとあり得るんよ)

Permalink |記事への反応(1) | 01:11

このエントリーをはてなブックマークに追加ツイートシェア

2024-06-26

非エンジニアだけどClaude3に増田ミュート作ってもらったよ

これを改善してってお願いした。何書いてあるかわからないけど動いたよ。

https://anond.hatelabo.jp/20240125203115

// ==UserScript==// @name増田ミュート(白塗り版)// @namespace    http://tampermonkey.net/// @version      2024-06-26// @descriptionミューワードを含む最小限の範囲白塗りにする// @authorYou// @match        https://anond.hatelabo.jp/*// @icon         https://www.google.com/s2/favicons?sz=64&domain=hatelabo.jp// @grant        none// ==/UserScript==(function() {    'use strict';const muteWords = [        "弱者男性",        "弱男",        "弱者",        "婚活",        "男",        "女",        "年収",        "下方婚",        "発達障害",        "発達",        "ハッタツ",        "ハッタショ",        "ハッタショ",        "競プロ",        "競技プログラミング",        "AtCoder",    ];    functionwhiteoutElement(element) {        element.style.backgroundColor = 'white';        element.style.color = 'white';        element.style.textShadow = 'none';        element.style.cursor = 'default';        element.style.userSelect = 'none';  //テキスト選択を防止        element.style.borderBottom = '1px dashed #ccc'; // 枠線を追加してテキストがあることを示す        //リンク場合クリック無効化        if (element.tagName === 'A') {            element.style.pointerEvents = 'none';            element.removeAttribute('href');        }        // 子要素にも適用        Array.from(element.children).forEach(child => {            child.style.backgroundColor = 'white';            child.style.color = 'white';            child.style.textShadow = 'none';        });        //ツールチップを追加        element.title = 'この内容にはミューワードが含まれています';    }    function shouldMute(text) {        return muteWords.some(word => {const parts =word.split('');constregex = newRegExp(parts.map(char => `${char}\\s*`).join(''), 'i');            returnregex.test(text);        });    }    function findSmallestMuteableElement(element) {        if (element.nodeType === Node.TEXT_NODE) {            return shouldMute(element.textContent) ? element.parentElement : null;        }        if (element.tagName === 'PRE' || element.tagName === 'CODE') {            return shouldMute(element.textContent) ? element : null;        }        for (let child of element.childNodes) {const result = findSmallestMuteableElement(child);            if (result) return result;        }        return shouldMute(element.textContent) ? element : null;    }    function processElement(element) {const muteableElement = findSmallestMuteableElement(element);        if (muteableElement) {whiteoutElement(muteableElement);        }    }    function processAllElements(root = document.body) {const walker = document.createTreeWalker(root,            NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_TEXT,            null,false        );        let node;        while (node = walker.nextNode()) {            if (node.nodeType === Node.ELEMENT_NODE) {                processElement(node);            } else if (node.nodeType === Node.TEXT_NODE && node.parentElement) {                processElement(node.parentElement);            }        }    }    function handleClickEvent(event) {        setTimeout(() => {            processAllElements(event.target);        }, 100);    }    // 初回実行    processAllElements();    //クリックイベント監視    document.body.addEventListener('click', handleClickEvent);    //DOM変更の監視constobserver = new MutationObserver(mutations => {        mutations.forEach(mutation => {            if (mutation.type === 'childList') {                mutation.addedNodes.forEach(node => {                    if (node.nodeType === Node.ELEMENT_NODE) {                        processAllElements(node);                    }                });            } else if (mutation.type === 'characterData') {                processElement(mutation.target.parentNode);            }        });    });observer.observe(document.body, { childList:true, subtree:true,characterData:true });})();

Permalink |記事への反応(1) | 16:34

このエントリーをはてなブックマークに追加ツイートシェア

2023-09-19

anond:20230919111218

ChatGPTに夢見すぎ

なるべくクソ簡単なのはやらせるようにしてるけどまあ使えない

今日も「今週の水曜日」をJavaで出すのを書かせたけど何回か修正させても出来ない

自信満々で出してきたのをバグ取りしてるから最初から書いた方が全然早い

まあ試してるだけなので時間無駄承知の上だけど

今んとこ使えてるのはYmlのフォーマット修正とか簡単RegexSQLくらい

Permalink |記事への反応(1) | 11:21

このエントリーをはてなブックマークに追加ツイートシェア

2023-08-09

anond:20230809121441

適当にできるのが売りだから

チューニングとかニッチマーケットはあると思うよ

ChatGPTがRegexとかYamlフォーマットするのとか得意だけどな

あえてSQLがどうかはしらんけど

場末SQL職人で食ってる人が結構いてなるべくさけてるし履歴書にも絶対載せない

Permalink |記事への反応(0) | 12:31

このエントリーをはてなブックマークに追加ツイートシェア

2022-05-03

[あとで読む]2022年4月はてブあとで読むトップ30リスト

はてブホットエントリ(総合)で月内に数多く[あとで読む]タグを集めたエントリ

590あとで/4204users 【詳しすぎる2週間】親の死亡後にまずやること(行動チェックリスト付) | まごころ相続コンシェルジュ

291あとで/1560usersGoogle製のJavaScript教育ツール「Grasshopper」は基礎から学べて初心者に優しい!【どれ使う?プログラミング教育ツール】 |窓の杜

272あとで/1859users無料コーディング練習所 | 未経験からWebデザイナーへ!

220あとで/1327users 【翻訳Googleエンジニアソフトウェア開発する時に必ず書くドキュメント「DesignDocsatGoogle」 - BppLOG

201あとで/1017users 30 分でわかる!アルゴリズムの基本 | E869120 | SpeakerDeck

191あとで/1365usersWi-Fiトラブル解決に便利! Windowsの隠れ便利機能Wlan Report」を活用しよう【イニシャルB】 |INTERNET Watch

175あとで/888usersWeb開発者もっと安全ウェブサイトの作り方」を読むべき - Flatt SecurityBlog

171あとで/2593users (追記あり)10億円資産ができたときに知っておいたほうがいいこと |anond.hatelabo.jp

164あとで/849usersAWS初心者向けの教材まとめ、AWS日本法人が公開 |ITMedia

162あとで/1231users 【試し読み】書店員さんから反響! 精神疾患を抱えた妻の介護仕事…約20年にわたる苦悩の日々を綴った傑作ルポ『妻はサバイバー』|朝日新聞出版さんぽ|note

159あとで/935users機械学習が独学できる日本語Youtube難易度別まとめ -Qiita

152あとで/961users 8時間を0.01秒に短縮 「アルゴリズムの素晴らしさが2分で分かる動画」が今すぐ勉強したくなる分かりやすさ |ねとらぼ

142あとで/889users 文春オンライン記事分析を支える爆速ダッシュボードを作るまで|Shota Tajima|note

141あとで/2006usersさよなら絵梨 -藤本タツキ |少年ジャンプ+

140あとで/1138users新電力中の人です。すべてをお話します |anond.hatelabo.jp

136あとで/1094users 『ゴールデンカムイ』全話無料! |ヤンジャン!

135あとで/780usersDocker創始者らが開発、ビルドテストデプロイ自動化ポータブルにするツール「Dagger」登場。そのままローカルでもGitHubでもCircleCIでも実行可能に | Publickey

132あとで/575usersフロントエンドエンジニアが知るべきキャッシュ理解する | カーーズ | Zenn

132あとで/1232users みんなが知ってる『ちょっとのコツでめっちゃ美味しくなる、楽になる』みたいなの教えて→全然知らなかった有益情報が集まる |Togetter

131あとで/679users 【個人開発】正規表現を学ぶ狩りに出ませんか?モンスターを倒しながら正規表現が学べるゲームRegex Hunting」を作りました -Qiita

124あとで/1217users 先輩に「何かタメになる話してくださいよ〜」と無茶振りしたら『LanguageReactor』という2言語字幕を同時表示できるChrome拡張機能を教えてもらった |Togetter

124あとで/1254users 育休中に相方がめちゃくちゃ売れた|酒寄さん|note

120あとで/1114usersGoogle Analytics(UA)が使えなくなるのはどのくらいヤバくて、いつまでに何をしたら良いのかの話。 -フジイユウジ::ドットネット

120あとで/598users電子情報学特論:Chromiumアーキテクチャを解き明かす | Kentaro Hara |Google Slides

119あとで/1242users 僕がたどり着いた最強パリパリチキンの焼き方→上手に焼くポイントも「鶏肉好きとしては是非とも取り入れたい」「最高のライフハック」 |Togetter

118あとで/866users 「全クリエイターに広まってほしい」文化庁質問に答えるだけで『著作権契約書』が作れる超便利なツールを作っている |Togetter

116あとで/897usersちょっと触ったら休日が丸2日消失した 個人2022年ベストゲーム「TUNIC」を全力で推したい |ねとらぼ

115あとで/798users 結局UMLとかシーケンス図とかAWSの図とかどれで描くと良いのよ?と思ったとき選択肢 -Qiita

112あとで/494users 『良いコード/悪いコードで学ぶ設計入門 』を出版します|ミノ駆動note

109あとで/522users 予防に勝る防御なし -堅牢コードを導く様々な設計のヒント / Growing Reliable Code PHPerKaigi2022

109あとで/1047users (続き)10億円資産ができたときに知っておいたほうがいいこと |anond.hatelabo.jp

はてブではあまり見かけなかったタイプの商用っぽいけど大手メディアじゃなさそうなサイトが上位に入った

Permalink |記事への反応(0) | 13:01

このエントリーをはてなブックマークに追加ツイートシェア

2018-09-25

anond:20180925144857

DBpedia適当検索

http://ja.dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fja.dbpedia.org&query=select+distinct+%3Fs+where+%7B%0D%0A++%7B+%3Fs+rdf%3Atype+dbpedia-owl%3ACartoon+%7D+UNION%0D%0A++%7B+%3Fs+prop-ja%3AwikiPageUsesTemplate++template-ja%3A%E6%BC%AB%E7%94%BB%7D+.%0D%0A++%7B+%3Fs+foaf%3Aname+%3Fname+%7D+UNION%0D%0A++%7B+%3Fs+rdfs%3Alabel+%3Fname+%7D%0D%0A++FILTER+regex%28%3Fname%2C+%22%28%E3%80%82%7C%E3%80%81%7C%3A%7C%5C%5C.%29%24%22%29%0D%0A%7D+LIMIT+1000&should-sponge=&format=text%2Fhtml&timeout=0&debug=on

クエリ

select distinct ?s where {  { ?srdf:type dbpedia-owl:Cartoon } UNION  { ?sprop-ja:wikiPageUsesTemplate  template-ja:漫画} .  { ?sfoaf:name ?name } UNION  { ?srdfs:label ?name }  FILTERregex(?name, "(。|、|:|\\.)$")} LIMIT 1000

Permalink |記事への反応(0) | 18:43

このエントリーをはてなブックマークに追加ツイートシェア

2013-09-22

ニートエロサイトを作ったら結構デカサイトに成長した

こんばんは。27歳のニートです。

ひょんなことからエロサイトを作ったら結構デカサイトになったのでそのことについて書きたいと思います

作成サイト

巨乳動画ストリーム
http://kyonyudouga.com/

まぁよくある動画共有サイトを使用したエロサイトです。

1日のPV数はPCSP合わせて60万PV

サイト開設の経緯

就職活動で躓き自信喪失し、はれてニートに。

さすがにニート生活にも飽き、何かやりたいなと考えた時にアフィリエイトを思いつく。

実はアフィリエイトについては以前から知っていて実際にやったこともありました。

しかしその時は全く稼げず、またその時は他にやることもあった為すぐにやめてしまいました。

ニートである今なら時間たっぷりある。

腰を据えてやったらどうなるだろうと思い、再度アフィリエイトを始めることにしました。

どんなサイトを作ろうかと考えた時に真っ先思いついたのがエロサイトでした。

ええそうです。エロが好きだからです。

サイト開設後の経緯

まずFC2ブログで開設しました。

アダルトサイトアクセスを集める手法としてアクセストレードと呼ばれる

他のアダルトサイト相互アクセスを送り合う手法が主流です。

そのため他サイト画像リンクが増え、とても使いにくいものになっています

画面をずっとスクロールさせないとコンテンツに辿り着けなかったり、ひどいところは騙しリンクもあります

当初は私もアクセストレードメインで集客をしており、サイト画像リンクだらけ。

ちゃごちゃしていてコンテンツの位置もわかりにくいというお世辞にも良いサイトとは言えませんでした。

そしてアクセストレードというのは結局のところ自サイトアクセス数により送れるアクセス数限界があるため、ある程度のところでアクセス数頭打ちになります

実際のところ私のサイトも1日3万PV程度で頭打ちになりました。

そのためやる気を無くし半年放置して2ちゃんまとめブログを始めました。

しかしそれも上手くいかず半年で閉鎖。

そこで2ちゃんまとめブログ運営で得たノウハウエロサイトの方で実行したことろこれが上手くいきました。

実行したこと

デザインをすっきりさせわかりやすい構成にする

これは一般サイトでは当たり前のことなのですがエロサイト大手サイトでさえ非常にわかりにくい構成のサイトが多いです。

一方で2ちゃんまとめブログ大手サイトほど他サイトへのリンクも少なくわかりやすい構成になっていました。

なので思い切って画像リンク等を全て外し、わかりやすデザインに変更しました。


②多更新にする

当時2ちゃんまとめブログキニ速VIPPER速報

後発のブログが多更新武器に台頭してきていました。

そこで私もエロサイトに多更新を取り入れ1日に1~3回更新だったのを1日24回、1時間に1回更新というスタイルに切り替えました。


③表示速度の改善

エロサイトはとにかく重たいところが多いです。

それは①で書いた通り画像リンクが異様に多いからというのもあるのですが動画共有サイトを利用したエロサイトは誰でも簡単に作れるため

その辺りがかなり適当なところが多いのです。

CSSspriteの使用やCSS,JSファイルのminify等ページの表示速度に関する施策を行っていないところがほとんどです。

なのでその辺りのことを一通り勉強し実行しました。


スマートフォンページの最適化

無料ブログ運営しているエロサイトスマートフォンページをしっかり作っていないところがほとんどです。

ほぼ広告ページとしてしか使用しておらず、コンテンツと紛らわしい広告を載せていたり、

コンテンツがあっても共有サイトプレーヤーサイズスマホ画面サイズに合わせていないなど

サイトとして使えるものほとんどありませんでした。

そこで私はスマートフォンページのテンプレもしっかり作り込み最適化させました。


これらを実行した結果、ページ数が増えるに従い検索からアクセス右肩上がりで増え

PCページ40万PV/日、スマホページ20PV/日というサイトに成長しました。


アクセスが増えた後いくつかの動画配信サイトとサンプル配信提携をすることが出来ました。

これには凄く驚きました。こんなことがあるのかと。

企業自分サイトが認められたようで凄く嬉しかったです。

SEOについて

SEO施策はググれば出て来るような基本的なことしかやっていません。

SEO業者も利用していませんし、今のところこのサイトしか持っていないので自演リンクも一切やっていません。

ただソースを綺麗に書くように意識はしています

SEOについてもエロサイトは基本すら出来ていないところが多いのでそれだけでライバルと差をつけることが出来ます

ちなみに私のサイトビッグキーワードアクセスを集めているのではなく(一応「巨乳」で4~7位くらいですがそのワードでの流入は少ないです)

大量の細かいキーワードアクセスを集めています

ロングテールってやつですね。

ロングテール検索順位の変動にビクビクせずに済むので良いです。

wordpress

先日FC2ブログからwordpress移転しました。

やはり無料ブログでは出来る事に限界があり、エロサイトはいえ良いサイトにしたいという思いがあったからです。

そのためデザイン機能にはかなりこだわりました。

デザインは某サイトパクリインスパイアしましたw

wordpressでの運営経験もなくサーバー関係スキルもないので移転にはかなり苦労しました。

キャッシュってほんと大事ですね。


我ながら良いサイトに仕上がったことと移転を期に今までの足跡を残そうと日記を書きました。

サイトの構成や使用プラグイン


jQueryプラグイン

glider

jwplayer

Sidr(スマホ)


WPプラグイン

001PrimeStrategy Translate Accelerator

Contact Form 7

CountPer Day

DBCache ReloadedFix

Exec-PHP

Head Cleaner

Infinite Scroll

Multi Device Switcher

Quick Comments

SearchEverything

SearchRegex

W3TotalCache

WordPressSEO

WP-DBManager

WP-PageNavi

WP-PostRatings

WP-PostViews

WP HyperResponse


アフィリエイト収入について

多分これが一番気になるところだと思います

ぶっちゃけると月の収入はだいたい100万程度です。

そのうち7割程度がスマホページから発生したものです。

アフィリエイトという観点からスマホページの重要性がわかりますね。


現在PHP勉強してスクレイピングシステムを構築中です。

あとcookieを利用したブックマーク機能も実装したいです。

エロだけじゃなくて一般サイトWEBサービスも作りたいと色々模索しております


どうしようもないクズニートでも頑張ったらこれぐらいのことは出来ました。

ニートでも頑張れば出来るんだ!と思って頂けたら幸いです。

-----------------------------------------

03:59追記

たくさんのブックマークありがとうございます

とても嬉しいです。

確かに見やすくて使いやすいな。
けどリンク切れ報告フォームはなくていいの?実際他のサイトでそれが有効に使われてるのかはよくわからないが…
カテゴリけがシチュエーション別とかもあるといいなーと思ったけどこれ以上多くすると大変かな。あまり項目を多くするとまた見にくくなるかもしれないし。

お褒め頂きありがとうございます

リンク切れ報告フォームは以前は置いていたのですがあんまり報告してくれないんですよねw

自動リンク切れをチェックするシステムを導入する予定なのでそちらで行います

シチュエーション別もFC2の時はタグを利用してリストを作っていたのですが

FC2タグエクスポート出来ないのでwordpressではなくしちゃいました。

出来ないことはないのですが手作業でタグを登録し直さなければならないので…

かい方法が見つかったら実装させてみます

それだけのスキルを身につけたらどこかに就職できそうだw

就職しても多分続かないです。社会不適合者なんですよw

WordPressテーマは何を使っているんだろう?

テーマPCSP共に自作のものです。




-----------------------------------------

25日02:13追記

えーと下の方でステマだとおっしゃっている方がおりますがそのサイト製作者と私は別人です。

私はRubyなんて使えません。

巨乳動画ストリームは手動で更新しております

こういう事を書くと余計に怪しいと思われてしまうのでしょうけども。


あとステマ意味を履き違えてらっしゃると思います

ステマというのは運営者や製作者、その関係者が”利用者のフリをして”モノやサービスを薦める行為の事です。

運営者や製作者自身が「こういうのやってるんですけどどうですか?作ったんですけどどうですか?」と紹介するのはステルスではないただの宣伝です。

上でも書きましたが我ながら良いサイトに仕上がったので見てもらいたいなと思ったのです。

見てもらって感想を聞きたいなと。

エロ動画サイトってアクセスが多くてもコメントほとんど付かないし感想を聞く機会がほとんどないんですよ。

でもFC2ブログだとさすがに恥ずかしいのでね。

wordpressならまぁ見せても恥ずかしくはないんじゃないかと思いまして。


で、宣伝効果は正直あまりなかったです。

この日記はたくさんブックマークされましたけどサイトの方はほとんどブックマーク増えてません。

トップページブックマーク数22ですよ。

もうちょっとブックマークしてくれてもいいじゃないですか…

この日記からの流入も1日1000ユニークくらいでした。

私のサイトの1日のユニーク数の60分の1くらいですね。

肝心な時にサーバーが落ちてたせいもありますが。


結局この日記を書いた主な理由はただの自己満足自己顕示欲ですね。

ただそれだけのくだらない日記でございます

それがもし誰かの役に立つのなら幸いですと、ただそれだけのことでございます

Permalink |記事への反応(14) | 19:50

このエントリーをはてなブックマークに追加ツイートシェア

2008-08-03

ニコニコ動画を快適化するvimperator設定まとめ

.

8/27追記

本記事末尾のローカルkey mappingを実現するコードを改良してプラグインにしました。

Vimperatorローカルkey mappingを実現するプラグイン local_mappings.js を書いた。

http://anond.hatelabo.jp/20080826124641


まずnicontroller.jsを入れる。

2008-07-14 - やぬすさんとこの日記

http://d.hatena.ne.jp/janus_wel/20080714

→n秒後/前に移動するkey mappingも忘れずに!

vimperatorrcにこれを書く。

Re: autocmd が分からない - hogehoge

http://d.hatena.ne.jp/teramako/20080731/p1

コードをいじった。

" --- autocmd ---" nicovideo" cでコメント入力、Cでコマンド入力、sでシーク、lでボリューム調整、" pで停止/再生、mでミュートのon/off、vでコメの表示トグル、zでズームjavascript <<EOMliberator.plugins.nicomap =function(){// no argsvar list=[    ["p","nicopause"],    ["m","nicomute"],    ["v","nicomementvisible"],    ["z","nicosize"],    ["s","nicoseek"],  ];//has argsvar list2=[    ["c","nicomment"],    ["C","nicommand"],    ["l","nicovolume"],    ["s","nicoseek"],  ];if(buffer.URL.indexOf("http://www.nicovideo.jp/watch") == 0){for (var j=0; j<list.length; j++){      let i = j;      liberator.mappings.addUserMap([1],[list[i][0]],list[i][1],        function(){          liberator.execute(list[i][1]);},{          rhs:":"+list[i][1]+"<CR>"}      );}for (var j=0; j<list2.length; j++){      let i = j;      liberator.mappings.addUserMap([1],[list2[i][0]],list2[i][1],        function(){  liberator.execute('normal :'+list2[i][1]+'<Space>');},{  rhs:":"+list2[i][1]+"<Space>"}      );}}else{for (var i=0; i<list.length; i++){      liberator.mappings.remove(1,list[i][0]);}for (var i=0; i<list2.length; i++){      liberator.mappings.remove(1,list2[i][0]);}}};liberator.autocommands.add('LocationChange','.*','js liberator.plugins.nicomap()');EOM

フォーカスプレーヤーに奪われないようにするグリモン

2008-08-02 -地獄の猫日記

http://d.hatena.ne.jp/nokturnalmortum/20080802#1217633913

→→これで超快適すぎるニコライフの幕開け!

.

補足

現在マウスカーソル位置でクリックイベント発生するkey mappingを設定できればより快適なんだが・・・。

(「コメントする」ボタンDOMノードが取得できれば、dispatchEventでいけそうだけど)

追記: ちょっと改良してみた。
" ************* localkey mappings ****************javascript <<EOM (function(){function setlocalmap(obj){    var list = obj.list;    var list2 = obj.list2;    var exp = obj.exp;    if(list.constructor != Array || list2.constructor != Array){      echr("invalid argument: array argument required");return;    }    if(exp.constructor !=RegExp){      echr("invalid argument:regex argument required");return;    }    if(exp.test(liberator.buffer.URL)){      for (var j=0; j<list.length; j++){        let i = j;        liberator.mappings.addUserMap([1],[list[i][0]],list[i][1],          function(){            liberator.execute(list[i][1]);          },{            rhs:":"+list[i][1]+"<CR>"          }        );      }      for (var j=0; j<list2.length; j++){        let i = j;        liberator.mappings.addUserMap([1],[list2[i][0]],list2[i][1],          function(){    liberator.execute('normal :'+list2[i][1]+'<Space>');  },{    rhs:":"+list2[i][1]+"<Space>"  }        );      }    } else {      for (var i=0; i<list.length; i++){        liberator.mappings.remove(1,list[i][0]);      }      for (var i=0; i<list2.length; i++){        liberator.mappings.remove(1,list2[i][0]);      }    }}/**  *AddKey Mappings to SpecificWebPages * @param obj :has following properties *  list : commands thattake no args *  list2 : commands thattake args *  exp : target page'sURL (regex) * @see Re: autocmd が分からない - hogehoge * http://d.hatena.ne.jp/teramako/20080731/p1 */liberator.plugins.addLocalUserMap = function(obj){  liberator.plugins[obj.name + "MapSetter"] = function(){    setlocalmap(obj);  }  liberator.autocommands.add(  'LocationChange', '.*', 'js liberator.plugins.' + obj.name + 'MapSetter()'  );};// nicovideo// cでコメント入力、Cでコマンド入力、sでシーク、lでボリューム調整、// pで停止/再生、mでミュートのon/off、vでコメの表示トグル、zでズーム。var nicovideo = {name : 'nico',exp : /^http:\/\/www.nicovideo.jp\/watch/,list : [    ["p","nicopause"],    ["m","nicomute"],    ["v","nicomementvisible"],    ["z","nicosize"],    ["s","nicoseek"],],list2 : [    ["c","nicomment"],    ["C","nicommand"],    ["l","nicovolume"],    ["s","nicoseek"],],};liberator.plugins.addLocalUserMap(nicovideo);})();EOM

Permalink |記事への反応(1) | 20:23

このエントリーをはてなブックマークに追加ツイートシェア

2008-06-10

諸君、私はC++が好きだ

諸君、私はC++が好きだ

諸君、私はC++が好きだ

諸君、私はC++が大好きだ

演算子オーバーロードが好きだ

テンプレートが好きだ

STLが好きだ

Boostが好きだ

FC++が好きだ

Windows

Mac

Linux

BSD

Solaris

この地上でコンパイルされるありとあらゆるC++が大好きだ

演算子を多重定義できるC++が好きだ

演算子意味が変わり、直感的なコードが書き下せる時など心がおどる

テンプレートが使えるC++が好きだ

動的言語の優位性を語っている奴等にそれを見せた時など胸がすくような気持ちだった

Boostが好きだ

Boost::lambdaを使って(_1 + _2)と二つの引数を足算した結果を返す無名関数を定義した時など感動すらおぼえる

Boost::regex正規表現を書く時などもうたまらない

Boost::shared_pointerでオブジェクト自動的に解放されるのは最高だ

納期に追われて急いで書かなければならないパーサを

Boost::spiritBNF記述して書いた時など絶頂すら覚える

マルチパラダイムC++が好きだ

そんなC++が複雑だと思われているのはとてもとても悲しいものだ

テンプレートが好きだ

エラーメッセージ意味不明だと言われるのは屈辱の極みだ

諸君 私はC++を 変態の様なC++を望んでいる

諸君 私に付き従うC++好きの諸君 君たちは一体何を望んでいる?

更なるC++を望むか 

糞の様なC++を望むか?

BoostFC++によってさらに変態的になっていくC++を望むか?

C++!! C++!! C++!!

よろしい ならばC++

だが、LL全盛の時代の陰でもはや組み込みHPCぐらいでしか使われないという中傷に耐え続けて来た我々には

ただのC++ではもはや足りない!!

C++を!! 一心不乱の大C++を!!

我々はわずかに小数

PerlPHPPythonRubyJavaScriptに比べれば物の数ではない

だが諸君は一騎当千のBinarianだと私は信じている

ならば我らは諸君と私で総兵力100万と1人のコンピュータサイエンティスト集団となる

我らを忘却の彼方へと追いやり、インタプリタしか知らない連中を叩きのめそう

髪の毛をつかんで引きずり下ろし 眼(まなこ)をあけて思い出させよう

連中コンパイラの偉大さを思い出させてやる

連中インタプリタでは実用的なプログラムが書けないということを思い出させてやる

C++には奴らの哲学では思いもよらない書き方がある事を思い出させてやる

1000人のBinarianの集団で 世界変態的なコードで埋め尽くしてやる

目標 世界のありとあらゆるプログラム

一億総合コンパイル作戦 状況を開始せよ

逝くぞ 諸君


http://wids.net/lab/sukida.htmlで生成。

Permalink |記事への反応(1) | 23:35

このエントリーをはてなブックマークに追加ツイートシェア

2007-11-18

http://anond.hatelabo.jp/20071118224937

初めてpipes体験したけど、超簡単で感動した!

fetch feedではてぶのフィードを取ってきて、filterでitem.linkをMatchesregex正規表現マッチした奴をblockするだけ。チョー簡単。

Permalink |記事への反応(2) | 23:55

このエントリーをはてなブックマークに追加ツイートシェア

 
ログインユーザー登録
ようこそ ゲスト さん
Copyright (C) 2001-2026 hatena. All Rights Reserved.

[8]ページ先頭

©2009-2026 Movatter.jp