「ソースコード」を含む日記 RSS

はてなキーワード: ソースコードとは

2016-02-09

年利10%〜30%のfx自動売買プログラムを公開しま

過去10年のデータ検証しました。

ソースコードを公開します。

狂った果実FX

このプログラムmetatraderというソフトがあるのでそれで検証してみてください。

2016-01-24

Vimでこういうプラグイン各自で作って発表するとか

1時間ぐらいで作れちゃうようなお題ネタを出してプラグイン作成して皆で成果を見せ合うとかさ。

この人はこう作るんだ〜あの人はこういうテクニック使うんだ〜って勉強したい。

オフラインgithubソースコードを見て学ぶのもそうだけど、リアルタイムで人と絡み合うスタイルもあってもいいですよね。

こういうのをオンラインでやってるところありませんかね。

勉強会に行けばやってるだろうけど、駅まで徒歩2時間かかるところに住んでるとなかなか参加できないんですよねぇ・・・

SIerだけど、楽しんで仕事してるよ

http://anond.hatelabo.jp/20160123131828

にてSIerがボロクソに叩かれているので楽しんでいる人間もいると伝えたい。

売上高500億以上のいわゆる大手SIerに勤めている。

工数至上主義なのは否定出来ないが、

長時間労働が全社的に問題視されていて、作業効率化しない組織の方が上からも下からも叩かれている。まあ実際は効率化に充てられる時間はあまりないのだが、意識としては部長課長レベルまで浸透している。

技術力は部署業界業務系、web系)によって色がかなり異なるが、自分のところはGithubではない)でソースコード管理しているし、Redmineチケット管理するし、HipChatで会話しながらビルド結果をbotで通知したりもする。

給与は30歳で残業込みで700万

意思決定が遅い等の不満はあるが、大きい組織であれば業界わずそんなもんだろうと思っている。

この境遇で満足しているかSI業界ダメになるのだろうか・・・

2016-01-23

SIからweb系に転職したけど少し後悔している

早く帰れない

毎日プログラム書いてると飽きる。趣味から楽しい

結局お客さん相手なのでコミュ症には辛い

結論

コミュ症はどこでも生き辛い

早く帰りたい

プログラム趣味楽しい

ソースコード公開したり勉強会とか行ってる人は本当に好きなんだと思う。

SIはやめておけ

20代の数年間SIで働いた。1年以上前退職して今は別業界にいる。

今日、Evernoteを整理していたら「退職理由、SIの嫌な点」というメモが発掘された。退職直前のかなりストレスがたまっていた時期に書き殴った文章だった。学生の頃の私は絵を書いたりしていて、ものづくり暮らしたいな〜などと思って始めたプログラミングが楽しかったので安易に受託開発業を選んでしまったが、その後悔が如実に表れていた。

一部自分でも覚えていない話もあったがコンテンツとしては面白かったし、今でもシステムインテグレーター業界で消耗する若者を減らしたいとは思うので公開してみる。

以下、同メモに加筆・修正したものなのでファンタジーだと思って読んでくれ。

工数至上主義

受注した時点で売上がおよそ確定するので、後はその予定工数に収めて納品できれば御の字という考え方。よくある話だが、見積おかしくても顧客と対等な関係が築けていないから追加請求もできない。時間(工数)をかければ良い成果物ができるかもしれないがそれを説明して顧客に嫌な顔をされたくないから、限られた工数の中での最善を尽くす。最善を尽くす、聞こえは良いが要は手を抜く。

まり、どう頑張っても売上は同じなのだから、良いもの価値を生むものを作ろうと考えない人が多い。社内で開発者と呼ばれる人間もそうだし、マネジメント層はそういうものづくり志向を持った人をリスク扱いすることもある。

これが諸問題の根源で、いかに述べるような組織プロジェクトが出来上がっていく。

作業効率化しない

マニュアル作業の正確さをかたくなに信じてる人だらけで、ITとは何なんだと考えさせられる。

私は定型作業効率化しようとjsやrubyスクリプトを書いたりしていた。テストデータを開発用DBに突っ込んだり、テキスト処理して整形したり、Excelからコード生成したりするよくあるやつ。

あるとき上司に肩越しに自分作業を覗かれて「何やってるの?」と聞かれ、そういうスクリプトを作ってると答えたら、工数とリスクの話をされた。曰く「そのスクリプト作るのに何日かかるの?工数に乗ってないよね?」「スクリプトテストもちゃんとしないと結果が正しいって保証できなくない?」と。この時はイラッとして「30分でできる数十行のスクリプトだし自分作業工数内で完結する。むしろ工程や別の人でも同じことを再現性できて楽になる」とか真面目に説明してプログラムも見せたが、読もうとはせず(読めないので)1時間無駄にした。

技術力いらない

前述したようなビジネスモデルから営業力と、予定工数で無難プロジェクトを終えるマネジメント力が大事。IT企業だが開発者は自社で持たない。不況の時に待機コストが発生するリスクがあるし、自社で抱えるより単価の安い開発者人材派遣系の企業や下請けにいっぱいいるから。

社長があるとき社内広報で「技術は買うものだ」と言っていた。文脈で明らかに技術=技術者のことだったので、使い捨ての人売り業と揶揄されていることへの自覚が無いと思う。

