はてなキーワード: コメントアウトとは
ちょっとした事(たしかグローバル変数とローカル変数の挙動の違いとか、そんな事だったと思う)を試してみようと思って、20行くらいのプログラムを作ったんだ。
でも、動かないの。
どんな短いプログラムでも意図しない挙動をしてしまうことはあるものだが、そんなレベルの話ではない。
ただ、計算した結果を画面に出すだけのつもりなのに、何も表示されないんだ。
で、少しずつコメントアウトしていったのに、それでも何も表示されない。
しまいには、"A" って画面に出すだけのコードになったのに、それでも何も表示されないんだ。
で、もう一本別のコードを test2.c という名前で作ったら、ちゃんと "A" と表示された。
一番始めに作ったコードも、すんなり動いた。
そうさ。最初のコードは test.c という名前で作ったのだ。
カレントディレクトリ よりも先に /bin に PATH が通っていたので 、単に test と打つと、 /bin/test が実行されていたんだ。
https://bs.benefit-one.co.jp という福利厚生を提供するWebsiteのUXがクソすぎる。
こんなサービスでどうやって福利厚生受けるんだよ。まじでクソすぎてアプリ開きたくない。
どうしてこんなクソ開発会社が今時生き残れるの?こんなのに自分の会社が金払ってると思うと悲しくなる。
この稚拙な設計とデザインで個人情報をセキュアに保てているのかまじで不安。開発できる能力がないと思うから他の責任者か開発会社に委託するのが良い。まずはUXかサービスデザインの専門家とかコンサルにレビューしてもらうのが先か…
サイトをのぞいてみた。月額900円~の部分はコメントアウトしただけで残ってるな。
カード決済の案内も微妙に残っていたり、オープンまでにバナー作るよとかダミーが残ってるところからすると、
本当にDropbooks+Torrent回収+Kindle Crackで有料サイトとするつもりなのか、どれくらいの期間生存させられるか計ってるんじゃないか?
一年ぐらい持たせられる可能性があればそこらの有料成人向けサイトなみに露出してきそう。
最後は債権メール詐欺業者にリスト売って店じまいってところか。そのときは携帯番号の登録させることができれば大成功なんじゃないかな。
しかしネット書店各社はアプリもサイトものろいんだよな。関連情報が多すぎてレコメンド効果も低いし。軽快さだけは見習ってほしい。
ぼくの場合はオムニ補完とコードチェックとコメントアウト機能の3タイプが必要だ。
コードチェックはVimでやらなくてもいいんだけどquickfixでさくっとエラーの場所に飛びたいのでsyntasticは外せない。
補完についてはtern for vimとかjava-complete2など特定の言語に特化したもの。
補完自体の機能はVim本体で十分強力だからneocompleteもyoucompletemeも入れてない。あいまい検索ができるのは便利だと思うけどね。なくても困らない。
そして次の優先度としてVimにバンドルされているVimファイルでは物足りない機能を補強するプラグインをインストールしている。
pythonの場合だと標準のインデントではへんなインデントになるのでhynek/vim-python-pep8-indentを入れている。
プラグイン管理の楽がしたいのでvim-plugを使用している。
syntax系はこだわりがないので一切入れない。
大切なことはそのプラグインを入れなければいけない理由が言えるかどうかってこと。
パフォーマンスに影響ないなら気にせずにどんどん入れてもいいと思う。
Traceback (most recent call last): File "/usr/lib64/gimp/2.0/python/gimpfu.py", line 851, in _run res = apply(func, params[1:]) File "/usr/lib64/gimp/2.0/plug-ins/file-openraster.py", line 274, in load_ora if not name: UnboundLocalError: local variable 'name' referenced before assignment
nameという変数があって、値が代入されてないのに参照されてたみたい。
/usr/lib64/gimp/2.0/plug-ins/file-openraster.py(場所は違うかも)を開いて、
この記事にブコメで自分の顔のパーツの中で一番好きな部分と嫌いな部分を書き込んでネ☆
特にどんな所が好きか、嫌いかを細かく書くとより結果が詳細に分かっちゃうョ☆
くれぐれも他人に自分の心の中の秘密の部分を知られたくない!!という人は書き込まない様に!!
24時間後にこの記事で下書きとしてコメントアウトしている部分を公開するのでそれで結果が分かるョ☆
できれば自分自身でも、ブコメしてから24時間以上経過してから確認してネ☆
注意:自分ではこう思わないが他人にはよくこう言われる、というのはNG!自己分析に基づいて書いてネ☆また苦情クレームその他は一切受け付けないのであしからず♪♪
そこまでまとまった時間も取れないので、毎日十分程度プログラミングを勉強する方法は無いだろうか
例えば電車の中で単語帳を覗いたり、文法問題を解くような感覚で勉強したい
具体的に言えば
「あるファイルが更新されたらメールを送るようなシェルスクリプトを書きたい。更新をチェックするにはどうしたら良いか?」
vimの使い方として「このような文章があるとき、複数行にまたがって先頭にコメントアウトを入れたいがどうすれば良いか?」
もちろん「次のfor文はある処理に時間がかかっている。その場所と解決策を上げよ」みたいなものでも良いが
私はそのようなレベルにまだ達していない
何か心当たりのある方、教えて下さい
ウェブ関係のコンテンツに荒らしがつきものなのは、少しでもウェブをやった人間なら誰でも同意するところだろう。
wikiの荒らしの場合、まず挙げられるのが、明らかにwiki内の特定のページの価値を貶める目的で、公序良俗に反する内容やAA等を書き込む輩である。
しかしそういう奴のみならず「黙って投稿内容を削除する行為」も、これまた立派な荒らしであることを、恥ずかしながら最近知った。
詰まるところwikiの執筆・投稿は基本的に善意の貢献によって為される物なので、その結果がたとえ有難迷惑に過ぎなかったとしても、その善意については相応の対応をするのが、人として当然なのだ。
具体的に言うなら、文章の長さや書き方に問題があるなら最大限文意を汲みつつ読みやすく改変する、脱線しすぎ等の理由から改変程度では解決しない内容ならその旨を書いてとりあえずコメントアウト、あるいは目につきにくいよう畳むなどなど。
こうした対応が面倒というのは、自分が書いた内容を予告もなしに全て削除され、何度復活させてもそのたびに消され、しかもコメント欄で抗議し追記の提案をしてもなお罵倒され、つっぱねられても構わないというポリシーを執筆・編集メンバー全員が共有していない限り成り立たないくらい、あってはならないことだ。
もちろん、そんなディストピア感ハンパ無いwikiは執筆者が激減して早晩成り立たなくなるだろうけど。
・・・という普通の感覚を物ともせず、彼ら荒らしは削除という横車をはたらき、さらにそれがwiki内で問題になると、複数端末でなりすましを弄してまでコメント欄に議論の木を乱立し、釣られた相手に反論しまくってログを荒らす。
のみならずDiffAnalyzer等のログ解析ツールを悪用し、削除に反発する人の発言ログを晒す、無記名だった名前欄を改変して反対者を晒す、深夜に多数決を取って(それも無記名投稿可能でIDもない板で)強引に削除するなど、やりたい放題を働く。
見てる方としては「ひったくりに遭って犯人追いかけたら刺された」という感覚に近い事態に発展してしまった。
なんかもう、ただ消すだけという行為からは想像できなかったレベルのクズでキチガイということはようやく分かったけど、そこまでして消したがる心理って一体何なのだろう。
次々とやってくるさまざまな環境で色々がんばる人のためのノウハウを集めてみよう。
必ずしも綺麗な環境で開発できる人ばかりじゃない。スパゲッティを手渡されラーメンを作れといわれる。
所詮下請けなので、そもそもこうした方がいいよとか軌道修正すらできない環境で足掻くために何ができるのか。
朝はCakePHP、昼はsymfony、右向きゃ独自FW、左向きゃ素php。
こんなこと、よくありますよね!
いろんなFWを使ってるとFW固有の機能とかもう何がなんだかわけがわからなくなります。
FWの機能を使ってデバッグなんてやってられません。一番信頼できるデバッグ方法とはなんでしょう。
・・・そうprintデバッグです!!!printデバッグこそ神!PHPならprint_rを使おう。
ただし出力バッファを捕獲したりするFWもあったりするのでprintだけだとどこの処理通ってるかわけわからんときがあります。
そんなときはこれ!
exit!
exitだけは何者にも犯せない最強の関数(言語構造)なので確実に処理がとまってくれます。なのでわけわからんことになったら真っ先にexitしましょう。
世の中には開発者のPCに環境(ローカル環境)を作るのが困難な場合があります。例えば設置できたはいいが、ローカルでこの関数が動かないor動いたらまずいだとか
こんなこと、よくありますよね!
そんなとき僕達がよくやる対策としてはソースコードを直接書き換えることですね!呼ばれたくない関数は中身をコメントアウトしたり、定数はローカル用の値に書き換えたりするわけです。
しかしこのやり方は少し問題があるのです。
例えばSVN等を使っている場合、常にこれらのファイルが変更状態のままになってしまいます。間違えてコミットしちゃった!なんてこともあります。
そして更にそのファイルに何か変更があった場合とても面倒です。関数のコメントアウトを外し、定数は本番環境用に戻してからコミットする、なんてことになります。まぁ確実にいつか人的ミスが入るでしょう。
そこで僕が推奨するのはファイルを直接書き換えずに書き換えろ。ということです。
つまりrunkitを利用するのです。
通常PHPは関数や定数などを動的に上書きすることはできませんが、runkitを使えばそれができてしまうのです。このようなローカル環境を無理やり構築したい場合にはとても使える機能です。
もちろん本番環境においてrunkitを使うのはご法度だと思います。伝家の宝刀、馬鹿と鋏は使いよう、です。
こんな経験はありませんか?
「ここを改修して欲しい」
「わかりました、じゃあSVNをUPDATEしてから改修しますね。」
「いや、今はステージング環境にあるファイルが最新なのでそこからダウンロードしてから作業してほしい」
「あ、そうなんですか、じゃあステージングから持ってきて対応します」
「改修完了しました。コミットしてステージングにアップします」
「あれ、なんか本番の動作がおかしい!デグレードしてます!デグレードしてます!」
「コミットもされてねぇ!」
「競合!競合!」
「うわああああああ、今何が最新なの?ねぇねぇ?もう僕わかんない。」
こんなこと、よくありますよね!
この後の担当者の作業はこうです。
ローカル環境のファイルとSVNでdiff。ステージング環境とdiff。本番環境とdiff。
改修対象のファイルが複数ある場合のdiff作業の大変さと言ったらもう筆舌に尽くし難いものとなります。
僕は思いました。ローカル環境のファイルと、SVNとステージング環境と、本番環境のdiffをワンコマンドでさっとできたらどれだけ楽か・・・。
もちろん探せばそういったツールを見つけることは可能だとはおもいますが、探すのが面倒だったので自作しました。
そのツールをここに晒す事もできなくはないですが、この余白はそれを書くには狭すぎるので今回はそういうアプローチがあるということだけを書いて終了します。
とりあえず僕が自作したのはローカル(windows)とhttp(SVN)とftpとsshに対応した相互diffツールです。全ての環境の組み合わせでdiffをして差分を表示したり、特定の環境だけをdiffしたりできるので開発効率アップです。
タイトルで言ってしまった感がありますが、下請けで改修作業をしていると既知バグを発見してしまうことがあります。
これは非常に難しい問題です。もう完全にクライアント次第としかいいようがないんですが、クライアントに報告すべきかしないべきかは慎重に考える必要があります。
バグを報告するとちょちょっと直してよ、とかいうクライアントもいますし、何よりクリティカルなバグの場合、見積もりしてくれと言われたとしてもとてもじゃないけど責任を請け負いたくない場合もあります。
なので見なかったことにする。
む、ちょっと眩暈が。最近寝てなかったし。とか言いながら缶コーヒーでも飲んで一服しましょう。
するとどうでしょう、さっきまでバグを見過ごさないのはプログラマの矜持だとかなんとか言ってたのにあら不思議、とりあえず今改修対象のところだけ直そう。となります。
20個くらい書くつもりで見切り発車してみたものの、もうない。泥臭い作業にノウハウなんてないのだ。
所詮泥は泥。ドロドロ。細かいコードの書き方まで言い出せばいくらでもあるけど「些末なコードレビュー」の話したところで泥で足掻いてる人にとってはなんら救済にならないし別に必要ないよね。
さてここからは他にも泥臭い作業をしている人たちでノウハウを構築しようではないか。6番目以降を書く同志達を僕は待ち望んでいるッ!
編集時刻: 2012/10/29 11:50:00 編集者: rent-7777 編集内容: 1c1,2 3,4c4,5 6,7c7,8 18a20,23 20,26d24 28d25 41,43d37 -「おかま」もしくは、女性の心を持った男性のこと。また、そのようなキャラクターのこと。「おネエ系」とも。 +新宿2丁目など男性同性愛者の中では、ゲイの中で<span class="deco" style="font-weight:bold;">オネエ言葉を使うゲイ</span>を「オネエ」といってきた歴史がある。ゲイの全てがオネエというわけではない。 +昨今、テレビのバラエティ番組などでは、[[ゲイ]]<!--おかまは差別語-->の男性の中でも、女性性が高いか、女性の心を持ったタイプの人のことをオネエというようになっており、「おネエ系」ともいう。 -おねえキャラの男性は、「美意識が高く知識が豊富」「女性の(男性の)気持ちがわかる」「人生経験が豊富で相談相手に最適」として、女性に人気がある -「おかまバー」「ゲイバー」勤め以外に、スタイリストやメイクアップアーティストなど「美」に関連する職業に就いている人も多い。 +女装をし性転換までするニューハーフ、女装のみをして身体は男性のままでいたい女装家、女装せず身体も服装も男性のままだが心が女性に近いトランスジェンダーの3タイプがある((2011年6月8日放送TBS系「20マウス」オネエ仕分けより。))。男性のアイデンティティをそのまま受け入れている男性的なゲイは含まれない。 +おねえキャラの男性は、「美意識が高く知識が豊富」「人生経験が豊富で相談相手に最適」として、<!--女性に(女性に人気といいますが、オネエは女性の為の癒し道具ではありません。-->人気がある。「ゲイバー」「ニューハーフバー」勤め以外に、デザイナーやスタイリスト、メイクアップアーティストなど「美」に関連する職業に就いている人もいるが、ほとんどの人は普通の仕事に就いている。 -性同一性障害の診断の有無、性転換手術経験・整形などの有無、恋愛対象が異性/同性、容姿が男性/女性、を問わないカテゴリーであるが、「女装」だけを趣味とする男性を含むかどうかは意見が分かれる。 -明確な定義はないものの、「女性」の中にも、時折「男性」が見え隠れするのが特徴のようだ。(女性になりきっている場合は、「おねえキャラ」への分類が難しい) +<!--(出典のない独自研究であり、コメントアウト)性同一性障害の診断の有無リーであるが、「女装」だけを趣味とする男性を含むかどうかは意見が分かれる。 +明確な定義はないものの、「女性」の中にも、時折「男性」が見え隠れするのが特徴のようだ。(女性になりきっている場合は、「おねえキャラ」への分類が難しい)--> +*おねえキャラ +**ニューハーフ…はるな愛 +**女装家…IKKO、マツコ・デラックス、ミッツ・マングローブ、KABAちゃん +**トランスジェンダー…楽しんご、假屋崎省吾、植松晃士、平澤隆司、真島茂樹、マロン、水無昭善 -*代表格 -**容姿が女性×女性の心を持っている <おねえキャラ> -IKKO、はるな愛、マツコ・デラックス、ミッツ・マングローブ、カルーセル麻紀 -**容姿が男性×女性の心を持っている <おねえキャラ> -楽しんご、假屋崎省吾、植松晃士、平澤隆司、真島茂樹、マロン、尾木直樹、KABAちゃん、水無昭善 -**<おねえキャラ>に分類しにくい -三輪明宏、ピーター、佐藤かよ
「2011年6月8日放送TBS系「20マウス」オネエ仕分け」か。バラエティ番組のみを出典にして「「女装」だけを趣味とする男性を含むかどうかは意見が分かれる。」を削除するのはどうかと。
「みんなの役に立つサイトを作って、一発大きく儲けたい!」と、
思い続けて、早10年(泣)。。
とりあえず、エロサイトを作るのってすごく勉強なる?楽しい?らしいので、
誰にも利用されない「へぼツール」作るより必ず誰かの為になるなぁと考え、
できるだけ、誰でもわかるように、詳細を書いていますので、
これを見るだけで、ノンプログラマーの方でも、
※記事は毎日10件更新予定です。つまり毎日このサイトだけ見に行けば困らないってことです。
http://anond.hatelabo.jp/20101219185436
http://anond.hatelabo.jp/20101203150748
http://d.hatena.ne.jp/inouetakuya/20120331/1333192327
http://anond.hatelabo.jp/20120318122617
http://anond.hatelabo.jp/20120914214121
http://anond.hatelabo.jp/20110804021353
http://anond.hatelabo.jp/20120926165533
saasesのVPS OsukiniサーバーLT メモリ512MB 月450円! アダルトOK
CentOS 64bitを選択。(メモリを食うだけなので、特に用がなければ、32bitにしよう!)
※どこにも書いてないけど、2週間以内なら取り消しできます。
☆契約時、webmin&mysqlの選択は必須にしておいたほうがいいです。私は間違えて、webmin無しにしてしまった。。
後から、再インストール(初期化)すれば、再選択することができるようです。。
申し込み後、たったの30分で接続できるようになりました。
をバリュードメインで取得。280円!安い。
/sbin/chkconfig auditd off
/sbin/chkconfig autofs off
/sbin/chkconfig avahi-daemon off
/sbin/chkconfig firstboot off
/sbin/chkconfig kudzu off
/sbin/chkconfig lvm2-monitor off
/sbin/chkconfig mcstrans off
/sbin/chkconfig mdmonitor off
/sbin/chkconfig messagebus off
/sbin/chkconfig netfs off
/sbin/chkconfig nfslock off
/sbin/chkconfig portmap off
/sbin/chkconfig rawdevices off
/sbin/chkconfig restorecond off
/sbin/chkconfig smartd off
/sbin/chkconfig xfs off
※190MBが150MBぐらいになります。
http://support.saases.jp/index.php?action=artikel&cat=63&id=312&artlang=ja
# vi /etc/httpd/conf/httpd.conf
NameVirtualHost *:80 ←これを探して、コメントアウトを削除。その下に以下を設定。
DocumentRoot "/home/ユーザーID/iphone-xvideos.info"
ServerName iphone-xvideos.info
<Directory "/home/ユーザーID/iphone-xvideos.info">
order deny,allow
Options FollowSymLinks
# /etc/rc.d/init.d/httpd restart
「httpd: Could not reliably determine the server's fully qualified domain name, using...」
その時はこちらで解決⇒http://d.hatena.ne.jp/uriyuri/20100511/1273575287
で、このままだとIPアドレスでもアクセスできてしまうので、以下もやっておく。
http://fedorasrv.com/memo/log/29.shtml
mkdir /home/ユーザーID/iphone-xvideos.info
chown ユーザーID /home/ユーザーID/iphone-xvideos.info
/home/ユーザーID/以下はpermission errorとなりアクセスできないので、権限を変える。←いいのかな?
http://blog.verygoodtown.com/2010/02/centos-apc-install-how-to/
↑これを実行した際に、「error: expected specifier-qualifier-list before 'pcre'」なんちゃらっていうエラーがでたので、以下を実行。
再度実行して、無事インストールできた。
【APCの設定】
extension=apc.so
[APC]
apc.enabled = 1
/ ←検索
n ←次の検索文字へ
]] ←最後尾に移動
:q! ←保存せずに終了
--------------------------
# /etc/rc.d/init.d/httpd restart
vi /home/ユーザーID/iphone-xvideos.info/index.php
phpinfo();
?>
http://tanaka.sakura.ad.jp/2011/05/centos-linux-apache-php-perl-mysql-lamp.html
↑これを参考に適当に変更してみた
MaxClients 256 ←これを40に
MaxRequestsPerChild 4000 ←これを1000
このサーバは、512MBしかないからもっと小さくしたほうがいいのかも。。
# ab -c 10 -n 100 http://iphone-xvideos.info/
【変更前】
Requests per second: 40.01 [#/sec] (mean)
【変更後】
Requests per second: 137.57 [#/sec] (mean) ←1発目
Requests per second: 552.79 [#/sec] (mean) ←2発目以降(キャッシュ後)
最新版をやってみるとエラーが発生。
「サーバーの PHP バージョンは 5.1.6 ですが WordPress 3.4.2 は 5.2.4 以上のみでご利用になれます。」
3.1系を選択する。。
http://ja.wordpress.org/releases/
※↑結局、後日phpとmysqlのバージョンアップをやりました。
ソースをUP
DBを作る
ホームの「新規データベースを作成する」と書いてある所の下にある、
を修正する。
【プラグイン】
WPtouch ←/wp-content/plugins/wptouch/themes/core/core-header.php をちょこっと変更すればiphoneでxvideo再生ができる。
○人気記事一覧
http://the-fool.me/wordpress/plugins/wordpress-popular-posts.html
設定⇒投稿設定⇒Atom 投稿プロトコル&XML-RPCにチェック
キャッシュが効いていて問題ないことを確認。
○wikipediaから取ってきた女優名をカテゴリテーブル(wp_terms)に突っ込む。(5,260人でした。)
↑これは月に2回更新。cronで動かすことにした。
○googleブログ検索(24時間以内のもの)に女優名をつっこんで、
(とりあえず、引退した人の動画は少ないだろうと考え、現役2,762人分のxvideosを取得してみた。処理時間8時間、192件取得できた。)
http://www.kaasan.info/archives/1457
動画のURLを取得したら、削除されていないか調べて、OKだったら投稿。
http://www.multiburst.net/sometime-php/2009/04/newpost-with-wordpress-xmlrpc-api/
↑ここらへんを参考に
http://pear.php.net/package/PEAR/download
↑pear自体はここにあるので、「XML」フォルダのみをUP。
だいたい、30分で10記事取得できることがわかったので、
【cron設定】
$ crontab -e
00 04 * * * /bin/sh /home/ユーザーID/iphone-xvideos.info/insert_X.sh >/dev/null 2>&1
00 03 1,15 * * /bin/sh /home/ユーザーID/iphone-xvideos.info/insert_XXX.sh >/dev/null 2>&1
http://miya0.dyndns.org/pc/settei/crontab.html
----------------------------------------------------
↑旬な情報が取れないが、とりあえず。。
前日のterm_idを記録して、
次の日はそれ以降のデータを取得する。
----------------------------------------------------
☆jqueryでお気に入り作成。cookieを使う。(PCのみ?)
☆好きな女優を登録しておけば、記事の更新情報をメールで通知。
☆デザイン修正。。
実際、なんとなく勉強になった気もするし、楽しく作業できました。
まったくアクセス無くても、自分用にとても良いものができたと思っているので満足です。
もし繋がりにくくなったりしたら、
別のレンサバに変更しますー。
随時こちらに追記していきますね。
最後まで読んで頂いてありがとうございます。
サイトオープンから10日ほど過ぎたので状況をお知らせします。
はてぶは全くだめだった。。
(日々増加しているが、検索エンジンからくるようになってもまだこんだけ。。)
メモリは問題なし。512MB中ピークでも300MBぐらいしか使ってない。
# chmod 744 /usr/local/bin/memrep.sh
※本日、テスト的にDMMの広告を張ってみました。。←すぐ消した。。
また、後日お知らせしますね。
1か月経ったので。。
ページビュー2500/日
自動更新なのに、きっちりアクセスは日々増えて続けています。エロは強い。
アクセス少ないので、負荷は全く問題なし。
Swapも全く使ってない。
単純に俺が嫉妬してるだけだけど、ひとつのプログラミング言語でたくさんの人たちが慣れ合っているのを見るのが辛い。
職場で使ってるC#(いまだに2.0)もJava(いまだに1.4)も、そんな世界とは無縁なんだもん。
どんなにPerlがすごいことになったとしても、俺には全く関係ない。っていうか、仕事でプログラミングする世界というのは楽しくないはずなのに。
そして、この「プログラミングが楽しくない」というのはきっとプログラミング言語そのものとは関係ない。今の職場でPerlが使われたとしても、それは今使っているC#/Javaと同じように、訳の分からないクラス/メソッド命名ルール、肥大化してメンテのされない"共通メソッドライブラリ"、前バージョンのコードはコメントアウトして保存、テストファーストでもなくリファクタリングも許可されない、のようなやり方になるわけで。
「公式 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言語)
共有に上げて周知したものって、簡単にパス変えちゃいけないと思うんですよ。
以前にフォルダ構成変えられた時は本当参りましたよ。
何があったんだって思いました。
コメント部分しか変更してないから問題ないと思って
チェックアウトしてみればこれだもの。
どこか間違って消しちゃったかと思いましたよ。
原因追求してみたらプロジェクトファイルコミットし忘れてるがな。
通りでリンカが文句言うわけだ。
こっちの環境じゃ動いた、とか言われても困りますよ。
お前何年目だよ。
「何もやってないんだけど・・・」とか言う初心者かっての。
以前のコードをコメントアウトして残しておいて、テストコード追加して
いくつものファイルがそんな状態なものを、とりあえず明日続きやるからってコミットする。
マジ勘弁。
ドキュメントも無い状態だからって四苦八苦しているのは分かるけど、
こんな状態でうまく進むわけねーだろ。
と言ってやりたいが、
入社して間もない俺はそのようなことは言えないのであった。悔しい。びくんびくん