お気に入り物件登録サイト_1日目

postgreSQLをローカルにインストールしてユーザ・権限を登録して業務テーブル(ユーザテーブル、物件テーブル)をコンソールから操作しようの回。

なお基本的にGUIは使わずCLIを使用するものとする。

homebrewのインストール

mac(linuxもだが)のパッケージ用マネージャーhomebrewをインストールする

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

無事インストールできたら、上記コマンドの指示に従い、brewのパスをとおす

==> Next steps:
- Run these commands in your terminal to add Homebrew to your PATH:
    echo >> /Users/user/.zprofile
    echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/user/.zprofile
    eval "$(/opt/homebrew/bin/brew shellenv)"

brewのパスがとおっていることを確認する

brew --version

→無事とおってました

brewでインストールできるpostgresSQLのバージョンを探す

brew search postgresql

特にバージョン指定が必要ないので(わからないので)postgreSQLをインストールする

brew install postgresql

インストールされたバージョンを確認する

psql --version
psql (PostgreSQL) 14.15 (Homebrew)

データベースを起動する

brew services start postgresql
==> Successfully started `postgresql@14` (label: homebrew.mxcl.postgresql@14)

データベースの一覧を確認する

psql -l
                         List of databases
   Name    | Owner | Encoding | Collate | Ctype | Access privileges 
-----------+-------+----------+---------+-------+-------------------
 postgres  | ****  | UTF8     | C       | C     | 
 template0 | ****  | UTF8     | C       | C     | =c/user          +
           |       |          |         |       | user=CTc/user
 template1 | ****  | UTF8     | C       | C     | =c/user          +
           |       |          |         |       | user=CTc/user
(3 rows)

postgreSQLに接続する

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

データベース:realestを作成する

CREATE DATABASE realest;
CREATE DATABASE

データベース一覧を確認する

\l
                         List of databases
   Name    | Owner | Encoding | Collate | Ctype | Access privileges 
-----------+-------+----------+---------+-------+-------------------
 postgres  | ****  | UTF8     | C       | C     | 
 realest   | ****  | UTF8     | C       | C     | 
 template0 | ****  | UTF8     | C       | C     | =c/user          +
           |       |          |         |       | user=CTc/user
 template1 | ****  | UTF8     | C       | C     | =c/user          +
           |       |          |         |       | user=CTc/user

データベース:realestに接続する

\c realest
You are now connected to database "realest" as user "****".

テーブル:users、propertiesを作成する

CREATE TABLE public.users (
user_id INTEGER NOT NULL,
user_name VARCHAR(50) NOT NULL,
user_password VARCHAR(50) NOT NULL,
registered_date TIMESTAMP,
updated_date TIMESTAMP,
PRIMARY KEY (user_id)
);
CREATE TABLE
CREATE TABLE public.properties (
id INTEGER NOT NULL,
mantion_name VARCHAR(50) NOT NULL,
registerd_date TIMESTAMP,
updated_date TIMESTAMP,
PRIMARY KEY (id)
);
CREATE TABLE

テーブルの存在を確認する

\dt
 public | properties | table | ****
 public | users      | table | ****

usersテーブルの定義を確認する

\d users
 user_id         | integer                     |           | not null | 
 user_name       | character varying(50)       |           | not null | 
 user_password   | character varying(50)       |           | not null | 
 registered_date | timestamp without time zone |           |          | 
 updated_date    | timestamp without time zone |           |          | 

propetiesテーブルの定義を確認する

properties
 id             | integer                     |           | not null | 
 mantion_name   | character varying(50)       |           | not null | 
 registerd_date | timestamp without time zone |           |          | 
 updated_date   | timestamp without time zone |           |          | 

usersテーブルに1レコード挿入する

INSERT INTO users VALUES(1, 'test', 'test', current_timestamp, current_timestamp);
INSERT 0 1

usersテーブルのレコードを確認する

select * from users;
       1 | test      | test          | 2024-12-01 17:56:11.479424 | 2024-12-01 17:56:11.479424

propertiesテーブルに1レコード挿入する

INSERT INTO properties VALUES(1, 'test', current_timestamp, current_timestamp);
INSERT 0 1

propertiesテーブルのレコードを確認する

select * from properties;
  1 | test         | 2024-12-01 17:59:28.398247 | 2024-12-01 17:59:28.398247

初歩も初歩ですね。今日はいったんここまで。

お気に入り物件登録サイトを作ろう

久しぶりのブログ更新。

はじめに

筆者は普段プロジェクトマネージャーをしており、ここ5年ろくにプログラミングをしてこなかった。そのツケが仕事上でのITアーキ検討や顧客や技術者との議論に悪い影響を及ぼし、誤魔化しきれなくなってきているので、趣味で簡単なWEBサービスを構築し、少しでも怠惰の精算をしようという取り組みである。

本ブログは学んだことに対するアウトプット用のあくまで個人的な備忘であり、SNS等で公開する予定はないが、まんまんがいち目にした読者がいたとしたら拙い文章力と技術力は予め謝罪しておく。

参考にする書籍

ソフトウェア技術者の人生マニュアル *特に第三章の「学習」

