Python 独学プログラミング プログラミング初心者のPythonistaでUI作成〜失敗談途中経過編~

あっ どうも子へびです。

つくしに続き今日は河津桜が満開に咲いていているのを見てさらに春を感じている子へびです。クローゼットの中のコートやら冬の厚手のセーターを早く片付けたいなっと思ってしまいます。けど3月に大雪が降った年もあるしまだまだ寒い日もあるのかな?

仕事バックにMaster松陰お手製のサンプルテキストとUIの解説プリントを詰め込んで通勤している子へびですが、ようやくUI側にdatabaseの値を表示するとことまではたどり着きました。ただしsegmentの表示を除くですが。何度かこのようなエラー表示が止まらず


databaseから名前をprimarykeyとして取り出した身長や体重の値をバラしてUI側に表示させることがうまくいかずにこんなエラーが出つづけたわけですが、どうにかうまくバラしてUI側に表示できたものの、表示しただけではダメでこの後その値を編集して保存するっというところまで書き足さないといけません。それに気がかりなことが一つ。今なんとなく動いてはいるんですがこのコードを見せるときっとMaster松陰は

Master松陰

このコード他人がみた時にrow1,row2が何の値を示しているのかわかんないじゃん!他人が見てもすぐに何の値が入っているのか一目でわかるようにしておかないと良いコードとは言えないな。

っと言われてしまいそうな気がするのです。先日も作ったコードをチェックしてもらうと

Master松陰

コメント行もインデントそろえないとダメ!

っとコードの内容云々の前にこんな答えが返ってきくるぐらいですから・・・。まずはすぐにコメント行のインデントを揃えた子へびです。なのできっと今回も動いてはいるものの細かい修正が求められるような気がします。

子へび

まだまだ先はなが〜い。期日をもってコードを仕上げるプログラマーを本当に尊敬します。

Python 独学プログラミング プログラミング初心者のサンプルメモ(UI編)~やり始めたら止まらない編~

あっ どうも子へびです。

子へび断捨離モードに入ってしまいました。子へびは年に2回くらい断捨離モードに入ってしまう時があってそんな時は模様替えから入ってかなりの所有物を入れ替えます。きっと子へび飽きっぽいんでしょうね。笑 ずっと同じが嫌になって色々いじくりたくなるんだと思います。今回は本の整理からスタート。本好きの子へびは予想以上の本の多さにラックが2つ足りないことに気がつきました・・・。明日また2つ買い足そう!

とうとうコンピュータサイエンスの本を読み終えてしまいました。感想は読んでよかった!コンピュータの知識の幅が広がって、さらにコンピュータが好きになったし、人間の開発能力ははかりしれない!なんてことを素直に思ってプログラム組むうえでも少しでもこの知識が役にたつ日がくるといいなっと思います。しかし一方でこんな感想も・・・

子へび

Master松陰!子へびはとうとうコンピュータサイエンスの本を読み終えてしまいました!本はさわりだけの説明のところも多かったのでMaster松陰に説明を肉付けしてしてもらってより深く知識を得ることができた気がします。

と報告すると

Master松陰

やっと読み終わったか・・・。読み終わってくれてよかった。Master松陰にとっては拷問でしかなかった。

と言ってました。子へびがあまりにしつこく質問しまくるせいで、Master松陰はほとほと疲れ果てていたようです。もうこりごりだそうです。

そしてここ数日はdatabaseとUIの合体をしているわけですが、一部繋がりはしたもののdatabaseの中に入っているdataをUIに表示する方法がわからずその課題に取り組んでいるところです。UIの表示の仕方もまだ疑問点が残っているしそのことをMaster松陰に相談すると

Master松陰

UIのブラッシュアップが必要ね。

とのことです。UIの表示の仕方はセンスのような気もしますしね。しばらくこの課題が続きそうです。

おまけ

Master松陰が書いてくれたUIとdatabaseのつなぎ方の前回の図解よりこの方が見やすいかな?

Python 独学プログラミング プログラミング初心者のプログラマーの悩み事~それぞれのエキスパート編~

あっ どうも子へびです。

今日コンビニに入ったら最近流行りのコーヒーマシンがメンテナンス中で、スタッフの人が何やらセッティングをしていました。ちょうど子へびのお会計の時ふと横を見ると、ちょうどマシンの扉が開いていました。するとマザーボードがちらりとのぞいていることに気づき子へび思わず吸い寄せられてしまいました。するとお会計のスタッフがマザーボードを見ながらニヤニヤして釘付けの子へびを見て不審そうの眼差し・・・。あっすいませんついマザーボードが見えたもので。っとくちばしってしまいそうでした。笑 コーヒーマシンもマイコンですね。子へびコーヒー大好きだし、あのマシーンのプログラム組むのいいな〜。

さてUIとデータベースの合体はまた子へびのトンチンカンな穴に落ちているのかと思っていましたが、どうやら事情は別にあったようです。その前にMaster松陰が教えてくれた合体させる方法はそれだけでもちゃんと勉強した方がいいくらい色々な方法があるとのこと。今回は一番ベーシックな方法を教えてもらいました。子へびは何となくただ合体させるといってもなんか想像がうまくつかなくてそれぞれのclassが出来上がっていてclassの中でclassを動かすのか?っとか思っていました。するとMaster松陰は

