トップページunix
1001コメント277KB

バッドノウハウについて語るスレ

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
バッドノウハウについてあれこれ語りましょう。例えばUNIXにおけるバッドノウハウの事例を
あげるもよし、「お前、バッドノウハウって言いたいだけちゃうんかと」と異議を唱えるのも
よし、あるいは「ハッドノウハウとどう向き合うべきか?」という話をするのもよいのでは
ないかと思います。

バッドノウハウの定義などについては>>2以降で
0002名無しさん@お腹いっぱい。NGNG
       _,. -‐ '' " ",. ̄'' ̄` ''‐$        
      ,.-'      ,r''  _,,.. - $  ` $      
    ,.r'/// /   ,.-'      `' $. \
   /       ,r'  ,r'       ,rfn$ \ '$    
  / /////  ,'   ,'  ,rffn.   '"     ヽ ',   
  i     ,.'   .i  '"     ,riiFヽ.   ',. ',  
 |  ,.r '"  |.   {  ,riiFヽ  ハ   _.    ', ',  ヨコハマタイヤ様が素敵な笑顔で>>2GET!!
 | .,.r'    |   !   ,..  _,,.. -‐' _,..r'  i .i   轢き殺されたくなかったら道をあけろ!!
 |,'      ',   ',   '$., __ ,.. -‐''"^  }  | .| 
  |       ',    `$  ヽ        !   } .} 
  ',         ',    '$  ヽ      ./   ! .|  >>3 タッチの差だな。タイヤ交換しろ!
   '$       `$   \  `ヽ==='^    ,' !   >>4 おせーよバカ教
