泡沫記

備忘録あるいは自分の背骨

Webアプリ作成中〜名簿をつくってみた

単語カードアプリは自分がやってみたい実装ができなくて途中放置。できることからやっていこうかと名簿アプリに進路変更。失敗を繰り返していくうちに徐々にDjangoが体に馴染んでいくのを感じている。これをしたいときにはこうすればいいというのがわかってきたからだ。とは言ってもできることは非常に限られているのだが。

  1. VScode使って開発環境を整える
  2. モデル作成とリスト表示
  3. 入力フォーム作成

リストにするとわずか3行。ただこの3行ばかりのことに躓き転び這いつくばり、ジリジリ進みながら学んだことは多い。これってエクセルで簡単にできるよなと言ってはならない。先に進めなくなる。というより普段使っているソフトのすごさをあらためて実感できた。Officeにン万円もお金を払う価値あるわ。ともあれ自分の力でゼロから作り上げることに価値がある。不格好ながらもうまく表示されたときの喜びはひとしおでモニタの前でガッツポーズをする。次はユーザー登録、履歴の管理、検索機能の実装かな。アプリの完成ってどこまで求めればいいのかわからないが、まだまだ実験段階だから好き勝手やっていこう。

Webアプリ作成中〜また1歩進んだ

やっと次の1歩が踏み出せた。 A Complete Beginner's Guide to Django を2月でひとまず終えて、もう一度公式チュートリアルに返って試行錯誤。ようやく行き詰まってた問題が解決した。作ろうとしたアプリは単語カード。日本語をクリックしたら英語が出てくるという単純なモノ。1語1義ならすぐにできたが、意味が複数ある場合、1個1個のデータをどう取り出して紐付けてリスト表示してやるか、わからなかったのだ。QuerySetでidでフイルタかけて抽出、それを表示すればいい。この解決に1ヶ月かかる。赤ん坊レベルがハイハイできるようになった感じ。学んだことは以下の通り。技術的なことはQiitaにまとめる予定。

  • しつこくしつこく問題に取り組むこと
  • 公式ドキュメントを読み込んで自分が使う機能を見つけ出すこと
  • 問題を小分けにしてひとつひとつの課題をクリアすること
  • 小さい単純な機能の実現に特化して徐々に複雑にしていくこと
  • 気分転換だと横道に逸れたら、勉強した内容をすっかり忘れてしまうほど年取ったぞ>>オレ

あとから見ればなんでこんなことがわからなかったの?というレベルなのだが、自分の力で解決できたというのは大きい。ちょっとしたマイルストーンだ。さぁ続きだ続き。

日々の棚卸し20190228

気分一新してこの日を迎える。A Complete Beginner's Guide to Django はPart5が修了。残るはPart6,7のみ。ちょこちょこやりながら長かったこのtutorial も出口が見えた。ただコピペでポン状態なので復習が必要。それでもコードとにらめっこしてある程度の仕組みや作る流れというのはつかめたと思う。公式のtutorialとくらべて新たに学んだことがたくさんある。アプリの設計、テスト駆動の方法、Bootstrapの使い方、CodePenの発見など。同時に学ばなければならないことが多くてゆっくりとしか進めないが経験値はどんどん貯まるか。最後まで走りきりたい。

いつもながらわき道にもそれて、昔のノートパソコンにLubuntuをインストールした。KVMの仮想環境で試してみてグッときたのは軽さとデザインが好みだったから。仮想環境上で実験をしていたので、日本語化が上手くいく。これは予想とはいい意味で裏切ってくれた。というのは仮想上では無変換キーとひらがなキーが全く反応せず、キーボードの設定やらコマンドやら叩いたけれど変わらず。mac風に、無変換キーで英数半角入力、変換・ひらがなキーで日本語入力をやりたかったのに…無念と諦め、全角半角キーでやるしかないかと実機にインストールしたところ、この2つのキーが使えるようになっていて望み通りの挙動をしてくれた。うーん。嬉しいのだががなんだか納得いかない。Linuxの設定であれやりこれやりして徐々に仕組みや知識を学んできたけれど、本質まではまだわかってない。

