yuusuke-roughの日記

Java,SpringBoot,趣味等

旧記事~2023/0819

備忘録 + 日記

はじめに 外部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…

バリデーションとDate、そしてバインディングできないのによくハマるお話 in Spring Boot

入力値チェックを丸々忘れていたURLがあったので、実装と有耶無耶にしないための再学習を行います。 まずは、チュートリアル。 入門 | フォーム入力の検証 フォームに記入された属性を収集するために @Valid でマークされた personForm オブジェクト。 bindi…

サニタイズとエスケープ in Spring Boot

Thymeleafでエスケープ処理はされるのかという問いです。 用語整理 サニタイズ・・・意図しない動作を生んでしまう文字を無効化する エスケープ・・・意図しない動作を生んでしまう文字を別の文字列に置き換える。 初めに、下記簡単なformを作り値の表示を行…

ただひたすら修正する日記 4,5日目 in Spring Boot

日記 3月3日にようやく回線が繋がり、良い出だしは切れたのではないかと思います。 さて、現状ですが、事情が幾つか重なり、メインに個人でのWebアプリ開発、サブにJavaとアルゴリズム(AtCoder)を割り当てる事にしました。 具体的には、 勤務日:フレームワ…

プロJavaのテストケース・JavaGold取得を目指した日記 2日目

はじめに 何となくの理解で進めていたヒープ領域やstatic領域の話を、アウタークラスやインナークラス、ローカルクラスを通して学習する度に、身になってる心地がしていいです。 ただ、数学にしてもプログラミングにしても理解や実装するための手段であって…

プロJavaのテストケース・JavaGold取得を目指した日記

はじめに JavaGold取得を目指して、まず月末は、昨年取得したJavaSilverの復習から入ります。 そして、MOSが取得できたので、全力で対策します。 各日記毎に分けていますが、一つずつ進めます。 JavaGoldはWindowsのPCでSTS(Eclipse) プロになるJavaはUbuntu…

プロになるJavaの学習日記 2日目

はじめに プロJava 2回目の日記です。 転職に当たり、業界の基礎知識について勉強を始めました。 開発の分類からイメージできるものとできないものがあるので、概要を抑える程度に読みたいと思います。 どのようにしたら良いテスター、プログラマー、システ…

プロになるJavaの学習日記 1回目

はじめに IntelliJ IDEAはUbuntuを入れているPCにインストールしていました。 Swingがクラスファイルからは実行できるけれど、JShellから入力だと実行できない現象についてリベンジしたり、復習に時間を費やしました。前者は徒労に終わり、後者はオートマト…

onclickから値の取得ができなかった in html

切り分け ①onclickで値を取得する。→OK html <input id="numberOfLogs" type="hidden" th:value="${numberOfLogs}"> javascript document.getElementById("numberOfLogs").onclick = function test(e){ console.log(e.target.value); } ②値が動的でも問題ないかの切り分け その1 1.値を固定 html <input id="test0" th:value="${numberOfLogs}"> javascript fo…

無限スクロールとPageableでログを取得する in Spring Boot

はじめに 2022年9月16日、開発始めてから早くも3カ月。 別の大会が控えているため、貴重な休日はプログラミングと大会に備えるという日々。 今日は、長らく悩んでいたWebSocketでのセッションについて、いくつかの疑問を残すもおおかた解決したので貯めてい…

CSRFトークンを用いたリクエスト送信ができなかった in SpringSecurity

はじめに CSRFトークンを送信しても403が返ってくる事態に際して奮闘した2日間の記録である。 なお、コロナとも戦っていた模様。 内容 CSRFトークンを使用してリクエストを送信するコードを以下とした。 var csrfToken = document.getElementById("_csrf").v…

チャットルームの作成を試みた in WebSocket

はじめに 突然、暑くなりましたね。 私のような素人のブログでは、ただの日記のようになっていますが、久しぶりに更新しました。 動作環境 Spring Boot 2.7.3 Java SE11 実装しようとしたこと チャットルームの実装です。 前回試したチュートリアルを用いて…

パスワードの試行回数を制限する in Spring Security

はじめに 夏も近いと思わせるような木々の緑や山の風と、いつも同じ場所から聞こえるウグイスの鳴き声で頑張れそうな気がする日々です。 動作環境 Spring Boot 2.7.3 Java SE11 Spring Security 5.6.5 実装しようとしたこと パスワードの試行回数を制限する…

学習日記 in WebSocket

はじめに GW関係なく仕事ではありますが、身内の墓掃除に行きました。 春の瑞々しい空気と早朝の山々を照らす弱弱しい太陽がとてもよかった。 職場の人間関係で頭を抱える日々でしたが、亡くなった彼らの人生を思うと、私の悩みは笑い話程度な心地がします。…

例外処理をしたいのでExceptionHandle等の動作確認 in SpringSecurity

はじめに 綺麗な桜と花見をしている人々の幸せそうな光景をぼんやり眺めていたり、ジムでZARDのDon't you seeが流れていて懐かしさに浸ったり、仕事の失敗で苦い現実と向き合わなくてはいけない1週間でした。 改めて、背中をとんと押してくれるような機会に…

remember-meやlogoutがうまく動作しなかった in Spring Security

はじめに IT関係のお世話になった方々や同級生らの社会での活躍を目にして、こんな風に生きたかったなと思う休日です。 さて、今日はremember-meやlogoutがうまく動作しなかった問題をテーマにします。 動作環境 Spring Boot 2.6.3 Java SE11 実装しようとし…

maximumSessions がうまく動作しなかった in Spring Security

はじめに 昨今のプログラミングブームにあやかり、SpringBootでWebアプリ作成をされている方の弟子になりたい非エンジニアのroughです。 仕事の日のお昼休憩は、花粉で目が開けられなくとも散歩にでる習性があります。 さて、今回は認証をカスタマイズしたプ…