親バカエンジニアのナレッジ帳

webのエンジニアをやっており、日頃の開発で詰まったことや書き残しておきたいことを載せています。

SSL証明書とは何か、なぜ必要になるのか

SSL証明書とは何か なぜSSL証明書が必要なのか 認証機関の例 SSL証明書とは何か SSL(Secure Sockets Layer)証明書は、ウェブサイトやオンラインサービスがセキュアな通信を提供するためのデジタル証明書です。 SSL証明書は、ウェブサイトとユーザーのブラ…

CSSで設定するclampとはどのような場面で使用するのか

CSSのclampとは? clampを使った実装例 clampのメリットとデメリット CSSのclampとは? CSSのclamp()関数は、指定された値の範囲内で値を制限するために使用されます。 この関数は、3つのパラメータを受け取ります:最小値、希望する値、最大値。 ブラウザは…

axiosとはどんな場面で使用するライブラリか

axiosとは? axiosを使用した処理例 axios以外のJavascriptのHTTPクライアント axiosとは? axiosは、JavaScriptで使用される人気のあるHTTPクライアントライブラリです。 主にWebアプリケーションやNode.jsアプリケーションでサーバーとのHTTPリクエストを…

Next.jsとは?React.jsとの書き方の違い

Next.jsとは?React.jsとの違い Next.jsで書いた処理の例 Next.jsで書いたサーバサイドレンダリング処理の例 Next.jsで書いたサーバサイドレンダリング処理でAPIからデータを取得する場合の例 Next.jsとは?React.jsとの違い Next.jsはReact.jsのフレームワ…

Javaのネイティブメソッドの代表例と使用時の注意点

Javaのネイティブメソッドの代表例 Javaのネイティブメソッド使用時の注意点 Javaのネイティブメソッドの代表例 Javaのネイティブメソッドは、通常、ネイティブコードで書かれたライブラリや関数を呼び出すために使用されます。 以下は、代表的なネイティブ…

MapとHashMapの関係性について改めて調べてみた

MapとHashMapの関係性 Map インターフェースの定義 MapとHashMapの関係性 Java言語において、MapとHashMapは密接に関連しています。 Mapはインターフェースであり、キーと値のペアを格納するための一般的なメソッドが定義されています。 一方で、HashMapはMa…

WordPressの引越しで404エラー

WordPressの引越し WordPressの引越しツール(プラグイン)といえば、「All-in-One WP Migration」などがありますね。 非常に使いやすいプラグインですが、引越し後にトップページ以外が404になることがあります。よくある解決方法としては、 パーマリンク設定…

SpringBootを3系にバージョンアップで「シンボル'servlet'を解決できません」エラーが発生

SpringBoot3より発生するエラー SpringBoot2系からSpringBoot3にバージョンアップした際に発生する代表的なエラーになりますが、「シンボル'servlet'を解決できません」というエラーが発生します。 エラー内容はキャプチャの通り。 SpringBoot3よりJava EEか…

JavaのバージョンアップでSpringBootのOpenJDK 64-Bit Server VM warning:エラー

Java13以降発生するSpringBootのエラー SpringBootを使用していてJavaのバージョンを17に上げた時、以下のエラーが発生しました。 OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be re…

Javaのバージョンアップでjava: java.lang.ExceptionInInitializerError com.sun.tools.javac.code.TypeTags

Java11以降、java: java.lang.ExceptionInInitializerError com.sun.tools.javac.code.TypeTags Javaのバージョンアップで以下のようなエラーが発生しました。 java: java.lang.ExceptionInInitializerError com.sun.tools.javac.code.TypeTags pom.xmlに書…

MacにJava17(Amazon Correto)をダウンロード

Java17(Amazon Correto)のダウンロード手順 MacにJava17(Amazon Correto)をダウンロードした手順を記載します。 まずは以下のAmazon Corretのページに遷移します。 https://docs.aws.amazon.com/ja_jp/corretto/latest/corretto-17-ug/downloads-list.htmlこ…

node.jsのバージョンアップによりNode Sassエラーの発生

エラーの発生契機 解消方法1 解消方法2 エラーの発生契機 エラーの種類は以下 Error: Node Sass does not yet support your current environment: OS X 64-bit with Unsupported runtime (108)node.jsのバージョンアップで発生するエラーになると思います。 …

node.jsのバージョンアップによりerror:0308010Cエラーの発生

