HAPPY HACKING Oouchi's BLOG

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

プログラミング

M1 Macに対応したDocker[Apple Silicon]がリリースされたので早速動作確認した

待ちに待ったApple Silicon対応Docker 4月15日に公式ブログが更新されていました。 Released: Docker Desktop for Mac [Apple Silicon] - Docker Blog After the M1 machines were publicly available, those of you on our developer preview program te…

Glassmorphism CSS Generator で簡単にすりガラス効果のあるCSSを作る

Glassmorphism CSS Generator とは? ここ 使用感 こんな感じにすりガラス効果のあるCSSを作れる See the Pen Glassmorphism Sample by noouchi (@noouchi) on CodePen. 作り方 Glassmorphism CSS Generatorにアクセスするとおもむろに弄れそうな項目がある…

未経験エンジニアが作成したポートフォリオで使われている技術を集計してみた

最近、未経験からエンジニア就職を目指しているをよく見るようになりましたね。 それに伴ってポートフォリオを作ってみた趣旨の記事もよく見るようになりました。 自分が就職した当時はポートフォリオなんて言葉を知らなかったし、なんなら今の自分よりトレ…

【PHP】Mac + composerでの「the requested PHP extension zip is missing from your system.」エラー対処法

結論 PHPを再インストールする 概要 composerを使ってlaravel/installerやphpoffice/phpspreadsheetをインストールする際に発生しがちな Problem 1 - phpoffice/phpspreadsheet 1.2.1 requires ext-zip * -> the requested PHP extension zip is missing fro…

【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…