「bash」を含む日記 RSS

はてなキーワード: bashとは

2022-12-29

コマンドコピペしかできないサービス維持チーム

以前在籍していた会社企業向けパッケージソフトの開発をしていた。

多くの会社の基幹業務に関連するような分野のソフトだ。

お客様にそのソフトだけを売ることもあるが、サーバーへの導入など非IT企業には難しいので、維持管理も含めて契約していた。

私はアプリ側の担当者だった。パッケージソフト本体を作っていた。

導入、サービス管理お客様アプリが入っているサーバーLinux)の保全などは維持チームが担当している。

お客様要求に合わせたスペックにあわせた構成にするのも維持チームが担当するということになっている。

しかし、この維持チームはコマンドコピペしかできないわけだ。

なにか障害等が発生したときは当然アプリ側もバグ調査などでログ確認したりするが、サーバー側の不具合かどうかも我々が確認していた。

ミドルウェア脆弱性が発覚したときもその対応方法調査、手順の作成もした。

基本的に我々が渡した手順書をそのままのことしか行わない。

アプリ導入方法ミドルウェアの導入方法も我々がかいものだ。

具体例

そのアプリDBがもともと有償のあるDBしか対応していなかったんだが、PostgreSQLにも対応できるように機能改善した。

その時は差分バックアップ方法リストアのやり方、ディスク故障しても大丈夫アーカイブログの保存法などの説明して、バックアップ設計までした。

なにせ、リカバリをする場合リストアコマンド一つでできるもんではなく、ロールフォワードでどの時点まで戻すかという判断必要になってくる。

ある時点で重要データを消したというのであればその時点より前までに戻さなければならないので、リストアのやり方の選択肢も状況により変わる。

あとPostgresは他のDBに比べてファイルコピーしたりテキストを書いたりすることが多い。

手取り足取り教えて、リハーサル実施して教えた。

Linuxディストリが新しいバージョンが出たときアプリ動作検証も行ったあと、そのLinuxの導入手順書もつくったな

Apacheの導入手順も書いたな。

Apacheの最適なチューニングをする方法も書いたわ。

思ったこ

ミドルウェアLinuxの使い方教えるのアプリ実装担当範囲外じゃね?

でも維持チームにやれる人がいなかったのよ。

維持チームはつまり手順書というコマンドで動くシェルのようなもんだ。

Linuxの上にBashというシェルがあるが、その上に維持チームというシェルがあって、我々プログラマがその維持チームにコマンドを送っていた。

維持チームシェルの良いところはお客様の窓口になってくれたのでメール電話はやってくれた。

おかげかなんかわからんが、今の仕事でもフルスタックで働いている。

2022-12-13

このスクリプトの3行目の'>(tee)'の'>'が文法エラーになる🥺

※3行目の'>'は実際は半角だけど増田では変換されてしまうので全角で書いてる

1 #!/bin/ksh
2    
3 exec 1> >(tee -a test.log)
4    
5 echo "tanaka"
6
7 exit 0

理想ではコンソールに
tanaka
と出力して、カレントディレクトリtest.logにも
tanaka
と上書きしたい。

bashだとエラーにならなかったのに🥺

2022-08-13

anond:20220814015001

そういうのも含めて「0.5倍の法則」なのよ。SIerは。

0.5×2人なら4倍の時間工数が稼げるでしょ?

5倍の能力持ったエンジニアbashスプリクトなんて作っちゃったら売上1/5になっちゃう。

海原雄山社長「この手順書で儲けるぞぉっ!」ってこと。

https://megalodon.jp/2022-0814-0238-34/https://anond.hatelabo.jp:443/20220814015001

2022-07-24

富士通5年目ですがまだ辞めません

俺はまだ辞めないが、去年入った新人が辞めたのでなんとなくだだらと書く。



残業は月20hくらいで手取り28万くらい。残業次第で変わるので手取り額ってあんま当てにならんよね。高収入というほどでもなく低収入と言ったら怒られるくらいの微妙な層。


はてなに書いたらそれだけでアンチ湧くレベルFラン理系。クソみたいな学部論文からのクソを具現化した修士論文で一応院卒。謙遜とか自虐ではなくマジで就活が嫌だったのでなんとなくで院に行き、マビノギに明け暮れてろくに研究室に顔出さずに論文出して教授からノーコメントをもらい発表会で他大学のせんせから「この研究、何?」と言われたくらいには意識が低い。

就活やる気起きなさすぎてうだうだしてて、当時の彼女未来が無いと振られてしゃーなしで学内専攻行ったらそれが富士通適当行ったら通った。俺はハリボテが得意なんだ。


雑用エクセルひたすら編集したりjava書いたりbash書いたりマクロ書いたりRHELいじったりpostgres弄ったり客とだべったりパートナーとだべったりオフショア折衝したり。

大学時代はクソだったが仕事は流石にそうもいかんのでちゃん毎日出社して自分のこと仕事はこなしてる。お金は欲しいので。

管理職になりたくないので一生下っ端みたいな仕事してたい。マネジメントは一応資格とったけど二度とやりたくねえ。

パートナー会社、大抵は良い人だしスキルもあるんだけど、この世に俺以上のカスがいるのかと思わせられるクラスカスがいるしそんな人間マネジメントさせられるのももう面倒でいやだ。

勉強勉強!」みたいなキラキラSEではなく仕事必要になったら「ほなクラウド取説読むかあ……」みたいな意識低い系。

というかインターネットに住んでるITマンすごいね仕事おわったら酒酒シコ酒ゲーム酒でしょ。それが正しい人間生き方だよ。


  • 社風

ハンコ文化!!朝礼!!飲みにケーション!!残業!!

みたいな昭和カンパニー的な感じはない。申請事項と申請フローはクソ多いので面倒。

うちはBtoGなんでせいぜい二億くらいの小規模案件いか部長本部長決裁で適当説明にして承認もらえるけど、BtoB銀行とか企業相手にしてるところは社長決裁とかあってヤバいらしい。

よく退職エントリで見る開発PCが低スペック!!!みたいなのは意味わからん話。稟議出して購入手続きすればCPUメモリ増し増し40万くらいのマシンが社内価格20万くらいで買えるので。FCNT別会社になったはずなんだけど、まだpc安くてよかった。win11のマシンが欲しくて今年頭に買ったので最近の話ね。

