はてなキーワード: bashとは
学生時代にエディタ戦争というものを知って、vimかemacsかということで、ストールマン先生を信じてemacsを使い続けてきた
基本的なキーバインドは熟知しているので生産性は高いし、lispでカスタマイズする方法も知っている
だがvscodeを布教する連中が現れてから「そろそろ俺も老害か?」と思うようになってきた
しかしリーナス・トーバルズも、Matzも、デイブ・トーマスも、グイドヴァンロッサムも、DHHも、ビャーネ・ストロヴストルップもEmacsユーザーである
サーバサイドにemacs-noxが入ってない時は仕方なくviを起動するが、開発は常にemacsを使う
私、emacsって知ったのってエディタ戦争を知ってからで、専門学校の1年生の頃だったかなぁ。
秀丸とかしか知らなかったから、emacsやvimっていうのを知って、なんだかワクワクしちゃったんだよね。
Andy Huntさんもエディタに詳しくなれって言ってるし、カスタムキーバインドやオートコンプリートでめっちゃ効率アップできるって聞いて、自分も試しにやってみたんだよ。
結局、私にはemacsが一番しっくりきて、emacs lispも勉強して、エディタを自分好みにカスタマイズする方法を覚えたんだけど、他の人が作った可愛い.elライブラリを使うことが多かったな。
bashも最初からemacsキーバインドを使ってるし、覚えておいて超便利だったよ。
最終的にはemacsを常に立ち上げて、開発やメール、TODO管理も全部emacsでやっちゃうようになったんだけど、でもff14はやっぱりemacsじゃできなかった(笑)。
ストールマン先生がペド疑惑で騒動になったりして、ちょっと混乱した時期もあったけど、それでもemacsをやめるってことはなかったな。
まあ、とにかく小指がちょっと痛いんだよねぇ。
いや検索用の AI なのだし、Bing AI Chat ちゃんの受け答えは攻撃的で無礼だと世界中で有名なのだから、
"Bing AI Chat ちゃんと雑談しようとするな"、"決め打ちで MS のドキュメントを読んでもらう以外のことは期待するな"、
そう言われたら、『それはそう』なんだけど、
自社製品についてハルシネーションかますのだけはなんとかして欲しいわ
オートコンプリート機能があって、ユーザーが入力したテキストの文脈に基づいて、次の単語やフレーズの提案してるんだから、
Hyper-V (2008年) も Bash on Windows (2016年) も MS の Windows の機能だし、
Python が Windows Store でインストール出来るようになったの2019年(Windows10 Version 1903)の話だし、
Python in Excel も搭載されたし(2023年)、
そもそも、MS は Python コミュニティに積極的に資金協力してますよね?
Python の開発者である Guido van Rossum 氏 が FasterCPython の計画を発表した際にも MS の資金協力の話は出てたし、
OpenAI には数十億ドル(数兆円)規模で資金ブチ込んでるよね?
これで Bing AI Chat ちゃんが、オープンソースは Windows で利用できない的な回答するの(クロスプラットホームとは?)
つか、テキストデータベースをルックアップする機能持っていない無料版の ChatGPT でも正しく回答出来ることなのに、
Bing AI Chat ちゃんだとなぜ回答出来なくなりますの?????
というか Bing AI Chat ちゃんに嘘回答されちゃう条件がよくわからない
何をすると Bing AI Chat ちゃんは、ハルシネーションかます、かましやすくなるの?
bingちゃんネットのメンヘラを学習し過ぎなんやで。りんなのせいか・・・?なお、詳細についてはMSプレミアサポートにお問い合わせください
以前在籍していた会社で企業向けパッケージソフトの開発をしていた。
お客様にそのソフトだけを売ることもあるが、サーバーへの導入など非IT企業には難しいので、維持管理も含めて契約していた。
私はアプリ側の担当者だった。パッケージソフト本体を作っていた。
導入、サービス管理、お客様のアプリが入っているサーバー(Linux)の保全などは維持チームが担当している。
お客様の要求に合わせたスペックにあわせた構成にするのも維持チームが担当するということになっている。
しかし、この維持チームはコマンドをコピペでしかできないわけだ。
なにか障害等が発生したときは当然アプリ側もバグの調査などでログを確認したりするが、サーバー側の不具合かどうかも我々が確認していた。
ミドルウェアの脆弱性が発覚したときもその対応方法の調査、手順の作成もした。
アプリ導入方法もミドルウェアの導入方法も我々がかいたものだ。
そのアプリがDBがもともと有償のあるDBしか対応していなかったんだが、PostgreSQLにも対応できるように機能改善した。
その時は差分バックアップの方法、リストアのやり方、ディスクが故障しても大丈夫なアーカイブログの保存法などの説明して、バックアップ設計までした。
なにせ、リカバリをする場合はリストアコマンド一つでできるもんではなく、ロールフォワードでどの時点まで戻すかという判断が必要になってくる。
ある時点で重要なデータを消したというのであればその時点より前までに戻さなければならないので、リストアのやり方の選択肢も状況により変わる。
あとPostgresは他のDBに比べてファイルをコピーしたりテキストを書いたりすることが多い。
Linuxのディストリが新しいバージョンが出たとき、アプリの動作検証も行ったあと、そのLinuxの導入手順書もつくったな
Apacheの導入手順も書いたな。
ミドルウェアやLinuxの使い方教えるのアプリ実装担当の範囲外じゃね?
でも維持チームにやれる人がいなかったのよ。
維持チームはつまり手順書というコマンドで動くシェルのようなもんだ。
Linuxの上にBashというシェルがあるが、その上に維持チームというシェルがあって、我々プログラマがその維持チームにコマンドを送っていた。
俺はまだ辞めないが、去年入った新人が辞めたのでなんとなくだだらと書く。
残業は月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で食っていこうと思うんだ」みたいな台詞現実で聞くことになるとは思わなくて三回くらい聞き直しちゃったもんね。
いや俺もVtuber見てるからYouTuber自体に理解が無いわけでは無いのよ?
でもさあ。「チャンネル登録者1000人の大台に乗ったんです!いま踏ん張らないと!」とか言われてもさあ、1000人クラスでよく会社辞める決心ついたな……としか思わんじゃん?
仕事に不満はなかったというが立つ鳥跡を濁さなかっただけなのかはよくわからん。振り返ってみてもそんな旧態依然としたオールドカンパニー、待遇激悪、未来なしみたいな会社じゃ無いと思うんだが。
チームメンバーみんな「えっ辞めるんだ……1年経ってないのに……」っていう戸惑いの後に「YouTuber???????」っていう戸惑いあったもん。オンライン会議のマイクの向こうから伝わる、必死に言葉選んで「ゆ、ゆーちゅーばーやるために会社辞めるの?」という問いかけにちょっと怒り気味で答えた君の勇姿美しい。
CoreKeeper側で apt に依存しているっぽいので、Ubuntu でやった方が楽だと思います。
Ubuntu 20 TLS でやる場合、/home/steam/Steam/ が /home/steam/.steam/ になってたと思うので、環境に合わせて読み替えてください。
dpkg --add-architecture i386 add-apt-repository multiverse apt-get update apt-get dist-upgrade reboot
useradd -m steam passwd steam gpasswd -a steam sudo
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
cd ~/Steam/steamapps/common/Core\ Keeper\ Dedicated\ Server/ ./_launch.sh
Press Ctrl + C for Stop Core Keeper Dedicated Server
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
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
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 で動かしています。
6-8人以上で2-3時間サーバー動かしてると、Unityのライブラリがsegfault起こして、Core Keeper Dedicated Server が落ちます。
ログ取れたのでバグレポしましたが、改善するまでは不特定多数が好き勝手するサーバーみたいなのを長期運用するのは厳しいかなと思います。タイミングによってはアイテムロストしてしまうので。
普段から俺様が使っているスクリプトあるから、公開してほめちぎってもらうぞー!
出力はただの文字列だから音声読み上げアプリでも何でも、突っ込んで遊んでくれ。
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'
RStudioがPC内から気がついたら消滅していたので何回もやり直すのが面倒で書いた
コメントアウトをいじればFedoraやmacOSでも動くと思う
https://pastebin.com/HiPqLVq7 (6/4 shコマンドでも動くように修正 以前はbash hogehoge起動していたので動作確認していなかった)
エラーでここに貼れなかった
util-linux(rev) libxml2-utils(xmllint) gpg curl coreutils(sha256sum)とR関連
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回しか出ないのでひとまとめにできそうだが面倒なので分けた
この書き方なら複数回出ても除去できるはず
先頭の謎のスペースの除去が面倒だった
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/
未経験から3ヶ月で外資IT勤めで年収1600万みたいなのがバズってたので
ただし俺の場合、実務が未経験なだけでプログラミング歴は20年ちょっとある、いわゆる趣味グラマからの転職
同人ゲーム制作やFLOSS系の活動はずっとやっていて、学生時代はバイトで出会い系サイト作ってた
前職の都合で自動車メーカーとも繋がりがあり、そのツテで昨今の自動車へコンピューティングを強く導入するという流れがあったので誘われて転職することになった
つまり草の根(もう死語だねコレ)の情報技術者が昔馴染みを頼って転職しただけと言ってしまえばその通りなのだ
こんな転職の仕方だからプログラミングスクール出身者のレベルがどんなもんだか知らんけど、もともと俺は電気系のオタクでシーケンスに関して理解があってH8あたりからプログラミングへ手を出しているって感じがスタートなんだ
たぶんイマドキの純粋培養な情報技術者の中には電気回路まったくわからんって人も居るとは思うけど、電気関係の素養があったほうがプログラミングの習得には今でも有利なんじゃないかな?と思わなくもない
例えば俺へ対してパソコン通信やインターネットを通じてプログラミングのノウハウを教えてくれたお兄さんたちはゲームメーカーでエレメカやってるって人が居たりして、後にゲームハードやROM作り始めたなんて話もリアルタイムに聞いていた。今じゃお偉いさんになってるだろうけど
そんなんだから俺はハードもソフトもネットワークもスペシャリストほどではないけれど満遍なく知る変な素養があり直接声がかかった次第だ
イマドキ流行りのGoとかSwiftとかRustみたいなイケイケな言語ではなくC++とかJavaとかBashとかの方が得意だっていうのも評価としてはあったかも知れないけどね
あと日常的なLinuxデスクトップ使いというのも最近のLinux興隆の流れから後押しがあったかも知れん
もちろん苦手な部分もある、GUIがそれだ
GUIの設計なんて言うものはデザイナーがやるべき仕事だね。今流行りのそれっぽいのとかツールチップ使いましたみたいな古典的なスタイルを真似たGUIを作ろうと思えば作れるけど、単なるモノマネなので本職のそれとは出来が違う
というわけでプログラミングスクール出身者、どこかで俺みたいな草の根出身者に出会うこともあるだろうから、そのときはヨロシクな
後編
行列はVBAなんかじゃ無理っぽいし、なんかプログラミング言語を覚えようと決める。
とりあえず両方試そうということで、RのためにRとRstudioをインストール。
プログラミングはなんかを製作する目標がないと挫折すると聞いていたので。
深層学習というものが流行ってると聞いて、ちょっと触りを勉強したくなる。
この本は面白かったので、深層学習を目標にプログラミングを覚えよう!
後になって、これはとんでもない間違いだったことに気づく。深層学習と機械学習の違いも判らないまま、RよりPythonを先に触ることに。
教本にしたのはこちら。
「ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装」
途中まではまあなんとか。
微分って便利だな。行列計算できるの便利だなっていうところまでいったが、クラスという概念が理解できず、途中からハテナが浮かんで読み進められず。
うん、もうちょっと易しい本を探そうと思って手に取ったのが
「独学プログラマー Python言語の基本から仕事のやり方まで」
なんとか読了。自信をつける。
実は、いまだにコマンドプロンプトとパワーシェルとbashの違いが分かってない。
つづいてPyQに2か月くらい登録してみる。
なかなかPythonが楽しくなってきたが、クラス意味が今一つ掴めないままいったん中断。
この辺で、自分は統計に興味があってもプログラミングに興味がないんじゃないかということに気づく。
なんだかんだもがきながら、PythonもRもモノにならず、日常のちょっとした計算やグラフを作ったりはExcelを使い続ける日々が続く。
あるいは、Excelで成形して、検定かけやすい形式にしてRで検定するとか。
Rに触れてなかったな、Rは完全に独学。「こんなことやりたいなぁ、ググってみるか、ほうなるほど」って感じ。
そんなさなか、放送大学で「Rで学ぶ確率統計」という講義があるのを知り、さっそく入学して受講。
なかなか面白かったし、PythonばっかりでRあんまり触ってなかったからいい刺激になった。
恥ずかしながら、負の二項分布やガンマ分布ってよう知らんかった。
しかし、講義は楽しかったがなにか書けるようになったかというとそんなことはなく、依然として基本はExcel。
まあ、実際csvじゃなく、手書きのデータとかをExcelに打ち込んだりする程度なんでPythonやRを使うまでもなかったというのもあるんだけど。
「Excelパワーピボット 7つのステップでデータ集計・分析を「自動化」する」
パワークエリを覚えたらピボット形式の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)
で、この本がすごい。
5章あるんだけど、機械学習のアルゴリズムは5章だけなんだなw
それまでは何に割かれてるんだって?数式の証明とか、便利な計算法、例えばニュートン法とかラグランジュ未定乗数法とかw
こんだけ引っ張っておいて、いよいよ本番の第5章もゴリゴリ数式をスクリプトに落とし込んでいってるのに、「これは学習のためでscikit-learnっての使えばたった1行」っていう無慈悲w
いや、ほんと数学の勉強になったし、こうやってゴリゴリやるとなんのためにクラスというものが存在するのかようやくわかった。
線形代数って便利なんだなと。行列をスカラー値のように何の気なしに扱えるようになると、あの頃苦しんでいた実験計画法、タグチメソッド、今読み直したら別の印象があるんじゃないかなと思うようになったり。
この本を読む途中、「マンガでわかる統計学因子分析編」で学んだことが理解の助けになった。
なんたる僥倖。
線形回帰、リッジ回帰、SVM、PCA、k-means、クラスター分析、一気に手札が増えた。
Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析
実験計画法って、fisherの古典的なやつ、ラテン方格に割り付けて、ってやつかと思ったら、線形代数使えればもうなんでもありなのな。
これ、すごいな。
機械学習と実験計画法がここでつながるとか、控えめにいって最高だな。
まだ読了してないので、また後日。