「オブジェクト指向」を含む日記 RSS

はてなキーワード: オブジェクト指向とは

2020-03-11

anond:20200311082445

書き直す事を解説した本は聞いた事がないな。

ただ、増田も知ってるかもしれないけど、一般的オライリーの本ははずれは少ないって言われてるから探してみればあるかもしれない。

日本出版社が出したオブジェクト指向の本を読んだ事はあるけど、今身になっているかと言うと…よくわからん。)

あとお節介かもしれないけど、書き直すならフレームワークを使った方がいいと思う。

勝手想像申し訳ないが、属人的ソースコードから書き直したいと思ったのだと思う。

増田知識を積んでスクラッチで作るのもいいけど、それもまた属人的ではあるから色々な人が作って洗礼されたフレームワークを使う方が良い。

おそらく良いソースコードからオブジェクト指向体現的に分かると思う。

2020-03-05

anond:20200305152208

増田だけど

そういう人は、明確に「使う能力」が低いんだよね。合理的に考えているつもりで、相手感情のある人間だと考える「合理性」を欠いている。

人間相手にしてるのに人間の内的ステータス無視するなんて、オブジェクト指向ならバグよw

これな

理屈っぽい人間って理屈っぽいだけで合理性に欠いてるんだよな

どう考えたって人材使い潰さないで一人ひとりに余裕もたせたほうがなんかあったとき耐えられるのに理詰めで潰したりね

anond:20200305145901

人間相手に「自分レベル」を期待してしまうんだよね・・・特に地位のある人だと、それを正解だと考えてしまう。

あなたの言っている人は、きっとさらに「自分で切り開いてきた」という自負のある人なのでしょう。

そうなると身内としては実に厄介で、正論だしレベル高いしで「じゃあ俺が悪いとしか・・・」となってしまう。言うこと変わっても、前と矛盾はしていながら正論ではあったりね。

そういう人は、明確に「使う能力」が低いんだよね。合理的に考えているつもりで、相手感情のある人間だと考える「合理性」を欠いている。

人間相手にしてるのに人間の内的ステータス無視するなんて、オブジェクト指向ならバグよw

2020-02-16

パラサイトオブジェクト指向で考える

偶然できた時間を利用してパラサイトを観た。

噂に違わず、そして期待に応える素晴らしい映画だった。その素晴らしさの仕組みを読み解きたい。

システム屋なので、オブジェクト指向で読み解いていく。

ドメインは2つ。ソン・ガンホ演じる父の無職一家とイ・ソンギョン演じる事業家の裕福な家庭の2つ。

クラス図は、裕福な一家の方はシンプルで父・母・娘・息子である無職一家の方は少し複雑になる。

同じ父・母・娘・息子と構成は同じだが、それぞれが偽のロールを実装し元の素性を隠蔽している。

作品というアプリケーションの中で、この2つのドメイン間でのメッセージのやりとりでストーリー駆動していく。

メッセージの発生は基本的イベントリブンになっている。

最初イベントはチェ・ウシク演じる無職の息子が友人の代理として、裕福な家庭へ家庭教師面接を受けにいくところから始まる。すでにこの時点で偽のロールとして継承している。そして、以降芋づる式に無職一家は裕福な家庭に偽のロールを継承しながら組み込まれいてる。いわゆる密結合である。密結合はいろいろと良くないことが起こる。そして映画でも良くないイベントが起こる。

あとは、映画を観てもらうとして、基本的には密結合した2つのドメイン間でのイベントが発火するごとにインシデントが発生しシステムダウンに向かうストーリー見立てる。

という感じでシンプル構造を解析すると、映画の中での重要ガジェットに気づく。

それは「臭(にお)い」である

無職一家のそれぞれの元クラスさらに親クラス貧困層実装されている臭いは偽のロールにも引き継がれ、ところどころでメッセージとして出現する。ただし、出現するだけでイベントは発生しないようにみえる。

そこがこの作品の1つの重要設計要素になっていて面白い

言葉や行動など偽のロールで実装した可視化されたメッセージと、根源クラスにある非可視臭いメッセージのやりとり。臭い隠蔽できなかった時点でシステムとして破綻は目に見えてた。

