「シェルスクリプト」を含む日記 RSS

はてなキーワード: シェルスクリプトとは

2024-01-07

anond:20240107191403

シェルスクリプト使用したコマンドのすべての挙動を把握している?

使用予定のオプションだけでも出力結果のすべてのパターンを把握している?

標準ライブラリのすべての関数のありとあらゆる引数に対する挙動を把握している?

 

人が手て使うことを想定された曖昧さの残るコマンドと、

標準コマンドは標準入出力を通してプログラム同士で連携することを想定して作成されており、

入出力の破壊的変更を気軽にコミットしようとしたら秒でハネられます

 

高級言語インタプリタほど頻繁なセキュリティアップデート必要ない

頻繁なセキュリティアップデート必要ない

「ゾウリムシよりも蟻は大きい」を「蟻は大きい」で切って引用するのはやめましょう

 

そもそもシェルスクリプトが規模が大きくなると信頼できないその場しのぎ的な技術であることを認めているよね

規模が大きくなると信頼できない、その場しのぎ的な技術であるのはpythonなどのスクリプトの実行環境も同様です

すべての処理、すべてのプログラムをRustで書くような行為はきわめて非生産的ですし、シェルスクリプト以上に危険です

 

「よく検証されている」というのはされているかいないかというバイナリーな概念ではなく程度問題なので、UNIXの標準コマンド高級言語の標準ライブラリなら標準コマンドの方が"遥かに"よく検証されているし

論理的じゃないよね

メンテナの数、レビューする人数、実際に動作している環境etc

 

anond:20240107190605

からだがシェルスクリプト使用してるコマンド仕様を把握するのなんて高級言語使用するAPI仕様を把握するのと同じぐらい基本的で当たり前のことだよ。manっていうコマンドを使ったり、より簡易的には--helpのようなオプション確認できるよ。

例えば、ファイルをあっちからこっちにコピーして一時的待避するだけならシェルスクリプトcpコマンド書くのがコスト最小でしょ。現実システム運用では費用対効果を考えていろんな仕組みを使い分けてるんだよ

anond:20240107184931

高級なスクリプト言語でも標準ライブラリインタプリタバグは踏むときは踏むし

バグとかじゃなくて、開発者が把握してない動作の話なんだが、

シェルスクリプト使用したコマンドのすべての挙動を把握している?

使用予定のオプションだけでも出力結果のすべてのパターンを把握している?

人が手て使うことを想定された曖昧さの残るコマンドと、高級言語機械が使うことが前提の曖昧さの少ない機能だと全然違うものだと思うが

頻繁なセキュリティアップデート必要ない

そんな事無いよね。Linuxサーバ保守とかでパッチノートとか読んだこと無い?

インストールし終わったらほとんどアップデートしてない凄まじい運用してるんならあれだけど

「よく検証されている」というのはされているかいないかというバイナリーな概念ではなく程度問題なので、UNIXの標準コマンド高級言語の標準ライブラリなら標準コマンドの方が"遥かに"よく検証されているし

論理的じゃないよね

肥大化しそうならその時に改めて高級な言語システムを作ったらよろしい

そもそもシェルスクリプトが規模が大きくなると信頼できないその場しのぎ的な技術であることを認めているよね

anond:20240107184931

からだがシェルスクリプトやばい増田へ。これほど丁寧に解説して貰えるのはありがたいことなのでよく読んで理解しておきなよ

君の好きそうなところだとDockerコンテナイメージのentrypointは基本的シェルスクリプト指定されてて、もちろんいろんな会社プロダクション環境で動かしてるよ

anond:20240107180624

世界中ITシステムを稼働させている企業は99.9%以上やばいということだな。そうすると公務員が次の選択肢になりそうだが役場から省庁から何とか法人まで探してもシェルスクリプトプロダクションで使ってないところなんてないよな。小さな村の役場とかならワンチャンあるか。その素晴らしいITスキルを生かして紙とペン革命を起こすんだ

Docker使うときだってDockerfileの環境構築処理の中にシェルスクリプトの実行コマンドが入ってること普通にあるよね

標準的な導入方法シェルスクリプトになってるツールとかたくさんあるし

anond:20240107181631

別にcronからキックできるのはシェルスクリプトだけじゃないよね。

はあ、それがなにか

できるのはシェルスクリプトだけじゃないけど、シェルスクリプトキックしているプロダクションはたくさんありますけど

2023-11-24

anond:20231124192825

それはなくない?

昔色々比べてみたけど、コマンド一発で済むような場合を除けば、シェルスクリプトループとか激遅だったと思う

2023-08-06

そもそもコマンドライン操作ってプログラミングに比べて大した難易度ではないだろう

文字コンピュータコミュニケーションするって意味ではプログラムと同じだし、結果がすぐに返ってきてわかりやすいし、CLI操作からシェルスクリプトに発展させることもできるし