音声入力に注目している。Shimejiの変換精度が高い。句読点だけまともになってくれたらと思うが、そこは後から編集するとして、音声入力だと明らかにアウトプットの量が違ってくる。問題は「自分の考えが文章としてすらすら口から出てこないこと」で、なるほど頭でちゃんと考えているようで実は考えてなかったんだなと実感した。思考の癖もあり言い回しの癖もありなかなかハードルが高い。言葉が固定化されるということは思考も固定化しているってことで新たなものを取り入れることもできないし出すこともできない。これはちとまずいんじゃないか。無意識に固まったモノを壊してつねに創造していかないと面白くないと思うのだ。

日々の棚卸し20190217

さあ自分でアプリ作成だと意気込んだはいいものの。やはり詰まったのでもう一度復習を兼ねて A Complete Beginner's Guide to Django を勉強中。Part7中現在Part4まで来た。コピペでサクサク進むことはできるが理解は浅い。一番アタマにすんなりと入るのは鉛筆での写経というのはアナログ人間だからか。ひとつひとつ書くことでこれはどうなんだ、なぜこうなっているんだと疑問が湧いてくる。公式Tutorialでは学べなかったことが色々出てくるから色んな人のcodeを書いたり読んだりすることが大切なんだと思う。アプリの設計方法、テストを繰り返しながらの開発方法、フォームの使い方、ユーザー登録の方法など、自分に足りないことがわんさか出てくる。こうやって経験値を積むしかない。だいたいのことはわかったと天狗になったり、やっぱりできなくて自信喪失したりと毎日気分のアップダウンが激しいけれど、なかなか充実した日々でこうして勉強することは楽しい。2月中のアプリ作成は難しそうだ。2月末までにこのA Complete Beginner's Guide to Django を修得することに専念する。

勉強用ノートが1冊終了。不惑をとうに過ぎてようやく勉強方法というものがわかってきたし、自分なりのノートの書き方も定まってきた。今さらだが。それでも自分のスタイルができてきたのはいいことだと思う。

SSDを2個のパーティションに分けて片方作業用、もう片方は緊急用に使っていたのだけれど。アップデートをしたらいきなり作業用が消えて立ち上がらなくなる。何度か再起動してもとに戻ったものの、実験でいろんなソフトやデスクトップ環境をインストール・アンインストール繰り返していたのでその所為なのか。以前もWindowsLinux併用していてダメにしたことあったし、パーティション分けると苦い思い出しかない。なのでいっそのことともう一度真っさらにして1パーティションUbuntuをインストールし直した。最低限の開発環境だけ整えて、あとは極力汚さないようにする。ただ新しもの好きの血が騒ぐから、KVMで仮想環境作ってそこに色んなOSをインストールして遊ぶことにした。懸念事項だったネットにつなげる設定もデフォルトであっさり繋がった。アレ?ブリッジ接続じゃないと繋がらないんじゃなかったのか。おそらくNAT接続でゲストのみネットにつながってて、ホスト-ゲスト間での通信ができないんだろうと思われるが試してない。遊び場ができたのが嬉しくて調子に乗って、Windows7CentOS、Cinnamon、Manjaro、KaliLinux、などインストールしまくった。空いた時間でCentOSでサーバー立ち上げて見ようかと計画中。

Webアプリ作成中〜はじめの1歩

Django を使って Web アプリを作成中。これもまたわずかな1歩ながら大きな1歩だ。というのも今までチュートリアルの写経だったり、若干のカスタマイズだったり、やっている意味もイマイチわかっていなかったが、今回は完璧に意味がわかって作っているという手応えアリ。わかっていないところをなぁなぁにせず、code の1単語1単語を公式ドキュメントとにらめっこして理解して実行しているから。まだ ”Hello World" レベルだけどね。今の理解は以下の通り。

  • path
  • include
  • URL dispather
  • URL reversing