そういう人が集まっているor残っている組織なので開発者ほとんどいない。20〜30人ぐらいの課に1人ぐらいの割合でstaticおじさんがちらほらいるぐらい。大体20代からプロジェクトリーダーという立場をやり始め、だんだん大型の案件を扱えるようになっていき、後は出世ゲーム部長お気に入り課長になり、部門長のお気に入り部長になる。その繰り返し。

開発案件でのBP(ビジネスパートナー委託先、派遣下請け比率自分の周りだと1:5ぐらいが多い。プロパー社員一人が5人の開発を仕切る、みたいな形。案件規模によりだいぶ差があると思う。この比率が高い=マネジメント力のある組織と考える会社はこの数字を上げようと必死で、比率の低い組織は評価が下がる。

私は開発が好きだったのでエンジニアとして生きていきたい、というようなことを評価面談の度に伝えているが、その度に会社の目指す方向を説かれてモチベーションが下がる。

意識の低い開発者メンバー

上述の通り、案件で接する開発者基本的に社外の人間なのだが、彼らの技術力と意識の高さにはものすごいばらつきがある。言われたものはなんでもこなせる人、何でこの歳まで技術者やれてるんだと疑う人、このプロジェクトおかしいと良い意味で騒ぐ人、何も意見を言わない人、CっぽくJavaを書く人、人当たりは良いが技術力がいまいちな人、すぐ休む人、バグやミスを隠す人…etc。

まぁ色んな人がいるのはどの業界のどの職種も同じだが問題は質だ。私の主観になるが本当にエンジニアとして尊敬できるレベルの人は1%いるかいないか。というのも、ほとんどの技術者は長年SIやその周辺企業と付き合ってきているので同じ体質に染まっているのだ。顧客が良いといえば良いという態度(この場合顧客は私が所属する企業)、請負場合は工数を超えない範囲で手を抜く姿勢、その他諸々。技術力だけをひたすら磨き続けてきたという人はごく一部だけだったし、そんな人でもGitHubアカウント持ってない・ブログやってない・OSSに貢献したことない、といった具合でクローズド世界で生きている。

そうした技術者とやっていく中で最も厄介なのが教育コストだ。案件のあるなしで人が都度入れ替わり、新しい人が来るたびに同じシステム・技術要素の説明をして何とかやる気が出るようモチベートして、というのを繰り返すのに疲れた。私の会社固有の変なルール説明はてきとうにしておいて、私は技術が好きな仲間が欲しかったので今のシステム課題と技術面での改善や展望をよく話す。が、あまり食いつかれることはない。これは私の問題だが、そうした期待と落胆のループ疲弊の一因だ。

static BP

ある時、一つの課に6年近くいるというBPと一緒に仕事をする機会があった。その課にはプロパー技術者が長いことおらず、彼がその課の技術的中心を担っているという話だった。抜けられると途端に色んなものが崩壊するからという理由で、その人の派遣元にはかなり高額の単価を支払っていたと聞いた。課員が口をそろえて「あの人はすごい」「何でもできる」というので初めはかなり期待していた。

だが、拍子抜けした。あまりにも仕事が雑なのだコミットされたコードはTODOコメントだらけだし、バグがあまりにも多かった。一度も実行されずにコミットされ、他の人がチェックアウトした時点で判明したバグなんかもあった。それでも声が大きく、プロパーが技術を知らないのをいいことに自分ブランディングに完全に成功していた。客先にも顔を出し、信頼を得ているらしかった。「自分は設計が得意でテスト以降の工程には興味が無い」と言っていた。確かに彼が関わった各システムには独特の概念が埋め込まれた設計があったが、その複雑な設計は保守性が低く、他の開発者が触ると容易にバグを引き起こしていた。

また、彼はJavaの有名なフレームワークであるStruts拡張したいわゆるオレオレフレームワークを開発しており、それの出来は悪くなかったと思う。そのフレームワークに欠けているものをうまく補うような形になっていた。だがフレームワークバージョンを上げると壊れるというのが残念な点で負債になりかけていた。

私は異動したが、彼は今でもそこにいると聞いた。

技術の話

テストコード書けない

(最低限のものしか作らないから)安くて早い!という触れ込みで売っているので、テストの工数が異常に少ないことも多い。特にテストコードを書くなんてもってのほか。そういう世界でやってきた人ばかりなので、30や40超えたマネジメント側は「テストコードって何?」状態だ。大型の改修案件が来た時にはコア機能だけでもテストを書いていこうと見積段階から社内で提案したが「顧客に『そんなメリットあるなら何で今までのプロジェクトではやってないの?』って問われるから絶対言うなよ」と拒否された。

保守案件をやっていた頃、時間を捻出してコソコソとテストコードを書いたりしていた。その案件を離れてしばらく後、ある時リポジトリを覗いたら私が書いたテストコードがばっさり消えていて驚いた。コミットログから課内のstaticおじさん的な人が消したとわかったが、そのコミットコメントが「現在使用していないコードを削除」だった。これはもう問う気も失せて何も言えなかった。

リファクタできない

先述したようにテストがそもそもないプロジェクトが基本なのでリファクタできないのだが、たとえテストがあったとしても勝手なリファクタは許されない。ソースコード顧客の持ち物なので同意なしに改変することはいわば契約違反なのだ。たとえ内的品質が向上してコスト削減に繋がるとしても、そのためにお金を支払う顧客はまずいない。

レビューない

私がいたどの案件にもコードレビューがなかった。リーダー開発者数人という構成場合、まず開発者は全員下請けリーダーは技術の心得がない場合が多い。そうなると彼らの成果物の良し悪しを図るのは目に見えるシステム挙動実施されたテスト結果のExcel報告書だけになる。これが非常に非効率で、少しコードを読めばわかる明らかなバグや仕様理解齟齬が頻発していた。特に入試験と呼ばれるリリース直前の顧客側での最終確認や本番稼働中におけるhotfixは全機能をきちんとテストせずにデプロイされることが多く、そのhotfixがさらなるバグを引き起こしたりもしていた。

そもそもテストを書けという話だがテストが無いプロジェクトに足すのはかなり大変なので、レビューサイクルをきちんと回すだけでもかなり変わる。実際、私が入った案件ではすべてのコミットに目を通すようにし、明らかな問題は都度指摘することで品質の向上に繋がった。欲を言えば他の開発者にもレビューしてもらいたいが、下請けの彼らの工数を増やすことは嫌がられる。

新規技術試せない

無難プロジェクトをこなすことと新しい技術を試すことの両立こそ技術者の腕の見せどころだと思っているが、ほとんどの場合それは許されなかった。新規にせよ継続にせよ案件を受注する段階で営業マネジメント層と顧客間で「今回は過去に実績のあるこの技術でやります」という契約が結ばれているからだ。その技術(言語フレームワーク)がいかに古く、保守性も将来性もないものだとしても受注できればよいし、その技術のサポート切れか何かの拍子で再度リプレイス案件でも受注できればさらラッキーぐらいの考えでいる。

常に横に倣えのアーキテクチャは私にとって面白くはなかった。

横に倣え

また横に倣えが加速してさらに悪い事に、同じアーキテクチャネットワーク再利用するために既存のサーバに新システム相乗りすればよいという発想も珍しくない。「資産再利用によりコスト削減」という触れ込みだったが、ただでさえスケールしない低スペックオンプレミスサーバ上で複数アプリケーションサーバ運用した結果、予想通り耐障害性が下がった。

また、Oracleライセンスが高いという理由で一つのDBインスタンス上に10数個のシステムが同時稼働しているなんてこともあった。1つのシステムが高負荷なクエリを投げたせいで関連する全システム共倒れになったこともあったがOracleのバグとして報告していた。

static Perlおじさん

新人の頃にOJTでstaticおじさんの下に付いたことがあった。そのとき担当したのはPerlデータ連携用のバッチを書くという開発業務だったのだが、最悪の思い出だ。

まずプログラム構造仕様書というのを書かされた。メソッド単位でのモジュールを全てExcel上に記述し、処理の順番と内容を説明するという謎資料だった。あまりに意味がわからなかったので「UMLのクラス図を書けばよいのですか?」と聞いたら「Perlクラスなんて必要ない。構造プログラミング研修でならってないのか」と返ってきた。「俺が前に書いたPerlバッチがあるから参考にしろ」と言われ、あるリポジトリをチェックアウトして見てみると1ファイル4,000行の.plがいくつか並んでいた。その時の私は何もわかっていなかったのでそういうものかと思ってしまったが後で調べて明らかにおかしいと気づいた。

また、そのプロジェクトのメイン言語Javaで、Eclipseを使っていたのでPerlプラグインを入れてコーディングデバッグをしていたらやめろと言われた。理由は「Eclipse上で動くPerlが信用できない。サクラエディタで書いてプリントデバッグすれば充分だ」と言われた。その時の私は何もわかっていなかったので、プラグイン品質が悪いとかそういう話かと思い「じゃあvimで書きます」と言ったら「サクラエディタしろと言っただろ!」と一喝され、vim vs サクラエディタという史上類を見ないエディタ論争が起きた。

待遇・制度

給与

SI業界の中では高いのかもしれないが決してよくはない。4年目(たぶん25歳)ぐらいで残業込みで年収400万にやっと届いたがそこからほとんど変わっていない。30歳の先輩に聞いたところ「500万前後残業してない場合の月の手取りは未だに20万切ることがある。残業抜きでは新婚生活が厳しい」と言っていた。いわゆる年功序列がきっちりしていてこのまま続けてもしばらくは給与が伸びないということがわかった。

個人での貢献で差がつくのは±10万程度。その程度ならいっそ無くてもいいのでは、と思う。というかそもそも生産性をきちんと評価する制度存在しない。これはどの組織でも難しい問題だと思うが、形骸化した評価制度上司の気に入った人間にS評価を付けているだけならいっそ止めたほうが時間の無駄にならなくてよい。

マシン

会社から貸与されるノートPCは低スペックすぎて開発には使い物にならない。なので開発者基本的デスクトップ使用せざるを得ないのだがこれもメモリ4G、1.2GHz程度で大したマシンでもない。本当に開発する気がない。

組織問題

とにかくクローズド組織

つの間にかどこかで意思決定がされていて、関与する機会がほとんどない。だがほとんどの社員がそれで良いと思ってる。失敗しても自分が決めたことじゃないから上層の責任だ、そう言えるので楽だから

情報共有をしない、というか意図的にしないようにしているとまで感じる。連絡はメール添付ファイルベースで行っているし、共有のファイルサーバなんてのもあったが一部のフォルダ権限を持った人間しか見られない。何で他の部や課が行った過去の見積提案資料自由に見られないんだよ。

ソースコードリポジトリも同様。外部に公開しないのはまだわかるが、プロジェクト外にすら基本は公開していない。別に奪われて困る大した技術もない。

会社が用意した提案資料共有サイトみたいなのもあったが、それに至ってはもっとひどい。課長以上もしくは部長から承認を与えられた者のみ閲覧可能。共有とは。

意思決定の遅さ

どうでもいいことを決めるにも承認や根回しや説得が必要になる。それがプロジェクト利害関係者ならまだわかるものの、まったく関わっていない上長(課長部長、時には部門長)を通さないと進まないという異常さ。

コスト削減

利益率向上のためにコスト削減ということがしきりに言われており、過剰なコスト削減対応生産性の低下を招いている。たとえば顧客に見せる資料以外は白黒で印刷しろ、みたいなルール。色がないために情報が伝わりにくい。というかそもそも印刷せずに各自ノートPCで見ろという話だが、先述したようにノートPCは低スペックすぎるので多くの社員デスクトップを使っている。ITとは。

本当に無駄しか思えない承認・申請フローの煩雑さに加え、使っているシステムの使い勝手も悪く、ひどい日は一日がそうした事務作業で終わる。しかもそのシステムは自社で以前開発したものだというから泣けてくる。こんな作業が定常的に発生するのでいっそ事務員派遣で雇うべきという提案が何度もされたが、課の予算オーバーするから無理だという回答しか返ってこない。

残業削減

表向きは社員健康促進という触れ込みで残業時間削減を全社的に取り組んでいる。残業減らせと声をかけただけでは誰も帰らないので、勤怠システムと入退館管理システム監視し、削減できていない組織や人間評価を下げるようになった。

その結果、サービス残業が復活した。30時間を超えると部長説明しないといけない、50時間を超えるとその上へ…みたいなループ。表向きの残業時間削減・コスト削減としては成功したかもしれないが、社員残業時間を管理するとかい無駄な仕事を増やしたし、管理される社員ストレスサービス残業に繋がったので下策だと思う。

他人残業時間をExcelにまとめる仕事があって、そこに給与が発生してると思うと泣きたい。

そもそも無駄作業や工数至上主義作業効率が悪いから残業しているので、残業が少ない奴が偉いと一斉に舵取りしただけでは生産性をちゃんと評価できていないことに変わりはない。一昔前の残業多い奴は頑張ってて偉い、というのと本質レベルで何も変わっていない。

辞め方

2016-01-16

プログラミングにおけるクソコードの罪について

趣味プログラミングとかしてて、

最近SIerに入って仕事プログラミングするようになって、

いいコードを書くことってのは凄く大事ことなだって気がついた。


俺はクソコードというものを完全に舐めていた。

保守性がどうこうとかよくわかんない。動きゃいーじゃんぐらいの気持ちでいたんだ。


今、人の書いたそういうコードを触らなければいけない立場になって痛感している。


そういうコードは人を容易に傷付けるんだっていうことを。

どういうコードがクソかっていう話はネットを探せばいろいろ見つかるからここでは書かない。

ただ、設計書と実際のコード全然一致していないということがザラにある状況のなか、

可読性のあまりにも低いクソコードソースコード鼻血が出るほど苦労しておいかけて、

設計書とは名ばかりの「こんな風にできればいいな?」ということが書かれただけのよくわからない書類を解読しながら

作業を進めるというのは、本当にきついことなんだと思い知った。

コードに殺されるかと思った。

http://cpplover.blogspot.jp/2015/11/linus-torvals.html

Linus tovalsがクソコードに対して物凄く切れているっていう記事

クソコードに切れる気持ちはわかる。

クソなコードは実際に人を殺すまではいかなくとも、鬱に追い込んだりする破壊力があるんだ。

1行のクソならまだいい。でもこのクソはそのうち積み重なりクソの山になる。

クソコードは人を傷付ける。

こんなことをいいながら、自分もクソを書くときはあるだろう。

俺は自分の書いたコードで人を傷付けるようなことはしたくない。

自戒をこめつつ、この文章を書いているが、最後一言添えるとすれば、、、

月曜日ほんとに仕事行きたくねえ。

2016-01-07

Vimコード機械学習させて入力を楽にするプラグイン

githubからソースコードを読ませて学習させて勝手に成長していく辞書があるといいよね。

研究目的で作ってみようかな。

辞書作成部分はPythonで作るからscipyとかnumpyも必要だ。

キーワードごとに価値と重みを付けて入力優先度の高いものを補完候補の先頭に表示させていくとか。

自分入力癖も学習させなければいけない。モード毎にこのキーを押した時は何をするかとか。

巨大な辞書になりそうなのでやっぱり研究目的だな。

http://anond.hatelabo.jp/20160107123432

データ処理をするならExcelよりRの方がいい。ソースコードが処理内容を明確に示し記録にもなる。

2016-01-02

Vim記事広告収入を稼ぐための記事サンプル

25歳。

去年までメモ帳君だったけど、Vimに乗り換えてからブログ広告収入

二年で350万貯めた。一度やってみなよ。

初回のみだけど、バトルエディターズの本を買えば3000円以上ののリターンが返ってくる。

稼ぐだけ稼いでアフィに追加投資せずに換金することもできるし、オリジナルソースコードgithub

思い切って公開しちゃえば50パーセントブログ誘導できて収入が2倍になる。

金なきゃVimで!sh aplay ~/スネ夫が自慢するときに流れる曲(6h00m).mp3で曲を流せばいいだけ。暇つぶしになる。

他にも:smileとかecho &titleoldでVimから感謝されたりと色々あるのでマジでお勧め

http://ex20.2ch.net/test/read.cgi/gline/1173946619/

2015-11-22

githubアカウントを凍結されても解除してくれなかった話

この話題過去2ちゃん投稿したんだけ増田にも書いておく。

githubアカウントを凍結されたけど、「私はスパムではない」と連絡しても解除してくれなかった。

私はgithub初心者である

メインアカウント(以下Mainと呼ぶ)ではissueでバグ報告とソースコードダウンロードのためにgit cloneする程度に利用。

サブアカウント(以下Subと呼ぶ)はMainとのフォークとプルリクの練習のために作成した。

ちなみにSub登録してから何もせず、1年以上寝かせてから練習に使い出した。

凍結される原因になったと思われる内容


Sub登録したメールアドレスで、githubサポートBOTスパムではない事を伝えたけど、あなたを疑うとメールで返されて結局解除されなかった。

MainSubが同一人物だということも知ってた。

Mainも凍結されるのかと思ったけど、されなかった。ひょっとしたら第三者リポジトリでissueを書いて貢献してたからだろうか。

githubに連絡をすれば凍結解除してもらえるという記事もあるが100%解除してくれるわけではない。

凍結してから初めて利用規約を読んだけど、無料アカウント複数作成することを禁止することが明記されていた。

よくgithubで複垢を運用する記事を見かけるけど、これらの記事規約違反を勧めているってことなんだよね。

わざわざ1サービスアカウントを凍結されたことを記事にする人なんていないだろう。

有料アカウント無料アカウント練習してたら凍結されてなかったに違いない。

凍結されて分かったこと


解除されるか否かのさじ加減は担当サポートによるのかもしれない。

2015-11-14

ソフトウェア品質を上げるたった唯一の方法

■背景と問題点

SI業界におけるシステム開発プロジェクトでは、ソフトウェア品質問題になることが多い。

結局、ソフトウェア品質悪化されるのは、「人」である

問題点は、知識不足経験不足な人間が大量に放り込まれプロジェクトでは低品質なクソコード(※1)を大量生産してしまう事にある。

※1:クソコードとは、可読性の低さ、保守性の低さ、コーディング規約違反テストが不十分、静的解析の指摘結果が多い、命名の悪さなどが該当するコードである

■解決方法

真っ先に思いつく品質向上手段としては、レビュー指導教育)が考えられると思う。ただ、コストがかかり浸透するまでに時間がかかるのが欠点だ。