?所からやり直せ(L_
    `$        '$     ' $        / .,'   >>5 クルマ乗る前
縫?ンナに乗れよ(9^W
      '$'-..,,_____ ___`$    `''‐- ..,, ,,.. r'  /   >>6 ペーパードライバーって素人童貞のことだろ(\W
      \ ヾヾヾヾヾ \          /    >>7 毎晩シフトレバー磨
い討鵑犬磴諭爾?(爆
       ` $  $$$$$$$$ ` - ..,,, _ _,.r'^      >>8 おめーの人生転
?りっぱなしだな(7^,J
         `' - .,,_       _,. - ''"       >>9 ガキの頃俺の
藐?て泣いてたの知ってるぞ(8=
             `"'' '' '' ""           >>10以下はちゃんと
?気圧チェックしろよ!
00031NGNG
バッドノウハウの定義

計算機を使っていると、何でこんなことを覚えないといけないのだろうか、とストレスを感じつつも、
それを覚えないとソフトウェアを使いこなすことができないためにしぶしぶ覚えなければならない、
といった類いのノウハウは多い。そうした雑多なノウハウのことを、本来は知りたくもないノウハウ
という意味で、私はバッドノウハウと呼んでいる。

-- バッドノウハウと「奥が深い症候群」より
http://namazu.org/~satoru/misc/bad-knowhow.html
0004名無しさん@お腹いっぱい。NGNG
アプリケーションに固有の事柄でありながら
バッドノウハウでないノウハウってどんな例がある?
0005名無しさん@お腹いっぱい。NGNG
AAもまともに貼れない>>2がバッドノウハウ
0006名無しさん@お腹いっぱい。NGNG
シェルの文法について
http://pc.2ch.net/test/read.cgi/unix/1071230007/299-325
0007名無しさん@お腹いっぱい。NGNG
>>3 の定義に従うのなら、一般人にとってコンピュータ自体(ry。
0008名無しさん@お腹いっぱい。NGNG
> 計算機を使っていると、何でこんなことを覚えないといけないのだろうか、とストレスを感じつつも、
> それを覚えないとソフトウェアを使いこなすことができないためにしぶしぶ覚えなければならない、
> といった類いのノウハウは多い。

こんなこと、「計算機」や「ソフトウェア」に限らずいくらでもあると思うけど。
知りたくもないけど必要なことがいっぱい。

「バッドノウハウ」かどうかの基準って、その人がストレス感じるかどうか、ってことでいいのかな。
0009名無しさん@お腹いっぱい。NGNG
初心者なので
>1がこの板にいる理由がわかりません
おしえてください
0010名無しさん@お腹いっぱい。NGNG
>>9
UNIXはバッドノウハウの宝庫だから、ということらしい。
0011名無しさん@お腹いっぱい。NGNG
バッドウハウハ
0012名無しさん@お腹いっぱい。NGNG
>>8
結局そうなんだろうね。俺は RedHat なんかの rpm や chkconfig の仕組みを
覚えるのにうんざりした覚えがあって、これはバッドノウハウだった。
でも、NetBSD の pkgsrc や rc にはそんなストレスを感じなかったりもする。

ま、好みの問題かもしれない。
0013名無しさん@お腹いっぱい。NGNG
>> http://pc.2ch.net/test/read.cgi/unix/1071230007/325

IFS は確かに black magic の世界だな。
しかし、普通は変更しないので問題なし。

`` もかつては、black magic だったが、今や $() を使えば
良いから、若者にとっては問題ないぞ。
0014名無しさん@お腹いっぱい。NGNG
procmailrcとか。
001513NGNG
procmailrc と sendmail.cf については、全く同意 (w
0016名無しさん@お腹いっぱい。NGNG
>>12

好みの問題でしょ。
俺は個人で使っているのは NetBSD、お仕事は Redhat という
ある意味よくいるタイプで、仕事では rpm ファイルや
chkconfig 用の rc スクリプトも書いてるが、別に問題を感じ
ない。
RedHat で嫌いなのは、他の部分だな。
0017名無しさん@お腹いっぱい。NGNG
システムが変わったときに応用がきかない知識
0018名無しさん@お腹いっぱい。NGNG
展開の順序は次のようになります:
ブレース展開、チルダ展開、パラメータ・変数・算術式展開、
コマンド置換 (左から右へ)、単語分割、パス名展開。
man bashより

この順番ってバッドノウハウだよな。
0019名無しさん@お腹いっぱい。NGNG
>>18
でも順番つけないわけにいかないでしょ。
その順番が問題になるような状況ってあんまりないし。
002013NGNG
そうそう。俺も順番なんて覚えてない。
(単語分割のされかたの部分を除く)

普段まったく必要なくて、どうしても必要になったら
マニュアル見れば書いてあることなんだから、ノウハウ
にしてため込む必要なんてないでしょ。
0021名無しさん@お腹いっぱい。NGNG
>>16
RHでどの部分が嫌い?
このスレ的にはどこらへんがバッドノウハウだと思う?

洩れ的にはLinuxのdist.毎に異なる部分はバッドノウハウの巣窟かな。
0022名無しさん@お腹いっぱい。NGNG
パッケージングシステムごとに違いがあるのは
ある程度しかたないんじゃないかな。

RPM でいやだったのが
パッケージがあるファイルに依存するときに
そのファイルがどのパッケージに存在するか
さがすのに苦労すること。
最近は apt とかがあるからそういう苦労もなくなったけど。
0023名無しさん@お腹いっぱい。NGNG
>>22
「rpm -qf パス名」で分かるけど?
man rpm すれば、書いてあるよ。
0024名無しさん@お腹いっぱい。NGNG
>>23
それがバッドノウハウって言うんでは?

依存関係くらい勝手に探して表示すればよい。
0025名無しさん@お腹いっぱい。NGNG
>>23
まだインストールされてないパッケージに所属するファイルだから
探すのに苦労するんだよ。
0026名無しさん@お腹いっぱい。NGNG
>>17
同意。
0027名無しさん@お腹いっぱい。NGNG
つまり、あれこれバラバラで全然統一のとれてないUNIX系
OSなんて捨てて、Microsoft様の意志のもと、完璧に統一
されている Windows 使えやゴラァということですか。
そうですか。
0028名無しさん@お腹いっぱい。NGNG
>>27
統一されてないと思いますが。
0029名無しさん@お腹いっぱい。NGNG
>>5
AA まわりもバッドノウハウが山盛りだよな。
0030名無しさん@お腹いっぱい。NGNG
>>25
そう。それを解決するには全部いりのリファレンスマシンが必要かも。
Debianだとlistが何かのパッケージに入っていたけど、
パッケージ名もファイル名も忘れた。

RHよりはこっちの方が便利だけど、バッドノウハウだよな。
0031名無しさん@お腹いっぱい。NGNG
ttp://namazu.org/~satoru/computing/mktexlsr.html
何も考えずに下手にls-Rを消しても痛い目にあうことがある

% A leading !! means to look only in the ls-R db, never on the disk.
TEXMF = !!$TEXMFMAIN

!! を取ってやらないといけない。
0032名無しさん@お腹いっぱい。NGNG
SOA のシリアル上げ忘れ。
M-x zone-mode なんか使ってられるか。
0033名無しさん@お腹いっぱい。NGNG
適応せよ!
適応せよ!
0034名無しさん@お腹いっぱい。NGNG
>>33
宗教的自由を行使します。
0035名無しさん@お腹いっぱい。NGNG
cut と sort で、
区切り文字と要素の位置を指定するオプションが異なるわけだが、
デリミタでd、フィールドでf、という具合に cut のほうが覚えやすい。
どっちが先に出来たか知らんけど、sortのオプションはバッドノウハウくさい。
0036名無しさん@お腹いっぱい。NGNG
UNIX系のそれでバッドノウハウを意識させられるのかっていうと、
ドキュメント読まないといけないからだと思う。
キャップを開けるのに右回しになっていたとしても、そういうもんだと
思って我慢すれば問題ない。だけどソフトウェアはそうはいかない。
我慢の上に、努力しなくちゃいけない。

標準、直感からの距離感 * その上に強いられる努力
これがバッドノウハウ指数を図る目安だとおもう。
0037名無しさん@お腹いっぱい。NGNG
バッドじゃないノウハウって
たとえば何よ。
0038名無しさん@お腹いっぱい。NGNG
rm -rf /
0039名無しさん@お腹いっぱい。NGNG
グッドウハウハ
0040名無しさん@お腹いっぱい。NGNG
グッドマウマウ
0041名無しさん@お腹いっぱい。NGNG
アフォーダンスが足りない!
アフォーダンスが足りない!
0042名無しさん@お腹いっぱい。NGNG
アフォダーンス
0043名無しさん@お腹いっぱい。NGNG
> どっちが先に出来たか知らんけど

sort が先。たぶん10年近く差がある。
0044名無しさん@お腹いっぱい。NGNG
sort2 コマンドを作れ作れ作れ
0045名無しさん@お腹いっぱい。NGNG
___ _ _ | _ __|_ __|_ _|_o _ | _ _| |(/__> |_ (_)| | |(_||(/_(_| _|
0046名無しさん@お腹いっぱい。NGNG
>>37
* find と xargs の構文
* perl -pi.orig -e '...' とか ruby のそれとか
* zsh の =hoge と zmv コマンド
* CVS の基本的なコマンド
* 初心者が使う計算機には sl を仕込んでおくこと

ってところかなぁ。どれも個人的なものでしかないけど、このノウハウで
で得られるメリット(≒満足感)は大きいし、利用時にストレスも感じない。

逆に、PKI 関連はバッドノウハウだと思う。たまにしか使わないからなかなか
覚えられず、ストレスが溜る。これも、個人的な問題ではあるけど。
0047名無しさん@お腹いっぱい。NGNG


   ○    ○ < 押すなよ!ぜぇーーったいに押すなよ!
    |こ  / |
    >ヽ |⌒ |____|   
0048名無しさん@お腹いっぱい。NGNG
>>46
> * CVS の基本的なコマンド

cvs まわりなんざバッドノウハウがうじゃうじゃあると思うのだが。
どこまでを基本的と言っているのか知らないが。
0049名無しさん@お腹いっぱい。NGNG
>>48
その「うじゃうじゃ」をもっと具体的に書けば話がふくらむんじゃないの?
改行問題とか、ディレクトリ mv 問題とかさ
0050名無しさん@お腹いっぱい。NGNG
バッドノウハウもそれだけを切り離して
隔離すればそこそこノウハウになる。
0051名無しさん@お腹いっぱい。NGNG
ワーキングコピーの状態を知るのに update を使わないといけない
005246NGNG
>>48
普段よく使うのは

cvs co [-r] [-d]
cvs add
cvs ci
cvs di -u
cvs up (-dP|-A)
cvs lo -t ChangeLog
cvs tag [-b]

というあたりかなぁ。こんなもんで事足りてる。
0053名無しさん@お腹いっぱい。NGNG
>>51
それはそういうものだとしか言いようがないような。
ていうか、それってバッドノウハウか?
0054名無しさん@お腹いっぱい。NGNG
>>51
私は cvs update して M になっているファイルは cvs up -p し直して未修正
版を手元に置いてます。

% cvs up
M foo.c
% cvs up -p foo.c >'.#foo.c.'$(cvs_getcurrentversion foo.c)
% ls -a
.#foo.1.2.3
foo.c
% diff -u '.#foo.1.2.3' foo.c
:
0055名無しさん@お腹いっぱい。NGNG
psのオプションはバッドノウハウだ。
man psしてもよくわからん。
0056名無しさん@お腹いっぱい。NGNG
>>53
「それはそういうもの」で済むんだったらバッドノウハウなんて存在しないって。

CVS で状態を知るのに update (更新)を使わないといけないのは明らかに直感的でない。
だからこそ Subversion では status コマンドができた。
0057名無しさん@お腹いっぱい。NGNG
数カ月ごとにOSを再インストール
0058名無しさん@お腹いっぱい。NGNG
>>56
cvsにもstatusコマンドはあるよ。
レポジトリにアクセスするところはupdateと変わらないけど。
そうしないと状態を知ることができないのがダサいと言うなら
その通りかもしれない。
0059名無しさん@お腹いっぱい。NGNG
で思ったんだけど、バッドノウハウを叫ぶ姿勢って物事の本質から
目を背ける危険性があるんじゃないかな。
0060名無しさん@お腹いっぱい。NGNG
>>59
本質はよくても枝葉が腐ってればバッドノウハウで乗り切るしかないんでない?
0061名無しさん@お腹いっぱい。NGNG
>>60
そんなしよう(←何故か変換したくない)は切捨てたい。
006248NGNG
>>52
> cvs add

mkdir foo ; touch foo/bar
cvs add foo
cd foo && cvs add *

なら痛い目を見ないが

mkdir foo ; touch foo/bar
cvs add foo
cvs add foo/*

で foo/CVS/ まで add されて痛い


> cvs ci

ネットワークが遅いからといって途中で中断してはいけない。
破壊的な操作全般に言える。
006348NGNG
>>52
> cvs di -u

枝と日時を指定して diff の対象にできない。必要になりそうなところは
タグを打っておかないとダメ。

FreeBSD の cvs 使いなら diff -j で救われる。


> cvs up (-dP|-A)

-kb なファイルがコンフリクトすると手元の成果が平気で消える可能性が
ある。.# に残ってたってビックリするものはビックリする。


> cvs tag [-b]

tag は -c を忘れると ci し忘れたときに痛い。

枝を作るときには根本にタグをあらかじめ打っておかないと、あとで必要
になったときに面倒でしょうがない。枝の先端は嫌でもタグが張り付くく
せに、根本を示すものは自動じゃつかない。

枝の名前は cvs admin を使わないと変更できない。cvs admin を使って
も根性か便利なスクリプトでもないと変更する気にならない。
(ベンダータグは例外。リビジョン番号 1.1.1 と決めうちできるから楽)
0064名無しさん@お腹いっぱい。NGNG
Windowsなんだが、何するにも××ツール(しかも有料)を使わないと
何もできない点。
0065名無しさん@お腹いっぱい。NGNG
  ∧_∧
 (;´∀`) このスレ見てたらチンコ勃っちゃった
 人 Y /
 ( ヽ し
 (_)_)
0066名無しさん@お腹いっぱい。NGNG
>>64
金払えばいいじゃん。貧乏人はうぜえからどっかいけ
■ このスレッドは過去ログ倉庫に格納されています