最初の目標

不動産のお気に入り物件を登録するWEBサイトをローカルで公開し、自身だけで使用する

*実践的なネットワーキングやセキュア開発に全くといって自信がないため

技術
  • 開発端末:MacBookAir M2
  • 統合開発環境:Visual Studio
  • WEB・APアプリ:Apache Tomcat *使用バージョンを書けるほど技術に精通していない
  • WEB・AP言語:Kotlin
  • DB:PostgreSQL
  • クライアント:Macコンソール *ゆくゆくはHTML5、CSSでブラウザ閲覧したい
  • バージョン管理:GitHub *ゆくゆく
  • 環境構築:Docker *ゆくゆく
  • フレームワーク:なるべく使用しなくてもいいかも。生言語で
  • ライブラリ:同上
マイルストン

1回がなるべく1日のタスクになるよう努める。

日々、仕事/読書/Udemy/資格勉強/ジョギング/妻との家庭生活・・・etcはあるので決して無理はしないように。

  1. ローカルにpostgreをインストールし、初期設定とユーザ・権限を設定し、業務テーブル(ユーザテーブルと物件テーブル)を作成しコンソールから参照・更新する
  2. ローカルにApache Tomcatとkotlinをインストールし、kotlinプログラムから業務テーブルを参照・更新する
  3. ログイン・ログアウト機能を作成する。セッション管理する。ログイン時のみ物件テーブルを参照できるようにする
  4. GitHubをインストールし、バージョン管理を開始する
  5. ユーザによる物件テーブル更新機能をつける
  6. SUUMOから物件情報を更新する機能をつくる。その1
  7. SUUMOから物件情報を更新する機能をつくる。その2
  8. ログイン・ログアウトのWEBページをつくる
  9. 物件情報一覧のWEBページをつくる
  10. WEB・AP・DBサーバのDockerイメージをつくりRunできるようにする
日々気を付けること

Xはアンインストールして閲覧しないこととする。

Xを見るくらいならQiitaを見よう(決心)

 

AZ-900 Microsoft Azure Fundamentals_その5

前回投稿(1冊の入門書を2周読了)したのが10/11(水)。

それから4日経った10/15(日)現在、次の参考書を1周読了。

ちなみに買ったのはこの参考書。

https://www.sbcr.jp/product/4815610869/

 

こちらも1冊目と同様に直近で改訂がされており、最近行われた試験範囲の改訂や、Azureの用語変更に対応されていた。

この本は幅広く網羅的に解説はしてくれているが、1つ1つの用語説明に多くのページは割かれていないので初見だったら挫折していたかもしれない。

1冊目を読んで基礎知識をつけておいて本当に良かった。

 

さて、応用情報技術者試験が終わってちょうど1週間になる。

本日が10/15(日)、世間では宅建試験が耳目を集めている。不動産業界ビギナーの人たちがこぞって受験している。

私はこれからも黙々とAzure。

もう1周をはやいうち(2日間目標)に行い、大大大好きな過去問に取り掛かりたいと思う。

過去問は以下。

・参考書の巻末の想定問題40問

・Microsoft公式の想定問題50問(ただし英語版のみ)

・練習問題アプリ(作者の方、無料公開ほんとうにありがとうございます)

https://simple-was-best.com/az-900-test-prep/

 

次の土日には合格ラインに持って行けそう。

あとは上司が受験料の補助金を出してくれるかどうか。(以前のブログで受験料12,500円と書いたが、税込だと13,750円だった…)

 

最後まで読んでいただきありがとうございました。

AZ-900 Microsoft Azure Fundamentals_その4

1週間で基礎が学べるという本を、3日で2周しました。

 

次のステップに行きます。

やはりリアルの本が性に合ってるから、また参考書にします。

次の一冊仕上げて1-2週間後には受験できてたらいいな。

 

f:id:rojiji:20231011222119j:image

AZ-900 Microsoft Azure Fundamentals_その3

今回は、勉強は、時と場所を選ばないという話。

 

普通に社会人として生活しているので勉強時間はガッツリとは取れない。

それでも学校とバイトやクラブ・サークル活動をしている学生よりは取れるだろう。

 

私は以前「寝食を忘れて勉強に没頭している」と書いたが決して大袈裟ではない。

具体的には通勤電車や出張中、人待ちの時間に参考書を開いている。

通勤電車はそこそこ満員で本を開くと迷惑かつ恥ずかしいので、参考書の目次のスクショを見ている。

スマホを見始めると止まらないし、「家に帰ってからでいいや」「明日またやればいいや」となってしまうので、何はともあれ本を開く。

そうすると不思議なもので、最初はだるいなだったものが、もうちょっとやろうかな、え、もう目的地に到着しちゃった/待ってた人が来ちゃったとなる。

まさに「明日やろうは馬鹿野郎」だ。

やる気のゼロをイチにするのは難しいが、思い立って行動をおこしてイチにしさえすれば、そこから2にも3にもするのはそう労力はかからない。

 

今も人待ち中の勉強の息抜きとしてこのブログを書いているが、また勉強に戻ります。

 

