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

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

2019-11-22

特定言語しか使えない人って

プログラミングをどう理解してるんだろうね。

発言語は基本的PHPJavascript職場

大昔に作られたVB6製のツールを見てくれって頼まれた。

かにVBのわかる人がいないからって。

別に複雑なコードでもないし、PHPJSでも、まがりなりにもコードを書いてる人なら見ればわかるでしょって感じなんだけど。

スマホアプリ作るときも、JSならだれでもメンテナンスできるからってmonacaかいJSアプリが開発できるやつを採用したけど、Webとはアーキテクチャが違いすぎるから結局一部の人間にしか触れなくて、そんなマイナープラットフォーム採用した意味なかったし。

ちょっとしたツールを作るときも、Windowsアプリとして作ったほうが使い勝手いから、VB.NETかC#で作ろうって話になってもベテラン勢が猛反対して、無理やりPHPWebアプリとして作ることになったし。

サーバーで使うシェルスクリプト(.sh)も未経験の俺が、ネットチョコチョコとググって改修して、すごいびっくりされたことがあるけど、こっちからすればなんであんたらは触れないかっていう感じだし。(黒魔術的な書き方もあるらしいけどもちろんそんな書き方ではない)

Windowsサーバーで使う .BAT ファイルを書くときに、.BATファイル仕様では黒魔術的なテクニックを使わないと実現できない仕様だったからほかの言語しませんかって提案したけど、.BATでないとほかの人が保守できないからと却下

無理に.BATで書いて、逆に変なテクニックを駆使した保守性皆無のコードになってたし。

どの言語を使うかって話題になると、自分の使ってる言語以外を使うとアイデンティティ崩壊するかのような勢いで反対する。

Haskellみたいにまったく思想の違う言語ならともかく、似たような言語で、かつifとループ配列サブルーチン概念を把握していたら理解できるような書き方しかしてないコードでも、普段使ってない言語って時点で理解不能に陥るんだよな。

2019-10-09

シェル芸法律で禁じて欲しい

パイプでつないでawk使ってハッカー気分かもしれないけどお前の書いてるスクリプトクソクソクソオブクソだから

おとなしく

Python

subprocess

使え!!!!!!!!!!!!!!


追記

本物のハッカーである皆さんはどしどし使ってくれて大丈夫ですよ^^;

lispmemo シェル芸シェルスクリプトは異なる概念では?

そうですね、熱くなって言い過ぎました。

個人ターミナルに打ち込む一度きりのコマンドOKファイルに保存した瞬間に違法しましょう。

<追追記

いやあ思いのほかBuzzっちゃって^^;

awk代替がsubprocess?

awk適当に思いついたから入れただけでパイプ使ってるんだから他のコマンドも入ってますよ^^;

grepとかsedとかPythonで同様のことができる(実行時間現実的範囲で収まる)ならPython関数でお願いします。

読めないのか

読めませんよ。意図が。$1、$2とだけ書かれててそこにどういう値が入っているべきなのかコメントは書かれてませんし^^;

ハッカーの皆さんは当然コメントも書いてくださってますよね^^;

NOV1975 追記日本語が読めない増田だということがわかったし、業務を任せられない増田ということもわかった。君は一体何の増田なんだ

ソリティアやってますから置き物が必要になったら呼んでください^^;

2019-05-01

anond:20190501202424

httpdなんてのはシェルスクリプト数十行でも単純なものは作れる

君が思ってるほど大変なものじゃない

2019-03-05

anond:20190305111241

それLinuxコマンドって言うかvim(vi)のコマンドなんだけどそれすらあやふやになっているのか…

最近お仕事コードUbuntu上で書いてるけど、シェルスクリプト書いてるわけではないかcdとかlsみたいなの以外はどんどん忘れてく。なので必要になったら都度ググってる。

2019-02-18

anond:20190218105929

シェルが作れるwww そこから作るんだwww すごいねwww

「お、シェルスクリプト書けるの?いいねぇ」

だったら、後者の人と働きたいよねぇ。

2018-08-28

シェルスクリプトvimスクリプトも書きたくない

人間認知機能に適合しない謎の癖や制限があって覚えられる気がしない。

大体インタラクティブに使う言語プログラムに使う言語をごっちゃにするのは良くないのだ。

まともなプログラムはまともに設計にされた言語によってしか書かれ得ないものなのである

2018-01-20

シェルスクリプトをなぜX言語で置き換えないのか

X言語バージョンアップするごとにすべてのコードを書き換えなければならないから。

2017-10-12

京都市が今回失敗したような、自治体システム更新について

http://itpro.nikkeibp.co.jp/atcl/column/14/346926/101101158/

Q1.役所仕事なんて全国でほぼ一緒なのに、なんで自治体ごとに別のシステムを作るの?

A1.地方自治体事務財務について法律で決まっているのは大枠だけだよ。

  それを実務≒内部規定に落とし込むのは各役所ごとなので大枠は似てても実務プロセス全然役所で違うよ。例えば同じ業務でも独自の語彙があったり、下手すると同じ語で市町村ごとに意味が違ったりするよ。


