selmertsxの素振り日記

ひたすら日々の素振り内容を書き続けるだけの日記

Local環境のアプリケーションに対してAzure ADでOpenID Connectの認証をしてみる (その1)

Motivation Azure ADをIDaaSとして、社内サービスと連携したい。 弊社の社内サービスはPHP、Java、Rubyと多種多様な言語で書かれており、 またインフラもGCP,AWSと利用されているので、 それらすべてで動くようにnginxレイヤーでIDaaS連携をするようにする必…

OpenID Connectまとめ

概要 OpenID Connectは認証用のプロトコルである。 認可フローはOAuth 2.0そのままで、属性情報も渡せるようになる。 OpenID Connectを理解する上で、必要な用語は下記の通りある。 OpenID Provider: ユーザーの認証を行う機能を持つ Relying Party ( Client…

G SuiteをAWSのIDaaSとして使ってみたけど個人的にはイマイチだった

概要 G Suiteには Cloud Identity という IDaaSのサービスがあります。 G Suiteをすでに利用しているなら、こいつをIDaaSとして使えれば低コストでいけます。 なので、ちょっと試してみました。僕の認識不足な部分でイマイチな結論だしている部分があったら…

Rubyで型チェックをしてくれるsteepを試してみた

TL;DR RubyKaigiで型チェックをしてくれるgemが発表されていた http://rubykaigi.org/2018/presentations/soutaro.html#jun01 gem: https://github.com/soutaro/steep おもしろそうなので使ってみた エディタに組み込まれたらもう普通に使えそうな気がする …

【雑メモ】AWS CloudTrailメモ

CloudTrailとは AWSのユーザー、ロールによって実行されたアクションを記録するもの。 AWSマネジメントコンソール、AWS CLI、AWS SDKで実行された全てのアクションが記録される。 ログはS3に記録され、SSEを使用して暗号化される。 記録するデータには大きく…

AWS Fintech リファレンスガイドを読んで色々調べた

概要 AWSにおけるセキュリティ対策周りがまとまった資料がある。 FINTECH - アマゾン ウェブ サービス (AWS) この資料を読んで、いまいち分からなかったサービスの概要を調べてまとめてみた。 AWS FinTechガイドラインで出てきた機能一覧 AWS Organization A…

自プロダクトのRailsコーディング規約

参考図書 みんなでコーディングする上で、共通知識とする書籍を決める。 リーダブルコード Object Oriented Programing in Ruby Perfect Ruby Effective Ruby Service Objectsは使わない 理由としては、チームみんなで理解してやってくには難易度が高すぎる…

GitHubで自分が作ったPRを追うためにTrailerが便利だった

モチベーション GitHub上で、自分が管理していないリポジトリにPR投げると、その後どうなってるのか追い忘れることがあった。相手にとっても迷惑かなって思ったので、なんとかしたい。 結果 自分が作ったPRが見れる。便利 設定方法 1. Download https://ptso…

Azure ADでDatadog(Connectorなし)のSSO設定を行う

最初に Azure ADに DatadogのSSOを設定をしたい。 けれども、Datadog公式のドキュメントは2016年製で、微妙に設定内容が異なる。 https://help.datadoghq.com/hc/en-us/articles/216980686-How-do-I-configure-Azure-AD-as-a-SAML-IdP- なので、他のドキュメ…

技術書展4に参加しました

技術書展にて、本を出す側で参加させていただきました。 techbookfest.org TypeScriptを使って、AWS Lambdaを書く際の注意点などを記載しています。 実は、個人的に作っていたAWS Lambda製のchatbotについて記載したかったのですが、プライベートの諸々の予…

普通のLinuxプログラミング勉強会 9章 Linuxのディレクトリ構造

9.1 基本的な構造 ディレクトリツリーの標準規格であるFHS(The Filesystem Hierarchy Standard)に基づいて説明する /: ルートディレクトリ /bin: ブートするときに必要なコマンド (bash, ps, cp) /sbin: ブート時に必要な管理者用コマンド (mount, reboot, i…

「クラウドセキュリティ & プライバシー」読書メモ

目的 クラウド時代におけるIAMについて考える。 1章 クラウドコンピューティングの進化 産業時代、組織は電力を自給する必要があった。 電化によって、組織は電力を自給する必要がなくなり、 必要なエネルギーを必要なときに、必要な分だけ調達することが可…

JSとかRailsのログをWebPに変換してみた

概要 第4回SpeeeKaigiで、発表した資料です。 JSコードをWebPに変換してみました。 発表資料 speakerdeck.com コード github.com 参考資料 WebPの圧縮アルゴリズム Compression Techniques | WebP | Google Developers

「成長する企業はなぜSSOを導入するのか」を読んだ

所感 SSOについて、必要性と実現方法の概要を説明している本です。SSOって何?って人がいたら、エンジニア・ディレクター問わず読んでおくと良さそうです。 Single Sign-Onとは 各種サービスへのアクセスを一つにとりまとめるもの。 before 社内で利用される…

AWS Startup Daysでちょっとお話ししてきました

3/12 日のAWS Startup Daysというイベントでちょっとお話しさせていただきました。 aws.amazon.com お話しさせて頂いた内容は Serverlessで作るchatbot。 弊社SpeeeにおけるServerlessの事例と一緒にお話しさせていただきました。 github.com 発表資料はこち…

LocalでDynamoDBを起動する

モチベーション aws lambdaの開発において、開発効率の向上のためにlocalで動作が確認できるようにしたい。 そのためには、localでDynamoDBが動くようにしたい。ここでは、そのために必要な方法について記述する。 DynamoDBの起動 DynamoDB ローカル (ダウン…

mongoDBでテーブル作成、アイテム作成、アイテム取得をやってみる

モチベーション GitHub - selmertsx/serverless-prpolice 自分が作っているサービスでmongoDBを触ることになったので、下記の項目を理解したい。 mongoDBの概要 mongoDBにおける基本的な操作の把握 Tableの作成 Itemの作成 Itemの取得 mongoDBの概要 Table、…

ふつうのLinuxプログラミング(4章)

学べること パーミッション 端末 ディレクトリのパーミッションの挙動は下記の通り。 read => ファイル一覧が取れる write => ディレクトリの中にファイルを作れる execute => そもそもファイルにアクセスできない 僕達がコマンドラインとして認識しているの…

TypeScript 2.7での esModuleInteropをつけたコンパイルの挙動

モチベーション GitHub - selmertsx/serverless-prpolice 個人プロダクトの開発中に、TypeScriptのコードが buildすると実行できるのに、Jestのテストだけコケるという問題が発生した。その原因を調査したかった。 前提条件 "typescript": "^2.7.1" 問題の内…

20180208の学び

最初に これは個人プロダクトで学んだ内容をまとめたもの。 GitHub - selmertsx/serverless-prpolice 忘れる前に書いておくけれども、後でちゃんと整理する 学んだ内容 AWS cloudformation でlambdaをdeployする前に、awsのs3にbucketを作っておかなければな…

一からtslintの設定をする方法

モチベーション tslintについては、これまで誰かが作ってくれた設定ファイルを使ってきました。 しかし、そろそろちゃんと理解したいと思い、諸々調べてみました。 この資料に tslint を一から設定する方法を記載し、自分の理解を整理しようとおもいます。 ※…

ふつうのLinuxプログラミング読書 (3章)

ファイルとは 何らかのデータを保持し 何らかのデータとは、テキスト、画像、 パーミッションや更新時間などの付帯情報を保持しており 名前で指定して閲覧・実行ができるものである ファイルの種類 Regular File 画像。動画。テキストなど。 Directory この…

JavaScriptで正規表現(入門レベル)

モチベーション 現在、iioptという画像圧縮ツールを作成しています。このツールの一つの機能として、git pre-commit にhookしてcommit対象の画像を抽出し、圧縮が必要であれば圧縮するという機能を開発中です。 本記事は、そこで学んだ正規表現の書き方につ…

ふつうのLinuxプログラミング読書会 (第2章)

2章: Linuxカーネルの世界 最初に 本資料は、学習者が本を元にサマリーを書いたものです。 分量はものすごく減っていますし、間違ったことを書いている可能性もあります。なので、気になった人は直接本を読んで頂けると幸いです!! 知識として学べること OS…

nodejsでdebuggerを動かす

モチベーション typescript & vscode & jest環境でdebugするにあたって、debuggerを使っていたが、そもそもdebuggerって何よ。ってくらいの理解だったので、この機会に色々確認したかった。 debuggerの実行方法 https://nodejs.org/dist/latest-v6.x/docs/ap…

ふつうのLinuxプログラミング読書 (1章)

第1章は下記のような構成になっています この本で学ぶことができること C言語開発の一通りの手順 情報の探し方と基礎知識について それぞれについて、簡単にまとめます この本で学べる内容 Linuxを構成するものやその世界を見て、Linuxに関する常識を身につ…

自作ライブラリのバージョンの上げ方

OSS

モチベーション github.com iioptのupdateをしたい updateに際して必要な対応を理解し、まとめたい ※ 自作ライブラリの管理は初めてなので、おかしい点があればコメント頂けるとうれしいです! libraryのupdateで必要なこと Libraryのバージョンを上げるとき…

TypeScript & Jest & VSCode環境でDebuggerを動かす

モチベーション TypeScript & Jest & VSCode環境でDebuggerを動かしたい。 ちゃんと設定ファイルを見れていなかったので、これを期に一通り確認したい 動作内容 test以外のコードでも、debuggerは効きます。 設定ファイル一覧 vscodeの設定 { "version": "0.…

Serverless Architecture を翻訳しようとしてFAQを読んだ

Frequently Asked Questions モチベーション serverlessに関して、体系的な知識を身につけたかったので、下記ページの読んで、自分のブログに理解した内容を掲載したかった。 martinfowler.com FAQの内容 Frequently Asked Questions Can I translate one of…

TypeScriptで書いたcliのnpm packageをリリースする方法

背景 人生初のnpm packageをリリースしました。 https://github.com/speee/iiopt 画像を所定のフォーマットで圧縮してくれるCLIです。現在はシンプルに画像を圧縮するだけですが、おいおい未圧縮の画像を検知する機能であったり、gitのpre-commitにhookして…