【JavaScript】functionの生成方法による違い

Web系エンジニアを目指して転職活動をしているSierです。 とある企業様の課題を解いている際に、ふと疑問に思ったことを記事にしていきます。

前置き

その課題はVue.jsを使ったものでした。私はほぼ初めて触りましたが 明確にメンバとメソッドが分けられていてわかりやすい印象を受けました。

もともとCやC++から勉強した人間のため、Angularの書き方が一番しっくり来ていたのですが Vueもあまり変わらないなと思いました。

ふと、Vueのメソッド内で、ローカルで定義されているメンバへアクセスしたい課題がありました。 その差異、「this.hogehoge」みたいな形でアクセスできると思っていましたがエラーが起きました。 しばらく???となっていました。

原因と解決策

原因を色々調べていると、どうやらメソッドの定義の仕方が悪かったようです。

methods : { 'XXX' : () => { this.hogehoge} }           // NG
methods : { 'XXX' :  function { this.hogehoge } }   // OK

どうやら、アロー関数とそうでないメソッド定義によって、色々と異なるようです。 詳しくは以下の記事に記事に色々書いているため端折ります。 今回は、その性質の1つ、thisのスコープの違いのようです。

qiita.com

AWSのロードバランサーでハマった件

今回は、個人開発しているシステムの本番環境構築をしていたさいにハマったところについてメモしていきます。 システムの全体像は以下になります。 ※下は正解のものになります。

shinji-tec.hatenablog.com

  • 間違っていた点
  • 直したこと
  • 理由

間違っていた点

AWSのELBを使っていたのですが、EC2とは接続できていて、ステータスもhelthになっていたのに ブラウザ経由で実行すると、レスポンスが返却されませんでした。

直したこと

続きを読む

AWSで可用性のあるシステム構築をした話

シンジです。

最近インフラ周りを勉強しているんですが、ドメインの設定方法とか証明書とか、わかないことがたくさんでした。 そんな中、ようやくAWSで環境構築ができたため、メモとして残します。

ドメインや証明書などもすべてAWSの機能(Route53、ACM)を利用。

  • システム全体
  • ネットワークの設定
    • VPC
    • サブネット
    • ルートテーブル
    • セキュリティグループ
  • フロントエンドの設定
    • S3の設定
    • CloudFrontの設定
  • バックエンドの設定
  • ドメインの設定
    • 証明書の取得
    • ドメイン(ホストゾーン)の設定

システム全体

f:id:shinji-tec:20210109182716p:plain

ネットワークの設定

VPC

リージョン CIDR IPv4 インターネットゲートウェイ
東京 192.168.0.0/16 アタッチ

サブネット

名前(Name) AZ 環境 CIDR IPv4 自動割当
public-api-1a 1a Public 192.168.10.0/24 あり
public-api-1d 1d Public 192.168.20.0/24 あり
踏み台 1a Public 192.168.50.0/24 あり

ルートテーブル

名前(Name) 関連付けサブネット ルート メイン
public-table public-api-1a,pbulic-api-1d 192.168.0.0/16 -> local, 0.0.0.0.0/0 -> インターネットゲートウェイ いいえ

セキュリティグループ

名前 インバウンド アウトバウンド
API SSH 22 192.168.0.0/16, カスタム 3000 0.0.0.0/0 すべて
DB PostgreSQL 5432 192.168.0.0/16 すべて
踏み台 SSH 22 0.0.0.0/16 すべて
ロードバランサー カスタム 3000 0.0.0.0/0 すべて
続きを読む

【2021年】今年の目標の設定

新年あけましておめでとうございます。 去年末頃からキャリアや今後の生活について色々と考えないといけないなと思っている、自称真面目系エンジニアです。

去年の12月に30歳を迎えました。割と趣味一筋ではありましたが このままでは行けないと思い、転職活動をしています。

自分にムチを打つために、ブログにて目標を公開することにしました。

今年の目標

# 年間目標 週間目標
1 ブログで100記事投稿する 約2記事投稿する
2 ブログで合計1万PVを達成する 平均200PVを達成する
3 400kmウォーキングする 約10kmウォーキングする
4 スマメイトでレート2000を達成する -

1.ブログで100記事投稿する

本ブログは主に技術よりですが、記事の内容は特に問わないこととする。

とにかく、1週間で2記事を投稿することを目標とする。

2.ブログで合計1万PVを達成する

1に関連しますが、内容のない投稿を上げても成長につながらないため 目標として、1万PVを達成できるように、内容をしっかりと記載する。

3.400kmウォーキングする

最近、スマートウォッチを購入しました。GarminのVenuというモデルです。(ちょっと奮発しました。) Androidに対応しているモデル、かつSuicaが使えるものは、Garminが販売しているものだけみたいでした。 見た目はビジネス向けのおしゃれなものから、AppleWatchのように四角いものなど、種類も豊富でした。

スマートウォッチをつけるだけで、いろんなデータを取得する事ができますが GPSを使って歩いた距離を算出する機能もあります。 もういい歳のため、健康のためにウォーキングを始めたいなと、思い切って服も買いました。

f:id:shinji-tec:20210102132855p:plain
Germin PCアプリ

週3回、3kmのペースであることで、年間約400kmになるため、それを目指して頑張りたいと思います。

4.スマメイトでレート2000を達成する

大乱闘スマッシュブラザーズSPというゲームがあるのですが 有識者の方が作成したスマメイトというものがあります。 そこでは、1on1での対戦を行うことができ、結果に応じた適正レートを図ることができます。 レート2000は、1つの節目となっているため、多くの人が目標として設定しています。

レートは1500からスタートし、1勝するごとに約15増やすことができます。※負ければ約15減ります。 私は最高1800なので、今年中に後200挙げられるように頑張りたいと思います。

というわけで、趣味も含めて上記4つを今年の目標とします。 今年も1年、頑張って行きます。

本当におすすめ!中途半端なインフラ知識を確実なものに!

書籍

内容

Amazon Web Service のVPN、EC2を使ってWordPressを構築する手順を、細かく解説している本です。

EC2の立て方はもちろん、セキュリティを考慮したパブリック、プライベートネットワークの設定や パブリックネットワークのインターネットへの接続方法、プライベートネットワークにあるEC2へのアプリケーションのインストール方法などが記載されています。

こんな人におすすめ

  • ルーティングとかNATとか難しそう。
  • パブリック、プライベートネットワークとか頭ではわかるけど、実際にAWSで構築するにはどうしたらいいんだろう?
  • インスタンス同士の疎通ってどうやってやるんだろう?

上記に当てはまるようなインフラ初心者にはぜひ一読、そしてサンプルで作ることをおすすめします!