gitを使わずにディレクトリコピーでバージョン管理

■ このスレッドは過去ログ倉庫に格納されています
2021/09/07(火) 17:20:16.10ID:YOJCpOYh
しろって大学で習ったんですが・・・
アホですかあいつ?
230デフォルトの名無しさん
垢版 |
2021/09/10(金) 19:25:06.02ID:/A8hhUIw
>>229
> gitが使えない状況になった時に作業できない

こういう現実的でない状況を想定しないといけない時点で何かおかしいと思うよね

> KISSの原則とは誰でも使える道具だけを使ってソフトウェアを作ることだ
> つまりUNIXコマンドのことだ

これは単純に嘘だよね

非現実なことを言ったり嘘を言ったりしないとUNIXコマンドの素晴らしさを説けないなら
UNIXコマンドなんてクソですわ、PISIXなんてうんこですわ

でもYouTuberとしてなら活路がある気がする

原始人のような生活をしてPrimitive Technorogyというジャンルで
人気を集める動画があるからね

そういう趣味趣向としてなら一定の人たちに刺さるコンテンツにはなると思う

もし収益が得られたらそのお金でgitのサーバ立てたら良いと思う
231デフォルトの名無しさん
垢版 |
2021/09/10(金) 19:28:03.86ID:/A8hhUIw
>>229
ところであなたはOSはNetBSDとか使ってるの?

FreeBSDもLinuxも基本コマンドはシンプルさとは程遠い実装になってるじゃん
あれはダメだよね、性能だけを追求してエレガントさをなくした闇落ちコマンドだよね
232デフォルトの名無しさん
垢版 |
2021/09/10(金) 19:28:27.88ID:+fBDwmx3
>>230
wikiを読め!
https://ja.wikipedia.org/wiki/KISS%E3%81%AE%E5%8E%9F%E5%89%87

この原則の実例として次のような逸話がある。ジョンソンが設計チームに
一握りの工具を手渡して、平凡な整備員が戦闘状況で、この工具だけを使って
修理ができるようなジェット戦闘機を開発しろと課題を出したのである。

これをソフトウェア開発に当てはめると、平凡な開発者がUNIXコマンドという工具だけを
使って作れるようなソフトウェアを開発しろということだ
233デフォルトの名無しさん
垢版 |
2021/09/10(金) 19:28:36.77ID:E1Nw8KVf
いや、gitはPOSIX2018から標準コマンドだから。
2021/09/10(金) 19:28:37.85ID:cyYUC2eh
チーム開発での混乱を少しでも軽減することが大事であって
10年前のレガシーコードとかクソどうでもいいんだが
235デフォルトの名無しさん
垢版 |
2021/09/10(金) 19:31:27.81ID:/A8hhUIw
>>232
隅々までよんだけど、FreeBSDやLinuxの基本コマンドのような実装をするべきではないという旨が書いてあった
FreeBSDやLinuxの基本コマンドはUNIX哲学に完全に反してるわ、基本コマンドの使用を禁止して
クリーンな実装と置き換えるべきだと思いました
236デフォルトの名無しさん
垢版 |
2021/09/10(金) 19:34:16.11ID:/A8hhUIw
NetBSDとOpenBSDは基本コマンドをすごくシンプルに実装してるよね、あれこそがUNIXなんだろうなって思う
237デフォルトの名無しさん
垢版 |
2021/09/10(金) 19:34:30.47ID:+fBDwmx3
>>230
> こういう現実的でない状況を想定しないといけない時点で何かおかしいと思うよね
どこが現実的でないというのか?
バージョン管理ソフトは実際にrcs、cvs、svn、gitと何度も変わっておるだろう

時代によって使うものが替わり、新しいバージョン管理ソフトウェアが流行りだせば
その使い方を覚え直し、時にはリポジトリーの移行を強いられてきた

よくもまあ、懲りずにと言ったところだが、我らはもうたくさんだ!
もしかすると、きさまらは「gitを覚えれば安泰だ」などと思っているかもしれんが、
あと数年、遅くともあと5年も経てばきっと次のバージョン管理ソフトウェアが登場し
覚え直しとリポジトリーの移行を余儀なくされることだろう
238デフォルトの名無しさん
垢版 |
2021/09/10(金) 19:35:19.10ID:/A8hhUIw
POSIX原理主義の人へ
>>233を見たか? どうなんだ? gitよりPOSIXの方が先に変化しそうですが、POSIXやばくないですか?
239デフォルトの名無しさん
垢版 |
2021/09/10(金) 19:37:42.04ID:/A8hhUIw
>>237
覚え直すくらい余裕だしリポジトリーの以降も余裕っしょ
gitはシンプルでサクサクで素晴らしいと思ってるけど
それを置き換えるような優れたバージョン管理ソフトが出てくるのは楽しみでしかないけどなあ
240デフォルトの名無しさん
垢版 |
2021/09/10(金) 19:39:04.31ID:+fBDwmx3
>>238
デマを流すな。POSIXにあるバージョン管理ソフトウェアはsccsだけだ。
だがこれは使わないと断っておこう
これはオプション扱いであり、これがサポートされたUNIX系OSは今やほとんどないからだ
241デフォルトの名無しさん
垢版 |
2021/09/10(金) 19:46:13.29ID:+fBDwmx3
>>239
大工と我々のエンジニアで、一つだけ大きく違うところがある。
大工は高度な技術を身に付け、日々その能力を発揮し、素人には真似できない仕事をする。
一方、我々は、高度な専門知識や技術を身につけても、普段はそれを活用しない。
むしろ、誰でも真似できるように噛み砕き、あえて高度ではないやり方で仕事をする。