Q2.なんで新規で作らないの?

A2.80年代ぐらいにやったよ。その結果が政令市クラスに残ってて今回京都市更新しようとしてるような、メインフレーム上のシステムだよ。


Q3.メインフレーム汎用機)って何?

A3.みんなが使ってるWindowsとかLinuxとかのOSがなかった時代コンピュータだよ。IBMとかがベンダーごとに作っていてOSベンダー謹製だよ。性能はいいけどメチャ高いよ。

システム内でクローズして専用線以外では他とつながってなかったから、汎用機からPCサーバへの移行を「オープン化」と言うよ。

オープンソースソフトウェアとは全然関係ないよ。


Q3.使いまわしってどうやってやるの?

A3.80年代かに作ったシステムで動いてるCOBOLとかPL/IとかをLinuxとかUnixとかWindows上で動く言語コンバートしてリコンパイルするよ。

DBデータ階層データモデルからリレーショナルDB用にコンバートして移行するよ。こういう開発形態を「マイグレーション」と呼ぶよ。

あと、バッチジョブ制御もJCLという汎用機用の言語で動いているよ。これもそのままでは動かないのでコンバートするよ。

コンバート先はperlだったり、シェルスクリプトだったり、ベンダごとの独自スクリプトだったりするよ。

COBOLとかの実行プログラム移行も大変だけど、帳票の大量印刷はたいていバッチジョブでこなしてるので、JCLの移行もめちゃ厄介で大抵もめるよ。

今回もめたのもバッチらしいね


Q4.80年代のものを使いまわすとか。新規で作ればいいじゃん

A4.お金無限にあればできるよ。今の時代お金があった時代システムフルスクラッチ再開発するととんでもない予算になって市役所内の決裁が通らないよ。

しか汎用機時代の納品は割といいかげんだったのか、仕様書が残ってなかったりするから費用さらにかさむよ。


Q5.そんなんでよく運用できてたな

A5.当時はSE汎用機付属品みたいについてって、困ったらオペレーターとして介入して動かしていたみたいだよ。

そうやって現場感覚バリバリでやっているので、オペレーターしか知らないプロセスがあったりするよ。

マイグレーション開発では総合テスト中にそういう隠しプロセスが「発見」されたりするよ。こわいね


Q6.役所が現行システム資料を出すべきだろうが!

A6.もっともだけど、できないから無理だよ。

上記の通り仕様書がないことも多いうえ、システム課に限らず市役所人員は基本ローテーションするよ。

導入当初の担当者が残っていることは珍しいし、30年も前に導入した汎用機ことなんてここ10年に入った職員にはわからないよ。



Q7.なんで入札にしたの? 現行ベンダ指名してやらせたほうが良くない?

A7.金額がでかいから、たぶんどこの市役所でも入札案件だよ。

随意契約(随契)は無理だし、入札業者発注者指定する指名競争入札談合の温床になってたか最近あんまりやらないよ。


裏技としてRFP指名したいベンダーに書かせて公募指名入札にしたり、RFPの段階でハードを全部特定ベンダで型番まで指定するというのがあるけど、公になると多分問題になるよ。こわいね



Q8.じゃあ役所は悪くないの?

Q8.悪いよ。

入札案件RFPで書かれた各項目をどれだけ満たすかの技術点と、価格点で決まるよ。点が高ければだいたい自動的にそのベンダーに決まるよ。

なので、技術点の項目に現行システム調査にかかる項目を入れるとかして、現行機の開発・保守ベンダ高得点を取れるようにしておけば価格勝負してくるベンダーをはじけた可能性はあるよ。

もちろん現行の会社に嫌われて逃げられたとか、役所が現行の会社めっちゃ嫌いになって声をかけなかったとかもあるかもしれないけれど、可能性は低いと思うよ。



Q9.じゃあベンダーは悪くないのか?

A9.ここまで述べたようにこの手のマイグレーション火薬庫だよ。火を噴いても爆発しなければラッキーぐらいなので、強いて言うなら入札したことが悪いよ。

安すぎる見積もりを出したSEだか営業だかは死んでね。



Q10.お前(増田)は何者?

A10.前にマイグレーションをやったことがあるSEだよ。もうやりたくないよ。今は転職してSIerじゃなくなったからやらなくてよくなったよ。うれしいね

  しょぼいSEからここに書いたことは個人体験に基づく参照情報だよ。一般的じゃないことを言ってたり、間違ってたら教えてもらえると助かるよ。





(2017.10.13 追記)

Q3がかぶっていたよ。恥ずかしくてなきそうだけどブコメに番号で言及してくれている人がいるから忍んでそのままにするよ。


あと、「オープン化」の定義が違くない?という指摘があったよ。確かに増田が間違っていたので、記事の主旨から外れるけど補記するよ。

メインフレームは本文で述べたようにOSからハードまでメーカー謹製なので独自仕様のカタマリだよ。