鋭意勉強中。嬉しかったのでメモしておく。自分のできる範囲で簡単なアプリを作ろう。できたら2月中に。

Django tutorial も Djangogirls も 修了

公式チュートリアルが1月中に終わるといいなぁとダラダラ続けていたらいつの間にか終わっていたよ。厳密な期限設定をしていたわけではないけど期限内に終わったのは嬉しい。公式チュートリアルは(4)までが山場で、あとは惰性で流していくって感じ。このcodeの意味は??というのをそこまでこだわらずにいくとすぐ終わる。本当はこだわるべきなのかもしれないが、コードを読んで8割理解できるレベルにはスキルアップした、と思いたい。問題は読めても書けないというやつ。これは追々修行してできるようにするつもり。

あまりにもあっさりチュートリアルが修了して物足りなかったので、Djangogirlsもやってみようと思いたち、ちまちまやってたらこちらもあっさり3日で修了。去年の6月あれだけハマって詰まって挫折したのに…。あの苦労はいったい何だったのか。これもまた成長なのか。いろんなこと少しずつ囓っていって、回り回ってここまで来て、それがこの成果につながったか。

家や他の場所からひとつのコードを弄るということをしたので、開発ってこんな感じなのかというのも体験、同じ環境にするためにDockerにも少し手を出し(ただインストールしただけで使わなかった)、結局Gitを使えばいいのかとわかり、cloneしたりpullしたりpushしたりと経験値も上がった。Gitを恐る恐る触る段階から単なる道具だとわかった段階へ。初branch、初conflict、初merge も経験。

インプットはある程度できたので次はアウトプットできるようになれれば。出来合いのモノをカスタマイズして学びつつ、その知識を使って0からフルスクラッチできたら、成長したと実感できるか。

思い出すことは自分の再生産に他ならない

20代に映画を見まくってマイ映画ベスト10をつくって悦に入ってた時期があったけれど、年食って映画を観るスタミナが衰え、今ではほとんど観なくなってしまった。もう何年も前からマイベスト10は更新されておらず。今日愕然としたのはあれだけ好きだった映画が思い出せなくなっているという事実。自分は何を好きだったのか、それすら記憶から薄れつつある。本当に若年性アルツハイマーじゃなかろうかと不安になるが、思い出したりとか人に話したりとかあまりしないせいだと自分に言い聞かせている。好きなものは好きだと口にしないと、しかも言い続けないとそれすら消えてしまうのだとぞっとした。あまりにも自分が立っている場所が脆く不安定なのだと知って。

自分が好きだったモノは自分を形作る背骨みたいなもので、それが消えゆくのは何だか自分がなくなっていくようで心細い。だから「あぁオレってこういう人間だったな」と改めて記録を残していきたいと思う。自分が生きていた証を残したい、わけではない。そんなアリバイを残したいという欲求は薄い。でも書き残しとこうという欲が湧いたのは、何だろう、今を楽しみたいのだ。自分が立っている場所をハッキリさせて、ちゃんと足で立って、これから経験することを楽しみたい、からか?

書き連ねていけばどんどん思い出していくこともあるだろう。思い出したことは前とは違っているのかもしれない。人間は勝手なもので過去を自分が都合の良いように改ざんするらしい。なんでそんなことをするのか、つらつら考えるに、過去は今の自分に繋がっていて、今の自分を何とかしたいから過去も変えていくんだろう。そう思うと過去の改ざんもそう悪いものでもない気がしてくる。恥多い後悔だらけの自分の生きてきた道程がちょっとだけマシに見えるから。自分をつくりなおす、思い出すってそんな感じだ。

誰に書くわけでもない、誰かに読んで欲しいわけでもないけれど、暇つぶしに読んでもらって自分が好きなものを誰かに好きになってもらえたら、嬉しいなと思う。