そこで、人間感性に訴える「羞恥心」をうまく利用する方法はどうだろうか?

クソコード基準を作り、基準に満たないソースコードコミットした人物を徹底的に「晒す」ことで、

危機意識が高まり、クソコードコミットする前に見直しする結果、品質が上がると考える。

晒す」とは、クソコードコミットした人物の所属会社名と所属プロジェクトと氏名を館内放送するなどプロジェクトメンバーが一目瞭然で分かる公知の事実にすることである

月末にクソコードコミットワーストランキング作成し、食堂トイレ、休憩スペースなどの目に付くあらゆる場所に掲示することで危機意識が生まれるだろう。

人月単価交渉の際にも基準値に満たない数値が出ていることを示すことで、具体的な根拠を持った単価の切り下げ交渉も可能だろう。

朝会・夕会があるのであれば、クソコード作成者を読み上げて周知の事実とするべきだろう。

請け負った会社単位でのクソコードコミットワーストランキング作成し、会社ぐるみでの取り組みも強化させることで品質が向上するだろう。

■まとめ

プロジェクトメンバの意識が「クソコードコミットすると恥をかく」を徹底させ、

きちんとしたものを作らなければならないという意識を芽生えさせる事が一番重要である

ソフトウェアは目に見えないものなので、品質が分かりにくいが、

