讃岐小僧のEngineering×Techメモ

プログラミングや、趣味の野球、資産運用について、その他、ビジネスやテクノロジーをテーマに様々なことをつぶやく場所です。

【WordPress研修(無料公開) #000】ガイダンス・目次

f:id:keisuke8925gdk:20220111214652p:plain

はじめまして。
WordPress講師の合田と申します。

WordPress、プロのエンジニアからしたらただのWordPress

未経験者からしたら、なんかかっこいいWordPress

認識の違いはあれど、世界の約40%のサイトがWordPressにより開発されているという事実があり、それは東京だろうが、田舎であろうが、アメリカであろうが同じです。

ただ体感としては、田舎に行けば行くほどWordPressによって構築されているサイト割合が多く、それ以外の仕組みを利用したサイトは技術者不足もあってからほとんど見かけません。

実際にこのブログを見ている方の周りにいるであろうローカルビジネスオーナーのほとんどはWordPressを活用して自社サービスのホームページなどを公開していることでしょう。

また、このサイトを見ているあなたは、自身がビジネスオーナーか、もしくはサイト開発をしてみたいと考えている方かもしれません。

そんなWordPressについて、多くの方がお金を支払いスキルを身につけていることを検討していたり、もしくは別の専門家の支援を受けながらサイトを運用していることでしょう。

「それ、かなりもったいないです」

また、サイトの更新について、誰かに任せっぱなしで毎月、何万円、何十万円とお金を支払っているという方もいるのではないでしょうか?

実際、そのような状況が田舎では多く散見されます。

そのような方々を減らすためにも、ある程度、体系的に知識とスキルを得る場所が必要なのではないかと思いこちらにその情報を公開していきたいと思います。

目次

※目次については、今後公開するコンテンツに応じて随時公開していきます。

【node.js】node-cronで定期実行しているモジュールを祝日を避けて実行する

f:id:keisuke8925gdk:20220111211704p:plain ついに進撃の巨人のファイナルパート2がはじまりました。
楽しみにしていたので、毎週待てなくて大変です。

そんな話は置いておいて、今回の記事は、node-cronで実装している定期実行処理を祝日に実行させないようにするための対応について書いていきたいと思います。

node-cronの基本的な動作のさせ方についてはこちらのリンクを参考にされるといいと思います。

qiita.com

私の会社では、毎日出退勤時に勤怠管理システムで打刻をしなければなりません。

打刻忘れを防ぐために平日の定時にLINEWORKSで打刻を促すメッセージを送っています。

f:id:keisuke8925gdk:20220111204142p:plain

ただし、このBOTですが祝日にも実行されてしまうため何となくストレスを感じてしまします。そのため、祝日に実行されないようにアップデートしていきましょう。

実行環境

  • heroku
  • node.js v16.13.1

祝日のjsonファイルを作成する

まずは下記の通り、holidays.jsonを作成してプロジェクトに設置します。

{
    "holidays": [
        {
            "date": "2022-01-01",
            "name": "元日"
        },
        {
            "date": "2022-01-10",
            "name": "成人の日"
        },
        {
            "date": "2022-02-11",
            "name": "建国記念の日"
        },
        {
            "date": "2022-02-23",
            "name": "天皇誕生日"
        },
        {
            "date": "2022-03-21",
            "name": "春分の日"
        },
        {
            "date": "2022-04-29",
            "name": "昭和の日"
        },
        {
            "date": "2022-05-03",
            "name": "憲法記念日"
        },
        {
            "date": "2022-05-04",
            "name": "緑の日"
        },
        {
            "date": "2022-05-05",
            "name": "こどもの日"
        },
        {
            "date": "2022-07-18",
            "name": "海の日"
        },
        {
            "date": "2022-08-11",
            "name": "山の日"
        },
        {
            "date": "2022-09-19",
            "name": "敬老の日"
        },
        {
            "date": "2022-09-23",
            "name": "秋分の日"
        },
        {
            "date": "2022-10-10",
            "name": "スポーツの日"
        },
        {
            "date": "2022-11-03",
            "name": "文化の日"
        },
        {
            "date": "2022-11-23",
            "name": "勤労感謝の日"
        }
    ]
  }

BOTの実行タイミングが祝日かどうかを判定する

モジュールファイル(check-holiday.js)を作成します。
細かい説明を省きますが、holidays.jsonファイルを読み込み、実行タイミングの日付が、jsonファイル内にリストされている、祝日に該当するのかどうかを確認する機能です。

