元営業WEBエンジニアのアプリ開発日記

営業出身のWEB系エンジニアが気になったものから作ってはメモを残してくブログ

MacでPython, JupyterLabのローカル環境構築

概要 最近はPython使うことも多くなったきたので ローカル環境構築したときのメモ残しとこう 手順 Pythonインストールのためのツールpyenvをインストール pyenv使うと好きなPythonのバージョン指定可能 brew install pyenv # インストールされていることの確…

約1ヶ月でGCP Professional Cloud Architectに合格したお話

概要 2019/12/21に受験して何とか合格したので日記を書いておく 何か審査してるみたいだけど合格とは書いてある! 勉強法 以下3点に取り組み、最終的には問題系を2往復して頭に叩き込んだ Google公式模擬試験 無料で受けれる模擬試験 これは確実に理解してお…

ほぼ無料でGCPのフォルダリソースにIAMポリシーを紐付ける

概要 AWSやるぞって資格までとったけど、最近は仕事も変わりもっぱらGCPさわってます GCPの権限(IAM)周りの勉強も踏まえて自分で色々設定してみる! こんな感じの物を作るのだ! ほぼ無料でと書きましたが独自ドメイン(数円〜数十円)の料金がかかります …

「アジャイルサムライ」読んでみた

概要 仕事でスクラム開発を行うにあたり アジャイルサムライ を推されたので読んでみる 所感 非常に読みやすかった。週末土日でぱっと読めた。 前の会社でみんなが言っているアジャイルだと ウォーターフォールではなく「とりあえずコーディングして物作っち…

GAE(go1.12)でCloud SQLを操作してみるぞ

概要 GAE(go1.12)からCloud SQLを操作するぞ 事前準備 Cloud SQLインスタンスの作成 Cloud SQLの種類一覧表示や gcloud sql tiers list 一番安そうなやつにトライ gcloud sql instances create ucwork --tier=db-f1-micro --region=asia-northeast1 Creating…

GAE(Go1.12)でDatastoreに接続してみるぞ

概要 GAE(Go1.12)でDatastoreに接続してみる 構築 Datastoreへ接続 Datastoreに接続するための初期化処理開始 initメソッドで初期化処理を実施 Datastoreを操作するDao的なDBを作成していく!! internal/config.go var ( DB repository.MemberDatabase ) fu…

Goでルーティング(gorilla/mux)

概要 GAEのgoランタイムでDatastoreに繋いでCRUDしてみたい。 その前にgo言語自体全然書いてないのでルーティングをザクっと実装してみる。 その後でDatastoreへの接続を書いていく。ちょっとずつ進めてこう。 構築 リクエストのルーティング処理 ハンドラー…

GAEのGoでHelloWorld

概要 GCPにいろんなサービスが存在するのはわかったが とりあえずBookshelfプリケーション作ろうチュートリアル に準じて一通りのサービスを触ってみる。まずはGAE(Go1.12)でHelloWorldしてみるのだ。 ちなみに実験環境は「mac OS Mojave 10.14.6」 事前準…

機械脳の時代を読んでみた

概要 AI系企業に勤めることになるので機械脳の時代 を読んでみた。 記憶したことすぐ忘れちゃうので読書感想文書いとく。 読書感想文 「AIの時代ではなく、機械脳の時代」 これからは判断するためのツールではなく、判断自体を機械が行う時代。大きな時代の…

GCPってどんなサービスがあるんや

概要 AWS勉強した矢先に、今後はGCP使うことになりそうなのでまずは GCPドキュメントに記載されてるサービス全部チラ見して自分なりの言葉でメモを残しとこう (AWSもGCPもたくさんサービスあるのね・・・) サービス一覧 コンピューティング IaaS Compute E…

2ヶ月でAWS 認定ソリューションアーキテクト – アソシエイトに合格してきた(2019/08/14)

概要 仕事で完全AWS環境!!とかいう保守運用案件を回されたが EC2!RDS!S3!とかものすごいポイント・ポイントしか理解していない状態だったので せっかくなら体系的に学びたいと思いお勉強。 結果的には1発で受かったがかなりギリギリだったのでもっと勉強…

awesome-typescript-loader,tslintからts-loader,eslintに乗り換える

概要 GWなのでちょいちょい噂になってた以下2点対応しようと思う awesome-typescript-loader -> ts-loaderに変更 もうawesomeなスピードじゃないし、ソースの更新も止まってるらしい tslint->eslintに変更 typescriptチームが正式にeslintにするって言ったと…

golangのチュートリアル解いてみた

概要 Go言語勉強したい!とりあえずチュートリアル2周読んだ!! 理解度を試すために練習問題(Excesise)解いてメモしとく。 わからないとこはこの方の素晴らしい解答をみてやってみる!!! 練習問題やってみた Basic Exercise: Loops and Functions ニュ…

Skaffoldでminikubeのローカル環境開発

概要 TLSでの通信も行うことができたのでローカルで開発していきたいが docker-composeのvolumesみたいにMacとコンテナをマウントさせるすべがなさそう。 ざっと調べるとSkaffoldなるものが良さそうなのでそれを使って開発してみる また、以下記事にて構築し…

KubernetesでGolangのPodにHttp/2を通信

