荒屋敷智也のブログ

宮城県古川市での生活

f:id:zenryokusyounen:20220125213944j:image

平日は仕事で宮城県古川市、休日は岩手県に帰る生活を1年3ヶ月続けている「荒屋敷智也のブログ」へようこそ。

 

仕事で来ている、宮城県古川市。すでに見慣れた風景ですか、皆さんはそうでは無いと思うので、写真を撮りました。
f:id:zenryokusyounen:20220125213948j:image

平日はいつもビジネスホテルで過ごす生活を続けています。

f:id:zenryokusyounen:20220125214925j:image

大浴場、マッサージ機があって、そこそこのホテルです。
f:id:zenryokusyounen:20220125214850j:image

「お前どこで過ごしてるの?」って聞かれたら、「ホテルで過ごしてるよ」と言えるぐらいには泊まってます。

ホテルの受付の人には、顔を覚えられていて、顔パスで部屋の鍵🔑を貰えるぐらいには利用してますね。

f:id:zenryokusyounen:20220125215848j:image

ビジネスも対象の「地域共通クーポン」が配布されている為、毎週ありがたく使わせて貰ってます。

f:id:zenryokusyounen:20220125220208j:image

クーポンでたくさん買い物してきました。いやー買いすぎたな〜。

HttpListenerで簡易Webサーバーを作成してみた

f:id:zenryokusyounen:20220122160026p:plain
Http通信の勉強として、「HttpListener」クラスを使って簡易サーバーを作成してみた。

実施内容

  1. 「開始」ボタンを押下する。
  2. 簡易サーバーを起動させる。
  3. ブラウザでサーバーが起動していることを確認する。

実行コード

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ServerForm
{
    public partial class servertform : Form
    {
        //「netshの登録」の参考リンク
        //https://yryr.me/programming/csharp/httplistener-url-anything.html

        //コマンドプロンプト環境netshの実行(管理者権限)

        //URLの登録
        //netsh http add urlacl url=http://localhost:8080/ user=Everyone

        //URLの削除
        //netsh http delete urlacl url = http://localhost:8080/

        public servertform()
        {
            InitializeComponent();
        }

        bool StartButton_flg = false;
        HttpListener listener = null;

        private async void StartButton_Click(object sender, EventArgs e)
        {
            if (StartButton_flg == false)
            {
                StartButton.Text = "停止";
                StartButton_flg = true;
                await Task.Run(()=>{ ListenerStart("http://localhost:8080/"); });
            }
            else
            {
                StartButton.Text = "開始";
                StartButton_flg = false;
            }
        }

        public bool ListenerStart(string prefixes)
        {
            if (!HttpListener.IsSupported)
            {
                Console.WriteLine("HttpListenerがサポートされていません。");
                return false;
            }
            // URIプレフィックスが必要です。
            // for example "http://contoso.com:8080/".
            if (prefixes == null || prefixes.Length == 0)
            {
                return false;
            }

            //リスナーを作成します。
            if (listener == null)
            {
                listener = new HttpListener();

                // プレフィックスを追加します。
                listener.Prefixes.Add(prefixes);
            }

            listener.Start();
            Console.WriteLine("Listening...");

            // GetContextメソッドは、要求を待機している間はブロックします。
            HttpListenerContext context = listener.GetContext();
            HttpListenerRequest request = context.Request;
            // 応答オブジェクトを取得します。
            HttpListenerResponse response = context.Response;
            // 応答を作成します。
            string responseString = "<HTML><BODY> Hello world!</BODY></HTML>";
            byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);

            // 応答ストリームを取得し、それに応答を書き込みます
            response.ContentLength64 = buffer.Length;
            System.IO.Stream output = response.OutputStream;
            output.Write(buffer, 0, buffer.Length);

            // 出力ストリームを閉じる必要があります。
            output.Close();
            listener.Stop();
            return true;
        }
    }
}

アクセス先のURLを予約する

f:id:zenryokusyounen:20220123102701p:plain

  1. コマンドプロンプト」を開く。
  2. 「netsh http add urlacl url=http://localhost:8080/ user=Everyone」を実行する。

実行結果

f:id:zenryokusyounen:20220123100710p:plain

ブラウザでURLにアクセスして、サーバーが動いているのが確認できました。

参照サイト

