HAPPY HACKING Oouchi's BLOG

PSE(ポンコツエンジニア)の技術ブログ

プログラミング

【Ruby】配列から条件に一致する要素を削除する

Rubyで条件に一致する要素を削除する方法をまとめました。 Rubyで配列から条件に一致する要素を削除する際はdelete_if関数が便利です。 docs.ruby-lang.org Array. each_with_index内で条件分岐をして要素を削除する Array.delete_ifを使用して削除する プロ…

AWS Cloud9 でRuby on Rails の開発環境を構築する

はじめに ふとRuby on Railsの勉強をはじめようと思い、環境構築をすることにしました。 せっかくなので、AWS Cloud9で環境構築をしようと思います。 はじめに やること AWS Cloud9環境構築 Cloud9環境作成 環境設定 設定確認 タブサイズ変更 スペース可視化…

TypeScript + Jestでaws-sdkをmockする

この記事について 最近よくTypeScriptでAWSのリソース操作を行うのですが、動作確認を行うたびにリソースを作ったり消したりするのが面倒くさいと感じていました。 ましてやユニットコードなんて書いてもその時のリソース状況にがっつり依存するなあ・・・と…

TypeScript 4.0で推したい追加機能ピックアップ

はじめに 先日(8/20)TypeScript 4.0 がリリースされました。 メジャーアップデートとしては約2年ぶりとなります。 devblogs.microsoft.com 個人的に推したい機能がいくつかあったので紹介します。 ※ちなみに、TypeScript3.0のリリースは2018/7/30です。 de…

仕組みから理解するGit 入門 〜ひとり開発でも便利〜 参加レポート

仕組みから理解するGit 入門 〜ひとり開発でも便利〜の参加レポートです。 最近ウェビナー参加レポート率が高い・・ 感想 Gitとは バージョン管理とは バージョン管理のメリット 変更履歴があるので元に戻せる 変更履歴があるので振り返れる バージョン管理…

Nuxt.jsでEPERM: operation not permittedエラーが出たときの対処法

VSCodeで作業中、いつものように yarn dev をしたら以下のエラーがでました。 ERROR EPERM: operation not permitted, lstat 'C:\Users\frontend\.nuxt\mixins' 全文 $ yarn dev yarn run v1.22.4 $ nuxt ╭──────────────────────────────────────────╮ │ │ …

JavaScriptでエクスポネンシャルバックオフを実装してみる

エクスポネンシャルバックオフとは? アルゴリズムの一つです。 直訳すると「指数関数的後退」で、いわゆるリトライ処理の間隔を指数関数的に増加させる方式のことです。 リトライ間隔例:1秒、2秒、4秒、8秒・・・ docs.aws.amazon.com ユースケース 主にネ…

CognitoユーザープールをCFnで構築し、TypeScriptでユーザーを追加する

はじめに AWS Cognitoは簡単に認証基盤を作成することができます。 環境構築からサインアップまでの流れは結構な頻度で実装することになるため個人的な覚書として投稿します。 aws.amazon.com 本題 環境構築 環境構築はCloudFormationを使用します。 ユーザ…

TypeScriptでDynamoDB読み書き

はじめに TypeScriptでDynamoDBの書き込みを実装する機会があったのでメモとして残しておきます。 今回はCloudFormationでの構築からやってみようと思います。 本題 DynamoDB構築 今回はCloudFormationを使用して構築します。 テーブル定義 KeyType KeyType …

LambdaからIAMロールを作成してポリシーをアタッチする

Lambda関数 import { IAM } from "aws-sdk"; import AssumeRolePolicyDocument from "./assume-role-policy.json"; const iam = new IAM(); export const handler = (event: any) => { const roleParam: IAM.CreateRoleRequest = { AssumeRolePolicyDocument…