X



POSIX原理主義の本 第3弾 File/Dir Hacks ver. 1.0
0001デフォルトの名無しさん
垢版 |
2021/12/27(月) 22:54:44.61ID:9pxKnhb5
POSIX原理主義の本 第3弾
File/Dir Hacks ver. 1.0
SQLtoUNIXマイグレーション編
追記版
https://richlab.org/coterie/FDH1.html


FileとDirですべて解決、シンプル・超堅牢なアプリ・システム開発術
本文サンプル(1)
「シェルスクリプトでシステム開発」と言われても,「ろくな開発ライブラリーが
揃ってないじゃないか!」と不満を口にし,始めから眼中にないという方,多くありませんか?

見くびってはいけません.シェルスクリプトでも十分に開発ができます.
でも多くのプログラミング言語が持っているようなライブラリー類に頼るのではありません.
少々のUNIXコマンドと,ファイル・ディレクトリーを,頭を使って使いこなし,やりたい処理を実装していくのです.
0002デフォルトの名無しさん
垢版 |
2022/01/01(土) 22:34:16.03ID:OowWZOH4
SQLite使えアホ
0003デフォルトの名無しさん
垢版 |
2022/01/01(土) 22:37:14.12ID:KzNGE8bI
SQLiteは複数のプロセスやスレッドからの同時アクセスに弱い。
0004デフォルトの名無しさん
垢版 |
2022/01/01(土) 22:42:33.01ID:OowWZOH4
>>3
シェルスクリプト使うからやろw
0005デフォルトの名無しさん
垢版 |
2022/01/01(土) 22:43:10.91ID:OowWZOH4
というかファイルも同じだな
だからわざわざロックをかけないといけない
0006デフォルトの名無しさん
垢版 |
2022/01/02(日) 00:19:06.98ID:TQn3/Mee
そんなあなたにOracle Database 21c。
0008デフォルトの名無しさん
垢版 |
2022/01/02(日) 01:47:39.95ID:iikHkBfH
PostgreSQLでもいいよ。ってか最近あまり聞かないね
昔はOracleに対抗するのはPostgreSQLで
MySQLはエンタープライズ向けじゃなかったのに
今はMySQLとその派生ばっかり
0010デフォルトの名無しさん
垢版 |
2022/02/22(火) 20:45:50.19ID:LHZaRsEg
何百万回目かの再発明…

勤勉なマであれば誰しもこういうの手習いにシコシコ組んでるはずで、とっくに使えないことに気付いてるよ
俺も十年前に通った道
0011デフォルトの名無しさん
垢版 |
2022/02/26(土) 21:04:18.96ID:YyIkyWE5
この人もう40代・・・
こういうのは20代のうちに終わらせておくべき
再発明して俺スゲーってなろう小説かよ
0013デフォルトの名無しさん
垢版 |
2022/02/26(土) 22:53:21.10ID:OOr7rJNg
ハッカーにでも憧れてるんじゃない?
やってることはただのバッドノウハウでしかないのにね
1ディレクトリファイルは1000個以下に抑ましょうとか
もうKENT WEBの時代のテクニックやで
0014デフォルトの名無しさん
垢版 |
2022/02/26(土) 22:57:34.69ID:OOr7rJNg
なんつーか、エクセルマクロでシステム作って小さな会社で表彰されて、
変な自信をつけて、本まで作っちゃいましたみたいなレベルなんよな
プロの世界では相手にされてないっつーか
0015デフォルトの名無しさん
垢版 |
2022/02/26(土) 23:10:10.15ID:wlHKrUnO
っていうかGoogle相手に
シェルスクリプトでビッグデータとか
恥ずかしすぎるからやめたほうがいい
0016デフォルトの名無しさん
垢版 |
2022/02/28(月) 18:23:21.93ID:GDt5jouQ
この本ひどいね。シェルスクリプトあまり知らない俺でも
わかるようなツッコミどころや間違いのオンパレードだっだ