有給はフルで毎年20取ってる。みんな取ってるから俺だけ勝手に休んでる訳じゃないぞ。

社内の連絡手段メールがlyncかteams。lyncはもうすぐ終わるらしい。lyncとteams両方生きてるせいでどっちもアプリ立ち上げとかないといけなかったのではよ終われ。

ファイル保存はネットワークドライブと皆様ご存知projectWEBだったけど、ネットワークドライブは、boxに移行し、そのboxはろくにつかわれないままonedriveとshrepointになった。

projectwebはなんだかんだで便利だった。エクスプローラー感覚でできるファイル管理チケット管理タスク管理できるシステムUI古く見えても便利だったよ。

仕事は全部テレワーク最近「でもやっぱ直接会うのって大事だよネ……!」とか上層部が言い出したので、たまには出社するようにとのことらしい。課会で「マネージャーとチームリーダーが出社したことでチーム内コミュニケーションとする」という空報告が決まった。

幹部社員崩れの老害社員は1人いる。正確にいうと仕事はできるしいうことも正論だがお小言が多くコロナ前にあった飲み会の場では「俺の若い頃は〜」という話を延々と続け、俺とはソリが合わない上に体臭がきついので俺は嫌っている。耳ほじった手でキーボード触んな。

  • 後輩

今まで4人面倒見たけど全員離れて行った。

本人の希望ではなく会社都合で別部署になったのが2人、本人の希望で別部署行ったのが1人、そしてYouTubeに本腰入れるためと言って入社一年目で辞めたのがこれ書く契機になった1人。

部署行った子も「わたし文系出身からSE仕事合いません…」っつって営業に行ったのでまあわかる。向き不向きあるしね。変数名にint OkyakusamaNunberと付けてきたのも良い思い出。せめて綴りは合っててくれ。

君と夏の終わり、将来の夢、rm -rf /*したテスト環境忘れない。



それはそうとYouTuberよ。

そんな「父さんな、YouTubeで食っていこうと思うんだ」みたいな台詞現実で聞くことになるとは思わなくて三回くらい聞き直しちゃったもんね。

Sラン理系大院卒でなんでYouTuber???

いや俺もVtuber見てるからYouTuber自体理解が無いわけでは無いのよ?

でもさあ。「チャンネル登録者1000人の大台に乗ったんです!いま踏ん張らないと!」とか言われてもさあ、1000人クラスでよく会社辞める決心ついたな……としか思わんじゃん?

仕事に不満はなかったというが立つ鳥跡を濁さなかっただけなのかはよくわからん。振り返ってみてもそんな旧態依然としたオールカンパニー待遇激悪、未来なしみたいな会社じゃ無いと思うんだが。

チームメンバーみんな「えっ辞めるんだ……1年経ってないのに……」っていう戸惑いの後に「YouTuber???????」っていう戸惑いあったもん。オンライン会議マイクの向こうから伝わる、必死言葉選んで「ゆ、ゆーちゅーばーやるために会社辞めるの?」という問いかけにちょっと怒り気味で答えた君の勇姿美しい。

本人のチャンネルも教えてもらえなかったしダミー理由かもしれんけどさ……チャンネル登録者1000で会社辞める……?

今の若い子の考えることはわからん…….

奢った寿司代返してください。

2022-06-27

Core Keeper Dedicated Server を VPS 上に構築したときの手順メモ

Ubuntu 22.04 LTS x86_64 で構築。

CoreKeeper側で apt依存しているっぽいので、Ubuntu でやった方が楽だと思います

Tips

Ubuntu 20 TLS でやる場合、/home/steam/Steam/ が /home/steam/.steam/ になってたと思うので、環境に合わせて読み替えてください。

Install steamcmd dependent packages

dpkg --add-architecture i386
add-apt-repository multiverse
apt-get update
apt-get dist-upgrade
reboot

Create steamcmd User

useradd -m steam
passwd steam
gpasswd -a steam sudo

Steamcmd / Core Keeper Dedicated Server Install

sudo -u steam -s
cd
sudo apt install steamcmd
ln -s /usr/games/steamcmd steamcmd
./steamcmd +login anonymous +app_update 1007 +app_update 1963720 +quit

Run steamcmd (Install and Creating Core Keeper Dedicated Server system drectory )

cd ~/Steam/steamapps/common/Core\ Keeper\ Dedicated\ Server/
./_launch.sh

Press Ctrl + C for Stop Core Keeper Dedicated Server

World file migration (if there is an old file)

mkmir -p -m 775 /home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/worlds
chown steam:steam /home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/worlds

Copy old world file (0.world.gzip) to

/home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/worlds

Copy old setting file (*.json) to

/home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/

chmod 664 /home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/worlds/0.world.gzip
chmod 664 /home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/*.json

Backup setting

vi /etc/cron.hourly/corekeeper_backup

#!/bin/bash
cp -a /home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/worlds/0.world.gzip /home/steam/worldbackup/0.world.gzip.`date '+%Y%m%d%H%M%S'`
cp -a /home/steam/Steam/steamapps/common/Core\ Keeper\ Dedicated\ Server/CoreKeeperServerLog.txt /home/steam/worldbackup/CoreKeeperServerLog.txt.`date '+%Y%m%d%H%M%S'`

chmod 777 /etc/cron.hourly/corekeeper_backup

sudo -u steam -s
cd
mkdir worldbackup

Start Core Keeper Dedicated Server

sudo -u steam -s
cd ~/Steam/steamapps/common/Core\ Keeper\ Dedicated\ Server/
nohup ./_launch.sh
tail -f ~/Steam/steamapps/common/Core\ Keeper\ Dedicated\ Server/CoreKeeperServerLog.txt

サーバースペック

利用者問題か、サーバー問題かわかりませんが人数が10人超えると CPU4コア/メモリ4G/100Mbps で結構ラグかったです。

今は CPU6コア/メモリ8G/1000Mbps で動かしています

不具合 (2022/06/28時点)

6-8人以上で2-3時間サーバー動かしてると、Unityライブラリがsegfault起こして、Core Keeper Dedicated Server が落ちます

ログ取れたのでバグレポしましたが、改善するまでは不特定多数が好き勝手するサーバーみたいなのを長期運用するのは厳しいかなと思いますタイミングによってはアイテムロストしてしまうので。

遊びで使うなら、ウォッチドック的なサービスを入れて、落ちたら適宜起動しなおすみたいな対応をした方がよいと思います

2022-05-22

はてブコメント標準出力に流すやーつ

普段から俺様が使っているスクリプトあるから、公開してほめちぎってもらうぞー!

出力はただの文字列から音声読み上げアプリでも何でも、突っ込んで遊んでくれ。

jq必須です。

ログインせず使うので当然アカウント固有の非表示設定とかは動きません。

あれなIDコメントも全部所得することになるのでご注意ください。

まあそこらへんはsedでも使って気に入らないidの行を勝手に削除してくれ

hatebu_comment.sh

#!/bin/bash

if [[ "$1" =~ ^http ]];then
	: # Success
else
	echo "Error: 引数指定したURLブックマークコメント一覧を取得するやーつ"
	echo "例: ./hatebu_comment.sh 'https://www3.nhk.or.jp/news/html/20200405/k10012369381000.html' | less"
	exit;
fi

if [[ "$1" =~ b.hatena.ne.jp/entry/s ]];then
	# はてブページのURLでも動作するように
	url="https://$(echo $1 | sed -e 's@.*/entry/s/@@')"
