「UML」を含む日記 RSS

はてなキーワード: UMLとは

2021-07-08

anond:20210706022633

年収270万で)プログラマー引退して、医学部にきた俺が真面目に考えてやろう。

言葉は正しく使おう

真面目に読んでいて、ちょっと気になる箇所がある。たとえば PostgreSQL を postgre とか書くヤツは現場では嫌われるぞ。少なくとも postgres と書いてくれ。お里が知れるぞ。

プライドが高い

消えていくエンジニアの特徴だけど、叱責されたり馬鹿にされるのが嫌で VCSコミットしないヤツ、または貪欲コードレビューをされるのが嫌がるやつは、成長しない。

エリート意識

この業界は数年前には『デジタル土方』と揶揄される業界でした。ちなみに、アメリカでも「テック系はハードから避ける」という雰囲気でした。つまり何をいいたいのかというと、ソフトウェア開発者っていうのは「泥臭い領域」なんだよ。エリートとは程遠い場所にあるというね。

④ 「某天市場の先輩には,ここ仕事量少ないしオススメだよって言われたのですが,」

いやぁ、是非とも楽天で働くべきだよ。どうせ野村総合研究所とか NTT DATA なんて無理だと思うから

⑤「バックエンドは大体firebaseかgcpに任せているので,インフラあたりひいてはネットワーク知識が薄いです.」

うん、ココはまずい。基本的フロントエンドなんて給料が安いのよ。だって、誰にやらせてもデータベースにクソなDCLを飛ばせないから。逆に、データベースを触れることができるプログラマーリスク責任が大きいから、給料が高いのだよ。B4 になってもそれが理解できていないようだと、この先くらいよ。

⑥「後fpgaも少し.ハードウェア開発は結構苦手で回路図とか上手く書けません.」

君はソフトウェアエンジニアになりたいのだろ?世の中は分業で成り立っているのだから、全部やろうとするやつはアホだよ。

⑦「B3の夏くらいのタイミング東証一部上場企業インターンに行きました.」

インターン生はお客さんなの。君のスキル通用したのはすごいと思うけど、同じ感覚仕事はできないから注意しときなよ。

⑧「CSではないので受動に学ぶ機会も特になかったです」

なに言ってるの?そんなことは言い訳にならんよ。プログラマーになりたいのだろ?勉強しろよ。

⑨「Twitterとかで(主につよつよエンジニア達によって)エンジニアのべき論が語られているが,(以下略

逆にいうと、あなたインターンとして週3で20万円貰えていたのは、参入障壁が少ないからでしょ?強強エンジニアが生き残っているのは、それだけすごいということだよ。

⑩「仕事となると自分が扱ってこなかった技術を使わないといけなくて,扱ってこなかったということはつまり難しいということで.」

いやぁ、違うと思うよ。その問題が「難しい」なら切り分けて、上に「ココが自分能力では解決できないです」と持っていくだけなんだからさ。CS じゃないのだったら、仕事をするまで「扱わないまま」なんだよ?しかも、土日に勉強する気もないとなったらいつするのさ?

⑪「僕のようなクズと言われても仕方のない人材はどうしたら上手く(ストレスレス高収入の意)生きていけるのでしょうか?」

諦めなよ。ソフトウェアというものが「変化できることに価値がある」ものから。変化する業界ストレスフルだけど、立身出世する可能性が高いでしょ?安寧なばしょではないの。

⑫「今22歳,B4だ.Mまでは行く.Dに迷ってる.研究楽しいからです」

いやー、CSでない博士課程に行って、雇ってくれる企業があるかね?無いと思うけどな。

⑬「ネット実装例なんてクソの欠片も載ってないし,プロトコル理解のために特許資料論文をくまなく読む羽目になったのは本当に辛かったです.」

この時点で、君はコピペしかやってきてないことが理解できる。おそらく QUIC か MQTT あたりだろ?逆にいえば、それが実装できたら他社と差のつけられるプロダクトだったはずだ。つまり会社利益の源泉であった部分をみすみす実装できないようでは、そこらへんの専門卒以下だぞ。

⑭「html, css, javascript(jquery, express, react(next), vue(nuxt)), python, php, sql(postgre, oracle), graphql, ruby, swift, solidity, unity, c, c++ 業務レベルじゃなくていいならgo, kotlin, java, scala, dart, julia,(以下略

ムカつくというか、虫酸が走る書き方だ。箇条書きにすると、

⑯「プログラミングは17歳くらいから始めました」

プログラミングに年齢はないから。自分は9歳ではじめたけどね。

⑰「僕のつよつよエンジニアイメージを共有すると」

あー、俺も天才高校ときにいて、マーチ情報工学と旧帝の院の学費会社持ちという驚異的なやつがいたよ。今もブログ見てると、AndroidiPhoneアプリを書いているみたいで、元気そう。

⑱「つまり難易度が急に跳ね上がった.これが辛かったです...言語C++Java.」

それを上手にコントロールできるプログラマは世界中にもほとんどいねぇ。むしろ、月20万でやるもんならギルドから苦情が来るぞ。オレもアビームの人に給料を答えたら、「こんなヤクザ会社はやめろ」と耳うちされたよ。

人より良い経験をしたいという願望はあるのは素晴らしいと思うよ。しかしながら、君が到達したノウハウ他人にもできることだからね。ワン・オブ・ゼムになりたくないなら、努力し続けることだな。勉強をするのをやめたら、数年で中卒に負ける世界からな。覚悟しとけよ。

P.S. 医学部に来たのは家庭の都合だよ。それに、自己顕示しないと「場末コーダー」で読んでもくれないだろ?年収については、自分も低いと思うよ。なぜ低かったかというと、都内私立大学多浪中退自分にはベンチャーの皮を被った助成金搾取がメインの反社会的勢力フロントベンチャー企業ぐらいしか相手にしてくれなかったからだよ。そこの会社外国帰りのクスリをキメて、未成年の子女に手を出しては警察沙汰スレスレのことをしているキチガイ社長をやっていて、人工知能を作ろうと学生インターン酷使している会社だったのだけど、「サイバーエージェントに紹介する」という嘘にひっかかって、特定派遣事業免許がないのに客先常駐させられ、土曜は帰社日、日曜は社長Python勉強会に参加させられる、というブラック会社にいてピンはね率(60%)となると、まともに考えることもできず働くアリになってしまってたからだよ。

P.S.年収については、初日から派遣先会社に引き抜きのオファーをもらって、2ヶ月後に新しい会社に移動したけど、300万だったので CodeIQ というサイト転職をする準備をしていたよ。たしかDMM とかサイバーエージェント面接にいこうとしてたような記憶。その後で家庭の都合で、医学部に来たけど。

P.S.医学部医学科の6年生だよー。みんなが嫌いな私立医学部だけどね。ちなみに、俺もこの大学が嫌いだ。

P.S. ④「GraphQLをわざわざ書くのは理解できるけどな。」そうだとすると、RESTSOAP も書かないとまずくない?書くのだったら「RailsNextデータ受け渡しにGraphQLを使った経験が」という感じだと良いと思うけど。

P.S. ⑤「野村総研データを挙げるあたりSI寄りの仕事してたのかな。 」ちゃうねん。オレっちは多浪たからさ、そこのエントリーシートをかけなかったのよね。まぁまぁ大学が名門でさぁ、OB が誘ってくれるけど、年齢で弾かれて辛かったねん。

P.S. ⑥「ダウト学費をどうやって稼いだんや 」えぇ、親の金です。だから家庭の都合でと書いてるじゃろ。

P.S. ⑦「本当に医学生ならここ数年の技術についてこの指摘ができる程詳しいわけないし少なくとも10年位は業界にいないとこういう感覚は身に付かない。 」たしかおかしいよな。Kubernetes や Terraform を弄って、CIGitHub Actions、CD には AWS CodeDeploy を使って、ブログは Jekyll で静的サイトジェネレータを使いつつ、自前のサービスを立ち上げるために Rails, Next, React, PostgreSQL, Redis, Kafka, Elasticsearch, S3 の勉強をしつつ、スマホ環境のために KotlinSwift を触れているなんて変だよな。そういえば、Docker が来るまでは Vagrant環境をつくっていたのも忘れてたよ。あと Rust を今年に学ぶ言語にするなんて、受験生にあるまじき行為だよな。うん。

P.S.年収については、基本給が 22万で、残業200時間超えたらプラスだった気がする。あと、反社ベンチャーは「ポートフォリオ作成にまる一ヶ月間で拘束された、しかも無給で」という時点でヤバいのだけど、その会社コミットしたのは「サイバーエージェントに紹介する」ということだけであって、同時期に DMM面接に行けそうだったのよね。馬鹿なことをした。

P.S. ⑨「特にフロントエンドを見下す感じとか」オレ自身フロントエンド出なんだよ。何を隠そう、Adobe Flashゲームをつくっていたから。それでもって言うよ、バックエンドが一番大切だと。

P.S. ⑩ 「相続税対策お疲れさんだな。」あたり。

P.S. ⑪「5~10年前に人売りに捕まった話とするなら、年収270万も現実味を帯びる。」特定派遣は消えてくれてよかったよ。俺のところは特定派遣すら未登録だったけど。

P.S. ⑫「いい医者になるのだよ 」うん、頑張る。「オッサン」「社会不適合者」「あるき方がキモい」「プログラミングwww」「同じ班になりたくない」「親も頭が悪い」「生きてて恥ずかしくないの?」とか言われてるけど、頑張る!

P.S. ⑬ 「フロントエンド別に給与低くないよ。」えっ、そうなの?WebDesigning を読む限りだと、400万もいかないイメージだけど。

P.S「医学部6年でまだプログラムに興味あるの不思議。」好きなんだよ、言わせるな///

P.S. GitHub なんやね。気をつけるよ。

P.S.フルタイムじゃないのでしょ?」いいえ、東京都内フルタイム(ひどいときで、朝7から24)でしたよ。入った会社が「法律よりも、派遣先評価」という会社だったからね。

P.S. サイバーエージェントさん、ときどき御社の社名を使って「弊社に恩を売ると、サイバーエージェントに紹介する」というベンチャー跋扈しているので、どうにかしてください。わたくし、1ヶ月間もその嘘で jQueryDjango を回収させられた挙げ句、月給 2000円だったのですけど。本当に千円札2枚だったのですけど。ついでに、AndroidJava) と iPhoneObjective-C)と jQuery を使ったフロントエンドシステムに、バックエンドRails + Postgresqlシステムで、AWS を介したサービスを作らされたのも「サイバーエージェントに紹介する」と言われたからなんですけど。いったい、何なんですか?お前ん所は、コンプライアンスどうなってんじゃ。