常に技能を求められる職人仕事は別だが、事務仕事における人間の作業内容はそれほど複雑ではない。
というより、ルーチンワークになるところまで分割されていることが多い。
あまり複雑にしすぎると、業務が属人化して引き継ぎが難しくなり、人材流動のある企業活動が現実的ではなくなってくる。

人が理解できるレベルでの処理をPCにやらせるのに、これまでの担当者が理解できないような
高度な技能が必要となるようなやり方をする必要はない。これまでと同じレベルでの難しさで開発および操作できる必要がある。

こうした当初の目的を忘れることがないように我々は心得三箇条をもっている。

一、人手の作業を模倣せよ。
一、誰でも読めるコードに訳せ。
一、とっとと終わらせ、飲みに行け。

我々の手法は自動化と誰でも使用できることに注力した結果、わかりやすさと作業時間短縮を強く意識させるものになっている。
我々の間では「不慣れな技術はやめて、慣れてる技術で片づけてさっさと飲みに行こう。コロナのせいで店が閉まるのが早い」
というフレーズが飛び交っている。
242デフォルトの名無しさん
垢版 |
2021/09/10(金) 19:53:24.46ID:/A8hhUIw
>>241
そんな自己啓発本に載ってるような安い文章に感化されてしまったの、なさけない
他人の言葉を引用するんじゃなくて自分の経験から出た自分の言葉はないものなの?
どうもあなたの中身が空っぽに思えて仕方ないんだけれども

OSのパッケージマネージャは使ってるでしょ
標準以外でも使うと便利なコマンドってあるよね
gitも使ってええんやで
243デフォルトの名無しさん
垢版 |
2021/09/10(金) 19:54:32.74ID:/A8hhUIw
> 一、誰でも読めるコードに訳せ。

FreeBSDやLinuxの標準コマンドはこれを守ってないんだけれどもそれについてはどう思う?
244デフォルトの名無しさん
垢版 |
2021/09/10(金) 19:58:30.03ID:/A8hhUIw
開発をスムーズにすすめることが目的の場合
POSIXにこだわることは目的を見失うことになるような気がする
gitという優れたコマンドがすでにあるならそれを使うべきじゃないかな
シェルスクリプトを一生懸命考えて書く時間あるならgitでサクッと解決して飲みに行ったらいんじゃないかな
245デフォルトの名無しさん
垢版 |
2021/09/10(金) 20:17:22.05ID:+fBDwmx3
gitは高度なやり方である。我々は高度な専門知識や技術を身につけても、普段はそれを活用しない。
誰でも真似できるように噛み砕き、あえて高度ではないやり方で仕事をする。
gitを使うと業務が属人化して引き継ぎが難しくなり、人材流動のある企業活動が現実的ではなくなってくる。
これまでの担当者が理解できないような高度な技能が必要となるようなやり方をする必要はない。
246デフォルトの名無しさん
垢版 |
2021/09/10(金) 20:20:15.01ID:/A8hhUIw
>>245
そうかな、gitはいまどきデザイナも使うくらい広まってるよ
gitでできることをシェルスクリプトで作りましたので保守してくださいと
言われる方がつらいと思うけどなあ

POSIX原理主義の方が属人性すごいと思う
2021/09/10(金) 20:24:32.73ID:BvzuEO+M
独りで開発してると正直gitいらんかもしれない
でもpushでリモートにコピーできるのは便利かなァ
2021/09/10(金) 20:27:59.48ID:pn7y7rhP
>>245
×あえて高度ではないやり方で仕事をする
◯僕は新しいことを覚えられないから自分が知ってるやり方だけで仕事をする
2021/09/10(金) 20:29:15.00ID:pn7y7rhP
>>237
あんたの言うところの我らって誰?
脳内の別人格の皆さん?
2021/09/10(金) 20:34:58.50ID:An9suLEf
はっきりしてるのはこんなドブスレで爺さん相手に暇潰しても得るものはないということだな
2021/09/10(金) 21:55:19.99ID:kAVp3Lay
漏れは、以下のRuby スクリプト内で、7zip を起動して、
drag & drop した複数のファイルの、SHA256 のハッシュ値を取得しているけど、
以下のように、出力が多くて、単純にハッシュ値だけを取得できない

Size: 623
SHA256 for data: C40DD428B8F4A8D528BE9BD26BAC0F67C75A5E3669F72242AD122703E80EF69E

それと、日本語のファイル名も、文字化けして出力される

command = "C:/Program Files/7-Zip/7z.exe"
option = " h -scrcsha256 "

p ARGV # 配列
puts "-" * 20

# SHA256 の Hash (CheckSum)
# 7z h -scrcsha256 "C:\Users\Owner\あ.txt"

ARGV.select { |full_path| File.file?( full_path ) } # ファイルのみ
.each do |full_path|
res = `#{ '"' + command + '"' + option + '"' + full_path + '"' }` # コマンド実行

puts full_path + res + ( "-" * 20 )
end

# コマンドプロンプトを経由しない際に、
# 出力したコマンドプロンプト画面を閉じないようにする
sleep
2021/09/10(金) 22:00:47.40ID:sC58HZ25
POSIX原理主義者の人の、口調しか真似られないの悲しすぎない?
あっちはちゃんと殴るための武器を自前で作ってくるのにこの駄劣化さんは叩き台も提示できない…
2021/09/10(金) 22:16:30.29ID:xoZ3IzsZ
うちの会社のPGは全員git使えるけどな
PGなら今時git使えて当たり前だろ
254デフォルトの名無しさん
垢版 |
2021/09/10(金) 22:54:43.79ID:+fBDwmx3
>>252
ならば叩き台を提示してやろう