これに対しPCサーバ標準規格で作られているよ。こういう標準規格に基づくサーバオープン系と呼ぶよ。

独自規格クローズしたコンピュータから、そうでないオープン系に移行するからオープン化なのであって、専用線とかは関係なかったよ。半可通な知識で語ってしまったよ、ごめんね。

京都市で火中にいるシステムズさんのサイト解説がこの増田よりも分かりやすくて正確だから気になる人は見てほしいよ

http://www.migration.jp/column/column01.html

完全に余談だけどオープン系のx86サーバに移行しても、システムはそんなにオープンにならなかったりするよ。

H系に頼むとDBが拝承DBになったり、Fに頼むとシステム管理が全部SystemWalkerになったり、要するにベンダ独自のミドルに入ってがっつりロックインされたりするよ。

オープン化(オープンではない)みたいなことになって面白いよ(面白くない)

2017-09-18

anond:20070314103851

この記事を書いてから10年が経過した。

今の自分が何をやってきたのかと言われれば・・国立現代美術研究機関仕事をしている。

そこで何の仕事をしているのかと言われれば、ネット美術作品に関するWebサイト制作

システムサーバ管理作業ベンダー企業と打ち合わせを行いながら、世間情報を発信している仕事だ。

プログラムこそ書けないが、PremiumPro、AfterEffects、Photosho、IllustratorDreamweaverを使いな

がら画像加工や映像制作写真撮影、簡単コーディングJavascriptシェルスクリプトゴリゴリ書いて

仕事している。自分では何でも屋と呼んでいる。これがクリエイティブと言われればどうかはわからないが・・・


あれから10年を振り返ってみよう。

アーティストとかデザイナーが嫌いですと言っていた自分ではあるが、知らない人間がそう言う世界の事を

言うのも失礼だと考え、正社員をやめてデザイナーになるため、まずは安いWeb制作スクールに通ってみた。

短期間だがサイトの作り方とAdobeツールの使い方を教わった。


ところが自分にはWebコーディングデザイン考え方は理解できたが、デザインセンスや色彩感覚に欠けていた。

スクールへ通った後、派遣会社へ「Web制作がしたい」と登録したが、ポートフォリオを見せた途端にボロクソに言われ、不採用が続いた。

そんな中、あるWeb制作会社で「君、サーバ管理の方がいいかも」と言われてしまったがデザイナーになりたいとしと考えて断った。

その言葉きっかけに「デザイン能力がないなら」せめてサーバ管理でもと考えて、Linuxスクールに通った

(その間は派遣で時給は安いがWeb制作会社簡単コーディング作業画像修正作業印刷会社でのDTP業務をして凌いだ)。



Linux勉強はすればするほど面白くなり、そちらの知識にのめり込んだ。サーバを学とネットワークの仕組みも知りたくなる。

最後にはネット知識自作PCを組み上げてLinuxインストールしてWebサーバメールサーバを構築した。

ただ、自宅でWebサーバを構築すると言っても外部への公開はリスクが高すぎるので勉強機としてdebian系やredhati系OSなど

デュアルブートさせたり、HDDRAIDを組み上げたりして遊んだ。そのうちにレンタルサーバドメインを取得、CMS個人

ブログを立ち上げるも自分ポカミスからクラッキングあいサイバー犯罪課の取り調べを受ける経験もした。


Web制作デザイン仕事はなかったが、浅いネットワーク知識が幸いしてか、データセンター映像サーバを扱う仕事に就き、

NagiosやらCisco機器RAIDVMセキュリティ知識IPデジタル映像知識映像機器編集知識を得ることができた。

映像と言っても映画なのでDCPやKDP、3D映像知識会社で二週間研修させられた。仕事によっては夜中の仕事AKB48ライブ

の収録に立会ったり、キアヌ・リーブス舞台挨拶で生キアヌと打ち合わせしたりもしながらも、この日記を思い出しながら

「俺、デザイナークリエイターじゃないな」と考えていた。


それ以降は大企業の子会社でのWeb制作部門で勤務したり、IT資格もいくつか取得した。また途中で大学にも通い、好きだった

美術史写真史、表現を学び、論文をいくつも書いた。その途中で亡くなった親父がフィルムカメラをくれたので、フィルム

メラにハマり出し、父親形見の中判フィルム撮影フィルム現像プリント額装して、個展までするようになった。

好奇心からきたここまでの道は、もう40過ぎだった。



結果、あれから10年後の自分仕事・・・

給料こそ高くはないが上記の研究機関で「何でも屋」で仕事をしている。

元々現代アートが幼少期から父親が集めていたアート関連の書籍を読んで、ドナルド・ジャドやフランク・ステラなどのハード

エッジアートに興味があったこと、簡単システム保守サポートができること、フィルム現像写真撮影ができること、ライ

ティング(照明)ができることが幸いして、作品の保管からシステムベンダーとの打ち合わせまでを任される仕事採用され

