POSIX原理主義「ほれみろまた新しいバージョン管理だ」

■ このスレッドは過去ログ倉庫に格納されています
2022/11/16(水) 20:15:25.62ID:iIuOsXs4
予想通り新しいバージョン管理ツールが登場するようだな
gitなんか使っていた奴らはデータが取り出せなくなり
移行作業に苦しむことになるだろう
シェルスクリプトなら何十年後も同じものを使いつけられる
20年前の知識が20年後でも通用するわけだ
シェルスクリプトでバージョン管理せよ。
使う方を覚えるのではなく、自分の頭でシェルスクリプトで
どうやってバージョン管理するのかを考えろ
56デフォルトの名無しさん
垢版 |
2022/11/18(金) 23:45:31.64ID:aPx/ZOnV
>>51
>autoconfを作ってるのはあのGNUだ
>独占してるGNUが勝手に仕様を変えると動かなくなる
GNUは独占していない
気に入らなればいつでもフォークする自由がある
57デフォルトの名無しさん
垢版 |
2022/11/18(金) 23:47:59.41ID:aPx/ZOnV
>>53
進化の否定以外の何物でもない
自分がついていけないものを否定するのではなく学んだ方が良いよ

まともな環境でプログラミングを学べていないのではないかな?
不幸なことです
58デフォルトの名無しさん
垢版 |
2022/11/19(土) 00:02:14.64ID:q/Zi7Et5
>>56
お前の独占の定義が間違ってるだけ。聖典を読め。

一個人や一企業の所有物が抱える問題

ではなぜ、一つの個人や企業の所有物か、それとも誰も独占しない公有物であるかに拘るのか。
それは所有物には次のような問題があるからだ。

その人の意向で、使い方のルールが変わってしまう恐れがある。
⇒ ルールが変われば話者(ユーザー)が翻弄される。
いざという時の代替品がない。
⇒ サポート終了や欠陥発覚で、話者(ユーザー)の逃げ道がなくなる。



6.1.3 ソフトウェアの方言・標準語の具体例

ソフトウェアにおける方言と標準語の違いに対する理解を深めるため、もう少し具体例を見てみるとしよう。
まず最初の表は、標準語ではない(つまり方言と見なされる)例である。

表6.1: ソフトウェアにおける「方言」の例

ソフトウェア名方言である理由
Linux|「優しい終身の独裁者」(Linus 氏)がカーネルの仕様を最終決定しているから。
ほとんどのUNIX|系OS それを作っている(実装している)のが一企業・一団体だけだから。
Perl, PHP, Ruby,Python, Java などの言語|〃
ash, bash, dash, ksh, zsh などのUNIX シェル|〃
GNU AWK, sed など (GNU 版コマンド群)|それを作っている(実装している)のがFSF という組織だけだから。
59デフォルトの名無しさん
垢版 |
2022/11/19(土) 00:05:48.28ID:q/Zi7Et5
>>55
では、お前は何を貢献したというのか?
60デフォルトの名無しさん
垢版 |
2022/11/19(土) 01:08:37.70ID:GrOHAxDN
>>58
>お前の独占の定義が間違ってるだけ。聖典を読め。
>
>一個人や一企業の所有物が抱える問題
>
>ではなぜ、一つの個人や企業の所有物か、それとも誰も独占しない公有物であるかに拘るのか。
>それは所有物には次のような問題があるからだ。
>
> その人の意向で、使い方のルールが変わってしまう恐れがある。
>⇒ ルールが変われば話者(ユーザー)が翻弄される。
> いざという時の代替品がない。
>⇒ サポート終了や欠陥発覚で、話者(ユーザー)の逃げ道がなくなる。
RMSが1989年に既に解決法を提示した
気に入らなければフォークする自由がある
2022/11/19(土) 08:10:39.76ID:RT6U+Vxw
>>59
反論になってないね
62デフォルトの名無しさん
垢版 |
2022/11/19(土) 11:09:34.44ID:DpTZ2WYm
>>60
フォークするってことは動作が変わるってことだろ
代わりにならないから意味がない
POSIX原理主義はどれか一つの製品が廃盤になったとしても
代わりの製品があるから長寿命が実現できる
63デフォルトの名無しさん
垢版 |
2022/11/19(土) 11:19:02.67ID:DpTZ2WYm
Twitterがいま大変なことになっているが
POSIX原理主義で作っていれば
Twitterがなくなっても問題なかった
2022/11/19(土) 11:25:33.60ID:J/3XLMTL
でもユニケージってUSPがガチガチにベンダーロックインしてるからUSPが潰れたらそこまでだよね