ここで、構造をもう一段掘り下げる。

無職一家の父・母・娘・息子というクラス自体映画でのロールという偽物である

まり俳優のものオブジェクトがあって役になり、作品の中で偽物を演じるという3段階の構造になっている。

そして、俳優生活のもの貧困一家のような生活ではない。

多重継承である

偽の家庭教師を演じている無職息子と、それを演じている俳優

多重継承は常に複雑度を増し、予測もしなかったような振る舞いをする時がある。

それがこの作品本質と思ってる。

まり作品だけを見ると貧困層富裕層悲喜劇に見えるが、それ自体富裕層の遊びになっているのでは?という視点で、実際少なくないレビューがそれを指摘している。いわく、本当の韓国貧困を描いてない等の指摘である

言いたいことはとても分かる。

監督ポン・ジュノの経歴を見ても、普通に大学に行って映画アカデミーに再入学小説家祖父もつという貧困とはあまり近くない。

社会問題を描くとき当事者でないと本質を描けないのかという問題は本当に根深い。

極論すれば、殺人テーマにするならば人を殺さないといけなくなってしまう。

そして、されに言ってしまえば、当事者自分たち問題作品化する能力があるかどうかという問題と、そういった作品果たして当事者たちが触れる機会があるかどうかという話になる。

そこまで行くとすべてがゲームになる。

ある社会問題に対して、インテリ作品をつくり富裕層ではないけれど貧困層でもない聴衆が消費し、何とかしないといけないねと言いながら何もしないといういつものパターンである

パラサイトもそういったアンチパターンの一つかどうかは今の時点では分からない。

パラサイトノンフィクションではない。とても上手く設計されたフィクションになっていて、アカデミー作品賞が贈られたことにも疑問の余地がない。

ポン・ジュノ監督スピーチで言った

もっと個人的なことが、もっとクリエイティブだ」

という言葉。この個人的なこととは何か?

作品から観客へ送信されたメッセージ、それが何か。

ゲームで終わらせてはいけない。

2020-01-12

永遠に書きあがりそうもないやつ

何かの参考とかにしたらダメです。書き始めて半年つんだけどこっからどう直したらいいんだか(何をゴールにしたらいいのか)わからない。。

追記:合流性とか強正規化可能性とか停止性とか、全部チューリング不完全で、事前の静的解析で使うメモリの最大量が確定できる、とかそういう風に読み替えられる人を増やしたいのです、数式の添え字とΣと∫にびびらない人を増やしたいようなもの

理論理学の一分野である証明から成長した、数理論理学理論計算機科学境界領域研究領域である型理論(type theory)は、大規模なプログラムの内的な整合性のチェックを行うための方法論を必要とする情報処理技術の分野で関心を集めている。

 そもそも「型」(type)とは何か。プログラミング言語一般的にはレコード関数といったプログラム構成する「値」(value)の定義をする道具である(*1)。その言語コンパイラ作成者はこれらレコード関数などの値、もしくは第一級の対象(first-class object)の種類を区別する型システム(type system)を必要とする。抽象代数学観点からすると、「型」とはこれらの値もしくは第一級の対象が属する高階の対象(higher order object)としての空間(space)ないし代数系(algebraic system)で、型システムはそれら「型」とそれら相互関係(relation)つまり型のなす順序構造(order structure)ないし束構造(lattice structrure)であるといえる。

 プログラム構成する値すべてに型が付くためには、曖昧でない(*2)こと、自己矛盾していないこと、悪循環を含まないこと、それぞれの値の内容をチェックするために無限時間を要しない(*3)ことなどが必要で、これらを満たすなら、プログラムは有限時間で実行を終え、停止する。手続き型言語では無限ループ、型無しラムダ計算では無限再帰によって型付け不能プログラムを書くことができるが、型理論はこれらのチューリング完全な計算機意図しない停止しないプログラムから守る装甲でもあり、再帰メモリ確保で好き勝手をさせないための拘束具でもある。型が付くプログラムには単に停止するというだけでなく、可能な実行経路(訂正:経路→方法)のすべてで同じ結果を出すなど種々の良い性質がある。