ることになった。かなりの倍率だったようだが自分のように多く経験してきた方や知識現代アートへの興味がある人は少なか

ったのでというのが採用理由だったようだ。


「オリも混ぜてくれよう。

実際には作ったりしないけど見るのは好きだおう

アートには理解があるつもりだおう

なのになんでオリを混ぜてくれないんだおう

お高く止まっちゃってさ!フン!もうこねぇよ!バーヤバーヤ!!!


こうは書かれたものの、この気持ちもあって、それを理解するために色々と仕事制作仕事をしながら

勉強をしてきた(つもり)だけど、やってよかったと思う。


10年前の自分デザイナーアーティストクリエイターという選民思想を持って「普通会社員」を見下して

いるという、ルサンチマンに囚われていた。でも、仕事の業種に関わらずどんな仕事だって「創り出す」こと

必要なのであって、それはどんな職種であっても創意工夫は必要であり皆がクリエイターである

創り出すことが華やかに見えるのは一部だけであって、世の中にはもっと沢山のものが作り出されている。

たまーにWebデザイン写真作品制作することがあっても自分は「デザイナー」や「アーティスト

とは言わない、それを言ってしまうと自分創造可能性を広げられなくなりそうで怖いから。もちろん周囲に

デザイナーライターアーティストの知人・友人はぐんと増えたが今はそれらの人を僻むことも今はしない。

しかし、あの日記を匿名日記を書けたことは自分人生における仕事を大きく変えたと思うし、過去自分

そういう思いから出発しているから、どんな職業の人でも会う時には、まずは首を垂れて尊敬することか始めている。


それとこの言葉も気にしながら。

未来に先回りして点と点をつなげることはできない。君たちにできるのは過去を振り返ってつなげることだけなんだ。だから点と点がいつか何らかのかたちでつながると信じなければならない。自分根性運命人生カルマ、何でもいいから、とにかく信じるのです。歩む道のどこかで点と点がつながると信じれば、自信を持って思うままに生きることができます。たとえ人と違う道を歩んでも、信じることが全てを変えてくれるのです」

2017-08-09

10年後も戦えるプログラミング言語

Java

ScalaとかKotlinかいろいろ言ってる奴いるが10年後にはどうせJavaが勝ってる。

ラムダ式とか取り入れてJavaも着実に進化しているからね。

Javaはnull安全じゃない!とかほざく奴はもちろん@CheckForNullアノテーション使ってから言ってるよな…?

フレームワーク流行り廃りがあるから微妙だが、勉強するならSpringにしておけ。それだけでいい。

JavaScript

Webブラウザに標準搭載のJavaScriptが無くなることもまずありえない。

あとやるならjQueryね。AngularJSとかすぐ廃れるから

学習コストが高いものって結局広まらいからさ…素直に現実を認めよう。

シェルスクリプト

AnsibleやFabric使ってるやつがいるがどうせ10年後にはブームが去り技術負債となっている。

シェルスクリプト代用できるのだからシェルスクリプトでやっておけ。

SQL

これだけ広まったRDBが今後使われなくなることはまず考えられない。

ORMは流行り廃りがあるが、SQLが無くなることはまずありえないのだからSQLをやっておけ。

2017-07-01

https://anond.hatelabo.jp/20170701160650

使えるか使えないかじゃないくて、programfileにスペースを入れているのが許せない。

シェルスクリプトとかプログラム内でエラーが起こる

欲を言うなら、

C:\/

じゃなくて

/tmp

/bin

/usr

みたいにアクセスできるようにしたい

2017-05-01

http://anond.hatelabo.jp/20170501041533

この記事を読んで一つ思った対策方法

好きな本は著者・編集者感謝してちゃんと買う。

その上で、このサイトシェルスクリプトでひたすら

24時間適当に作った自分人工知能無能)に

教師なし学習と称して読み込ませる。

相手IPアドレス遮断されないよう、

NAT64等でIPv6ランダム化して、URLパターン内で

ランダムにして、読み込み間隔もsleepでランダム化して、

間隔もDDoSと認識できない程度に空ける。

で、相手cloudflareに支払うトラフィック量で

音を上げるまでコンテンツを読み込み続ける。

これを有志10000人くらいでやる。

言い訳的には、単なる業務妨害ではなく、自分作成した

人工知能学習させる実験と言い張れる予防線は張っておく。

でもやっぱり、それでもDDoSと同じ違法行為

威力業務妨害)になるの?そもそも日本法律が鯖設置元の

海外適用されるのかなぁ。

2017-03-09

Docker盲信してる皆様へ

そもそも便利なのかちゃんと考えてる?

「日々Dockerfileをメンテして開発環境がこんなに楽になります!」

Dockerなので本番とも開発者同士でも同じになります!」

馬鹿じゃねーのかw?

Dockerfileメンテなんて手順書メンテとかシェルスクリプトメンテしてんのと大して変わらねーよw

そのDockerfileから作ったものが本番と同一だなんて保証はねーって気づけボケ

