エンジニアのはしがき

プログラミングの日々の知見を書き連ねているブログです

JavaでJsoupとSeleniumでWebサイトをスクレイピングしてみた

最近IT系のニュースサイトをスクレイピングするプログラムを走らせて、ネットサーフィンする時間を節約するようになりました。 スクレイピングにはJavaのJsoup, Seleniumを使っているのですが、今回はその実装内容について書き残してみます!

任意の容量のファイルを生成したいとき

やりたかったこと 動作環境 生成方法 コマンドの解説 base64 /dev/urandom head -c 1000 あとがき やりたかったこと 任意の容量のファイルを生成したい 背景としてファイルのアップロード処理における容量制限の手動テストをしたかった 動作環境 macOS, Linu…

SpringでInterfaceを@Autowiredするだけで動作するのはなぜ?

JavaとC#は似て非なるものだと日に日に感じる今日この頃です。

Raspberry PiがWifi接続できなくなった(No wireless interfaces found)

いつも使っているラズパイにVNC接続できなくなりました。

WindowsのGit Bashでmysqlに接続できなかった

Windowsで開発する時は、ターミナルとしてGit Bashを多用しています。が、たまに特有の仕様にひっかかってしまうことがあり、今回もそんなトピックとなります。

Serverless Framework+AWS Lambda(Java8)でHello worldしようとしたらNoClassDefFoundError

少しずつですがJavaのビルドツール周りも分かりかけてきたなという矢先、エラーで数時間ハマりました…😭

JavaのStream APIでよく使いそうな処理をまとめてみる

Javaの勉強中、コレクションを扱う時にC#のLinq的な書き方ができたらなぁと思っていたのですが、Stream APIでかなり近いことができるようなのでまとめました。

Raspberry Pi OSのMariaDBへ別ホストからアクセスできるようにしたかった

Spring Data JPAについて調べる際に、ラズパイのMariaDBを検証用DBとして使っていたのですが、別ホストからのアクセス制御にちょっと時間を食ったので記録を残しておきたいと思います。なお、JPAについての記載は主題ではないため、あえて割愛しました。

CloudFront+S3でUnity WebGLを配信した

先日S3の静的ウェブサイトホスティングを使ってUnity WebGLを配信しました。 ただhttps化したい場合、S3単独ではできないのでCloudFrontと組み合わせる方法を解説してます。 手順的にはほぼReactやAngular等のフロントエンドアプリを独自ドメイン配信する時…

Javaでの非同期処理の方法についてピックアップした

まだまだJavaの勉強中です。 先日、そういえばJavaで非同期処理する方法をまだ知らなかったなぁと思い調べてみました。

AWS S3のStatic Website HostingでUnity WebGLを配信してみた

ホビーで作っているUnity製ゲーム(WebGL)をEC2ではなく、S3の静的ホスティング機能でどうにかホスティングできないかと試みていたところ、うまく動かせましたので記録を残しておきたいと思います。

不特定多数のアクセス許可していたS3がCORSでアクセスできなかった話

Javaの勉強の合間にUnity製ゲームのWebGL公開の検証をやっていたのですが、その際にS3の設定で詰まっていた話です。

Java勉強中/C#と比較しながらハマりそうなところピックアップ

どうも、ご無沙汰してました。 この度、転職先でJavaをメインに書くことになり勉強しています。 ぱっと見の文法はC#と似ているものの、実態は結構違う部分も多かったので個人的に気になる部分をピックアップしました。

GitHub Actionsでポートフォリオサイトのデプロイ自動化した

前々から触ろう、触ろうと思っていて触れていなかったGitHub Actionsの話です。 先日Dependabotくんがプルリクを出していたので、そろそろ手を出すかと思い試してみました!

リーダーブルコードを読み返した

www.amazon.co.jp 先日以前も読んだことのあるリーダブルコードを読み返しました。 実はエンジニアとして実務に携わる前から読んではいたのですが、中盤のページ以降から経験不足が故にきちんとした理解に落とし込めてはいませんでした。 実務を経験して3年…

Raspberry Piで温湿度を計測してWebアプリ上から確認できるようにした

