ソフトウェアの開発
■様々なソフトウェア
- OS
ハードウェアを抽象化(Windows,macOS,Linux等)
・計算ソフト
・Webブラウザ、メールソフト
・画像編集ソフト
- Webシステム、Webアプリケーション
・インターネットバンキング
・SNS
・eラーニング
■ソフトウェアの開発工程
1.要求分析・定期
2.設計
- 外部設計
- 内部設計(プログラミングを意識する)
3.実装
- バグ、デバッグ、デバッガ
- プログラミングのツール
・コード→テキストエディタ
・コンパイル→コンパイラ
・デバッグ→デバッガ
・変更履歴管理→バージョン管理システム
IDE(総合開発環境):
4.テスト
〇ウォーターフォールモデル
1-4それぞれやってから次の工程へ。
進捗管理が行いやすく、大規模開発に適している
上流工程と下流工程に分けられる。
〇アジャイル開発
要求分析が困難
・機能を全部上げるのが困難
・完成品のイメージがつかみにくい
・途中で要求が変化
■データベースの設計
〇E-Rモデル
実体:モデル化する対象物
関連:実体間の関係
属性:実体と関連が持つデータ項目
単位認定試験の過去問「身近な統計」1回目
GASの勉強①
今日はGAS(Googleのサービス)を勉強します。
GASはプログラミングしない人も事務仕事を効率化するのに使うと便利かなと思ってます。 JavaScriptの基本的なコードで書くそうので、JavaScriptの勉強にも役立ちますね。今日はこちら↓の動画でGASの基礎を手を動かして体験します。
■内容
・スプレッドシートの情報を取得
・gmailを送信
では、やってきます。 後日にでも体験をまとめられたらいいな
英会話とプログラミングの上達方法は似てる
と思った話です。
放送大学の英語のテスト(通信指導)が恐ろしい点数だったので、英語の本を読み始めました。そこに書いてあった事が凄かったんです...
”初心者は単語を捨てよう”
……なるほど、いやなるほど。
使う単語を少なくしてその中で英文を完成させる。
これって、プログラミングの勉強もそうだなって思いました。
私は仕事でExcelVBAとRPAで事務作業の自動化をしてるのですが、勉強始めた頃に「全コード網羅」や「効率の良いコード」の本を読んでました。
今思うと恥ずかしいのですが、この頃は、インプットする時間が足りない、理解も足りない、でも仕事の納期は短い。上司からは「1日でできるよね」「3日でできるよね」と根拠なく言われる(上司はマクロ組めない)。私しかこの業務をやる人がいなかったので「最初から効率よくコードを書かないと」なんて思っちゃったんですよね。知識がないのに効率とか...恥ずかしい。
最初はコードが効率よくなくても、きっちりちゃんと動くように書く。
If文もネストしなくていい、If endIf を何個も書けばいい(ネストしないとダメな時もあるけど)
必要最低限の安定したコードを書けばいい、長くなっていい。
理解もないのに効率よくなんて出来るわけがない、今ならそう思います。
これは英語の勉強も同じだったんですね。
英単語をいっぱい覚えればなんとなく意味はわかる、だからいっぱい暗記する必要がある、ずっとそう思ってました。それが英語の上達を妨げてたのかも。
”少ない単語で文を完成させる”
”プログラミングは最後まで作り上げる”
まずこの練習をするのが大事なんですね。
いい本だ。ありがとう。
(クリックでAmazonページが開きます)
ちなみに、こちらを読もうと思ったのは
①Kindle Unlimited対象」(20211120現在」
②「中田敦彦のYouTube大学」
③読みやすそう
です。読んで正解でした。しかも、Kindle読み放題は今月入ったのでお試し無料期間でした。
Linuxの勉強「ps 実行中のプログラムを確認」
仕事でやっているExcelVBAが楽しくて、プログラミングを勉強してます。
そのアウトプットです。
初心者のため正確でない説明かもしれませんが、
なんとなくでも分かる(気がする)を目指します。
■Linuxのコマンド「ps」
psとは動作してるプロセスの一覧を表示します。
(プロセスとは「実行中のプログラム」)
psにオプションをつけて使うことが多いです。
(オプションとは「条件やフィルタ」みたいなもの)
例
ps -A
ps ax
■オプションの例
-A 全プロセス
a 端末が操作してるプロセス
x 今実行してるプロセス
など...いっぱいあります。
今日はここまで。
ブログ書くのってむずかしいね。
でも私の場合伝える能力が高くないので、書いて慣れてきます。
バイナリサーチツリーの走査
放送大学-情報コース‐
科目:データ構造とプログラミング
#6 バイナリサーチツリー
走査(そうさ)について書きます。
■走査とは
あるルールにそって、ノードにアクセスしていく事。
ノードとは下図(ツリー)の「〇」の所です。データって事かな。
各ノードに立ち寄っていく作業=走査
■走査の種類
代表的なもの3つ
●行きがけ順走査
・ルートノード(頂上のノード)を走査
↓
・左側のサブツリーを走査
↓
・右側のサブツリーを走査
●通りがけ順走査
・左側のサブツリーを走査
↓
・ルートノードを走査
↓
・右側のサブツリーを相殺
●帰りがけ順走査
・左側のサブツリーを走査
↓
・右側のサブツリーを走査
↓
・ルートノードを走査
以上です