それをいちいちハードル上げてるとか敵視する意味わからん

2023-02-28

anond:20230228214859

日進月歩というほど進んでいないような気がする。

30年前もマックIIciでワードエクセル使ってたし、フォトショップイラレ使ってた。

ネットスケープ使ってたし、SunUnix使ってた。

暗号化周りとか動画周りとか分散キャッシュとかくらいしか変わらないような気がする。

当時PerlとかシェルスクリプトメインだったけどPythonとかもうあったような気がする。

いうほど変わってないのでは。

2023-02-18

anond:20230218132045

シェルスクリプト書くのもサーバメンテがセットになりがちなWeb系くらい。

でなければ運用側のSE仕事なので、そもそもコーダーは手を出さないわけで。

2023-01-31

ChatGPTって既にシェルスクリプトに詳しいおじさんを駆逐する程度には使えるよね

2023-01-12

anond:20230112221133

・色んなこと満遍なくやりたい

・やべー案件に何年も磔にされたくない

これが多様なサービスアプリ作ってみたいという話なら高単価SESに行くしかない。

かなりの経験を積んだベテランじゃないと入れない世界出身学部も見られるから相当に厳しいと思う。

フロントバックエンドインフラなどもやってみたいという話なら自社でウェブサービス運用している上場企業正社員で入るのがいいだろう。

ただし正社員ということはリリース日には何が何でもサービスインさせる立場になるということでもある。定時退社の社風であっても進捗上がってないなら稼動上げて対応ということは普通にある。

派遣で入ればそういうことは無い。上場企業ならコンプラ厳しいからね。でも数ヶ月程度、長くて数年のスポットになることがほとんどなので長期的にはどうなんだろうな。

ここでは俺の経験を踏まえて「自社でウェブサービス運用している上場企業正社員で入る」という前提で話す。

アピールすると良いのは使える言語インフラの知見、構築と運用経験

全部が強い必要は無い。どれか一つが強くて他はまあなんとか程度でいい。逆に言うと全くダメですが一つでもあると厳しい。

使える言語では、C#,Javaを大きめな規模のバックエンドとして使ってるとこが多い反面、対応できる人はフリーにも派遣にもたくさんいるのでちょっと弱い。SIer出身コード書いてたなら当然できるよね、というレベル

今ならtypescript(javascript), pythonあたりができてgo あるいは Rust勉強してます、というのがけっこう強い。

分かってると思うが言語が使えるというのは、まっさらPCを与えられて主要なウェブフレームワークセットアップしてローカルホストを立てるとこまでを含む。

JavaならSpringboot+gradle+JUnit、PHPならLaravel、pythonならdjangotypescriptならNode+React+knex、あとJestかDreddも入るかな。

インフラ知識では、クラウドオンプレ両方のメリットデメリットを把握しているとよい。

AWS,Azure,GCP,Oracle Cloudのどれでもいいけど実際に使った経験があるとよい。俺は個人GCP契約してkubernetesVM、LBを使っている。

ネットワーク知識は薄くでも持っていた方がよい。HTTPとかcookieとかセッションとか知りませんCORSって何ですか?レベルでは無理。まあここら辺はウェブサービスを作れば必ずやるので大丈夫だろう。

LetsSSL証明書を作ってopenssl検証してnginx適用してHTTPS化ができるならアピールになる。

dockerはもうそろそろ使えて当然のレベルになってきているので必須。実際ウチではdockerが分からない使えない人は面接へ進めないようになっている。

構築と運用では、予算内に収まるような構築と運用サービスインした後のトラブルシューティング経験があるとよい。

常にコスト意識を持っていることが必要クラウドは油断すると100万程度すぐ飛ぶ。コスト意識が無い人を運用担当として採用することは絶対にない。

トラブルシューティングで重視されるのはベンダー対応よりもエンドユーザー対応の方。

サービスを早急に復旧させること、そのためにどういう仕組みが必要なのか、構築するところから語れる知見があるとよい。もちろんそこにもコスト意識必要

CI/CD、PrometheusやDatadogによる監視アラートについて語れるとよい。

CI/CDを扱うということは当然gradle,maven,yarn,シェルスクリプトは書けて使えてwebpack,minify,Jenkinsコンフィグもできるということである


どうだろう、かなり雑に書いたが雰囲気は伝わると思う。

あ、git使えないは論外。もし使えないなら今すぐ使えるようになるか諦めるかのどちらかで。

2023-01-05

ChatGPTでシェルスクリプト書くの超楽になった

シェルスクリプトって毎回調べ直してるからチートシート作っていつも見直してたんだけど、もうこのチートシート消すかな。

2022-12-23

anond:20221223173514

自分為のシェルスクリプトを組むだけでも、良かったけど。