物作りの現場だとクソな部品を渡されれば次の工程人間が困るのは目に見えている。

物作りの現場では、誰が不良品を作ったか?を特定されて、詰められるのは当たり前だろう。

だが、ソフトウェア現場では未だそれを見ない。そろそろやっても良いのではないか?

読者の皆様はいかが考えるだろうか?

2015-11-10

ソースコードの読み書きしないで下請け管理しかしないやつはなんなんだ

ソフトウェアが作りたくてこの業界にきたんやないんか

管理だけやりたいんだったらもはやソフトウェア関係ないだろ

管理とかドキュメント作成とか人件費無駄に消耗してるだけのクズだろ

オープンソースソフトウェアなんかドキュメント作ってるかよ管理者存在してるかよ

プログラマーだけでソフトウェアを完成させることができることの証拠だろ

ソースコードの読み書きできない管理しかしないドキュメント作成しかできない

適正のないやつは他職種転職してくれ

2015-11-02

俺もデータ改ざんしたことがある

ソフト開発でテスト仕様書を、

if n >= 100 then n = 100

条件: n が100以上 結果:nに100が代入される

みたいにソースコードと1対1に対応するように 書けという指示だったので、言われたように仕事をしてた。

テスト工程がある程度進んだ時に、その指示を出した当人がふらっとやってきて「バグ率は3%でないといけないから」と言ってまた去っていくのな。