本番と同じものを作りたかったら本番からコンテナ作れよ

なんでビルド始めちゃうの?無駄じゃん馬鹿じゃん

それと「同じDockerfileから作ったものから環境差異はありません」なんて寝言まだ言ってるの?

yumaptリポジトリセキュリティアップデートやらで変化する以上

いつも同じ結果になるわけじゃねーだろが、(バージョンロックする方法はあるけどめんどいだろ)

本番でもコンテナを使ってますってやつら以外無理してDocker使う必要ないんじゃねーか?

お前らが欲しいのは軽いVMであって細切れのコンテナじゃねーだろ?

initを潰して,supervisor入れてプロセス管理して・・・ってどう考えてもお前らが望む世界じゃないんじゃねーか?

流行りのコンテナぽくしたいならLXDやらsystemd-nspawnの方がよっぽど筋がいい

というわけでよく考えなおせ

みんながDocker言ってるから無理やり使うって運用やめろ

2017/04/22 追記

続き書いた

http://anond.hatelabo.jp/20170422000230

2017-03-08

Railsつらい

バージョンアップがツライ

毎度毎度、バージョンアップで非互換修正加えてコード修正必要になって、Gemも上がって依存が壊れて

いつまでやってんだよw

Railsプロジェクトでどれだけの人が最新版追従できてんだよ?テストを書いてれば余裕?

本当かよ?正直に言ってみろよ?実際はレガシーRailsの山だろw

概念・周辺ツールがツライ

ヘルパーやらマイグレーションの仕組みやら最初は良いかなと思ったけど、どう考えてもやり過ぎだ

短くかけるとか喜んでるやつは一度考え直せ

複雑さがRails側に寄ってるだけでなんも解決してない

それで良いんだって自分コントロールできない知らないコード依存して結局バージョンアップ地獄みてるだろw

最低限中で何が起きてるか理解しとけよwまあ理解できるころにはRailsでなくても良かったんやwってなるけどなw

RAILS_ENV=productionだとstaticファイル自分で返さないassetコンパイルで小さくしましょう

→ developmentで動いてたけど本番だと動きませんでしたw

どんな茶番だよw馬鹿か?

Gemがツライ

毎度毎度、アホみたいにGem入れやがって、もう自分で把握できる状態じゃねーだろ?

bundlerだから完璧にvendoring出来ますだって

本当かよnaitive extensionGemなんてどう考えたってRails管理外のヘッダファイル依存すんだろ

bundle installがこけるなんて日常茶飯事だろw

環境構築がツライ

ruby入れてGem入れてGem入れるためのヘッダ用意して

めんどくせーなbundlerもこけるし、rbenv使ってrubyバージョン揃えろとか

ホントめどくせーよ

deployもcapistrano便利とか言ってるけれど、そんなに便利じゃねーよw

あんDSL覚える時間あんならシェルスクリプト書けるようになっとけ

rackサーバがたくさんあってよかったねじゃねーよ集約しろ馬鹿

unicorn, puma比較しましたとかアホ記事書いてる暇あるなら集約するかなにかしとけ

信者がツライ

この手の話すると信者が使わない方法もある・選択しない方法もあるとか擁護してくるけど

そりゃあるけどそれ調べんのがめんどくせーって言ってんだよw

何でもかんでもレールに乗せてそれを強要してくるような感じがすんだよw

turbolinksなんて仕組みをデフォルトONにしてくるやつらの態度が嫌なんだよ

2016-12-11

http://anond.hatelabo.jp/20161210155344

何でCTOシェルスクリプト書かせてるの?おかしいのは会社でしょ。

そもそもrootで動かしたりしてるならむしろシスアド側の問題だし、バージョン管理してないなら開発側にも問題がある。

正しく管理されてる環境ならrm *がヘクったくらいじゃ何も困らない。食らったホストを作り直したりする手間はあるだろうが、重要ファイルが飛んだりするのはやり方が悪いだけ。

2016-12-05

例のフリーランスおじさんについて

フリーランスになって、嫌な思い出 - Qiita

http://qiita.com/mesaka/items/41ec09a4dae3fba6dd6c

Qiita登録しているGitHubアカウントを見ると、たしかGitGitHubが苦手なんだなあというのを感じる。

https://github.com/mesaka

それはまあともかく、プロフにあるURLを踏むと合同会社設立されていることがわかる。

ついでに言うとWantedlyにも企業ページを作っていて、そこのプロフ等にも不穏なことが書かれているのだけれど割愛

http://nunatoi.jp/

ここまで公開している立場で、あのコメント欄の態度は自分の首を絞めていないか?という疑問はさておき、GitHub名前検索したらTwitterアカウントが出てくる。

https://twitter.com/mesaka2009

いろんな人間に裏切られて鬱病になりました。もう人生に疲れていますPHPは大好き!早く正社員になってもいいです!! ※このツイートフィクションが含まれています検挙件数稼ぎの警察の方の自宅に来襲はご遠慮下さい。