まあユニケージより優れてかつ保守性のある製品なんて山ほどあるが
65デフォルトの名無しさん
垢版 |
2022/11/19(土) 11:28:06.21ID:GrOHAxDN
>>62
>フォークするってことは動作が変わるってことだろ
オリジナルの動作が変わるのを嫌ってフォークするって話なのだから
自分でフォークしてオリジナルの動作を維持すれば?
66デフォルトの名無しさん
垢版 |
2022/11/19(土) 11:30:10.98ID:GrOHAxDN
>>63
要するにソフトウェアに著作権を認めるなって主張なんだな
「ソフトウェアは全てパブリックドメインであるべき」と読める
67デフォルトの名無しさん
垢版 |
2022/11/19(土) 12:01:17.06ID:o7Lf802R
これからはPOSIXの時代。
68デフォルトの名無しさん
垢版 |
2022/11/19(土) 14:13:36.75ID:0+8iohPF
>>63
TwitterはPOSIX原理主義で作れるんかね
ユニケージみたいにファイルでDBを代替するとしても
同時アクセスでプロセスが大量に作られて破綻する気がするけどどうやるんだろ
2022/11/19(土) 14:44:40.33ID:Tsc0nc3F
ユニケージのDBMS(笑)なんてトランザクション処理してないだろう
いちいちファイルに書き込むからオンメモリDBに比べてパフォーマンスで劣る
70デフォルトの名無しさん
垢版 |
2022/11/19(土) 18:15:05.51ID:DpTZ2WYm
>>65
C言語で作られているというのがセンスが悪い
C言語は効率がいいが移植性が低い。それらを維持するのは専門技術がいる。
だからといって他の言語はPOSIXで禁止されているから
シェルスクリプトを使うしかない
71デフォルトの名無しさん
垢版 |
2022/11/19(土) 18:16:52.18ID:DpTZ2WYm
>>68
Twitterなんぞただのウェブアプリにすぎない
POSIX原理主義でJSONのパースぐらいできる
base64だってシェルスクリプトで実装してみせた
ネットワークは困りどころだが交換可能性を満たせば
curlだってwgetだって使える
72デフォルトの名無しさん
垢版 |
2022/11/19(土) 18:18:00.47ID:DpTZ2WYm
>>69

トランザクションはulockを使うだけで実現できる

https://www.usp-lab.com/qa.html#exclusiveProcessing

ulock コマンドを使用します。ulock コマンドはロックファイルを排他的に作成します。また、そのロックファイルが存在する間は、待ち続けます。

例)ulock コマンドの実際の記述例
if ulock lockfile; then

###############################
# 排他的に行いたい処理を記述
###############################

# 最後にロックファイルを消去する
 rm lockfile
fi
73デフォルトの名無しさん
垢版 |
2022/11/19(土) 18:19:22.99ID:DpTZ2WYm
>>68
> 同時アクセスでプロセスが大量に作られて破綻する気がするけどどうやるんだろ
すでにFAQだな

https://www.usp-lab.com/qa.html#CGIAndProcess

Ⅲ-7. ウエブアプリケーションをCGIで記述するとプロセス過多にならないですか?

プロセス数が数千程度だと今の標準的なサーバーだと問題はありません。
万オーダーになってとるべき対策は、CGI 内部で次のような処理順番待ちを行う仕組みを入れます。