1)この定義現実に使われているプログラミング言語の特徴を覆い切れていない、狭い不満足な定義だが本稿では都合上この定義立脚して限定的議論する。例えば変数(variable)というものを持つプログラミング言語もあり広く使われているが、これについてはレコード関数と同じように性質の良いものとして扱うことが難しい。難しさの原因は次の注の内容と関連する。近年は変数を扱うかわりに値の不変のコピー(immutable copy)やその参照に名前を付ける機能を持つプログラミング言語が増えている。

2) 現実情報システムでは、COBOL言語レコード定義C言語の共用体、一般的関数ポインタVisual Basic言語のvariant型変数のように、同一領域に異なる型の値が共存する共用型(union type)の値がしばしば必要となる。共用型の値はgoto文を排除した構造化/オブジェクト指向プログラミングにおいて条件キャストクラス分岐などによる実行経路の複雑さの主要な原因になるが、これは和型(sum type)すなわち相異なる型の非交和(disjoint sum)として定義することで曖昧さな定義できる。

3) ゲームプログラムネットワークサービスにおいてしばしばみられるように、入力として無限リスト任意に深い木のようなものを想定する場合には明らかに(条件を満たさない限り)停止しないことが正しい動作となり、この場合は最外周のループを(←どうする?)メモリリークを起こさないなど別の考慮必要となる。

2019-10-16

anond:20191016181403

それ以前にオブジェクト指向らしいコーディングできてるところが少ないしな。

anond:20191016180402

こういう「想定外の方向からの変更」にはオブジェクト指向は弱い。

変更を予想して作成されたインターフェースはそれに対応できず、

変更を入れやすくするために行ったはずだったクラス設計技術負債と似たものに早変わりする。

2019-09-23

重度の🤐PGだけど未来が見えない

 今年33になった。limitである35歳までもうあと2年しかない。

 これまで多数の現場アサインされてきたけど、もう全部がBANで終わった。自分が重度な🤐なのが大きい。

 精神科で発達か診断受けたけど綺麗な八角形であなた正常です言われたよ。ようするに俺はただの普通の人である

設計書が書けない

 🤐すぎて日本語不自由から文章が書けない。インデントおかし句点読点がおかしいとかは自分でもわかるから訂正してるけど、

 文章の組み立て方がおかしいのか相手意図が伝わらないことが多い。プロパーとか同僚とかすごい読みやすくて日本語文章書くんですよ。

 NTT案件プログラミングの前に基本設計詳細設計書いてください言われて、書けなかった。プログラミング始められなかった。2週間でBAN。

会話ができない

 上司質問とか突然されて頭の中が真っ白になって即座に回答できない。

 同僚とかからすごい勢いで拒絶されるんですよ。俺からしかけても相手迷惑がってるのが顔から読み取れる。

 いざ会話が始まっても、相手から聞きだしたいこと聞きだせず会話が終了するなんてこと日常茶飯事。結果要件聞き取れず頓珍漢なものが出来上がり無駄時間けが過ぎていく。

 上司に「普通じゃない人はお断りです」言われて2週間でBAN。

スクラム開発は拷問

 営業に「次はプロトタイピング案件だよ」言われてwktkしながら派遣先行ったらスクラム開発。

 念願のアジャイルじゃねえの設計書書かなくてええやんやったねたえちゃん!と思ったものスクラム開発は🤐には相当厳しかった。

 現場作業ついていけず、何をどうやって作業を進めていいのか分からないのに、週一に一回発表会みたいなのある。週一で業務感想戦を強いられる。言うことなんもねーよ

 上司に「あなた回りに溶け込めてないので今日で終わりです」言われて4週間でBAN。

プログラミングが出来ない

 33歳にもなってC#VB.NETしか知らない。LinqからいからFor文やForEachでカバーオブジェクト指向からいかNUnitデザインパターンも分からない。もといNUnit使ってる現場参画したこと1回しかいから正しい運用がわからない。

 そろそろ新しい技術学習しないといけないんだよなーと思うものの、何を勉強したら良いのか分からない。今までの経験から、どんなに技術身に着けても👄💬能力無ければBANじゃないですか。技術身に着ける意味あるんですか。

