yuusuke-roughの日記

Java,SpringBoot,趣味等

所感 2024/04/07

「所感」ってタイトルの日記は書き始めて11カ月目になるらしい。 東京という恵まれた土地で、家族的な温かい繋がりや会社・エンジニアコミュニティ・友人・マッチングアプリの女性まで...絶えず頭がいっぱいになりそうな情報の中にいる。 どうも私は歳の割に…

htmlにある値を静的アセットから読みこむ in SpringBoot + React + Typescript

目的 SpringBootで用意したhtmlにある要素の値を取り出す。 前提 tsxを使用しています。 内容 下記にある「隠しているよ」の値を取り出す。 <input id="test" type="hidden" value="隠しているよ"> <div id="root"></div> <script type="module" th:src="@{/dist/assets/main-Dd_RwVU1.js}"></script> React側では下記のように型を指定して値を取りだしている。 function App() { const [count, setCount] = useSta…

4月に向けて 2024/03/24

7つの習慣という興味深いテーマに触れたので「自分事」にして考えてみたい。 個人開発をしているアプリケーションがあったのですが、一緒に進めていた知人に不幸があって、停滞している状況が長く続いています。 そんな中で、私も私で仕事や人の価値観の波の…

SpringBoot + React

はじめに OJTで参画していた現場の正式参画が決まりました。 体調が芳しくなく、プライベートでは現場技術のRailsとReact等については勉強できずにおりました。 さて、今回は社内活動でも、業務でも、個人開発でも使用するReactに触れる回としたいと思います…

所感 2024/01/28

1月も終わりですね。今月からは現場配属になったので毎日が楽しいです。 さて、とりあえず今月の振り返り。 テーマとしては「コミュニケーション」と「独学」について、書きたいと思います。 コミュニケーション まずはお仕事の話。OJTで入った訳ですが、調…

SSM Session Managerを使用した記録

はじめに 年が明けましたね。 私は(叶える方の)夢を継続して持ったまま、今年を迎える事ができたので良かったです。 さて、今年の目標ですが、 ・仕事は一人称で作業ができる人材になる事 ・Webアプリケーションをよりセキュアに、より快適に提供する実装…

一年の振り返り 2023/12/31

冬にしては暖かく感じます。 もう一年も終わりです。 来年の抱負の前に、今年一年で思っていた事をつらつらと書きたいなと思います。 誰かが読む程度の記事でもないゆえに心配は不要かと思いますが、暗い話もある点はご容赦を。 1月 転職が決まり、二年半ほ…

RemembermeのDB登録での事前準備

参考 Spring Security 使い方メモ Remember-Me #Java - Qiita DataSourceはapplication propertiesで設定済みのため、そのまま使用しました。 テーブルの作成をしないとテーブルが無い旨叱られました。 直接テーブル作成で対処。 mysql> CREATE TABLE persis…

SSL証明書の更新

はじめに 備忘録に近いブログですので、近況は最後に書きます。 いずれ理解したい知識 ちゃんと理解するSSL/TLS 前編 #Security - Qiita acme.shによる手動での更新 GitHub - acmesh-official/acme.sh: A pure Unix shell script implementing ACME client p…

Reactの環境構築 in Ubuntu

内容 Reactの環境を構築していきます。 Windows での React のインストール | Microsoft Learn Ubuntuのパスワードを忘れたらこちら wsl でパスワードを忘れてしまった際の対処 #WSL - Qiita WSL 2 上で Node.jis を設定する | Microsoft Learn Remote Devel…

IP2Locationでハマった経過①

【内容】 製作しているアプリが国内からのみのアクセスを想定しているため、先週から海外IPを弾く実装をする挑戦をしていました。 https://blog.ip2location.com/knowledge-base/how-to-use-ip2location-geolocation-with-nginx/ 動的モジュールとしてNginx…

URLの「+」パラメーターが機能しなかった話

原因は、URLにおいて「+」はスペースとして扱われるためでした。 urlencode - When should space be encoded to plus (+) or %20? - Stack Overflow

リレーションを含めたレコード検索を行う with JPQL in Spring Boot

目的 RDBMSを使用し、一対多の関係にある子テーブルから特定のレコードを取り出す。 取り出す条件には、子レコードの値に加え、リレーションのある親レコードの値も対象とする。 内容 Spring Data JPA - リファレンスドキュメント 【Spring Data JPA】自動実…

Let’sEncryptでNginxとHTTPS通信を行った in Amazon Linux 2

Let’sEncryptを使用してCertBotの使用を試みましたが、snapdのインストールが出来ず断念しました。 代わりに、acme.shによるSSL証明書の発行をして、Nginxへの設定を行いました。 今回は、単純に悔しかったので自戒を込めて記録に残します。 初めて読むと情…

Spring Bootアプリケーションのデプロイ with AWS その2

JDKのインストール Amazon Corretto 17 Installation Instructions for Amazon Linux 2 and Amazon Linux 2022 - Amazon Corretto 17 SpringBootアプリケーションのデプロイ Spring Boot アプリケーションのデプロイ - リファレンス ElasticBeanStalkを使用…

Spring Bootアプリケーションのデプロイ with AWS

はじめに この度、公開するアプリケーションはWebSocketを使用します。 ついては、使用した事のないRoute53、AWS Shield、 ELBは今回の記事では扱いません。 今回の目標は、デプロイをし、ローカル環境と同様、正常に動作する事の確認のみ行います。 構成 予…

備忘録:Bucket4Jによるレートリミット

目的 ログイン、登録画面にレートリミットを導入します。 ログイン試行や登録処理の大量送信を避けるためです。 (他には、アカウント毎の試行回数制限(クライアントへ上限突破で通知等)、Webアプリケーション全体で適用するAWS ShieldとAWS WAFは検討中で…

備忘録 + 日記

はじめに 外部APIからデータを取得し登録を行う処理の実装、リファクタリングと仕様変更を終えました。作業が膨大なため、なかなか記事を書けず。 後は、bucket4jによるリクエスト制限と最後の機能実装+αが控えているため、スケジュールはかなり詰め詰めです…

画像表示+雑記

はじめに 前半にコーディング問題(AtCoder等)・後半に開発をしました。 まずは、前半のコーディング問題の記事を記載します。 普段あまり使用しないクラスや実装の考え方を備忘録としてピックアップしてまとめます。 画像表示はチャット機能の実装に無駄が…

所感 2023/07/08~10

はじめに 今回は、近況と今後に分けて記載します。 近況 6月30日に会社を退職しました。 きっかけとなった案件については伏せます。 端的に書きますと、面接の頃からお伝えしていた「Javaの開発(テスト工程も含む)に行きたい。」という私の主張が、「開発…

所感 2023/05/27

2023年3月より、ずっと既存機器入れ替えの運用でした。 毎日、帰宅後は今まで開発していたWebアプリの製作と単体テスト等、社内勉強会で皆さまが参加している競技プログラミングの勉強を二時間ほどしていました。 先月の今頃に開発案件を探していただけるこ…

バリデーション in STOMP over WebSocket、画像保存 in Spring Boot 2日目(もっとかかってる)

ヘッダーの値によって変換処理を行い、DBに格納する java - Reading HTTP headers in a Spring REST controller - Stack Overflow RequestHeader (Spring Framework API) - Javadoc @RequestHeader(name="Content-Type") String contentType で、ヘッダーに…

単体テストの見直し日記

はじめに GWも後半となったが、認証と認可をいじって、AOPでログ出力を試している程度だ。 一日目は部屋と寝具含めた全体の掃除と社内勉強会、三日目は今後のお仕事についてヒアリングを受け、四日目は四月の疲れが思い出したようにどっときて、ほとんど眠っ…

二要素認証のログイン画面遷移 in Spring Security 後半

はじめに 後半です。 4./OTPLoginはROLEがOTP_USERのみアクセスできるようにする。 5.ROLEにUSERのないユーザーの認可調整 内容 4./OTPLoginはROLEがOTP_USERのみアクセスできるようにする。と5.ROLEにUSERのないユーザーの認可調整 5.ROLEにUSERのないユー…

二要素認証のログイン画面遷移 in Spring Security

はじめに STOMP over WebSocketもInterceptorを挟む処理の実装途中だが、今回は書きかけの左記問題から少し距離を置いて、既存の実装の見直しを行う。 今回のテーマは、「ログイン画面を二段階構成にして、ユーザ名とパスワードを入力後にワンタイムパスワー…

画像の圧縮とBase64の変換処理 in JavaScript

はじめに 前回と同様に日記形式で進めます。 仕事の空いている時間に学習した内容も併せて記載。 作成中の日記が長すぎるため、分割。 内容 前記事の公式ドキュメント参照 "clientInboundChannel" for messages from WebSocket clients. "clientOutboundChan…

SQLインジェクションを学習した日記

はじめに 花粉で目が開かない日々。 社内の方からセキュリティを教えてもらったので、さっそくJDBCでMySQLを繋げたときのプロジェクトを使って実験。 ちなみに、今したい事一覧。 Reactで交差オブザーバーとチャット部分更新したい。 ログ管理したい。 Inter…

WebSocketの学習日記 in Spring Boot

はじめに 単体テスト前に技術について整理→コード修正・追加→単体テストの三段構えで行きます。 いつもそのつもりで書いておりますが、完全に日記です。右往左往した苦しい時間もみっちり記録しております。 理解に乏しい部分が多々あります。 ブログ訪問者…

JDBCの学習日記

動作環境 Java SE15 MySQL 8.0.25 MySQL-Connecor-J-8.0.32 内容 データソースおよびURL MySQL :: MySQL Connector/J 8.0 Developer Guide 基本的にMySQLのドキュメントをメインで進める。 ORACLEのJDBCドキュメントでJDBC XX標準サポートとあったが、 MySQL…

Webjarsを使ってReactに触れる in Spring Boot

触れたというのか。 仕事後にReactチュートリアルしようとして、こんなつらい目に遭うと思わなかった日記。 既存のウェブサイトに React を追加する – React Spring Secutiryを実装しているプロジェクトで使用したいので、Webjarsで探すと... GitHub - webja…