else
	url=$1
fi

if ! jq --version > /dev/null ;then
	echo "Error: jqがインストールされていません"
	exit;
fi

curl -s "https://b.hatena.ne.jp/entry/jsonlite/?url=$url" |
	jq '.bookmarks[] | if .comment != "" then ("「" + .user + "」 " + .comment) else empty end' |
	sed 's@^"@@g' | sed 's@"$@@g'

2022-05-06

[]RStudio最新版インストールするスクリプトを書いた(Debian/Ubuntu)

RStudioがPCから気がついたら消滅していたので何回もやり直すのが面倒で書いた

Debian/Ubuntubash

コメントアウトをいじればFedoramacOSでも動くと思う

https://pastebin.com/HiPqLVq7 (6/4 shコマンドでも動くように修正 以前はbash hogehoge起動していたので動作確認していなかった)

エラーでここに貼れなかった

実行したディレクトリダウンロードする

パッケージインストールするのでsudoとかが必要

必要パッケージについて(コメントアウトオフに)

util-linux(rev) libxml2-utils(xmllint) gpg curl coreutils(sha256sum)とR関連

  1. rev まずデフォルトで入っている 文字列を逆さまにするコマンド
  2. xmllint 同上 xpathを扱えるコマンド(xmlを扱うコマンド) Debianでは入っていなかった
  3. gpg 同上 署名関連 これがないとインストール出来ない環境もある
  4. curl 同上 getリクエストとかを送れる bashだけでHTTPとかを送るのは苦痛なので
  5. sha256sum 同上 ハッシュ値確認
  6. R関連 これがないと動かない
コード関連備考
xmllint
echo "$HTML" | xmllint --nowarning --xpath hogehoge --html - | hogehoge

こうしないとxmllintがエラーでhtlmなどをうまく読み取らない

sed 's/href="//g;s/"//g;s/\s/\n/g;s/^.?$//g;s/^\n//g'

href="hogehoge"の形で出てxmllint内で除去出来なかったのでsed妥協

hrefが1回しか出ないのでひとまとめにできそうだが面倒なので分けた

この書き方なら複数回出ても除去できるはず

先頭の謎のスペースの除去が面倒だった

sha256sum
echo "$HASH"  "$FIELNAME" | sha256sum --status -c ;echo $?

スペースが2つないと書式で怒れられてハッシュ値が合っていてもsha256sumが終了ステータス0で正常終了を返してくれない

使ったツール

VScodium

ShellCheck

https://open-vsx.org/vscode/item?itemName=timonwong.shellcheck

XPath Helper

https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl

最後

zenn.devに書こうか迷ったがどちらの方が良かったのだろうか…

ダウンロードしたサーバーがやられてるならハッシュ値改ざんするだろうgpgで確認しないと意味ないでしょとかsudoでやったらディレクトリがとか色々ガバあるからかいい感じに改良して

参考

https://cran.rstudio.com/bin/linux/debian/

https://www.rstudio.com/code-signing/

https://www.rstudio.com/products/rstudio/download/

2022-04-20

おすすめ言語教えてください

今の業務でメインで使うのがC言語

過去業務で使ったことがあるのがC++, Java, Ruby

たまに自分ツールで書くのがPerl, Python, bash

勉強しようとして挫折したのはHaskell, Scheme

自分的に

C言語は読みやすいから嫌いじゃないけどあんまり面白みはない

Rubyは書きやすいが読みづらい

Perlは書きづらいし読みづらいが面白

という感じです。

色んな観点おすすめ言語を教えてください。

2022-04-04

実務未経験から情報技術者として転職大手自動車メーカーへ勤めてる

経験から3ヶ月で外資IT勤めで年収1600万みたいなのがバズってたので

ただし俺の場合、実務が未経験なだけでプログラミング歴は20ちょっとある、いわゆる趣味グラマから転職
同人ゲーム制作やFLOSS系の活動はずっとやっていて、学生時代バイト出会い系サイト作ってた
前職の都合で自動車メーカーとも繋がりがあり、そのツテで昨今の自動車コンピューティングを強く導入するという流れがあったので誘われて転職することになった
まり草の根(もう死語だねコレ)の情報技術者が昔馴染みを頼って転職しただけと言ってしまえばその通りなのだ

こんな転職の仕方だからプログラミングスクール出身者のレベルがどんなもんだか知らんけど、もともと俺は電気系のオタクシーケンスに関して理解があってH8あたりからプログラミングへ手を出しているって感じがスタートなんだ
たぶんイマドキの純粋培養情報技術者の中には電気回路まったくわからんって人も居るとは思うけど、電気関係素養があったほうがプログラミング習得には今でも有利なんじゃないかな?と思わなくもない
例えば俺へ対してパソコン通信インターネットを通じてプログラミングノウハウを教えてくれたお兄さんたちはゲームメーカーエレメカやってるって人が居たりして、後にゲームハードROM作り始めたなんて話もリアルタイムに聞いていた。今じゃお偉いさんになってるだろうけど

