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

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

2019-04-13

anond:20190405004215

元増田です。

しばらく見ないうちにプチバズってたのでちょっと驚きました。

はてブ言及コメントも拝見し、いろんな意見があって面白かったです。

否定的意見の中で代表的ものについて、いくつか反論(補足?)しておこうかな、と。

記事と違って完全に私個人主観の話なので、NTTに勤める人の一般的価値観ではないことはあらかじめ言っておきます

退職しない」ではなく「退職できない」の間違いでは

無能から転職できないんだろ」みたいなニュアンスですね。半分正解、半分不正解といったところでしょうか。

そもそも失職や転職ストレスを一生味わいたくないから今の会社を選んだので、転職してやっていくためのスキル経験を積む必要性を感じていません。

少々自分語りになりますが、私の父は私とは真逆仕事第一で家庭を顧みず、中小企業勤務で倒産転職を繰り返した人でした(いまも働いているけど)。

加えてギャンブル好きなのでたまの休みパチンコに行ってしまうため、家計は火の車で、家に借金取りが来るから知人の家に避難するなんてことも割と日常茶飯事。

そんな父を反面教師として育ったためか、物心ついた頃から仕事はほどほど、家庭と趣味に生きよう」と決めていました。

実際に就職したり家庭を持ってみて、この判断は正解だったと思っています

私は器用ではないので、妻との夫婦生活子供の世話や将来に向けた教育投資、加えて自分趣味も充実させようとすると、とてもじゃないけど仕事のことを仕事中以外に考える暇も余裕もありません。ましてや転職なんてもってのほか

私にとって仕事は完全に金を稼ぐ手段であって、それ以上でも以下でもないのです。

もし退職するとしたら、そこそこ軌道に乗ってきた副業(というか趣味たまたま金になっている)がさらに伸びて、その収入資産運用だけで死ぬまでやっていけるフィナンシャルプランが完成した場合ですね。

かなりリスクを避けたい性格なので、今の会社で定年まで勤めた場合生涯賃金の倍額くらいの収入が得られるプランじゃないと辞めないと思いますけど。

NTTが一生安泰だと思っているのは甘い

そうですかね。ここは学生時代からかなり吟味した結果なので、割と自信をもって「大丈夫」と言えます

一番安定している公務員は、副業禁止を始めとする縛りが強すぎて却下しました。収入世間イメージよりだいぶ低いですしね。

次に挙げたのがインフラ系で、最後まで迷ったのが鉄道会社、電力会社、そして通信会社でした。

いずれも産業革命レベルの発展が無い限り業界自体は安定です。加えて各企業大株主構成(というか国や自治体資本がどの程度あるか)、財務諸表などを加味して選びました。

最終的にNTT(所要5社)が就職候補に残り、その内2社にエントリーして内定をもらった結果、茸に行くことに決めました。ここが潰れるとき日本の終わりだと思ってます日本が終わったら自分も終わりでいいかな、と。

コーディングしない奴が開発職やエンジニアを名乗るな

出ました。コーディング至上主義です。特にSNSでは「コーディングできないSIer vs プログラマー」みたいな話がウケますね。

システムを世の中に出すのに必要仕事コーディングが全てではないですよ、としか言いようがありません。パン屋必要なのはパン生地をこねて焼く人だけでは無いですよね。

ちなみに私自身は学生時代コーディング経験がありますが、社会人になってから仕事コードを書くことはありません。

外部設計はもちろん内部設計レビューバグが出てログ解析する際の一次切り分けにソースコードを見たりするので、一応関わっている開発プロジェクト言語知識はあります

数年前に開発部に異動してきてから業務時間中に学んだものであって、業務時間外にわざわざ勉強したりはしていません。

私は自分のことをエンジニアだとは思っていませんし、一生開発業務をやるわけではなく「今は開発職」というだけです。

そもそも弊社は3~5年周期で社内異動を繰り返す(いわゆるジェネラリスト育成)ため、深く狭い知識より広く浅い知識を身に着けるスタイルになります

PowerPointシステムグランドデザインを書ければ、あとはBP仕様書に落とし、ベンダが作ってシステムが出来上がる

・tableauで分析データを出せれば、あとはコンサル改善案を出してくれる

Prottプロトタイプを作れれば、あとはデザイナーデザイン仕様に落とし込み、ベンダが作ってWebサイトが出来上がる

ちょっと大げさに言えば、部署は違えど弊社のプロパー仕事はだいたいそんな感じです。だから自分で手を動かすことにやりがいを感じる人には向きませんよ、と言ったのです。

給料は悪くなくてもつまらない仕事をするのは嫌だ

私が一番驚いたのは、想像以上に仕事やりがい人生における重きを置いている人が多いことです。

弊社にいると、管理職含めて「仕事あくま仕事、家庭や趣味が最優先」な人が大半なので、かなりカルチャーショックでした。

私はとにかくコスパ重視の人間なのですが、今の収入と労力のバランスは最高だと思っています

