はてなキーワード: ディレクトリとは
セキュリティや情報流出を防ぐためにソフトやサービスの利用が制限されています。インターネットへの接続は外注ソフトでいつの間にか防がれていて、ログも取られているようです。情報システム部の人たちがニヤニヤしながら誰がどこにつなごうとしてブロックされてたと話していました。
ソフトもインストールできません。管理者権限は情報システム部の人たちが持っているので、ポータブル版のソフトを入れたとしてもバレます。
私はいわゆる社内SEという立場で社内用のWebサイトを作っているのですが、エディタがインストール出来ないのでWordで作っています。メモ帳ですとLFが認識できずに一行になってしまうので。PHPのコードもWordで書きます。PHPの実行環境(コンソール)は使えません。なので、社内サイトの本番ディレクトリ配下にPHPのコードを直接おいて、それをブラウザで読み込みリロードしながら作っていきます。
社内に外注で設置したWindowsサーバがありますが、リモート接続やログインの権限はありません。
ソフトのインストールやクラウドサービスの利用などの提案をしても、「何か言い出すとみんな言い出して、全部調べて答えなければいけない(だから認められない)」と言われて、使える可能性は低いです。その割には社外へのウェブサイト制作やサーバはやはり外注しており、「それじゃあその外注はセキュリティ的にどうなのですか」と聞いたところ、「契約があるから問題ない」との答えでした。
そんな弊社では以下のようにSVNを使いこなしている
Excelでドキュメント作成することがメイン業務といっても差し支えないがない。
それらのドキュメントをSVNで管理するのだが(今流行りのバージョン管理だ)
その際に hogehoge設計書_20170313.xlsx のように日付をファイル名に含めることになっている。
こうすることで以前のファイルを別ウインドウで開きながら作業できるし、
ディレクトリを見たときにひと目で最新のファイルがどれかわかるからだ。
ちなみにドキュメントには必ず 「更新履歴」 というシートが作成され
全ての変更の履歴はこのシートに集約される。
入社したばっかでまだ何もわかっていなかった頃先輩に
「ファイル名に日付をつけて管理していますがそれってSVN使う意味あるんでしょうか?」
と尋ねたことがある。
答えはその日一日不機嫌な先輩の表情で察した。
あの頃に比べて僕も成長した。
今では何も考えずに hogehoge設計書_20170313_2.xlsx をコミットできる。
2. SVNが本当に最新か常に疑う
SVNで作業していると他の作業者と編集しているファイル名が被ってしまうことがある。
そのため作業時にはチャットで 「今から◯◯のファイルを触りますが大丈夫でしょうか?」 と聞くことになっている。
作業終了時には 「◯◯を触ってコミットいたしました!」 と報告することになっている。
先輩方は忙しいため上記の確認/報告をしないことが多々ある。
たしかに実際最新じゃないことがよくあるのでなるほどと思った
今では作業前にコミットログを見てコミットされていないことを確認してから
「このファイル触っていましたよね?コミット済みでしょうか?」 と確認するようにしている
コミットしていないと決めつけるのは失礼なので、
飽くまでふんわりとコミットしたかどうかを確認するのがコツだ(これも成長した結果だ)
場合によっては
「僕がコミットしておきましょうか?」
と付け加える。
こうすることで最新版のファイルがメールで送られてるくるシステムだ。
ちなみに僕の肩書は
だ。
ざまあみろと思う。
「便利なツールによって人は馬鹿になった」とは、上司の口癖のひとつである。
だが厳密にいうとこれは間違いだ。
便利なツールは人間を均しているのだ。つまり馬鹿になっているのは、あたまのいい連中だけだ。ははは。ざまーみろ。
テラタームの普及により、新人からはtelnetの概念が掴めなくなった。
環境変数が存在するから、javaのバージョンも変更できねえ。
みんなそうなんだ。ははははは。ざあまあみろ。ははははは。
かつて、コマンドとかカレントディレクトリとか、エンジニア界の絶対的な概念が理解できず躓いて、頭が悪いと認識されたやつ
そんなやつが、それを明らかにせず、あたまのいいやつと同等のパフォーマンスを上げられる時代になったんだ。
そうして自分が馬鹿であることに自覚がないやつは、ある程度の時期で気づく。浅い。考える力がない。
そして、できないやつとレッテルはっていた、自分がバカにしてきた、
作業の遅いやつが、一番だいじな「思考力」をもってるのだと気づく。
便利な道具うんぬんじゃなくて、
それは経過にちょっと影響を与えるだけで、
この記事は「フリーランス残酷物語 Advent Calendar 2016」15日目のポエムです。えっ、まだ12月15日じゃない?あぁ、そんな事もあるかもしれないですねぇー。でも気のせいじゃないですかたぶん。
まず前置きですが、mesaka さんの書いた記事が萌えましたねぇ。じゃなくて燃えましたねぇ。まぁ、会社にバカにされたっていいじゃないですか。社員プログラマーにバカにされたってしったこっちゃありませんよ。Qiita ユーザーにもバカにされ、はてブに晒され、社会からゴミ扱いされたかどうか分かりませんが、フリーランサーはそれでも生きている限り契約を繰り返し日々前進していかねばならないのです。愚痴ることで生きていけるのなら問題ないのです!というわけで、mesaka さんには最終日の日記でも燃料を投下してほしいと思うわけです。よろしくお願い致しますm(_ _)m
前置き終わり。さてさて、僕がフリーランスだった2004年頃に体験した、奇妙で残酷な作業依頼のことを書きたいと思います。
フリーランスになる前はゲーム会社で社員プログラマーをしていました。コンシューマやアーケードゲームを何本か開発したのですが、ゲームの発売が近づくと月400時間以上の長時間労働を行います。そんなことを何回もやっていると人間は壊れます。裁量労働制の裁量ってどんな意味だろう、、、と考えながら3年働き、もうダメだなと思った時に同期の10人は誰も残っておらず、一番最後の退職者となりました。その後1年は携帯ゲーム会社でゆるふわな開発を行い、元気がでてきたところでフリーランスとして働き始めました。
初めての契約は 3DRPG を開発している会社と結びました。準委任契約なので会社に出向し決まった時間働き、毎月決まったお金をいただく形です。業務内容はプログラミングとそれに関連する作業となります。関連する作業は曖昧ですが、まぁ雑用含めてお仕事するうえでの作業全てなので、社員プログラマーと働き方はそんなに変わってない思います。
一般的なプログラム作業であれば、例えば MMORPG の開発ではマップ表示を担当しましたが、これはマップ担当の3Dデザイナーさんとデータの仕様などを決めていって、あとはプログラミングするだけのお仕事です。この開発ではプログラム全体の設計とプログラマーのまとめ役もやっていたので、メンバーへの指示出しやタスク管理もプログラミングに関連したお仕事です。
少し変わった作業だと PS2 で発売した 3DRPG のコードを渡され、「VisualStudio で動くようにして。大丈夫、描画エンジンだけ DirectX で動くものを別で用意したから」という依頼だったりします。幸いにして同じような依頼を前職の社員のときに受けていました。その時は PS 用に発売した 3D 格闘ゲームのプログラムを渡され「ナムコのSystem12基板で動かせるようにしてよ。大丈夫、PSと System12 の違いは CPU のクロックが違うだけだから」というものでした。どちらの依頼もプログラムと向き合うだけの作業なのでとても単純なです。CodeWarrior で書かれたコードを VisualStudio でコンパイルすると2万くらいコンパイルエラーを吐き出すのですが、それをもくもくと修正するだけです。
新人プログラマーの教育係もプログラミングに関連したお仕事です。ペアプロで一緒にゲームを開発していくのはとても楽しかった!あと成長していく新人かわいいぺろぺろ。
当時その会社ではまだバージョン管理ソフトを使っていませんでした。社員毎に Samba のディレクトリがあり、そこにプログラムファイルを配置して共有を行っていました。さすがにこれは不味いと思いバージョン管理ソフトの提案も行いました。前職では CVS と Microsoft Visual SourceSafe を使用していましたが、CVS には悪夢(マスターアップ1週間前にデータが壊れる)しか思い出がない事と、Visual SourceSafe は無料ではなかったため、当時流行りだしていた Subversion を検証したレポートを作成し、それをもってシステム管理部門を説得するということもプログラミングに関連したお仕事でした。システム管理部門は企業のガーディアンですので、そうそう実績のないソフトウェアを会社内の PC にインストールさせるわけにはいきません。2004年頃の Subversion は Ruby など新しい技術を使う Web 業界ではそれなりに認知度があったかもしれませんが、C++ も使わず C のみで開発を行っているゲーム業界での認知度はとても低いものでした。時間をかけじっくりとシステム管理部門を説得していく必要がありますが、これはプログラミングに関連したとてもとても大切なお仕事です。
なお、会社から社員にならないかとの提案を頂いたのですが、当時はフリーランスという契約のみで結ばれた、ときには人情のかけらもない綱渡り状態にスリルと興奮を感じていたため断りました。24歳という若さのためか、それとも前職で壊れた頭がまだ治っていなかったのかはわかりません。
そのようなプログラミングとプログラミングに関連する作業を行っていたところ、プログラマー全体を統括するマネージャーから奇妙な作業依頼を受けました。それはとある社員プログラマーのスキルチェックをして欲しいというものです。
新人教育でもなく、サポートしながら一緒にゲームのプログラミングを行っていくのではなく、スキルチェックです。スキルを見るならペアプロでもしてゲームの実装を行っていくのが良いと思ったのですが、製品にそのプログラムを入れたくという事で却下されました。また、スキルチェックに僕の時間をあまり使ってほしくないそうです。まぁそりゃそうだよねゲーム開発に時間使わないと。そこで、既存の開発とはまったく関係ないプログラムの課題を出して実装してもらいました。
しかし、まず課題を説明するところから問題が出ます。こちらの説明を全部紙にメモっているのですが、話が先に進むとメモれないとのことでメモり待ちが発生しました。口頭で2分くらいで伝わる仕様が10分くらいかかります。全部話しを聞いてから後でメモるのではダメなのかなと思ったのですが、どうもこのやり方でしか話が聞けないようです。
翌日に進捗を確認したかったのですが帰ってしまっていたので、次の日の朝に進捗を確認するとまだ実装中とのことでした。分からないところがあれば聞いて欲しいと伝え、作業を続けてもらいます。毎日こちらから進捗を確認するのですが、もう少しでできるという返事を貰う以外に特にアクションを起こしてきません。そんな状態で1週間が経ちました。ちなみに課題は1日くらいで実装できるものと想定していました。そして、この状況をマネージャーに説明し、チームメンバーに入れれるかという質問には難しいと答え、作業は終了となりました。
フリーランスの解雇は簡単です。しかし、社員の解雇というのはとても難しいものです。金の横領など分かりやすい行動をとった場合は別ですが、プログラミングスキルが低い事で一方的に解雇しようものなら逆に訴えれて終わりです。僕の今まで関わった会社さんでも、解雇した社員が訴えを起こさない代わりに和解金を要求し成立したケースもありました。スキル不足の社員を解雇するなら、社員にその事を納得してもらい円満に退職してもらうのが良いと思います。納得してもらうには情報が必要です。「○○を依頼しましたが、あなたは達成できませんでした」という情報をいくつも集めて納得してもらいます。退職していかれた社員プログラマーがフリーランスの僕のところに来る前、2人の社員プログラマーのもとでスキルチェックを受けていたそうです。僕で3人目だったわけですね。それら3人分の評価を伝え、納得してもらい退職してもらったのだと思います。
なんにせよ、一連の流れの中で僕は社員に印籠引導を渡すという残酷な作業をしていたわけです。正直楽しい作業ではありません。このような不幸なフリーランスを増やさないためにも、社員の方々には採用時のスキルチェックをしっかりと行って頂きたいと思う次第です。というかそいう首切り作業は社員でやって。。。あ、でも外部委託した方が会社としてメリットが大きいか。
こちらの会社さんがある意味消滅と言ってしまえるような状態になったので別の会社で社員として働いたものの、また頭がおかしくなってたのかフリーになり、受託用の個人会社まで設立し、その会社も今年で閉じ、今はサンフランシスコで英語の勉強と趣味のプログラミングをしています。あまり普通ではないので最初の会社でアホになってからそれが治ることはなかったようです。長時間労働マジ怖い。
自己紹介が遅れましたが akiraak といいます。Qiita に糞ポエムを晒すのは公衆衛生上よくないと思い増田に排泄した次第です。Qiita ではこんなのを書いています。
gulpは単純で柔軟性があって、1からでもわかりやすかったのに、webpackは全くもって理解できない。
みんなあれを完全に理解して使ってるのはすごい。
いつもお世話になっております。ITベンダーです。突然で恐縮ですが、このボケ老人は何を言っているんですか。
https://twitter.com/toukatsujin/status/786338202705506305
昨日の東京の停電で、UPS(無停電電源装置)がありながらサーバーがダウンしたITベンダーがある。なんでも、データセンターの認証を取る目的のためだけに、安物のUPSを導入。
UPSの蓄電量:機器の消費電源容量によるんですが、都内のきちんとしたDC事業者(アット東京やメーカー系列やIDCフロンティアを指しています)でも、
UPSで堪えうる時間は数分程度です。この場合UPSの蓄電容量が間違っていたとは言い切れません。
ツイートでも書かれている通りシャットダウンまでの時間稼ぎです。
その間PowerChute(まだ現役なの?)等の電源管理ソフトが安全なシャットダウンを実行します。
①の間にサーバのシャットダウンプロセスが完了しないことはありえます。
今回はそれでしょう。それを挙げて「サーバダウンしたITベンダーがいる」はおかしいだろ。正常にサーバダウンしてるんだよ。
UPSで持ち堪えている間、非常用発言機への切り替えを行います。
通常非常用発電機の起動・電源切り替えのトライには数分程度かかるため、その間をUPSが持ち堪えます。
あと何?データセンターの認証ってどれのこと?ISO27001?LEED?FISC?そもそも非発もないのにそんな認証取らなくないですか?
「サーバダウンは悪」という宗教はやめませんか?サーバは止まります。止まって再起動します。
止めてもいいシステムだったから電源冗長もないところに放り込んであったんでしょ。ならそれでいいんじゃないですか?
恐らくボケ老人はUPSの用途も知らずに①と②を混同したんだと思います。かわいそう。引退しろ。何も知らないくせに伝聞で物を書くな。
そもそもサーバダウンしたベンダーってどこなんだよ。ジャーナリストだろ?ジャーナリスト様なんだろ?バイネームで書いてくれよ。なんで書かないんだよ。
他のツイートにしても「聞いたところによると」「うわさでは」なんて記述が目立つが、
どこの誰がおもしろ毒舌芸人のお前にそんな噂を流すんだよ。誰なんだ教えてくれ。
ちなみに①はITインフラの業界では「なんちゃってデータセンター」と呼ばれており、要はおっきめのサーバルームなんだが、
実際問題都内首都圏に今だ多数存在するので、このタイミングで潰れていただければ幸いです。
そもそもこのオッサン。彼は日経ITなんかで連載するWebライターです。
スタンスは「多重下請け構造」「無能な情シス」「日系SIer」「レガシー」の批判。
そんですきなのが「アジャイル」「内製」「ビッグデータ」「IoT」。
あのな、お前の好きな外資の某巨大クラウドのビッグデータ分析基盤だって綺麗なウォーターホールの設計書で書かれてるわ。
設計書さえなくなれば手戻りとバグがなくなるなんて幻想もいいところ。偉そうなやつに反対すれば国がよくなると思ってEUから抜けちゃった天然かお前は。
批判が集まりバカが信じ込みページビューと信者を同時に手に入れられるバカげた仕組みは、
人類の脳みそを悪くする原因になるのでよろしくないと思います。
恐らく裏を取る気もなければ、自分の記事に論理的整合性を与えないことに対しても自覚的なのだと予想されます。
腹に据えかねて何度かリプライで反論したこともありますが、すべて無視して自分の意見に同調する声のみリツイートを続けていたので、
これからも自分の頭の中に囁きかけてくる「噂」にだけ耳を傾けてクソ記事の量産を止めないことと存じます。
考えを改めよ、と言っても聞かないと思うのでせめて皆様におかれましては毒蝮三太夫か彦麻呂と同じディレクトリに格納頂けます様お願い申し上げます。
はっはっは。その息子さんに「おまえはオレか!」って言ってあげたいねw
オレみたいにIT業界でそこそこ活躍して、さほど有名にもならず、ひっそり引退するくらいのエンジニアになる素質があるよw
かつて、いまのようなTCP/IPベースのファイル共有が一般化する以前に、NetWareていうファイル共有サーバが職場に導入されたときに、
各ユーザには一定のファイル容量が割り当てられて、それを超えては書き込みできないようになっていた。
あと、一個のフォルダ(当時の用語ではディレクトリ)には、1024だか4096だか忘れたけどファイル/フォルダ数の制限もあった。
オレは、フォルダだけなら容量「0バイト」って表示されるし、無限に作成できるのか?
あるいは、見えないけどそこそこ容量を食うから有限なのか?と、疑問に思って実際試してみることにした。
MS-DOSのBATファイルを書いて、自分のホームフォルダに「A0001」〜「A1000」みたいな名前でフォルダを作り、さらにその下の階層に「B0001」〜「B1000」などとガンガン作り続けるプログラムを走らせた。
小一時間たったあたりだったか、ファイルサーバが容量不足を起こしてダウンした。
「勝った!」って思ったねw 当時のサーバ管理者Sさん(および職場の同僚の皆さま)には、大変ご迷惑をおかけしました。どーもすいませんww