🤐障害だと思う

 👄💬能力ある健常なプログラマは、勉強会出たりライトニングトークやったりで似た優秀な技術者と技術的な話を交換したりしてる。んで得た技術身に着けて更なる高みを。

 🤐はそういうイベントには参加できない。会話自体無理だからね。🤐と健常者はそういう所で差が出てくる。超えられない差というか。

 よくネットとかで🤐だけど克服しましたみたいな文章書いてる人いるけど、真の🤐日本語不自由から文章書けません。ブログ書けません。ネトゲも会話出来ないのでフレンド作れません。全然🤐じゃないのに🤐名乗ってるファッション🤐が世の中多すぎる。

 俺はこれから人生どこに進んだらよいかからいから、似たような人探してみたものの見つからずじまい。真の🤐SNSなんてやっていなかった。学生時代俺以外にも🤐っぽい人複数いたけど俺含め彼ら相互で全く交流なかったな。🤐はどの環境でもボッチだ。

 じゃあ🤐を導いていくれるメンター的な存在を探してみたものの、見つかるのは奴隷商人ばかりで関わったらアウトみたいなオーラを醸し出している。

 

 自分🤐過ぎて打てる手が何もない。転職しようにも自分にできそうなことが何一つ思い浮かばない。どんな仕事だって人間との会話は必要。会話要らない仕事なんてこの世にない。

 新規案件アサインできなくなる35歳まであと2年。

重度の■■■■PGだけど未来が見えない

「コ○ュ○」という単語が苦手な人用:anond:20190923023222

 今年33になった。limitである35歳までもうあと2年しかない。

 これまで多数の現場アサインされてきたけど、もう全部がBANで終わった。自分が重度な■■■■なのが大きい。

 精神科で発達か診断受けたけど綺麗な八角形であなた正常です言われたよ。ようするに俺はただの普通の人である

設計書が書けない

 ■■■■すぎて日本語不自由から文章が書けない。インデントおかし句点読点がおかしいとかは自分でもわかるから訂正してるけど、

 文章の組み立て方がおかしいのか相手意図が伝わらないことが多い。プロパーとか同僚とかすごい読みやすくて日本語文章書くんですよ。

 NTT案件プログラミングの前に基本設計詳細設計書いてください言われて、書けなかった。プログラミング始められなかった。2週間でBAN。

会話ができない

 上司質問とか突然されて頭の中が真っ白になって即座に回答できない。

 同僚とかからすごい勢いで拒絶されるんですよ。俺からしかけても相手迷惑がってるのが顔から読み取れる。

 いざ会話が始まっても、相手から聞きだしたいこと聞きだせず会話が終了するなんてこと日常茶飯事。結果要件聞き取れず頓珍漢なものが出来上がり無駄時間けが過ぎていく。

 上司に「普通じゃない人はお断りです」言われて2週間でBAN。

スクラム開発は拷問

 営業に「次はプロトタイピング案件だよ」言われてwktkしながら派遣先行ったらスクラム開発。

 念願のアジャイルじゃねえの設計書書かなくてええやんやったねたえちゃん!と思ったものスクラム開発は■■■■には相当厳しかった。

 現場作業ついていけず、何をどうやって作業を進めていいのか分からないのに、週一に一回発表会みたいなのある。週一で業務感想戦を強いられる。言うことなんもねーよ

 上司に「あなた回りに溶け込めてないので今日で終わりです」言われて4週間でBAN。

プログラミングが出来ない

 33歳にもなってC#VB.NETしか知らない。LinqからいからFor文やForEachでカバーオブジェクト指向からいかNUnitデザインパターンも分からない。もといNUnit使ってる現場参画したこと1回しかいから正しい運用がわからない。

 そろそろ新しい技術学習しないといけないんだよなーと思うものの、何を勉強したら良いのか分からない。今までの経験から、どんなに技術身に着けてもコミュ能力無ければBANじゃないですか。技術身に着ける意味あるんですか。