こちらは、調べていると別のモジュールも存在しており、それらを活用することでさらにスマートに機能を実装できそうでしたが、実際には会社・学校の創立記念日のような国民の祝日に該当しないような祝日や、年末年始(2021年であれば大体の方が28日くらいから休みだったはず、、)などの祝日が以外のイレギュラーケースに対応ができないためわざわざファイルで読み込む形式にしております。

そのため、国民の祝日や利用者に応じた実行させたくない日付を"yyyy-mm-dd"の形式で追記すれば、その日にはBOTが動作しないようになりますのでご利用ください。

const fs = require('fs');
module.exports = function checkHoliday() {

    const jsonObject = JSON.parse(fs.readFileSync('holidays.json', 'utf8'));
    const holidaysArray = jsonObject.holidays
    const result = [];

    holidaysArray.forEach((obj) => {
        result.push(obj.date)
    });

    const today = new Date();
    /** 文字列に日付をフォーマットする */
    const formatted = `${today.getFullYear()}-${(today.getMonth()+1).toString().padStart(2, '0')}-${today.getDate().toString().padStart(2, '0')}`.replace(/\n|\r/g, '');


    if(result.includes(formatted)){
        return false
    } else {
        return true
    }
}

cron実行時にモジュールを動作させる

index.js等にcheck-holiday.jsを読み込んで利用できるようにして、cronを実行する関数の中で実行します。

※普段利用している独自のモジュール名が混ざっておりますが、ご容赦ください。

/* モジュールの読み込み */
const checkHoliday = require("./check-holiday");

// 定時に特定のメッセージを送付する
cron.schedule('0 0 18 * * 1-5', () => {
    /* 祝日に該当するかチェック */
    const action = checkHoliday()
    if (action) {
        getJWT(jwttoken => {
            getServerToken(jwttoken, newtoken => {
                SendToDepartment(newtoken);
            })
        })
    }},
    {
    scheduled: true,
    timeZone: 'Asia/Tokyo',
});

以上でした。

2022年は400コンテンツを投稿することを目標にします。

f:id:keisuke8925gdk:20220106232747p:plain

あけましておめでとうございますという挨拶はなんとも形式的な気がするのであえてあまり使わない31歳の会社員サラリーマンの合田です。

2021年はプライベートはとても充実しておりましたが、仕事面では心のバランスを崩してSNSを見るのが怖いと感じておりました。

2022年は嫁さんのために時間を最優先に使うことはもちろんですが、その他は自分と家族のために時間を使っていきたいと思います。

2021年の振り返り

よかった点

  • WordPressかなりいいものと理解
  • Nuxt、結構使えるように
  • マーケやSEOについての理解が深まったこと

悪かった点

  • 安易にスモールビジネスに付き合ったこと
  • 嫌いな人と我慢して付き合い時間とメンタルを擦り減らし、自分のプロダクト・ビジネスは0成長で終えてしまったこと
  • 会社を諦めることができず、転職しなかったこと

2021年はこれまでになく、初めてあえて廃れた?いやまだまだメインストリーム?のWordPressを使った仕事を会社とは別のところでやってみた。

技術的な面ではWordPressの仕組みを理解し、実際に複数のサイト構築やAPIとして利用することでとても利用価値が高いものだと理解し様々なプロダクトにおいて利用できる幅が広がった点はとてもよかった。

ただ、コーポレートサイトやローカルビジネスのサイトなど、プロジェクト内で利用するには人との関わりなしに仕事はできないわけで、その点で人の都合に入り込みすぎて消耗しました。

これぐらいでいいだろうという関わり方は難しいなと感じ、今後は気をつけて進めようと反省しているところです。

2022年の目標

2022年は自身のブログ(これ)、運営サイト(お金の中学校)、サービス(讃岐うどんが大好きだ)、YouTube(ごうださんチャンネル)を少しでも前進させます。

これらの全てのコンテンツを合計で400コンテンツ世に出したいと思います。

よーいどん。

コンテンツカウント

No タイトル 日付 リンク
1 2022は400コンテンツを投稿することを目標にします 2022年1月6日| https://www.sanuki-kozo.com/entry/2022/01/06/235607
2 【node.js】node-cronで定期実行しているモジュールを祝日を避けて実行する 2022年1月11日 https://www.sanuki-kozo.com/entry/2022/01/11/211316
3 おすすめ証券口座ランキング! 2022年1月14日 https://money-junior-high.com/%e3%81%8a%e3%81%99%e3%81%99%e3%82%81%e8%a8%bc%e5%88%b8%e5%8f%a3%e5%ba%a7%e3%83%a9%e3%83%b3%e3%82%ad%e3%83%b3%e3%82%b0%ef%bc%81/
4 楽天証券の魅力を徹底解説 2022年1月15日 https://money-junior-high.com/%e6%a5%bd%e5%a4%a9%e8%a8%bc%e5%88%b8%e3%81%ae%e9%ad%85%e5%8a%9b%e3%82%92%e5%be%b9%e5%ba%95%e8%a7%a3%e8%aa%ac/
5 SBIの魅力を徹底解説 2022年1月16日 https://money-junior-high.com/sbi%e8%a8%bc%e5%88%b8%e3%81%ae%e9%ad%85%e5%8a%9b%e3%82%92%e5%be%b9%e5%ba%95%e8%a7%a3%e8%aa%ac/