目先のことしか考えていないバージョン管理ソフトウェアに辟易し、今ある道具と知恵のみで
シンプルに長く管理する我々のたどり着いたバージョン管理のやり方はいたってシンプルだ。

・一般的な UNIX コマンドとシェルスクリプトだけを使う。
・他に使っていいのは頭だけ。コマンドをどう使うかという知恵を絞るために。
・ファイル一式?スナップショット?は、「コミット」ではなく、日付+番号を付けたディレクトリーに「コピー」するのみ。
・過去のリビジョンの閲覧や比較・分析は、find、xargs、grep、diff などを駆使したワンライナーでこなす。
・ブランチやマージなどの高度な概念に頼る前に、しっかりコメントを残す。

リポジトリーへの保存はバージョン管理の最低限ではあるが、それだけでは不十分だ。
どのように不十分か分かりやすく言えば、「困った時はソースを読め」と言ってるるのと同じことだ。
ソースがあれば他のドキュメントは不要という変わり者でなければ、しっかりコメントを残すことだ。
最も大切なのは、ソースファイルや設定ファイルなどの冒頭に、動作に差し支えのない範囲でコメントを残すことだ。そこに、次の情報を含める。

・このファイルの名前
・このファイルの概??何をするものかを簡潔に?
・最終編集時に施した修正内容
・最終編集者(最終編集者)以外は書かない?
・最終編集日?最終編集日以外は書かない?
255デフォルトの名無しさん
垢版 |
2021/09/10(金) 22:55:05.49ID:+fBDwmx3
コメント例

######################################################################
#
# プログラムや設定ファイルの名
# そのプログラムの概?
#
# その他のコメント……
# ・このリビジョンで何をしたのか
#
# Written by 最終編??on 最終編?日
#
######################################################################

プログラムの途中にコメントを残すのもよいが、冒頭にも残す。途中に書いてあるだけでは、書いてある場所を探すのが手間だ。
また、最終編集した際の日付と人(メールアドレスなど)も残す。長年経った時に、そのリビジョンをいつ誰がが作成したのか把握するためだ。
それが他人であった場合、わからないことがあればその者に聞けばいい。
だたし、複数人で手を入れていたとして、最終編集者でない者の名前や日付を残す必要はないし、むしろ消すべきだ。
歴代の担当者が知りたくば、リポジトリーに残っている過去のリビジョンを見れば済む。
同様の理由で、修正前のコードをコメントアウトした状態で残す悪習も止めること。
2021/09/10(金) 23:03:41.84ID:FsmeH+FF
マシンリーダビリティ皆無
257デフォルトの名無しさん
垢版 |
2021/09/10(金) 23:06:14.61ID:+fBDwmx3
ソースコードのコメントとして、誰が最後に編集したのか
その名前と日付とメールアドレスを残すということが重要だ
もちろん吾輩も実践しておるぞ
258デフォルトの名無しさん
垢版 |
2021/09/10(金) 23:56:31.26ID:+fBDwmx3
>>252
それからお前は一つ勘違いしているぞ
我が書いたのはすべてこの本に書いてあることの受け売りだ

初めてのPOSIX原理主義
https://richlab.org/coterie/lpf.html
超進化を遂げたシェルスクリプトを学ぶ15回の講義
2021/09/11(土) 00:19:33.88ID:FLpw4YrF
ID:+fBDwmx3 はやたらとUNIXUNIXと連呼してるが何使ってきたん?
俺は学生時代はBSDとSolaris使わされたけど
それ以降はLinuxとWindowsしか使ってないわ
2021/09/11(土) 01:12:17.74ID:PFLibieQ
そんな彼らシェルショッカー日本支部の成果物はこちらでバージョン管理・頒布されております
https://github.com/ShellShoccar-jpn
2021/09/11(土) 02:11:18.55ID:0UCj7j6M
ちなみにPOSIX原理主義を唱えているのは有限会社USPしかおらんし、
彼らがPOSIXを濫用して作った応答性と並列性に無頓着なシステムはUSPしか改修に手を挙げない
標準に従っているのに短命要素しか無いねえ
262デフォルトの名無しさん
垢版 |
2021/09/11(土) 02:19:10.14ID:Iqs4bETa
1年くらい前にシェルスクリプトでWebサービスを作るユニケージ開発が話題になったけど
それを数年前に本格的に導入したハンズラボはいまでは技術的負債と言ってる
開発を担当した本人たちですら数年持たなかったんだよね

なんでもかんでもシェルスクリプトでやろうとするのは
趣向としての面白さがあるからこれは素晴らしいものだと思えるけれども
使い勝手や保守性、性能はそんないいもんじゃないってのが実際のところ
263デフォルトの名無しさん
垢版 |
2021/09/11(土) 02:24:24.24ID:Iqs4bETa
それがハマる分野ハマる規模のものはあるのだろうけどね
そういう少数のユーザを狙い撃ちするような小規模だけど鋭いプロダクトは
まあなかなかかっこいいものはあるかな
264251
垢版 |
2021/09/11(土) 02:45:39.85ID:IblrjkB0
何でもかんでも、シェルスクリプトじゃ保守できない

だから漏れは、何でもかんでも、Ruby で作る。
コマンドも、Rubyスクリプト内で呼ぶ

例えば、apt upgrade も、Rubyスクリプトで書いてる

#!/usr/bin/env ruby

# sudo のパスワードを自動入力する
# echo <your_password> | sudo -S <your_command>

puts `echo パスワード | sudo -S apt-get update`

puts `sudo apt-get upgrade -yV`

