iku8blog

Webエンジニアのタダのメモ。

DynamoDBのプロビジョンドでキャパシティユニットコストを抑える

DynamoDBは2つの料金体系に大別される プロビジョンド オンデマンド 今回はプロビジョンドについてみていく プロビジョンドのコストについては以下の3つ対して課金される キャパシティユニット データ容量 データ転送量 今回は、この中でも一番複雑なキャパ…

Chromeを捨てて超効率的なブラウザ「Sidekick」に乗り換えた

この前ハテブにSidekickブラウザいいぞ、という記事が上がっていて、実際に数週間使っているがとても良いので、良い点をまとめてみる よく言われているメリットについては軽く触れて、個人的に気に入っている点を深堀りしていく。 これまで様々なブラウザを…

Kotlinのsealed classの使用例・使いどころを考えてみた

結論から言うと、以下のような場合にメリットを享受できそう Enumのように扱い、任意の値を保持させたい場合 Enumのように扱う? Enumのように扱うとは何か? kotlinは最近使い始めたばかりで、間違っているかもしれないが、sealed classに関してはEnumを使…

Spring Data JPAの@Queryでクエリを意図的に遅くする方法

Spring Data JPAを使用している際にクエリを意図的に遅くしたくなったので、その時のメモ(mysql) public interface UserRepository extends JpaRepository<User, Long> { @Query(value = "select * from user where user_id != (select sleep(0.5));", nativeQuery = tru</user,>…

SpringBootでのhttpスレッド数の指定と確認と検証を行う

SpringBootでスレッド数を指定して、正しく指定できているかの確認と、正常にリクエストがスレッドによって正しく処理されているかの検証を行う。 application.propertiesでのスレッド数の指定 ※yamlの場合は置き換えてください。 server.tomcat.threads.max…

Springboot 2.4.5での認証失敗で「There is no PasswordEncoder mapped for the id "null"」

springboot 2.4.5にてspring securityを使用し、認証機能を作成していたが、パスワードの比較の際に 「There is no PasswordEncoder mapped for the id "null"」 このようなエラーが出てしまったのでメモ。 どうやらsprinbootの2.3,2.4で入るspring security…

Vue3.0で新機能と使い方

執筆中... コンポジションAPI カスタムイベントAPI カスタムレンダラAPI サスペンスコンポーネント axiosなどの外部通信が完了するまで特定のコンポーネントを表示せず、デフォルトの表示ができるもの テレポート モーダルとかを特定の場所に転送するような…

HSTSのドメインで、ワイルドカード証明書+ALBはNG

.devのドメインを取得して、AWSのCertificate Managerでワイルドカード証明書を発行し、ALBに設定したところ、ブラウザからアクセスできない状況となった。 ブラウザ(Chrome)では以下のようなエラーが返される 〇〇.dev では HSTS が使用されているため、…

AWS CodeBuildでECRにログインできず「COMMAND_EXECUTION_ERROR Message: Error while executing command: aws ecr get-login」がでる

AWS CodeBuildでECRにログインして、最終的にイメージを作ってECRにpushしたかった。 しかし、ECRにログインする際のコマンドをCodeBuild上で叩いたところ、 「COMMAND_EXECUTION_ERROR Message: Error while executing command: aws ecr get-login ....」と…

AWS CodeCommitにsshで連携する

AWS CodeCommitに直接pushしたりしたかったので、SSHキーを使った連携を試みたときのメモ 前提 sshの公開鍵と秘密鍵をローカルに用意している CodeCommit上にリポジトリを作成済み ローカルにもリポジトリ作成済み(pushもしてない、cloneもしてない状態のも…

centos8でnginx+basic認証を設定する

nginxでbasic認証をかけてくなった場面があったのでメモ。 basic認証のファイル作成 sudo sh -c "echo -n 'auth_user:$(openssl passwd -apr1 auth_pass)' > '/etc/nginx/.htpasswd opensslでパスワードを生成して、ユーザ名とともに.htpasswdというファイル…

npx create-nuxt-appコマンドでNuxt.jsのSSRとSSGを使ってみた

Nuxt.jsにはSPAで動作させる意外に、SSRとSSGというものがある。 今回はこれをプロジェクト作成から実際に動かすまでを行う。 npx create-nuxt-appコマンドでプロジェクト生成 APIサーバを作っておく(api通信してデータをレンダリングする用) SSR化 SSRの…

laravel+nginx ファイルアップロードできない 500 Internal Server Error の原因

laravel+nginxをcentos8で稼働させており、ファイルアップロード時に「500 Internal Server Error」となった。 ローカル環境でphp artisan serveして、ファイルアップロードは出来る。 原因 nginxを稼働させているユーザを変えており、/var/lib/nginx/tmp/cl…

「7万円のマットレス」と「2万円の横向専用枕」で睡眠が素敵になった

結論「マットレスと枕」を自分に合ういい感じのものにしたら、 寝起きの痛みがなくなり、よく眠れるようになった ちょっと高かったが長年の背中の痛みからのも開放されてぐっすり眠れている感 買ったマットレスと枕 「マットレス」と「横向き専用枕」を買っ…

JavaのPrintCompilationを使ってコンパイルプロセスを検証出来るらしい

Javaパフォーマンス本を勉強中 今回はPrintCompilationというJITコンパイラがどう働くのかを確認出来るオプションついて調べてみる。 確認出来ること PrintCompilationオプションを使って確認出来ること以下 タイムスタンプ コンパイルID 属性 メソッド名 コ…

JavaのXXオプションとは何か

JavaにおけるXXオプションは、パフォーマンスやチューニングに関するオプションを設定するものらしい。 「-XX」という接頭辞が付いたコマンド行オプションは、Java HotSpot仮想マシンに固有のものです。これらのオプションの多くは、パフォーマンス・チュー…

【Javaパフォーマンス】JITコンパイラのclientとseverと階層型について

Javaパフォーマンス本を勉強中 普段FWに則ってアプリケーションのコードを記述しているだけだと、JITコンパイラの動きなんて意識しないので、 コンパイラの種類など興味深い内容だった。 JVMのJITコンパイラについて JVMのJITコンパイラにおけるコンパイラの…

openjdk11のvagrant boxを作成した

jdkのboxのイメージをbox化したかったのでメモ centos7にjava-11-openjdkをインストール - iku8log ↑でjdkのインストールを行っている VMを使う パッケージ化 パッケージファイルをまず作成する vagrant package default これで1GBくらいのpackage.boxという…

centos7にjava-11-openjdkをインストール

javaの実行環境がvm上にほしかったので、入れてみたときのメモ jdkを探す yum search java-11-openjdk jdkの11があったのでインストールする jdkインストール sudo yum install -y java-11-openjdk javacも使いたいのでdevelもインストールしておく sudo yum…

Laravelで「php artisan serve」時にIntelliJ+xdebugでデバッグする(mac)

以前リモートホスト上(vagrant + virtualbox)で稼働しているLaravelをデバッグしようとすると、結構設定が面倒だった印象だったが、 ローカル+xdebug3での設定はかなり簡単になっていた。 というか簡単になりすぎて、よくわからない。 一応メモ phpとxdebu…

macにphpとxdebugをインストール

毎度忘れてしまうので、メモ。 phpのインストールと特定バージョンの切り替え、xdebugのインストール。 phpインストール brew search php@7 php7でインストール可能なバージョンが出てくるのでテキトーに選択して php@7.3をインストールしてみた brew instal…

docker-composeで立てたmysqlの接続情報が変更できない

dockerを使用してmysqlを立てた。 environmentにてパスワードとかDB名を指定していたが、その情報を変えても変更できなくなった。 設定ファイルはこんな感じ docker-compose.yml version: '3' services: db: image: mysql:8.0 container_name: mysql environ…

Route53のDNSフェイルオーバは加重ルーティングとかにも適用できる

AWS

メモ Route53には複数のルーティングポリシーがある フェイルオーバルーティングも用意されているが、このルーティング以外でもDNSフェイルオーバは適用できるとのこと。 なので加重ルーティングにもフェイルオーバの機能は利用可能。 アクティブとパッシブ …

dockerコンテナからイメージ作ってDockerHubにpush

いつも忘れてしまうのでメモ ローカルで稼働しているコンテナをイメージ化して、DockerHubにpushする DockerHubでリポジトリを作る 適当に作る タグをきる まずコンテナIDを調べる docker ps イメージ化 コンテナIDを指定して、イメージ化する docker commit…

S3オブジェクト暗号化3兄弟「SSE-S3」「SSE-KMS」「SSE-C」について

AWS

S3のオブジェクトの暗号化に使われる方法が3つあったので、違いとか用途についてメモ S3のAPIを使用するときファイルをS3に配置するタイミングで暗号化することが可能。 その暗号化には3つの種類がある。 結論 SSE-S3 S3側が勝手にキー生成管理をしてくれる …

Google Search Consoleの「インデックス登録をリクエスト」はしばらく無効化するらしい

SEO

SearchConsoleでブログ記事をインデックスさせようとしたところ、どうやら現在(2020/10/25現在)無効化されているらしい。 詳細をみてみると、「数週間」は使えない模様。 ただ、Googleは通常の方法でインデックスしていくようなので、新規作成したブログ記…

AWS Lambdaから「node.js+CloudWatch API」でBilling取得時の権限周りメモ

AWS

AWS LambdaからCloudwatchのAPIをキックしたかったが、権限周りでて手こずったのでそのへんのメモ。 CloudWatchのBillingを取得はリージョン設定が必要 Lambda関数でCloudWatchAPIをコールするとき、Billing情報がほしいのであればリージョンを変える必要が…

Slack APIでslackに「hello world」を流してみる

curlでslackに「hello world」を送信するまでの流れのメモ。 slack appを作成 tokenを発行 curlからAPIを叩く appを作成する appを作ることで、apiが使えるよになるよう。 Slack API: Applications | Slack Create an AppからAppを作成する。 アプリ名と使用…

AWS EBSの「4つのタイプ」について

AWS

通常EC2を作成したときにアタッチされるEBSは汎用SSDのもの(gp2という) EBSはEC2のデータ永続化を担うディスク。一時的なディスク領域としてEC2はインスタンスストアを保有している。 今回は永続化のEBSの話。 2タイプに分かれる SSDのタイプとHDDのタイプに…

intellijのkeymapをコマンドから探す方法

intellijにkeymap(コマンド)を登録したはいいが、そのアクションがどれだったかを検索したい場合がたまにある。 コマンドや動作はわかっているが、それのアクションの名称がわからない。 keymapの検索マークから検索 preference>keymap>検索窓の隣りにある…