semwait --less_than 10 "semaphore.*"
touch semaphore.$$
##############
# 実際の処理
##############
rm semaphore.$$

これで解決しないようなオーダーのアクセスに対しては FastCGI 設定してウエブアプリケーション自体をサーバー化してプロセス数を増やさないようにします。
74デフォルトの名無しさん
垢版 |
2022/11/19(土) 19:22:45.72ID:2tp+mA4D
>>73
> FastCGI 設定してウエブアプリケーション自体をサーバー化してプロセス数を増やさないようにします
よくわかんないけど、これはシェルスクリプトでできるの?
75デフォルトの名無しさん
垢版 |
2022/11/19(土) 19:25:35.74ID:2tp+mA4D
>>72
ulockでできるのはロックだけのようだよ
コミット、ロールバックはまた別で作らないといけないよね
76デフォルトの名無しさん
垢版 |
2022/11/19(土) 19:28:54.32ID:2tp+mA4D
> プロセス数が数千程度だと今の標準的なサーバーだと問題はありません。
それはそうだろうけど
ハンズラボのブログを見るとユニケージではプロセス数が数万~10万のオーダで作られて
システムがまともに動かない状態になったってあるよ
77デフォルトの名無しさん
垢版 |
2022/11/19(土) 19:45:20.11ID:o7Lf802R
5chがPOSIXで作れないわけない。
2022/11/19(土) 19:46:35.99ID:lkLNqAVS
>>70
レベル低っ
2022/11/19(土) 20:08:06.41ID:iodR0UOJ
結局POSIX原理主義者ってシェルが得意なんじゃなくてシェルしか使えないからこんなくだらないことやってるんだよな
そもそもユニケージは可搬性ないしPOSIXにそぐわない
80デフォルトの名無しさん
垢版 |
2022/11/19(土) 20:17:24.68ID:o7Lf802R
中古98の価格を見てもそんなこと言えるかな?
81デフォルトの名無しさん
垢版 |
2022/11/19(土) 20:18:38.88ID:o7Lf802R
POSIX原理主義は顧客の要求に応えたものであることを知るべき。
2022/11/19(土) 21:06:54.52ID:2PIO0unP
POSIXとか顧客にダイレクトに影響のある規格じゃないし顧客が要求するものじゃないでしょ
POSIX原理主義者はそんなこともわからないのか
83デフォルトの名無しさん
垢版 |
2022/11/19(土) 21:19:52.08ID:o7Lf802R
>>82
顧客は新しいものを求めていない。
安定して使い続けられるものを求めてる。
84デフォルトの名無しさん
垢版 |
2022/11/19(土) 21:21:38.72ID:o7Lf802R
POSIXにこだわり抜くことで50年使えるシステムを目指してる。
85デフォルトの名無しさん
垢版 |
2022/11/19(土) 21:22:39.85ID:o7Lf802R
98上に組まれたシステムだってすでに30年動いているんだ。
顧客はそういうものを求めてるんだ。
特に日本の製品にはな。
86デフォルトの名無しさん
垢版 |
2022/11/19(土) 21:32:38.80ID:PMB+aUjv
>>85
そういうものを求めてる場面もあるってだけ
俺はやだよ
30年前っていうと1992年
Windowsなら3.1を未だに使い続けることを求める顧客が居る!
って言われてもナンセンス
87デフォルトの名無しさん
垢版 |
2022/11/19(土) 21:34:01.01ID:o7Lf802R
>>86
DOSだろうが。
ほんと何も知らないんだな。
88デフォルトの名無しさん
垢版 |
2022/11/19(土) 21:36:48.79ID:PMB+aUjv
>>87
俺は更に10年くらい古参だよ
89デフォルトの名無しさん
垢版 |
2022/11/19(土) 21:39:32.47ID:PMB+aUjv
長く使ってるからコンピュータは進化するものだ
身を持って理解している
90デフォルトの名無しさん
垢版 |
2022/11/19(土) 21:46:17.16ID:2tp+mA4D
>>83
そこでクラウドですよ
ハンズラボではユニケージを使ってたころサーバの性能が逼迫すると
手動でサーバを追加してたんだがAWSに変えてからはオートスケールするようになった
システムの動作も運用も安定した
2022/11/19(土) 22:02:46.05ID:IiC85j3y
>>83
顧客の要求は顧客が決めるんだよ、間抜け
92デフォルトの名無しさん
垢版 |
2022/11/19(土) 22:03:14.18ID:o7Lf802R
>>90
検索したら、雲のジュウザと出てきたのだが?
2022/11/19(土) 23:30:40.38ID:Bzioz9F5
>>92
検索もまともにできねえのか
死ねよ
94デフォルトの名無しさん
垢版 |
2022/11/19(土) 23:40:56.73ID:o7Lf802R
>>93
2022/11/20(日) 01:23:36.19ID:oVXvLE2c
反論なし、と
96デフォルトの名無しさん
垢版 |
2022/11/20(日) 10:06:13.11ID:imOCmDrk
>>90
クラウドに頼るやつはマシンの性能をフルに使い切れない愚か者