それと、>>251
で、7zip を使っている香具師に、
どうやってハッシュ値だけを取得するのか、教えてもらいたい
2021/09/11(土) 03:28:30.64ID:bRIwOh2/
フォルダ管理だと複数人で開発するときのマージが面倒臭い
一人ででも直近の更新履歴が自動でわかるのは便利

んでもって毎回フォルダ全コピーはデカイデータも一緒に管理してるときに
コピー時間にやたらと取られるのでやめたほうが良い
それのフォーマットがプログラムと連動してる場合もバージョン毎の管理が必須なのでオススメできない
2021/09/11(土) 05:18:41.28ID:ENehYciN
>>260
公式サイトがwikipediaでワロタw
広告・宣伝活動のような内容になってるって書いてあるし
自分でページ作ってリンクしてるだろ
2021/09/11(土) 06:02:11.21ID:ENehYciN
>>258
そのリンク先に講義内容が書いてあったんだけど

> そんな中,まさにその疑問や悩みに応えるような内容の講義「シェルスクリプト言語論」を
> 金沢地区の大学向けに、2016年から開講してきました.ここまで4回(4年)開講し,
> 内容が洗練されてきたところでついに書籍化しました

https://richlab.org/j/2772

その12回目と15回目にcp -prとかrsyncつかってfindやgrepやdiffを駆使しろって
書いてるんだけどマジでこんな内容教えてるの?
ネタとわかっていて受講してる人ならいいけど、本気でやってる人は可哀想

デカデカと赤い文字で「これで事足りていないか?ソフトに安易に頼りすぎ。」って
書いてあるけど普通に足りなすぎだろ。
バージョン管理をバックアップソフトと勘違いしてないか?

この講義やってる
金沢大学総合メディア基盤センター 大野浩之
ユニバーサルシェルプログラミング研究所 松浦智之
ってなにもの?
2021/09/11(土) 06:04:08.68ID:ENehYciN
あ、wikiに書いてあった
この講義やってる二人ってユニケージの社員じゃんか
269251
垢版 |
2021/09/11(土) 06:45:59.52ID:IblrjkB0
さすがにシェルスクリプトでは、プログラミングできない

Vagrant, Chef, Cookpad 製のItamae, AWS のKumogata2 は、Ruby製。
さすがにサーバーの構築運用は、Rubyが標準

今は、Go 製のDocker になったけど。
他には、Kubernetes, Terraform とか
270251
垢版 |
2021/09/11(土) 06:54:36.59ID:IblrjkB0
シェルスクリプト・POSIX などを言う人は、Linux じゃない

Unix の時代の人。
数十年前の話

まさか、AWS とかクラウドで、Unixを使う香具師なんていないだろ。
たぶん、オンプレで数十年前の話だろう
2021/09/11(土) 09:08:41.03ID:0UCj7j6M
視野が狭い
ツールを使う中で自然と得られる、ツールに限られない知識を見ないふりしている
シェルの抽象化力が低いことに由来するメンテナンス性の低さを無視している
gitがOSSであることも無視している

あとコメントを過大評価している
しっかりしたコメントさえあればアセンブラでもCOBOLでも改修難易度は同じとか思ってないかね
272デフォルトの名無しさん
垢版 |
2021/09/11(土) 13:58:05.19ID:CPeqz/gU
git手を見る…
2021/09/11(土) 14:48:12.87ID:WRGMhX/P
>>153
既存の方法じゃとにかく遅い
Linuxカーネルくらいのサイズになると
ソースコード管理ツール経由よりtar.bz2を転送した方が速い
というのがgitの動機の一つだからね
サイズ小さくしないと転送レート上がらない

まあ嫌な人は転送時やアーカイブ時だけ圧縮するツールでも作れば?
2021/09/11(土) 14:49:42.97ID:WRGMhX/P
>>271
shの不自由さ(と利点)はむしろ抽象度が高すぎる事なのでは?
2021/09/11(土) 18:39:12.53ID:XHaUvkRC
>>260
えー、マジでこの人、ソースコードに編集者の名前と編集日書いてんの?

https://github.com/ShellShoccar-jpn/kotoriotoko/blob/master/BIN/bretwer.sh

他の人が修正したりプルリク受け取ったりしたらどうするんだよ
前時代的なバージョン管理してんなぁ

あとソースコード読みづらすぎ
いくつか見てみたけど、コピペばっかりしてんじゃん
2021/09/11(土) 19:03:46.87ID:KOXto9cY
POSIX原理主義者って自分で作ることが偉いと勘違いしてそう
俺はPOSIXコマンドだけで実現したすげーだろって言ってるようだけど
gitの劣化版を車輪の再発明してるだけに過ぎないのに
277デフォルトの名無しさん
垢版 |
2021/09/11(土) 19:12:45.10ID:ME1s0Iiz
ギフハフとかいう悪の組織で配布してるけど、バージョン管理はUNIX標準コマンドだけでやってるってことか。
カッコええな。
2021/09/11(土) 19:14:39.88ID:/fYkkEDe
ID:+fBDwmx3 サンがどのUNIXをどの程度触ってたのか気になるw
2021/09/11(土) 19:18:44.68ID:KOXto9cY
そんなにPOSIXコマンドとシェルスクリプトだけで作るっていうのなら
配布もPOSIXコマンドとシェルスクリプトだけでやればいいんだよ
配布するだけなら、GitHub使う必要もなかろう?

