介護アプリ(財政再建シミュレーター)のリファクタリングを始めました。
とにかくソースコードがぐちゃぐちゃなので、まずは高額療養費算定の関数についてだけリファクタリングしました。
介護アプリを作ったのが4時間、この高額療養費算定の関数リファクタリングにかかった時間も4時間となっています。
見た目を変えずに、中身をスッキリさせることがこんなに面倒くさいとは想像以上でした。
まず1つ1つ改善するところを、改修→動作確認をして、次の改善をするを繰り返します。
まとめてやるとバグの温床になるので。
#Python
#pywebview
#Flask
#非エンジニア
#プログラム初心者
#介護
先日の介護ライフプランシミュレーターの動画になります。
これが実運用に耐えられるようにするために、まずは汚いコードをリファクタリング、特に高額療養費算定の箇所をカスタマイズしやすいように、設定を直す予定です。
そしてライブラリ化、今はPython1ファイルとHTMLファイル1つでものを作っているので、これをどんどん部品化して使い勝手を良くしていきます。
このアプリ夫婦2人で親が共に生存、かつ4人とも子どもの資産を当てにしていると、早期に人生詰むアプリとも言えます。
#Python
#pywebview
#Flask
#非エンジニア
#プログラム初心者
#介護
ちょうど先日この介護プログラムを作っていると、「人はこんなことで破産してしまうのか!」という本を書店で見かけました。
立ち読みしたところ、介護する親が想定外に長生きしたため、破産したという事実が記載。
このアプリの重要性を感じました。
プライベートな事情もあるので、Flaskからpywebviewに移植。
機能を削ぎ落として作ってみました。
とりあえず動くものをとっとと作るため、汚いコードで4時間格闘し、不明点はAI相談しサクッと作りました。
#Python
#pywebview
#Flask
#非エンジニア
#プログラム初心者
#介護
料理レシピデータベースのアプリを作りましたが、クックパッドに代表されるレシピ関連のサイトやアプリには、膨大な数のデータベースはありますが、時間と栄養価、価格のバランスでランキングされているものはパッと見た感じありませんでした。
この辺を突き詰めると、面白いアプリが作れそうな気がします。
難易度とスキルを見極めて、ここをチャレンジしたいと考えています。
#Python
#JavaScript
#pywebview
#非エンジニア
#プログラム初心者
最初はAIに丸投げして、エラーを取っていましたが、最近はスペルミスのような単純なものは自分で解決できるようになりました。
徐々にエラーのケースについても、AIに壁打ちしながら学習し、エラー除去のスピードを上げるためかなり苦労しています。
ここについては王道はないため、地味にコツコツやっていき、時間がかかるようならAIにギブアップして解いてもらいます。
#Python
#JavaScript
#pywebview
#非エンジニア
#プログラム初心者
ここまで数カ月Pythonを中心にJavaScriptとHTML、CSSの学習を進めてきました。
タイマーは難しかったですが、いずれ避けては通れないところなので、再度応用でチャレンジしたいです。
今は作るのが精一杯ですが、始めた頃と比べると成長度合いが高くなっているのを実感します。
もっと応用を利かすべく、全然違う種類のアプリを作っていきたいです。
#Python
#JavaScript
#pywebview
#非エンジニア
#プログラム初心者
今日は画像処理の基礎である、Base64についてPythonとJavaScriptのやり取りを学習しました。
こうして色々作っていると、命令文の多さが目についてGUIは基本書の応用がすごすぎます。
しかしデータベース系は一度、仕組みを理解すると似たような構造で作れるはずなので、しっかり学んでいきたいです。
そしてpywebview独特の使い方でstutilというファイルのコピペの使い方も覚えました。
#Python
#JavaScript
#pywebview
#非エンジニア
#プログラム初心者
料理レシピデータベースはタイマーと比べると、かなり理解が楽ちんという感じがします。
複雑な計算がないのもありますが、データの扱い方だけ理解をしていれば、あとは表示の問題だけなので、そこをPythonとJavaScriptでどう分業しているかを理解すれば、データベース系は中身をどう変えるかだけとなっています。
pywebviewについては、それほど巨大なことをやる余地はあまりないので、こちらの内容をしっかり理解して、次につなげたいと思います。
#Python
#JavaScript
#pywebview
#非エンジニア
#プログラム初心者
ここまで
・家計簿
・可処分時間タイマー
・郵便番号検索
といったものをpywebviewで作ってみました。
まだ規模が小さいので、なんとでもなるのですが、これらを使って応用とかになると、途端に難易度が上がることが想定されるので、規模が大きくなったときの考え方も学習に取り入れていきたいところです。
なぜならここまでなら、プログラム知らなくてもAIに投げれば作れてしまうからです。
人間でないとできないことまで昇華して、個性を出したものを作れるように頑張ります。
#Python
#JavaScript
#pywebview
#非エンジニア
#プログラム初心者
可処分時間タイマーの学習をしていて思ったことは、「日、時、分、秒」を単位を揃えて計算したり、按分を算出したりするのは思っていた以上に大変ということ。
ここに表示(カウントダウン含む)はJavaScript、日付の算出にはPythonを使うという分業を理解するのも結構手こずりました。
今料理レシピのデータベースを作っているのですが、時間の概念を入れる入れないだけでプログラムの難易度がここまで変わってしまうものなのか?というくらい時間計算は難しかったです。
#Python
#JavaScript
#pywebview
#非エンジニア
#プログラム初心者
可処分時間タイマーを作成しつつ理解を深めているのですが、ようやくファイル処理について理解が進みました。
Pythonの辞書型みたいなことが、JavaScriptでもできてデータの扱いが楽なようにできているようです。
ただ取り扱いが文字型なので、Pythonとのデータの受け渡しでそこを間違えないようにすることが重要で、かつPythonは型に結構オープンなので、しっかり型変換すべきところはしないと、エラーの要因になることが今回学習した結果わかりました。
#Python
#JavaScript
#pywebview
#非エンジニア
#プログラム初心者
AIで簡単なプログラムを作成させると、ことpywebviewに関してはPythonのソースコードにHTML、CSS、JavaScriptを全部盛り込むということをするのがデファクトのようです。
AIの助けを借りるのは結構ですが、これをファイル分割するときに、何が必要でどのようなことをする必要があるのかを整理しました。
それと無料のAIを使っていると、200行を超えたあたりからソースコードを端折る傾向があるようです。
ここを留意して非エンジニアは勉強すると良いかもです。
#Python
#JavaScript
#pywebview
#非エンジニア
#プログラム初心者
この1週間可処分時間タイマーについて、色々考えてきました。
最初作ったときは、「なかなかいい出来では?」と思ったものの、締切が設定日の23:59である必要性はまったくなく、細かく自動的に消化する時間も設定できるよなーとか色々考えてしまいます。
このアプリに対してフィードバックをもらうにはどうしたら良いかも含めて、今後このアプリの使い勝手と方向性について、家計簿アプリとともに深く考えていきたいです。
#Python
#JavaScript
#pywebview
#非エンジニア
#プログラム初心者
じっくり可処分時間タイマーの仕様を深く考えると、ガントチャートへの応用や、納期へのタイムリミットなどへの応用が色々効きそう。
まず可処分時間タイマーをもっと細かくすることで、個々人の自由時間がどう使われているのか振り返りをするはずなので、この個人が欲しているタイマーとしての機能をニーズとしてもっと掘り下げたいです。
当然世代によって、使い方は千差万別ですが、大衆のニーズにあったものを仕様として組み込むことで、すごいものが作れそうな気もします。
#Python
#pywebview
#JavaScript
#非エンジニア
#プログラム初心者
可処分時間タイマーを作っていて、改善を加えたいのが有給の消化予定。
有給日数は最大2年間で40日貯めることができるので、全部使えるかどうかは入った会社によって異なるものの、夏季休暇や年末年始休暇などは定番であるので、これを含めて有給消化を将来仕様に含めたい。
この場合、夏季休暇はともかく年末年始の場合、有給消化ではないところが多いはずなので、こちらも計画を練って改善を加えたい。
今はソースコードの理解が先ですが。
#Python
#pywebview
#JavaScript
#非エンジニア
#プログラム初心者
可処分時間タイマーを理解する前に、holidaysの謎を知るため祭日チェッカーを作りました。
このライブラリは単なるチェッカーだけでなく、祭日名も引っ張ってこれるスグレモノです。
しかも、規定の祭日名だけではなく振替休日もちゃんと判定してくれます。
国際的なものらしいので、アメリカの祭日にも対応しています。
ただし標準で入っているものではないので、ライブラリをインストールする必要があります。
#Python
#pywebview
#JavaScript
#プログラム初心者
#非エンジニア
色々PythonとJavaScriptで学習しましたが、理解も進めつつ2言語を中心に学習したので、まずは動くプログラムを10~20作成し、ステップ数が少ないものを電子書籍化しようと考えています。
プロの方と、日曜プログラマで多分求めるものが異なるので、実用的なものを想像してデスクトップアプリで自分が不便なことを解消するものを簡単かつ、便利系で模索していきます。
#Python
#JavaScript
#pywebview
#プログラム初心者
#非エンジニア
可処分時間タイマーを作りました。
勤務時間は昼休みを含んだ時間を想定し、家事にかかる時間と睡眠時間、それと通勤時間を控除し、目標となる日時を設定。
タイマーの設定も分設定や日時の設定などできるようにしました。
これを作ったのは、意外に自分自身が使える時間は少なく、他人のために使っている時間の多さに驚いて、可処分時間を大切にすることを心がけるためです。
今後の改善点としては、コンパクトにまとめたウィジェット機能を追加することです。
#Python
#JavaScript
#pywebview
#非エンジニア
#プログラム初心者
今回pywebviewを使って、家計簿アプリを作ってみました。
通貨選択がありますが、これは練習用で作ったので無視してください。
絵心がないので、画面の構成が見にくいですがしっかり家計簿しています。
今後の課題として、セーブ・ロード機能の追加や練習用の通貨選択の削除などがあります。
ソースコードは自分のブログに載せる予定なので、後日アップしてリンクいたします。
#Python
#JavaScript
#pywebview
#非エンジニア
#プログラム初心者
ここまでを総括すると、Flaskでちょっとした基礎を学習。
pywebviewでもちょっとしたツールを作成。
6ヶ月かけてJavaScriptとPython基礎を写経で学習。
そこから2ヶ月でちょっとしたツールを作成。
デザインはまだまだ途上。
といったところです。
この間プログラムの勉強は毎日30~45分程度。
学習記録はnoteのマガジンにまとめました。
note.com/socialunrest...
note.com/socialunrest...
#Python
#JavaScript
#pywebview
#Flask
#プログラム初心者
#非エンジニア
色々調べてみると、このSQLite結構融通が効くようで、pywebviewにも使えそうです。
データベースのイメージはPCの外にあって、それを引っ張ってくる、なぜならデータが巨大だからというイメージがありました。
が、個人で大した量を作らないのであれば、SQLiteを使うメリットは大きいと考えます。
家計簿アプリにも応用が効きそうなので、最初はJSONでデータ出力、慣れてきたらSQLiteでデータベース化してプログラムの改善を図ろうと思います。
#Python
#JavaScript
#pywebview
#プログラム初心者
#非エンジニア
pywebviewについては、図書館でFlaskの本を返却して、再度借りる間こちらを学習します。
今家計簿アプリの途中ですが、デザインに結構手間取って、肝心のプログラムが進まない状況となっています。
また規模が大きくなると、無駄をもっと省けるのではないか?という疑問も生じて奥深さを知ることになりました。
HTMLとCSSもどこかのタイミングでデザインとして、覚える必要があるので、携帯向けやパソコン向けなど、共通で使えるサイトづくりの勉強もしないといけないですね・・・
#Python
#JavaScript
#pywebview
#非エンジニア
#プログラム初心者
今回始めて、デザインの壁にぶち当たりました。
htmlをブラウザ上で見ると、ちゃんと表示されているに、pywebviewではデザイン崩れが起きていて、長さを微調整するのに結構時間がかかりました。
家計簿のアプリをtkinterから、pywebviewに移植するだけと軽い気持ちでやったらとんでもなく工数がかかることが判明。
しかもPython、JavaScript、HTML、CSSすべてを総動員して作るので、規模がかなり大きめになることも作りながらわかりました。
#Python
#JavaScript
#CSS
#プログラム初心者
#非エンジニア
#pywebview
プログラムを作って、noteで履歴を残そうとすると、改修もやっているのでコピペだと結構ファイルがかさばるため、何かないかと探していたら、GitHubというものがあることを知った。
これを使うと、履歴管理が楽になるというので、週末にちょいちょい覚えつつ、これを使うと通常の履歴管理と何がどう異なって、どう嬉しいのかをレポートしようと思います。
VBAだけやっていると、こういうIT屋さんの技術進歩の速さにただただ驚きます。
勉強することが沢山あるので、まずはできることから。
#Python
#JavaScript
#pywebview
#非エンジニア
#プログラム初心者
多分初心者という域を脱出するには、設計図がかけるようにならないと駄目という気がします。
今のところ超小規模なものを作っているので、頭の中でロジックが組めます。
しかし規模が大きくなると、仕事の数が指数関数的に伸びていくのが目に見えています。
果たして個人でどのくらいの規模まで、ものづくりできるのかも含めて勉強していきたいと思います。
本を読むと、今はデスクトップなので性能云々は不要ですが、不特定多数の人に使ってもらうとアクセスも気にしないといけないので、遠い先を見据えたいです。
#Python
#JavaScript
#pywebview
#非エンジニア
#プログラム初心者
今回はJavaScriptを使って、数値の1,000単位をカンマ区切りさせるモジュールを作成。
経理だけでなく、一般の人もよく使うはずなので頻度は高そう。
この処理が面倒くさいのは、文字列⇔数値という処理を施すところ。
カンマ付き数字は文字列として扱われるので、それをちゃんと数値として見てくれるように処理をするのですが、ここで使うのが正規表現という暗号チックなもの。
頻度の高いものは、どんどんモジュール、ライブラリ化してなるべく工数を減らすように考えるようにします。
#Python
#JavaScript
#pywebview
#非エンジニア
#プログラム初心者
毎朝30分~45分のプログラムの学習、仕事を終えて帰宅して学習記録をnoteにつけることをルーチン化しました。
画像ファイルのドラッグアンドドロップで画像を表示させることは、一旦後回しにしてタスクバーにアプリを入れる、よく使うプログラムのライブラリ化などを今は学習しています。
今日はJavaScriptで正規表現を学習しました。
ちょっと暗号チックなところですが、多分全部覚える必要はなく、都度ググったり、本で調べる程度でわかると思います。
#Python
#JavaScript
#pywebview
#非エンジニア
#プログラム初心者
プログラミングの学習をしていると、まずCUIの基礎をざっくり1言語理解するのに3ヶ月、そこからGUIで膨大な部品に対して各々のクラスやメソッドを理解しつつ、何かしらの生成物を作るとなると、自分の場合ですが平日は本業をやりつつ、家で2.5時間程度の時間は確保しないと、結構キツイです。
良く自己啓発本に睡眠時間は削るなとか、睡眠前1時間はブルーライトカットせよとか言っていますが、その裏で上記のことなどやっていたら必要最小限の睡眠時間ですごく勉強する人との勉強複利の差がつくので無視しないと駄目です。
#Python
#JavaScript
#pywebview
#非エンジニア
#プログラム初心者
ちょっと新しいことが多すぎたので、一旦作業ペースを落として、理解しつつ再度エンジンをかける方向で進めます。
画面デザイン、JavaScript、Pythonの3つを同時進行するのは結構骨が折れる作業で、これにWebシステムを加えると、やれSQLite、Flaskなども加わるので、脳への負担がかなりかかります。
自分のスペック以上に理解を早めることができないので、ここはもどかしいですが多分これから、リファクタリングなども覚えると思うので、今の内に基礎をドンドン血肉化していきたいです。
#python
#JavaScript
#pywebview
#非エンジニア
#プログラム初心者
今難題に突き当たっていて、Webではよく見かけるファイルをドラッグアンドドロップして、画像ファイルなどをアップロードなどする処理が結構複雑で、知らないことが沢山出てきました。
ここは焦ってもしょうがないので、じっくりコシを据えて理解を深めたいと思います。
この辺になると、画面周りのことなので、独習シリーズのようなCUIベースの本では苦しいところが出てきます。
そういうところでは検索がまだまだ使えるような気がします。
#Python
#JavaScript
#pywebview
#非エンジニア
#プログラム初心者