はてなキーワード: コメントアウトとは
「公式 Chrome ウェブアプリ はてなブックマーク」でコメントページを表示すると、旧UIのようにコメントだけを一覧表示できていい感じ。
というわけで訓練されたはてブ民の間ではuser.jsなどで飛ばしたりアレするのが流行るものと思われるが、グリモンだかなんだかに馴染みのない私は、今さら誰も触れないであろうProxomitronを使った転送方法を記しておく。
適当ながらメタブ対策を盛り込んでみたのがチャームポイント。
#はてブのコメントページをChrome Web App版に飛ばす 2011/05/17 14:50 (^$OHDR(Referer:http://b.hatena.ne.jp/viewer\?))$URL(http://b.hatena.ne.jp/entry(/|\?mode=more?url=)(s/$SET(#=https://)|(http(s|)://)\#|(^(^[^/]++.))$SET(#=http://))(\#))$SET(9=$UESC(\@))$JUMP(http://b.hatena.ne.jp/viewer?entry=$ESC(\9)) ($OHDR(Referer:http://b.hatena.ne.jp/viewer\?))$URL((http://b.hatena.ne.jp/entry/*)\0)$SET(9=$UESC(\0))$JUMP(http://b.hatena.ne.jp/viewer?entry=$ESC(\9))
下の行はメタブのためのmatch。タイトル下のブクマ数カウンターをクリックするとメタブページへ飛ぶようになる。不要ならばコメントアウト。
不具合があればどこかでid:Falkyをidコールするか@Sizukenにmentionを飛ばすかすると直るかも。
UIの好き嫌いが分かれてる感じですが、好き放題CSSを流し込んで左ペインさんに消えていただいたり、jsいじくってインラインプレビューを無効化したり、ちょこちょこいじってやるとそこそこ快適なブコメビューワになりますよ。新UIよりはずいぶんマシな感じですね。http://img.ly/system/uploads/000/993/748/original_PrtSc_000114.png
新アップローダがかなりドイヒーなので転載。http://www42.tok2.com/home/proxo/4.html
<<< URLControlフィルタ >>> これはURLを扱うヘッダフィルタを1つにまとめるフィルタです。 ime.nuを飛ばしたり、他のサイトにジャンプさせたりと、指定の 仕方次第で様々なことが実現出来ます。 バージョン4.5以上推奨。 4.4以下で動くかは不明。(バージョンアップ推奨) (インストール方法) 1、オミトロンフォルダ内のListsフォルダの中に URLControl.txt という テキストファイルを作る。 2、このテキストファイルを 設定、BlockFile、追加 から URLControl と いう名前でオミトロンに登録する。 3、下のヘッダフィルタをオミトロンに追加する。 範囲選択で下のフィルタを選択、コピー、ファイル、設定フィルタの併合、 クリップボードからデータを併合、ファイル、デフォルトの設定に保存。 ----------------------- [HTTP headers] In = FALSE Out = TRUE Key = "URL: URLControl (Out)" Match = "$LST(URLControl)" ----------------------- 4 URLControl.txt にURLとその処理方法を登録すれば完成。 ( URLControl.txt の記述例 ) 書き方は $URL(http://付きのURL)行いたい処理 という感じです。 例、 # ヤフー上のページにアクセスしようとしたらgoogleのトップページに飛ばす。 $URL(http://www.yahoo.co.jp/)$JUMP(http://www.google.co.jp/) #------------------------- URLControl.txt ------------------------- # NOADDURL # 先頭に # がある行は無視されます。 # 2chでimeの広告ページを踏まずに直接リンク先に行く。 $URL(([^:]+:/+)\0(ime.(nu|st)/|pinktower.com/)(\1))$JUMP(\0\1) # したらばで、広告ページを踏まずに直接リンク先に行く。 $URL(http://jbbs.shitaraba.com/bbs/link.cgi\?url=\0)$JUMP(\0) # Livedoor ブログ検索 $URL(http://sf.livedoor.com/show\?blog_url=([^&]+)\0)$JUMP(\0) # 旧tripodにアクセスしようとしてたら移転先のinfoseekに飛ばす。(2種類) $URL(([^:]+:/+)\0(cgi|members).tripod.co.jp/([^/]+)\1\2)$JUMP(\0\1.at.infoseek.co.jp\2) $URL(([^:]+:/+)\0([^/]++.|)\1tripod.co.jp/)$JUMP(\0\1at.infoseek.co.jp\p\q\a) # Proxomitron-Jでウェブフィルタを無効にする。 $URL(http://www.pluto.dti.ne.jp/~tengu/proxomitron/)$FILTER(False) # Proxomitron User's Wikiでウェブフィルタを無効にする。 $URL(http://abc.s65.xrea.com/prox/wiki/)$FILTER(False) ### 以下はコメントアウトして無効になっています。 ### 有効にしたい場合はコード行の先頭の # を消して下さい。 # local.ptron/以下に接続するときはWEBフィルタを無効にする。 # Bypassリストから local.ptron/ を消してこれを使えば # local.ptron/ にもヘッダフィルタが使えます。 #$URL(http://local.ptron/)$FILTER(False) # アクセスするときにキーボードのSキーを押していたらページのソースを表示する。 #$KEYCHK(S)$URL(([^:]+:/+)\0\1)$RDIR(\0\xsrc..bypass..\1) # アクセスするときにキーボードのDキーを押していたらデバックモードでソースを表示する。 #$KEYCHK(D)$URL(([^:]+:/+)\0\1)$RDIR(\0\xdbug..\1) # pya! で「18歳以上ですか? はい、いいえ」ページをスキップ。 #$URL(http://pya.cc/pyaimg/han.php\?han=\0)$JUMP(http://pya.cc/pyaimg/spimg.php?imgid=\0) #------------------------- URLControl.txt ------------------------- ※ \k はマッチ欄では動かないのでこのフィルタでは使えません。 \kを使いたい処理は Kill-a-URL フィルタをご利用下さい。 更新情報 : 2004/4/14 -> 2006/4/18 リストを更新。
こんにちは、技術恋愛戦略学を専攻しているユビキタス嬢です。私は学歴もスキルもありませんし偽装請負ですが、情報系の恋愛に関してはプロフェッショナル。今回は、モテる情報系女子力を磨くための4つの心得を皆さんにお教えしたいと思います。
1. あえて2~3世代前の開発言語のスキルを履歴書に書いて行く
あえて2~3世代前の言語を使うようにしましょう。そして会社のマッチング面談で好みの人事がいたら話しかけ、わざとらしくラップトップを出していじってみましょう。そして「あ~ん! このC○B○L本当にマジでチョームカつくんですけどぉぉお~!」と言って、人事に「どうしたの?」と言わせましょう。言わせたらもう大成功。「オブジェクト志向開発とか詳しくなくてぇ~! ずっとコレ使ってるんですけどぉ~! 使いにくいんですぅ~!ぷんぷくり~ん(怒)」と言いましょう。だいたいの人事は新しい開発案件に流したがる習性があるので、古かったとしても1世代前の案件を担当しているはずです。
そこで男が「新しいスキルがほしくないの?」と言ってくるはず(言ってこない空気が読めない人事はその時点でガン無視OK)。そう言われたらあなたは「なんかなんかぁ~! 最近C# 5.0が人気なんでしょー!? あれってどうなんですかぁ? 新しいスキル学びたいんですけどわかんなぁぁああい!! 私かわいそーなコ★」と返します。すると男は「C# 4.0でしょ? 5.0はまだ仕様も決まってないよ。本当に良くわからないみたいだね。どんなスキルが欲しいの?」という話になって、次の営業日にふたりで案件選びのデートに行けるというわけです。あなたの女子力が高ければ、人事が優良案件を紹介してくれるかも!?
「var」とか「temp」などを表現する「hoge」をコードに入れると、コードレビュワーの男性SEは「なんかこの子カワイイなぁ」や「指導してあげたいかも」と思ってくれます。コード管理ツール上では現実世界よりもイメージが増幅されて相手に伝わるので 「hoge」を多用することによって、男性はあなたを可憐で女の子らしいと勘違いしてくれるのです。そういうキャラクターにするとほぼ絶対に同僚プログラマに嫌われますが気にしないようにしましょう。
3. とりあえず営業には「えー! なにそれ!? 知りたい知りたーい♪」と言っておく
ミーティングなどで営業がSE・プログラマに話すことといえば予算話や納期の話ばかり。よって、プログラマにとってどうにもならない話ばかりです。でもそこで適当に「へぇー検収間に合うんですかぁ~?」とか「よくわかんないですけど予算超過しそうですねぇ」と返してしまうと、さすがの営業も「このプログラマダメだな」と気がついてしまいます。ダメプログラマだとバレたら終わりです。そこは無意味にテンションをあげて、「えー! なにその業務要件!? 知りたい知りたーい♪」と言っておくのが正解。たとえ理解できない仕様でも、テンションと積極性でその場を乗り切りましょう。積極的に話を聞いてくれる女性に営業は弱いのです。
いろいろと話を聞いたあと、「〇〇は〇〇扱いで、〇〇が〇〇になるバグは見なかったことにするんですね! 忘れたぞぉ! メモ廃棄!コメント削除!」と該当コードをコメントアウトすればパーフェクト。続けて頭に指をさしてくるくる回しつつ「キュンキュンキュン! キュンキュンキュン!」と言って、「どうしたの?」と男に言わせるのもアリ。そこで「私のバグ発生履歴マスタからレコードを物理デリートしているのでありますっ☆」と言えば女子力アップ! そこでまたマネージャーは「この子おもしろくて使えるかも!?」と思ってくれます。私は学歴もスキルもありません偽装請負ですが、こういうテクニックを使えば知識がない私のようなバカ女のほうがモテたりするのです。マネージャーは自己保身に走りたいですからね。
客先担当者の男とレストランに入ったら、真っ先にATMなどの銀行系SIerを使ったシステムを探して「あーん! 私これ使えないんですよねぇ~(悲)」と言いましょう。するとほぼ100パーセント「どうして? キャッシュカード持ってないの?」と聞かれるので、「カード持ってるし使いたいけど使えないんですっ><」と返答しましょう。ここでまた100パーセント「カードがあるのにどうして使えないの?」と聞かれるので、うつむいて3~5秒ほど間をおいてからボソッとこう言います。「……だって、……だって、ATM使ったらエンジニアが死んじゃうじゃないですかぁっ! 孫請けプログラマかわいそうですぅ! まだ有給とってないのにぃぃ~(悲)。労災すら降りないんですよ……」と身を震わせて言うのです。
その瞬間、あなたの女子力がアップします。きっと男は「なんて優しい労働基準監督官のようなコなんだろう! 絶対にゲットしてやるぞ! コイツはうちの担当SEだ!」と心のなかで誓い、あなたに惚れ込むはずです。意中の会社を担当することになったら、そんなことは忘れて好きなだけATMを使って大丈夫です。「使えないんじゃなかったっけ?」と言われたら「大丈夫になった」とか「もみ消した」、「そんなこと都市伝説です」と言っておけばOKです。
これは http://anond.hatelabo.jp/20110316202255 の続編です。
GTをやる前に改を書いてくれている人がいてとてもしっかりした内容なのでちゃんと勉強したい人はそっちを見てね!
d:id:ryoasai:20110317 - ドラゴンボールで学ぶオブジェクト指向 改 | 達人プログラマーを目指して
またオブジェクト指向については
d:id:m-hiyama:20080109 いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ | 檜山正幸のキマイラ飼育記
がとても詳しいです。合わせて読むとかなりしっかりと理解出来ると思います。
ホットエントリに行くとは思っておらず、皆様ありがとうございます。
「ドラゴンボールをオブジェクト指向にする」というコンセプトではなく、「オブジェクト指向を(無理矢理)ドラゴンボールで説明する」という遊びだったので
プログラマーの方々にはツッコミを受けてしまいましたがここは遊びだと思って楽しんで下さい…。
ドラゴンボールは小さい頃から大好きでしたが流石にうるおぼえ過ぎました。
それはさておき「説明する題材を決める→好きな漫画から無理矢理当てはまりそうな例を考える」という思考実験なので、気が向いた方は色々考えてみると楽しいと思います。僕は楽しかったです。
これは難易度が高そうです。
やっぱりドラゴンボールで例えると分かりやすいな!
無理がある!
デザインパターンとはドクターゲロが考えた「こうやって設計すれば色々捗るぞ」という例のことです。実際はGoFという人たちが考えたもので23個のよくあるパターンに名前を付けて整理してくれたわけですね。
23個の中にはブルマさんですらわからないものが多いので(さすがドクターゲロですね)良く使う、代表的な物をいくつか紹介します
Singletonは世界に一つだけしか存在出来ないようにする方法です。
balls = new DragonBalls(); //これでは誰でもドラゴンボールを作れてしまう! balls.callShenron();
クラスの中にはいくつかのメソッドがありますが、簡単に言うと外から呼べるもの、外からでは呼べないものの
二種類があります。そうやってメソッドを保護することで世界の崩壊を防ぐわけですね。
基本的な戦闘力をアップさせるには本人の努力が必要になり、外から簡単に挙げられてしまうとジャンプの三本柱が外れてしまいます。
ただナメック星の最長老や界王神などはかなり偉いので、本人の才能を引き出すことが可能でした。
現実には思いつきのような仕様を後から言われることが多々あります。困ります。
//地球上にひとつだけ存在するドラゴンボールをつくろう class DragonBalls{ private DragonBalls(){ //ドラゴンボールを作れないように生成メソッドを保護します。 } static function sagasouze(){ static singleton_dragonball; //ドラゴンボールを生成。 //DragonBallsクラスの中なので、保護してある「new DragonBalls()」を呼べます。 if(!singleton_dragonball)singleton_dragonball = new DragonBalls(); return singleton_dragonball; } }
地球のみんなは地球語しか話せませんが、ナメック星にいるクリリンを通して願いを叶える必要があります。
クリリンももちろん地球語しか話せませんが、ナメック語を話せるデンデがいるため、地球のみんなは願いを叶えることが出来ます。
class Kuririn{ private dende = new Dende(); function request( wish1, wish2, wisth3){ this.dende.request(wish1); this.dende.request(wish2); this.dende.request(wish3); } } kuririn.request( "ピッコロを生き返らせてくれ", "ピッコロをナメック星へとワープさせてくれ", "ナメック星にいる孫悟空とフリーザ以外を全員地球へとワープさせる" );
この場合のメリットはデンデが何をやっているかクリリンをプログラミングした人が知る必要が無いということです。
地球の人はナメック星にいるナメック星人が「デンデ」であることを知る必要もありません。
それでも願いは叶うんです。
本来であればデンデやクリリンは願いが叶うのを待つ必要がありましたが、地球の人は一気に伝えることが可能なように設計しました。
//デンデクラス。ナメック星人は英語でNamekianらしいです。 class Dende extends Namekian{ function translate(word){ namekian = *****//ナメック語に翻訳します。 return namekian; } function request(wish){ static polunga; if(!polunga){ polunga = DragonBalls.spell("タッカラプト ポッポルンガ プリピット パロ"); } polunga.ask(this.trasnlate(wish)); } }
大まかなアルゴリズムだけ決めておいて、実装はサブクラスに任せる設計がTemplate Methodです。
ナメック星に行く方法を考えた時いくつかの方法がありました。古い宇宙船を探してきて直して載せて…っていちいち書くより同じメソッドでナメック星に行けたほうが便利ですね。
abstract class WayToNamek{ abstract function prepareSpaceShip(); abstract function launchSpaceShip( ship ) ; function gotoSU839045YX( people ){ ship = prepareSpaceShip( ); //船を修理します ship.load(people); //人を載せます this.launchSpaceShip(ship); //船を出発します。 } }
ナメック星に行く方法を定義したので「ブルマ、クリリン、悟飯」組と「悟空」をそれぞれナメック星に連れて行きましょう。
way = new WayWithKamisamaShip(); way.gotoSU839045YX( buruma, kuririn, gohan ); way = new WayWithSaiyajinShip(); way.gotoSU839045YX( goku );
と簡単に方位SU83、距離9045YXまで乗員を連れて行くことが出来ます。
二つの方法を実装します。神様の船を修理して行く方法と、サイヤ人の船(悟空が乗ってきた船)で行く方法の二つです。
//神様の船で行きます。 class WayWithKamisamaShip extends WayToNamek{ function prepareSpaceShip(){ return new KamisamaShip(); //船を準備します。神様の船を使います。 } function launchSpaceShip(ship){ ship.inputByVoice("ナメック星に出発"); // } } class WayWithSaiyajinShip extends WayToNamek{ function prepareSpaceShip(){ return new SaiyajinShip(); //船を準備します。サイヤ人の船(フリーザの船?)を使います。 } function launchSpaceShip(ship){ //audio = new HighSpecAudio(); //ship.setAudio(audio); ship.turnOnCenterButton(); //真ん中のボタンを押すだけ } }
元になる船も違いますし、発射の仕方も違いますが同じ呼び出し方が出来ます。
オーディオの位置が決まりませんでしたが、今回の運用では不要とのクライアントからのご意見でしたのでだったので
せっかく用意したオーディオも無駄になりましたが、コメントアウトしてあります。
なんか知らないけど、外注の不具合を直せとか、他人の尻ぬぐいとか、破綻したプロジェクトの火消しとか、ばかりで、0からの開発なんてほとんどやらせてもらえないんだが。
第7位 main関数だけで2000行overだったプログラム(C言語)
第6位 switch文の1つのcaseブロックが1000行overだったプログラム(C言語)
第5位 コメント文ばっかりと思ったプログラムが、実は日本語関数名だったプログラム(VB)
第4位 どんなに読んで修正して実行しても、いっこうに直らないと思ったら、関数突入直後にreturnしていたプログラム(C言語)
第3位 どんなに読んで修正して実行しても、いっこうに直らないと思ったら、#if 0 ~ #endifでコメントアウトしていたプログラム(C言語)
共有に上げて周知したものって、簡単にパス変えちゃいけないと思うんですよ。
以前にフォルダ構成変えられた時は本当参りましたよ。
何があったんだって思いました。
コメント部分しか変更してないから問題ないと思って
チェックアウトしてみればこれだもの。
どこか間違って消しちゃったかと思いましたよ。
原因追求してみたらプロジェクトファイルコミットし忘れてるがな。
通りでリンカが文句言うわけだ。
こっちの環境じゃ動いた、とか言われても困りますよ。
お前何年目だよ。
「何もやってないんだけど・・・」とか言う初心者かっての。
以前のコードをコメントアウトして残しておいて、テストコード追加して
いくつものファイルがそんな状態なものを、とりあえず明日続きやるからってコミットする。
マジ勘弁。
ドキュメントも無い状態だからって四苦八苦しているのは分かるけど、
こんな状態でうまく進むわけねーだろ。
と言ってやりたいが、
入社して間もない俺はそのようなことは言えないのであった。悔しい。びくんびくん
なんか結婚についての話を読んでいたら、書きたくなった。
結果から書くと、今は結婚どころか一人暮らしをしてる。こうなったのも止むなし、という気もするけど。
当時39才。男のオタクでこの年まで恋人がいたことはなし。女性経験も無し。でも二次の妄想で十分事足りてるので、特に問題もなし。
結婚しようと思ったのは、そろそろ親に孫の一つも見せてやろうかなぁ、と思ったから。別に親は嫌いじゃなかったし、結婚しないの? という追求も厳しくなってきたので。
年収は7M円位、貯金・貯蓄は30M円位。普通の事務系のサラリーマン。課長とかそんな感じ。
煙草は吸わず、賭け事はやらず、車も持たず。酒はつきあい程度。二ヶ月に一本程度、ゲームをアマゾンから買うくらい。
両親と一軒家に同居。色々と事情があって。
婚活、というとパーティとかがまず考えられますが、自分は地道に、結婚相談所とかに登録して、見合い相手を見繕って見合いしていきました。
もう自分も結構な年なので、あまり高望みをするつもりはありませんでした。趣味自体を理解して欲しい、というつもりもなく、ただ、考え方というか感性というか、そういう部分が合っている人がいればいいなぁ、などと考えていました。
年齢が近い方がよいかなぁ、と三十後半の人と何人も会ってみてたわけですが……いや、すごかった。なんていうか、「この目の前の男は、自分の自由と交換にこの後の人生を養ってもらうに値するか」って目で、ずーっと見られてるわけです。いや、本当にこんなことを考えていたかは分かりませんが、観察されていたことには違いないですね。
お前も女の方を観察してたんだろう? と言われそうですが、まあ、そうですね。ただ、自分の場合「この後の人生を共に過ごすことができる程に、感性が一致しているか」という観点でした。だから色々と質問したり話を振ってみたりするわけですが……反応があるのは、お金とか、資産とか、親の面倒はどうする、とかそういう話ばかり。
中にはその上、「いかにこの男の持っている金を自分の物にするか」って考えてるような人もいましたが。考えてた、っていうか口に出てましたからね。「結婚したら財布は私が管理します」とか言っちゃう人。外見もかなりアレでしたが……ああ、醜女とかそういうんじゃなくて、見合いだというのに髪がボサボサとか。ありえん。
他にも、化粧のしすぎで顔面真っ白になってる人とかもいましたね。その下がどうなってるのか、恐ろしくて想像も出来ません。
あと困ったところとして、「あなたとの見合いは会社で会議をしているみたいでおもしろくない」と言われたこともあります。何でも、最初に会合のゴールを決めてそのゴール目指して話し合いをする、ということが会社の会議みたいで嫌だ、というのです。見合いをタダで飲食できて男と話が出来る席、とでも考えてるんですかね。今後の人生を決める重要な決断につながる場だというのに。
十人くらいは会いましたかね。一人、まあこの人なら、って感じの人がいました。あんまり金金って感じじゃなかったし、話をしていても受け答えがおもしろい。何度かデートして、互いの意志も確認して、悪くないかな、って感じまでなりました。二次元の萌えキャラ属性風に言えば、眼鏡っ娘で、ちびっ子で、貧乳。頭の回転も悪くなく、ツッコミが独特。良い感じです。
でまあ、話を先に進めるか、と、互いの両親に会うことを計画しました。この家族と今後付き合って行けそうか確認しようというわけです。
まずは彼女を自分の両親に会わせてみたのですが、なんかそれ以降彼女の反応が悪くなった。ある日メールを送っても返答が無くなってしまったので、結婚相談所経由で問い合わせてもらったら、話を無かったことにして欲しい、と返ってきました。どうも、親が合わなかったらしい。何が合わなかったのか、まではわかりませんが。もしくはそれはただの言い訳で、今まで嫌々付き合っていたのか。(一応顔を合わせてもらった後に直接話を聞いたところでは、特に問題無い、とは言ってたんですが……直接そういうことは言いずらいでしょう)
まあ残念ですがしかたがない。そういうこともあるさ、と自分は思っていました。
上記の別れから四ヶ月程が経ちましたか。その間に色々あり、実家を離れて一人暮しを始めていました。実家近くの結婚相談所に登録していたのでそこも解約していたんですが、突然その結婚相談所から電話がありました。
この一方的に連絡を切った彼女が、自分とやり直したい、と言ってる、というんです。何でも、自分と別れた後、他の人と見合いをしてみたがどうも良い感じの人がいない。これだったら自分の方がよいので、またやり直せないか、ということらしく。
思わず、「ハァ?」とかリアルで言っちゃいましたよ。相手は結婚相談所の人でしたが。
何か理由があるから別れたというのに、それを忘れたんでしょうか? 自分と付き合うということは、そのことと再度向き合わないといけないというのに。
それとも、とりあえず自分と付き合っておいて、もっと良さそうな人が現れたら、また都合良く別れると言い出すんでしょうか。
一言で言えば、ふざけんな、と。結局この女性も、自分の金が目当てだったのかと、そう思ったわけです。
さらに馬鹿げたことに、結婚相談所がこれを勧めてくるのです。せっかく忘れられない、と言ってくれているのだから、もう一度くらい会ってみたら、とか。あの時(付き合ってた頃は)いい人だって言ってたでしょ? とか。
これでもう、結婚する気は一切失せました。少なくとも、結婚紹介所を使って積極的に結婚相手を探すつもりは。
ネット上で云々言われている婚活している女性について、実態がよくわかりました。あんなのは特別な一部なんだろう、と思っていましたが、大半があんな感じでした。寄生されるのは毛頭ごめんです。
それに結婚紹介所、口先では色々あなたのためを思って相手を探して云々言ってますが、結局適当な二人をくっつけて成功報酬が欲しいだけなのだ、ということが、上のことでよく分かりました。まあ、商売だから仕方がないのでしょうが、その商売に乗ってやる義理もないわけです。
色々あって、両親に孫の顔を見せてあげよう、という気もすっかりなくなっていますし、まあこれからは結婚もせずに生きていくのでしょう。
とかも書いてみたけど、論点がずれるのでコメントアウト
結構苦労したので健忘録として。。
環境は以下のとおり
yum install mysql-server
/etc/init.d/mysqld start
mysql_secure_installation
jruby -S gem install rails jruby -S gem install warbler jruby -S gem install activerecord-jdbc-adapter jruby -S gem install activerecord-jdbcmysql-adapter jruby -S gem install jdbc-mysql
mysql -u root -p mysql> create database redmine character set utf8; mysql> grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'redmine'; mysql> exit
(任意の場所にRedmineを解凍して、解凍先のディレクトリに移動した後)
cp config/database.yml.example config/database.yml vi config/database.yml
database.yml
production: adapter: jdbcmysql database: redmine host: localhost username: redmine password: redmine encoding: utf8 #development: # # #test: # #
後のwarbleでのエラーを防ぐため、developmentとtestをコメントアウト
jruby -S rake generate_session_store jruby -S rake db:migrate RAILS_ENV=production jruby -S rake load_default_data RAILS_ENV=production
script/serverで起動し、http://localhost:3000 にアクセスして正常に動作するか確認する
jruby script/server -e production
vi config/environments/production.rb config.logger = Logger.new(config.log_path) config.logger.level = Logger::INFO
warble.rbを生成
jruby -S warble config
warble.rbを修正
vi config/warble.rb config.dirs = %w(app config lib log vendor tmp extra files lang) config.gems = ["jdbc-mysql", "activerecord-jdbcmysql-adapter", "activerecord-jdbc-adapter"] config.gems["rails"] = "2.3.5" config.gems["rack"] = "1.0.1" config.webxml.rails.env = "production"
jruby -S warble
できたwarファイルをTomcatに配置して、Tomcatを起動する
mv redmine-0.9.3.war /usr/local/tomcat/webapps/redmine.war /usr/local/tomcat/bin/startup.sh
warblerのバグ(?)でwarに入らないファイルをコピーして入れる
cp vendor/gems/rubytree-0.5.2/.specification /usr/local/tomcat/webapps/redmine/WEB-INF/vendor/gems/rubytree-0.5.2
「人材の流動化か囲い込みか(http://remote.seesaa.net/article/147006872.html)」で示される問題は、SIerの案件であれば1つや2つはよく起こっている。ここまで問題が積み重なっててひどいのはあまりない(...と思いたい)以下は実際にみてきた現場の惨状。
excel方眼紙はよく見かけます。修正にやたらと手間がかかるので苦痛です。継続的にメンテナンスする必要があるドキュメントには向いてません。あと、ソースコードを日本語訳したようなひどい設計書が多いです。そんなもんソースコードで十分だろって思います。
本番環境でコンパイルしたりとか、恐ろしい事をしている現場がありました。それでソースコードレポジトリとの同期が取れてなくてどのファイルが実際に稼働しているコードなのか分からなくなったりもしていました。
ユニットテストがないのはデフォルトです。テスト仕様書が残っていればまあいい方ですが、テスト項目に「正常に動くこと」としか書かれてない場合もあって信用できません。
5.GUIがひどすぎる
RDBMSをつかったシステムで、会社の休業日を管理するテーブルの編集画面にレコード番号が必要かどうかで議論が始まり一時間くらいぐだぐだと会議をしたりします。そんなもん年月日でユニークキーにしておけば十分。いちいちユーザに番号を振らせるという手間をとらせたいんだろうか。
自社で一貫して設計から実装まで担当しているSIerは別として、そうでないSIerには実際にモノを作っている人間は居ない。仕様の検討段階での資料作成から、アーキテクチャ設計、設計、テスト、運用までほとんど外注にたよりきっており、ざっくりなマネジメントをしているだけだったりする。
設計から外注に丸投げしているSIerでは、日本式のやりかたとか言う以前に、そもそもSIerの社内にシステム開発を行ったオリジナルメンバーが存在すること自体少ない。
すでにSIerでは内製することすら出来ない状態まで空洞化している。
元記事のコメントより
コストダウンの名の下に人減らしだけは進みましたが、そのことがどれくらい破壊的な影響をもたらしているかを、上の人が全く理解できていません。上の人ほど開発経験に乏しく、細部を理解できていないのです。
『鉄筋減らしてコストダウン』して住めないマンションを大量生産したマンション販売会社がありましたが、IT業界は減らすどころか「鉄筋も柱も無くしてコストダウン」を目指してる感さえあります。
IT業界は減らすどころか「鉄筋も柱も無くしてコストダウン」を目指してる感さえあります。
ってのは言い得て妙だ。
「SIerはモノを作るのが仕事ではありません、マネジメントするのが仕事です」キリッ!
ってよく言うけど、マネジメントに関しても、技術的な問題が起こっても解決するだけの力がないので、下請けに残業してくれという根性マネジメントしか出来てない。顧客から仕様変更の要求があった場合でも、どういう影響があるかも理解できてないので、全部請けてきて下請けに丸投げとか。
たちが悪いのは見当違いなルールを課して管理したつもりになっている事。
外注に頼り切っているSIerでは、アーキテクチャ設計、ドキュメント整備、ソースコード管理、テストの自働化、GUIデザインは社外の他人まかせになってしまっており、現状の開発方法でどのような問題があるのか気づくことができない。そういった現場から遠い場所にいる連中が現場をうまく回すためのルールを作れるとは思えない。
web archive によれば (*)、少なくとも2007年10月11日からは存在していたらしい。
10月16日に一度削除されているので、これ以前の履歴は今となっては分からない。
当時の記録を見ると、それなりに多くアクセスされる項目だったことが分かる。
ひとこと定義。
少なすぎるようにも見えるが、これは著作権の問題を完全に排除するためにこうなっているのだと思う。
もしも下手に削除前の内容から切り抜きしたりすると、初版に問題を潜伏することになる。
あとで初版になにか問題が見つかったとして、その初版のみの削除をやろうとしても、MediaWiki の仕様上、できない。
全版削除をやらざるをえなくて、あとあと残念なことになる。
それを防ぐために最小限しか書いていないのだと思う。
20名以上の編集者によって、半日がかりで、百科事典項目っぽい体裁がととのえられる。
主な内容追加をしているのは数名で、残りは草取り(校正、見栄えの調整)としての編集。
削除前の内容のうち無断転載部分以外は問題ない内容だったため、
それを参考にスムーズに内容が構築されていると思われる(少し前まで編集していた人なら、たいていバックアップをとっているので)。
この前後数日、テレビ番組「アッコにおまかせ!」での紹介のされ方について、ネット上で炎上があった。
その余波で加筆が多く行われる。
短文の加筆やそれをコメントアウトする編集、さらに再書き込みする編集などが相次ぎ、文章としてのまとまりが悪くなる。
ここでいったん白紙化されたあと、再構成される。
ちなみにここで再構成をしたのは、16日の削除依頼にもとづいて削除を行った管理者。
白紙化は削除とは違って敷居が低く、その場で反対する人がいなければやってもいい。
あるいは、やってみて誰からも文句がつかなければいい。
いずれにしても履歴はそのままなので、元の状態に戻すのも同様に簡単なのがその理由。
この前後数週間、「検索にヒットしない」騒動に起因する加筆が多く行われる。
細々とした追記に関して、編集合戦に近い状態が続く。
結果としては、ソースがつけられた(メディアで報じられた)部分が生き残った。
この騒動と「アッコにおまかせ」騒動への言及は、現在の最新版でも一つの節として残されている。
11月〜12月、「非公式設定」「ニコニコ動画で話題を呼ぶ」の2つの節の編集が活発化。
その後、2008年2月頃(たとえばこのあたり)まで、二次設定についての記述を中心に増量がつづく。
このあたりから編集の間隔は数日あくことが多くなり、発展速度はゆるやかになる。
荒らしやそのリバート、短期間の書き込み制限なども、これ以後はほとんどなくなる。
内容的にも、以後1年半ほど基本的な骨組みや文章は変わっていない。
新規情報の追加や細部の修正は少しずつ行われているものの、大規模な増量はない。
派生商品など大きな新情報ができた場合も、簡単に記載して、詳細を別の項目に分けるケースが多い。
すでに一つの項目として量的に十分多くなっているため、
あまり長くなり要点が分からなくなるのを避ける意図が働いているのだと思う。
・snes9x-1.5.1-srcフォルダを入れるまとめフォルダを作る(ここにzlibとlibpngとfmodとnasmのフォルダを突っ込むため)。
・zlibはソースをDLして解凍する。できたフォルダをzlibにリネームしてまとめフォルダに突っ込む。zlibフォルダ内のcrc32.cをemucrc32.cにリネームする。
・libpngはコンパイル済みバイナリをDLして解凍する。できたフォルダをlibpngにリネームしてまとめフォルダに突っ込む。ソリューションエクスプローラでlibPNGフォルダ内の*.cをプロジェクトから除外する。プロジェクトのプロパティで追加の依存ファイル一覧にあるlibpngmt.libをlibpng.libにリネームする。
・fmodはver.3系(ver.4系でのビルドは未確認)のコンパイル済みバイナリをDLして解凍する。できたフォルダの中のフォルダをfmodにリネームしてまとめフォルダに突っ込む。
・nasmはコンパイル済みバイナリをDLして解凍する。できたフォルダの中のフォルダをnasmにリネームしてまとめフォルダに突っ込む。nasmはプロジェクト中の*.asmのビルドに必要になる。後の*.asmのビルド設定との整合性のためこの通りに配置すること。
・プロジェクトのプロパティでDirectX SDKのIncludeとLibフォルダにパスを通す。
・プロジェクトのプロパティで、「リンク前のイベント」に次のコマンドを追加する。
pushd "$(SolutionDir)..\"
del "i386\*.obj"
"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\2xsaimmx.asm" "-oi386\2xsaimmx.obj"
"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\bilinear.asm" "-oi386\bilinear.obj"
rem "$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\c4.asm" "-oi386\c4.obj"
"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\fxemu2.asm" "-oi386\fxemu2.obj"
"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\fxemu2b.asm" "-oi386\fxemu2b.obj"
"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\fxemu2c.asm" "-oi386\fxemu2c.obj"
"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\fxtable.asm" "-oi386\fxtable.obj"
"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\sfxproc.asm" "-oi386\sfxproc.obj"
"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\spc.asm" "-oi386\spc.obj"
"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\zsnes.asm" "-oi386\zsnes.obj"
rem "$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\zsnesc4.asm" "-oi386\zsnesc4.obj"
popd
上記のコマンドに出てくる11個の*.objファイルをプロジェクトに追加する。ただしコマンドがコメントアウトされている2つ(c4.objとzsnesc4.obj)はビルドから除外しておくこと。
・SARマクロ(sar.h)が原因でコンパイラが死ぬので、このマクロを不使用にするためにport.hの277行のRIGHTSHIFT_IS_SARマクロ定義を未定義にする。
ここまでの手順でビルドが通る。
TODO:
・プリプロセッサZSNES_C4を有効にする時の設定
最初のあなた。
foreach 男 in 気になる男 女.告白(男); new 返事待ちスレッド().start(); join(); continue if 返事.ごめん(); 二人 = new カップル(女,男); while !二人.別れた() 二人.ごにょごにょ(); end # 二人.dispose(); #コメントアウト while !女.気が済んだ() 女.アプローチ(男) end end
今のあなた。
new 女スレッド().start(); foreach 男 in 気になる男 女.告白(男); end 女スレッド extends スレッド def run while true 返事 = 返事キュー.get(); continue if 返事 == null; continue if 返事.ごめん(); 二人 = new カップル(女,男); while !二人.別れた() 二人.ごにょごにょ(); end 二人.dispose(); end end end
foreach 男 in 気になる男 女.告白(男); 返事待ちスレッド.start(); join(); continue if 返事.ごめん(); 二人 = new カップル(女,男); while !二人.別れた() 二人.ごにょごにょ(); end 二人.dispose(); end
ギークの方か、SIerから逃げ切ることに成功した方はイラッシャイマセンカ?
暇がありましたら、お助け下さい。
生まれつき、生活保護が下りない程度のコミュニケーション障害を持っている者です。 (診断書はないですが)
なぜかSIerのプロジェクトに投入されてしまいました。ここで変に夢を持ってしまったのが過ちでした。
それからというもの、わけの分からない規約に縛られる度に落ち込み激しい鬱状態になり、
その他数え切れないほどのローカルルールの存在理由が何一つわかりません。
なんであんなものを理解でき、従順に従うことができる人がいるのか不思議でなりません。
そして、それでもプロジェクトがやめられません (決して楽しいという意味ではありません!)
向いていない、鬱になるだけとわかっていて一々指示に従い、ますます死にたくなってしまう始末です。
なぜかSIerではプログラミングの難易度は低く扱われる傾向があります。わかってない老害が多いからでしょうか。
自分が知らないだけで何かデスマーチを簡単に収束させる圧倒的抜け道のような方法でもあるのでしょうか?
そんな甘いものがないとしたら、せめてSIerから逃げだす方法はありませんか?
遺書に似たような事が書いてあった人間が万が一報道されたらTVデビューしてしまいます。
このままでは本当にSIerに殺されます。どうかお助け下さい。
※http://anond.hatelabo.jp/20090310095053 の症状にかなり近いです
※告発するつもりは一切ないので、労働基準監督所には一切通報しないで下さい
----
プログラミングは人を殺すことはないが、
老害は人を殺すことがあるような気がする。
修正履歴をコメントアウトで残す方式だと、新旧のコードを並べて比較した時なんか分かりにくいww
可読性さがっちゃうしww
男にはせめてソースコード管理システムくらい使って欲しい・・・
バグとか出て、ソースコード修正が必要になったら・・・・もう最悪ww
常識的に考えて欲しいだけなんです!
コメントアウト方式のソースコードをレビューする時の恥ずかしさとか分かる?
あのね?たとえば商用系で障害が起こって10??20人ぐらいで対策会議とか開くでしょ?
それぞれ腕利きのプログラマとかお客さんとか来るわけじゃない?
みんな普通にSubVersionやGitやMercurialやClearCaseとか期待してるわけでしょ?
あたし・・・実は・・・プログラマーなんだ。
ずっと、黙ってて、ごめん。・・・隠してて、ごめん。
でも、どうしても言えなかったの。
あたしがプログラマーだって知ったら、きっとみんな離れていっちゃうって思って。こわくて。
わかってる。わかってるよ。
プログラマーは初級シスアドを通った人だけがなることができる、カスタマーのプロフィットに関わるシリアスなビジネスだって。
でもね・・。
でもね、全然ちがうんだよ。
あたし、みんなが思ってるようなキレイなものじゃないんだよ。
あたしは汚れている。
あたしのキーボードは、汚れているんだよ。
プログラマーになったとき、すごく嬉しかった。知り合いのハッカーになったような気でいたの。
あたし馬鹿だから、お客様のビジネスを作るんだ!なんて、本気で思ってた。
でもね、全然違ったんだよ。
元請から言い渡された Sヨ の詳細設計仕様書は全く別のものだった。
お客様のビジネスを、まるでビル・ゲイツのように平等に助けるようなものじゃなかった。
あたしたちプログラマーに課せられた任務、・・・・それは、デバッグ だった。
そして、それを見守ること。
ねぇ知ってた?
この世界には、あるんだよ。こんな日本のど真ん中にね、平然と、あるの。
プログラマーはね、それを見守るの。
プログラマーは六本木ヒルズのホリエモンで、勝ち組の特権階級の象徴だからね、
そこにあるだけで、まるでビジネスが行われているかのような錯覚を起こさせる。
あたしの仕事は、そうやって、平等にビジネスが行われているかのように見せる暗幕みたいなものだったの。
ソフトウェアなんて、全然、救えなかったよ。
救う義務も権利も、この任務にはなかったの。
例え、その仕様がどうすれば助かるか、明確に解っていたとしても、
あたしたちは元請の命令が無いかぎり、何一つのコーディングもできない。
ただ、ただ、走って火消し屋を呼びに行くだけ。そして伝えるだけ。
でもね、この国の「火消し屋」は非常に貴重な存在。
火消し屋は稀有な存在。
夜なんかになれば、一つのフロアにどこからともなく現われるの。
たくさんのプログラマーたちが、一人の火消し屋に群がっていた。
「先生、コアを吐いている人がいます!」
「先生、表領域が苦しい人がいます!」
懸命にプログラマーたちが叫んでた。
でも火消し屋は一人。
私も声を荒げて「苦しい言い訳をするプログラマーがいます!」って叫んだの。
でも、ここでもふるいわけが始まる。
人員レベル、難度、納期。そんなものが現象と一緒くた になって命令が言い渡される。
と言ったきり、火消し屋は朝までチームのもとに来れなかったの(お客さんのところに言い訳に行った)。
その日、10秒ごとに Mantis の履歴が増えた。
「苦しい、苦しい、まだ苦しい」
「もう少しだけ待ってください、今火消し屋、来ますから・・」
何度も火消し屋のもとに走ったけど・・・。
火消し屋は、今にも心臓の止まりそうなお客さんと仕様と納期の折衝にあたっていた。
あたしは火消し屋に背中側から叫んだ。
「null チェックを入れても、まだぬるぽみたいなんです!」
「ガッ!」
コメントアウトの行数を上げた。でも駄目だった。QA からの質問は止まない。
そのバグだけじゃない。
「トイレに連れて行ってください(コンプライアンス的な意味で」
「基板が焼けたから替えてください」
「エスタロンを飲ませてください」
「ブートが走らないんですが」
「眠れません」
デバッガを走らせる。
忙しさにコードが荒くなる。
月残業時間が 400 越えたプログラマーがエレベーターに乗って外に出て行こうとする。
必死にあたしもふるい分けた。
今、一番検収ハネられる危険があるバグから、一番仕様満たしてないバグから、手を差し伸べなきゃ。
「いつになったら納品されるんだ!」と言われても。
「単価高い」と言われても。
私は頭を下げたり、ちょっと言い争ったりもしながら、
あたしはカーネルだ!と思った。
あたしは火消し屋の指示を待たずにロジックの検査をした。差分プログラミングの extends だった。
急いで火消し屋に連絡した。
「差分プログラミングの extends です。継承元のコードいじっていいですか?!」
「いや、コードを見ないとわからない、ただこっちの処置があるから、10分後に行く」
「待てません!リリースします!」
あたしは火消し屋の指示無くパッチをコミットした。バグの症状はスッと納まった。
それは駄目なことだったけど、一人のバグを救ったことに、あたしは浮かれてたの。
貧相な正義感をぶら下げて、意気揚々と自席に戻ってきたの。
自席の・・・・
でも、亡くなってた。
システムコールも呼べない人だった。
あたしは、その日、目の前の苦しいバグに夢中で、ps なんか見てなかった。
それでもね、・・・あたし、まだ、プログラマーなんだよ・・。
火消し屋は QA に「いつ何があってもおかしくない COBOLer の書かれたコードでしたから・・」と時間稼ぎの工作をしていた。
QA のテスターは「ありがとうございました」と額に青筋を浮かべてバグレポートに「仕様です」と書いて取り下げた。
そして、あたしにも「プログラマーさん、ありがとね」と言ったの。
大好きな、ソフトウェアだった。
このシステムが立ち上がる頃から知っていて、αリリースから知っていて。
「自分は寂しがり屋だから、最期は dankogai に手を握ってもらいながらホッテントリ入りしたい」と言っていた。
あたしが新人の頃から知っていて、vi のカーソル移動が苦手だったのも知っていて、
「Xenix はわしが育てた」が口癖だった。
「まぁ、・・・歳だったし、運用中にも止められないって言ってたからなー」
と火消し屋があたしの背中ごしに言った。
その記録には、波形が Full GC 後もヒープ使用量が右肩上がりとなりメモリリークするさまがしっかりと記録されていた。
高負荷だから死んだんじゃない、そこにはメモリリークで死んでくプロセスがあった。
でも、そんなこと全部まるめこんで、kill んじゃって仕方ないっていうプロセスが、そこにはあったんだ。
似たようなことはざらにあった。
何人ものプログラマーが、自社ビルの屋上の端から零れていったよ。
でも、あたし・・・プログラマーなんだ。
誰も、辞めろって言わないの。
火消し屋は鉄火場にブチ込まれただけだから、言わない。
顧客は実情がわからないから、言わない。
プログラマー同士は実情がわかってるから、言わない。
IPA はきっと、全部知ってて、それ込みで「それが10年は泥のように働けということだ」と言うかもしれないけど。
いや、言わないか。IPA は、何も言わない。きっと。
救えたかもしれないバグを、プログラマーは一番わかってる。見えてしまう。
PM の指示が適してないのも、判断が遅いのも、仕様変更履歴がのってないのも、全部わかってる。
それでも「あの時!」と、自分の行動と判断を何度も振りかえる。
その向こうにはいつも「あのとき、こうしておけば」が、くっきりと見える。
でも、救えなかった責任も、見過ごした責任もプログラマーには問われない。
プログラマーって・・ほんと、なんなんだろうね・・・。
パッチ一粒すら出せないのに、
設計一つ指示できないのに、
テストパターンに関わることなんて、一つも独立してできないのに、
テスト部門が持たされてるのはプログラマーコールだけなんだよ。
どんなに辛くてもプログラマーしか呼べないなんて。
そしてあたしたちは色んなものを抱えて、バグの前に立つ。
火消し屋が来ること、来れないこと、
できるデバッグがあること、ないこと、
色んなことを知りながら、本当の意味で世界を変えられるコーディング力もないままに、
さも救いのギークが舞い降りたかのような顔で。
IT ギョーカイが崩壊していく。
全然止められない速度で。
その日○製作所の城で、あたしは見てるんだ。
沈んでいく汎用機の命を。
----------------
増田のソースを眺めてたら、「この記事について書く」って機能のリンクがコメントアウトされてたのでproxomitronを使って復活させてみた。
何でコメントアウトしてんだろう、結構便利なのに。
greasemonkeyあたりで書けば需要あるかね?
[Patterns] Name = "masuda:simple reply" Active = TRUE Multi = TRUE URL = "anond.hatelabo.jp/*" Limit = 256 Match = "<!--\s($NEST(<a*,href=$AV(*edit\?title*)*,/a>))\1\s-->" Replace = "\1"
モテない系といっていいかどうかわからないが…
なりたくない、っていうのは、ほんの少しでもそういうものになりたい、あこがれる自分もいるってことだろうか?
(本当に興味ないならわざわざコメントアウトしなかなーと)
であれば、(スイーツ的な)結婚=バカ、っていう考えを一瞬でも捨ててみるといいかもしれない。あと結婚は墓場的な悲観とか。
おドレスひらひら、お脳カラッポ、パッパラパーの騒ぎなんかやってあほらしい、私は違うのよ、って思って心のバランス保ちたい
という気持ちもわかるけど。結婚なり出産なり、いったん「あっち側」の世界になった女って、何故か「こっち側」にいた頃の
ことをすっかり忘れてしまうかのようだし。(そうでない人もいっぱいいるけど)
ただ、個人的な考えだけど、すましていれば足元をすくわれる事も少ないぶん面白みというか、いまひとつな人間になってしまうような。
つまり、バカでもいいじゃんってことです。
あとは、「ちょっとなりたい気持ちも捨てきれない、しかしどこかで馬鹿にするのも止められない、そんなプライドも含めて自分が好き」
ってことなら、好きなだけ悩むのもよいかと思われる。
http://anond.hatelabo.jp/20080102122736
汎用性を上げてみた。
をはてブのhotentryから削除するgreasemonkey。
Sleipnir2のseahorseでも使える。
// ==UserScript== // @name hatebufilter // @namespace hatebufilter // @description Hatena bookmark filter // @include http://b.hatena.ne.jp/hotentry* // @include http://b.hatena.ne.jp/entrylist* // ==/UserScript== /* 問題点 いまのところなし ・問題が起こりそうなURL http://b.hatena.ne.jp/hotentry?mode=daily&date=20080224 http://b.hatena.ne.jp/hotentry?mode=daily&date=20080218 **/ (function(){ // Hatebu Tag var HatebuTagParentNum = 3; var filters = [ // moconico douga {"tag": "div", "name": "entry", "pattern": "nicovideo\.jp"}, /* // tag of "2ch" {"tag": "a", "name": "tag", "pattern": "2ch", "parentNum": HatebuTagParentNum}, {"tag": "a", "name": "tag", "pattern": "\\*2ch", "parentNum": HatebuTagParentNum}, **/ // 2ch blogs // livedoor {"tag": "div", "name": "entry", "pattern": /http:\/\/blog\.livedoor\.jp\/(insidears|dqnplus)\//}, {"tag": "div", "name": "entry", "pattern": /http:\/\/(guideline|alfalfa|news4vip)\.livedoor\.biz\//}, // fc2 {"tag": "div", "name": "entry", "pattern": /http:\/\/(urasoku|news23vip|waranote|vipvipblogblog|netanabe|res2ch|kanasoku|tenkomo)\.blog\d+\.fc2\.com\//}, // tag of "neta" {"tag": "a", "name": "tag", "pattern": "ネタ", "parentNum": HatebuTagParentNum}, {"tag": "a", "name": "tag", "pattern": "*ネタ", "parentNum": HatebuTagParentNum}, // hatena anonymouse diary {"tag": "div", "name": "entry", "pattern": /http:\/\/anond\.hatelabo\.jp\//} ]; for (var i = 0; i < filters.length; i++) { var f = filters[i]; filtering(f.tag, f.name, f.pattern, f.parentNum== undefined ? 1 : f.parentNum); } function filtering(tag, name, pattern, parentNodeNum){ var entrylist = document.getElementsByTagName(tag); //print("pattern = " + pattern); for(var idx = entrylist.length - 1; 0 <= idx; idx--){ // for(var idx = 0; idx < entrylist.length - 1; idx++){ if (entrylist[idx].className == name){ if (entrylist[idx].innerHTML.match(pattern)) { var node = entrylist[idx]; var oldNode = null; for (var j = 0; j < parentNodeNum; j++) { oldNode = node; node = node.parentNode; } // print("class = " + oldNode.getAttribute("class")); // print("id = " + oldNode.getAttribute("id")); node.removeChild(oldNode); } } } } })();
hatebufilter.user.jsなどとUTF-8で保存して使う。
しかし、増田のコード記法、日本語貼り付けたら化けるんだが・・・どうすればいいんだろ?
コメントアウトを直せば、2chコピペブログ以外の「2ch」タグ自体での削除も可能です。
「良くある間違い」とも言う
以後追加予定
数年のあいだまったく疎遠になっていたから、全然実感がなかった。その後、別の友人から電話で改めて知らされて、mixiでもぼかして触れられているのを見て、やっと本当なのか、と思った。
原因については、事故か病気か、まだ知らない。電話してくれた友人は、そういう話が出てないということは、言えないような理由かもしれない、と言っていた。あるかもしれないと僕も思った。
彼と僕は、プログラミングが好きで、他にも本を読んだり、音楽をやるのも好きだった。
情報系の高専で同じクラスだった彼は、地元の業界大手に入った。僕は高専を出てから東京にいる。高専の友人は身近には一人もいない。
高専時代、コンピュータサイエンスというほど高尚なことはやっていなかったけれど、それに憧れていた。すごく便利なソフトを作ることよりも、すごく綺麗なプログラムを作ることの方が好きだった。いかに短くまとまった、速く動くプログラムを作るか。
だからパズルを解くようなプログラムを、よく書いていた。同じ問題を解くプログラムを作って、たがいに比べていたりした。
彼自身のことより、一緒に作ったものがずっと鮮明に思い出せる。
古いバックアップを解凍して、彼が書いたプログラムのソースコードを見た。そのとき何週間かはかけていたものだけど、いま見るととても短い。変数の名前の付け方、コメントアウトされた初期のコード、不思議と、彼が書いた部分はいまでも区別が付く。
そのあと、ふと彼の名前で検索してみたら、意外にたくさんの件数がヒットした。
コミッターになっていたらしい。
彼のパッチ部分を探して見てみたけれど、昔の面影みたいなものは別になかった。
彼の書いたコードは、いつか別の人に上書きされるかもしれないけれど、バージョン管理から消されない限り、レポジトリに残りつづける。
残念ながら、Linuxカーネルのように数十年生き残るソフトではないだろうけれど、少なくとも、いま、彼の作品は生きている。
いちおう、ごりごりで作った。ごりごりのものができあがった。
おちから言うと、大会コンテスト用のサーバーにあげようとしたらパスワードが違うようで入れなくて、
再発行しても接続できなくてぼくの夏は終わった・・・
一応エントリーだけしておいたけど、何かむなしい。
ハッ、この隙にもっとつくりこめということかな??
正直デザインまでまるで手もつけられていないし、画像のUP/EDITもしようとしたのだけど、
一日じゃ実装までいかなかった・・・。
いまだ、いまのうちに・・・!!!
というか、代理でたてたサーバーにうまくUPすることができない…。
オワタ。完全にオワタ。
has_many :XXX, :through XXXX
:throughの使いどころがいまいちピンとこない。指定しておくと何かいいことがあるのだろうか?
全角スペースの混入を視覚的に判別できないだろうか。
一度でも全角スペースや+をタイプしてしまうと、IDEが内部エラーをおこしてしまう。削除にてこずる。
http://railsblog.drecom.jp/tamu/archive/9
include AuthenticatedSystem
before_filter :login_required, :only => [ :new, :update ] # newとupdateのみログインが必要
before_filter :login_required, :except => [ :index] # indexを除きログインが必要
./script/../config/boot.rb:59:Warning: require_gem is obsolete. Use gem instead.
[Ruby]9日目