もちろんもっと勉強して資格を取ったりガンガン外部で活動して人脈を作って高給の企業転職すれば、収入は多くなりますが、私にとってそれはコスパが悪いのです。

今以上に安定している企業は無いであろうという理由もありますが、加えて私生活時間犠牲にすることへの抵抗が大きい。

「年間300時間残業してワークライフバランスとか社畜かよ」というコメントもあったので、ちょっと気になって昨年度の労働時間を調べてみたところ、残業込みでざっと1900時間

まぁ上を見ればきりが無いですが、そんなに長くは無いかなと思います。今の生活基盤を維持するには、それくらいは仕事に費やさないと罰が当たるんじゃないかと。

あと、こればかりは個人差が大きいと思いますが、私はもともといっぱいいっぱいの状態で何かをし続けるのがとても苦手なので、ゆるゆるの環境が好きなのです。

からスキルの高い人たちが集まり切磋琢磨しあって互いを高め合う、ちょっと勉強サボるとおいていかれてしまう、そんな環境はたとえ高給でもお断りです。

弊社はだいたいどの部署でも勤務中の脳ミソの平均CPU使用率20%くらいで仕事が回るので、理想的です。

私は人生もっとも頑張る期間を高校生の3年間と決め、予定通りそれを終えました。

現役で国立大合格し、自分学費を稼いで大学院まで進み、失職や転職ストレスに悩まされないホワイト企業に進む。これで人生の基盤が完成した、と喜んだものです。

今はその基盤の上で、自分趣味や家庭生活育児教育とやることが盛りだくさんなので、基盤の変更やアップデートにかけるコスト時間)は持ち合わせていません。

なお、一応仕事も世の中にそれなりにインパクトを与えるものサービス提供し、フィードバックを得られるので、仕事自体やりがいも皆無というわけではありません。

仕事でかかわる社内外の人も良い人が多くて、その点もとても満足しています

最後

今より給料が多く、今より労働時間が短く、それでいて一生潰れない会社に、ローコスト転職できるチャンスが来ない限り、転職することはないでしょう。

そしてそんなことはあり得ないとわかりきっているので、私はNTT退職しません。

F35Aがブラックボックスだというけど

WindowsOSだって消費者ソースコード開示されてないかフリーズしても原因不明じゃん

プリウスお金払って買ってもメーカー製造法を教えてくれないよ

アメリカの言ってることはおかし

2019-04-10

Iyashi - Terms of Use

利用規約

利用規約には、Norihide Maeda(以下、「当社」といいます。)が提供するサービス「Iyashi」(以下「本サービス」といいます。)の提供条件、及び当社と本サービス利用者との権利義務関係が定められています。本サービスの利用に際しては、本利用規約の全文をお読みいただいたうえで、本利用規約同意していただく必要があります