Master松陰

それはこおゆうことね。

っと言ってこれを書き上げてくれました。見づらいですがなんせいきなり貴重なテキストになる資料をアンケート用紙の裏に書き始めたてしまったので。笑

こんな風なイメージになるとのこと。なるほどっと思ったところで子へびは早速試してみるとデータベースのインスタンス化をUIのコンストラクターに入れてclass変数にしてしまうところまでは問題なく、ちゃんとファイルの作成も行われるのですが次のデータベース側の関数が一向に動かない。っと言うよりUI側で入力された値がデータベース側に渡せない。っとう状況になりました。Master松陰にそのことを報告すると

子へび

Master松陰!子へびは引数の渡した方を間違えているのでしょうか?データベース側の追加の関数に値が入らないためにファイルの中身が空っぽになってしまいます。

Master松陰

そんなはずはないなー。codeを送ってみなさい。

数分後

Master松陰

これはUI側の実装の問題みたいね。通常だと子へびの書き方であってるよ。

子へび

たまにはあってることもあるんだ・・・。でもどうしてこの書き方だとダメなのか子へびはMaster松陰のように解決策を見つけられないな。むしろそれが問題だ!

結局Master松陰が解決策を一つ提示してくれたのですが、それはそれとして今回の問題は何か問題点にぶつかった時一人では解決できないということです。どこに問題点があるのか見つけることもできていないし、もしその問題点を見つけたとしても自分で解決策に辿りけるのか?っということが重要な気がします。何でこんな話になるかというとコンピュータサイエンスの本を読んでコンピュータのそれぞれの仕組みを知れば知るほど、各パーツがそれぞれに進化し続けていてその集合体がコンピュータなので、一つの知識をもっていただけでは解決できないものがたくさんあると思ったからなのです。こんな話をするとMaseter松陰は

Master松陰

そんなこと知らなくたってコンピュータが裏で勝手に操作してしてくれてるんだからいいじゃん。

なんて笑い飛ばされますが、そんなこと言うMaster松陰はものすごい量のコンピュータの知識が入っていて、理解して取り組んでいるからこそ新しいことも常に吸収できるんだと思います。より人間の理想を実現化するべく進化し続ける各パーツはより高度な事をしようとすればするほど言語は細分化され、プログラムを組み方は異なった色々なパーツを組み合わせてそれぞれの不都合を解決していかなきゃいけないので、これは日頃の鍛錬と経験値が解決してくれるものなのでしょうか?

今日はだいぶ真面目な文章の子へびですが、Master松陰が見つけてくれた解決策は早速明日試してみよっと。

おまけ

子へび

先日Master松陰が今日は何でMaster松陰が出てこなかったんだ!っと言ってたけど、これタイトルは『子へびがゆく。。。』だから子へびの話なんだけどな・・・。何気に登場回数を気にしているMaster松陰です。

Python 独学プログラミング プログラミング初心者のPythonistaでUI作成(datepicker)〜本当の意味編〜

あっ どうも子へびです。

餃子好きと知られている子へびですが、先日また新しいお店を開拓して好みの餃子を発見しご満悦の子へびです。今回は餃子の皮が美味しいのと中に肉汁がたっぷり入っている所がお気に入りです。そのお店の他のメニューも開拓してみよっと。




UIにチャレンンジ中の子へびですが、パーソナルデータの画面は先日作ってUPしたとおりですが他のデータ入力画面をもう一つ作っていて日付に所にdatepickerを使用しました。そこで子へびまた穴に落ちました。
datepickerで出てきた日付を取得してdebugtextに表示させたいのですが何度やってもnoneの表示。

子へび

Master松陰!detepickerの値をハンドラーで取得してdebugtextに表示させようとしているのでがうまくいきません。どうしてでしょうか?

Master松陰

・・・。子へびそれは完全におかしいでしょ!そもそもハンドラーの意味をちゃんと理解していない。ハンドラーとはユーザーが何か画面上値を入力したり何らかのアクションする事によって得た値をハンドラーを通して取得しているのであって子へびの書いているdetepickerのハンドラーは何意味もなしていない。ユーザーがそのdetepickerを操作しない限りハンドラーから値を取得することはできないよ。

っと言うように今回子へびが落ちた穴はUIのそれぞれの役割をちゃんと理解してない事が原因でした。初期値を取得する方法で解決はしたのですがそもそもdetepickerは通常こういった使い方はしないらしく、UI画面上のdetepickerの一般的な表示のさせ方はサンプルを後ほどMaster松陰にもらう事にしました。

しかしMaster松陰また新しい事にチャレンジしているらしくまた今回も猛烈に集中しているので、先に1画面目をdatabaseに接続してみなさいとの指示が。今日ちょっと取り掛かってみたらすんなりいかないのが子へび。しかしMasrter松陰曰く

Master松陰

30分もあれば完成するでしょ?

相変わらず厳しめです。書き始める前に30分構想を練っただけでまだ書き始められない子へびです・・・。