bioの内容が不穏すぎるがさておき、このTwitterアカウント検索するとDMM面接で落ちて逆恨みしたり、コロプラ面接号泣していたことが既に増田ヲチされていたことが分かる。

すでに指摘されているが、妻子持ちでTwitterにはこの時期かなり不穏なこともつぶやいていたらしい。

結局何が言いたいかというと、特にない。

件のQiita記事に関しては「書いてあることが事実ならチャットワーク社が反省すべきことはあるけど、この人の数年レベル普段言動から見ても、書いてある内容をそのまま鵜呑みにして語ることはできない」と思った。

ちなみに去年のカレンダーにはこんなこと書いてたのに、どうしてしまったんだろうなあ。

特定企業個人実名を悪意で晒すのはやめましょう。

http://qiita.com/advent-calendar/2015/free-engineer

(追記)該当の記事を見たら、コメントフリーランスおじさんを焚き付けてるおじさんが新たに登場してた。調べたらこの人も特定人物ケンカ売りたいだけの記事Qiitaに書いてた。

品位が問われるAdvent Calendar -- シェルスクリプトはどこでも動く! - Qiita

http://qiita.com/richmikan@github/items/5f53a14a79874d56a2ff

POSIX原理主義者の品位 - Togetterまとめ

http://togetter.com/li/1056218

ちなみにこの人は松浦智之氏で最近WindowsMacUNIX すべてで20年動くプログラムはどう書くべきか』という本を書いている。著作者情報によれば1975年まれ40代。ついでに言うと、件のフリーランスおじさんはWantedlyに生の職務経歴書pdfを公開していて、そこから年齢が40歳であることがわかる。なんだ、プログラマーは40超えたらこんな風におかしくなってしまうのか。プログラマー35歳定年説は正しかったのかもしれない。

2016-07-18

Vimフィルタコマンドで使うUNIXコマンド

http://vim-jp.org/vimdoc-ja/change.html#filter

Vimにはフィルタコマンドといって、テキスト任意UNIXコマンドで処理するExコマンドが用意されている。

用意されていて、実際強力なんだけど、Vim組み込み機能で間に合うことも多くて、下記以外はあまり使っていない気がする。

以前はVim正規表現に慣れないからとPerlを使ってたりもしたけれど、Vim正規表現も悪くないかなとなって。こう。

何かおすすめUNIXコマンドがあったら教えてください。

bc

簡単計算をするときに使う。1行に計算式を書いて「:.!bc<CR>」あるいは「!!bc<CR>」とすると計算ができる。

(小数を扱いたいときは-lオプション指定する)

「<C-r>=」で代用できる。

sh

長めのコマンドを実行するときに使う。「:%!sh<CR>」とすると書いたシェルスクリプトを実行できる。

最近Bashの<C-x><C-e>で良い気がしてる。こちらだとヒストリで戻って<C-x><C-e>として再編集することもできるので。

column

簡単な整列をするのに使う。ビジュアルモード選択して「!column -t<CR>」とすると整列ができる。

(デフォルトのセパレータがスペース二つなので、一つにしたければ-oオプション指定して「!column -to' '<CR>」という風にする)

vim-easy-alignやvim-aligntaが入っているならそれでいいかも。

jq, xmllint, pup

それぞれJSONXMLHTMLを整形するのに使う。JSONは「:%!jq .<CR>」、XMLは「:%!xmllint --format -<CR>」、HTMLは「:%!pup<CR>」。

ただ「jq . <JSONファイル> | vim -」としていたりして、直接Vimの中で使ってない場合が多いかも。

awk

連番を振る時、重複行を削除する時、指定した列を抜き出す時、などなど、色々なことに使える。

それぞれ「:%!awk '{printf"\%-6d \%s\n",NR,$0}'<CR>」、「:%!awk '\!a[$0]++'<CR>」、「:%!awk '{print$2}'<CR>」といった風にする。

tee

保存するために管理者権限必要場合sudoと一緒に使う。「:%!sudo tee %<CR>」とすると保存できる。

編集中のテキストを何処かに残すため……と思ったけど:wで事足りる。

2016-05-29

富士通退職した話」に言及とついでに自分の話でも。

自分も前に富士通に居て既に退職してます。後で詳しく書くけど、ソフトウェア開発職に居たです。

富士通を退職した話

彼のへの感想

富士通はクソでっかい会社なんだし、サイト見ればメインフレームやってるのだって判るんだから、開発職を希望したらメインフレーム関連の開発やる可能性あるのは当然予見出来るだろうし、それを想像してなかったのなら情弱とかブコメで言われてしまうよね。あと何も記述が無いか想像だけど、「それほど有能ではない」と判断された可能性もある。と言っても学生が思う「開発者として有能かどうか」ってのと会社でのそれってのは別物で、要するに学生自身自分が実績もあって優秀だと思っても、会社的にはそうでないのよね。そうなると(後述の富士通入社して10年が経った人の話にもあるのだけど)新人能力客観的判断材料って大学資格応用情報レベル以上)程度なのよね。資格に関しても基本情報なんてMARCHクラス以上の人間なら受けたら取れて当然だから、「有能かどうか」の判断材料にならない。就活の際に本気でIT業界に入りたいかどうかの判断材料にはなる程度。自分の同世代富士通本体に入ってソフトウェア開発関連に配属された人のプロフィールを見たけど、確か偏差値的には少なくとも神戸大学とか千葉大学あたりの修士しか居なかった覚えがある。あと確か2~3人がソフ開持ってた気がする。だから、この増田がどの程度だったのかなと。