そんなんだから俺はハードソフトネットワークスペシャリストほどではないけれど満遍なく知る変な素養があり直接声がかかった次第だ
イマドキ流行りのGoとかSwiftとかRustみたいなイケイケな言語ではなくC++とかJavaとかBashとかの方が得意だっていうのも評価としてはあったかも知れないけどね
あと日常的なLinuxデスクトップ使いというのも最近Linux興隆の流れから後押しがあったかも知れん

もちろん苦手な部分もある、GUIがそれだ
GUI設計なんて言うものデザイナーがやるべき仕事だね。今流行りのそれっぽいのとかツールチップ使いましたみたいな古典的スタイルを真似たGUIを作ろうと思えば作れるけど、単なるモノマネなので本職のそれとは出来が違う

というわけでプログラミングスクール出身者、どこかで俺みたいな草の根出身者に出会うこともあるだろうから、そのときはヨロシクな

2022-02-19

anond:20220216183232

RPAってうまくいってるところ逆にあるのか?

数年前コンセプトを聞いただけで、元増田の状況が目に見えてきて不気味だった。

プログラム簡単操作するためにGUIという複雑だが画期的手法ができたのに、

そのGUIプログラムするとか不気味でしょうがない。

WindowsならPowershellではだめなのか、Macならbashがあるだろ。。

shellなんてつかえませ~ん、だったらRPAのでバグとかもっと無理だろ。

2021-12-29

京大の77TBデータ誤削除事件

あれって、bash で書いてて、実行中に別のスクリプトで上書きしたのが問題なんだよね。

backup.sh みたいなプログラムを実行してて、

プログラム

# /bin/sh

1:データバックアップ

2:ベリファイ 現在実行中

3:ログ出力

4:古いログ削除

を上書きした結果、

プログラム

# /bin/sh

1:環境変数設定

2:データバックアップ

3:ベリファイ ←ここから実行

4:ログ出力 ←これも実行

5:古いログ削除 環境変数定義のままこれ実行

なっちゃった理解してるんだけど、あってる?

2021-12-04

anond:20211204145749

後編

プログラミングを学ぼうと思い立つ

行列VBAなんかじゃ無理っぽいし、なんかプログラミング言語を覚えようと決める。

なんでも、統計やるならRという言語がいいらしい。

最近じゃPythonというのも人気らしい。

とりあえず両方試そうということで、RのためにRとRstudioをインストール

Pythonはanaconda

プログラミングはなんかを製作する目標がないと挫折すると聞いていたので。

深層学習というもの流行ってると聞いて、ちょっと触りを勉強したくなる。

Excelでわかるディープラーニング超入門」

https://www.amazon.co.jp/Excel%E3%81%A7%E3%82%8F%E3%81%8B%E3%82%8B%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E8%B6%85%E5%85%A5%E9%96%80-%E6%B6%8C%E4%BA%95-%E8%89%AF%E5%B9%B8/dp/4774194743/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=Excel+%E6%B7%B1%E5%B1%A4%E5%AD%A6%E7%BF%92&qid=1637482610&s=books&sr=1-1

この本は面白かったので、深層学習目標プログラミングを覚えよう!

後になって、これはとんでもない間違いだったことに気づく。深層学習機械学習の違いも判らないまま、RよりPythonを先に触ることに。

教本にしたのはこちら。

ゼロから作るDeep LearningPythonで学ぶディープラーニング理論実装

https://www.amazon.co.jp/%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E4%BD%9C%E3%82%8BDeep-Learning-%E2%80%95Python%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%81%AE%E7%90%86%E8%AB%96%E3%81%A8%E5%AE%9F%E8%A3%85-%E6%96%8E%E8%97%A4-%E5%BA%B7%E6%AF%85/dp/4873117585/ref=pd_lpo_2?pd_rd_i=4873117585&psc=1

途中まではまあなんとか。

微分って便利だな。行列計算できるの便利だなっていうところまでいったが、クラスという概念理解できず、途中からハテナが浮かんで読み進められず。

うん、もうちょっと易しい本を探そうと思って手に取ったのが

「独学プログラマー Python言語の基本から仕事のやり方まで」

https://www.amazon.co.jp/%E7%8B%AC%E5%AD%A6%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC-Python%E8%A8%80%E8%AA%9E%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%81%8B%E3%82%89%E4%BB%95%E4%BA%8B%E3%81%AE%E3%82%84%E3%82%8A%E6%96%B9%E3%81%BE%E3%81%A7-%E3%82%B3%E3%83%BC%E3%83%AA%E3%83%BC%E3%83%BB%E3%82%A2%E3%83%AB%E3%82%BD%E3%83%95/dp/4822292274/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=1T6BBXYJ16G6T&keywords=%E7%8B%AC%E7%BF%92%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC&qid=1637483073&s=books&sprefix=%E7%8B%AC%E7%BF%92%2Cstripbooks%2C279&sr=1-1

なんとか読了。自信をつける。

しかし、Gitとかbashの章はさっぱり。

実は、いまだにコマンドプロンプトとパワーシェルbashの違いが分かってない。

つづいてPyQに2か月くらい登録してみる。

https://pyq.jp/

とりあえずデータ分析コースを終わらせる。

なかなかPythonが楽しくなってきたが、クラス意味が今一つ掴めないままいったん中断。

この辺で、自分統計に興味があってもプログラミングに興味がないんじゃないかということに気づく。

結局Excelへ戻り、PowerQueryとの出会って、再びPythonとRに回帰した話

なんだかんだもがきながら、PythonもRもモノにならず、日常ちょっとした計算グラフを作ったりはExcelを使い続ける日々が続く。

あるいは、Excelで成形して、検定かけやす形式にしてRで検定するとか。

Rに触れてなかったな、Rは完全に独学。「こんなことやりたいなぁ、ググってみるか、ほうなるほど」って感じ。

そんなさなか、放送大学で「Rで学ぶ確率統計」という講義があるのを知り、さっそく入学して受講。

なかなか面白かったし、PythonばっかりでRあんまり触ってなかったからいい刺激になった。

恥ずかしながら、負の二項分布やガンマ分布ってよう知らんかった。

しかし、講義は楽しかったがなにか書けるようになったかというとそんなことはなく、依然として基本はExcel

まあ、実際csvじゃなく、手書きデータとかをExcelに打ち込んだりする程度なんでPythonやRを使うまでもなかったというのもあるんだけど。

そんなとき出会ったのがこちら、パワークエリというもの