第1条(利用規約適用

1. 本利用約(以下、「本規約」といいます。)の内容は、利用者と当社との本サービスの利用に関する契約(以下、「本サービス利用契約」といいます。)に適用されます

2. 当社サイト上で定める利用条件(以下、「個別条件」といいます。)は、本規約の一部を構成します。

3. 利用者は、本規約の定めに従って本サービスを利用しなければなりません。

4. 当社は、当社の必要に応じて本規約を変更する場合があります。この場合、変更後の利用規約利用者と当社の間の本サービス利用契約適用されます

第2条(用語定義

規約において使用する用語の意義は、次の各号の定めるとおりとします。

1. 「本サービス」:当社が運営するサービスであるIyashiをいいます

2. 「利用者」:本サービスを利用する全ての方をいいます

3. 「会員」:利用者のうち、会員登録必要サービスを利用するための登録完了した方をいいます

4. 「コンテンツ」:データ文書ソフトウェア画像文字、音等その他一切の情報をいいます

5. 「利用者情報」:氏名、メールアドレス等、会員が本サービスの会員登録に際して又は本サービスの利用に際して当社に提供するすべての情報をいいます

第3条(本サービスの内容)

1. 本サービスは、飲食店に関する動画等の情報投稿・閲覧することができるものです。

2. 本サービスは、日本国内に限り、利用することができます

第4条(利用者義務

1. 利用者は、自らの費用責任において、本サービスを利用するために必要機器ソフトウェア通信手段等の利用環境を整備します。

2. 利用者は、本サービスにおいて、他の利用者、その他第三者提供する情報真実性、完全性、適法性有用性等について、自らの責任で利用します。

3. 利用者は、自己責任において、利用者投稿したコンテンツの保存、管理バックアップを行います

第5条(利用者情報等の取扱い)

当社は、本サービスに関する利用者情報を「Iyashi プライバシーポリシー 」に基づき、適切に取り扱います

第6条(コンテンツ知的財産権

1. 利用者が本サービスにおいて投稿したコンテンツに関する著作権その他の知的財産権(以下、「知的財産権」といいます。)は、当該利用者帰属します。

2. 利用者は、当社に対し、投稿コンテンツ投稿を行った時点で、投稿コンテンツ知的財産権が存続する限り、以下を許諾します。

(1)本サービスのため投稿コンテンツを利用すること

(2)投稿コンテンツ国内外において複製、公衆送信頒布翻訳翻案等すること

(3)第三者による投稿コンテンツの利用(複製、公衆送信頒布翻訳翻案等)を許諾すること

(4)投稿コンテンツを要約・抜粋サイズ変更・切り抜き・モザイク加工等の改変をして本サービス又は当社が許諾した第三者サービスに利用すること

(5)本サービス又は当社が許諾した第三者サービス投稿コンテンツを利用する際に、利用者ハンドルネーム公表すること

3. 利用者は、本サービスコンテンツ投稿する場合、当該コンテンツ投稿する権利を有していること及び当社又は当社が指定する第三者による当該コンテンツの一切の利用行為第三者知的財産権侵害しないことを保証します。

第7条(サービス利用料金)

1. 本サービス無料でご利用いただけますが、一部の機能は有料です。

2. 有料のサービスを利用される場合は、利用者は、当社が定める方法により、当社に対し、利用料金を支払わなければなりません。

3. 当社は、お支払いいただいた利用料金を返金しないものします。

第8条(利用者禁止行為

利用者は、以下の各号の行為、これらを助長する行為、又は各号に該当するおそれのある行為を行ってはなりません。

(1)本規約及び個別条件に違反する行為

(2)法令又は公序良俗違反する行為

(3)違法行為犯罪行為反社会的行為を暗示・誘発・助長・推奨等する行為

(4)当社、他の利用者その他第三者著作権商標権等の知的財産権侵害する行為

(5)当社、他の利用者その他第三者財産・信用・名誉プライバシー肖像権その他の権利利益侵害する行為

(6)本サービス上のコンテンツを当社に無断で転用する行為(ただし、投稿者本人は除く。)

(7)本サービス上のコンテンツを複製、公衆送信頒布翻訳翻案等する行為

(8)登録情報として虚偽・不正確な情報掲載する行為

(9)スパム行為

10)当社又は他の利用者その他の第三者になりすます行為

11)不真実又は不正確な情報送信提供する行為

12わいせつ暴力的差別的情報送信提供する行為

(13)当社、他の利用者その他の第三者迷惑を及ぼす行為

(14)当社、他者サーバー負担をかける行為、又は本サービス運営ネットワークシステムに支障を与える行為

(15)リバースエンジニアリング、逆アセンブル、逆コンパイル等本サービスソースコードを解析する行為

(16)コンピュータウィルス等の有害コンピュータプログラム等を送信又は掲載する行為

17)その他、本サービス目的に照らし、当社が不適切判断する行為

第9条(会員登録

1. 本サービスの一部の機能は、会員登録必要です。

2. 会員登録希望する者は、本規約の内容に同意した上で、当社が定める方法により、会員登録の申込を行うものします。

3. 当社は、登録の申込みを行った者が、以下の各号のいずれかの事由に該当すると判断する場合登録及び再登録拒否することができます。この場合、当社は、その理由について開示する義務を負いません。

(1)当社に提供した登録事項の全部又は一部につき虚偽、誤記又は記載漏れがあった場合

(2)過去に本規約違反したことがある場合

(3)本規約違反するおそれがある場合

(4)その他当社が適当ではないと判断した場合

4. 登録希望者は、自身情報として真実、正確かつ最新の情報入力しなければなりません。

10条(登録情報の変更)

会員は、登録した事項に変更がある場合、遅滞なく、当社所定の方法により登録情報追記修正しなければなりません。

11条(アカウント管理

1. 会員は、自己責任において、付与されるアカウント管理し、第三者による不正利用を防止しなければなりません。

2. 会員は、アカウント第三者譲渡し、貸与し、又はその他第三者使用させてはなりません。

3. 会員のアカウント第三者に利用されたことによって生じた損害等については、当社はいかなる責任も負いません。

12条(登録の取消し)

1. 当社は、会員が次の各号に該当すると判断した場合には、事前に通知することなく、会員登録を取消し、当該会員に関する一切の情報を抹消することができます

(1)本規約のいずれかの条項違反する場合

(2)登録された情報に虚偽の事実があることが判明した場合

(3)第4条2項各号(登録拒否事由)に該当することが判明した場合

(4)登録されたメールアドレス又はパスワード不正利用があった場合

(5)会員が死亡した場合

(6)その他、当社が不適切だと判断する事由があった場合

2. 前項の場合において、会員に何らかの損害が生じたとしても、当社は一切責任を負いません。

3. 本条のいかなる規定も、当社が会員に対して行う損害賠償請求を妨げません。

第13条(退会)

1. 会員は、当社所定の方法又は条件に従い、退会し、会員登録を抹消することができます

2. 当社は退会した会員の登録情報コンテンツについて保管する義務を負いません。

第14条(違反行為等への対応措置

1. 当社は、利用者が本規約違反し、又は違反しているおそれがある場合、予告なく、当該利用者に対し、以下の措置を講ずることができます

(1)利用者に対し、是正を求めること

(2)利用者により送信されたコンテンツの削除その他の方法により、当社が違反状態是正すること

(3)違反事実通報及び違反者の情報捜査機関に開示すること

(4)利用者による本サービスの利用の停止

(5)登録の抹消・本サービス利用契約の解除

2. 当社は、法令義務付けられる場合を除き、前項の措置を講ずる義務を負うものではありません。

3. 第1項の措置により利用者不利益・損害が発生した場合においても、当社は、その責任を負いません。

第15条(損害賠償

1. 利用者が本規約違反して当社に損害を与えた場合利用者は、当社の損害を賠償します。

2. 利用者が本規約違反して利益を得た場合、当該利益は当社の損害を構成するものとみなします。

第16条(保証否認・免責)

1. 当社は以下の事項について保証しません。

(1)本サービスが会員の特定目的に適合すること、期待する機能商品価値・正確性・有用性を有すること

(2)本サービスで公開される情報真実性、最新性、確実性、完全性、適法性を有すること

(3)本サービス不具合が生じないこと

(4)本サービスの利用が特定業界団体適用がある法令又は内部規則違反しないこと

2. 当社は、本サービスの利用の停止、中断、変更等により利用者に損害が生じた場合、何らの責任を負いません。

3. 当社は、利用者送信したコンテンツ消滅、棄損、改ざん等が生じた場合、何らの責任を負いません。

4. 当社は、第三者知的財産権及びその他の権利の非侵害性、商品性、完全性、有用性及び特定目的に対する適合性を含め、明示又は黙示を問わず一切保証しません。

5. 当社は、利用者と他の利用者その他の第三者との間で生じた一切の紛争その他の問題について、関与せず、何らの責任を負いません。当社が当該問題にやむを得ず対応した場合、会員は、当社に対し、当社が負担した費用合理的弁護士費用を含みます)その他の損害の一切を補償するものします。

6. 当社が損害賠償責任を負う場合であっても、当社は、当該利用者の通常損害に限り、損害賠償責任を負うものとし、損害賠償額の上限は、本サービスの有料サービスの1ヵ月分の利用料金相当額とします。

17条(本サービスの停止・変更・終了)

1. 当社は、営業上・技術上の理由から、本サービスの全部又は一部の提供を停止・終了する必要があると判断した場合利用者に事前に通知することなく、本サービスの全部又は一部の提供を停止することができるものします。

2. 当社は、当社の判断で、本サービスの内容を変更する場合があります

3. 当社は、本条に基づき当社が行った措置によって利用者に生じた損害その他の不利益について一切の責任を負いません。

第18条(権利義務等の譲渡

1. 利用者は、本規約上の地位に基づく一切の権利義務を、当社の事前の書面による承諾なく、第三者譲渡もしくは貸与し、又は担保に供してはならないものします。

2. 当社は、本サービスに関する事業事業譲渡合併その他の事由により第三者に承継させる場合には、当該事業の承継に伴い、本規約上の地位、本規約に基づく権利義務及び利用者登録情報その他の情報を当該事業の承継人に譲渡することができるものとし、利用者は、かかる譲渡について本項において予め同意したものします。

19条秘密保持

利用者は、本サービスに関連して当社が利用者に対して秘密に取り扱うことを求めて開示した非公知の情報について、当社の事前の書面による承諾がある場合を除き、秘密に取り扱うものとし、第三者に開示することはできないものします。

20条(本規約の変更)

1. 当社は、当社の必要に応じて本規約を変更することができます

2. 本規約を変更する場合、当社は、利用者に対し、規約を変更する旨、変更後の規約および変更の効力発生時期を、当社のウェブサイト上の掲示、本サービス上の通知又は電子メール送信によって公表又は通知します。変更後の規約は、公表又は通知により定められた効力発生時から適用されます

3. 前項にかかわらず、法令上、利用者から規約の変更に関する同意を得る必要がある場合、当社は、利用者から同意を得て、本規約を変更します。

第21条(連絡・通知)

1. 本サービスに関する問い合わせその他利用者から当社に対する連絡又は通知、及び本規約の変更に関する通知その他当社から利用者に対する連絡又は通知は、電子メール送信又は本サービス上での通知その他当社が適当判断する方法で行うものします。

2. 連絡又は通知の宛先は、利用者が当社に届出た宛先とします。

3. 当社が利用者から届出を受けた宛先に連絡又は通知した場合、連絡又は通知した時までに届出事項の変更手続きがされていない限り、当該連絡又は通知は、利用者に到達したものとみなします。

第22条(分離可能性)

規約規定の一部が法令に基づいて無効判断されても、本規約の残りの規定及び一部が無効又は執行不能判断された規定の残りの部分は、継続して完全に効力を有するものとし、無効とされる部分が必要最小限となるように読み替えて解釈するものします。

23条(反社会的勢力の排除

会員は、次の各号に掲げる事項を保証します。

(1)反社会的勢力等(暴力団暴力団員、反社会的勢力、その他これに準ずる者を意味します。以下同じ)に該当しないこと

(2)自らの関係者が、反社会的勢力等に該当しないこと

(3)自らのPermalink | 記事への反応(0) | 18:18

2019-04-04

anond:20190404004348

Gitソースコード以外も管理できるんだから、それでリスト作ってGithubで公開して他人からのプルリクも受け付けてガンガンブラックリスト掲載者を増やしていけよ、ってイメージで語った話に受け取れた。

2019-04-03

件のツイートタイムスタンプ

2016年7月13日19:41に下記のツイートがされている。

明治大正昭和平成令和

違和感いね

https://twitter.com/syaaaan_/status/753177564164653056

これがトリックだと仮定すると、すぐに思いつくのは、投稿日時をあとから書き換えるハックだと思う。

ところで、ツイッターURLタイムスタンプ情報を含む。

いくつかの解説記事によると、id は以下のような 64 ビット整数であるようです。

+--------------------+--------------------+-------------------+

timestamp (42 bit) worker-id (10 bit) sequence (12 bit)

+--------------------+--------------------+-------------------+

それぞれの意味は以下の通り。細かいことは snowflakeソースコード*2を見て確かめました。

sequence: 同じミリ秒枠内での衝突を回避するためのシーケンス番号(ミリ秒ごとに 0 リセット

worker-id: この id を発行したサーバ固有の番号 *3

timestamp: System.currentTimeMillis() - 1288834974657L の値。(2010-11-04 10:42:54 頃からの経過ミリ秒

上位ビットが timestamp なので、この番号はおおよそ時間順に増えていきます

https://mametter.hatenablog.com/entry/20160920/p1

ということでツイートURLが示す時刻を計算してみる。

1.タイムスタンプ関係ない下位ビット無視

753177564164653056÷2^22 = 179571524659 (ms)

2.ミリ秒を日に換算

179571524659 (s) = 2078.374128 (day)

3.2010/11/4 10:42:54 の 2078.374128日後を計算する。

エクセルだと、日付は1日が1なので、単に足し算すれば良い。)

結果は、……なんと2016/7/13 19:41になった!

ということで、ツイートURLタイムスタンプは一致していた。びっくりだ。

もし、ツイートタイムスタンプを後から改ざんすることで前述のツイート作成したとすると、タイムスタンプと同時にURL改ざんする必要がある。

(もしくは、タイムスタンプ改ざんするとURLも書き換わる仕様になっている必要がある。)

そんなことは可能なのだろうか。

識者によるトリック解説を待ちたい。

2019-03-10

訂正印英訳したソースコードクラス名、オブジェクト名が correct stamp なので、なんか絶妙もにょる

correct って正しいとかそんな意味だよねーとググると、 correct in japaneseサジェストに引っかかるんだがどういうことだろう。

正義執行官とか、漫画でよくある訳名をファンサブが訳すときに使うんだろうか。

それとも駅とか公共機関英訳連呼されている?それとも、ヤマトのコレクト便の影響?

https://japanese.stackexchange.com/ があることを初めて知ったが、redditでやれって感じのQuoraにはない質問が並んでてゆるーい感じに癒される。

女型と雌型の違い?進撃の巨人の作者に聞いてくれよ。。。的な。

2019-03-06

anond:20190306195045

一応ソースコードざっと見て他の文に合わせてるけど、規約とかその辺ガバガバなのかほとんど言われたことないや

助言通り仕事ではその場(?)の雰囲気に合わせて、趣味でやる分には改行と{}をつけるスタイルでいくよ

丁寧に回答してくれてありがとう

2019-02-27

この拡張機能について

はてなブックマークFirefox でより便利に使える、はてなオフィシャル拡張です

日本最大規模のソーシャルブックマークはてなブックマーク ( http://b.hatena.ne.jp/ ) を

Firefox でより便利に使える、はてなオフィシャル拡張です。

はてなブックマーク Firefox 拡張では、以下の機能をご利用いただけます

(ツールバーはてなブックマークボタン右クリックして「オプションから機能をご利用になられるか設定できます。)

詳しい機能紹介については、以下のガイドページをご覧ください。

ソースコードは以下で公開しています

2019-02-24

自分仕事レベルに誰もついてこれない

別にそんな大した話ではない。

当方エンジニア

冷やかしでGAFAスカウトを受けて、3社受かるぐらいの能力はあるから……世界的に見てもきっとレベルは高い方に入るんだろう。

別にプログラミングが出来るとか、ディープラーニングができるとか、ビジネスを拡大してくとか……そういうのじゃないんだよ。

人それぞれ専門もあるし得手不得手もあるだろうしね。

ただ、ちょっとドキュメントを書く時にも、これじゃお客さんわかりにくいから、こう書かないといけないよな、とか

ソースコードでも、ここは行間が詰まってるから見にくいよな……とか、わかるじゃん。

なんで資料作らせて上の行と下の行で微妙に色が違うんだよとか、フォントサイズが違うとか。

別に能力が求められるとかじゃなくって、ちょっとした気遣いというかなんというか、人間として必要最低限っていうか。

そういう細かいところは指摘したくない。

本当に。本当はもっと本質的な話がしたい。

なんだけど、そのあたりをキッチリしてる人を見たことがない。

もう姑みたいな指摘ばっかりするのは嫌なんだ。

お客が馬鹿なのは良い。金払ってるし。いくらでも何度でも丁寧に教えるし。

けど、同僚や部下・上司頭が悪いのは耐えられない。

人と働くのに疲れた

自分自分一人でなんとかなる範囲で生きていくしかない。

2019-02-16

メーカーSIer作成したソースコードが酷すぎる

メーカーSIer(仮にF社とする)が過去作成したJavaソースコードを読んでいるんだけど、非常に読みにくい。

適切な単位メソッドとしてくくりだすことができていない

  • 1つのメソッドの行が多すぎる(いわゆる神メソッド)。数百行/1メソッドとかがざら。ほんとにざら。何なら10000行/1メソッドとかがある。読めねーよ。
  • 制御文のネストが深すぎる。for{if{if{if{for{if{}}}}}}とかがざら。ほんとにざら。何なら50多重ネストとかがある。読めねーよ。
  • 意味単位メソッドでくくりだしてくれない。if( /* ここに10行くらいにわたってなんかの式が書かれている */ ){}とかがざら。ほんとにざら。

命名適当すぎる


英語ができない


まとめ

これ読んでメンテナンスする身にもなってくれよ...。

もう疲れた

2019-02-09

anond:20190209165933

phpとかcやjavaみたいに他人からソースコード見えないなら丸パクリおk

javascriptやvbaみたいにソースが見れてしまうのはちょっと迷う…

って思ってるけどダメ

俺も知りたい。どのぐらいokなんだろう?

2019-02-06

COBOLってこんな言語

日経xTECHの元記事を読んでもCOBOLの特徴があんまり伝わってこない感じだし、かといってそれをディスってもしょうがないので、書いてみた。

https://anond.hatelabo.jp/20190205192741

COBOL本質的にはDSLなんだけど、一見汎用プログラミング言語に見えてしまってRubyPythonなんかと比較するのが誤解のもとではあると思う。今の人でも知ってそうなCOBOLに似ている言語はたぶんSQLで、データを処理するための専用言語。ただ、SQLは頑張ればすごく複雑なこともできるパワフルな言語で、だからこそ現代でも生き延びているわけだけど、COBOLはわりとシンプルデータ処理を想定している感じ。

SQLだけでアプリケーションを作れないのは触ったことある人なら誰でもわかると思う。普通JavaRubyで全体の流れを記述してデータベース入出力をSQLで書く。COBOLもそんな感じで、全体の流れをJCLやShellスクリプト、あるいはJP1のような運用管理ソフトで書く。SQLの1個の処理に相当するのがCOBOLコンパイル単位で、それごとにソースファイルが分割される。ひとつソースファイルに2個以上の処理を書くこともできるけど普通はしない。ここまで理解すると古いCOBOLに1ファイル内のすべての処理に影響するグローバル変数しかないのや、今のCOBOLコンパイル単位をまたぐ真のグローバル変数がないのも、それほどクリティカルではないことがわかると思う。もし、本当に複数の処理にまたがる値が必要なら、データベースに格納してしまえばいいんだし。

で、SQLでいうところのデータベースに相当するのがCOBOLではデータファイルsedawkテキストファイルCSVファイルを行ごとに処理するのとちょっと似てるけど、COBOL場合は固定長ファイルという点が違う。改行文字は入ってなくて、たとえば150バイトごとに次のレコードみたいな形式。これの1レコードごとに何月何日何時に〇〇という商品を□□円で売ったとか書いてあるのが典型的データの内容。それを集計して今日は〇〇が何個売れて売上がどれだけあったとか、出金合計がいくらで入金合計がいくらで、みたいな財務諸表を作ったり。SQLと同じように税率なんかが書いてあるマスタデータと、日々の売り上げが書いてあるトランザクションデータがあって、突き合わせたりということもする。こういう集計処理だからUIはなくて、夜中に自動起動するようなバッチプログラムが主な使われ方。(混乱するから余談だけど、今のCOBOLSQLを使って普通RDBにもアクセスできる。ただ使い方としては、RDBファイル処理→ファイル処理→ファイル処理→ファイル処理→ファイル処理→RDBみたいに、最初最後だけみたいなのが普通

入出力がファイルから今の感覚で考えるとアクセスは遅い。でもメリットもあって、1回に1行しかメモリに乗せないからどんな巨大なデータでも時間さえかければ処理できる。それこそ国民ひとりひとりの年金データとかね。あと、途中でバグ不正データで止まってもデータを失うのは最小限で済むので復旧が比較的楽だったり。

データベースの話に戻ると、テーブル定義はどこに書いてあるかというとデータファイル側ではなくてCOBOLプログラム側、というのがSQLと一番違うところかも。つまり、このデータファイル構造はこれこれこうなっていると想定して読みます、とソースコードに自分で書く。当然実際のデータ構造がそれと違ってたらおかしくなる。

まあそんな感じで80年代くらいに会計処理をする目的だったら悪い言語ではなかったので、銀行官公庁とか、電力水道ガスといったライフラインを扱う大企業がこぞって導入して今に至る感じ。普通大企業は途中でSunかに置き換えてその後Linuxクラウドさらに置き換えたりしたけど、最初に作ったシステムが大きければ大きいほど、重要であれば重要であるほど現代的な環境に置き換えられないというのが今の課題

2019-02-03

研修やりたくないマン

やりたくない。やることでプログラミングスキルが上がるというのはわかる。実際1年やって効果はあった。だが、この程度の効果なら1年かけずに身につく方法は多分もっとある。勉強に使っている自社システム斜陽で、社長はこれ以上そのシステムを使った案件はとらないと言っている。そんなシステムで若手向けにわざわざドリルを作ってやらせているのは、ひとえに保守ができる人間を増やすためなのだろう。

どちらかというと、ドリルのものというより研修の進め方の諸々が気にくわない。自由参加と言いつつ実質強制。参加しないと査定に響くと皆分かっている。実際参加せずに査定が下がったとして、それが不参加のせいだと判断する術が俺らにはない。締め切りはあるが、業務差し障ってはいけない。少しなら業務時間を使ってもいいというが、終わるわけがないのでサビ残だ。家でやることがたくさんあるのでサービス残業が何よりも憎い。

表向きホワイトで通ってる会社から、きつい言葉が飛び交うようなことはない。録音して何かの証拠になりそうな発言を、上司はきっちり避けるだろう。この場合「参加しないと査定に響く」のフレーズさえ引き出せればクロにできるけど難しそうだ。

強制研修なら残業代を出せ。強制じゃないなら参加しない。どうせエンジニアは向いていないから、転職するまで窓際社員でも別にいい。

俺の出来が悪いのは家で勉強をしないからだと皆が言う。まあそうだと思う。実際してない。他にやることがありすぎてそれどころじゃない。最近その作業責任が生まれてきているから尚更おざなりに出来ない。この時間のやりくりの難しさ自体は、おそらくどんな仕事もついてまわる宿命だ。いろいろ試せばもっとうまくやれるはずだと思う。「それどころじゃない」って言ったけど、プログラミング勉強に関しては会社が気に食わないか優先順位が低いだけだ。ネットググると「好きで勉強できるやつじゃなきゃ出来ない仕事だ」という話がゴロゴロ出てくる。それで需要供給がつりあうならいたずらに文系から採用したりしないだろ。

駄々こねてないで転職するまでは大人しく真面目に取り組めばいいのに。アスペ気味だから無理なんだ。上に書き散らしたようなことがずっと頭の中でぐるぐる回って、目の前のソースコードに集中できない。わかることもわからなくなる。間に合う課題も間に合わなくなる。上司に呼び出される。要約すれば「他の人達はみんな頑張っている。特に今年の新卒の子たちはすごく熱心だ。その中で君は頑張っていないように見える。頑張れるかい大丈夫かい?」。

うるせーハゲ。口調が厳しかろうが優しかろうが、サビ残時間数を努力値に置き換えるその考え方がのさばるから、若手はみんな脇目も振らずに自分の身をすりおろす。新卒なんて特にそうだ。すりおろしボロボロになって辞めていった同僚がいる。生き残ったら生き残ったで「俺らがしてきた苦労をどうしてお前はしないんですか?」とか言うようになる。というか、上層部はこんな手弁当教育させてないでちゃんとした研修予算を使えよ。学園長の思いつきかよ。

とりあえず明日また呼び出されると思う。どう切り抜けるべきか悩んでこの土日は憂鬱だ。土日の作業をやっているとき楽しい

2019-01-30

anond:20190129194210

リファクタリングを一切しない・させない体制

「この機能の追加の依頼がきたからやってくれる?アソコにあるソースコードコピペしてちょっと変えれば簡単だと思う」

2019-01-20

C++人生台無しにした。

柴田望洋先生明解C++

STL標準講座

テンプレートテクニック

・Effective C++

More Effective C++

・Modern Effective C++

C++ポケットリファレンス

・入門Qtプログラミング

実践Qtプログラミング

・Effective STL

Boost C++ Librariesプログラミング

オブジェクト指向における再利用のためのデザインパターン

C++ テンプレート完全ガイド

OpenCV for C++

・大規模C++ソフトウェアデザイン

MakeGitなどコマンド系の技術書 複数

・Database系の技術書 複数

ネットワーク系の技術書 複数

Linux系の技術書 複数

Windows系の技術書 複数

自作ハード系の技術書 複数

・他の言語技術書 複数

15年かけC++を独学した。

上記書籍を何度も熟読し、

C++実装も規格書も、C++によるライブラリ実装

Boostソースコードも常に読むよう心がけた。

土日も祝日も平日朝も平日のしごと終わった後の夜も、

ずっと一人で努力し、風呂トイレ、布団の中でも勉強し、プログラムを書いた。

基本情報処理ソフトウェア開発者試験ネットワークスペシャリストとデータベーススペシャリストを取得した。

しかし、正社員はもとより、時給2000円の派遣プログラマも時給1200円のアルバイトスキル不足で何十社受けても一社採用されない。

とはいえ面接官のレベルは「STLなんて初めて聞いた」「gccて何かの会社?」

C++企画書(誤字ではない)を書いてる人なんてのがいるの?」

「じょーほーしょりしけんてのがあるの?外国の話?」

といったもので私の実力は全く理解されていなかったのだが。

独身で、一切を我慢して娯楽を全く体験しないまま40歳になってしまった。IT業界人間すべてが恨めしい。

貯金100万もなく、素人が書いたプログラムに対して手順書のとおりにマウス操作してエクセルテスト結果を書くだけの仕事ばかりしている。

C++じゃなくてCかC#Javaか、とにかくC++以外だったらこんな事にならなかっただろうに。

何の意味もない、苦しかっただけの、最悪の人生になってしまった。

2019-01-17

anond:20190117002224

ページのソースコード先読みしてチェックするんだろうけど、行ってみて動的なコンテンツからやばそうなものが降ってきたみたいなことはあるんじゃない?

やはり限界はあるよ。全部先に読んでたらブラウジングパフォーマンス超落ちそうだし。

2019-01-01

Graphviz を使って Python抽象構文木を生成する。



1. こんな感じで使います


1.1. スクリプトとして使用する。

$ python parser.py sample.py


1.2. モジュールとして使用する。

import parser
code = '''
a  = 1 + 1
print(a)
'''
graph = parser.create_graph(code)
graph.render("sample")


2. ソースコード parser.py はこんな感じです。

import ast
import sys
import graphviz


def create_graph(lines):
    graph = graphviz.Graph(format='png')
    root = ast.parse(lines)
    node_list = [root]
    _setup(graph, node_list)
    return graph


def _setup(graph, node_list):
    # node
    node = node_list[-1]
    node_identity = str(len(node_list))
    node_name = type(node).__name__
    graph.node(node_identity, node_name)

    # children
    for child in ast.iter_child_nodes(node):
        node_list.append(child)
        child_identity = str(len(node_list))
        graph.edge(node_identity, child_identity)
        _setup(graph, node_list)


if __name__ == '__main__':
    file_name = sys.argv[1]
    with open(file_name) as file:
        lines = file.read()
    graph = create_graph(lines)
    graph.render(file_name)

2018-12-27

改行コードが混在したソースコードを、なるべく最小限の変更で修正しなきゃならん

2018-12-15

どうやら私はクソ雑魚プログラマらしい

自作ソフトを作ろうとして1年半かけて完成しなかった。ソースコードは5000行にしかならなかった。

業務外の時間、かつ、該当分野についてゼロから調査という情状酌量の要素はあったが

1年半の間は怠けずひたすら打ち込んだのだ。

一日あたり10行にしかなってない。

多分致命的に才能がないのだろう。

2018-12-13

十二国記の新作情報に対して半信半疑

今まで年末に「来年こそ出せるように頑張ります」と言ったが結局出せず・・・を何年も繰り返してきた。

かに今年の情報は「2500枚」「第一稿が出てきた」「2019年刊行されることは間違いない」

と今までにない具体的な宣言だけど、本当にこの宣言は守られるのかな・・・

プログラミングで言えば、まだソースコードが一通りできあがった段階だろうに。

まあプログラムと違って、文学作品コンパイルエラーはないから、とにかく出すという選択肢もあるのだろうけど。

2018-12-09

anond:20181209183335

https://qiita.com/doxas/items/9debec7e1f0c19bc8daa

これみたいに、ゲームソースコードを公開しているところを探して、

それを改造するところから始めましょう。

改造するために必要言語知識を学びましょう。

それでプログラミングがおぼろげにわかってきたら、

Unity とかアンリアルエンジンというゲームエンジンを学びましょう。

anond:20181209183335

ソースコードが公開されてるサンプルがあると思うのでとりあえずそれを写経してください。

プログラミング言語教科書を優先してしまうとクソどうでもいい構文の解説を延々と読まさせられ続けることになる。

まずは実際に動いているゲームで使われているテクニックを吸収するのが先決である

あとゲームとしてのまとめ方もね。自分欲望を何でもかんでも形にできることなんてなくて、

一日30分も集中できない自分が1週間で簡単ゲームを完成させるためにはどこまで仕様コンパクトにまとめないといけないか、とか。

実際には1週間でサンプルゲームに追加武装を1個足すくらいが限界とか

そういうのを知っていく必要があるだろう。

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