元受けからバグ件数が0はおかしいって言われたんだろうけど、こんなテスト仕様書コンパイラバグらないかぎりバグ率0%にきまってるじゃん。

ソーステスト仕様書レビュー通ってハンコもらってるから変更しちゃいけないけど、仕方ないから適当に変更してバグを作って3%に調整したわ。

部下のことをロボットだと思うとスムーズに進むようになるよ

内心では部下のことをロボット扱いしてるって言うとまるでヒトデナシみたいだけど、違うんだ。

パソコンが指示した通りに動かない」とか言うと「パソコンは指示した通りにしか動かないよ」とかが、プログラマーあるあるだよね。

バグって止まる時は、もうほぼ間違いなくソースコードに間違いがあったり、仕様バグが仕込まれてたりするわけで。

そうするとさ、「できる?」と問い合わせると「できます!」が返ってくるプロトコルなんだな、と理解すれば良いわけだよ。

これはまあ、なんというか、とりあえずACKが返ってくるという状況で「通信成功しました」という意味しか無いと。

  • 「できる?」
    • 聞こえた→「できます!」
    • 聞こえなかった→「すみません、よく聞こえなかったんですけど」

同じようなことで、「間に合わない時や、困ったときは、言ってね」というのもある。

サーバーの異常監視と全く同じなんだけど、異常時にメールを飛ばすシステムってだいたい動かない。