【架空商品】S&P30 プロ野球インデックス

f:id:keisuke8925gdk:20211201010133p:plain

はじめに

当ブログの内容は、今流行りのS&P500をもじって日本のすげープロ野球選手で来年も活躍してくれたら嬉しいな的な選手をリストしただけのくそブログです。

※ブログは他でガチで書きはじめたのでこのブログはテキトーになります。

決して実在する投資商品でないためご注意ください。
また組み入れ銘柄はブログ執筆者の合田の独自の選定によるものです。

選手は、不定期に組み替えられます。 銘柄のバランスは、現代の重要性による偏る場合があります。

S&P30とは

S(すげー)P(プロ野球選手)30人のことです。
来年も安定して?またはさらに活躍してくれそうな方々を選びました。

どのようになるのでしょうか。 早速見てみましょう。

No 選手名 年俸 リーグ チーム ポジション
1 山本由伸 1億5千万 パ・リーグ オリックス 投手
2 吉田正尚 2億8千万 パ・リーグ オリックス 外野手
3 千賀滉大 4億 パ・リーグ ソフトバンク 投手
4 柳田悠岐 6億1千万 パ・リーグ ソフトバンク 外野手
5 栗原陵矢 4千4百万 パ・リーグ ソフトバンク 外野手
6 浅村栄斗 5億 パ・リーグ 楽天 外野手
7 森友哉 1億6千万 パ・リーグ 西武 捕手
8 源田壮亮 1億5千万 パ・リーグ 西武 内野手
9 山川穂高 1億7千万 パ・リーグ 西武 内野手
10 伊藤大海 1千5百万 パ・リーグ 日本ハム 投手
11 近藤健介 1億9千5百万 パ・リーグ 日本ハム 外野手
12 益田直也 2億 パ・リーグ ロッテ 投手
13 佐々木朗希 1千6百万 パ・リーグ ロッテ 投手
14 田中将大 9億 パ・リーグ 楽天 投手
15 早川隆久 1千6百万 パ・リーグ 楽天 投手
16 坂本勇人 5億 セ・リーグ 巨人 内野手
17 岡本和真 2億1千万 セ・リーグ 巨人 内野手
18 鈴木誠也 3億1千万 セ・リーグ 広島 外野手
19 森下暢仁 4千3百万 セ・リーグ 広島 投手
20 栗林良吏 1千6百万 セ・リーグ 広島 投手
21 山田哲人 5億 セ・リーグ ヤクルト 内野手
22 村上宗隆 1億 セ・リーグ ヤクルト 内野手
23 奥川恭伸 1千6百万 セ・リーグ ヤクルト 投手
24 佐野恵太 7千万 セ・リーグ DENA 外野手
25 牧秀悟 1千3百万 セ・リーグ DENA 内野手
26 宮崎敏郎 1億7千万 セ・リーグ DENA 内野手
27 近本光司 7千5百万 セ・リーグ 阪神 外野手
28 佐藤輝明 1千6百万 セ・リーグ 阪神 外野手
29 大山悠輔 1億 セ・リーグ 阪神 内野手
30 大野雄大 3億円 セ・リーグ 中日 投手

適当に選んでいたら、ちゃんと、パリーグセリーグが15人づつになりました。

ポジション別の内訳としては下記。

投手11人 捕手1人 内野手9人 外野手9人

巨人の菅野・中田、広島の菊池、日ハム、西川、阪神が全体的に嫌いなので積極的に組み入れしません。

ロッテ、藤原、安田、オリックス、喜田をここに入れれる未来が見たい。

何やってんだw

参考リンク

money-junior-high.com

【WealthNavi】2021年8月の運用実績

f:id:keisuke8925gdk:20210802100344p:plain

はじめに

2021年8月の運用実績を公開します。

投資前提

頭金で最低限の10万円、1か月に1万円ずつ積み立て投資していきます。

運用実績スクショ

f:id:keisuke8925gdk:20210802100146p:plain
2021年8月2日

f:id:keisuke8925gdk:20210803093650p:plain
2021年8月3日