Excelパワーピボット 7つのステップデータ集計・分析を「自動化」する」

https://www.amazon.co.jp/Excel%E3%83%91%E3%83%AF%E3%83%BC%E3%83%94%E3%83%9C%E3%83%83%E3%83%88-7%E3%81%A4%E3%81%AE%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E3%81%A7%E3%83%87%E3%83%BC%E3%82%BF%E9%9B%86%E8%A8%88%E3%83%BB%E5%88%86%E6%9E%90%E3%82%92%E3%80%8C%E8%87%AA%E5%8B%95%E5%8C%96%E3%80%8D%E3%81%99%E3%82%8B%E6%9C%AC-%E9%B7%B9%E5%B0%BE-%E7%A5%A5-ebook/dp/B07SCK1ND9/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=%E3%83%91%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%A8%E3%83%AA&qid=1637483953&s=books&sr=1-2

パワークエリを覚えたらピボット形式Excelファイルとか、セルの結合が多用されたExcelファイルを、成形加工するのが非常に楽になった。

しかも、同じフォーマットで記録されてるデータならフォルダにぶち込んで一気にまとめ上げることも可能

控えめにいって神!

としばらくパワークエリを礼賛してたのだけど、各ステップPythonのpandasやRのdplyrでも出来ることに気づく。というか最初から気づけ。

こりゃ、一気に覚えちまおう、統計というより、データの前処理だなと思ってUdemyでRの動画を買ってみた。

AIエンジニアが教えるRとtidyverseによるデータの前処理講座

https://www.udemy.com/course/r-tidyverse-preprocess/

すっかりR信者になる。

それまで教本を呼んでもdplyrの便利さが今一つわからなかったのに、パワークエリで具体的にモノを作ると、dplyrに翻訳したら、すいすい。スピード10倍。

便利さにようやく気付く。

ハドリーウィッカムって神だな。

そんで、pandasに翻訳したらどうなんだろ?と思ったらもっと速いw

すごいなPython

Rへの入信はたった数週間。再びPythonに興味。

機械学習

さて、ゼロから作るディープラーニングを再開しようと思ったけれども、そもそも機械学習をすっ飛ばし深層学習って無茶だったと反省し、まずは機械学習に。

機械学習エッセンス -実装しながら学ぶPython,数学,アルゴリズム- (Machine Learning)

https://www.amazon.co.jp/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%AE%E3%82%A8%E3%83%83%E3%82%BB%E3%83%B3%E3%82%B9-%E5%AE%9F%E8%A3%85%E3%81%97%E3%81%AA%E3%81%8C%E3%82%89%E5%AD%A6%E3%81%B6Python-%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0-Machine-Learning/dp/4797393963/ref=tmm_hrd_swatch_0?_encoding=UTF8&qid=1637485264&sr=1-1

で、この本がすごい。

5章あるんだけど、機械学習アルゴリズムは5章だけなんだなw

それまでは何に割かれてるんだって?数式の証明とか、便利な計算法、例えばニュートン法とかラグランジュ未定乗数法とかw

こんだけ引っ張っておいて、いよいよ本番の第5章もゴリゴリ数式をスクリプトに落とし込んでいってるのに、「これは学習のためでscikit-learnっての使えばたった1行」っていう無慈悲

いや、ほんと数学勉強になったし、こうやってゴリゴリやるとなんのためにクラスというもの存在するのかようやくわかった。

線形代数って便利なんだなと。行列スカラー値のように何の気なしに扱えるようになると、あの頃苦しんでいた実験計画法タグメソッド、今読み直したら別の印象があるんじゃないかなと思うようになったり。

この本を読む途中、「マンガでわかる統計学因子分析編」で学んだことが理解の助けになった。

なんたる僥倖

線形回帰、リッジ回帰SVM、PCA、k-means、クラスター分析、一気に手札が増えた。

ふたたび実験計画法

Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析

https://www.amazon.co.jp/%EF%BC%B0%EF%BD%99%EF%BD%94%EF%BD%88%EF%BD%8F%EF%BD%8E%E3%81%A7%E5%AD%A6%E3%81%B6%E5%AE%9F%E9%A8%93%E8%A8%88%E7%94%BB%E6%B3%95%E5%85%A5%E9%96%80-%E3%83%99%E3%82%A4%E3%82%BA%E6%9C%80%E9%81%A9%E5%8C%96%E3%81%AB%E3%82%88%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E8%A7%A3%E6%9E%90-%EF%BC%AB%EF%BC%B3%E6%83%85%E5%A0%B1%E7%A7%91%E5%AD%A6%E5%B0%82%E9%96%80%E6%9B%B8-%E9%87%91%E5%AD%90%E5%BC%98%E6%98%8C-ebook/dp/B09C89HZRV/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=python+%E5%AE%9F%E9%A8%93%E8%A8%88%E7%94%BB&qid=1637486019&s=books&sr=1-1

実験計画法って、fisherの古典的なやつ、ラテン方格に割り付けて、ってやつかと思ったら、線形代数使えればもうなんでもありなのな。

そこにきて、ベイズ、今まで避けてたのに出会ってしまった!!

結論から言うと、超面白い。

これ、すごいな。

Python万歳

いいのかこんな便利分析個人でやれて。

機械学習実験計画法がここでつながるとか、控えめにいって最高だな。

まだ読了してないので、また後日。

2021-11-05

anond:20211105082712

pythonツールbashみたいなものプロダクト作るのにはさすがに遅いとか並列処理弱そうとかあるけど、データ分析するときにはマジ神ツール

増田はpandasクソって書いてるけど、慣れてないだけ。慣れればexcel使って表計算するのがバカらしく感じるようになる。

もはやpython人権

2021-11-04

anond:20211104230025

コンテナ時代になって、本当に ps とか ls すらない環境がきたから、もう Vi やら Python が入っているという前提を捨てちゃったね。自分は。一時期のような、BashPython で置き換えるという運動も、systemd やら Kubernetes のような設定ファイルを使ういま、PythonLLデファクトスタンダード時代終焉に近いと思うがね。

2021-10-23

anond:20211023223257

うそだろ?

お前bash覚えるためだけに生きてるような顔してるぞ?

2021-10-12

Windows 10 では bash が使えます」「うおおー」「他の新機能は…」「 bash !! bash !!!! 」「いや、あの…」みたいなツイートを探したが見つからなかった

