プログラミング
1.演算子を学ぶ
2.制御文を学ぶ
3.ファイルの入力と出力を学ぶ
4.関数とreturn文を学ぶ
5.再帰関数を学ぶ
6.構造体を学ぶ
7.オブジェクト指向を学ぶ
8.ポインタと参照を学ぶ
9.スコープを学ぶ
10.例外処理を学ぶ
11.デザインパターンを学ぶ
12.アルゴリズムを学ぶ
13.HTMLを学ぶ
14.XMLを学ぶ
15.UMLを学ぶ
16.データベースを学ぶ
17.ネットワークを学ぶ
18.STLとかコレクションなどの各言語の特性を学ぶ
19.関数型言語を学ぶ
20.情報セキュリティの学習
XSSなどプログラミングにおけるセキュリティ対策は十分にやった方が良さそうである。
例を少しあげると
1.タグやダブルクオートやシングルクオートのエスケープのための関数を使う。
2.入力範囲の検証
3.URLパスの検証
4.文字のエンコーディング処理 /08/12追記
まだ色々あるけどどういう時にどういう対応すべきか
知らないと結構こわい事になりそうである。
他にはデバック技術、テスト技術とか
※あんまり順序は気にしなくていいけど
各項目で影響しあう事柄が含まれている。
※※結局いろいろな本にお世話になっている。
そのおかげで読める本とかもある。
※※※日頃から知識に対する投資が出来るかが重要である。
<<//2022/11/26
他にもプログラムの値渡しと参照渡しの話を昨日した。Javaは配列とクラスが参照渡しなのでC--と言われている。
Visul Studioにも参照渡しはある。変数宣言しなくても使える奴と変数宣言しないと使えない奴がある。
他にも関数を変数に出来ると後から関数をつぎたせる。それも元々の関数を書き直すのとどっちが良いのか私にもわからない。
他にも関数の再帰関数でforやwhileなどのくり返し文を代用出来る。
<<//2022/12/03
------------------------------------------------------------------------------------------------------------------
オブジェクト指向がドメイン駆動になったりレイヤ層になったりデーターベースに依存するとテーブルモジュールになったり
日々の業務のトランザクションスクリプトに依存したりウェブだとクライアントサーバーモデルになったり
要するに色んなやり方があって大事なのは実現するサービスなんだと思う。
------------------------------------------------------------------------------------------------------------------
//2022/12/16追記
------------------------------------------------------------------------------------------------------------------
オブジェクト指向のオブジェクトとは属性のある共通変数達と関数達を含むものである。
------------------------------------------------------------------------------------------------------------------
オブジェクト指向を使うにはデザインパターンも読めないとオブジェクト指向使えない気はする。
だけど私は仕事で他人とデザインパターンの話が成立したことが無い。
だから他人とデザインパターンの話が成立しないと無意味な気はする。でもオブジェクト指向の導入としてはベストな気はする。
------------------------------------------------------------------------------------------------------------------
それぐらいデザインパターンで目的のコーディングが似ている場面があるからだと思う。
それぐらいコーディングの目的が似てないと使わない気はする。
------------------------------------------------------------------------------------------------------------------
親のクラスがあって子のクラスがある。親のクラスの変数に子のオブジェクトのnewを代入すると親の変数で子のクラスが使える。
親のクラスに子のクラスに子の子のクラスがあるみたいに永遠に継承できる。そのため第二のGOTOと言われる面もある。
そうやって継承を続けていくとピリオドで階層構造になる。
------------------------------------------------------------------------------------------------------------------
階層構造もある種のドメイン駆動である。あるいはレイヤ層かもしれない。
理想としては親のクラスを使って新しい機能を付け加えたいときに継承するのだと思う。
なのであんまり親クラスから子のクラスを使うというよりは親の変数で子の機能を使うのであり
子のクラスから親のクラスを使うのが継承である。
------------------------------------------------------------------------------------------------------------------
なので親抽象化クラスの関数を使うと複数の継承子クラスで関数同名具体化コードを書き
親抽象化クラス変数で複数の継承子クラス機能をnewして複数の継承子クラス関数同名機能を使える。
基本的には継承は親クラスの機能追加機能である。
------------------------------------------------------------------------------------------------------------------
親と子を気にするのは機能追加と親変数の時ぐらいで普通は子クラスのみ使うのだと思う。
だからパスが通ってないとピリオドでドメインを宣言する必要がある。オブジェクトも縦の使い方もあるけど横の使い方もある。
関数の引数でオブジェクトとか関数の戻り値でオブジェクトとかである。
------------------------------------------------------------------------------------------------------------------
今日はこの辺にしたい。今日も疲れた。結構頑張ってツイッターした。あんまりこんな事してほめてくれる人はいない。
それぐらい仕事環境が悪い気はする。仕事環境を良くしないとドンドン仕事する人が減る気はする。
私はそんなことを許してはならない気はする。人材の有効活用が大事である。よろしく。
------------------------------------------------------------------------------------------------------------------
オブジェクト指向がUMLとかにつながらないと現実世界の設計につながらずドメイン駆動にならない気はする。
データーベースの正規化と同じでそれが最適化しているわけでない。
何がベストかケースバイケースで色んなモデルが議論の対象なんだと思う。そんな道具たちで議論が可能ってだけだと思う。
------------------------------------------------------------------------------------------------------------------
それぐらい現実世界の最適化にオブジェクト指向とUMLが議論の対象になってドメイン駆動になるような気がする。
クラスと現実世界の対象物の検討が属性と関数になってドメイン駆動の議論の対象になるんだと思う。
設計とプログラムが現実世界と結びつくのが情報処理の最適化の議論の対象なんだと思う。
------------------------------------------------------------------------------------------------------------------
クラスと現実世界の概念も属性と関数だったりもするかな。それが道具になって最適化の議論の対象になるんだと思う。
未来の予測も最適化の議論に含まれると思う。要点はその道具が議論できる事のように思う。
------------------------------------------------------------------------------------------------------------------
プログラムの仕事の環境が良くなるのが私の理想である。あんまり門戸を狭くしたくない。よろしく。
<<追記20221217
------------------------------------------------------------------------------------------------------------------
東芝テックの子会社で一番感謝するのはテストとエラー処理かな。try{}catch{}final{}とエラー処理の併用が
あんまり個人ではやらないケースのように思う。
テストは色々やって資格も一つ取ってそれもあんまり個人ではあまりやらないケースのように思う。
------------------------------------------------------------------------------------------------------------------
オーバーフローとか0で割ったりとかそんな事にいちいち気になるのは東芝テックの子会社のおかげのように思う。
それでもブラックボックスで簡単にテストを終わらせるケースもあるように資格にはあった。
お金の計算は一円でも間違ったら駄目だから結構テストは大事なのだろうと思う。
------------------------------------------------------------------------------------------------------------------
ホワイトボックスでは境界値テストとか条件網羅テストとかブラックボックスではCUIとGUIの表示から参考にテストを行なうとか
何か系統的にテキストを読んで判断する○×資格テストだった。
大体開発は東京で大仁はテストだった。私に開発をするように言われ参考にするのはインターネットしかなかった。
------------------------------------------------------------------------------------------------------------------
それも掲示板を使えなかった。グーグルのキャッシュで掲示板を見た。そんな感じなのであんまり良い環境じゃあ無かった。
なのであんまり頼りになるビジネスマン像がくずれた。もうこんな仕事が出来る気がしない。
それより私は仕事で何がやりたいかの方が大事である。それでもフラフラしてる。よろしく。
※コードの方はこちらをどうぞ---->>201905-06プログラム概論
https://twitter.com/kotori44/status/1640341220802310146?s=20
上のURLの追記↓↓↓2023/03/2追記
------------------------------------------------------------------------------------------------------------------
小さなプログラムで動かすのも規模が小さいとも限らない。
それがunix のshellプログラムで主にサーバーで動く大規模処理システムである。
Windowsのバッチファイルみたいな奴である。WindowsサーバーならPowerShellみたいな奴である。
そういうのって自動処理に適している。だから大きい小さい関係無し。
------------------------------------------------------------------------------------------------------------------
https://twitter.com/wakkii_goes/status/1653010972863528960?s=20
上のURLの追記↓↓↓2023/05/02追記
------------------------------------------------------------------------------------------------------------------
バッチファイルとかShellスクリプトとかPowerShellとかエラー処理が大事だなと思う。
エラー起こしてもプロセスが切れたらエラー処理の大成功のように思う。
括弧とかandとかorを組み合わせてエラーでもスクリプトの末尾か終了でプロセスが切れてユーザーが原因が分かれば再実行出来る気はする。
------------------------------------------------------------------------------------------------------------------
エラーが起こってプロセスが残るのはOSとしてはメモリーが食われる。プロセスを切るか最悪再起動しかない。
なのでエラーでもプロセスが切れる方が良く。
エラー原因も分かる方が良い気はする。
つまりエラーでも末尾まで到達するか終了するのが一種のOSにやさいしいスクリプトな気がする。また明日。
------------------------------------------------------------------------------------------------------------------
//追記2017/02/02
shellコマンドにしろバイナリコマンドにしろ
プロセスが終わらないと下行の処理に移れない。
shellコマンドの場合終了の明示がなければ末行まで行かないと
プロセスが終わらない。その間ずっとそこの行で処理が止まったままになる。
そういう悪循環にならないように
バックグラウンドで起動するとかatコマンドのようなものを使うとか
注意は必要である。
※コードの方はこちらをどうぞ---->>ShellスクリプトやBatファイルやPowerShell ----
---->>http://home.wakkii.mbsrv.net/skillprogress/shell.html ---->>http://home.wakkii.mbsrv.net/skillprogress/script.html
最後の手段は読書かな。
↓↓↓
//2014/02/18 追加編集
//2014/06/17 追加編集
//2014/08/10-12 20.項目追加編集
//2022/11/26 追記編集
//2022/12/03 追記編集
//2022/12/16 追記編集
//2022/12/17 追記編集
//2023/01/04リンク追記
//2023/05/02追記編集