https://type.jp/et/feature/14070/

後藤「Web アプリ開発を例に挙げると、最近はクラウド上に立てたコンテナの中で
プログラムを書き、もし性能が足りなければコンテナ数を増やして対処することが一般的です。
ただこのやり方だとスケールアップする度に膨大な予算がいるし、
OSごと仮想化するのでどうしても動作が遅い。一言で言えば無駄が多いんです。

ユニケージ開発手法なら1台のマシンをフルに使い切れますし、
uspBOAが証明したようにマシンを並列につなげば安価で強力な実行環境を構築できます。
大量の電力を消費するデータセンターなどよりはるかに環境に優しいのは言うまでもありません。
今後ますますユニケージ開発手法のメリットが理解されやすい時代になってくるんじゃないかと思っています」

當仲「人間がちょっとだけ努力して歩み寄るだけで、コンピュータのリソースを100%使い切れるわけです。
その方が合理的で経済的だし、後藤さんの言うように環境に優しいのは間違いありません。
ただ漫然と楽な方へと流れていると、課題解決の道具に過ぎない開発環境に使われてしまうことになりかねない。
もしそれが嫌ならレイヤードされた階層の上部で開発する便利さに安住せず、
エンジニアはCPUやOS、アセンブラなど、低レイヤーに属する知識をもっと積極的に学ぶべき。それが私の持論です」
97デフォルトの名無しさん
垢版 |
2022/11/20(日) 10:07:03.91ID:imOCmDrk
>>83
よく分かってるな
クラウドとかいらない
顧客は古いシステムで十分
98デフォルトの名無しさん
垢版 |
2022/11/20(日) 10:07:53.66ID:imOCmDrk
>>79
C言語もできる
POSIX原理主義の第一人者の松浦智之は
C言語を使いこなしてる
99デフォルトの名無しさん
垢版 |
2022/11/20(日) 10:08:31.49ID:imOCmDrk
>>75
コミット、ロールバックなんぞ
一時ファイルにするだけで実現できる
コミットはファイルをmvするだけ
ロールバックはファイルを消すだけだ
100デフォルトの名無しさん
垢版 |
2022/11/20(日) 10:09:17.91ID:imOCmDrk
>>74
> よくわかんないけど、これはシェルスクリプトでできるの?
シェルスクリプトでできないところは
交換可能性を実現していれば、直ちに動かなくなることはない
2022/11/20(日) 11:37:38.91ID:3OcQOLJH
>>98
んなわけないだろ
あいつのクソソース見たことないのか?
102デフォルトの名無しさん
垢版 |
2022/11/20(日) 12:08:16.07ID:Ri+7Tw2S
>>98
>C言語もできる
って出来て当然だろw
レベル低いな
103デフォルトの名無しさん
垢版 |
2022/11/20(日) 12:30:15.70ID:imOCmDrk
>>101
どこがクソソースか言ってみ
104デフォルトの名無しさん
垢版 |
2022/11/20(日) 12:44:04.08ID:CFvDfimk
クラウドを提供したいのは詐欺師側であり、顧客はクラウドを提供されたくない。
105デフォルトの名無しさん
垢版 |
2022/11/20(日) 12:46:18.07ID:imOCmDrk
今のコンピュータの性能は高いのだから
その能力を引き出せばシェルスクリプトでビッグデータを扱える
何年後かにはコンピュータの性能は更に上る
ハードウェアの特殊な機能に依存するよりも
普通の機能だけで実現した方が何十年後でも同じものを使い続けられる
106デフォルトの名無しさん
垢版 |
2022/11/20(日) 12:46:37.03ID:CFvDfimk
顧客の側に立つ事業者が現れたものだから、詐欺師どもが大慌てしてるな。
107デフォルトの名無しさん
垢版 |
2022/11/20(日) 13:02:53.53ID:Ri+7Tw2S
>>105
顧客は性能に対して高いコストを支払うことになる
コスパを求める顧客からは敬遠されるね
でもそういう考え方はあると思うので否定はしないよ
108デフォルトの名無しさん
垢版 |
2022/11/20(日) 13:05:25.94ID:imOCmDrk
>>107
高機能なサーバーの能力を使い切った方が
コスパがいいに決まってるだろ
パイプで何段もコマンドをつなぐだけでCPUを使い切れるのに
それをしないでCPUを余らせておくほうがコスパが悪い
109デフォルトの名無しさん
垢版 |
2022/11/20(日) 13:10:14.00ID:Ri+7Tw2S
>>108
顧客が支払う費用の話