docs.microsoft.com
yryr.me

HttpClientでサイトのURLにGET要求して、応答を確認してみた

f:id:zenryokusyounen:20220122073417p:plain

Http通信の勉強として、「HttpClient」クラスを動かしてみた。

実施内容

  1. 送信ボタンを押下する。
  2. URL(https://arayashikitomoya.hatenablog.com/archive)に対して、GET要求する。
  3. Webサイトの内容が受信されることを確認する。

実行コード

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ClientForm
{
    public partial class clientform : Form
    {
        public clientform()
        {
            InitializeComponent();
        }

        // HttpClient is intended to be instantiated once per application, rather than per-use. See Remarks.
        readonly HttpClient client = new HttpClient();

        private async void SendButton_Click(object sender, EventArgs e)
        {
            SendButton.Enabled = false;
            // Call asynchronous network methods in a try/catch block to handle exceptions.
            try
            {
                HttpResponseMessage response = await client.GetAsync("https://arayashikitomoya.hatenablog.com/archive");
                response.EnsureSuccessStatusCode();
                string responseBody = await response.Content.ReadAsStringAsync();
                // Above three lines can be replaced with new helper method below
                // string responseBody = await client.GetStringAsync(uri);

                Console.WriteLine(responseBody);

                ClientTextBox.Text = responseBody;
            }
            catch (HttpRequestException ex)
            {
                Console.WriteLine("\nException Caught!");
                Console.WriteLine("Message :{0} ", ex.Message);
            }
            SendButton.Enabled = true;
        }
    }
}

実行結果

f:id:zenryokusyounen:20220122070403p:plain

とりあえず、GET要求が出来ることは確認できた。 今度は、リクエストパラメータも送信してみよう。

参照サイト

docs.microsoft.com

Windows フォーム アプリケーション【インストーラーの作成手順】

f:id:zenryokusyounen:20220116114203p:plain

インストーラーの作成に必要なもの

f:id:zenryokusyounen:20211218070450p:plain

インストーラーを作成するためには、これが必要だよ

f:id:zenryokusyounen:20220115111724p:plain

f:id:zenryokusyounen:20220116115220p:plain

Microsoft Visual Studio Installer Projects」のダウンロード

f:id:zenryokusyounen:20220115102218p:plain

1.「拡張機能」>「拡張機能の管理」を選択します。

f:id:zenryokusyounen:20220115103816p:plain

2.「オンライン」>「Microsoft Visual Studio Installer Projects」>「ダウンロード」を選択します。

f:id:zenryokusyounen:20220115104004p:plain

3.「Installer Projects」をダウンロードする為に、「VIsual Studio」を閉じてください。

f:id:zenryokusyounen:20220115112635p:plain

4.「Modify」を選択します。

f:id:zenryokusyounen:20220115114456p:plain

5.ダウンロードが完了したことを確認し、「Close」を選択します。

f:id:zenryokusyounen:20220115114627p:plain

6.ダウンロード完了です。

「Setup Project」の作成

f:id:zenryokusyounen:20220115115223p:plain

1.「ソリューション」を右クリックし、「追加」>「新しいプロジェクト」を選択します。

f:id:zenryokusyounen:20220115115509p:plain

2.「Setup Project」を選択します。

f:id:zenryokusyounen:20220115140052p:plain

3.「プロジェクト名」・「場所」を設定します。

4.「作成」を選択します。

f:id:zenryokusyounen:20220115140433p:plain

4.「Setup」が作成されます。

インストーラーの作成

「構成マネージャー」の設定

f:id:zenryokusyounen:20220115152106p:plain

1.「構成マネージャー」を選択します。

f:id:zenryokusyounen:20220115155058p:plain

2.「構成」をReleaseに設定し、「プラットフォーム」をx64に設定する。

f:id:zenryokusyounen:20211218070450p:plain

他の人にアプリを提供するなら、Releaseに設定しないとね

「プロパティ」の設定

f:id:zenryokusyounen:20220115164651p:plain

1.「Setup」を選択し、プロパティを開きます。

2.「TargetPlatform」>「x64」に設定します。

「起動条件」の設定

f:id:zenryokusyounen:20220116141336p:plain

1.「Setup」を右クリックし、「View」>「起動条件」を開きます。

f:id:zenryokusyounen:20220116142255p:plain

2.「Launch Conditions」>「.NET Framework」を右クリックし、「プロパティ ウィンドウ」を開きます。

3.「Version」>「.NET Framework 4.8」に設定します。

「File System」の設定

f:id:zenryokusyounen:20220115145649p:plain

1.「Setup」を右クリックし、「View」>「ファイルシステム」を選択します。

2.「File System」の画面が表示されます。

f:id:zenryokusyounen:20220115150001p:plain

3.「Application Folder」を右クリックし、「Add」>「プロジェクト出力」を選択します。

f:id:zenryokusyounen:20220115160256p:plain

4.「プロジェクト」で、提供したいアプリのプロジェクトを選択します。

5.「プライマリ出力」を選択します。

6.「構成」>「Release x64」を選択します。

7.「OK」を選択します。

f:id:zenryokusyounen:20220115163651p:plain

8.「Application Folder」にファイルが追加されます。

f:id:zenryokusyounen:20211218070450p:plain

「Application Folder」とは?

インストーラーで提供したいファイルを設定するところだよ。

「ビルド」を実行する

f:id:zenryokusyounen:20220115165239p:plain

1.「Setup」を右クリックし、「ビルド」を選択します。

f:id:zenryokusyounen:20220116110814p:plain

2.プロジェクトが置かれている場所に「Setup」>「Release」フォルダーが作成され、インストーラー(setup.exe・Setup.msi)が作成されます。

インストーラーの実行

f:id:zenryokusyounen:20220116110814p:plain

1.インストーラー(setup.exe または Setup.msi)をダブルクリックしてください。

f:id:zenryokusyounen:20220116112649p:plain

2.「次へ」を選択します。

f:id:zenryokusyounen:20220116112721p:plain

3.「次へ」を選択します。

f:id:zenryokusyounen:20220116113023p:plain

4.「次へ」を選択します。

f:id:zenryokusyounen:20220116113048p:plain

5.「閉じる」を選択します。

f:id:zenryokusyounen:20220116113210p:plain

6.アプリをインストールすることが出来ました。

Windows フォーム アプリケーション【プロジェクト作成手順】

f:id:zenryokusyounen:20220115090450p:plain

Windows フォーム アプリケーションのプロジェクト作成手順を紹介します。

開発環境

プロジェクト作成手順

f:id:zenryokusyounen:20220114225009p:plain

1.「新しいプロジェクトの作成」を選択します。

f:id:zenryokusyounen:20220114225656p:plain

2.「Windows フォーム アプリケーション(.NET Framework)」を選択します。

f:id:zenryokusyounen:20220114230610p:plain

3.「プロジェクト名」と「場所」を設定します。

4.「ソリューションとプロジェクトを同じでディレクトリに配置する」のチェックを外す

5.「フレームワーク」は、.NET Framework4.8に設定します。

f:id:zenryokusyounen:20220114231212p:plain

6.指定した「場所」にプロジェクトが作成されます。

7.「.sln」を押下すれば、ソリューション/プロジェクトが開けます。

f:id:zenryokusyounen:20220114231229p:plain

8.ソリューション/プロジェクトが開ければ、開発環境の構築完了です。

2022年初詣に行って来ました

f:id:zenryokusyounen:20220104071523p:plain

2022年明けましておめでとうございます。

皆様のおかげで、1年間ブログを継続することが出来ました。今後もブログをしていくのでよろしくお願いいたします。

2022年の運勢は?

f:id:zenryokusyounen:20220104070925j:plain

末吉でした。大吉が欲しかったな。

f:id:zenryokusyounen:20220104070944j:plain

ほうほう、「発展運」ということで、悪いことは書いてないですね。

2022年も良い年になるといいな。

 

日々の生活を快適に過ごす為に行ったこと

f:id:zenryokusyounen:20211231171547p:plain

どうも、こんにちは。「荒屋敷智也のブログ」にお越し頂きありがとうございます。

みなさんは、毎月の給料を何に使い、どういった生活を過ごしていますでしょうか?

今回、私が「生活を快適に過ごす為に行ったこと」を紹介したいと思いますので、良かったら参考にしてみてください。

f:id:zenryokusyounen:20211218070450p:plain

こういう人におすすめ!

  • 固定費を見直したい
  • お金を節約したい
  • 生活習慣を見直したい

民間生命保険の解約

f:id:zenryokusyounen:20211231235250p:plain

固定費を見直したところ、生命保険に毎月8,740円の保険料を支払っていました。

これらをすべて解約し、投資資金に回すことにしました。

保険に入るより、投資に回した方が確実に利回りはいいですからね。

携帯料金の見直し

f:id:zenryokusyounen:20220101002801p:plain

皆さんは自分の携帯料金が月にいくらかかっているか確認したことはありますか?

私は、携帯料金を見直したことで、データをたくさん使える上に携帯料金もだいぶ安くなりました。

以前の携帯料金【6,800円/月】

従来プラン利用量 4,928円
通話料 880円
故障紛失サポート 868円
その他 124円

povo2.0に変更【2,713円/月】

povo利用量 2,163円
通話料 550円

故障紛失サポート」や「auスマートパスプレミアム」のように定額で加入しているけど一度も使ったことがない、活用できていないプランなどがあれば見直した方がいいですね。

また、格安SIMに切り替えなどして基本料金を下げてみてはどうでしょうか?

クレジットカードの一本化

f:id:zenryokusyounen:20220101151250p:plain

今まで、複数のクレジットカードを保有していたんですが、以下の点から複数カードを保有していてもメリットがなかったため、一本化しました。

  • 管理は面倒
  • ポイントが分散してしまう
  • 年会費がかかるものがある
  • いくらカードで支払いしたのか分からない
  • 財布もかさばる

以前使用していたクレジットカード

現在使用中のクレジットカード

f:id:zenryokusyounen:20211218070450p:plain

楽天カードの良いところ!!

  • 年会費無料
  • 基本還元率1.0%
  • ポイントを使える場所が多い

サブスクの見直し

f:id:zenryokusyounen:20220101160056p:plain

「音楽・動画・本」など様々な定額サービスがありますが、使っていますか?

今回私が行っている、サブスクの賢い利用方法を紹介できたらと思います。

サブスクとは?

定額料金を支払い利用するコンテンツやサービスのこと

サブスクの種類(例)

サービス名 月額料金
Amazon Prime Video 500円
Netflix

ベーシック:990円

スタンダード:1,490円

プレミアム:1,980円

Hulu 1,026円
dアニメ 440円

サブスクの賢い利用方法

  • 月額払いを年額払いにする

これは1つの手段です。毎日サブスクを利用する人ならこれでいいでしょう。

  • 使用しない月を決めて、利用しない月はサブスクを一度退会する
f:id:zenryokusyounen:20211218070450p:plain

こういう人におすすめ!!

  • サブスクを利用しているけど、使わない日がある
  • 年額払いよりも安く利用したい

f:id:zenryokusyounen:20220101172415p:plain

サービス名 年払いした場合 使わない月を設けた場合
Amazon Prime Video 4,900円 3600円

「使わない月を設けたら、見たい動画が視聴できない」と思う人もいるかと思いますが、見たい動画は後でまとめて見ればいいのです。

私は、見たい月だけサブスクを利用することで利用料を抑えながら快適に利用することが出来ています。

不要な物の処分

f:id:zenryokusyounen:20220101212338p:plain

「1年間着なかった服・家電・本・ゲーム」などすでに使わなくなったものをいつまでの家に置いていませんか?

いらないものがあるということは、「部屋は片付かない掃除の邪魔」なだけです。

f:id:zenryokusyounen:20211218070450p:plain

どういうものを捨てる?

  • なくても生活出来るもの
  • いつか使うかもしれないと取っているもの
  • 思い入れがあって捨てられないもの

メルカリやリサイクルショップに売ってみる

いらないものを処分できるし、お金も貰えるので一石二鳥ですね。

f:id:zenryokusyounen:20220102102141p:plain

 

f:id:zenryokusyounen:20220102102604p:plain

実際に捨ててみると、部屋が片付いて気分が良くなります。捨てて後悔したものも別にありませんでした。

不要な物を購入しない

f:id:zenryokusyounen:20220101220528p:plain

あなたは本当に欲しいものを購入していますか?買って後悔とかしていませんか?

私は以下のような買い物をして後悔したことがあります。

  • なんとなくノリで買ったもの。
  • 好きなグッズが販売されていて買った。
  • 服がかっこよくて買ったけど似合わない。

本当に自分に必要なのか考えることで、不要な物を購入しなくなり、物が増えるということがなくなりました。

500mlペットボトルを購入しない

f:id:zenryokusyounen:20220101222716j:plain

私は仕事先でよく500mlペットボトルの水を購入していました。しかし毎日購入していると、結構な額になります。500mlペットボトルを購入する代わりに以下の対策をしています。

1つ目の対策:2ℓのペットボトルを購入し、小分けにして使う。

2つ目の対策:水道水を水筒に入れて使う。

ただ、水道水は「カルキ臭い」という人もいるかもしれません。

そういった場合は、水を沸騰させるとカルキを抜くことが出来ます。

湯シャンの実施

f:id:zenryokusyounen:20220101224851p:plain

湯シャンとは?

シャンプーを使用せず、お湯だけで洗髪すること。

湯シャンを実施した結果

1か月ほど前に「湯シャン」の存在を知ってからシャンプーを使わなくなりました。どうやらシャンプーは洗浄力が強すぎて、髪に必要な皮脂まで落ちてしまうようです。

男性にとっての悩みである、以下の問題に関しては「湯シャン」で解決できるかもしれません。

  • 抜け毛
  • 頭皮のフケ・かゆみ

私の場合は、「頭皮のかゆみ」がびっくりするほど無くなりました。(◎_◎)

参照リンク

agacare.clinic

脇毛を剃る

f:id:zenryokusyounen:20220101230643p:plain

脇のにおいに悩む男性はある程度いると思います。

においの原因を知り、対策をすることで問題を解決できるかもしれません。

においの原因ってなんでしょう?

汗はもともと無臭なんだそうです。においの原因は、「」です。

菌を発生させない対策

腋毛を剃ることで雑菌が繁殖する環境を取り除くことができ、脇のにおいが抑えられるそうです。

清潔感も増すのでやらない手はないですね。

なるべく早く寝る

f:id:zenryokusyounen:20220102095015p:plain

以前までは、夜更かししていたんですが、しなくなりました。

平日の仕事がある日は、22時には寝るように気を付けています。

「疲れが取れやすい」「健康にいい」ですからね。

ふるさと納税の実施

f:id:zenryokusyounen:20220102095559p:plain

実質2,000円の自己負担でお肉・果物などの返礼品がもらえるのでやっています。

今年は、2万円の納税を行い、「ハンバーグ」と「やきとり」を頂きました。

f:id:zenryokusyounen:20210828143627j:plain

f:id:zenryokusyounen:20210828143630j:plain

ブログを一年間継続

ブログめちゃくちゃ楽しいですよ。私は本名を公開してブログを運営しているんですけど、本名発信のブログってモチベーション高くなるんですよ。

自分が生きていた記録を残している実感が沸きます。

  • 自分から情報を発信する楽しさを知ることが出来た
  • 記録を残すことが出来た
  • 収益化に成功:1,503円/年

インデックス投資の開始

f:id:zenryokusyounen:20220102094814p:plain

株式投資を始めて4年になりますが、今まで個別株を短期・長期で持ったり、優待や配当目当てで株を売買していました。

しかし、インデックス投資に勝るものは無いですよね。最近は「S&P500」に投資するようになりました。

配当・優待がある総合利回り4%以上の株も保有していますが、投機は最近しなくなりました。

SBI証券プランの変更

今まで、「スタンダードプラン」を使用していましたが、株を売買するごとに手数料がかかっており、年間2万円ぐらい手数料が取られていました。

アクティブプランにしたことで、手数料が0円に抑えられたのでやらない手はないです。

スタンダードプラン

1注文の約定代金に対して、手数料がかかるプランです。

1注文の約定代金が3,000万円を超えたときは1,070円(税込)の定額になります。

アクティブプラン

1日の約定代金合計額に対して、手数料がかかるプランです。

約定代金100万円以下は手数料0円

本や動画で有益な情報を集める

「本・ブログ・動画」などを利用して、有益な情報は積極的に見るようにしています。もしかしたら今後の人生を変える良い機会になるかもしれません。

リンク先

 

 

まとめ

最期まで見て下さりありがとうございます。何か役立つ情報はありましたでしょうか?

良かったら参考にしてみて下さい。