Windows 11 の目玉は Linux なんですって……

2021-08-07

LL言語バトル。RubyPythonPHPPerlJS と...

個人的感想だけど、RubyJavaScriptPythonPHP, PerlBash, AWK という具合に LL の使い易さは感じるのよ。

Python って、Ruby よりも生産性高まるときってあるのかいな。Ruby深層学習ライブラリが発展したら、逆転されるのちゃうの?

2021-07-08

anond:20210706022633

年収270万で)プログラマー引退して、医学部にきた俺が真面目に考えてやろう。

言葉は正しく使おう

真面目に読んでいて、ちょっと気になる箇所がある。たとえば PostgreSQL を postgre とか書くヤツは現場では嫌われるぞ。少なくとも postgres と書いてくれ。お里が知れるぞ。

プライドが高い

消えていくエンジニアの特徴だけど、叱責されたり馬鹿にされるのが嫌で VCSコミットしないヤツ、または貪欲コードレビューをされるのが嫌がるやつは、成長しない。

エリート意識

この業界は数年前には『デジタル土方』と揶揄される業界でした。ちなみに、アメリカでも「テック系はハードから避ける」という雰囲気でした。つまり何をいいたいのかというと、ソフトウェア開発者っていうのは「泥臭い領域」なんだよ。エリートとは程遠い場所にあるというね。

④ 「某天市場の先輩には,ここ仕事量少ないしオススメだよって言われたのですが,」

いやぁ、是非とも楽天で働くべきだよ。どうせ野村総合研究所とか NTT DATA なんて無理だと思うから

⑤「バックエンドは大体firebaseかgcpに任せているので,インフラあたりひいてはネットワーク知識が薄いです.」

うん、ココはまずい。基本的フロントエンドなんて給料が安いのよ。だって、誰にやらせてもデータベースにクソなDCLを飛ばせないから。逆に、データベースを触れることができるプログラマーリスク責任が大きいから、給料が高いのだよ。B4 になってもそれが理解できていないようだと、この先くらいよ。

⑥「後fpgaも少し.ハードウェア開発は結構苦手で回路図とか上手く書けません.」

君はソフトウェアエンジニアになりたいのだろ?世の中は分業で成り立っているのだから、全部やろうとするやつはアホだよ。

⑦「B3の夏くらいのタイミング東証一部上場企業インターンに行きました.」

インターン生はお客さんなの。君のスキル通用したのはすごいと思うけど、同じ感覚仕事はできないから注意しときなよ。

⑧「CSではないので受動に学ぶ機会も特になかったです」

なに言ってるの?そんなことは言い訳にならんよ。プログラマーになりたいのだろ?勉強しろよ。