自分でPOSIXコマンドとシェルスクリプトだけで
ウェブサーバーを作ってさ。ネットワークどうするのか知らんけどw
2021/09/11(土) 19:20:40.96ID:KOXto9cY
ああ言いたいことが抜けていた。
つまりねPOSIX原理主義者ってPOSIXのことわかってないでしょ?ってこと
ネットワークはPOSIXの機能だけど、シェルスクリプトからは使えないんだよ
POSIX原理主義が何に対しての原理主義なのか全くわからんよね
281デフォルトの名無しさん
垢版 |
2021/09/11(土) 19:28:15.98ID:ME1s0Iiz
昔使ってた三次元測定機がHP-UXだった。
UNIXなんてその程度しか見たことない。
2021/09/11(土) 19:32:56.71ID:/fYkkEDe
シェルスクリプトってそんな喜んで書きたいものじゃないよね?プログラマ的には
cshもbashもイライラさせられたわ
283デフォルトの名無しさん
垢版 |
2021/09/11(土) 19:36:39.72ID:ME1s0Iiz
まあ書きやすくはないよね。
そこでシェルスクリプトの代わりにRubyを使おうという寸法です。
2021/09/11(土) 19:41:05.96ID:KOXto9cY
ユニケージとかPOSIX原理主義者がなんでわざわざ
シェルスクリプト縛りを始めたのか理解できんわ
両方使えばいいんだから縛る必要ないじゃん
シェルスクリプトしか使えませんっていうのならわかるけど
2021/09/11(土) 19:42:32.28ID:/fYkkEDe
俺もrubyで書いてたわ
Dir.globとかあるし色々ラクだったわ
286デフォルトの名無しさん
垢版 |
2021/09/11(土) 19:44:54.59ID:ME1s0Iiz
>>284
そこはロマンじゃないか?
2021/09/11(土) 19:49:38.97ID:KOXto9cY
>>283
POSIX原理主義者いわく、Rubyは熟練してないとインストールが難しい

https://docs.google.com/presentation/d/1AlkDbpFVZvQI5sAuTJjItN8BLMlxM2YuImhysBrJPCs/edit#slide=id.g129cff22fc_1_14
> 有名なUNIX用Twitterクライアントの多くは、Ruby 1.9以上+gem を要求する。
> (やればわかるが)熟練していないとインストールが大変


POSIX原理主義者いわく、Perl、Ruby、Python は標準語(?)ではない
https://docs.google.com/presentation/d/1ZSt0gLQfAQBRobw_L6e_zzlqhu4BXKcDTkKts90bqIk/edit#slide=id.g14222e8143_0_39

POSIX原理主義者いわく、Perl、Ruby、Python を作ってるのが一団体しかない
(あれ?Rubyって複数の実装があったはずだけど?)

POSIX原理主義者いわく、一製品に依存し、替えられない状態を「ロックイン」と呼ぶ。
(その理屈だとユニケージやPOSIX原理主義者が作ってるツールはロックインだね)


なんつーか、矛盾しまくりの理論でこんなんに騙されるやつって
よっぽどの馬鹿しかいないと思うんだけど
2021/09/11(土) 20:25:18.26ID:7ac2XrM2
とりあえずこのカルトみたいなPOSIX原理主義者といろんなスレを荒らしてるRubyバカが、このスレで延々と不毛な平行線バトルを繰り広げてくれれば他のスレが平和になるのではなかろうか
289デフォルトの名無しさん
垢版 |
2021/09/11(土) 21:02:07.71ID:Ka5OzmL8
>>267
金沢大学にいったら講義を受けられるんでしょ
どんな科目名で教えてるんだろう
2021/09/11(土) 21:23:47.73ID:x2ZLDQix
>>283
シバンにRubyって書くだけでOK
2021/09/11(土) 21:40:11.24ID:0UCj7j6M
でも便利なツールを提供するからシェルショッカーは嫌いじゃなかったりする
REST APIを提供しているフレームワークで不具合調査とかするときにparsrj.shはとっても使いやすい

シェルで操作しやすい形式にデータを整形変換するアイデアは非常に良い
それ以外のアイデアはNIH症候群にしかなってないので、個人の好みでやればいい
変更管理に頭を悩ませるのも嫌だし、チーム内で共有しつづけるコストもバカ高いんで採用する価値はあまり無い

gitリポジトリとディレクトリ管理を相互に変換できるプログラムでもあれば試してもいいよ
今は見えない利点がわかるかもしれんね
2021/09/12(日) 03:37:55.62ID:4P1B8zhV
>>289
それもここに書いてあったよ。シェルスクリプト言語論らしい

https://richlab.org/coterie/lpf.html
> そんな中,まさにその疑問や悩みに応えるような内容の講義「シェルスクリプト言語論」を
> 金沢地区の大学向けに、2016年から開講してきました.ここまで4回(4年)開講し,
> 内容が洗練されてきたところでついに書籍化しました.

ぐぐったら出てきた。今もやってるみたい。9月30日〜って書いてるからこれからのやつかな?
https://www.ucon-i.jp/newsite/city-college/kamoku/2021b/%E5%BE%8C%E6%9C%9F15_%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%96.pdf
検定料1万、入学料3万、授業料3万、合計7万円なり〜
社会人は1万円ですむっぽい

> 特に,多くのプログラミング言語では,1,2年毎に大きなバージョンアップなどがあり,
> その前後で作成したプログラムが動かなくなったり,新しいプログラムが作れなくなったりします。

大きなバージョンアップあるか?って思うけど、その前後でプログラムが動かなくなったこと無いなぁ
新しいプログラムが作れないって話をするなら、
シェルスクリプトはそもそも作れないプログラムがあって移植性も低いわけで
長く使えるからって、それが快適な言語ってわけじゃないよね
長く使える=古くから変わらない=いつまでも昔のやり方で改善されてないって意味にもなるし