P.S. 「好きそうだし医学部卒業してシレッとgoogle行ったれ 」無理っすよ。オレのスキルじゃ。

P.S.病院は」親がクリニックを持っていたけど、潰したよ。クリニックは人に患者がついていて、アルバイトを充てがっても患者さんが不幸になっていくのをみちゃったからね。自分責任を持って患者さんを見たいから、バイトなんて使わないよ。

P.S. 自分コードを書きたいタイプだったから、SIer みたいな UML とか書いて下請けコードさせるみたいなのは絶対に嫌だったのよね。だから SIer にはならなかったよ。やっぱり、現実にある計算機解決できる問題を、より直接的に触れて解決したいと思っているから。仕事ハードでも全く問題なし。

P.S. FPGA すごいよね。ザイリンクスアルテラIntelAMD に買収されて、すごいと思ったよ。2010年頃だっけ?、CPU限界FPGA突破しようという話があったけど。手を出そうと思ったけど、高性能なチップ100万ぐらいして挫折した記憶があるよ。

P.S.東海大医学部学士」は自分大学卒業してないから無理でした。あと、それ以上の詮索はやめてくれ...

P.S.MySQLそんなに嫌いなのか。」そんなこと書いたつもりはないが、あれ?確かに MySQLPostgreSQL より嫌いたけど、それは Oracle が親元だったり、Unicode の扱いがファッキンだったり、ストレージエンジンが切り替わるときカオスな目にあったけどさ、MySQL は好きだよ。お世話になったし。

P.S. 給料については契約後に言われたのよ。というか、もともとは「サイバーエージェントに紹介」するという理由で、ポートフォリオ作成Django の改修を手伝ったつもりで、入社とかする気は全く無かったのよ。それが、いきなり他所会社面接を受けさせられて「君は明日からXXで働くから履歴書を書いてね」と言われて、抗議したら「俺に恥ずかしい思いをさせるのか!業界に入れなくするぞ!」と大声でシャウトされて、気がついたらあっちが用意した履歴書拇印してしまったのよね。有料職業紹介と派遣登録をしてない会社だったから、そんなかとはできないはずなんだけどね。ホームページには「年収550万」と書いてあったけど、実際はまったく違ったのだけどね。法律違反を3つ侵す会社ってすごいよね。

P.S.「うーん、いらないかな。IT土方としての仕事しかないと思う。」だよな。おとなしく医者になるよ。ありがとう

P.S. Elasticsearch は全文検索機能がほしいからやってるよ。Redisインメモリセッションストアとして使いたいのよ。Kafka はさ、twitter のファボをじっそうしたいけど、RDB書き込み速度が上がらないから利用したいの。TensorFlow は全く理解できてないよ。それは、指摘されたとおり。

追記追記

逆に聞くけど、以下の知識があったらどれぐらいもらえるわけ?東京23区で。

2021-07-06

プログラム好きだけど、IT業界辞めることにした

プログラミングが嫌いならIT向いてないよ~、っていう論調転職勧めてくるブログばっかでウンザリしたので、プログラミング好きだけどIT辞める話する。