⑨「Twitterとかで(主につよつよエンジニア達によって)エンジニアのべき論が語られているが,(以下略

逆にいうと、あなたインターンとして週3で20万円貰えていたのは、参入障壁が少ないからでしょ?強強エンジニアが生き残っているのは、それだけすごいということだよ。

⑩「仕事となると自分が扱ってこなかった技術を使わないといけなくて,扱ってこなかったということはつまり難しいということで.」

いやぁ、違うと思うよ。その問題が「難しい」なら切り分けて、上に「ココが自分能力では解決できないです」と持っていくだけなんだからさ。CS じゃないのだったら、仕事をするまで「扱わないまま」なんだよ?しかも、土日に勉強する気もないとなったらいつするのさ?

⑪「僕のようなクズと言われても仕方のない人材はどうしたら上手く(ストレスレス高収入の意)生きていけるのでしょうか?」

諦めなよ。ソフトウェアというものが「変化できることに価値がある」ものから。変化する業界ストレスフルだけど、立身出世する可能性が高いでしょ?安寧なばしょではないの。

⑫「今22歳,B4だ.Mまでは行く.Dに迷ってる.研究楽しいからです」

いやー、CSでない博士課程に行って、雇ってくれる企業があるかね?無いと思うけどな。

⑬「ネット実装例なんてクソの欠片も載ってないし,プロトコル理解のために特許資料論文をくまなく読む羽目になったのは本当に辛かったです.」

この時点で、君はコピペしかやってきてないことが理解できる。おそらく QUIC か MQTT あたりだろ?逆にいえば、それが実装できたら他社と差のつけられるプロダクトだったはずだ。つまり会社利益の源泉であった部分をみすみす実装できないようでは、そこらへんの専門卒以下だぞ。

⑭「html, css, javascript(jquery, express, react(next), vue(nuxt)), python, php, sql(postgre, oracle), graphql, ruby, swift, solidity, unity, c, c++ 業務レベルじゃなくていいならgo, kotlin, java, scala, dart, julia,(以下略

ムカつくというか、虫酸が走る書き方だ。箇条書きにすると、

⑯「プログラミングは17歳くらいから始めました」

プログラミングに年齢はないから。自分は9歳ではじめたけどね。

⑰「僕のつよつよエンジニアイメージを共有すると」

あー、俺も天才高校ときにいて、マーチ情報工学と旧帝の院の学費会社持ちという驚異的なやつがいたよ。今もブログ見てると、AndroidiPhoneアプリを書いているみたいで、元気そう。

⑱「つまり難易度が急に跳ね上がった.これが辛かったです...言語C++Java.」

それを上手にコントロールできるプログラマは世界中にもほとんどいねぇ。むしろ、月20万でやるもんならギルドから苦情が来るぞ。オレもアビームの人に給料を答えたら、「こんなヤクザ会社はやめろ」と耳うちされたよ。

結語

人より良い経験をしたいという願望はあるのは素晴らしいと思うよ。しかしながら、君が到達したノウハウ他人にもできることだからね。ワン・オブ・ゼムになりたくないなら、努力し続けることだな。勉強をするのをやめたら、数年で中卒に負ける世界からな。覚悟しとけよ。

追記

P.S. 医学部に来たのは家庭の都合だよ。それに、自己顕示しないと「場末コーダー」で読んでもくれないだろ?年収については、自分も低いと思うよ。なぜ低かったかというと、都内私立大学多浪中退自分にはベンチャーの皮を被った助成金搾取がメインの反社会的勢力フロントベンチャー企業ぐらいしか相手にしてくれなかったからだよ。そこの会社外国帰りの MDMA をキメて、未成年の子女に手を出しては警察沙汰スレスレのことをしているキチガイ社長をやっていて、人工知能を作ろうと学生インターン酷使している会社だったのだけど、「サイバーエージェントに紹介する」という嘘にひっかかって、特定派遣事業免許がないのに客先常駐させられ、土曜は帰社日、日曜は社長Python勉強会に参加させられる、というブラック会社にいてピンはね率(60%)となると、まともに考えることもできず働くアリになってしまってたからだよ。

P.S.年収については、初日から派遣先会社に引き抜きのオファーをもらって、2ヶ月後に新しい会社に移動したけど、300万だったので CodeIQ というサイト転職をする準備をしていたよ。たしかDMM とかサイバーエージェント面接にいこうとしてたような記憶。その後で家庭の都合で、医学部に来たけど。

P.S.医学部医学科の6年生だよー。みんなが嫌いな私立医学部だけどね。ちなみに、俺もこの大学が嫌いだ。

P.S. ④「GraphQLをわざわざ書くのは理解できるけどな。」そうだとすると、RESTSOAP も書かないとまずくない?書くのだったら「RailsNextデータ受け渡しにGraphQLを使った経験が」という感じだと良いと思うけど。

P.S. ⑤「野村総研データを挙げるあたりSI寄りの仕事してたのかな。 」ちゃうねん。オレっちは多浪たからさ、そこのエントリーシートをかけなかったのよね。まぁまぁ大学が名門でさぁ、OB が誘ってくれるけど、年齢で弾かれて辛かったねん。

P.S. ⑥「ダウト学費をどうやって稼いだんや 」えぇ、親の金です。だから家庭の都合でと書いてるじゃろ。

P.S. ⑦「本当に医学生ならここ数年の技術についてこの指摘ができる程詳しいわけないし少なくとも10年位は業界にいないとこういう感覚は身に付かない。 」たしかおかしいよな。Kubernetes や Terraform を弄って、CIGitHub Actions、CD には AWS CodeDeploy を使って、ブログは Jekyll で静的サイトジェネレータを使いつつ、自前のサービスを立ち上げるために Rails, Next, React, PostgreSQL, Redis, Kafka, Elasticsearch, S3 の勉強をしつつ、スマホ環境のために KotlinSwift を触れているなんて変だよな。そういえば、Docker が来るまでは Vagrant環境をつくっていたのも忘れてたよ。あと Rust を今年に学ぶ言語にするなんて、受験生にあるまじき行為だよな。うん。

P.S.年収については、基本給が 22万で、残業200時間超えたらプラスだった気がする。あと、反社ベンチャーは「ポートフォリオ作成にまる一ヶ月間で拘束された、しかも無給で」という時点でヤバいのだけど、その会社コミットしたのは「サイバーエージェントに紹介する」ということだけであって、同時期に DMM面接に行けそうだったのよね。馬鹿なことをした。

P.S. ⑨「特にフロントエンドを見下す感じとか」オレ自身フロントエンド出なんだよ。何を隠そう、Adobe Flashゲームをつくっていたから。それでもって言うよ、バックエンドが一番大切だと。

P.S. ⑩ 「相続税対策お疲れさんだな。」あたり。

P.S. ⑪「5~10年前に人売りに捕まった話とするなら、年収270万も現実味を帯びる。」特定派遣は消えてくれてよかったよ。俺のところは特定派遣すら未登録だったけど。

P.S. ⑫「いい医者になるのだよ 」うん、頑張る。「オッサン」「社会不適合者」「あるき方がキモい」「プログラミングwww」「同じ班になりたくない」「親も頭が悪い」「生きてて恥ずかしくないの?」とか言われてるけど、頑張る!

P.S. ⑬ 「フロントエンド別に給与低くないよ。」えっ、そうなの?WebDesigning を読む限りだと、400万もいかないイメージだけど。

P.S「医学部6年でまだプログラムに興味あるの不思議。」好きなんだよ、言わせるな///

P.S. GitHub なんやね。気をつけるよ。

P.S.フルタイムじゃないのでしょ?」いいえ、東京都内フルタイム(ひどいときで、朝7から24)でしたよ。入った会社が「法律よりも、派遣先評価」という会社だったからね。

P.S. サイバーエージェントさん、ときどき御社の社名を使って「弊社に恩を売ると、サイバーエージェントに紹介する」というベンチャー跋扈しているので、どうにかしてください。わたくし、1ヶ月間もその嘘で jQueryDjango を回収させられた挙げ句、月給 2000円だったのですけど。本当に千円札2枚だったのですけど。ついでに、AndroidJava) と iPhoneObjective-C)と jQuery を使ったフロントエンドシステムに、バックエンドRails + Postgresqlシステムで、AWS を介したサービスを作らされたのも「サイバーエージェントに紹介する」と言われたからなんですけど。いったい、何なんですか?お前ん所は、コンプライアンスどうなってんじゃ。

P.S. 「好きそうだし医学部卒業してシレッとgoogle行ったれ 」無理っすよ。オレのスキルじゃ。

P.S.病院は」親がクリニックを持っていたけど、潰したよ。クリニックは人に患者がついていて、アルバイトを充てがっても患者さんが不幸になっていくのをみちゃったからね。自分責任を持って患者さんを見たいから、バイトなんて使わないよ。

P.S. 自分コードを書きたいタイプだったから、SIer みたいな UML とか書いて下請けコードさせるみたいなのは絶対に嫌だったのよね。だから SIer にはならなかったよ。やっぱり、現実にある計算機解決できる問題を、より直接的に触れて解決したいと思っているから。仕事ハードでも全く問題なし。

P.S. FPGA すごいよね。ザイリンクスアルテラIntelAMD に買収されて、すごいと思ったよ。2010年頃だっけ?、CPU限界FPGA突破しようという話があったけど。手を出そうと思ったけど、高性能なチップ100万ぐらいして挫折した記憶があるよ。

P.S.東海大医学部学士」は自分大学卒業してないから無理でした。あと、それ以上の詮索はやめてくれ...

P.S.MySQLそんなに嫌いなのか。」そんなこと書いたつもりはないが、あれ?確かに MySQLPostgreSQL より嫌いたけど、それは Oracle が親元だったり、Unicode の扱いがファッキンだったり、ストレージエンジンが切り替わるときカオスな目にあったけどさ、MySQL は好きだよ。お世話になったし。