「すべての UNIX で25年後も動く普遍的なプログラム」なんて言ってるけど、
25年後にはそのUNIXが存在してなさそうな時代
だいたい25年後も動くって希望的観測でしょ?別の標準化団体が登場してPOSIX解体するかもしれないし
w3cみたいに保守的な方針から、コミュニティベースのアクティブな方針に変わるかもしれない

まったくもって証明されてない理論だよ
2021/09/12(日) 03:46:58.23ID:4P1B8zhV
>>291
> でも便利なツールを提供するからシェルショッカーは嫌いじゃなかったりする

シェルショッカーは人間性が悪い。Twitterみたけどやたら他の人に悪絡みばかりしてる
ネタでやってるのかもしれないけど、実質ユニケージという会社の広報担当だよね
POSIX原理主義ってあの会社だけが提唱してる独自の理論なわけだし
アレ放置してていいの?

検索してたら公式サイトらしきものを見つけた
http://posixism.org/
POSIX原理主義って実質2人しか人がいないみたいw

> シェルショッカーとは,「POSIX原理主義を至上とし、エクストリームなシェルスクリプトで人間どもを
> 洗脳し、世界征服を目論む組織。」とのことです(秘密結社シェルショッカー日本支部より引用)。
> 主にTwitter上で活動が目撃され,以下2名の構成員が確認されています。

リッチー大佐=松浦 智之みたいだけど、シェルショッカーって誰だろ?
シェルスクリプト言語論の残りの二人のどちらかかな? 大野 浩之 か 森 祥寛
2021/09/12(日) 03:55:06.68ID:4P1B8zhV
> REST APIを提供しているフレームワークで不具合調査とかするときにparsrj.shはとっても使いやすい
普通にjqでいいと思うんだけど?

jqの構文が覚えづらいってのはあるけどそれ言ったらawkの構文が覚えづらいと言ってるのと同じなわけで
今持ってるシェルスクリプトの知識だけでやろうとして
メチャクチャな理論を打ち立ててるだけなんだろうな

なんか必死でシェルスクリプトでやろうとして、jsonパーサーとかxmlパーサーとかいろいろ作ってるみたいだけど
でもそれって他の言語ならライブラリ呼ぶだけで終わりじゃね?ってものばかりな気がする
base64コマンドとかを再発明してるみたいだけど、すでにコマンドあるわけで
POSIX原理主義版実装を使うぐらいなら、実績がある方を使う

READMEもないし、ものは作るけど作りっぱなしで他の人が使うことを考えてない
俺らはこんな物作ったすごいだろ。みたいに自分の理論が正しいことを証明するためだけに公開してる気がする

> それ以外のアイデアはNIH症候群にしかなってないので、
NIH症候群って略初めて知った。自前主義症候群のことなのね
2021/09/12(日) 04:49:57.75ID:jZMYjdNi
例えば、Ruby 内で使っている、Libxml2 とか、皆が何億回も使っている。
かなりのバグが発見されて、修正されている

使われていない、独自に作った俺々ライブラリなんか、
バグだらけで怖くて使えない

ましてや、シェルスクリプトのコードなんて、様々なバグが入ってしまう。
それぐらい書きにくく、開発しにくい言語
2021/09/12(日) 04:57:35.92ID:jZMYjdNi
GitLab の作者も言ってる。
GitHub がRuby on Rails だから、自分らもRailsで作ることにした

Vagrant, Homebrew, SASS とか、複雑なものはRuby製が多い。
他の言語に置き換えられるのは、数年後

Homebrew も、C/C++ に置き換えられたのは、つい最近。
SASS も、node.js になったのか?
2021/09/12(日) 19:54:16.19ID:09FXBLJb
>>295
Rubyはどうでもいいんだが、バグと聞いてふとparsrj.shとやらを見てみた
https://github.com/ShellShoccar-jpn/Parsrs/blob/master/parsrj.sh
これシェルスクリプトっていうよりawkやね。それはまあいいんだけど。

一応動いてるようだけど、一つ小さなバグらしきものを見つけた
https://www.json.org/json-en.htmlによるとcarriage returnを
ホワイトスペースとして扱わなければいけないようだけどparsrj.shは対応してないようだ
あとテストコードがリポジトリにないのが気になる

jsonのページの下の方にawkまたはshell用のjsonパーサーあるし
こっち使ったほうがいいのでは?
JSON.shはスターも1.9kあるしテストコードもある
https://github.com/dominictarr/JSON.sh
2021/09/12(日) 19:59:18.39ID:09FXBLJb
JSON.sh使ったほうがいいのでは?というのは>>291あてね
299デフォルトの名無しさん
垢版 |
2021/09/12(日) 22:23:48.28ID:fdiiSRIs
>>1>>267もしくはそれと同じような授業を受けてるの?
300デフォルトの名無しさん
垢版 |
2021/09/12(日) 22:50:24.17ID:a0Jd4Hkz
>>264
ハッシュ値くらいRubyで計算したらいいじゃん
2021/09/13(月) 05:37:32.99ID:EwnuNemk
https://docs.google.com/presentation/d/1tDPixY8dtMK6MyV-qRB2Z_lVbgODZZ-PlAhuHUy0k44/edit#slide=id.g13f2c79fd5_0_88

> [指摘3] Webブラウザではシェルスクリプト使えないよ。
>
> ブラウザ上ではJavaScriptを使う。
> JavaScript(+HTML/CSS)にも、
> POSIX的な互換性重視の規格がある
> ⇒W3C勧告
> https://www.w3.org/TR/
> これに準拠させる。

↑わかる

https://docs.google.com/presentation/d/1tDPixY8dtMK6MyV-qRB2Z_lVbgODZZ-PlAhuHUy0k44/edit#slide=id.g141090e991_0_123