まだ社会に出ていないようだね
アホくさ
110デフォルトの名無しさん
垢版 |
2022/11/20(日) 13:11:32.43ID:imOCmDrk
顧客が支払う費用が同じだなら
マシンの性能をフルに引き出せる
ユニケージが優れてる
111デフォルトの名無しさん
垢版 |
2022/11/20(日) 13:13:48.72ID:CFvDfimk
費用でユニケージに勝てるわけないだろ。
112デフォルトの名無しさん
垢版 |
2022/11/20(日) 13:16:24.66ID:imOCmDrk
ユニケージはOracleみたいな高額なデータベースを必要としないからな
113デフォルトの名無しさん
垢版 |
2022/11/20(日) 13:18:42.30ID:Ri+7Tw2S
>>110
シェルとC言語の性能比だから同じになるわけないだろ
100倍 1000倍くらいは違うことになる
114デフォルトの名無しさん
垢版 |
2022/11/20(日) 13:19:33.27ID:imOCmDrk
>>113
ユニケージのコマンドはC言語で作られているから
シェルスクリプトは速いって何度言えばわかる?
115デフォルトの名無しさん
垢版 |
2022/11/20(日) 13:21:06.15ID:Ri+7Tw2S
>>114
シェルスクリプトはインタープリタで解釈を要するので遅い
116デフォルトの名無しさん
垢版 |
2022/11/20(日) 13:23:29.88ID:imOCmDrk
>>115
それは手続き型で書くからだ
ストリーミング型の書き方でパイプでコマンドを繋げれば
並列処理でマシンのCPUを使い切れる

論文にもなってる
https://www.ipsj.or.jp/dp/contents/publication/32/S0804-R1601.html
117デフォルトの名無しさん
垢版 |
2022/11/20(日) 13:27:43.58ID:Ri+7Tw2S
>>116
並列化の話は独立した別の話でC言語でも全く同じ
並列化できない部分でシェルはCに勝負を挑めない
話にならない
118デフォルトの名無しさん
垢版 |
2022/11/20(日) 13:30:46.44ID:imOCmDrk
>>117
現場の作業員共がC言語で並列化なんて出来るわけがない
119デフォルトの名無しさん
垢版 |
2022/11/20(日) 13:34:34.27ID:Ri+7Tw2S
>>118
それはできるだろwww
120デフォルトの名無しさん
垢版 |
2022/11/20(日) 13:34:49.87ID:0EAflA1G
>>96
> 後藤「Web アプリ開発を例に挙げると、最近はクラウド上に立てたコンテナの中でプログラムを書き、もし性能が足りなければコンテナ数を増やして対処することが一般的です。
> ただこのやり方だとスケールアップする度に膨大な予算がいるし、OSごと仮想化するのでどうしても動作が遅い。一言で言えば無駄が多いんです。