概要 KubernetesでGolangのPodにHttp/2を通信させる。 NginxにtlsでHttp/2通信すことできたから、Golangも楽勝でしょ♪ とか思ってたらそこそこ詰まったのでメモしとくっす 基本的には以下2つで構築した環境を前提に記載する kubernetesでローカル環境にNGIN…

minikubeでTLS通信して裏側のNginxでHTTP/2.0を受ける

概要 minikubeでnginx, MySQL, Go環境を作ることはできた。 これから作るアプリケーションではgRPCを導入したいので、HTTP/2.0による通信を行いたい。 一旦minikube裏側のnginx podにtlsで通信しアクセスログにHTTP/2.0が出力されることを目標にする。 minik…

DockerHubとGitHubの連携(k8s用)

概要 k8sで自分のアプリケーション作ってみたときに Dockerfile修正してgithubにpush、dockerのimageはdockerhubにpushって 都度都度コマンド打つの面倒臭いなって思ってたら Docker HubにGithubとの連携なるボタンがあったからやってみる やりたいこと(で…

kubernetesでローカル環境にNGINX, golang, MySQL環境作ってみる

概要 k8sのチュートリアルやってみたし自分用のアプリケーション作ってみる! こんな感じの構成にしたい。DB接続までやってみよう。 フロント NGINX (React) (TypeScript) バックエンド golang MySQL 構築 クラスタ作成 k8sのチュートリアル通りminikube…

kubernetes(k8s)のチュートリアルをざっくりやって見る

概要 前々から気になってはいたものの 仕事に追われて遊べなかったKubernetisで遊んでみた。 とりあえず公式のTutorialをローカル環境(Mac)で一通りやってわかったことをざっくりとメモしとこう kubernetes(k8s)とは いわゆるコンテナオーケストラレーショ…

jestでモック

概要 いちいち書くほどでもないが、2ヶ月前に初めてjestで単体テスト書いた時は「どうやってモックにしてスタブ作るのやぁああ」ってなってたし、一応メモしとこう 検証コード テスト対象のコード import * as [module] from "xxx"形式とimport [module] fro…

React Context.Consumerをモック化

概要 jestで単体テスト書いてる時にReactのContext.Consumerをモック化という壁にぶつかったんでメモしとく 実装 テストしたいコンポーネント こんな感じでConsumer使って変数とかメソッド渡してる奴をモック(スタブ)にしたい。 import React from "react"…

git rebase を怖れない

概要 これまで、git rebaseはマージコミットを残さないのでよくない(どこで問題が起きたかわからなくなる)。 という理由で無邪気にgit mergeしていたが、 プルリクのサイズがでかくなると、ファイルの差分(変更点)だけでレビューするのがだいぶ苦しくな…

webpack実行時にtslintを有効化

概要 webpack -wでビルドしてる時にtslintのwarningも出るようにしたい! 手順 必要なパッケージをインストール # webpackで使用するため npm install tslint tslint-loader --save-dev # tslint.json生成のため npm install tslint -g tslint.json生成 tsli…

React Lifecycleを一通り検証して見る

概要 とりあえずcomponentDidMount()使っとけばいいでしょ。 てな温度感で使ってて良くないなと思ったのでちゃんとLifecycle全部使ってみた。 公式での説明 ★を使うのはレアケースらしい。 mounting時 constructor(props) stateの初期化、メソッドのbindをお…

TypeScript, webpackあたりで環境別に設定値を設ける

概要 開発、ステージング、本番など環境に応じて値を変えたい場面がある。 webpackの特性なども絡み少しつまづいたのでメモしとく 方法 npm run buildが動くようにしとく 詳しくは前に書いたブログを参照 { ... "scripts": { "build": "webpack", "build:pro…

VisualStudioCodeでjest関連メソッドが読み込まれずエラーになる件

概要 VisualStudioCodeでファイルを開くと、describeやbeforeEach、itなどjest関連のメソッドにて以下エラーメッセージが表示され、いろいろ試みるも事象が解消されず悩んだ話 Cannot find name 'describe'. Do you need to install type definitions for a …

npm installとnpm updateの違い。あとnpm ci

概要 仕事でnpm installとnpm updateの違いって何やねん。npm ciってなんなんや。ってなったので実験してみた 結論 npm install 未インストールのパッケージをインストール 指定より上バージョンのパッケージが存在してもインストールしない npm update 未イ…

Webpack,TypeScript,Reactで最小限の開発環境を作ってみる

概要 ここ2ヶ月くらい仕事でTypeScript、Reactを書いてたけど、できてた環境に機能開発していったので 自分で環境作れるように1から作った作業メモ!! noteなるものに頑張って書いてみたが、Markdown効かないのつらめなのではてぶろに戻ってきた 目標 「コ…

機械学習をSpringに取り込むための下調べ

概要 機械学習をプログラムに取り込みたいが前提知識が極めて乏しい。 機械学習、ディープラーニング、ニューラルネットワークとかキーワードは出るけどよくわからん。次作るアプリにはこの辺盛り込みたいので、まず何がどうなってるのか調べてみるの巻 まず…

ApolloでReactからGraphQLのQueryとMutationしてみる

概要 SpringBootとGraphQLで素敵なAPI作成の記事で作った2本のGraphQL APIをReactから呼び出すのにApolloを使ってみる。 Introduction | Apollo ClientにあるEssentialのQuery, Mutationレベルで作ってみる。 もういろいろ書くの面倒になってきたんでこの辺…