メメメモモ

プログラミング、筋トレ、ゲーム、etc

動画サービスや音声サービスでインプットしている情報

概要 技術的なインプットは本で行い、その他のインプットは動画や音声で行う、といった使い分けをしています。各種の動画・音声サービスで、自分がどのような情報をインプットしているのかを書き出してみました。 YouTube www.youtube.com なんだかんだでYou…

イシュードリブンでソフトウェアを作るための手順

はじめに プログラマの仕事は、端的に言うと問題を解決するソフトウェアを作ることです。 ソフトウェアを作るために、さまざまなプログラミング言語やオブジェクト指向やDDDやアジャイルなどの手法があります。こういった実装技術はとても奥が深く、勉強して…

ブロックとキャラの当たり判定アルゴリズム

ブロックとキャラの当たり判定アルゴリズムについて考えています。 当たり判定の考え方としては、 「キャラ(自機)の中心の座標が、ブロックの中心から角をつないだ線よりも左側にあるか右側にあるか」を判定する形になります。 「ある点がある線よりも左側に…

「現場で役立つシステム設計の原則」を読んだ

現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法作者: 増田亨出版社/メーカー: 技術評論社発売日: 2017/07/05メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る 分析や設計について勉強したいと思い、読…

「デザインとプログラミング 2018」の講義資料を読んだ

デジタルアートに関することが学びたくて読みました。 デザインとプログラミング 2018 yoppa.org ブラウザ上で動作を確認しながら読み進めました。 editor.p5js.org 以下のことが一通り学べます。 Processingの基礎 画像データから絵を書く サウンドデータか…

CloudFormationでKMSを設定する際は、CloudFormation実行ユーザーがキー管理者として登録される必要がある

概要 タイトルのとおりです。そうでなければ、CloudFormationは以下の実行エラーを出します。 The new key policy will not allow you to update the key policy in the future (新しいキーポリシーは将来のキーポリシーの更新を許可していません) aws.amazo…

ゼロから作るDeep Leaningの読書メモ1

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者: 斎藤康毅出版社/メーカー: オライリージャパン発売日: 2016/09/24メディア: 単行本(ソフトカバー)この商品を含むブログ (18件) を見る 2章 パーセプトロン パーセプトロンは…

パーセプトロンで論理回路を実装

パーセプトロン とは、ニューラルネットワーク (ディープラーニング) の期限となるアルゴリズムです。複数の信号を入力として受け取り、ひとつの信号を出力します。 以下はパーセプトロンを数式で表したものです。 x, y は入力値 は 重み は閾値 bはバイアス…

アクセスキーとシークレットキーを含んだCSVファイルをパースして、credentialsとconfigの設定を出力するスクリプトを書いた

概要 以下のような形式のCSVファイルを想定しています。 User name,Password,Access key ID,Secret access key,Console login link {user_name},{password},{access_key},{secret_access_key},https://{account_name}.signin.aws.amazon.com/console スクリ…

AWS CLIでクロスアカウント用のロールを作成