エラーの発生契機 解消方法1 解消方法2 エラーの発生契機 エラーの種類は以下 error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:71:19) at Proxy.createHash (node:crypto:133:10) at module.exports (node_m…

webサーバとアプリケーションサーバの違いについて

webサーバ アプリケーションサーバ webサーバとアプリケーションサーバは混同されがちなので改めて整理のために記載しました。 とはいえ両者の役割は同じサーバで行われることが多いと思いますが。 webサーバ 役割: 静的なコンテンツ(HTMLファイル、画像、C…

オンプレミス環境とは何か

オンプレミス環境とは クラウド環境との違い 選択は要件やニーズに基づいて決められる オンプレミス環境とは オンプレミス環境(オンプレミス、On-Premises)は、IT(情報技術)インフラストラクチャーやシステムが組織や企業自体の物理的な場所に設置・運用…

CentOS7でPHP8.1のMAMP環境を構築

PHP8.1のインストール Apacheのインストールと起動 MySQLのインストールと起動 CentOS7に以下のバージョンのMAMP環境を構築した際の手順になります。 あくまで最低限の手順になりますので、要件に合わせて見直してください。 PHP: 8.1 Apache: 2.4 MySQL: 5.…

SpringBootでDBへの接続方法

Spring BootでMySQLへの接続方法 Spring BootでOracle DBへの接続方法 Spring BootでMySQLへの接続方法 MySQLへ接続する場合は以下のようになります。 spring: datasource: url: jdbc:mysql://接続先(IPやドメイン)/データベース名 username: DBのユーザ名 p…

SpringBootでThymeleafの変更をビルドや再起動なしで反映させる方法

通常のThymeleafの変更反映 application.ymlもしくはapplication.propertiesにprefixの設定を追加 application.ymlの場合 application.propertiesの場合 通常のThymeleafの変更反映 SpringBootでテンプレートエンジンとして使用されるThymeleafですが、デフ…

amp-list内でsetStateで設定した値を使用する方法

amp-list内で条件次第で出し分けする方法 amp-list内にtemplateを設定すればsetStateの値を使用できる amp-list内で条件次第で出し分けする方法 amp-listはjsonを使用してリスト表示するパターンの使用が多いと思いますが、条件次第で出し分けしたいことがあ…

amp-date-pickerの初期値を今日(ページを開いた当日)にする方法

amp-date-pickerの初期値 dateオプションにPODを設定 amp-date-pickerの初期値 AMPでもカレンダー機能を使用するためには、amp-datepickerが便利ですが、オプションの設定は普通のJavascriptのdatepickerに比べてわかりづらく、詰まるポイントになります。 A…

AMPのcssを別ファイルに分けて記述する方法

AMPを記述する際のCSSの書き方 テキストファイルとして読み込ませる AMPを記述する際のCSSの書き方 AMPでHTMLを記述する際、CSSは基本的に外部ファイルに分けて記述することはできませんよね。 例えば以下の書き方でスタイルシートを読み込もうとするとエラ…

Spring BootでSQLクエリを直接実行させる方法

Spring Data JPAについて SQLを記載したいとき 方法1: EntityManagerを使用 方法2: Repositoryで@Queryアノテーションを使用したメソッドを実装 Spring Data JPAについて みなさんSpring Bootを使用する場合、Spring Data JPAを使用してSQLを記載せずにDBを…

Spring Bootで環境変数等の定義ファイルの値を取得する方法

Spring Bootの定義ファイル Javaのソースで値を取得する方法 どんな時に使用する? Spring Bootの定義ファイル Spring Bootでは、プロパティ値を設定する定義ファイルとして、application.ymlやapplication.propertiesがありますね。 設定する内容としては、…

SQLのヒント句とは?パフォーマンスへの影響は?

ヒント句とは? ヒント句の書き方 ヒント句の種類 ※ヒント句はMySQLでもありますが、今回はOracle SQLの話です。 ヒント句とは? SQLのヒント句は、SELECT・UPDATE・INSERT・MERGE・DELETEのいずれかのキーワードの後に書かれるものです。 例えば/*+ ALL_ROW…

MacでSQL Developerが重い・起動できなくなる・DBに接続できなくなる場合の対処法

SQL Developerが不安定になる場合 Oracle SQLに接続するためのSQL Developerの動作が不安定の時の対処方についてです。 SQL Developerはクライアントツールとして非常に有用ですよね。 特にMacからOracleに接続できるものは少ないため、Macユーザには重宝さ…

yarnでnightwatch.jsを動かす簡単設定

nightwatch.jsとは nightwatch.jsはE2Eテストフレームワークとして最も有名なものの1つではないでしょうか。 開発したWebのアプリケーションに対して1つ1つ手動でテストをしていくのは大変なので、Seleniumでテストを自動化させることが主流になっていますが…

vue-slickをNuxt.jsで使用した時の「window is not defined」エラー解消法

vue-slickを使用した場合のエラー エラーの解消法 解消法1 解消法2 Nuxtでは同様のエラーが発生するプラグインが多い vue-slickを使用した場合のエラー 複数画像のスライド表示を簡単に実装できるJavascriptのプラグインであるslick.js。 これをVueやNuxtに…

Go+GinでCors設定を行い、クロスオリジンのアクセスを制御する

APIとして使用される場合を想定 GinのGors設定 許可されないアクセスがされた場合 CORS 対応の後にルーティングを書かないとうまく動かない APIとして使用される場合を想定 近年SPAサイトがよく作られており、サーバサイドの言語はAPIとして開発されることが…

herokuでGoのGinを動かしてみる

herokuでGo Goのソースでやること 最終形(まとめ) herokuでGo herokuは非常に便利なPaasですよね。 アプリケーション開発では、せっかく開発が終わったのにも関わらず、サーバの準備でまた時間がかかってしまうのが面倒ですよね。 それほどインフラ面にこだ…

godotenvによる.envファイルの読み込み有無で、開発環境と本番環境を切り分け

開発環境と本番環境を切り分けたい理由 GoのGinではどのように切り分ける? 実装の中身 .envファイルを用意 godotenvのインストール import内にモジュールを定義 読み込み処理の実装 開発環境と本番環境を切り分けたい理由 アプリケーションの起動に当たって…