理屈の上では動くはずなんだけど、サーバーが大変なことになると、大抵黙ってリソースを食いつぶしてる。

から状態監視は「定期連絡が途切れたらなんか起こった」「定期的に外側からチェックする」の2つになるんだよね。

「遅れてからしか言わない」じゃなくて「遅れる頃にしかチェックしてない」が正しい日本語

  1. 部下になんか依頼したくなる。(仕様検討)
  2. これ依頼するけど、念の為作業ステップメールで返信してと送る。(プログラミング丸投げ)
  3. メールステップをチェック。抜けがあったら補足して返信。ゴー依頼。(デバッグとRUN)
  4. 定期で、メールステップのドコまで行ったかチェック。返信が遅れる時は異常時。(定期状態監視)
  5. ミスや作業遅延は、記録しといてフォロー(デバッグ)

よく忘れがちになるけど、部下がミスったり出来なかった結果は、上司責任取るのが基本なんだよね。

責任を取るということは、その作業に責任がある。作業にミスが発生したということは、上司問題がある。

ミスの原因とミス責任は別で、原因究明後再発防止策を取るのは責任者お仕事

別に上司仕事が増えていくということじゃない。

プログラミングとか、チェックリスト作成とか、定期監視とか、デバッグとか、部下に丸投げできるのが上司醍醐味なんだし。

その代わり、リソース管理上司お仕事になるから、振った仕事は当然リストアップして、なんかこのサーバー負荷高くね?と確認する必要はある。

というわけで、部下のことはロボットだと思うと良いんじゃないかなあ。

道具が悪いって当たり散らしてる上司って、やっぱみっともないぜ。

http://anond.hatelabo.jp/20151101114446

2015-10-30

鉄道Nowはどこから時刻表データを入手しているのか?

3年ほど前、鉄道Nowというシステム話題になった。

http://www.demap.info/tetsudonow/

確認したところ、今年3月に開通した北陸新幹線が走っているので、今になってもデータメンテナンスされているようである

ところで、列車を走らせるにあたり時刻表データ必要なはずだが、そのデータはどこから入手しているのだろうか?

まさか日本全国およそ9000の駅に全て訪問し、時刻表撮影してデータ化しているわけではあるまい。

どこからか入手しているはずなのだ

誰でも思いつくのは、駅探ジョルダンNAVITIMEYahoo乗換案内など、公共サービスに備わっている時刻表検索サービス機械的に収集して時刻表抽出する方法である

確かにこの方法日本全国のデータを網羅できる。しかし、このデータをもとにサービスを行ったり、商売を始めるのはNGである

なぜなら、上記のサービスベンダーは「JR時刻表」と「JTB時刻表」の内容を交通新聞社およびJTBに許諾をもらって掲載している。

このデータを無断で拝借すれば、いわゆる無断転載である

https://www.navitime.co.jp/pcstorage/html/help/etc01.html