当方エンジニアプログラミング歴5年くらいのペーペー経験はチームリーダーちょっとあるくらい。転職したくせにSIer

辞める理由プログラミングする時間がないのと、新しい技術触れないから。

ここで、鋭くツッコミが入るだろうよ。おいおい、天下のITでそんなことあるはずないだろ?って。

ところがだよ、この業界の連中全然新しいの手出さねーんだよ。

未だにコンテナもCICDも知らなければ、クラウドとか危ないだろ?オンプレが一番とか言い出す連中ばっかだよ。

一時期、IaCだの、コンテナオーケストレーションだので夢中で遊んでて、業務にも取り入れよう!きっと同志がいるはず!と思い立った俺が馬鹿だったよ。

こいつらに利点説明しようがねーよ。「俺らプログラマからインフラ分かんないんだよね~」とかほざきやがるよ。コンテナなんかもう開発で使ってる奴アホほどいるだろ。

でも、まだ夢を見てたよ。自分アプリ作ってみたり、色んな言語にも触れてみてさ。

bluetoothだの、ラズパイだの、クラウドだの、ブラウザARだの、WebAssemblyだの色々触ってみたよ。全部面白かったよ。

そんで、気づいちゃったよ。俺、これできてどうすんだ??って。こんなの仕事になんねーだろ??って。

で、嫌気が刺して転職活動したよ。俺も夢見たよ。モダン環境ソースコードはGitLabとかCodeCommitとかで管理されてて、pushされたら、JenkinsおじさんとかCodeBuild君がビルドして、単体テスト環境コンテナイメージがGitLabCIとかで起動して、テストパスしたらmasterにマージされてバージョンタグも割り振られていつでもどこでも最新の実行環境が用意されてんだろって。

ドキュメントなんかはこんだ、社内のWikiでもって管理されてて、コーヒーでも啜りながら見れるんだろって。

UMLなんて、mermaid.jsだのnode-plantumlだの、draw.ioだので書いて、Officeなんて出番ない位モダンで人の手の入る余地なんてなくってさ。

フロントエンドなんてコンポーネント単位でStorybookなんかで管理しちゃってさ。

テストなんかE2Eだよ。人なんかいなくてもよくってさ。

でもってサーバークラウドだよ。ソースコード規約でしっかり管理されてて内部設計書なんて不要なくらい綺麗でピシっとしちゃってさ。

同僚なんて最高だよ。いつだってモリモリ新しいの追い続けてるイケイケのイケメンよ。

そんな環境を夢見ちゃったよ。

うん。ないよな。あるわけねーよ。ってかレベル高すぎて入れねーよそんな会社

でもさ、少しでもちょっとでもあってもいいじゃん。なのに、求人票に書いてあるのはいものつまんない仕事のことだよ。

要件定義がどーとか、詳細設計がなんだとか、大手金融顧客にしてますとか、言語JavaC#PHPSQLだよ。

しょうがいか転職したよ。その時の会社よりマシかなと思ったから。でもやっぱつまんね。使ってる技術は古いし、いつまでもExcelだし。

結局、ITなんて道具でしかないんだよな。金持ちお客様欲望叶えるためのツールよ。

世間的には必要とされてるアプリってのは、何か優れてるとか、プログラムがすごい、とかじゃない。

たまたま間に合わせで作ったアプリが、たまたま使い続けられてしまって、信頼と実績を築き上げてしまっただけってこと。

ただサービス企画広報が優れていれば、後ろで動いている技術なんてどうでもいいってことを理解してしまった。

それが、たまらなく悲しい。

エンジニア志望の未経験はよく見とけ。ブログ界隈でもてはやされてるWEBアプリ実態なんてこんなもんだよ。

で、IT業界をやめる。なんでかって言うと、仕事としてやるプログラミングがたまらなくつまらなくて苦行でしかいから。

いやいやと、職業プログラマーってプログラミング好きなやつには天職じゃないんかって?

こんな窮屈な環境プログラミング好きなんか言えないし、プログラミング趣味でやるだけなら、趣味時間取れる仕事の方がいいし、じゃあプログラマなんて選ばないよねーってだけよ。

っていうか多分、新しいもの面白そうなものが好きなだけで、プログラミング自体はそんな好きでもないんだろうな。

というか、プログラミングで金稼ぎたいとか、社会に役立ちたいとかって欲求がないんだよね。

多分、プログラマ以前に社会人として終わってんだろうな。責任感とかねーもん。今のプロジェクト燃えちゃって会社に損害行っても、それで懲戒免職かになってもいいと思ってるもん。

人間としても俺終わってるな。でも今となってはどうでもいいわ。

ということで辞める。次の仕事は決めてない。でもIT以外の業界ってすべからくつまんなそうなんだよな。うーむ。ニートするか。

2021-06-29

経験から1ヶ月でWeb企業就職するための勉強法

プログラマーに憧れる皆さん!こんばんは。

自分文系から」「未経験から」と諦めていませんか?大丈夫です!プログラミングセンス不要です。正しい手順で学べば、文系や未経験でも、誰でも一流のプログラマとして活躍することができます

今日は、未経験から最短でWeb企業就職するための勉強法をご紹介します!

オススメ方法

もっとオススメ方法は、顕正会セミナーに参加することです。

顕正会は、日本で最大のエンジニアコミュニティであり、非常に良質なテキストを用いて、プログラミング初心者向けのセミナーをしていることで有名です。顕正会に入ることで、未経験からでも一流エンジニアノウハウを学ぶことができます

また、意外と知られていませんが、日本エンジニアの8割は顕正会出身です。実はあのひろゆきビル・ゲイツ顕正会出身です。ですので、顕正会ネットワークを介して就職先を斡旋してくれたりしますし、自分顕正会員だと、面接時にも非常に有利になります

顕正会セミナーは、インターネットからも応募することができますし、秋葉原などで声をかけられることもありますので、誰でも簡単に参加できます。会員もフレンドリーな方ばかりですので、是非、お気軽に応募してみて下さい!無料体験もできますよ。

準備

プログラミング勉強を始める前に、まず、必要ものを準備しましょう。必ず必要ものと、できればあると良いものは以下の通りです。

必ず必要もの

まず、プログラムを書いて実行するためにパソコン必須です。

可能な限りスペックの高いものを買いましょう。2021年現在であれば、CPUは18コア、36スレッドRAMは128GBくらいはあると良いでしょう。ストレージSSDであれば1TBもあれば十分です。

OSは、Windowsで開発するならWindowsが、Macで開発するならMac必要です。よく分からなければMacを買っておく方が良いでしょう。基本的MacにできてWindowsにできないことはありません。

インターネットは、この記事を見ている人は既に持っているでしょう。ただし、モバイル回線で見ている人は、自宅に有線のインターネット環境を用意した方が良いです。

顕正会に入会すれば、上記スペックPC無料で貸し出ししてくれます。また、法人向けの専用線無料で取付工事を行ってくれる上に、通信費を全て負担してくれます

