2021-01-01から1年間の記事一覧

【エラー】COPY failed: file not found in build context or excluded by .dockerignore: stat file_name: file does not exist を解決

現象 以下のような記述のDockerfileを用意しアプリケーションをコンテナ化しgcloud run deployでCloud Run上にデプロイしたところ、特定のファイル(今回はinit.incファイル)がアップされていないことに気が付きました。 FROM php:7.0-apache # Configure PHP…

【GCP】SpringBoot + App Engine + CloudSQL + VPCネットワーク

はじめに MySQLを用いたCRUDを行うSpringBootアプリケーションを、App Engineスタンダード環境にデプロイし、プライベートIPでCloud SQLへ接続を行う大枠の手順についてまとめます。 環境 アプリケーション環境 言語: Java8FW: SpringBootビルドツール: Mave…

【GCP】GAE Java8フレキシブル環境からスタンダード環境に変更する

はじめに Java8, SpringBootで作ったアプリをGoogle App EngineのJava8フレキシブル環境にデプロイしていたのですが、デプロイ先の環境をスタンダード環境に変更する必要がありました。これの手順についてメモします。 環境 以下アプリケーションの環境です…

"Communications link failure"でアプリ起動できない問題

SpringBootで作ったアプリを起動すると、以下のエラーが起こり起動に失敗する現象に遭遇しました。 Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure この現象の原因と解決策についてメモします。 環境 言語:…

Linux負荷監視コマンドについて(top,vmstat,iostat...)

Linuxの負荷監視コマンドについてまとめます。 キャパシティプランニング(Capacity planning)とは、リソース不足によってシステムの運用に支障が出ないようにリソースを将来的に確保するための設計技法です。 具体的には、以下のようなリソースの状態を測定…

【Linux】~/.bash_profileや~/.bashrcなどの起動順序

ステップシステム全体の設定ファイルユーザ毎の設定ファイル1. ログインシェル起動時/etc/profile-(2. Debian系のみ)/etc/bash.bashrc-3. ~/.bash_profileがある場合-~/.bash_profile4. ~ /.bash_loginがある場合-~/.bash_login5. ~/.profileがある場合-~/.p…

【Linux】SUID, SGID, スティッキービット

SUID SUID(Set User ID)とは、実行権のあるファイルに設定されている特殊なアクセス権のこと。 例えば、一般ユーザ(rootでないユーザ)が自身のパスワードを変更すると、この変更は/etc/passwdファイルに保存されます。そこで、/etc/passwdファイルのパーミシ…

【Linux】標準出力と標準エラー出力は何が違う?

Linuxの標準入出力について Linuxでは、データのストリーム(データの入出力に伴うデータの流れのこと)を扱うために以下のように、標準出力/標準出力/標準エラー出力の3つの経路(インターフェース)が用意されています. ファイル・ディスクリプタ番号入出力名 …

Origin(オリジン)とは

Originとは、URLのスキーム、ドメイン、ポートの3つによって定義され、それらが全て一致した場合に、その2つのオブジェクトは同じオリジンといいます。 ちなみに、https://example.com:8080 というURLがあった時、httpsをスキーム、example.comをドメイン、8…

dbに接続できない - could not connect to server

Dockerを使ってRails6の環境を作り、docker-compose upで起動すると、以下のようなエラーが表示されました。 PG::ConnectionBad: could not connect to server: No such file or directoryIs the server running locally and acceptingconnections on Unix d…

Next.js - プリレンダリングについて

Next.jsのプレリンダリングについて学んだので忘備録として残します。 プリレンダリングとは Next.jsにおいて、最も重要な概念はプリレンダリング(pre-rendering)です。 Next.jsは、デフォルトで全てのページでプリレンダリングします。これは、クライアント…

Dockerでコンテナ化したrailsアプリをproductionモードで起動する

Dockerでコンテナ化したrailsアプリをproductionモード(本番環境)で起動する方法をメモします。 productionモードとして起動するには以下のような設定項目があります。 production用docker-compose.ymlを用意DB設定ファイルの編集(config/database.yml)secre…

Rails - productionモードでAction Textがロードされない

タイトル通りの問題が起きて調べたのでメモします。 Action Textを導入したrailsアプリをproductionモードで実行したところ、Action Textを用いて実装した箇所がブラウザにロードされない事象が起きました。 解決策 以下のように、config/initializers/asset…

マスタリングTCP/IPを読んだ

マスタリングTCP/IP 入門編 第6版 を読みました。 言わずと知れたバイブル的な存在ですよね。実は3年くらい前のIT業界で働き始めの頃に読んでみたことがあるんですが、書いていることのイメージが出来ず読むのが苦痛でしかなかった覚えがあります。あれから3…

DB設計 - スキーマについて

達人に学ぶDB設計を読んだので学んだ内容をまとめます。 DB設計とは? データベース設計とは、アプリケーションで扱いたい事柄をデータベースで管理できるように、それら事柄を抽象化してデータモデルを作成していく作業です(データモデリング)。 データモデ…

Vim操作チートシート

随時更新します。 基本的な操作 コマンド意味w次の単語へe単語の最後へb前の単語の先頭へ0行頭へ$行末へggファイルの先頭へGファイルの最終行へ%マッチした文字へ移動C-f次のページへC-b前のページへyヤンク(コピー)Y行をヤンクpペーストP現在の位置にペース…

Rails - param is missing or the value is empty: エラー

param is missing or the value is empty: 以下のようなviewとコントローラ(Strong Parameters)を書いていたところ、POST時にparam is missing or the value is empty: article というエラーが発生しました。コードの趣旨としては、articleモデルの属性であ…

Rails - Media Queriesが効かない

問題 Rails on Railsでviewを書いている時に、以下のようにcssをレスポンシブ対応していたのですが、画面を480px以下にしてもスマホ向けのcssが適用されない現象が起きました。 header { color: white; } @media (max-width: 480px) { header { color: black…