> ・jQueryなどのライブラリーも使わないの?
>   ・使わない。
>   ・互換性や寿命が減る恐れがあるから。
> ・でも、書くの大変だよ?
>   ・凝ったことはやらない。
>   ・使わないとできないようなことには手を出さない。

↑意味不明
2021/09/13(月) 05:39:14.73ID:EwnuNemk
> JavaScriptのライブラリーは今、戦国時代
> せっかく覚えた知識が数年で時代遅れになる。
> ↓
> だから「W3C勧告準拠」をする。

覚えた知識が数年で時代遅れになるから
ライブラリを使わないとできないようなことには手を出さない?

現実的じゃない
2021/09/13(月) 05:42:05.69ID:EwnuNemk
「交換可能性の担保」というのもよくわからん。
curlとwgetって機能がぜんぜん違うじゃん
あの理屈ならPythonの代わりにRubyを使えるから交換可能性があるから
使っていいってことになる
主張が一貫しておらず理論が破綻してるとしか思えないんだが
2021/09/13(月) 05:48:59.71ID:EwnuNemk
> だがW3C勧告というPOSIXに似た発想の標準がある。
これがOKならSQL標準だってOKだろう

SQL標準だってこいつの言うところの方言を使わないで
共通語だけ使っていれば移植可能なんだし

https://docs.google.com/presentation/d/1ptg6YhWALs5LvUk3qT1XU604FI7J5pATD0FQr8jrKJo/edit#slide=id.g150a1be050_0_0
SQLの代わりにusp Tukubaiコマンドとかいうのを使ってやれと言うが
それことまさにUSPでしか使われてない独自の言語、方言なわけで
方言つかなと言っておきながら、方言すすめていて、自己矛盾してる
2021/09/13(月) 05:52:48.86ID:EwnuNemk
usp Tukubaiっていうのを見てみたがPython製w
破綻してるじゃん
https://github.com/usp-engineers-community/Open-usp-Tukubai

しかも2017年から更新が止まってる
プルリクも放置されてるしやる気を感じられない
2021/09/13(月) 05:53:59.20ID:EwnuNemk
シェルスクリプトでやれって言いながら
ユニケージやシェルショッカーってC言語使ってるんだな
どこからどこまで破綻してるんだこいつら
2021/09/13(月) 05:54:41.80ID:EwnuNemk
連投すまん。読めば読むほどボロが出てきてきりがないw
2021/09/13(月) 06:28:52.54ID:Y3L7sO2j
>>303
> curlとwgetって機能がぜんぜん違うじゃん

全然違うは言いすぎだろ
殆どは引数の書き換えが発生するくらいで

> あの理屈ならPythonの代わりにRubyを使えるから交換可能性があるから

いやいや
極端馬鹿への反論は冷静にやらないと
2021/09/13(月) 06:43:45.22ID:LGoaKNgA
>>302
w3cのhtml標準は半年前に全て廃止される事が発表されたんだが?
規格としてはwhatwgがstableでw3cのはunstable
2021/09/13(月) 06:49:19.17ID:Y3L7sO2j
>>264
パスワードをスクリプトに書き込むよりは
NOPASSWD:設定の方が良くないかな?
2021/09/13(月) 06:52:47.17ID:Y3L7sO2j
>>304
SQLもサーバとの通信をPOSIX互換のsh scriptにするのは厳しいけど
そこをなんとか誤魔化せばsh scriptで行けるはずだから貫徹しないとな
トランザクションID捕まえとけばイケる
2021/09/13(月) 07:03:07.35ID:HyQzaiHc
まさか阿部寛のwebサイトよりw3cが先に滅びるとはなあ
2021/09/13(月) 08:23:31.29ID:EwnuNemk
>>308
いやだって作ろうと思えば、どんな機能だって
プログラム言語で作れるじゃん?
自分でプログラムを作るなっていう原理なの?

それに交換可能性を担保する理由が将来使えなくなったら困る
っていう話なら自分でフォークすればいいだけだし
2021/09/13(月) 08:31:40.95ID:EwnuNemk
>>309
そこまで深く考えてないと思うよw

POSIX原理主義だー!
→できないことあるよね?
例外ルール作ったー!

多分こんないきあたりばったりな理論だと思う
w3c標準を例外ルールとして取り扱うなら
SQL標準なども例外ルールとして取り扱えばいいと思うんだが
振り上げた拳を下ろせない状態なんだろうな
2021/09/13(月) 08:34:45.89ID:EwnuNemk
>>308
> 全然違うは言いすぎだろ
> 殆どは引数の書き換えが発生するくらいで

じゃあこういうのはどうだろうか?
jqは交換可能性があるから使っていい。
なぜならPOSIX原理主義者がparsrj.shを作っているからw

それともparsrj.shを使うときには、それが将来使えなくなることを考慮して
両対応にしないといけないってことかな?
usp Tukubaiもそうだね。将来使えなくなるかもしれないから
SQLとかと両対応にしておく

はぁ、ほんと、穴だらけの理論だ
2021/09/13(月) 09:06:19.38ID:EwnuNemk
ユニケージの本質はシェルスクリプトでCOBOLプログラミングをやることなのでは?と思った

https://anond.hatelabo.jp/20200108063636

■無印良品のウェブサイトが止まってる件について思うこと

ユニケージはbashのパイプで作られた、RDBMSを使わずテキストファイルによる
空白区切り行志向レコードへのデータ処理(だいたいプログラム1本の処理内容が
メインフレームのCOBOLのそれと同じくSQLクエリ1個に相当する)で、
同形式によるマスタとトランザクションファイル(RDBMS内部のredoログに相当)を使う
(データに含まれる空白文字0x20はアンダーバー0x5Fに置換する、アンダーバーが複数存在するデータの場合どう扱うかは知らない)