P.S. 給料については契約後に言われたのよ。というか、もともとは「サイバーエージェントに紹介」するという理由で、ポートフォリオ作成Django の改修を手伝ったつもりで、入社とかする気は全く無かったのよ。それが、いきなり他所会社面接を受けさせられて「君は明日からXXで働くから履歴書を書いてね」と言われて、抗議したら「俺に恥ずかしい思いをさせるのか!業界に入れなくするぞ!」と大声でシャウトされて、気がついたらあっちが用意した履歴書拇印してしまったのよね。有料職業紹介と派遣登録をしてない会社だったから、そんなかとはできないはずなんだけどね。ホームページには「年収550万」と書いてあったけど、実際はまったく違ったのだけどね。

P.S.「うーん、いらないかな。IT土方としての仕事しかないと思う。」だよな。おとなしく医者になるよ。ありがとう

P.S. Elasticsearch は全文検索機能がほしいからやってるよ。Redisインメモリセッションストアとして使いたいのよ。Kafka はさ、twitter のファボをじっそうしたいけど、RDB書き込み速度が上がらないから利用したいの。TensorFlow は全く理解できてないよ。それは、指摘されたとおり。

追記追記

逆に聞くけど、以下の知識があったらどれぐらいもらえるわけ?東京23区で。

2021-04-25

windowsbashを使うのはLinuxPowershell使うより無駄

大体の場合において「bashが欲しい」という人はbashだけではなくgrepawkやその他諸々のgnu ツールもまとめて欲しているが、それらを合わせてもwindows上で使うPowershellには機能レベルで遠く及ばないし、windows上のbash単体はLinux上のPowershell単体にも劣る。

Powershellでは、「文字列しかさない古いパイプを通して文字列切り貼りして受け渡しながら処理をする」なんて面倒なことはない。

bash+gnuツールだと別コマンド文字列切り貼りしなきゃ取得できないメタデータも、Powershellならパイプオブジェクトを渡せるから始めからオブジェクトプロパティとして付いてくる場合殆どだ。

windows上なら.net経由でシステムの様々な部分へのアクセス可能だし、COMObject経由でofficeソフトのものを直接操作もできる。

サードパーティーモジュールで無理矢理データを弄るんじゃなくて実際にofficeファイルを吐くプログラムのものPowershellから操作できる。

互換問題とは無縁だ。

なので、Powershell記事によく付く「こんなのよりbash(+gnuツール)使いたい」ってのは「LinuxPowershell使いたい」って言ってるようなもんだって分かって欲しい。

windows上においてはbashPowershellの肩代わりは出来ない。

少し前からLinux上でPowershell動くようになったけど、LinuxユーザPowershellから学ぶ価値あるかと言われると、はっきり言って「あんまりいかな」とは思う。

azure関連のコマンドモジュールPowershellしかないヤツもまだあるみたいだからazure触るためだけにwindows用意しなきゃならない事態を防ぐ程度の意味合いしかないような気はする。

そういうモジュールLinux上のPowershell対応してんのか知らんけど。

WSLでLinuxが丸々windowsに取り込まれたおかげでカジュアルwindows上のbash需要殆どは満たせる時代になったのは良いことだ。

別にPowershellのことを詳しく調べろとは言わないが、bashじゃwindows上のPowershellの肩代わりは出来ないって事だけは覚えておいて欲しい。

2020-12-22

最初プログラミング言語は何がいいか

最初プログラミング言語として最もおすすめなのは、Bourne (Again) Shell。通称sh(bash)です。shUNIX標準的シェルであり、bashはその拡張です。現在、多くのLinuxディストリビューションでは、bashが標準のシェルです。以下、これらのシェルの上で動作するコマンド言語およびそれによって作られたプログラムを指して「シェルスクリプト」と呼ぶことにします。

シェルスクリプトを最初プログラミング言語おすすめする理由は、主にその実用性にありますほとんどのプログラミング学習者にとって、プログラミングで実現したいことは、「10000以下の素数を求める」などの教科書課題のようなものではなく、大量のファイルから情報検索するとか、インターネットから定期的にコンテンツを取得する、などの具体的なタスクのはずです。シェルスクリプトを使えば、後者のような実用的なプログラムを手軽に作成できます。一方、多くのプログラミング入門書には、制御構文などの細かい説明はあっても、後者のようなトピックはあまり載っていません。というのも、そのような機能は汎用的なプログラミング言語(C、JavaPythonRubyなど)のコアの機能ではないからです。それらの機能は通常、ライブラリによって提供されます。したがって、汎用的なプログラミング言語実用的なことをしようと思えば、外部モジュールの読み込みや、場合によってはパッケージ管理ツールを使ったライブラリインストール方法などを学ばなければいけません。これらは、初学者はいささかハードルが高いです(たとえば、Webフロントエンドツール群を初学者が独学でインストールするなどは、ほぼ不可能でしょう)。一方、シェルスクリプトでは、grepsedawkのようなシェル上のユーティリティは全て、他の言語における組み込み関数と同様です。つまりモジュールインポート初期化処理などを行わず使用することができます

また、シェルスクリプトは、より本格的な言語フレームワークステップアップする過程としても非常に適していますプログラミング入門書ではほとんど語られないことですが、プログラミングにおいては「プログラミング言語以外の技術」がプログラミング言語自体と同様に重要です。たとえば、ファイルディレクトリ操作するには、OSファイルシステムにアクセスしなければいけませんし、インターネットからコンテンツを取得するには、HTTPというネットワークプロトコルを知らなければいけません。シェルスクリプトを使う場合、それら「プログラミング言語以外の技術」を自然に利用します。それらは、プロエンジニアを目指す上でも欠かせない知識です。また、多くのプログラミング言語では、制御構文を用いて変数の値を更新していくプログラミングスタイルが取られます。一方、シェルスクリプトでは、コマンドの出力を他のコマンド入力に渡してデータを変換するプログラミングスタイルが取られます後者スタイルは、現代ソフトウェア開発では多くの場合、良いスタイルだと認識されていますシェルスクリプトを最初に学ぶことで、そのような良いプログラミングスタイルが身につきます

シェルスクリプトを体系的に学ぶならば、次の文献が信頼できます

また、多くのコマンドは「man コマンド名」で使用法を調べることができます

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