上記リンク先にある「弘承平成14年82号」という記述交通新聞社(旧弘済出版社)の承諾済みであること、「(J)02-7」という記述JTBの承諾済みであるということである

これが無いということは、少なくとも交通新聞社JTBのいずれの承諾も得ていないということである

そして自力時刻表データを作り上げたわけでもない。

無断転載でないとすれば、いったいどうやってデータを作ったのか?

=

鉄道Nowは、時刻表データを直接売買しておらず、広告掲載することによって間接的に金銭を得ているのだから問題ない」という意見もあるだろう。

確かにその通りかもしれない。

しかし、仮に無断転載禁止データをもとに作成したサービス広告収入を得ているのだとしたら、それはいわゆる「アフィカス」なのではないか?

時刻表無断転載有無など誰も知らないから大丈夫」とタカを括られているのであれば、なおさら悪質な部類に入るのではないか?

ソースコードで言うならばGPL違反と同等かそれ以上の悪質さではないか?

私は別に鉄道Nowを潰したいのではなく、あれだけ注目されたサービスなのだから権利関係について袖を正すこと提案しているのだ。

当たり前だが、時刻表けがあってもあのサービス提供できない。なかなか苦労して開発したはずである

権利関係とき敬遠されては勿体ないではないか。

=

ところで、駅.lockyという、「日本全国およそ9000の駅に全て訪問し、時刻表撮影してデータ化」を地で行くサービス存在する。

http://eki.locky.jp/site/top

このサービスを端的に表現するなら「時刻表Wikipediaである時刻表データ作成しているのは有志である

このデータ交通新聞社JTB作成したものではないため、駅.locky内で利用する限りにおいては交通新聞社JTBの束縛を受けない。

ありがたいことに誰でも閲覧できる状態になっている。

しかしだからといって権利フリーではなく、有償無償を問わず、再配布することは禁じられている。

http://eki.locky.jp/site/about

=

東京メトロが公開したオープンデータAPIでも、時刻表データが入手できる。

もちろんこのデータ商業目的利用NGである

https://developer.tokyometroapp.jp/terms.html

=

線路に沿わせて列車を走らせる動きを再現するにあたり、線路形状データ国土地理院データを使っているのであれば、これも商用利用NGである

http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-N05.html

=

以上をもって鉄道Nowへの公開質問状とする。

回答をお待ちしております

2015-10-05

http://anond.hatelabo.jp/20151005004237

スマホアプリじゃないけど、某フリーソフトですごいモチベあるなあという人がいる。

フリーで、しか広告もないのに、アプデも頻繁で、ユーザの声も聞きまくり対応しまくりーの人。

本人が対応する気力あるならいいんだけど、傍から見ててちょっとユーザ声聞きすぎじゃないのと思うことが多々ある。

ユーザも言えば対応してくれる、検討してくれると思うから何でもどんどん要望出すし。

不具合対策もキリないと思うのに。

ソースコードも全部公開されてるから気になるなら自分でなおしてくださいくらいの突き放し方でいいと思うのに。

こういう人が鬱になるんじゃなかろうかというような抱え込みっぷりで心配になる。

いや、本人的にはほんと片手間でちょちょっとできるレベルからまったく問題ないのかもだけど。

そんでもユーザ傲慢さは目に余る。

無料提供してくれてるだけでも感謝なのにずけずけとあれがおかしいこれが足りないとひっきりなしに。

そういう輩のせいで製作者がやる気なくさないかが心配

今はそういういろんな声がモチベにつながってるならいいんだけど。

どっかでボーダー超えそうなんだよなあ・・・

考え過ぎかな・・・

2015-10-03

電子書籍技術書に向いてないな

漫画小説みたいに頭から順番に読むのは電子書籍でもいいけど、技術書はとばして読んだり前後を行ったり来たりして繰り返し読むからすごい読みにくいわ。

あと、ソースコードが載ってる本は、字を大きくしたらソースがぐちゃぐちゃになるし、小さいままだと本文が読みにくいし、なんとかならんかね。

このまえ読んだ本は、それを考慮してか、字を大きくしてもソースの部分は大きさが変わらないようになっていてソースレイアウトは崩れないんだけど、それはそれでやっぱ字が小さくて読みにくい。

それと、出版社PDF版を売ってるときkindleを避けてそれを買うんだけど、紙と同じレイアウトで固定レイアウト9.7インチタブレットでも読みにくい。

12インチiPadを買えば解決するかもしれんけど高い。はやくiPadプロパクリ中華Androidが発売されないか。

2015-09-29

オープンソースソフトウェア

若い人達が新しい技術を利用していたりするのをみると、

年齢的なそれもあってかコードを書くのも、もう潮時かなあと考えていた。実際、離れていた。

最近案件で少し変わったツール必要になり、オープンソース辺りで誰か公開してないだろうかと探してたところ

完全に合致するわけではないが、まあまあ使えそうなオープンソースソフトウェア出会った。

最初は、動けば良いかな。と。適当に利用出来れば良いかなと思っていたのだが

なんとなくのぞいた変更点の差分ソースコードの美しさに驚いてしまった。

・ 動きが変わらずとも丁寧に関数変数名前修正していること

