program study story

プログラムの勉強 アウトプット

psqlについて_一般的なオプション実行

コマンドプロンプトより、psqlを実行する場合、

オプションが用意されている。

オプションの一覧 

--- 一般的なオプション ---

・-c,-command=コマンド

(SQLまたは内部)単一のコマンドを1つだけ実行して終了

・-d,-dbname=DB名

接続するデータベース名

・-f,--file=FILENAME

ファイルからコマンドを読み込んで実行後、終了する

・-l,--list

私用あのうなデータベース一覧を表示して終了する

・-v,--set=,--variable=名前=値

psql変数'名前'に'値'をセット(例:-v ON_ERROR_STOP=1)

・-V,--version

バージョン情報を表示して終了する

・-X,--no-psqirc

初期化ファイル(~/.psqlrc)を読み込まない

・-1(数字の1),--single-transaction

(対話形式でない場合)

単一のトランザクションとして実行する

・-?,--help[=options]

ヘルプを表示して終了する

・--help=commands

バックスラッシュコマンドの一覧を表示して終了する

・--help=variables

特殊変数の一覧を表示して終了する

 

psqlについて_PostgreSQL_接続_切断

psqlとは

コマンドラインベースでPostgreSQLで作成済みのデータベースに接続したりテーブルから取得したりすることが出来るツール。

 

Windows環境からpsqlを利用するにはコマンドプロンプトから行う。

PostgreSQLへ接続

PostgreSQLへ接続するには、次のように実行する。(PostgreSQLで作成し済みの指定したデータベースに接続する)

 

psql -h ホスト名 -p ポート番号 -u ロール名 -d データベース名

 

ホスト名はPostgreSQLが起動しているホスト名またはIPアドレス

(デフォルトの値はlocalhostとなっている。ローカルホストで動いているPostgreSQLに接続する場合は省略可能。)

 

ポート番号は使用するポート番号

(デフォルトの値はPostgreSQLのインストール時に設定した値[通常は5432]となっているので別のポート番号を使用するとき以外は省略できる)

 

ロール名は-U postgresと指定してください。

PostgreSQLをインストールした直後はスーパーユーザーであるpostgresロールしか作成されていないため。

(ロール名を省略した場合はOSのユーザー名が使用される。PostgreSQLでは、一般的にユーザーと呼ばれるものとグループと呼ばれるものをまとめてロールと呼んでいる。)

 

データベース名には接続するデータベース名を指定します。

(省略した場合はロール名と同じ名前のデータベースに接続する{postgresデータベースは自動で作成されており、postgresロールで接続した場合はpostgresデータベースに接続する。})

 

①すべて指定してPostgresSQLに接続する場合

psql -h localhost -p 5432 -U postgres -d postgres

 

②ホスト名がlocalhostの場合で、ロール名と同じデータベースに接続する場合

psql -U postgres

 

①と②は同じ意味で認識され、実行されたことになる。

・ホスト名がlocalhostであれば、省略ができ、ポート番号も省略できる。

・ロール名と同じデータベースに接続する場合はデータベース名を省略できる。

 

①と②のどちらかで入力後、Enter押下。

postgresのバスワードを入力後、Enter押下。

接続した場合:

postgresデータベースに接続しているので、posgres=#と表示される。

接続中はデータベース名=#と表示される。

 

 

psqlを終了してPostgreSQLから切断するには・・・

コマンドプロンプトにて、データベース名=#が表示時、

「¥q」を入力し、実行

psqlが終了し、PostgreSQLから切断されると

データベース名=#が表示がなくなります。

PostgreSQLについて_基礎

PostgreSQLは、

オープンソースリレーショナルデータベース管理システムのこと(RDBMS)です。

元々の名前は、「Postgres95」であったが、1996年以降はふさわしくないとのことで、「PostgreSQL」と名前を変更し、バージョンを6.0とされている。

PostgreSQLのバージョン番号6.0から9.6までは、「x.y.z」という形式でつけられていた。「x.y」までの数字をメジャーバージョン、そのあとの「z」をマイナーバージョンと呼びます。

バージョン番号10以降は「x.y」という形式で付けられるようになり、

「x」がメジャーバージョン、「y」がマイナーバージョンを表します。

メジャーバージョンが上がった場合、データを新バージョンへ移行する必要がある。

インターネット上で主にメーリングリストを中心といてオープンに開発が行われている。

 ※ メーリングリストとは

複数の人に対して一斉にメールを送ることが可能になる仕組みのこと。

 

プログラミング 基礎(復習)

プロパティとは

メンバ変数の値の取得や変更を行うためのメソッド(アクセサー)のこと

メンバ変数へのクラス外部から直接アクセスできるようにすることは
オブジェクトの状態が不正な値に書き換えられエラーになることや、その
メンバ変数が絡んだ修正が入った時にオブジェクトの値を利用する側のクラスの修正量が
増えてしまったりするリスクがある。

そのため、メンバ変数は基本的にそのクラス内だけで利用し外部クラスから
直接アクセスできない状態にして、メンバ変数とのやりとりはメソッドを
活用するようにする事が望ましい