いざ副業レベルででも、仕事にしようとすると行き詰まってしまって。勉強し直したのだけど。

かにお金があれば、個人でもクラウドワークスとかココナラに投げるのがいいのかな。

2022-12-05

ChatGPTとペアプロしてみた

http リクエストを50回実行するシェルスクリプトワンライナーサンプルを表示してほしい。またリクエスト後にhttp レスポンスコードをチェックし500番台だったら実行停止してエラーメッセージを表示するようにしてください。」

ChatGPTにたいして上記命令からはじめて、10分くらいの作業時間動作テストしつつ自然言語チャットのやりとりでバグを取りつつ非同期実行などの追加仕様を加えてGo言語リプレイスして出来上がったコードがこれです。

https://pastebin.com/uZAK9Qfd

自分コードほとんど書いてませんが数行程度の手直しはしました。

注:このコードは結局500番台で全Goルーチン生成抑止/実行停止するわけではないので非同期実行化した際の仕様バグがまだ混入してますが、まあとりあえず動作します。またGoルーチンを無作為に大量生成してしまうのでこれを抑止するような機能もあった方が良いでしょう。このレベル仕様バグを解消するには非同期実行時の正しい動作定義した上であらためて作業した方が手っ取り早そうですがこの文書目的から外れる作業だし、めんどくさいので放置することにしました。コマンドライン引数周りの細かなバグについても同様です。

【所感】

ChatGPTは平気で嘘つくしドメインナレッジにまだ乏しいし、この例だと例えばsyncパッケージ使わない的な単純なバグも平気でしこんでくるのでまだ信用できないやつですが、嘘やバグを見抜ける程度の普通技術者監督するなら現時点の水準でも作業量を大幅に削減できるしオーバーテクノロジー感があります特に小さくて雑なアプリケーションを書いて手法実証するようなプロトタイピングフェーズなら現時点の技術水準でも大いに役立つでしょう。

我々ITエンジニアは今後10年くらいのスパンで言うならば課題設定能力ドメインナレッジの注入、コードレビューの力量とQAの力量、そして役立つアプリケーションが本当に役立つかを実証する能力ビジネス的?)が問われるようになってくのでしょう。そして最終的には目的の設定と評価フィードバックループを回し続ける現在プロダクトマネージャーのようなスキルセットに移行する事になるのでしょう。

逆に言うとAI人間の協業作業環境の構築を怠ると、淘汰されることになると思うのでこの分野は要注目だと思います

2022-11-23

anond:20221123081059

リンク先、「副業したら技術習得時間がなくなる」とか当たり前のこと書いてるからねえ

読めばわかるコメントを書く人なんだろう……。

# ちらと別レスでみたスラドのなんかてコレだろ

# シェルスクリプトとかの「コメント」だろうな

2022-10-29

VOICEVOXのvvprojファイルからSubViewerのsbvファイルに変換

YouTuberを始めるにあたって昨日今日環境構築をしている。

動画ジャンル内緒として、ひたすら効率良く動画を作ることを志向してる。理想新規MarkdownファイルGitHubmainブランチマージされたら自動YouTube自分チャンネル動画投稿される、みたいな状態

まあそこまでやるのは調べるの大変だし事故とかbanが怖いしまYouTuberとして大成しないことにはって話なので、どっかで妥協すると思う。てかCI/CD周りちゃん仕事でやっとけばよかったな。

テキスト読み上げで商用利用するなら今はVOICEVOXが良いのかなと感じた。

ただ、作成した音声に合わせた字幕ファイルを作るのがひたすら面倒くさい。絶対自動出力できそうなのに。

VOICEVOXから直で出してくれたら楽だったんだけど、リップシンク用のファイル出力しか対応してなかった(どっかでやってる人がいるかもしれない)。

VOICEVOX公式GitHubでissue上げることも考えたけど、俺自身がまだ動画一つも上げてないし、字幕ファイル需要がどれほどのものかも分からないので、とりあえず変換用のスクリプト自分で書いてみた。

VOICEVOXのプロジェクトファイルであるvvprojファイルの中身はバイナリではなくただのJSONなので、エディタエンジンソースコードを弄らなくても、比較簡単字幕ファイルに変換できる。なお今回俺はDenoを使った。

こういうシェルスクリプトみたいな小さい仕事やるのにDenoはまじで楽。

あとは動画作るとき需要ありそうだなと感じたら、SubViewer以外のマークアップ対応させてissue上げるなり俺のrepoに置いとくなりしようかな。

エンジン実態httpサーバーらしいので、上手くやれば意外と労力かけずに理想に近い自動化が実現できるかもしれない。

いやー良い時代だ。さっきはちょっと文句言ったけど、まじでVOICEVOXには感謝しかない。貢献しまくる。

ログイン ユーザー登録
ようこそ ゲスト さん