ただ、20人月案件が具体的に何かは判らないのだけど、自分の在籍していた当時でも炎上巨大案件というのはあって、(自分が知ってるのは確かデジタルテレビがどうのこうのとか言ってた)、そういうのに入社して間もなく入ってしまうと自身勉強等が出来なかったり潰されたり最悪死んだりするんで、そういう意味でも逃げるのは正解の一つ。(自分炎上案件に放り込まれ新人が寮で死んでたとか話を聞いたことある

上司対応はまあこれだけ見ればクソだわな。

富士通を退職して思うこと

はあ、としか。この人がこう判断した際の判断材料にするであろう自己体験を具体的に書いてないので、意識高い系がフカしてるようにしか見えない。あと、たった3年しか居なくてあの巨大企業経営とか体制とか理解出来るんかね?と思わないでもない。自分とは部署が違うだろうから当然かもしれないけど、自分体験とは違うなーって感じ。自分は、外から見たら馬鹿みたいな事やってるように見えるかもしれないけど、経緯や目的巨大企業特有問題があってそうなってるんだなって思う事が多々あった。

富士通に入社して10年が経った - blog

近い時期に入社したと思われる。具体的な話が自分経験と一致してる。特に富士通ソフトウェア開発と言えばミドルウェアの開発が主だというのは、富士通内部じゃないとなかなか(特に学生なんかじゃ)判らないかなと。

それでこれらの話を見てどんな人が富士通(というか大企業)に向くのかなと考えたんだけど、「やりたいこと」そこまで明確じゃないけどコンピュータは嫌いじゃないって感じで、地頭がまあまあ良くて勉強に関しても要領よくやれる(要するにそこそこの大学に行って卒業した人)、それでそこそこ安定した職・収入目当てな人かなと。ってコレ書いててふわふわしてる人みたいであまり良い印象の人物像じゃないな。マッチングミスはどうしても起きると思うし、学生の頃に思う「やりたい事」って往々にして変わったり間違いだったりするし、そもそも学生の頃に明確な「やりたい事」がある人の方が少数派でしょ。だからこういうそこそこ優秀だけどふわふわしてる人の方が良いんじゃないかなとか。逆に、ちゃんと「やりたい事」が明確にあるけどまあ安定はしたいって人はどうしたらいいのかって言うと、自分みたく大企業の子会社を狙うと良いんじゃないかなと。子会社ならその会社がやってる事が理解やすいし、入った後の配属の希望も大きく違ったものにはなりにくいし。まあ子会社子会社で色々アルかもしれないけど。

で、自分入社から退社までの話。

入社10年ぐらい前。入ったのは富士通の子会社で主にミドルウェアの開発をやっている所でした。入社して1~2年したら子会社の統廃合とのことで富士通本体連携してる部署自分がそうだった)は富士通本体になりますとのことで富士通本体の方に移ったという経緯ですね。別に待遇とか元々本体と同じだったから変わらず、事務関連が小回りきかなくなったぐらい。入社してから退職までは5年ぐらいでした。辞めた理由実家事業を継ぐ事にしたため。

入社して数ヶ月の時にある温泉地にある某所でその手の開発をやってる子会社沢山と

富士通本体ソフト開発配属の人達研修をやったのだけど、その際に富士通本体人達と知り合った。(この際に全員のプロフィール冊子が配られた)そのときは流石子会社に入る人達本体とじゃレベルが違うな~と思いましたね。(ちなみに自分MARCHより下の院卒。)

自分が配属されたのは某製品部署API部分チーム。その製品C言語Java言語からも使えるように出入り口を用意する部分。中でやってる事は指定されたIPポートプロトコルに沿ってデータ投げるだけなんだけどね。ちなみに配属希望の際は「そこそこの忙しさの所がイイ」と言っていました。「バリバリに働きたい」と言ってた同期は多忙ヤバい所に配属されてました。他にもチームがいくつかあったけど、それらのうちの一つは例の「山奥の工場」でしたね。自分が配属された当時はC言語APIリニューアルするって開発してたのだけど、設計担当Javaしかやったことない人で色々とC言語流儀に反してて後々のメンテが大変でした。まあそれでもリニューアル前よりは遙かに良くて、以前はユーザに見せてる関数名が ○○search1 ○○search2 ○○search3 とかでしたね(ちなみに機能はそれサーチか?思うのもあった)。もっと酷かったのが初期製品Javaの公開メソッドで、マニュアルには「このメソッド引数○○を□□を指定した場合戻り値Objectを△△にキャストしてください。××を指定場合は…」という「これ製品にして売ってたんだ…」と思うレベル。もちろんコレがダメだったってのは開発側も認識していて当時は既にリニューアル済みだったけど。リニューアル済みでも少し微妙だったけどね。