■■■■は障害だと思う

 コミュ能力ある健常なプログラマは、勉強会出たりライトニングトークやったりで似た優秀な技術者と技術的な話を交換したりしてる。んで得た技術身に着けて更なる高みを。

 ■■■■はそういうイベントには参加できない。会話自体無理だからね。■■■■と健常者はそういう所で差が出てくる。超えられない差というか。

 よくネットとかで■■■■だけど克服しましたみたいな文章書いてる人いるけど、真の■■■■は日本語不自由から文章書けません。ブログ書けません。ネトゲも会話出来ないのでフレンド作れません。全然■■■■じゃないのに■■■■名乗ってるファッション■■■■が世の中多すぎる。

 俺はこれから人生どこに進んだらよいかからいから、似たような人探してみたものの見つからずじまい。真の■■■■はSNSなんてやっていなかった。学生時代俺以外にも■■■■っぽい人複数いたけど俺含め彼ら相互で全く交流なかったな。■■■■はどの環境でもボッチだ。

 じゃあ■■■■を導いていくれるメンター的な存在を探してみたものの、見つかるのは奴隷商人ばかりで関わったらアウトみたいなオーラを醸し出している。

 

 自分が■■■■過ぎて打てる手が何もない。転職しようにも自分にできそうなことが何一つ思い浮かばない。どんな仕事だって人間との会話は必要。会話要らない仕事なんてこの世にない。

 新規案件アサインできなくなる35歳まであと2年。

2019-09-22

重度のコミュ障PGだけど未来が見えない

 今年33になった。limitである35歳までもうあと2年しかない。

 これまで多数の現場アサインされてきたけど、もう全部がBANで終わった。自分が重度なコミュ障なのが大きい。

 精神科で発達か診断受けたけど綺麗な八角形であなた正常です言われたよ。ようするに俺はただの普通の人である

設計書が書けない

 コミュ障すぎて日本語不自由から文章が書けない。インデントおかし句点読点がおかしいとかは自分でもわかるから訂正してるけど、

 文章の組み立て方がおかしいのか相手意図が伝わらないことが多い。プロパーとか同僚とかすごい読みやすくて日本語文章書くんですよ。

 NTT案件プログラミングの前に基本設計詳細設計書いてください言われて、書けなかった。プログラミング始められなかった。2週間でBAN。

会話ができない

 上司質問とか突然されて頭の中が真っ白になって即座に回答できない。

 同僚とかからすごい勢いで拒絶されるんですよ。俺からしかけても相手迷惑がってるのが顔から読み取れる。

 いざ会話が始まっても、相手から聞きだしたいこと聞きだせず会話が終了するなんてこと日常茶飯事。結果要件聞き取れず頓珍漢なものが出来上がり無駄時間けが過ぎていく。

 上司に「普通じゃない人はお断りです」言われて2週間でBAN。

スクラム開発は拷問

 営業に「次はプロトタイピング案件だよ」言われてwktkしながら派遣先行ったらスクラム開発。

 念願のアジャイルじゃねえの設計書書かなくてええやんやったねたえちゃん!と思ったものスクラム開発はコミュ障には相当厳しかった。

 現場作業ついていけず、何をどうやって作業を進めていいのか分からないのに、週一に一回発表会みたいなのある。週一で業務感想戦を強いられる。言うことなんもねーよ

 上司に「あなた回りに溶け込めてないので今日で終わりです」言われて4週間でBAN。

プログラミングが出来ない

 33歳にもなってC#VB.NETしか知らない。LinqからいからFor文やForEachでカバーオブジェクト指向からいかNUnitデザインパターンも分からない。もといNUnit使ってる現場参画したこと1回しかいから正しい運用がわからない。

 そろそろ新しい技術学習しないといけないんだよなーと思うものの、何を勉強したら良いのか分からない。今までの経験から、どんなに技術身に着けてもコミュ能力無ければBANじゃないですか。技術身に着ける意味あるんですか。