dockerをはじめとするコンテナ型仮想化は「OSごと仮想化」なんてしないんだけど…
だから軽くて流行ったんだが
明らかに仮想サーバ(ハイパーバイザ型の仮想化)と混同してるよね
もちろんコンテナのオーバーヘッドがゼロとは言わないよ?
でも「最近一般的なコンテナ」とやらが「OSごと仮想化するのでどうしても動作が遅い」という理解はこの人の不勉強から来る「勘違い」で「間違い」だよね?😅
121デフォルトの名無しさん
垢版 |
2022/11/20(日) 13:38:22.29ID:imOCmDrk
>>119
C言語はバイトオーダーなどのハードウェア構造を意識しないといけない
お前らには無理

>>120
後藤大地はOSS業界で有名な人。オープンソースOSコミッターだ
お前らとは比べ物にならないほど詳しい。
122デフォルトの名無しさん
垢版 |
2022/11/20(日) 13:40:02.19ID:Ri+7Tw2S
>>121
>C言語はバイトオーダーなどのハードウェア構造を意識しないといけない
それシェルでできるのかな?
123デフォルトの名無しさん
垢版 |
2022/11/20(日) 13:41:34.54ID:imOCmDrk
>>122
シェルはハードウェア構造を吸収しているから
どのOSでも同じように動くって何度言えば理解できる
124デフォルトの名無しさん
垢版 |
2022/11/20(日) 13:44:38.67ID:Ri+7Tw2S
>>121
シェルがCに比べ性能が出ないのは事実なんだから
何でもかんでもシェルで済まそうとうする
POSIX原理主義とやらは不可能じゃないけど不効率だよ
速度が必要なところはCで書いたりアセンブラを使う

ベンダーロックインしてソフトの寿命が短くなるって
問題意識は正しいと思うが
俺はRMSが30年前に世に出した解が正しいと思うよ
125デフォルトの名無しさん
垢版 |
2022/11/20(日) 13:46:04.48ID:Ri+7Tw2S
>>123
頓珍漢なことを書いているので
他人の鵜呑みではなく
自らC言語を経験してからにした方が良いよ
126デフォルトの名無しさん
垢版 |
2022/11/20(日) 13:48:01.28ID:MUgzJmMj
shell と kernel の区別がつかない人ですね判ります
127デフォルトの名無しさん
垢版 |
2022/11/20(日) 16:00:36.19ID:XCN8LgbG
>>112
ユニケージはトラブったら専門家を呼ばないといけないんだろ
2022/11/20(日) 16:11:37.91ID:FErBPmtp
またシェルがOSに近いところで動くとかいう妄言を垂れ流したのかい?
129デフォルトの名無しさん
垢版 |
2022/11/20(日) 16:37:01.86ID:CFvDfimk
馬鹿野郎。
シェルはOSの一部だ。
腹筋からやり直せ。
2022/11/20(日) 16:40:27.35ID:Bp2/k90P
シェルはカーネルに含まれてねえんだわ
大学のOSの授業で何を学んだんだ?
131デフォルトの名無しさん
垢版 |
2022/11/20(日) 18:57:05.74ID:Ri+7Tw2S
bashでもdashでも良いからシェルの
ソース落としてみりゃ分かるのにね
Cすら読めないんだろうな
2022/11/20(日) 21:41:39.74ID:xYHjZZsL
POSIX中心主義でシェルはカーネルに近いことが示されている

POSIX中心主義と情報科学教育
https://www.slideshare.net/tomoyukimatsura/posix-59447685