遅くなるから1ファイルの行数は1万行未満にしろ&ファイルの中身はソートしておけとか
言ってるけど、途中に新たな行を追加したい時に、どうやってこの二つを満たすのかその方法すら書いてない
(やり方を思いつかないわけじゃないが、面倒かつ遅い方法だからやろうと思わない)

この人、考えが足らなすぎだと思う
0017デフォルトの名無しさん
垢版 |
2022/02/28(月) 18:58:17.41ID:9W2zYqHy
おれは無料でも落とすとアフィリエイトかなんかで金入りそうで止めたわ
レビューおつ
0018デフォルトの名無しさん
垢版 |
2022/02/28(月) 20:48:52.14ID:GDt5jouQ
例えばこんなことががある

> HACK 2.4 NULL 値は、\-" や\*" などの記号一文字で表す
> この決め事に満足できないというなら、あなたのデータ設計はたぶん適切ではない。

自分の理論で相手を納得させられないやつの典型例。
「俺が正しい。理解できないやつは馬鹿だ。」
0019デフォルトの名無しさん
垢版 |
2022/02/28(月) 20:57:40.38ID:GDt5jouQ
明らかな矛盾の一例

> HACK 2.3 改行・タブ等のその他特殊文字はバックスラッシュ記号でエスケープする
>printf のフォーマット記述と同じルールにしてしまえば、printf で簡単に元に戻せる。
この人がこれを書いた直前に言ったこと

> 文字列中の半 空白は、\_" アンダースコア で表現する。
> 同様に、アンダースコアは、手前にバックスラッシュを付けて("\_") エスケープする。
これだとprintf で簡単に元に戻せないのだろう。
だからその後でエスケープ・アンエスケープのコード例としてawkを使って

gsub(/\\/ ,"\022",s);  # 2)"\"を一旦ダミー文字2に退避
gsub(/_/ ,"\\_" ,s);   # 3)"_" → "\_"
gsub(/ / ,"_" ,s);    # 4)" " → "_"
gsub(/\t/ ,"\\t" ,s);   # 5)タブ→ "\t"

なようなコードが20行ぐらい書かれてる。
printf で簡単に元に戻せるとは?
0020デフォルトの名無しさん
垢版 |
2022/02/28(月) 21:08:15.48ID:GDt5jouQ
見やすさの配慮とやらをを語る

17B243051100020049004
17B244064060020004048
↑これは見にくい

17B243 51 100 20 49 4
17B244 64 60 20 4 48
↑少しマシになった

> 最初のものに比べるとだいぶ見やすくはなったが、得点の桁数によって各生徒の列が
> ガタガタになっている。欲を言えば、各教科の列の位置は揃っていてもらいたい。

17B243 51 100 20 49 4
17B244 64 60 20 4 48
↑空白を入れて位置揃えをすることが見やすさの追求である(ドンッ!)

見やすくしたいなら、手動で位置揃えなんかせずに
column -tつかって桁揃えしろよ・・・
0021デフォルトの名無しさん
垢版 |
2022/02/28(月) 21:15:34.67ID:GDt5jouQ
> 第 5 章
> 排他処理(トランザクション処理)

あのさぁ、排他処理とトランザクション処理って
別もんだからさぁ
0022デフォルトの名無しさん
垢版 |
2022/02/28(月) 21:23:34.56ID:GDt5jouQ
またあった。自分の理論で相手を説得できない場合は相手をけなす癖

> この性質だけ見れば、UNIX ファイルシステム上での実装はSQL での実装よりも劣るように見えるが、
> ただその一点だけをもって全否定するようでは、使う側の資質に問題があると言わざるを得ない。
0023デフォルトの名無しさん
垢版 |
2022/02/28(月) 21:31:41.98ID:GDt5jouQ
あ?何やってんだこの人?

よくあるエスケープ処理、 \ を \\ にする処理で
なんで \ を \022 に一旦変換してから \\ にするなんて
無意味なことしてんだ?
レスを投稿する


ニューススポーツなんでも実況