コミュ障障害だと思う

 コミュ能力ある健常なプログラマは、勉強会出たりライトニングトークやったりで似た優秀な技術者と技術的な話を交換したりしてる。んで得た技術身に着けて更なる高みを。

 コミュ障はそういうイベントには参加できない。会話自体無理だからね。コミュ障と健常者はそういう所で差が出てくる。超えられない差というか。

 よくネットとかでコミュ障だけど克服しましたみたいな文章書いてる人いるけど、真のコミュ障日本語不自由から文章書けません。ブログ書けません。ネトゲも会話出来ないのでフレンド作れません。全然コミュ障じゃないのにコミュ障名乗ってるファッションコミュ障が世の中多すぎる。

 俺はこれから人生どこに進んだらよいかからいから、似たような人探してみたものの見つからずじまい。真のコミュ障SNSなんてやっていなかった。学生時代俺以外にもコミュ障っぽい人複数いたけど俺含め彼ら相互で全く交流なかったな。コミュ障はどの環境でもボッチだ。

 じゃあコミュ障を導いていくれるメンター的な存在を探してみたものの、見つかるのは奴隷商人ばかりで関わったらアウトみたいなオーラを醸し出している。

 

 自分コミュ障過ぎて打てる手が何もない。転職しようにも自分にできそうなことが何一つ思い浮かばない。どんな仕事だって人間との会話は必要。会話要らない仕事なんてこの世にない。

 新規案件アサインできなくなる35歳まであと2年。

レスポンス

 一晩明けました。レスポンスたくさんついたの初めてです。

 以下ブクマにご返答致します。

レベルの高い現場ばっかり行ってない?例えば学歴高いとか。ガチ仕様書描くところの仕様書ってクソ難解だよね。作るのも読み込むのも無理で頭おかしくなる。どうなってんだ?と思ったら書いてる人が東大卒だった。

私は底辺高→専門卒で低学歴です。派遣先の同僚みんな大卒頭脳明晰で羨ましいです。大学卒論とかあって文章書く能力無いと卒業自体出来ないか自然と淘汰されますね。文章書けない大卒の方見たことないです。

>この文は普通に読めますし、「迷惑がってるのが顔から読み取れる。」ならコミュ障とは少し違う気がします(適当意見ですが……)。

私は見た目がブラクラで見る者を不安に陥れる面なので、あんまり直視したくないのだと思います

>この文章問題無いので見たことのないパターンだ。逆に専門職として得意なことは何なんだろう。

今はRPAをやっています。やってて思ったのが「ちょっとした環境変更で動かなくなるマクロスクリプト作ってるだけじゃん」で、これ時限爆弾量産してるだけじゃないのと。ただ作っててこれ技術的にぬるい部分も、でもここ抜けたら次がねえよな、BANされた後の次の案件見つかるのか、という疑問も。なので死ぬ気でしがみ付かなければなりません。

>これは言語表現能力問題ではない。技術知識経験が不足していることが元凶で、相手の話について行けてないだけ。

かに技術不足の点もあります営業が見つけてくる案件がほぼ全部レベル高すぎ案件ばかりなのが原因なのかもしれません。少し簡単な所行きたいという気持ちもあり。営業相談してみます

2019-08-15

Python3エンジニア認定基礎試験をナメていた

Python3 エンジニア認定基礎試験不合格だった

勉強開始時は、プログラミング学者。今はPandasやNumpyで遊んでいる。

この記事自分のために書くが、今後受ける誰かのためになるなら幸いです。

受験理由

お上流行りのAI人材がほしいから受けてこいと言われたので

試験についてはこち

https://www.pythonic-exam.com/exam

勉強方法

はじめにPythonチュートリアルを読みプログラミング写経してみたものの、正直プログラミング学者自分にはチンプンカンプン

(後ほどわかったけど、写経だとインデントミスがあったり、日本語誤訳や誤字が多かったりして、基礎力がない自分だと一人でカバーしきれなかった)


そこで、プログラミング学者でも読めそうなPythonの本を読むことにした。

本をじっくり読むよりは、プログラミングって、Pythonってこんなものだよってことがわかって、Pythonチュートリアルを一人で読めたらいいかなと思い、基礎試験範囲カバーしていてあまり厚くない本を一読することにし、Amazon unlimited見つけたこPython基の本を読んだ。

https://book.impress.co.jp/books/1115101060


本にあるプログラミング写経しつつ読み、練習問題は一人でやってということを1週間ほどでやった。

この本はプログラミング学者自分でも一人で読み切ることはできたし、この本の練習問題くらいのコードなら一人でかけるようになった。