f:id:keisuke8925gdk:20210804130140p:plain
2021年8月4日

f:id:keisuke8925gdk:20210805112217p:plain
2021年8月5日

f:id:keisuke8925gdk:20210806084243p:plain
2021年8月6日

f:id:keisuke8925gdk:20210809143446p:plain
2021年8月9日

f:id:keisuke8925gdk:20210810085227p:plain
2021年8月10日

f:id:keisuke8925gdk:20210811104347p:plain
2021年8月11日

f:id:keisuke8925gdk:20210812122155p:plain
2021年8月12日

f:id:keisuke8925gdk:20210813153644p:plain
2021年8月13日

f:id:keisuke8925gdk:20210814112009p:plain
2021年8月14日

【楽ラップ】2021年8月の自動運用の実績記録

f:id:keisuke8925gdk:20210802095628p:plain

はじめに

8月も、めちゃくちゃ熱いですね。
こんな中、オリンピックの選手の皆さんはお疲れ様です。

今月も懲りずに、いろいろと投資結果をスクショしていきたいと思います。

実績キャプチャ

f:id:keisuke8925gdk:20210802095422p:plain
2021年8月2日

f:id:keisuke8925gdk:20210803093601p:plain
2021年8月3日

f:id:keisuke8925gdk:20210804130312p:plain
2021年8月4日

f:id:keisuke8925gdk:20210805112322p:plain
2021年8月17日

f:id:keisuke8925gdk:20210806084351p:plain
2021年8月6日

f:id:keisuke8925gdk:20210809143557p:plain
2021年8月9日

8月10日は残高の更新がないためスクショなしです。

f:id:keisuke8925gdk:20210811104238p:plain
2021年8月11日

f:id:keisuke8925gdk:20210812122109p:plain
2021年8月12日

f:id:keisuke8925gdk:20210813153804p:plain
2021年8月13日

f:id:keisuke8925gdk:20210814111926p:plain
2021年8月14日

過去の実績はこちら

2021年3月の実績
2021年4月の実績
2021年6月の実績
2021年7月の実績

【WordPress】金額表示に区切り文字をつける

f:id:keisuke8925gdk:20210728122613p:plain

はじめに

最近、WordPressとBASEを接続する機能を用意しました。 その中で、BASEから取得した商品情報の金額を表示する際に、「そうだ区切り文字!」っと思って調べてみたらちゃんと関数があったので、忘れないようにここにメモしたいと思います。

やったこと

<?php echo number_format( $item->price ); ?>

調べていたら、WordPressの関数というよりはPHPが提供している関数なんですね。

そのため、特にfunctions.phpに関数を足したりする必要がないです。

$item->priceとなっていますが、この部分は数字に変えて利用してください。

公式サイト

www.php.net

今回は以上です

WealthNaviはじめました

f:id:keisuke8925gdk:20210721095047p:plain

はじめに

このたび楽天証券楽ラップの自動運用に加えて、WealthNaviをはじめたので本日よりWealthNaviの運用実績も公開していきます。

投資前提

頭金で最低限の10万円、1か月に1万円ずつ積み立て投資していきます。

WealthNavi口座開設までの流れ

f:id:keisuke8925gdk:20210721093651p:plain
口座開設までの流れ

www.wealthnavi.com

リスク許容度診断

リスク許容度の診断については、2021年7月現在では、5つの質問をされて、それに応じてリスク許容度が診断されるようです。

  1. 現在、何歳ですか?
  2. 年収はおおよそいくらですか?
  3. 金融資産はいくらですか?
  4. 資産運用の目的は?
  5. 株価が1ヶ月で20%下落したら?

f:id:keisuke8925gdk:20210721093817p:plain
リスク許容度診断

リスク許容度の確認

リスク許容度は診断後、ナビゲーションタブで確認ができるようです。 私の場合はリスク許容度が5でしたの、割とリスク耐性があると判断されたようです。

f:id:keisuke8925gdk:20210721094307p:plain

運用実績スクショ

それでは、運用実績を共有していきます。 登録してから、毎日、相場は下落が続いているので、いきなり目減りしていますが、余剰資金の分散投資なので、暖かく見守ります。

f:id:keisuke8925gdk:20210721092756p:plain
2021年7月21日

2021年7月26日運用実績
2021年7月26日

f:id:keisuke8925gdk:20210727101157p:plain
2021年7月27日

f:id:keisuke8925gdk:20210728114724p:plain
2021年7月28日

f:id:keisuke8925gdk:20210729111733p:plain
2021年7月29日

f:id:keisuke8925gdk:20210730095357p:plain
2021年7月30日