こんばんは!年末年始はいかがお過ごしでしたでしょうか? 今年は何をしていたかというと年末に秋月電子様で購入した温湿度センサーで遊んでました。測るだけでなくせっかくなら計測値を今使っているWebアプリ上で表示できたらなと思い、実践してみました!

PostgreSQLのTOASTって何だろう

1つ前のPostgreSQLについてのブログ記事でついでに調べた内容です。そのまま記述すると長文になりそうでしたので分割しました。 PostgreSQLも掘り下げれば掘り下げる程、本当に奥が深い世界だと実感しますね😑

RDS(PostgreSQL)のストレージを拡張した話

こんばんは! データベースは運用し始めてから気づくような問題も多いかと思いますが、今回はそんなトピックです。

.NET CoreからGCPのText-to-Speech APIでテキスト読み上げ音声を生成する

様々な企業がテキストから読み上げ音声を生成するAPIを公開していますが、その中でもGCPのText-to-Speech APIは日本語読み上げのクオリティが高かった為、実装をしてみました。 ↓Text-to-Speech APIは過去記事でラズパイ(Python)でのテキスト読み上げの時に…

ブログ開設から1周年を迎えました

こんばんは! 昨年の11/14に初めての記事を投稿してから約1年(少し遅れてしまいましたが…)が経ちましたので、ここらで今までを振り返ってみました。

VSCodeからSSH接続してEC2を開発環境にしてしまおう

実は以前からこの開発環境でコーディングしていたのですが ブログの記事としては記述していなかったので、改めてまとめてみます。 EC2の月額料金が許容できるのならお手軽にLinux開発環境が出来るのでおすすめです。

言語によって曜日を現す数値の実装はバラバラだった

タイトルの通りです。 各プログラミング言語の曜日を現す数値を調べてみたところ、見事に統一されておらず「何でだよ!」と言いたくなった、そんな記事です。

達人に学ぶDB設計 徹底指南書を読了しました

近々DB設計の機会があるので、一度網羅的にデータベースを理解したいと思い、「達人に学ぶDB設計 徹底指南書」を読みました。今回は読了後のまとめです。 ↓Amazonにて購入できます 達人に学ぶDB設計 徹底指南書 | ミック | 工学 | Kindleストア | Amazon

GitHub Copilotで遊んだ

以前に申請してから存在を忘れかけていたGitHub Copilotですが、申請が通ったとメールが来たので軽く試してみた感想などをまとめてみました!

WkWebView(Angular)からSwiftの処理を発火させる際に躓いたこと

やりたいこと SwiftでWkWebView(Angular)を動作させ、WebView側からSwiftの処理を発火させたい なおかつ普通のブラウザからでもAngularを動作させたい

iPadOSのWKWebViewでaudioの鳴り始めが途切れる謎現象について対策した

SwiftでWKWebViewを触って1年以上経ちましたが、普通のブラウザと違いiOS上でシミュレートされたブラウザ環境であるためか、メモリをよく食うらしく実装にはかなり気を遣います。 今回はそんなWKWebViewで音を鳴らそうとしたら割と手こずった話です。

Windows11にアップデートしてみました!

Windows11の配信が進んできたようなので、私のメインPCのWindowsも先日アップデートをいたしました。今回は個人的な感想ややったことを書き連ねてみました。 www.microsoft.com

Windows11でWindows Subsystem for Android(WSA)を試してみた

Windows11ではAndroidアプリをシミュレートできるようになるということで、早速試してみました。

Windows10でPythonコードからxlsxを開いて印刷させた

事務処理上、Windowsでエクセルを開いて加工したり、印刷したりということが必要になることがあるのですが、どうにも手作業が面倒なのでPythonコード化してみました。 割と簡単に書けるので面倒な手作業はPythonで実行するのがおすすめです。

CloudFront+S3構成で単一ドメインで複数のアプリを配信する

やりたいこと 同一ドメインで複数のSPAアプリケーション(Angular)を配信する要件があった為、今回下記の内容で実装をしました。 単一のCloudFrontから複数のOrigin(S3 static website hosting)にアクセスを振り分ける。 Originへの振り分けルールはパスパタ…