できればあると良いもの

まず、他の会員と連絡を取るために、SNSアカウントを持っていると良いでしょう。

最近は完全にPC上での学習もできますが、やはり、勉強の基本は紙のノートに直接書くことです。医学的にも、手指の動きと脳の記憶回路が関連していることは証明されており、手を動かすことで効率的ものを覚えることができます

Kindleなどの電子書籍リーダーは持っておいた方が良いです。紙の本は時代遅れです。いやしくもITプロを目指そうという人間が、このような最先端デバイスを使っていないのは恥だと思うべきです。紙の本を買わないことは、環境を守ることにも繋がります現金も持つのはやめましょう。

自宅での学習

せっかくセミナーに参加しても、受身聴くだけでは、プログラミング習得することは難しいです。ここでは、自宅でどのような勉強をすればよいのか、ご紹介します。

教科書写経する

まずは、教科書参考書写経することから始めましょう。教科書参考書の本文を一字一句正確に書き写すのです。

よく、「写経理屈を学べないからだめだ」と批判されますが、まずは正しい「型」を体に覚え込ませるのが先です。野球水泳などでも、細かい理屈よりも先にフォームを固めるのと同じです。書き写している内に理屈自然と身に付きます

また、写経メリットは「飛ばし読み」を防げるところです。一字一句正確に写経をすれば、細かい部分を「分かったつもり」になって飛ばししまうことを防げます。たとえば、比較演算子の等号は=ではなくて、==です。プログラミングはこういうところに注意して学ばなければいけません。

ソースコードフローチャートUML)に変換する

教科書サンプルコードノートに書き写したら、それを今度は自力フローチャートUML)に変換してみましょう。そうすることで、自分が本当にそのコード理解しているのか、確かめることができます

フローチャートUMLが素早く正確に描けることは、プログラマーとして働く上で非常に重要スキルです。それらはソフトウェア設計の基礎となりますし、ソースコードを読めない営業顧客にとっては貴重な資料となるからです。プロエンジニアは、COBOLソースコード10万行を1週間でフローチャートにして、Excel転載することができます

ここで一つ注意すべきことがありますフローチャートを描くときは、必ず専用の定規を用いて描いて下さい。フリーハンドで描いたもの業務ではフローチャートとは認められません。これはまともな企業就職すれば研修などで必ず習うことですから、今の内に覚えておきましょう。

Excel勉強する

エンジニアを目指すのであれば、プログラミングだけではなく、Excelの使い方も学びましょう。Excelエンジニアにとっての万能プラットフォームです。エンジニアはあらゆる作業Excelで行いますセル結合や罫線を用いて、見栄えの良い資料を作る技術は、エンジニアにとって必須です。

プログラミング学習中であれば、たとえば以下のような題材の資料を作ってみると良いでしょう。

尤も、以上の資料は、ツールを使うことで自動作成することもできます。たとえば、ソースコード更新履歴Gitなどのバージョン管理システムを使うことでも管理できますしかし、それらの資料としてのクオリティは非常に低いため、アマチュアしか使うことはありません。プロを目指す皆さんは、必ずExcelを使いこなせるようになりましょう!VBA習得必須です。

プログラミングのコツ

以上、プログラミング勉強法について解説しました。ここからは、実際にソースコードを書くときのコツを紹介していきます。他のプログラマと差をつけることができる技術ですので、意識するようにして下さい。

変数名は短く

プログラムで使う変数名は可能な限り短くしましょう。

理想は、aやxなどの一文字です。ただし、これだけだと26文字しか使えないので、a1, a2, ...のように連番でグルーピングすると良いです。

また、変数宣言使用箇所が離れた場合に、変数の型がすぐに分かるように、たとえばint型であればi1, i2, ...、string型であればs1, s2, ...のように命名すると、読む人に親切で自分ミスしにくくなります

変数名を長くするのは、以下のデメリットがあるため、絶対にやめましょう。


なるべく関数を作らない

多くのプログラミング言語には、クラス関数といった機能がありますが、これらは基本的ライブラリ提供者などが使う想定の機能であり、一般プログラマが使うのは好ましくありません。したがって、クラス関数はなるべく使わないようにして下さい。

関数を作ると、以下のデメリットがあります

不要関数を作らないためのテクニックには、以下のようなものがあります

まず、関数引数に「フラグ」を渡し、関数内部で処理を切り替えれば、1つの関数複数の処理をすることができます

function f(i) {
  switch(i) {
    case 1:
      // i = 1のときの処理
      break;
    case 2:
      // i = 2のときの処理
      break;
    case 3:
      // i = 3のときの処理
      break;
    // ...
  }
}

この方法は、以下に述べる「変数寿命を伸ばす」効果もあります。つまり、この関数内で宣言された変数は、すべての処理で共通して使用することができます

クラス不要関数を作らないようにするには、「継承」を用います複数クラスで用いる関数定義したクラスを1つ作っておき、そのクラス継承すれば、新しいクラス関数定義する必要はありません。

理想的には、プログラム内のすべての関数を同一のクラス定義し、それを継承するべきです。そのようなクラスは俗に「神」と呼ばれ、プログラマからはこの上なく尊ばれています

class God {
  f1() {
    // 関数1
  }
  
  f2() {
    // 関数2
  }
  // ...
}

class C1 extends God {
  // 何も書かなくても上の関数が使える!
}

class C2 extends God {
  // 何も書かなくても上の関数が使える!
}
// ...

変数寿命を長くする

変数宣言する場所によって、ソースコードのどの範囲から参照できるかが決まっています。この範囲が広いことを、「変数寿命が長い」と言います

たとえば、以下のコードのaは、関数定義の外側からは参照することができません。

function f() {
  var a = 1;
  return a;
}

一方、以下のコードのaは関数の内外どちらからでも参照することができます

var a = 1;

function f() {
  a = 2;
  return a;
}

変数寿命を長くするのは、プログラマの腕の見せ所です。

せっかく作った変数がすぐに死んでしまうのは、非常にもったいないです。ソースコードの表面には現れませんが、変数を作ったり捨てたりするのには、計算コストがかかります。したがって、寿命の短い変数を作りすぎてしまうと、プログラムが遅くなってしまます

また、変数寿命が長いということは、変数をたくさん作らなくても、1つの変数を色々なところで利用できるということであり、とても便利です。たとえば、上記の前者のコードでは、関数の外部からaの値を参照したくなっても、参照することができません。後者のように書いておけば、プログラムのどの箇所からでも、aの値を参照したり、更新することができます。したがって、変数寿命を長くするとプログラムを変更しやすくなります。つまり保守性が上がります

例外を潰す

例外とは、プログラムが予期しない処理をしようとした場合に、プログラムの実行を停止し、呼び出し元にエラーを通知する機能です。たとえば、「test.txt」というファイルを開こうとしても、そのファイル存在しない場合は、例外となります

