はてなキーワード: ソースコードとは
元増田です。
しばらく見ないうちにプチバズってたのでちょっと驚きました。
はてブや言及コメントも拝見し、いろんな意見があって面白かったです。
否定的な意見の中で代表的なものについて、いくつか反論(補足?)しておこうかな、と。
元記事と違って完全に私個人の主観の話なので、NTTに勤める人の一般的な価値観ではないことはあらかじめ言っておきます。
「無能だから転職できないんだろ」みたいなニュアンスですね。半分正解、半分不正解といったところでしょうか。
そもそも失職や転職のストレスを一生味わいたくないから今の会社を選んだので、転職してやっていくためのスキルや経験を積む必要性を感じていません。
少々自分語りになりますが、私の父は私とは真逆の仕事第一で家庭を顧みず、中小企業勤務で倒産や転職を繰り返した人でした(いまも働いているけど)。
加えてギャンブル好きなのでたまの休みもパチンコに行ってしまうため、家計は火の車で、家に借金取りが来るから知人の家に避難するなんてことも割と日常茶飯事。
そんな父を反面教師として育ったためか、物心ついた頃から「仕事はほどほど、家庭と趣味に生きよう」と決めていました。
実際に就職したり家庭を持ってみて、この判断は正解だったと思っています。
私は器用ではないので、妻との夫婦生活、子供の世話や将来に向けた教育・投資、加えて自分の趣味も充実させようとすると、とてもじゃないけど仕事のことを仕事中以外に考える暇も余裕もありません。ましてや転職なんてもってのほか。
私にとって仕事は完全に金を稼ぐ手段であって、それ以上でも以下でもないのです。
もし退職するとしたら、そこそこ軌道に乗ってきた副業(というか趣味がたまたま金になっている)がさらに伸びて、その収入と資産運用だけで死ぬまでやっていけるフィナンシャルプランが完成した場合ですね。
かなりリスクを避けたい性格なので、今の会社で定年まで勤めた場合の生涯賃金の倍額くらいの収入が得られるプランじゃないと辞めないと思いますけど。
そうですかね。ここは学生時代からかなり吟味した結果なので、割と自信をもって「大丈夫」と言えます。
一番安定している公務員は、副業禁止を始めとする縛りが強すぎて却下しました。収入も世間のイメージよりだいぶ低いですしね。
次に挙げたのがインフラ系で、最後まで迷ったのが鉄道会社、電力会社、そして通信会社でした。
いずれも産業革命レベルの発展が無い限り業界自体は安定です。加えて各企業の大株主の構成(というか国や自治体の資本がどの程度あるか)、財務諸表などを加味して選びました。
最終的にNTT(所要5社)が就職先候補に残り、その内2社にエントリーして内定をもらった結果、茸に行くことに決めました。ここが潰れるときは日本の終わりだと思ってます。日本が終わったら自分も終わりでいいかな、と。
出ました。コーディング至上主義です。特にSNSでは「コーディングできないSIer vs プログラマー」みたいな話がウケますね。
システムを世の中に出すのに必要な仕事はコーディングが全てではないですよ、としか言いようがありません。パン屋に必要なのはパン生地をこねて焼く人だけでは無いですよね。
ちなみに私自身は学生時代にコーディング経験がありますが、社会人になってからは仕事でコードを書くことはありません。
外部設計はもちろん内部設計のレビューやバグが出てログ解析する際の一次切り分けにソースコードを見たりするので、一応関わっている開発プロジェクトの言語知識はあります。
数年前に開発部に異動してきてから業務時間中に学んだものであって、業務時間外にわざわざ勉強したりはしていません。
私は自分のことをエンジニアだとは思っていませんし、一生開発業務をやるわけではなく「今は開発職」というだけです。
そもそも弊社は3~5年周期で社内異動を繰り返す(いわゆるジェネラリスト育成)ため、深く狭い知識より広く浅い知識を身に着けるスタイルになります。
・PowerPointでシステムのグランドデザインを書ければ、あとはBPが仕様書に落とし、ベンダが作ってシステムが出来上がる
・tableauで分析データを出せれば、あとはコンサルが改善案を出してくれる
・Prottでプロトタイプを作れれば、あとはデザイナーがデザイン仕様に落とし込み、ベンダが作ってWebサイトが出来上がる
ちょっと大げさに言えば、部署は違えど弊社のプロパーの仕事はだいたいそんな感じです。だから、自分で手を動かすことにやりがいを感じる人には向きませんよ、と言ったのです。
私が一番驚いたのは、想像以上に仕事にやりがいや人生における重きを置いている人が多いことです。
弊社にいると、管理職含めて「仕事はあくまで仕事、家庭や趣味が最優先」な人が大半なので、かなりカルチャーショックでした。
私はとにかくコスパ重視の人間なのですが、今の収入と労力のバランスは最高だと思っています。
もちろんもっと勉強して資格を取ったりガンガン外部で活動して人脈を作って高給の企業に転職すれば、収入は多くなりますが、私にとってそれはコスパが悪いのです。
今以上に安定している企業は無いであろうという理由もありますが、加えて私生活の時間を犠牲にすることへの抵抗が大きい。
「年間300時間も残業してワークライフバランスとか社畜かよ」というコメントもあったので、ちょっと気になって昨年度の労働時間を調べてみたところ、残業込みでざっと1900時間。
まぁ上を見ればきりが無いですが、そんなに長くは無いかなと思います。今の生活基盤を維持するには、それくらいは仕事に費やさないと罰が当たるんじゃないかと。
あと、こればかりは個人差が大きいと思いますが、私はもともといっぱいいっぱいの状態で何かをし続けるのがとても苦手なので、ゆるゆるの環境が好きなのです。
だから、スキルの高い人たちが集まり切磋琢磨しあって互いを高め合う、ちょっと勉強をサボるとおいていかれてしまう、そんな環境はたとえ高給でもお断りです。
弊社はだいたいどの部署でも勤務中の脳ミソの平均CPU使用率が20%くらいで仕事が回るので、理想的です。
私は人生でもっとも頑張る期間を高校生の3年間と決め、予定通りそれを終えました。
現役で国立大に合格し、自分で学費を稼いで大学院まで進み、失職や転職のストレスに悩まされないホワイト企業に進む。これで人生の基盤が完成した、と喜んだものです。
今はその基盤の上で、自分の趣味や家庭生活、育児に教育とやることが盛りだくさんなので、基盤の変更やアップデートにかけるコスト(時間)は持ち合わせていません。
なお、一応仕事も世の中にそれなりにインパクトを与えるものやサービスを提供し、フィードバックを得られるので、仕事自体のやりがいも皆無というわけではありません。
仕事でかかわる社内外の人も良い人が多くて、その点もとても満足しています。
今より給料が多く、今より労働時間が短く、それでいて一生潰れない会社に、ローコストで転職できるチャンスが来ない限り、転職することはないでしょう。
本利用規約には、Norihide Maeda(以下、「当社」といいます。)が提供するサービス「Iyashi」(以下「本サービス」といいます。)の提供条件、及び当社と本サービスの利用者との権利義務関係が定められています。本サービスの利用に際しては、本利用規約の全文をお読みいただいたうえで、本利用規約に同意していただく必要があります。
1. 本利用約(以下、「本規約」といいます。)の内容は、利用者と当社との本サービスの利用に関する契約(以下、「本サービス利用契約」といいます。)に適用されます。
2. 当社サイト上で定める利用条件(以下、「個別条件」といいます。)は、本規約の一部を構成します。
3. 利用者は、本規約の定めに従って本サービスを利用しなければなりません。
4. 当社は、当社の必要に応じて本規約を変更する場合があります。この場合、変更後の利用規約が利用者と当社の間の本サービス利用契約に適用されます。
本規約において使用する用語の意義は、次の各号の定めるとおりとします。
1. 「本サービス」:当社が運営するサービスであるIyashiをいいます。
3. 「会員」:利用者のうち、会員登録が必要なサービスを利用するための登録を完了した方をいいます。
4. 「コンテンツ」:データ、文書、ソフトウェア、画像、文字、音等その他一切の情報をいいます。
5. 「利用者情報」:氏名、メールアドレス等、会員が本サービスの会員登録に際して又は本サービスの利用に際して当社に提供するすべての情報をいいます。
第3条(本サービスの内容)
1. 本サービスは、飲食店に関する動画等の情報を投稿・閲覧することができるものです。
2. 本サービスは、日本国内に限り、利用することができます。
1. 利用者は、自らの費用と責任において、本サービスを利用するために必要な機器・ソフトウェア・通信手段等の利用環境を整備します。
2. 利用者は、本サービスにおいて、他の利用者、その他第三者が提供する情報の真実性、完全性、適法性、有用性等について、自らの責任で利用します。
3. 利用者は、自己の責任において、利用者が投稿したコンテンツの保存、管理、バックアップを行います。
当社は、本サービスに関する利用者情報を「Iyashi プライバシーポリシー 」に基づき、適切に取り扱います。
1. 利用者が本サービスにおいて投稿したコンテンツに関する著作権その他の知的財産権(以下、「知的財産権」といいます。)は、当該利用者に帰属します。
2. 利用者は、当社に対し、投稿コンテンツの投稿を行った時点で、投稿コンテンツの知的財産権が存続する限り、以下を許諾します。
(2)投稿コンテンツを国内外において複製、公衆送信、頒布、翻訳・翻案等すること
(3)第三者による投稿コンテンツの利用(複製、公衆送信、頒布、翻訳・翻案等)を許諾すること
(4)投稿コンテンツを要約・抜粋・サイズ変更・切り抜き・モザイク加工等の改変をして本サービス又は当社が許諾した第三者のサービスに利用すること
(5)本サービス又は当社が許諾した第三者のサービスに投稿コンテンツを利用する際に、利用者がハンドルネームを公表すること
3. 利用者は、本サービスにコンテンツを投稿する場合、当該コンテンツを投稿する権利を有していること及び当社又は当社が指定する第三者による当該コンテンツの一切の利用行為が第三者の知的財産権を侵害しないことを保証します。
第7条(サービス利用料金)
1. 本サービスは無料でご利用いただけますが、一部の機能は有料です。
2. 有料のサービスを利用される場合は、利用者は、当社が定める方法により、当社に対し、利用料金を支払わなければなりません。
3. 当社は、お支払いいただいた利用料金を返金しないものとします。
利用者は、以下の各号の行為、これらを助長する行為、又は各号に該当するおそれのある行為を行ってはなりません。
(3)違法行為・犯罪行為・反社会的行為を暗示・誘発・助長・推奨等する行為
(4)当社、他の利用者その他第三者の著作権、商標権等の知的財産権を侵害する行為
(5)当社、他の利用者その他第三者の財産・信用・名誉・プライバシー・肖像権その他の権利利益を侵害する行為
(6)本サービス上のコンテンツを当社に無断で転用する行為(ただし、投稿者本人は除く。)
(7)本サービス上のコンテンツを複製、公衆送信、頒布、翻訳・翻案等する行為
(14)当社、他者のサーバーに負担をかける行為、又は本サービスの運営やネットワーク・システムに支障を与える行為
(15)リバースエンジニアリング、逆アセンブル、逆コンパイル等本サービスのソースコードを解析する行為
(16)コンピュータウィルス等の有害なコンピュータプログラム等を送信又は掲載する行為
(17)その他、本サービスの目的に照らし、当社が不適切と判断する行為
2. 会員登録を希望する者は、本規約の内容に同意した上で、当社が定める方法により、会員登録の申込を行うものとします。
3. 当社は、登録の申込みを行った者が、以下の各号のいずれかの事由に該当すると判断する場合、登録及び再登録を拒否することができます。この場合、当社は、その理由について開示する義務を負いません。
(1)当社に提供した登録事項の全部又は一部につき虚偽、誤記又は記載漏れがあった場合
4. 登録希望者は、自身の情報として真実、正確かつ最新の情報を入力しなければなりません。
会員は、登録した事項に変更がある場合、遅滞なく、当社所定の方法により登録情報を追記・修正しなければなりません。
1. 会員は、自己の責任において、付与されるアカウントを管理し、第三者による不正利用を防止しなければなりません。
2. 会員は、アカウントを第三者に譲渡し、貸与し、又はその他第三者に使用させてはなりません。
3. 会員のアカウントが第三者に利用されたことによって生じた損害等については、当社はいかなる責任も負いません。
1. 当社は、会員が次の各号に該当すると判断した場合には、事前に通知することなく、会員登録を取消し、当該会員に関する一切の情報を抹消することができます。
(3)第4条2項各号(登録拒否事由)に該当することが判明した場合
(4)登録されたメールアドレス又はパスワードの不正利用があった場合
(5)会員が死亡した場合
2. 前項の場合において、会員に何らかの損害が生じたとしても、当社は一切責任を負いません。
3. 本条のいかなる規定も、当社が会員に対して行う損害賠償請求を妨げません。
第13条(退会)
1. 会員は、当社所定の方法又は条件に従い、退会し、会員登録を抹消することができます。
2. 当社は退会した会員の登録情報、コンテンツについて保管する義務を負いません。
1. 当社は、利用者が本規約に違反し、又は違反しているおそれがある場合、予告なく、当該利用者に対し、以下の措置を講ずることができます。
(2)利用者により送信されたコンテンツの削除その他の方法により、当社が違反状態を是正すること
(3)違反事実の通報及び違反者の情報を捜査機関に開示すること
2. 当社は、法令上義務付けられる場合を除き、前項の措置を講ずる義務を負うものではありません。
3. 第1項の措置により利用者に不利益・損害が発生した場合においても、当社は、その責任を負いません。
第15条(損害賠償)
1. 利用者が本規約に違反して当社に損害を与えた場合、利用者は、当社の損害を賠償します。
2. 利用者が本規約に違反して利益を得た場合、当該利益は当社の損害を構成するものとみなします。
(1)本サービスが会員の特定の目的に適合すること、期待する機能・商品的価値・正確性・有用性を有すること
(2)本サービスで公開される情報が真実性、最新性、確実性、完全性、適法性を有すること
(4)本サービスの利用が特定の業界団体に適用がある法令又は内部規則に違反しないこと
2. 当社は、本サービスの利用の停止、中断、変更等により利用者に損害が生じた場合、何らの責任を負いません。
3. 当社は、利用者が送信したコンテンツの消滅、棄損、改ざん等が生じた場合、何らの責任を負いません。
4. 当社は、第三者の知的財産権及びその他の権利の非侵害性、商品性、完全性、有用性及び特定の目的に対する適合性を含め、明示又は黙示を問わず一切保証しません。
5. 当社は、利用者と他の利用者その他の第三者との間で生じた一切の紛争その他の問題について、関与せず、何らの責任を負いません。当社が当該問題にやむを得ず対応した場合、会員は、当社に対し、当社が負担した費用(合理的な弁護士費用を含みます)その他の損害の一切を補償するものとします。
6. 当社が損害賠償責任を負う場合であっても、当社は、当該利用者の通常損害に限り、損害賠償責任を負うものとし、損害賠償額の上限は、本サービスの有料サービスの1ヵ月分の利用料金相当額とします。
1. 当社は、営業上・技術上の理由から、本サービスの全部又は一部の提供を停止・終了する必要があると判断した場合、利用者に事前に通知することなく、本サービスの全部又は一部の提供を停止することができるものとします。
2. 当社は、当社の判断で、本サービスの内容を変更する場合があります。
3. 当社は、本条に基づき当社が行った措置によって利用者に生じた損害その他の不利益について一切の責任を負いません。
1. 利用者は、本規約上の地位に基づく一切の権利義務を、当社の事前の書面による承諾なく、第三者に譲渡もしくは貸与し、又は担保に供してはならないものとします。
2. 当社は、本サービスに関する事業を事業譲渡、合併その他の事由により第三者に承継させる場合には、当該事業の承継に伴い、本規約上の地位、本規約に基づく権利、義務及び利用者の登録情報その他の情報を当該事業の承継人に譲渡することができるものとし、利用者は、かかる譲渡について本項において予め同意したものとします。
利用者は、本サービスに関連して当社が利用者に対して秘密に取り扱うことを求めて開示した非公知の情報について、当社の事前の書面による承諾がある場合を除き、秘密に取り扱うものとし、第三者に開示することはできないものとします。
1. 当社は、当社の必要に応じて本規約を変更することができます。
2. 本規約を変更する場合、当社は、利用者に対し、規約を変更する旨、変更後の規約および変更の効力発生時期を、当社のウェブサイト上の掲示、本サービス上の通知又は電子メールの送信によって公表又は通知します。変更後の規約は、公表又は通知により定められた効力発生時から適用されます。
3. 前項にかかわらず、法令上、利用者から本規約の変更に関する同意を得る必要がある場合、当社は、利用者から同意を得て、本規約を変更します。
第21条(連絡・通知)
1. 本サービスに関する問い合わせその他利用者から当社に対する連絡又は通知、及び本規約の変更に関する通知その他当社から利用者に対する連絡又は通知は、電子メールの送信又は本サービス上での通知その他当社が適当と判断する方法で行うものとします。
2. 連絡又は通知の宛先は、利用者が当社に届出た宛先とします。
3. 当社が利用者から届出を受けた宛先に連絡又は通知した場合、連絡又は通知した時までに届出事項の変更手続きがされていない限り、当該連絡又は通知は、利用者に到達したものとみなします。
第22条(分離可能性)
本規約の規定の一部が法令に基づいて無効と判断されても、本規約の残りの規定及び一部が無効又は執行不能と判断された規定の残りの部分は、継続して完全に効力を有するものとし、無効とされる部分が必要最小限となるように読み替えて解釈するものとします。
2016年7月13日19:41に下記のツイートがされている。
これがトリックだと仮定すると、すぐに思いつくのは、投稿日時をあとから書き換えるハックだと思う。
いくつかの解説記事によると、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 頃からの経過ミリ秒)
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も改ざんする必要がある。
訂正印を英訳したソースコードのクラス名、オブジェクト名が correct stamp なので、なんか絶妙にもにょる。
correct って正しいとかそんな意味だよねーとググると、 correct in japanese がサジェストに引っかかるんだがどういうことだろう。
正義執行官とか、漫画でよくある訳名をファンサブが訳すときに使うんだろうか。
それとも駅とか公共機関で英訳で連呼されている?それとも、ヤマトのコレクト便の影響?
https://japanese.stackexchange.com/ があることを初めて知ったが、redditでやれって感じのQuoraにはない質問が並んでてゆるーい感じに癒される。
女型と雌型の違い?進撃の巨人の作者に聞いてくれよ。。。的な。
はてなブックマークを Firefox でより便利に使える、はてなオフィシャルの拡張です
日本最大規模のソーシャルブックマーク、はてなブックマーク ( http://b.hatena.ne.jp/ ) を
Firefox でより便利に使える、はてなオフィシャルの拡張です。
はてなブックマーク Firefox 拡張では、以下の機能をご利用いただけます。
(ツールバーのはてなブックマークボタンを右クリックして「オプション」から各機能をご利用になられるか設定できます。)
別にそんな大した話ではない。
冷やかしでGAFAのスカウトを受けて、3社受かるぐらいの能力はあるから……世界的に見てもきっとレベルは高い方に入るんだろう。
別にプログラミングが出来るとか、ディープラーニングができるとか、ビジネスを拡大してくとか……そういうのじゃないんだよ。
人それぞれ専門もあるし得手不得手もあるだろうしね。
ただ、ちょっとドキュメントを書く時にも、これじゃお客さんわかりにくいから、こう書かないといけないよな、とか
ソースコードでも、ここは行間が詰まってるから見にくいよな……とか、わかるじゃん。
なんで資料作らせて上の行と下の行で微妙に色が違うんだよとか、フォントサイズが違うとか。
別に能力が求められるとかじゃなくって、ちょっとした気遣いというかなんというか、人間として必要最低限っていうか。
そういう細かいところは指摘したくない。
もう姑みたいな指摘ばっかりするのは嫌なんだ。
お客が馬鹿なのは良い。金払ってるし。いくらでも何度でも丁寧に教えるし。
人と働くのに疲れた。
メーカー系SIer(仮にF社とする)が過去に作成したJavaのソースコードを読んでいるんだけど、非常に読みにくい。
これ読んでメンテナンスする身にもなってくれよ...。
もう疲れた。
日経xTECHの元記事を読んでもCOBOLの特徴があんまり伝わってこない感じだし、かといってそれをディスってもしょうがないので、書いてみた。
https://anond.hatelabo.jp/20190205192741
COBOLは本質的にはDSLなんだけど、一見汎用プログラミング言語に見えてしまってRubyやPythonなんかと比較するのが誤解のもとではあると思う。今の人でも知ってそうなCOBOLに似ている言語はたぶんSQLで、データを処理するための専用言語。ただ、SQLは頑張ればすごく複雑なこともできるパワフルな言語で、だからこそ現代でも生き延びているわけだけど、COBOLはわりとシンプルなデータ処理を想定している感じ。
SQLだけでアプリケーションを作れないのは触ったことある人なら誰でもわかると思う。普通はJavaやRubyで全体の流れを記述してデータベース入出力をSQLで書く。COBOLもそんな感じで、全体の流れをJCLやShellスクリプト、あるいはJP1のような運用管理ソフトで書く。SQLの1個の処理に相当するのがCOBOLのコンパイル単位で、それごとにソースファイルが分割される。ひとつのソースファイルに2個以上の処理を書くこともできるけど普通はしない。ここまで理解すると古いCOBOLに1ファイル内のすべての処理に影響するグローバル変数しかないのや、今のCOBOLにコンパイル単位をまたぐ真のグローバル変数がないのも、それほどクリティカルではないことがわかると思う。もし、本当に複数の処理にまたがる値が必要なら、データベースに格納してしまえばいいんだし。
で、SQLでいうところのデータベースに相当するのがCOBOLではデータファイル。sedやawkでテキストファイルやCSVファイルを行ごとに処理するのとちょっと似てるけど、COBOLの場合は固定長ファイルという点が違う。改行文字は入ってなくて、たとえば150バイトごとに次のレコードみたいな形式。これの1レコードごとに何月何日何時に〇〇という商品を□□円で売ったとか書いてあるのが典型的なデータの内容。それを集計して今日は〇〇が何個売れて売上がどれだけあったとか、出金合計がいくらで入金合計がいくらで、みたいな財務諸表を作ったり。SQLと同じように税率なんかが書いてあるマスタデータと、日々の売り上げが書いてあるトランザクションデータがあって、突き合わせたりということもする。こういう集計処理だからUIはなくて、夜中に自動起動するようなバッチプログラムが主な使われ方。(混乱するから余談だけど、今のCOBOLはSQLを使って普通のRDBにもアクセスできる。ただ使い方としては、RDB→ファイル処理→ファイル処理→ファイル処理→ファイル処理→ファイル処理→RDBみたいに、最初と最後だけみたいなのが普通)
入出力がファイルだから今の感覚で考えるとアクセスは遅い。でもメリットもあって、1回に1行しかメモリに乗せないからどんな巨大なデータでも時間さえかければ処理できる。それこそ国民ひとりひとりの年金データとかね。あと、途中でバグや不正データで止まってもデータを失うのは最小限で済むので復旧が比較的楽だったり。
データベースの話に戻ると、テーブル定義はどこに書いてあるかというとデータファイル側ではなくてCOBOLプログラム側、というのがSQLと一番違うところかも。つまり、このデータファイルの構造はこれこれこうなっていると想定して読みます、とソースコードに自分で書く。当然実際のデータ構造がそれと違ってたらおかしくなる。
まあそんな感じで80年代くらいに会計処理をする目的だったら悪い言語ではなかったので、銀行や官公庁とか、電力水道ガスといったライフラインを扱う大企業がこぞって導入して今に至る感じ。普通の大企業は途中でSunとかに置き換えてその後Linuxやクラウドにさらに置き換えたりしたけど、最初に作ったシステムが大きければ大きいほど、重要であれば重要であるほど現代的な環境に置き換えられないというのが今の課題。
やりたくない。やることでプログラミングスキルが上がるというのはわかる。実際1年やって効果はあった。だが、この程度の効果なら1年かけずに身につく方法は多分もっとある。勉強に使っている自社システムも斜陽で、社長はこれ以上そのシステムを使った案件はとらないと言っている。そんなシステムで若手向けにわざわざドリルを作ってやらせているのは、ひとえに保守ができる人間を増やすためなのだろう。
どちらかというと、ドリルそのものというより研修の進め方の諸々が気にくわない。自由参加と言いつつ実質強制。参加しないと査定に響くと皆分かっている。実際参加せずに査定が下がったとして、それが不参加のせいだと判断する術が俺らにはない。締め切りはあるが、業務に差し障ってはいけない。少しなら業務時間を使ってもいいというが、終わるわけがないのでサビ残だ。家でやることがたくさんあるのでサービス残業が何よりも憎い。
表向きホワイトで通ってる会社だから、きつい言葉が飛び交うようなことはない。録音して何かの証拠になりそうな発言を、上司はきっちり避けるだろう。この場合「参加しないと査定に響く」のフレーズさえ引き出せればクロにできるけど難しそうだ。
強制の研修なら残業代を出せ。強制じゃないなら参加しない。どうせエンジニアは向いていないから、転職するまで窓際社員でも別にいい。
ー
俺の出来が悪いのは家で勉強をしないからだと皆が言う。まあそうだと思う。実際してない。他にやることがありすぎてそれどころじゃない。最近その作業に責任が生まれてきているから尚更おざなりに出来ない。この時間のやりくりの難しさ自体は、おそらくどんな仕事でもついてまわる宿命だ。いろいろ試せばもっとうまくやれるはずだと思う。「それどころじゃない」って言ったけど、プログラミングの勉強に関しては会社が気に食わないから優先順位が低いだけだ。ネットでググると「好きで勉強できるやつじゃなきゃ出来ない仕事だ」という話がゴロゴロ出てくる。それで需要と供給がつりあうならいたずらに文系から採用したりしないだろ。
ー
駄々こねてないで転職するまでは大人しく真面目に取り組めばいいのに。アスペ気味だから無理なんだ。上に書き散らしたようなことがずっと頭の中でぐるぐる回って、目の前のソースコードに集中できない。わかることもわからなくなる。間に合う課題も間に合わなくなる。上司に呼び出される。要約すれば「他の人達はみんな頑張っている。特に今年の新卒の子たちはすごく熱心だ。その中で君は頑張っていないように見える。頑張れるかい?大丈夫かい?」。
うるせーハゲ。口調が厳しかろうが優しかろうが、サビ残の時間数を努力値に置き換えるその考え方がのさばるから、若手はみんな脇目も振らずに自分の身をすりおろす。新卒なんて特にそうだ。すりおろしてボロボロになって辞めていった同僚がいる。生き残ったら生き残ったで「俺らがしてきた苦労をどうしてお前はしないんですか?」とか言うようになる。というか、上層部はこんな手弁当の教育させてないでちゃんとした研修に予算を使えよ。学園長の思いつきかよ。
・STL標準講座
・Effective C++
・Modern Effective C++
・Effective STL
15年かけC++を独学した。
ずっと一人で努力し、風呂、トイレ、布団の中でも勉強し、プログラムを書いた。
基本情報処理、ソフトウェア開発者試験、ネットワークスペシャリストとデータベーススペシャリストを取得した。
しかし、正社員はもとより、時給2000円の派遣プログラマも時給1200円のアルバイトもスキル不足で何十社受けても一社も採用されない。
とはいえ、面接官のレベルは「STLなんて初めて聞いた」「gccて何かの会社?」
「C++の企画書(誤字ではない)を書いてる人なんてのがいるの?」
「じょーほーしょりしけんてのがあるの?外国の話?」
独身で、一切を我慢して娯楽を全く体験しないまま40歳になってしまった。IT業界の人間すべてが恨めしい。
貯金100万もなく、素人が書いたプログラムに対して手順書のとおりにマウスを操作してエクセルにテスト結果を書くだけの仕事ばかりしている。
1. こんな感じで使います。
$ python parser.py sample.py
import parser code = ''' a = 1 + 1 print(a) ''' graph = parser.create_graph(code) graph.render("sample")
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)
https://qiita.com/doxas/items/9debec7e1f0c19bc8daa
これみたいに、ゲームのソースコードを公開しているところを探して、
それを改造するところから始めましょう。
ソースコードが公開されてるサンプルがあると思うのでとりあえずそれを写経してください。
プログラミング言語の教科書を優先してしまうとクソどうでもいい構文の解説を延々と読まさせられ続けることになる。
まずは実際に動いているゲームで使われているテクニックを吸収するのが先決である。
あとゲームとしてのまとめ方もね。自分の欲望を何でもかんでも形にできることなんてなくて、
一日30分も集中できない自分が1週間で簡単なゲームを完成させるためにはどこまで仕様をコンパクトにまとめないといけないか、とか。
実際には1週間でサンプルゲームに追加武装を1個足すくらいが限界とか
そういうのを知っていく必要があるだろう。