概要 いくつかのAWSアカウント内で、クロスアカウント用のロールを作成する必要があったので、スクリプトを作成しました。 以下、作成したスクリプト。 PROFILE= ROLE_NAME= ACCOUNT_ID= Principal=$(cat<< EOS { "Version": "2012-10-17", "Statement": { "…

「Blue/Green Deployments on AWS」を読んで、Blue/Greenデプロイメントのやり方を学んだ

AWS

概要 ブルーグリーンデプロイメントのAWSホワイトペーパー https://d1.awsstatic.com/whitepapers/AWS_Blue_Green_Deployments.pdf AWSのサービスやツールを使った Blue/Green デプロイメントを実装する方法が学べます。 以下、読書メモです。 Blue/green de…

「Overview of Deployment Options on AWS」を読んだ

AWS

概要 Overview of Deployment Options on AWS https://d1.awsstatic.com/whitepapers/overview-of-deployment-options-on-aws.pdf AWSへのプロビジョニングやデプロイの方法が紹介されている資料です。 以下のようなことを知ることができます。 デプロイに関…

「コンテナ技術入門 - 仮想化との違いを知り、要素技術を触って学ぼう」を読んだ

概要 employment.en-japan.com こちらの記事を読みました。普段使っているDockerが、内部でどのようなことを行っているのかを、少しイメージできるようになりました。 感想 コンテナ の説明は、仮想マシン と比較して、以下のように説明されることが多いと思…

腹筋を割るため行動を5つにまとめてみた

結論 最初に結論を。 週に1回、パーソナルトレーニングで筋トレする 毎日、アブローラーを使って筋トレする 毎日、BCAAを飲んで1時間の有酸素運動をする 毎日、炭水化物(糖質)を減らし、プロテインを3回飲む 毎日、自撮りをする 本やサイトで筋トレのことを…

LocalStack の DynamoDB と DynamoDBLocal のベンチマークを取ってみた

結論 この記事では、以下の結論となっています。 DynamoDBLocal が LocalStack の DynamoDB よりパフォーマンスが良い 自動テストでは、DynamoDBLocal を使うほうが良い 概要 手元のPCで動く開発用 DynamoDB は以下の2つがあります。 LocalStack · GitHub Dy…

「最高の体調」を読んだ

最高の体調 ~進化医学のアプローチで、過去最高のコンディションを実現する方法~ (ACTIVE HEALTH 001)作者: 鈴木祐出版社/メーカー: クロスメディア・パブリッシング(インプレス)発売日: 2018/07/13メディア: 単行本(ソフトカバー)この商品を含むブログ (1…

Unity5.4以上でジョーカースクリプトを動くようにする修正する

概要 ジョーカースクリプト|Unityで動くノベルゲーム開発環境 現在、ジョーカースクリプトは開発を停止しているようですので、エラーが出た時は自力で直す必要があります。 Unity5.4以上でジョーカースクリプトを導入して実行しようとすると、以下のような…

CQRSとDynamoDBのデータ構造設計

概要 最近DynamoDBで設計を行っています。DynamoDBはNoSQLであり様々な制約があるので、RDBの設計とは異なる考え方をしなければなりません。 四苦八苦しながら、設計をしていて何とか形になってきています。そんな中、CQRSという考え方があることを知りまし…

型付きダックタイピング

概要 Go言語のinterfaceとダックタイピングについてまとめました。 ダックタイピングとは もしもそれがアヒルのように歩き、アヒルのように鳴くのなら、それはアヒルである。 ダック・タイピング - Wikipedia オブジェクト指向の話に置き換えると、 それが「…

Go言語でAWS ElasticSearchを操作する

package main import ( "bytes" "context" "encoding/json" "fmt" "io" "log" "net/http" "time" ) type User struct { Name string `json:"name"` Age int `json:"age"` Note string `json:"note"` CreatedAt time.Time `json:"created_at"` UpdatedAt time…

glogでDebug用ログ出力の関数を作るときの注意点

結論 以下のように、DEBUG環境変数が設定されているときに、ログ出力するような関数を定義した場合は、glog.XxxDepth(例ではglog.InfoDepth)を使いましょう。 package main import ( "flag" "fmt" "github.com/golang/glog" "os" ) func DebugLog(v interfac…

コマンドライン引数以外でglogの設定を行う方法

結論 flag.Setを使います。 例えば、stderrthresholdで、ログレベルの閾値を設定したい場合は、以下のようになります。 func main() { flag.Set("stderrthreshold", "INFO") flag.Parse() glog.Info("Hoge") } 参照 godoc.org

Goのfor rangeでのポインタでハマったこと

概要 以下のプログラムの出力結果はどうなるでしょうか? package main import "fmt" func main() { a := []string{"A", "B", "C"} var b []*string for _, str := range a { b = append(b, &str) } for _, str := range b { fmt.Println(*str) } } A B C の…

実感した筋トレの効果について

概要 ここ2年くらいは筋トレを継続的にやっています。 筋トレを始めてから、色々なことが前よりも上手く回り始めたような気がしています。 筋トレの何が良いのか、まとめてみました。 重力に負けなくなる 冗談のようなことですが、筋トレをする前は重力に負…

1年間で体重が13kg減った(79kg→66kg)ので、これまでの生活を振り返る

概要 高校生から約20年ほど単調増加し続けた体重でしたが、ここ一年で高校生の頃の体重(66kg)に戻りました。 比較的普通の生活をしていたので、急激な変化は起こってません。○○週間で○○kg減量!みたいな話ではないので、インパクトはないですね。 標準体重ま…

SAML / OAuth2.0 / OpenID Connect / SSOの関係(細かい仕組みの話は無し)

概要 SAML / OAuth2.0 / OpenID Connect / SSO など、認証認可周りで色々な用語が出てきて、それぞれの関係性がよく分からなかったので、調べてざっくりとまとめてみました。 「認証」と「認可」 まず、「認証」と「認可」という概念を簡単におさえておきま…

DynamoDBlocalでDynamoDBをひとまず触れるようにする

概要 DynamoDBLocalを手元のPCに入れる aws-cliで操作する テーブルを作成する テーブル一覧を表示する テーブルにデータを挿入する データを取得する データをスキャンする Go言語で操作する ダミーのCredentialsを用意しておく SDKの導入 ひとまず参照する…

IntelliJが重くなったときに試すこと

結論 File > Invalidate Caches & Restart を試してみる。 参考 matome.naver.jp

IntelliJ上でFlowチェックとESLintチェックを実行して修正する

Analyze -> Run Inspection by Name... または Ctrl+Shift+Option+I を実行 flowを実行する場合はflow errors ESLintを実行する場合はESLint F2を押すと順番にエラー該当箇所にジャンプできます。

import自動挿入時にfromの文字列をシングルクォーテーション囲うように設定する

Editor > Code Style > Javascript > Punctuationタブ で設定を変更できます。 文字列を二重クォートで囲うと、ESlintで引っかかっていたので、変更しました。