例外が発生すると、プログラムが停止してしまうため、非常に困ります。したがって、プログラマ例外をきちんと処理しなければなりません。

ほとんどのプログラミング言語には、例外処理のための機構があります。たとえば、以下のような構文です。

try {
  // 例外が発生し得る処理
  // ex. ファイルを開く
}
catch (e) {
  // 例外が発生したときに、実行する処理
}

例外への対処は実はとても簡単です。是非ここで覚えて下さい。上記のような機構のある言語であれば、catch節の中身を何も書かなければ、例外が発生しても、何事もなくプログラム動作を続けます

try {
  // 例外が発生し得る処理
}
catch () {}

全ての例外を潰せば、決して不慮の動作で停止することのないプログラムを作ることができます。ですから例外が発生し得るコードは、積極的上記try-catch構文を用いて、例外を潰すようにしましょう。

おわりに

全体的に専門用語盛りだくさんの記事になってしまいましたが、

部分的にでも理解すればプログラミングを見る目が変わるはずです。

うさんくさい記事インターネットには多いですが、

そういう情報に惑わされずに本物の技術を身につけてもらえればと思います

2021-05-18

スタイラスペンかった

雑にUMLを書いて共有する用途として完璧だなこれ

2021-02-02

なんか絶望的にやる気のしない日だ。Grammarlyに怒られながら英文でもしたためながら時々UML本でも眺めるか?Webカメラでもポチるかな?

2021-01-30

コードを与えられてUMLの絵の類を描く課題

どういうわけだかわからないが、コードが手元にあってそれを解読しながらフローチャートみたいなのを描くという課題が発生した。

フローチャート描くソフトって?

フローチャートって日本しか使われてないのか知らないがきれいに描けるOSSがない。UMLの中でフローチャートっぽいものというとアクティティ図だ。これならPlantUMLで描ける。しかOSS

擬似コードっぽい

擬似コードぽいものを書けば絵にしてくれる。内部ではGvが動いてるようだ。しかし週明けの月曜中にとりあえずたたき台出すところまでいくだろうか?環境整備だけで終わりそう。月曜日は午前外勤だし。。

フィンランド首相が言ってた週休3日

一日6時間労働はどうなったんだ?月曜日と金曜日に3時間しか働かないって決めれば実質的に週3日になるぞ。月曜は午前がアレだから、午後はなにがあっても出社しない。金曜はお昼になったら上がる投了。実現できるのか

2021-01-29

わぁー私のDOT言語スキル低すぎっ!!

週明けまでにGraphvizフローチャートを作るか。。。Graphvizでつくるフローチャートっていびつなんだよ。日本人が良く見るフローチャートと違う。フローチャートって国際標準じゃないんだよな。UML図なんだろ?でも週明けまでにUMLマスターして図面描けるところまで。。って無理ゲー。むかしGraphvizコードシンタックス見たときは感動したけどな。フローチャートが変にしかできないことを知るや、急激になえた。Growiとか使いこなしてる人マジで尊敬するわ

2021-01-01

メーカーSIer勤務の年収600万のプログラマー技術スタック

先に言っておくがたいした技術習得していない。

この程度でも600万は稼げるという夢を持つか、こんなのでもちょっと何かが違うだけで600万稼げるか否かが分かれてしま業界に闇を感じるか、600万程度で何ドヤってるの?と思うかはご自由にどうぞ(外資系ってもっと稼げるの?)。

歳は30台前半。学部卒。BtoB向けのパッケージ製品の開発プロジェクトで、設計コーディングテストあたりを担当している。仕様について発注元との折衝もやっている。

業務で使う技術のうち、自分自身がそれなりに習得しているものだけを書く。プライベートしか習得使用していない技術は別。


以上。

PythongitDockerkubernetesもAnsibleもCIツールAWSGCPRuby on Railsも知らなくてもなんとかなってしまっている。業務でこれらのスキル要求されることは(今のところは)ないから。

楽でいいと思う一方、このままだと将来ヤバいとも思っている。いざ転職となったときに詰みそう。

でもいざとなったらググっていくらでも独学できるだろうとたかをくくっているので焦ってはいない。

というか「その他」のところに書いた能力が高ければ世の中大体はなんとかなるんじゃないの。知らんけど。

ちなみに自分は構築できないというだけで、プロジェクトではJenkinsとかgradleとかbabelだかwebpackだかでビルド環境は整えられている。

あとプライベートで、単純な仕様独自言語コンパイラフロントエンドC++LLVMで作っている(これで金が稼げるとは微塵も思っておらず、完全にただの趣味)。

2020-06-15

ソフトウェアに「設計書」と言う概念を持ち込んだのが間違い

https://b.hatena.ne.jp/entry/s/qiita.com/ko-flavor/items/e7a60bc897965943e0a0

ソフトウェアに適しているドキュメント設計書ではなく仕様書だ。

なぜソフトウェア設計書という場違い概念を持ち込んでしまったのだろう?

ましてエクセルで書くなんて。

ソフトウェア構造プログラミング言語以上に表現に適した記法はない。

プログラミング言語以外のソフトウェア構造を表す記法には例えばUMLなどがある。

しかUML概要表現する(モデリングする)にはいいかもしれないが、設計をしっかりと表現するには無理がありすぎるのだ。

エクセルを使い、一般的にもなっておらず規格化もされていないオレオレ記法設計表現しようとするなんて、さらに無理がありすぎる。

エクセル設計を書いているという現場では、きっとエクセルでの「設計作成」という本来すべき設計とは程遠いブルーカラー仕事にばかり力をいれ、まともな設計もされていないのではないか

それに設計作成に注力するあまり、まともな仕様書など書かれていないのであろう。

仕様に基づいて書かれたソースコード設計表現する。ソースコード設計なのだ

これがソフトウェアに適したやり方であり、だからこそ仕様がしっかりと実装されているかどうかを読み解けないようなソースコードはクソと言えるのだ。


Sierよ、設計書を捨て仕様書を書こう。仕様書ができたらソースコードに注力しよう。

2020-06-14

「こいつプログラミングセンス無いな」と思う奴の特徴

頼むからセンスのない奴はプログラマにならないでくれ。迷惑から

不要ものを作りたがる

これが最もプログラマになってはいけないタイプ犯罪行為などの言うまでもないことを除けば)。

たとえば

等。

組織で開発する上で、こういう人がいるメリットは無い。

不要ものを作ることで、プログラムは複雑になり、メンテナンスの手間は増え、バグは発生しやすくなる。

一定レベル以上のプログラマが最も自然だと同意するような実装(「実装しない」という選択肢もふくめて)をパッと思い付けない奴は、センスが足りていない。

将棋で言えば、駒がぶつかったら先ず取る手を考えるといった基本的な手筋が思い浮かばないようなもので、現実的に使い物にならない。

基本的コードなんて書かないに越したことはない。