・ 機能の変更に合わせて、リファクタによる共通化がおこなわれていること。

・ 上記を可能にする自動テストが動いていること。

数名のメンバー保守されていてメインの開発者がこの辺りをまとめてるようだ。

普通、この規模のソフトウェア場合、動き優先になってしまう。

というかそもそもメンテがされてないこともあり、ここまで丁寧にメンテされているモノはほとんど無いと思われる。

コミュニケーションも適切に動いていて、投げっぱなしになることなく開発の相談も行われている。

丁寧でありながら忍耐強い。このソフトウェアが支えられている理由で、美しいと思った理由がそこにあるのだと思う。

Wikiを読んでいると、次のメジャーバージョンで大きな機能拡張が控えてるらしく、メンバー募集していることを知った。

つのまにか自分リポジトリフォークして修正案を考えていた。

2015-08-15

http://anond.hatelabo.jp/20150814113624

デスマはいくつか見てきたが、共通する特徴を抽出すると、

任務遂行必要権限メンバーに与えられていないか、重要な位置にいるダメメンバーの早期排除に失敗すると、そのプロジェクト破滅する」という事が判った。

・二回は、プロジェクトリーダーが、リスク回避プロジェクトを終わらせるのに必要な知見を持ってなかった。

・一回は、エンドユーザーの窓口担当者が無力かつブレブレで、期限までにステークホルダー意思統一をできなかった。

・一回は、クリティカルパスの一部を担当していた協力企業がありえないほど無責任で、すべてのフェーズで作業を遅延させた。

特に設計フェーズ責任者ダメだと100%破滅したねハッキリ言って。

実装ダメでも、テストダメでも、

設計さえマトモならば被害は「設計通りに出来てない部分の修正」の繰り返しで片が付く。

設計がアホだと、「設計通り作ってるのにダメな部分」と「設計に抜け漏れがあったので、実装者が場当たり的に対応した部分」が混在し、

「後から考慮漏れに気づいて口頭で確認修正したため設計書が古い」「そもそも設計書が足りない」という状態になって、

から有能な実装者を投入してもどうにもならなくなる。

設計が不合理だと、メンバー毎の理解度の差がプログラムに反映されてしまってソースコードがグチャグチャになるし、

どんなに有能なプログラマーでも、「あるべき形が決まってないアプリ」は作れない。

新人設計担当させているウチの上司死ねばいいのにと思いました。

かのプロジェクトメンバーの人たち、ご愁傷様。

君たちは今は残業1時間程度で帰れてるけど、4か月後には土日が無くなって、その時期が最低3か月は続くからね。

頑張ってね。

2015-08-05

自分絶対だと思う人の扱い方が難しい

自分絶対だと思い、他人を信用しない人との接し方が難しい。

何を言っても拒絶して、自分意見が通らないと文句を言い続ける。

そして、勝手ソースコードを書き換えるので知らない間に担当者がハマってしまう…。

メールチャット全然読まず、周りの動き方も理解しないし

扱いづらくて困る…。

そして、そんなストレスで疲れて僕が倒れる始末…。

鈍感力エゴが強い人が生き残れる世の中だなと。

2015-08-01

社内SEとして必要なこと

社内SEとして2社ほど経験したけれど、社内SE必要なのは技術力よりも社内政治力だとつくづく思う。

感じたことをつらつらと書いてみる。新しいことをするには立場権力がないと何もできないということをつくづく感じた。

社内SEになりたいと思う人は、ちゃんと考えて入った方がいいと思う。

2015-07-15

ログファイルの軽視され具合は異常

なんでログってのは軽視されがちなんだ?

抜粋すんな死ね

アイツ「エラーが出たから調べてくれ」

俺「いいよログファイル寄越せ」

アイツ「ログファイルのうち、エラーの部分だけ抜粋したったたったwwwww」←死ね

また別の現場・別のヤツ

俺「あーそれ俺が昔作ったやつっすね。今はアンタが担当してるんですね。ちょっとログ出力を強化しましょうか。console.log() でブラウザ開発者ツールに出しましょう」

アイツ「うーん、そうですねぇ・・」

別のヤツ「そうですねえ・・」

俺「ちょっとソースコードいじってもらっていいっすか」

アイツ「うーん・・」

別のヤツ「そうですねえ・・」

俺「簡単なんで」

アイツ「うーん・・」

別のヤツ「ねえ・・」

そろそろ死ね

ソースコード作者名なんて要らないから

オープンソースとか、ライブラリとかならまだわかる。

でも会社プロジェクトの、人が入れ替わり立ち代り触るようなソースコード作者名とかメールアドレスとか本当にスペースとファイルサイズ無駄

なんのためにGit管理してるんだよ。

何が@authorだよ、git logで十分だよ。

最初からそんな文化だったわけでもないのに、そんなに自分を誇示したいのかよ。

じゃあさっさとこの腐ったバカみたいなコード全部直してくれ、頼むから

実際に、「なんでこのファイルを作ったのか」と聞きたくても、「その人はもういない」か「忘れた」の2パターンしかないじゃん。

腹立つ。

からコード内に埋め込まれてた@authorのタグ全部とってコミットしておいた。

無駄歴史積ませやがって。

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