開発と更新は早いんだけど参照が(テキストファイルなので)インデクスが効かないためシャーディングするしかなく、
要するに検索機能の柔軟性がなく、リアルタイム性を損なう

おそらく基幹系というか在庫管理をユニケージでやっているので、ウェブサイト自体は
ユニケージで実装されていないかもしれないけど、しかし根幹に上記のような手作りのデータベース実装があるし、
RDBMSに移行するとなると全部を止めてマスタとトランザクションファイルをマージしてインポートすることになる
317デフォルトの名無しさん
垢版 |
2021/09/13(月) 09:40:21.73ID:bTLuzAmV
SQLはbit演算が壊滅的
2021/09/13(月) 09:54:57.89ID:EwnuNemk
今どきビット演算ができないRDBMSなんてあるの?

https://ja.wikipedia.org/wiki/SQL
SQL92の時点でビットってあるけど

んで、これらの表の機能をユニケージが全部実装してるって?
はいはいウソウソ
2021/09/13(月) 14:04:07.53ID:rsfDODGJ
bit演算なくてもそれでSQLが駄目ということ:いはならないわな
320デフォルトの名無しさん
垢版 |
2021/09/13(月) 15:00:37.59ID:HyQzaiHc
>>305
もうぜんぶPythonでいいじゃん感
321デフォルトの名無しさん
垢版 |
2021/09/13(月) 15:14:56.65ID:kAzx+Vi2
Linux入れたら昔だとperlは必ず入ってたけど
今だとpythonも必ず入ってるもんな
2021/09/13(月) 17:30:16.31ID:HeoQeaDC
>>321
そうとは言い切れないけど、そもそも入ってる必要ある?
入ってないなら入れればいいだけじゃん?

POSIXに準拠していれば20年後でも大丈夫
それ以外は全部だめに決まってる。は根拠ない思いこみだし

POSIXとW3C以外の標準化団体を、標準化団体とは認めない理由が意味不明だし
POSIX、POSIXって言ってるけど、あいつらPOSIXと何の関係もないじゃん?

POSIXで定義されてるシェルコマンドだけでシステム開発しましょうというのは
POSIXで定義されてるAPIを使って開発されたコマンドは使いませんと言ってるのと同じで
実はあいつらの主義はPOSIX自体を否定してる
2021/09/13(月) 18:37:05.03ID:E+yWygl4
>>322
> POSIXで定義されてるシェルコマンドだけでシステム開発しましょうというのは
> POSIXで定義されてるAPIを使って開発されたコマンドは使いませんと言ってるのと同じで

それは違うのでは?
彼らがそう言ってるかどうかは別にして
324デフォルトの名無しさん
垢版 |
2021/09/13(月) 19:32:26.61ID:Wc4bEdJ2
>>322
> そうとは言い切れないけど、そもそも入ってる必要ある?
> 入ってないなら入れればいいだけじゃん?

パッケージの依存関係で苦しんだことない人?
入れたり消したりは可能な限り避けたいんよ
2021/09/13(月) 19:54:45.64ID:HeoQeaDC
>>323
彼らはそう言ってるよ。シェルコマンドだけでシステムを
開発しましょうって。読んで見ればわかる
例外事項を設けてるけど、あれはPOSIX原理主義が通じないときの最終手段

>>324
パッケージの依存関係で苦しんだことはないな
ディストロが提供してるバージョンを使うだけだし
言語のライブラリなら、pyenvとかを使うから依存関係の問題も出てこない

それにどうしてもライブラリの更新に追尾するのが大変っていうのであれば
pythonだったら、その言語と標準ライブラリだけを使って開発すればいい
言語と標準ライブラリの互換性は、シェルコマンドの互換性よりも圧倒的に高いし
どの環境でも同じように動く。標準ライブラリだけで開発するのは辛いが
それもシェルスクリプトよりも圧倒的に楽だよ
2021/09/13(月) 19:57:13.31ID:HeoQeaDC
彼らの理論だとdockerとかもFreeBSDだとかUnixで動かないから使用禁止なのだろう
つまり彼らの理論でやるから、バージョン依存関係で苦しんでるのでは?
新しい技術も取り入れないという理論だから
ソフトウェア開発技術の発展について来れない
2021/09/13(月) 20:01:12.97ID:HeoQeaDC
jQuery禁止っていうのもアレだよな
今でこそ各ブラウザ間の互換性が高くなったからこそ言えることで
互換性が低い時代には必須だった

10年、20年前だったらPOSIX原理主義のライブラリを使わない主義は
現実的じゃなかったわけで、W3Cと各ブラウザベンダーにお礼を言うべきだろう。
2021/09/13(月) 21:08:24.89ID:HGulW+Fz
Windows 10, WSL2, Linux で、
日本人が作ったanyenv で、30言語ぐらいのバージョン管理できる

それどころか、Windows 10 Home 版でも、Docker が出来た。
それには、Kubernetes も入っている

anyenv すら必要ない

AWS も同じ事を言ってる。
EC2 で、自分でOS を管理しないでください

OS レスのFargate, Lambda, Elastic Beanstalk で、
AWSの自動管理に任せるように

だから、Dockerを知らない老害が、SNS で暴れている

転職に、Dockerが必要だと言うのは、嘘です!
当社にはDockerを知らない、優秀なエンジニアが一杯います

サロン・学校の宣伝に、惑わされないように!
彼らは危機感をあおって、金儲けしている連中です

老害は、git, Dockerみたいな転職に必要な技術を、絶対に認めない
2021/09/15(水) 19:32:21.78ID:hAZmpZDe
だったらせめてCVSは使えよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。