これは、ミドルウェアの開発をやってる人達って基本的C言語が主でJavaとかをやってる人がほぼ居なかったからだと思う。上司もそういうのは良くないってのは認識してた。対象OSWindowsLinuxSolarisだったけど、そんなにたいした事やってなかったからほぼ同じコードだったような。ソケットの一部だけ違ってたっけかな。

それでそのバージョンの開発が終わったあたりで、.NET Frameworkが出始めてきたので次バージョンでは.NET FrameworkAPIを作る事になりまして、自分が少し勉強していたのでそれの設計から担当する事に。当時は.NET Framework 1.1で今思えば少し時期が早かったと思う。2.0Genericが出てからやった方が良かったと思うんだけど、そういうの政治的判断だし結果論だしなー。それまでにRubyとかオブジェクト指向言語に触れてその辺の勉強もしていたので、.NET用のAPIに関しては設計実装結構良い感じに出来たと思う。ああ、そういえばRuby用のAPI効率化の開発ツールとかの名目仕事中に勝手に作ってたなあ。他にもC言語APIも内部実装がクソすぎ!とキレてユーザ公開関数インターフェースだけ同じで中身をフルスクラッチした事も。もちろん絶対LDしてるんで完全に趣味なんだけどな。これでAPIC言語Java.NETになった訳だけど、現場案件で使われたのってほぼ全てJavaだったと思う。(開発中のサーバテストアプリC言語だけど)。要するに自分が数年関わったコードが世の中ではほぼ使われてない訳でして、取りそろえとして必要だったとはいえ世の中の役に立ってないってのは嬉しくは無かったですね。まあ、大企業仕事なんてそういうもんです。.NETに関してはそのバージョンが出る頃はその製品があまり売れてなかったんだか使われたって話は聞かなかったですね。ほほほ。大企業に勤めるのならこういう覚悟必要かもね。

で、.NETAPIが出来たあたりに開発ネタがなくなって保守気味になってきたので、人員整理作業整理との事でインストーラと切りたいけど一度やったからには切れない補助製品担当が増える事に。インストーラWindowsがInstallShieldというクソみたいな言語上で作られたものLinuxSolarisシェルスクリプトのもので、InsallShieldの方のコードはあまりにクソなのでリファクタリングさせてもらった。この辺の開発は少なかったのだけど新OS対応(Vistaとか)とか保守作業が大変だった覚えある。

んで、これらの作業が終わったあたりでこの製品でやることが無くなってきたのと同時に、この製品派生製品の話が出てきてて、それは1機能1exeで提供されてて、それらを纏めるバッチ処理機能部分を担当することに。バッチ処理の内容・順番を記述するのにXMLを使う事になったのでXMLのパーサが必要なのだけど、色々調べたら富士通内部でパーサ作ってたのでそれをもらって使う事に。そのパーサはC++からじゃないと使えなかったのだけど、趣味C++勉強してたので何とかなった。あと、結構OSの知識(プロセスとか)が必要WindowsLinuxSolarisで動くコードを書く必要があってまあまあ大変でした(と言ってもifdefで切り分けるだけなんだけど)。けど、これらの開発は自分が一から設計してコードを書いていたので楽しかったですね。それでこれが完成するかしないかあたりで、このバッチ処理機能が他の開発中の製品バッチ処理に使えないかとか話が出てきたあたりで自分退職する事に。(退職の話は1年ぐらい前に話し合って決定済み)引き継ぎをして退職ということになりました。最後は溜まった有給を使う予定でまだ在籍中だけど部屋を引き払って実家に帰ってたのだけど、打ち合わせに来て欲しいって言われてしま実家から何日か通ったのは良い想い出。というかまさか実家から朝8時に間に合うとは思って無かった。

振り返ってみて残業時間は月40~60時間が多かったかな。100時間超えた時は上司に怒られた。あと退職前の1年ぐらいはうちの事業本部(だったかな?)単位残業禁止になってホント残業0時間になった時期があった。他の部署の人の話で、どう考えても狂ってる上司の話とかを聞いてると上司とかの運は良かったと思う。あと、やっぱり仕事でみっちりプログラミングが出来たのは運が良かったと思う。富士通ソフト開発で C C++ C# Java シェルスクリプト InstallShieldとか(そんなに深くはないけど)色々やれた人間はそうそう居ないんじゃないかな。同期とかの仕事は年上の人の派遣の人に指示出したり取り仕切ったりする仕事とか、保守サポートみたいな開発じゃない仕事の話も良く聞いていたので、ソフト開発のキモ体験出来たのは良かったです(こなみ)。

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