これは、「Code Complete」「The Pragmatic Programmer」等の著名なプログラミングの本に共通する結論である

DRY原則を守らない

すべての知識は、システム内において単一の、曖昧さのない、そして信頼できる表現を有していなければならない。

これが「The Pragmatic Programmer」にあるDRY原則である

要するに、すべての情報単一ソースから決定されるべきということだ。情報が二重化すると、それらの間で不整合が生じバグの原因になる。また、二重化した情報は、修正の手間が二倍になる。

たとえば、ユーザープロフィール管理するレコードクラスに「生年月日」と「年齢」を同時に保持する必要はない。年齢は生年月日から計算できるからだ。

世の中には、「xxxFlag」みたいな不要変数を作ったり、共通ロジック抽出せずにコピペコード濫造するダメプログラマーが多すぎる。

もちろん、合理的理由があって、この原則適用されない場合もある。

たとえば、多くの言語組み込み配列文字列は、その要素と長さを二重に管理している。配列の長さは要素を数え上げることで求まるが、それには要素数に比例した計算時間がかかるためだ。

ただし、こういう場合でも、公開されたメソッドによる操作では、必ず内部の変数は同期されるように作ることが可能である。それをしないのは、怠慢でしかない。

変数命名が雑

文字変数とか連番とかは論外だが、「ary」とか「setData()」みたいな何の情報も伝えないような変数名・関数名を付けるやつ。

正直、コードの読みやすさなんて6〜7割くらいは変数名の付け方で決まると思っている。

名著「The Art of Readable Code」も、半分以上が変数名の付け方に関連する内容だ。

なぜ変数名が曖昧になるのかと言えば、怠慢を除けば理由は2つある。

1つは、コードを書いた奴自身が、そのコード機能を明確に言語化できないということ。

もう1つは、1つの関数で多くのことをやりすぎたりしていて、その変数役割曖昧になっているということ。

スコープを広げたがる

変数関数を参照できる範囲のことをスコープという。

たとえば、関数の内部で宣言した変数は、多くの言語では関数の外からは参照できない。

スコープは狭い方が良い。これはほとんど全ての状況に適用できるプログラミング大原則だ。

スコープが広いということは、ソースコードの多くの場所からその情報を参照・変更できることを意味する。

たとえば、クラスのメンバ変数は各々のインスタンス内でしか参照できないが、静的な変数はすべてのインスタンス共通に持つ。このため、静的な変数を変更すると、すべてのインスタンスに影響を及ぼし、影響範囲の把握やテストが困難になる。

スコープを広げるか狭めるか、2つの選択肢があったとして、広げる方に心が傾く奴は、プログラマをやめた方がいい。

結果的メンテナンス困難なコードを生むというのも勿論だが、単に書くだけでも、スコープが広い方が書きづらいのだ。つまり必要もないのにわざわざ変数スコープを広げようとする奴は頭のおかしい奴しかいないということになる。

コードが長い

複雑なメトリクスなどを持ち出すまでもなく、たとえば1メソッドの行数が何百行もあるとか、1クラスのメンバ変数が何十個もあるとか言うの。

これは論外であるプログラマとしての能力云々以前に、明らかな怠慢であり、社会人としての常識が疑われる。

定期的にメンテナンスされ続けているOSSソースコードなどを見ると、関数メソッド)の行数は平均して5〜10行。20行を超えるものは稀である

長いものであっても、外部で定義した関数を順番に呼び出しているだけであったり、リクエストハンドリングして各々の処理に振り分けているだけのようなものほとんどである

それを超えているコードは、合理的理由があってそうなっていることよりは、単に悪い設計であることの方が多い。

結論

これらは実はプログラミング云々というより、内容の理解力国語力の問題なのである

ある情報を得るために必要十分な情報は何かが分かってないから、余計な変数を作ったり、無駄変数スコープを広げたりする。

そして、自分が作るものを正確に理解していないから、適切な名前がつけられないし、適切なモジュール分割ができない。

それがすべての原因。

こういう人がまず身につけるべきは、プログラミングテクニックではなく、日本語を正しく読む力。

低学歴が「プログラミングなら自分でもできるかも」なんて思っちゃいけないってこと。もちろん、下請けSIerとかで使い捨てコード書きとして働くことはできるが、上に書いたような最低限の力がないなら、それ以上を望んではいけない。

ちなみに、上に書いていることと反対のことを思っている人も世の中にはいる。

特に、昔からプログラミングをしてきた自称ベテランに多い。その人は、能力があるというよりも、単に現代の開発に際して必要知識がないだけなので、真に受けないように。

また、大学コンピュータサイエンスの基礎を学びたての学生なども、知識をひけらかしたくて上と反対のことを言う傾向がある。その程度のことは、良識のあるプログラマはみんな分かっているのだが。

2020-05-28

anond:20200528080145

UMLについてはまるっきりアホだと思うから多めに見といてあげるんだけど

オブジェクト指向カプセル化うんぬんが不要ってほうがわけわからない。

オブジェクト指向理解してるかどうか計る上で、カプセル化って言葉は知らないけど

カプセル化意識して設計コーディングできることなんてあるのかな?

anond:20200526002227

これって受け狙いでっか? →

そもそもUMLなど別に技術者として知っておくべき知識でもありません。

  .....変わった芸風でんなぁ

2020-05-27

[]2020年5月26日火曜日増田

時間記事文字数文字数平均文字数中央値
007410315139.451.5
01687686113.042
02606938115.652.5
03263376129.826.5
04124737394.861.5
0564278543.530
0672648190.045
0710712378115.757
08105630060.032
0910110713106.153
1011212868114.946.5
111811760997.345
121841350673.443
131411162182.446
1412413705110.543
151571374787.645
161321093182.843
171991466473.732
182311840479.742
191581457092.236.5
2013116526126.241
212322262997.538.5
2215719301122.939
2312416310131.547.5
1日295228810097.642

本日の急増単語 ()内の数字単語が含まれ記事

情報処理試験(11), 情報処理技術者試験(14), プロジェクトマネジメント(4), 手越(6), 情報処理技術者(3), UML(7), 便乗商法(4), フルダイブ(3), 5年(3), 未承認(3), しゃしゃりで(4), 緊急事態宣言(22), 誹謗中傷(33), 技術者(15), 試験(41), 中傷(22), 実務(11), 応用(9), アイマス(10), アベノマスク(12), 解除(28), 役に立つ(14), 独自(19), 資格(37), 用語(17), 合格(16), テレワーク(22), 美人(29), プログラミング(16), 言語(19), コード(13), 在宅(14), 自殺(39)

頻出トラックバック先 ()内の数字は被トラックバック件数