オブジェクト指向意識して書かれた本らしいが、ぶっちゃけそのへんについてはわからない。


読み終わった後、Pythonチュートリアル特に4章5章を一読。

すると、Pythonチュートリアルにはあるけど初学者向け本には載ってないことが結構あることに気づいた。

このチュートリアルを全部読んで把握するにはお上に言われている期間じゃとてもじゃないけど足りないし、

間内試験に受かることが勉強する一番のモチベーションだしという事情と、

合格率高いし、「Python3エンジニア認定基礎試験はチョロい」みたいな記事が多いし、そんなに細かいこと聞かれないでしょという油断とで、

もう模試を受けてみた。

模擬試験を受けてみた

模擬試験は、おそらくランダムで40問選ばれていたので、サイトにある出題範囲通りでなかった。

1回目の模試は、ギリギリ合格ラインの点数725点!

模試を受けてわかったことは、当たり前かもしれないが本に載ってないこと結構聞かれる。


結構かいことを聞かれていると感じた。

例えば、普段NumpyやPandasなどなどに甘えているせいかもしれないが、見たことないモジュールが出題されているなど。

謎訳が個人的に読みにくく、Pythonチュートリアル英語で読んでいたが、試験はその日本語で出るので、日本語版を読むべき。

あと、主教であるオライリー・ジャパンPythonチュートリアル 第3版」には載っているけれど、Pythonチュートリアルには載っていないこともあることに模試で気づいた。


模試の点数はあまり参考にせず不安だった箇所の復習に使い、再受験を3回行った。

模擬試験問題バリエーションは多くないのか、かなりダブる問題があり、3回とも90点は超えたので本番受験してみることに。

本番

模試とちがーーう!

模試よりも難しい、難易度1.5倍くらいに感じた。

サクッと解ける問題もあったけど、わからないなっていう問題模試に比べると多かった。

例えば模試に比べると少し複雑な構造をしたプログラミング、など。


そして単純に覚えてない知識を問われてた部分も多々ある。

(誰がいつ使うんだっていう知識だとも思ったが)


そしてこの試験独特の言い回しが多い。

オライリー・ジャパンの本を確認したところ、この本独自言い回しかもしれない)

結果出た後Pythonプログラマーに聞いたら、何について聞かれているのかパッとわからないと言われた。

所感

模試あくま模試

本番は細かいことを聞かれ、難易度1.5倍くらいになるので、Pythonチュートリアルは細かいところまで読み込むべし。

せめてメインの出題範囲である4章、5章はチュートリアルにあるプログラミングまで追うべき。

そして、どうしたらエラーが出て、どうしたらすべて実行されるのか、まで確認すべき。

正しい処理ばかりでなくて、たまにはわざとエラーを起こしてみた方がよかった。

エラーをあまり経験しておらず、どういうときにこのプログラムはつまるのかという想像力が欠けていて、そこがないと試験はつらかった。

過去問ほしいなと思うけど、試験側の問題の種類が多くないんだろうな。

(落ちた分際で偉そうに言うが、流行りの言語Pythonとはいえ、この試験逆に通って何が嬉しいのかわからない。)

参考サイト

Python チュートリアル

https://docs.python.org/ja/3.5/tutorial/index.html

PythonPython3エンジニア認定基礎模擬試験 β版

https://diver.diveintocode.jp/exam

Python3エンジニア認定基礎試験効率的勉強方法!

https://ccie-go.com/python-exam-study/#i-10

合格への道】Python 3 エンジニア認定基礎試験

https://gabekore.org/python3-basic-exam

2019-08-07

単一責任原則vsカプセル化

投稿につき至らない点があるかもしれないが容赦してほしい。が、指摘は受け入れる所存。

俺はとあるUIコンポーネントライブラリ開発者だが、先日議論されたあるコンポーネント設計について悩み続けている。

これを読んでくれた人の設計センス知識経験から第三者の率直な意見を聞きたい。

悩んでいることの概要は、

ざっくり言えばこの2択だ。

どちらも間違った考えだとは思えないので、そもそもどちらかの捉え方がおかしいのだと思う。そういった意見も聞きたいが、まずは読んでみてほしい。

