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

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

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内にモジュールを定義 読み込み処理の実装 開発環境と本番環境を切り分けたい理由 アプリケーションの起動に当たって…

Nuxtのrouterやmetaを自由にカスタマイズしたい

Vue.jsとNuxt.jsのrouterの違い Nuxt.jsでのルーティングは便利だけどデメリットも どうやってNuxtでルーティングをカスタマイズする? metaの設定は? Vue.jsとNuxt.jsのrouterの違い Vue.jsでは、ルーティングを設定する際にrouter/index.jsなどで自分で自…

文章どうしの差分を取得するならdiff-match-patchが便利

文章どうしの差分を取得 モジュールのインストール コードの実装 文章どうしの差分を取得 文章の差分を取得するような機能を作りたい時、diff-match-patchを使えば簡単に実装することができます。 PythonやGo、PHPなど、各種言語にライブラリが用意されてい…

複数のURLリンクを一発でタブ表示!

Javascriptのwindow.open 複数ページを開く時のネックになるポイント Javascriptのwindow.open Javascriptでaタグの「target=_blank」の要領で、別タブでページを開きたいことありますよね。 そんな時にはwindow.open('ここにURL', '_blank')を使えばOKです…

target="_blank"にはrel=noopenerを付けないと超怖い

target="_blank" rel="noopener"を付けないとどうなる? どんな場面で悪用されてしまうのか まとめ target="_blank" 外部ページへ遷移する際に使われるtarget="_blank"。 あまり知られていないのですが、そのまま使うと実はセキュリティ的なリスクをはらんで…

パスワード生成ツールが多すぎてウケる

パスワード生成ツールがなぜ使われるのか 「パスワード 生成」で検索すると... え?お前はどうなのかって? パスワード生成ツールがなぜ使われるのか 今の世の中、パスワードを設定する場面が多いですよね。 いろんなサービスで会員登録をしたりしますし。。…