情報処理技術者試験なんて何の役にも立ちません /20200526002227(51), ■確かに世間フェミニスト像は変わってない? /20200525185824(21), ■「実はもうなくなっている職業」ってない? /20200525133335(17), ■痴漢OK娘の影響で認知が歪んで痴漢してた /20200526191623(12), ■ /20200526010733(12), ■スポンジが発明される前はどうやって食器洗ってたんだろう /20200525205713(11), ■車種名の出てくる歌 /20200525184426(11), ■「女は頭が悪い」という先入観を持たれて嬉しかった /20200526105758(9), ■近親ものが好きなやつってDNAいかれてるの? /20200525234934(9), ■五目並べに狂うほどハマっている /20200526032755(9), ■子ども知的障害者になった /20200524233706(8), ■「誹謗中傷批判は違う!」という人ほど卑怯人物はいない。 /20200526172356(8), ■むしのうた /20200526162718(7), ■テレワーク同棲がバレた /20200525231042(7), (タイトル不明) /20200526021519(6), ■アイドルマスターシンデレラガールズについて /20200526233613(6), ■なぜ勝手に食べられるのはプリンなのか? /20200525233944(6), ■せっかくオンライン会議とかが認知されてきたので…。 /20200526182827(6), ■スペイン人が話す英語の良さ /20200526143350(6), ■anond20200526002227 情報処理技術者試験なんて簡単で案外役に立ちます /20200526101738(5), ■ /20200524003903(5), ■政権支持じゃないんだよね。反政権不支持なんだよね。 /20200526111557(5), ■anond20200526111818 /20200526112234(5), ■anond20200526115350 /20200526120937(5), ■職場で次亜塩素酸水噴霧器を使わせないために /20200526205516(5), ■ /20200526212214(5), ■anond20200526214339 /20200526214712(5)

2020-05-26

anond:20200526065217

うーん。さすがにUMLなんて普通にバンバン使われるし、それくらい知ってて当然だと思うのだが.....

anond:20200526164413

カプセル化等の用語を覚えること」と「良い設計ができること」を対比して、前者を批判しているのだから、良い設計ができる能力は「技術者としてのスキル」に含まれるとしか読み取れない。

カプセル化等の考え方やUML露骨設計に絡む能力なんでこれらを不要とするのは

設計スキルを向上させる目的に沿わない。

コーディングだけを重視する設定じゃないと矛盾する。

anond:20200526002227

資格を持ってない人の「資格はいらん」

英語をやってない人の「英語はいらん」

料理本を見てない人の「料理本はいらん」

スポーツ理論をやってない人の「スポーツ理論はいらん」

音楽理論勉強してない人の「音楽理論はいらん」

こういう意見を言う奴、大体自分がそれを持ってないことを正当化するために言ってることが多いからな。

そりゃ、中には本当に不要なのもあるのは確かだし、成功してる人で要らないと言ってるケースも少なからずあるが、

いくら成功者でもそれを持ってたらどう世界が広がるのかを理解してない人の意見から参考にするべきではない。

増田にしてもそうだが、UMLとか使わんとか言ってるレベルだと成功者どころか基本情報すら取れてないよな。

その増田知識レベルで、なぜ自分意見が正しいと信じられるのか謎。

anond:20200526134011

資格を持ってない人の「資格はいらん」

英語をやってない人の「英語はいらん」

料理本を見てない人の「料理本はいらん」

スポーツ理論をやってない人の「スポーツ理論はいらん」

音楽理論勉強してない人の「音楽理論はいらん」

こういう意見を言う奴、大体自分がそれを持ってないことを正当化するために言ってることが多いからな。

そりゃ、中には本当に不要なのもあるのは確かだし、成功してる人で要らないと言ってるケースも少なからずあるが、

いくら成功者でもそれを持ってたらどう世界が広がるのかを理解してない人の意見から参考にするべきではない。

増田にしてもそうだが、UMLとか使わんとか言ってるレベルだと成功者どころか基本情報すら取れてないよな。

その増田知識レベルで、なぜ自分意見が正しいと信じられるのか謎。

anond:20200526002227

それは試験の使い方が悪いだけでは。受験勉強みたいに試験合格することを目的にしちゃうとそうなるのかな。

どう使おうと勝手ですが。

ちなみにプログラマならUMLくらいは使えてほしいし、共通言語として開発方式動画エンコードくらいは知っていてほしいぞ。

ホワイトボードに図を書くときに「これはクラスで」とか説明したくないし。

anond:20200526002227 情報処理技術者試験なんて簡単で案外役に立ちます

情報処理技術者試験なんて、実務、特にマネジメントなんかやっていると役に立つことが多いです。

前提が違う気がしますよ?

まず前提の捉え方がちょっと違いますが、「情報処理技術者試験」とは国家試験でありながら、医師国家試験危険物取扱者試験などの国家試験とは異なり、

別に持ってなくても実務に従事できるって言う不思議国家試験であること。

なので、別にこの試験がなくても、情報処理技術者としての仕事にまったく支障はないです。

 

じゃあなんで試験なんか受けるの?

情報処理技術者試験は、ちゃん情報処理のこと勉強してますよ!ある程度の知識は修めてますよ!って言うためのものでしょう。

名刺資格もってるよマーク載せてIT系なら任せてよアピールをするためのものでしょう。

たこ資格を持っていることで、ちゃん勉強している人間なのか、その指標にもなるのでマネジメント一助になるです。

なので、エンジニア同士の共通言語って位置付けな気がします。

 

そんなにひどい問題が多いの?

ご指摘の通り、暗記問題ばかりで実際の業務には何ら役に立たないように思えますが、

一方で実務以外のコンピュータ技術本質的な設問であったり、法務関係問題もあったりして、

マネジメントの他、教える立場になったときや、企画開発なんかで広く浅い知識必要になったときには役に立つかと。

 

そもそも逆なんですよね。この問題を解けたら良い設計ができる、とか、優れたコーディングができるんじゃなくて、

まともな設計知識を持っていたら、このくらいの問題は知っていますよね?ってのが技術試験の一面です。

※あと、「コードが書けるわけでも、良い設計ができるわけでもありません。」って否定をするなら、せめて応用のほうから持ってきてくれないと・・・w

 

ちなみに、UMLの基本や、開発手法MPEGなどの標準規格名称なんかを覚えるのは、設計コーディングにおいて「超大事」なことです。

そうした名称をもとにして開発を進めていくわけで、いちいち「要求分析から実装までの開発プロセスを繰り返しながら、

システムを構築していくソフトウェア開発手法」でやります!みたいな説明しなくても「今回はスパイラルでーす」って一言で終わるじゃないですか。

基本情報技術者試験レベルメンバー全員が資格取得してくれていれば、「スパイラルでーす」で終われるってすばらしい。

 

情報処理技術者試験なんて簡単に取得できます

合格率は基本情報技術者試験で3割弱、応用情報技術者試験で2割強となっています

なので、一見難しそうに思えますが、非常に簡単です。覚えればいいんですから

そもそも基本情報なんて、非IT系会社勤務の方の合格率が、IT系会社勤務の方の合格率を超えているという・・・)

なのに合格率が低いのは、みんな真面目に勉強(暗記)していないからと思われます