活用するための準備 基本

・get{}set{}だけでひとかたまりで記述できる
・利用者側のクラスでは、変数に直接アクセスしているかのように
 「インスタンス.プロパティ名」だけで値のやりとりができるようになるのが利点

プロパティを記述するクラスでは、
アクセスレベル型 プロパティ名{}で宣言し、その中にset{}get{}を記述

set{}の中には「メンバ変数 = value」と記述。
valueは利用者側のクラスで代入された値が格納される予約語

get{}の中には「return メンバ変数」戻り値を指定する形になる

活用するため 基本

準備が完了後、

利用者側のクラスでインスタンスを生成し、値の取得時は
インスタンス名.プロパティ名」で
get{}を呼び出し、
インスタンス名.プロパティ名 = 値」で
set{}を呼び出す

これを扱うと、
プロパティを記述するクラスでは、メソッドとして
扱うことができ、
利用者側のクラスではメンバ変数のように
扱うことができる

省略系
{set; get;}の記述のみでも上記と同じ意味になる

★アクセスレベルについて

set{},get{}のアクセスレベルを変更できる

public property{ protected set; get;}と記述すると、
set{}をprotectedにしたので、利用者側ではアクセスできなくなる。
get{}はデフォルトのpublicなので、アクセスが可能

★get-onlyについて
set{}を記述しない書き方

get-onlyにすると、コンストラクタでのみ
値を代入できるようになり、以降は変更不可となる。


https://www.sejuku.net/blog/102827
プロパティの活用

●細かい疑問点

■自動実装プロパティとpublicフィールドの違い
・外部から扱う場合、特に違いなし
・自動プロパティが有用な点(get,setで異なるアクセスレベルを設定可能になる)

■プロパティとメソッドの違い
メソッドは操作を表し、プロパティはデータを表す
例え:
「人」オブジェクトがあれば、
「名前」や「性別」はデータ
「歩け」や「走れ」といった操作(動作)はメソッド

■フィールドとプロパティの差
・フィールドはクラスのメンバ変数
・プロパティはpropertyの構文で作られた変数
違い:
後者はアクセス権や範囲チェックなどの検証ロジックが
必要になるため、低速になる

VisualStudio .NetFramework/.Net Standard/.Net Coreの違い

■ .Net Frameworkとは

Windows向けのアプリケーションを動作させるためのランタイム実行環境。

特徴:.Net FrameworkNet Frameworkというアプリケーションフレームワークでもあり、様々な機能をライブラリとして提供している。

このライブラリを使用することでWindowsの機能を簡単に実装することを可能にする。

■ .Net Coreとは

オープンソースのソフトウェアフレームワーク

特徴:Linux系OS(Debian,Fedora,Ubuntu,etc)やmacOS,Windowsなどクロスプラットフォームを対象。

■ Xamarin

.Netファミリーの一員。

特徴:Xamarinの使用により、

macOSアプリ、UWPアプリ、iOSアプリ、Andoroidアプリなど、クロスプラットフォームを対象としたアプリケーションを作成することができる。

Xamarinを使用するとiOSAndroid、UWPアプリを一度に作ることが可能。

Xamarinは、テクノロジー自体は、.Net FrameworkC#を基盤にしている。(Monoというライブラリを使用する)

■ .Net Standardとは

.Net APIの正式な仕様

特徴:.Net Standardに従って作成されたAPIは、.Net Framework、.Net Core、Xameinといった全ての.Net 実装において、共通となるクラスライブラリを提供することを可能にする。

.Net Stanadard又は(Base Class Library)と呼ばれ、=BCLと呼ばれることもある。

 

WPFとは

WPF(Windows Presentaion Foundation)の略。

◆魅力的な外見のユーザーエクスペリエンスを持つWindowsクライアントアプリケーションを作成するための次世代プレゼンテーションシステム。のこと。

ユーザーエクスペリエンス・・経験によって習得した知識・技術

プレゼンテーションシステム・・・アプリケーションの使用者であるユーザーがアプリケーションを評価するときの最大のポイントは見た目のユーザーインターフェースである。

ユーザーエクスペリエンスなユーザーインターフェースを持てばアピール度合いが向上する。

この手段を提供する仕組みが「プレゼンテーションシステム」

この2つの意味を掛け合わせたものがWPF

 

 Windowsアプリケーションを構築するためのフレームワーク(クラス、ライブラリ)などで構成されている。

 

ASP.NET_基礎_ViewBag+α

ASP.NET(.Net Framwork)にて、MVCで作成の勉強をしております。

何かいい練習などありましたら、教えてください。

Contorollers/HomeControllersにて、ViewBag.Titleとある。

・ViewBagに対するのが、ViewData。

□ViewDataの優位点

プロパティの方が厳密にチェックされること

=Intellisenseが効くようになる

□ViewBag

スクリプト言語のように宣言なしにいきなりプロパティをセットできること。

=intellisenseが使えなくなる