はてなキーワード: Csvとは
NTT退職エントリーが盛り上がっておりますが、クソであること以外に特徴のない企業からより正常な環境へ移っているエンジニアも多数いらっしゃると存じます。
バブルも就職氷河期も知らない世代ですが、今がかなり被雇用者にとって売り手市場になっていることは馬鹿な私でも感じます。
私もそんな世の動きに乗っかった一人です。
元がNTTのような目立つ名前のところではないので記事としてもインパクトのあるものではございませんが、クソから脱出して半年以上過ぎてなお前職への恨みが消えないので一旦全部吐き出してスッキリしたい所存です。ただ排泄します。
転職活動は非常に短く、#hiyokonitsudukeの流行に乗って、直接現在の職場の方と連絡を取り、10日ほどでかなりスピーディに転職が決まりました。
年収、勤務時間、業務内容、チームメンバーの人格すべてにおいて上回っており、即決でした。
入社し直後に合宿という名の下、三大キャリアの電波の届かないところに連れて行かれ、開発合宿デモするのかと思えば「君たちの本気を試す」という名目の元、スリッパの並べ方にいちゃもんをつけて怒鳴る、社訓を大声で叫ばせて気に入らないやつを「心がこもっていない」怒鳴りつける、8時間ぶっ通しで歩かせて「こいつが足を引っ張った」と怒鳴りつけるという完璧な研修を受けさせていただきました。夜中の3時、4時まで「お前らはいかにダメか」の説教を受けます。
二十人以上を三日間拘束しているので、相当なお金をその研修会社に払っていると思います。質の高い教育のためにはコストを惜しまない、素晴らしい会社でした。
前職は非常にセキュリティ意識と品質意識の高い企業でしたので、どれだけ生産性を落とそうとも、社員の健康を損なおうとも、関係ありません。
ここで言う「品質」とは、安定したシステムのことではなく、「何ステップの開発には何個のバグが入るはず」「見積もりどおりの規模になる」「残業100h/月すれば納期を守れる」という意味で、保守性や可読性のことではありません。
ここで言う「セキュリティ」とは、「不便にすればセキュリティは高まる」という信念のことで、「機密性」「完全性」「可用性」とは別の概念です。
「契約で何ステップの開発することになっているから」「契約で何ページの文書をつくることになっているから」ということで、仕様どおりに動く成果物ができあがりテストカバレージ100%にもかかわらず、できるだけ無駄にコードを重複させるように命じられます。
CSVファイルをちゃんとfor文で心を込めて一行ずつ読み込み、SQLiteを使えば3行で終わる集計処理をJavaの基本ライブラリだけで実装します。セキュリティを高めるために外部ライブラリ・ツールの仕様が一切禁じられているからです。
また、これもセキュリティ施策の一環として、構内からのインターネット接続が禁止されているため、ドキュメントを見たいときは社用携帯の狭い画面で調べます。
あまりに常軌を逸しているため、クラウドの勉強をして多少はまともな環境の部署へ異動を願い出ました。もちろん、その数ヶ月前に現状の何が不満で何をどう改善してほしいか具体的に伝え、改善されなければ出ていく意図をはっきり示しましたが改善されなかったからです。
するとなんということでしょう。「勝手に異動願出すとはなんだ!」と怒鳴り声で電話がかかってきます。なんと部下思いの部長でしょうか。
やっとインターネットでドキュメントやソースを参照できるチームにアサインされたと思ったら、典型的ダメSES企業には典型的ダメ情シスがセットでついてきます。彼らは保身と「自分だけ」定時退社するためには何でもする、働き方改革の最前線にいます。
社内ネットワークをダウンさせ、全社の業務を数時間ストップさせ、社外へ出るプロキシの申請の設定を自分たちの不手際で吹き飛ばしても「社外へ接続する場合は課長部長本部長の判子付きの申請書を再提出してください。」と、しっかりルールを守る姿勢を貫きます。
セキュリティをさらに高めるために、社内からのGitHub接続を禁止するという偉業を達成しました。社用携帯で調査をするあの日々に戻りました。
チャットツールやバージョン管理ツールを導入したくてもセキュリティを守るためにNoが帰ってきます。
なんとかOSSで自前でホストさせてくれと懇願して払い出されるのはシングルコア、メモリ500MBの超ハイスペックVMです。最先端をいく素晴らしい会社でした。
「愛社精神、コミュニケーションが足りない!」という理由で「せや!BBQしよう!遠足いこう!」となるところまでテンプレです。
もちろんイベント幹事は若手の仕事。なんら機密情報を含まないイベントの出欠管理も、エクセルをzip暗号化して拡張子を変えてEメールでパスワード別送する必要があります。徹底したセキュリティ意識の高さが素晴らしいですね。
年に一度、ホテルのホールを借りて懇話会を行いますが、これはなんと休日に開催されます。さらに、原則出席必須で欠席する場合は理由を申し出なくてはなりません。
強制力を発揮しているので実質休日出勤命令ですが、イベントに呼んでいただいたことに感謝しなければならないのでもちろん手当などありません。
きめ細かなコミュニケーションのため、大きなイベントでなく小さな交流会も時々開催されます。ただし呼びかけるのは部長職以上、呼ばれるのは未婚の若い女性社員のみです。
もちろん断ったり楽しそうな素振りを見せなかったりすると後でネチネチ言われるので、実質社員を動員しながら経費でキャバクラですね。
最後の最後まで搾り取ろうとする姿勢も見事なものです。退職二週間ほど前に有給消化に入ったのですが、「もう退職予定だからこの案件は参加できない。クラウドわかる人間が必要なら案件を諦めるか他を育ててください」と明確に伝えたにもかかわらず、勝手に受注して「やってくれなきゃ困る」となぜか私のせいにしてきました。挙句の果てに私の個人携帯の連絡先を同期から聞き出して、警戒させないために自分ではなく私の同期から電話させて、電話に出たらなんとか作業をさせようとあれこれ駄々をこね始めました。有給消化中で旅行に行っていることも伝えているのに、素晴らしい仕事への意識の高さです。
今後一切関わることはないと思いますが、生まれて初めて他人に心から不幸になってほしいと思いました。
また、"エンジニアしぐさ"のひとつなのか「良い悪いじゃない」「転職は手段であって目的でない」「ケースバイケース」などといってひたすら物事を相対化することがカッコイイと思っている人が界隈にはたくさんいらっしゃいますが、仔細に見れば傷の舐め合いや現実逃避がほとんどでしょう。
私はSESのすべてを知っているわけではないので、もしSESという業態が好きでたまらない、幸せでたまらないという方(もちろん搾取する側以外で)がいらっしゃったら、ぜひとも他人に噛み付くのではなくご自分でそのお気持ちをどこかにアウトプットしていただきたいです。
https://www.asahi.com/articles/ASL5D4T75L5DUTFK004.html
ブコメ見ると意外と分かってない人が多いんだなーという印象。
> 行政機関と民間の金融機関など複数がネットワークでつながっているシステムが対象で
というのがキモで、つまりはデータ連携で年を和暦でやってるってことなんだろうね。
しかもいまだに元号なし2桁だったりしてるのもあるのかもしんない。
Date型云々言ってる人いるけどたいていのデータ連携っていまだにCSVとか固定区切りとかだからね?
hoge,20180513,hage みたいなのはまだましで
この手のインターフェースって関係先多すぎて一斉に変えますよーっても間に合わなかったりして、即「動かないコンピューター」行きになっちゃう。
もちろん、なんで西暦で設計しなかったの?アホなの?という指摘は全くその通りなんだけど、
こういうの案外、国のおエラいさんが口出してるから「国のシステムで西暦を使うなどまかりならん」「御意」みたいな感じで決まっちゃったんだろうね。
--
ついでに言うと帳票でなぜか「平成」だけラベルになってるやつとかもあるし。
うちはそんな帳票ねーし、とか言ってるやつ、プロポーショナルフォントになっていないか注意しろよ。平成が表示出来てるからといって次の元号が同じ幅とは限らないからな。文字切れしても知らんからw
某自治体内のシステムで、せっかくセキュリティを真面目に考えて作った仕組みを作ったのに、個人情報含む情報をすべてCSVにExportしてくれ、なんて。。。
個人情報流出の危険があるから、システムでの閲覧のみにしてくれ、って言ったらコレですよ。
なにに使うのか、と目的を聞いたら、何かに使うかもしれないから出しておきたいんだってさ。
セキュリティは目的とのトレードオフ、目的がはっきりしないならやるなよ。
いくら言っても折れず。
今どき外からのアクセスよりも内部犯のリスクの方が圧倒的多数なんだから、共有フォルダ管理なんて絶対にやめてくれよ。
これはLAN内で使っているだけの、しょっぱいエントリクラスのサーバ1台障害の話だ、価値のある話ではない。
とある国内最大級の某グループウェア Office(パッケージ版)を使っている。
この某グループウェアは、従業員の「その日のタイムカードの一覧」を見ることができない。
CSVでエクスポートすれば可能だが、営業マンは勤怠をガラケーのメールで報告する運用であるため、
スマホ支給しろ 一覧+タイムカード修正画面へのURLリンク付きで
総務課の人にスクレイピングしてあげていた。
↓大雑把にこんな感じ
#!/usr/bin/env perl use MY::Cybozu; my $cb = MY::Cybozu->new; $result = $cb->get_timecard( sprintf("%d.%.d%", $year, $month, $day) ); &send_mail( $result );
数年来やってきていたのだが、突然このスクレイピングでデータが取れなくなった。
僅かにPerlを書けるだけで、他の言語は将棋を指すようにしか書けない低能である、
ちょうど20日の月替りのタイミングだったので、スクリプトのミスでズレたのか?
或いは、タイムカードのHTMLはtable構造で「trの何番目が何日目」という原始的な処理の方でズレたか?
ほぼほぼデータを取れないのだが、たまに正常に取れたりもする。なんだこりゃ。
$mech->statusの結果はいつも200である。
print $mech->contentの結果は、HTMLが途中で途切れていた。
スクレイプ対象の前で途切れたので、値を取得できなくなっていたのだ。
同じ場所で途切れる事が多いが、若干の増減はあった。
手元のWindowsマシンに移植したところ、まったく問題ない。
どうやらスクリプトを動かしているLinux側の問題と思われる。
どういう現象なのか?
3WAYハンドシェイクはよく知られた話だが、正常な通信では、サーバから送られてきたパケットに対して
こちらは「ここまでのパケット受け取った」とACKを返し、最終的にサーバからのFINでこちらがRST返すのが見て取れた。
この異常をきたしたスクリプトでは、ある程度を過ぎると、こちらがACKを返す前にサーバからどんどんパケットが送られ、
なるほど、ステータスは200だけど、コンテンツは途切れているのだな。
でもスクリプトじゃなくて、ネットワーク制御しているOSが悪いっぽい?
となると深刻である。自動車に乗れても内燃機関の構造など把握していないのだ。
唯一、tcp_abort_on_overflowでそれっぽい挙動をしそうだと分かったが、この機能は使われていない。
詰まった。
お手上げだ。
でも分かった。
端末からNASのディレクトリへ、TAB補完しようとすると突如フリーズしたのだ。
某グループウェアへのスクレイピングとNASへのTAB補完だけが動かない。
故障だ。
1.3万円で買って7年目の某ProLiantサーバだから、寿命なのだろう。
オチはないけど、最初から故障を強く疑っても良かったではないのか、と自省する。
そのマシンでのみ失敗し、しかも失敗したりしなかったり(比にして7:3程度)、結果も毎回変わっていたのだから。
うーん無能。