試験会場にいくと分かるのですが、まずスタート時点で1割強は机の空きがあります。とりあえず申し込んでいるだけなんでしょう。

会社によっては予算取ったから行って来いよ、みたいなところもあるのでしょう。

暗記試験で引っ掛け問題も少なく、広く浅い問題範囲なので、1~2か月真面目にやればだれでも取得できますよ。

ただ、さすがに150分座ってるだけで取れるような試験ではないことは確かです。

範囲は広いですし、勉強してなきゃ聞いたことがない言葉なんてザラです。

 

情報処理技術者試験は案外役に立つ

上記を言い換えれば、真面目にコツコツ勉強してくるやつアピールが出来ます

合格率2割の国家試験を、通常業務をこなしながら取得してくるだと・・・!?化け物か! みたいな

雰囲気でとらえてくれるおじさんは、まだまだいっぱいいますよ。

 

受験だってそんなに高くないし、そこまで噛みつくような試験でもないと思いますけど。

anond:20200526002227

図の名称を答えさせる問題。図を読み取らせる問題なら、まだ理解できますが。そもそもUMLなど別に技術者として知っておくべき知識でもありません。

UMLって結構使うよ…?

情報処理技術者試験なんて何の役にも立ちません

情報処理技術者試験資格を取っても実質的に得るものはありません。「実質的に」というのは、技術者としてのスキル向上に貢献するということであり、「報奨金が貰える」とか「履歴書に書ける」などの技術無関係ものを含まないということです。

なぜ、情報処理技術者試験が役に立たないのかと言えば、出題内容が表面的な知識問題に極端に偏っており、本質的理解を問うていないからです。たとえば、オブジェクト指向の三要素に「カプセル化」「継承」「ポリモルフィズム」がありますが、これらを御題目のように唱えていても何の意味もありません。しかし、情報処理技術者試験ではこれらの用語さえ覚えておけば、しっかり点になります

オブジェクト指向におけるカプセル化説明したものはどれか。

  1. 同じ性質もつ複数オブジェクト抽象化して,整理すること
  2. 基底クラス性質派生クラスに受け継がせること
  3. クラス間に共通する性質抽出し,基底クラスを作ること
  4. データとそれを操作する手続を一つにして,オブジェクトの内部に隠ぺいすること

https://www.fe-siken.com/s/kakomon/19_haru/q42.html

こんなのは単なるポエムであり、これが解けたところでコードが書けるわけでも、良い設計ができるわけでもありません。

数学で喩えれば、「加減法」とか「代入法」のような用語を暗記して、具体的な連立方程式の解き方は分からないようなものです。

ひどい問題は挙げればキリがありません。

UML2.0において,オブジェクト間の相互作用時間の経過に注目して記述するものはどれか。

  1. アクティティ
  2. コミュニケーション
  3. シーケンス
  4. ユースケース

https://www.ap-siken.com/s/kakomon/22_haru/q44.html

図の名称を答えさせる問題。図を読み取らせる問題なら、まだ理解できますが。そもそもUMLなど別に技術者として知っておくべき知識でもありません。

要求分析から実装までの開発プロセスを繰り返しながら,システムを構築していくソフトウェア開発手法はどれか。

  1. ウォータフォールモデル
  2. スパイラルモデル
  3. プロトタイピングモデル
  4. リレーショナルモデル

https://www.fe-siken.com/s/kakomon/23_aki/q50.html

これも、こんな分類自体、覚えたところで何にもならないわけですが、その用語を答えさせる問題いかに、この試験エンジニアリングプロジェクト管理本質関係いかがよく分かります

極めつけはこれ。

次の画像符号化方式のうち,携帯電話などの低速回線用の動画像の符号化に用いられるものはどれか。

  1. JPEG
  2. MPEG-1
  3. MPEG-2
  4. MPEG-4

https://www.fe-siken.com/s/kakomon/17_haru/q52.html

地方公立中学校定期試験レベルのひどい問題です。出題者は、1だの2だの4だの7だのといった数字語句対応を覚えることが重要だと思っているのでしょうか。

情報処理技術者試験で測れる能力は以下の2つだけです。

  • 内容の理解はともかく、ある用語を「聞いたことがある」かどうか。
  • 150分間、落ち着いて椅子に座っていられるかどうか。

まり、ある種の発達障害ではない意識高い系ポエマー認定するための試験であり、そもそも技術者のための試験ではないということです。あとは、中小企業診断士などを受ける人が試験免除を獲得するためとか。

そもそもコンピュータプロジェクトマネジメントの技術を、資格試験勉強しようというのがピントがズレています。それらは既に良質な解説書が豊富にあるのだから、それで勉強すればいいのです。

2020-03-18

プレゼンしかやらないような表示方法

プレゼンしかやらないような表示と言えば、テキストボックスを矢印でつないで三段論法っぽいことをする奴。UML的には、状態機械図かもしくはクラス図かな?あえてMSワードでやるなら、PlantUML使って・・こいつってSVGでアウトできるんだっけ?

2020-03-08

日曜日の朝だ

coffee

やっとこさ起床した。コーヒーを淹れた。飲んだ。十分な濃さ。録画してあったテレビ番組を見る。見たことある内容だった。高島礼子じゃないか?懐かしい。

wife's present condition

妻の体調が悪い。昨日は確定申告を一部分肩代わりしてあげた。今日妻の体調は回復するのだろうか?お出かけや家族サービスの予定は入ってないはずだ。

object-oriented programming?

ここ2,3日、たまたまUMLだのOOPだのについて調べた。そういうことに全く無関係に生きられる環境にあるのだ!数年前いよいよVB6から乗り換えなくてはならなくなって、ドットネット学習した。クラスだの承継だの・・・ああそんなもの使わなくても俺が必要としているプログラムなら書けるんだけど・・・って思いながら眺めていた。結局ドットネットに乗り換えたが、そのあたりの機能は使ってないはずだ。

listof

ドットネットらしい機能採用した記憶があるのは「ListOf」だけだ。こいつは後から後付けで取得値を追加できるので、便利。昔ながらのbasicだと「uboundで配列の要素数を取得→要素数を1つ増す→最後の要素に新しい取得値を代入」ってな感じで面倒だった。その点くらいだな。ご利益は。

inferring their impressions

最近部下に当該プログラム保守というか拡張変更を委嘱しているが、きっと「読みにくいコード書いてるなぁ」って思われているのか?部下もOOPなんて知らないだろうけど・・すでに一部の大学では設置済みなんだろうけど OOPにメインフォーカスした科目とか作ればいいのにね。

open-source softwarez

OSSだけしか使わないと誓い「総OSS化」を進めていたはずだが、ここ数日商ソフトに戻ってしまった( ^ω^)・・・

mail check result

メールチェックしたけどたいしたメール来てない。良かった。日曜の朝にメールがいっぱい来てて要即返とかだったら精神的にダメージ大だよな

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