Tomoyuki Matsuura
同人作家兼Web・グラフィックデザイナー兼ネットワーク・サーバーエンジニア兼テクニカルライター at 自営業(個人事業主)
133デフォルトの名無しさん
垢版 |
2022/11/20(日) 21:58:52.97ID:Ri+7Tw2S
>>132
>POSIX中心主義でシェルはカーネルに近いことが示されている
スライドの何枚目?
2022/11/20(日) 22:01:07.00ID:xYHjZZsL
>>133
18ページ目
135デフォルトの名無しさん
垢版 |
2022/11/20(日) 22:15:01.95ID:Ri+7Tw2S
>>134
その図はシェルがカーネルに近いことを意味しているのでは全くないよ
そもそも図が不正確で例えば
アプリや言語の間に必ずシェルが仲介するように書かれているがそんなことはない
Cで書いてしてビルドされた実行ファイルは
カーネルのシステムコール呼ぶのにシェルを必要としない

あなたは図を読んで理解する基本的な知識がないようだよ
2022/11/20(日) 22:15:29.40ID:xYHjZZsL
>>130
大学のOSの授業で何を学んだんだ?

シェルスクリプト言語論2 提供機関:金沢大学
担当教員 大野 浩之,松浦 智之,森 祥寛
https://www.ucon-i.jp/newsite/city-college/kamoku/2022/063_%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E8%A8%80%E8%AA%9E%E8%AB%962.pdf

皆さんの中で,プログラミングを勉強して,さまざまなプログラムを作成したいと考えたことのある方は,どれだけいるだろうか? しかし,
どのように学んで良いか分からない。JAVA? Python? R? Oracle? PHP? C?などと言われても,何を学んで良いか分からない。そんな
こともあるでしょう。特に,多くのプログラミング言語では,1,2年毎に大きなバージョンアップなどがあり,その前後で作成したプログラムが
動かなくなったり,新しいプログラムが作れなくなったりします。
そこで本講習では,古くから存在し,今もほとんど変わること無く使用できる「POSIX環境におけるシェルスクリプト」を使ったプログラミン
グ手法について学習をしていきます。シェルスクリプトは,UNIXやLinuxと呼ばれるOSにおいて,システム操作などにも使用されるもので,多く
のコマンドから形成されるものです。それ故に最近のプログラミング言語ほど派手なことはできませんが,古くから変わらず存在するため,これ
から先も長く長く使用可能です。また,シェルスクリプトは,プログラミングに限らず,LinuxやWindows10,macOSなどをコマンドから操作する
ときに使用できます。シェルスクリプトを十全に使用できるようになると,研究活動を始めとする,さまざまな業務処理に,これまでとは違う視
点からの作業環境を与えることができます。
授業では,受講者は,このPOSIX環境におけるシェルスクリプトについて,新しい視点で学ぶとともに,「すべてのUNIXで25年後も動く普遍的な
プログラム」を書く方法について会得し日頃の問題解決に適用できるようになることを目標とします。
2022/11/20(日) 22:16:35.86ID:xYHjZZsL
>>135
https://www.usp-lab.com/qa.html
ユニケージ は、DBMS よりもより OS に近いところで動作するため、
自由にファイルを配置したり、コマンドを作成することによって、シンプルな処理から複雑な処理まで、幅広く対応することが可能です。
2022/11/20(日) 22:18:46.84ID:xYHjZZsL
>>135
ここの従来のシステム(四層構造)とユニケージ(三層構造)をよく見て

ユニケージは拡張シェル
https://www.systemstage.com/example/download/unicage.pdf