最後まで読んでいただきありがとうございました。

 

AZ-900 Microsoft Azure Fundamentals_その2

Microsoft Azure Fundamentalsを勉強しようと思い立ったのが10/8(日)。

その日から2つのことを行なった。

 

まずは上司への報告・相談。

受験料が12,500円と高額なので、何としても補助金を勝ち取らなければならないからだ。

今日は10/10(火)だが、たまたま1on1を行う予定があり、上司も快諾してくれた。決済ルートが更に上まで存在するため安心はできないが、おそらく大丈夫。全額補助が出る。

 

次に勉強ツールの確保。

ネット、書籍、スクール、いろいろあるが書籍にした。

 

本当はネット、というかMicrosoftがラーニング教材として提供している動画やハンズオンを受けるのがベストなのだが、ちょっと見てすぐにやめた。

明らかに英語から日本語に機械翻訳したものであり、登場人物のAprilさんが4月さんと訳されていた時点でページの戻るボタンを押した。

本格的に勉強し出したら、azureのアカウント作成とサインイン、リソースの作成にサービスの導入をし、公式リファレンスに当たらなければいけないので今のうちに慣れておく必要があるのだが、いきなり挫折しそうで怖かった。

 

そして第3の選択肢のスクールも高額だし決まった時間が取れないので、

書籍を選んだ。

 

たまたま書店で手に取ったものがこちら。

f:id:rojiji:20231010205345j:image

なんともとっつきやすそう。

アライグマ?がかわいい。色合いがかわいい。

帯は、はじめのいーーー、っぽ、と書いてある。

税込2,750円と少し高かったが(なんだかお金の話ばかりしている)、初めの一歩、ゼロをイチにするのが大事ということで。

7日で基本のキが身につくらしいし。

 

そしてこの2日で、公私の隙間時間で1周読んだ。

実は楽しくてちょっと睡眠時間も削った。

 

嬉しい感想として、2点。

 

まず本当にとても簡単。

応用情報技術者試験を受けた直後で、Windows Serverをオンプレで触っていた経験があり(インフラエンジニアではないが)、ほかのクラウドサービスであるAWSも触ったことがある私には楽勝だった、とかじゃない、本当に誰でも優しく簡単に読めるものだった。

著者の方、編集・出版の方、本当にありがとうございます。

 

次に、この本が初版で、なんと2023/10/1 第1版発行とのこと。

新しいにも程があるフレッシュさ。

Microsoft Entra ID (旧称 Azure Active Directory)という記述が出てきて、長年親しまれてきたADが名称変更されるというニュースを知ったのがつい先日。

それがもう反映されているのでビックリして奥付を確認したら2023/10/1。

ここで出会えたのが運命である。

 

あと1周ザッと読んで知識を定着させて、次の参考書を買う予定です。

azure実際に触ってみるのは、もう少しあとでいいかな。

 

最後まで読んでいただきありがとうございました。

 

AZ-900 Microsoft Azure Fundamentals_その1

令和5年秋期の応用情報技術者試験の受験が終わった。

合格発表は2ヶ月後の12月。

受験者が数万人いるし、午後問題は記述式でOMRによる自動採点が不可能なので仕方ない。

 

資格試験あるあるなのだが、試験を受け終わったあとが次の勉強をしたくなるピークである。

アドレナリンが出ており、脳が次の獲物を探している。

 

候補は4つある。

・システムアーキテクト

・簿記2級

・宅建

・Microsoft Azure Fundamentals

 

このうちまずシステムアーキテクトは除外。

IPAのレベル4に属し、レベル3の応用情報技術者試験の次のステップとして極めて順当だが、試験は1年に1回。2024年4月まで待たなければいけない。ちょっと長すぎる。

 

そして簿記2級も除外。

3級を2023年8月に復習として取り直したので、脳と腕が仕訳を覚えているうちに取りたいが、仕事上業務に直結しないのと、ネット試験なのでいつでも受けられるということで後回し。

ただ年内には取りたい。

 

次に宅建も除外。

仕事で使わないので趣味レベルだし、何より試験は1年に1回、10月。来年やる気があれば。

 

というわけでMicrosoft Azure Fundamentalsに決定。

大手クラウド事業者はAmazon、Microsoft、Googleが存在するが、そのうち Microsoftの、めちゃくちゃ基礎的な知識を取得していると認定される試験。

 

選定理由は以下。

・仕事でバリバリ使う(Azureは別に知らなくても全然いいが、知っていると仕事の説得力がまるで違う)

・2週間程度の勉強で合格可能(らしい)

・オンプレでのWindows ServerやAWSは触ったことがあるのでそのハイブリッドみたいなものだろうという予感

・ネット試験があり、自宅やネット試験会場など、日付や場所を自由に選択して受けられる(はず)

・資格取得後の有効期限がない(はず。有効期限があって更新し続けなければいけない資格も多いので)

・試験時間が60分だけ(のはず)

・選択式問題しか出題されない(はず)

 

躊躇する点が1つ。

・12,500円の受験料

 

高すぎる!会社から補助出ますように…。

 

というわけで、まずは2週間、勉強してみます。