設計対象コンポーネントは、よくある触って動かせるスライダーである。下記リンク先のようなものだ。

https://material-ui.com/components/slider/

前提として、このコンポーネント構成要素を下記とする。

加えて、下記も前提としてほしい。

Sliderというコンポーネントクラスを作るとして、これらの構成要素をライブラリ-ユーザー間でどう分担するかという点で、AさんとBさんで意見割れた。

それぞれの意見を要約すると下のようになる。Aさんはカプセル化を狙い、Bさんは単一責任原則を重視している。

Aさんの構成イメージは下記のような感じ

画面
└ Slider         (ユーザー作成)
   ├ 背景バーノブ
   └ 進捗バー

Aさん案の場合だと、Sliderクラス内部で勝手にそれぞれの要素を作成し、自分の子にするなりして表示する。

Bさんの構成イメージは下記のような感じ

画面
├ 背景バー     (ユーザー作成)
├ ノブ         (ユーザー作成)
├ 進捗バー     (ユーザー作成)
└ Slider       (ユーザー作成)
   ├ 背景バーへの参照    (ユーザー指定)
   ├ ノブへの参照        (ユーザー指定)
   └ 進捗バーへの参照    (ユーザー指定)

Bさん案では、ユーザー構成要素それぞれを作成し、Sliderにそれを食わせる。

SliderはAさん案のように各構成要素を構築する必要はなく、ノブの移動や進捗バーサイズ変更だけすれば良い。

Aさんはユーザー制御する必要のない背景バーノブ、進捗バー構成隠蔽(カプセル化)しようと提案したが、

Aさん案に対しBさんは、単一責任原則観点から「各構成要素の構築や表示」という責任を外すべきだと訴え、Bさん案を提示した。

またBさんは、コンポーネントユーザーが扱うべきものであり、コンポーネントコンポーネントを内部で勝手使用しているのは混乱を招くとの見方もしている。

ただしAさんの考えの通り、実際に各要素の構成ユーザー制御するユースケース存在しない。

その場では「単一責任原則」を持ち出したBさん案で決定された。

しかしなんとなくAさん案派だった俺はモヤモヤしたまま家に帰り、本当に単一責任原則に反しているのか、カプセル化よりも大事なのかと悩み続けている。

ここまでが事実となる。

さて本当にBさんが正しかったのか、あるいは単一責任原則の捉え方が間違っているのか、はたまた・・

第三者による意見が聞きたい。周りのコメントに左右されない率直な意見が望ましい。なんとなくな意見も歓迎する。

満たすべき機能は見た目だけではないがそこは置いておいてほしい。

以下は個人的意見とか思ったことや疑問など。

2019-08-04

anond:20190804182250

上の読んだがわけわからんぞ。何か言っているようで何も言ってない。

オブジェクト指向説明するのにAnimalクラスやDogクラスを持ち出して説明しているそれに似てる

教えてくれ

ドメイン駆動設計ってなんなんだ?調べても全然はっきりしない。

コードの綺麗さ、整然性よりも、処理をずらっとまとめて書けってことなのか?

デザインパターンオブジェクト指向が出てきたけど難しすぎて設計できないやつが続出したからそういうことが言われるようになったのか???

2019-07-04

オブジェクト指向」「カプセル化」とかを「はてな」で例えてみて

C#勉強中。

オブジェクト指向とか、カプセル化とか考えてたら訳が分からなくなってきた。

増田とか、はてなとかで例えてみてくれないかな。




無理か。

anond:20190704110836

オブジェクト指向カプセル化って二十年くらい前に流行った概念な気がするけどまだ息してるのか、驚いた。

C#始めた増田だけど、オブジェクト指向カプセル化分からん

setterは使わない、getterは使わない

その他色々と「やらないほうが良い事」はあれど

どう書けばいいのかについては特に記載が無い。

勇者に学ぶオブジェクト指向プログラミング(Java)みたいに、分かりやすい例は無いの?

https://qiita.com/nrslib/items/73bf176147192c402049

これ見たけど、ダメダメダメダメだけで

こうすれば最高!という例が無かった…。

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