ユニケージは、UNIX OS層の直上のシェル層で構成され、通常のDBMSや
アプリケーション層のオーバーヘッドが皆無のため、非常に高速に動作します。
139デフォルトの名無しさん
垢版 |
2022/11/20(日) 22:20:08.62ID:Ri+7Tw2S
>>132
ユーザ数が多いシェルの一つ(世界一かも?)dashのページ
ソースコードも公開されている
http://gondor.apana.org.au/~herbert/dash/
普通のアプリケーションプログラムと何ら変わらない
「カーネルに近い」とはどういう意味で言ってるのかな?
140デフォルトの名無しさん
垢版 |
2022/11/20(日) 22:26:18.11ID:Ri+7Tw2S
>>139
1ページ目中央付近の図で
「OSカーネル層」を「シェル層」が完全に覆っていて
「ミドルウェア層」と「OSカーネル層」あるいは
「アプリケーション層」と「OSカーネル層」が接している部分が
一切書かれていないのは虚偽です
騙されないように図は批判的に読みましょう
141デフォルトの名無しさん
垢版 |
2022/11/20(日) 22:29:03.91ID:Ri+7Tw2S
シェルってのはC言語で書かれたアプリケーションプログラムの一つで
何ら特別ではない
「カーネルに近い」って意味が全く分からない
2022/11/20(日) 23:26:01.56ID:o01k7Scp
>>136
ゴミ講義を参照されても…
2022/11/21(月) 00:17:10.41ID:YDKSMaR0
>>140
ユニケージはミドルウェアを使いません
だから速いんですね。
144デフォルトの名無しさん
垢版 |
2022/11/21(月) 00:45:09.23ID:pQOpt44b
速い…のか?!
100GBのCSVをユニケージ方式でソートして見てご覧よ
ちなみにRedshiftなら10分くらいですね
2022/11/21(月) 00:50:14.88ID:sqB66Hy1
>>144
ユニケージはデータを書き込むたびにソートされた状態にするから0秒

すべてここに書いてある。PDFは無償公開されてるから
自分で手法を学んでこい

POSIX原理主義の本 第3弾
File/Dir Hacks ver. 1.0
SQLtoUNIXマイグレーション編
追記版
https://richlab.org/coterie/FDH1.html
146デフォルトの名無しさん
垢版 |
2022/11/21(月) 00:51:44.00ID:pQOpt44b
>>145
ソートされてない100GBのCSVをユニケージ方式でソートしてみ
対応できないの?
2022/11/21(月) 00:54:29.69ID:sqB66Hy1
>>146
だから発想そのものが違う
書き込むたびにソートしてる
一ファイルごとのレコード数などを制限することで更に高速化している
OSに近いファイルシステムの機能を使ってるから速い
148デフォルトの名無しさん
垢版 |
2022/11/21(月) 00:55:13.24ID:pQOpt44b
>>147
ユーザから100GBのCSVが送られてきます
それをソートしないといけないっていう業務要件にユニケージは対応できないの?
2022/11/21(月) 00:55:21.24ID:sqB66Hy1
ソートなんぞsortコマンド一つ呼び出すだけで出来る
150デフォルトの名無しさん
垢版 |
2022/11/21(月) 00:55:48.63ID:pQOpt44b
ちなみにRedshiftなら5分ですね
151デフォルトの名無しさん
垢版 |
2022/11/21(月) 00:56:59.76ID:pQOpt44b
>>149
実際にやってみた? CSVだよ、RFC4180に従って分割できるの?
何分で処理できた?

sortコマンドは巨大なデータのソートにそーとー時間かかるよ
やってごらんよ
2022/11/21(月) 00:59:52.12ID:sqB66Hy1
>>151
RFC4180のパースなんか簡単
https://github.com/ShellShoccar-jpn/Parsrs/blob/master/parsrc.sh
153デフォルトの名無しさん
垢版 |
2022/11/21(月) 01:00:27.84ID:pQOpt44b
>>152
それ使って何分かかった?
154デフォルトの名無しさん
垢版 |
2022/11/21(月) 01:00:57.03ID:pQOpt44b
他人の発言引用してばかりでヘイトを集めるのが目的なのかなって疑ってる
155デフォルトの名無しさん
垢版 |
2022/11/21(月) 01:23:02.70ID:mEbJZgu8
>>143
「ユニケージ」ってものの実態が
イマイチ分からんのだが(特に>>138の図によって混乱w)
それはミドルウェアで実装しているものを
シェルスクリプトで実装したということではないのかな?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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