はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    ChatGPT

『Enjoy IT Life』

  • 人気
  • 新着
  • すべて
  • サブドメインと複数のWebアプリをつなげるプロキシサーバをnginxとDcokerで構築する | Enjoy IT Life

    3 users

    nishinatoshiharu.com

    前回、独自ドメインとローカルのWebアプリをつなげるプロキシサーバをnginxとDcokerで構築するでnginxを利用して独自ドメインでコンテナに接続する方法について紹介しました。 前回は接続対象のアプリケーションが1つだけでしたが、今回はサブドメインを利用して複数のアプリケーションに対応する方法について紹介します。 なお、localhost:3000でWebアプリケーションが、localhost:3001でAPIサーバが起動している前提とします。 今回は例としてhttp://web.local.example-dev.comにWebアプリケーション、http://api.local.example-dev.comでAPIサーバに接続することをゴールとします。 下準備 ローカル環境の/etc/hostsを編集する localhostは127.0.0.1を指すホスト名です。 任意のドメイン

    • テクノロジー
    • 2022/12/06 16:16
    • 【図解】Next.jsのSSRが画面反映されるまでの具体的な流れ | Enjoy IT Life

      3 users

      nishinatoshiharu.com

      ブラウザからサーバにリクエストが届く SSRに必要なPropsをリクエストする Propsを取得する SSRを実行する ブラウザにHTMLでレスポンスを返す ブラウザ上でCSRを実行する レンダリング結果をマウントする マウント後、ブラウザ上で副作用を実行する 以下ではそれぞれの過程について解説をします。 ブラウザからサーバにリクエストが届く ブラウザでURLにアクセスをするとサーバにリクエストが届きます。 SSRに必要なPropsをリクエストする サーバでUIを構築するにあたり、必要となるPropsをリクエストします。 PropsのリクエストはgetServerSideProps()で行います。 API経由でデータを取得している場合はAPIサーバへリクエストすることになります。 Propsを取得する リクエストしたPropsが返され、SSRの準備が整います。 SSRを実行する 取得したP

      • テクノロジー
      • 2022/06/27 15:32
      • 【Next.js】Hydration時にReact.hydrate()による警告が発生するケースとその解決方法 | Enjoy IT Life

        3 users

        nishinatoshiharu.com

        Hydrationについて HydrationとはHTMLに付随したJavaScriptを利用してイベントリスナを登録することでインタラクティブ(操作可能)なページを生成する過程のことをいいます。Hydrationはクライアントサイド(ブラウザ)で実行されます。 Hydrationの定義と役割については、Next.js『Pre-rendering and Data Fetching#Pre-rendering』に記載されている説明と図も参照してください。 Next.jsの公式ドキュメントでも説明されている通り、HydrationというプロセスはPre-renderingの有無に関わらず実行されます。 Next.js(Pre-rendering)におけるHydrationの過程について Next.js(Pre-rendering)のHydrationではページをインタラクティブにする処理に加

        • テクノロジー
        • 2022/06/26 16:33
        • Next.js
        • React
        • 【Rails】JWTを利用したログインAPIと認証付きAPIの実装 | Enjoy IT Life

          4 users

          nishinatoshiharu.com

          JWTはtokenというキー名でCookieに保存する JWTの署名アルゴリズムはRSA256を利用する JWTのエンコードでは事前に作成したRSA暗号の秘密鍵を利用する JWTにはユーザーIDを保存する JWTの有効期限は14日とする 下準備 ユーザーの作成 認証対象のユーザーを作成します。ActiveModel::SecurePassword::ClassMethodsのドキュメントに従い、has_secure_passwordでパスワード管理されたデータを作成します。 Gemfile gem "bcrypt" ### モデルのマイグレーション $ rails g model user name email password_digest $ rails db:migrate user.rb class User < ActiveRecord::Base has_secure_pass

          • テクノロジー
          • 2022/06/08 12:54
          • rails
          • システム開発
          • api
          • ruby
          • セキュリティ
          • 技術
          • 【CSS】コンテンツ(テキスト)の天地中央揃え方法まとめ | Enjoy IT Life

            3 users

            nishinatoshiharu.com

            relative/absoluteを利用する方法 Flexbox化し、『align-items: center』を適用する方法 上下に均等なpaddingを確保する方法 table-cell化し、『vertical-align: middle』を適用する方法 line-heightで高さを確保する方法 以下ではそれぞれの方法について紹介します。 relative/absoluteを利用する方法 親要素で囲み、親要素をposition: relative・コンテンツの要素をposition: absoluteとすることで天地中央揃えを実現する方法です。 absoluteとrelativeを利用した上下左右の中央よせ方法で紹介した通り、relative/absoluteを利用した中央よせには『marginプロパティを利用する方法』と『transformプロパティを利用する方法』の2つがあります

            • テクノロジー
            • 2022/04/18 21:41
            • 【React】JSXでif文を利用して要素を出し分ける(条件付きレンダー)方法 | Enjoy IT Life

              4 users

              nishinatoshiharu.com

              条件によってレンダーするコンポーネントを出し分ける際は条件付きレンダーを利用します。 今回は条件付きレンダーの記述方法について紹介します。 条件付きレンダーの記述方法 条件付きレンダーの記述方法について紹介します。 条件分岐を実装したメソッドを定義し、JSX内でメソッドを呼び出す 条件付きレンダーをコンポーネントのメソッドで定義し、JSX内でメソッドを呼び出す方法です。 JSXからメソッドを呼び出す、つまりJSX内に式を埋め込む場合は中括弧({})で式を囲む必要があります。1 以下のコードはisMorningがtrueなら<GoodMorning />、falseなら<GoodEvening />をレンダーする例です。 import React from "react"; import GoodEvening from "./GoodEvening"; import GoodMorning

              • 世の中
              • 2022/03/16 08:58
              • ReactチュートリアルをTypeScriptで書き換えてみた | Enjoy IT Life

                3 users

                nishinatoshiharu.com

                2021年2月現在、Reactの公式ドキュメントで紹介されているチュートリアルのサンプルアプリケーション(三目並べ)はJavaScriptで書かれています。 今回、サンプルアプリケーションのTypeScript版を作成したので紹介します。 なお、サンプルアプリケーションの概要を知っている前提で話を進めますので、概要を知らない方は公式ドキュメントとあわせて読んでいただければと思います。 アプリケーションのひな型をローカル環境に準備する create-react-appを利用してアプリケーションのひな型を作成します。 --templateオプションを利用するとcreate-react-appで作成されるひな型のカスタマイズができます。 TypeScriptベースのアプリケーションを作成する場合は--template typescriptを利用します。 なお、テンプレートはnpm上にcra-te

                • テクノロジー
                • 2021/12/18 23:22
                • react
                • チュートリアル
                • committeeを利用してOpenAPI Specのスキーマ定義とAPIの挙動の差分を検知する | Enjoy IT Life

                  3 users

                  nishinatoshiharu.com

                  REST APIを開発するにあたり、OpenAPI Specification(OpenAPI 3.0以前でいうところのSwagger Specification)をAPIの仕様書として利用している方は多いのではないでしょうか。 しかし、OpenAPI Specificationを仕様書として利用する場合、きちんとメンテナンスを続けなければ実際のAPIの挙動と仕様書の内容に違いが生まれてきてしまいます。 committeeを利用することで、OpenAPI Specificationと実際のAPIの挙動が一致しているかテストコードで検証できます。 今回はcommitteeの導入手順と、実際にテストコードでcommitteeを利用する方法について紹介します。 committee-railsは0.5.1、committeeは4.2.1を利用します。 検証用のAPIは、APIモードで作成したRai

                  • テクノロジー
                  • 2021/12/14 17:50
                  • あとで読む
                  • Gitで既に管理されているファイルをローカルで無視する方法 | Enjoy IT Life

                    3 users

                    nishinatoshiharu.com

                    Gitでファイルを管理しない方法としては.gitignoreや.git/info/excludeに記述する方法があります。 これらの方法はGitでまだ管理されていない(Untracked)ファイルに対して行うものです。 しかし、既にGitで管理されているファイルをローカルで修正しても無視してもらいたいときがないでしょうか? 例えば、アプリケーションの設定ファイルをローカル用に少しだけ変更するときなど、Gitの管理から除外したいですよね。 今回は既にGitで管理されているファイルをローカルで修正しても無視できるような設定と確認方法について説明します。 方法は2つあります。 git update-index –skip-worktree まずはgit update-index --skip-worktreeについてです。 どんな時に使う? --skip-worktreeはローカルでファイルが変

                    • テクノロジー
                    • 2021/10/28 13:54
                    • Git
                    • tips
                    • Redux ToolkitのcreateAsyncThunkで非同期処理を実装する方法 | Enjoy IT Life

                      3 users

                      nishinatoshiharu.com

                      createAsyncThunkについて createAsyncThunkとは非同期処理の実行状況に応じたActionCreatorを生成する関数です。 createAsyncThunkは2つのパラメータを持ちます。 第1引数はtypePrefixと呼ばれる文字列です。typePrefixはActionTypeの接頭辞として利用されます。 第2引数はpayloadCreatorと呼ばれるasync関数(Promiseを返す非同期処理の関数)です。 createAsyncThunkはasync関数で処理されるPromiseの状態に応じたActionCreatorを返します。 createAsyncThunkに関する戻り値 createAsyncThunkによって作成されるActionCreator、およびActionCreatorがdispatchするActionオブジェクトの値について紹介

                      • 世の中
                      • 2021/10/15 19:06
                      • redux
                      • 【図解】B-treeを理解し、複合インデックスの順番を正しく作る | Enjoy IT Life

                        6 users

                        nishinatoshiharu.com

                        複合インデックス(結合インデックス)とは複数のカラムを組み合わせたインデックスのことをいいます。 検索やソート条件で一緒に利用されるカラムに対して複合インデックスを作成することでクエリの高速化が期待できます。 複合インデックスを正しく作成するにはB-treeインデックスの理解が必須です。 今回は複合インデックスを正しく作成するために必要な基礎知識について紹介します。 複合インデックスには順序がある ユーザーテーブルに存在するlast_name, first_name, ageのカラムに対して複合インデックスを作成する場合を考えてみます。 (last_name, first_name, age)の順で複合インデックスを作成した場合、インデックスの構造は以下のようになります。 (age, last_name, first_name)の順の場合は以下のようになります。 複合インデックスの構造は先

                        • テクノロジー
                        • 2021/09/30 21:38
                        • DB
                        • tech
                        • あとで読む
                        • web
                        • Railsのセッション保存場所をCookieからRedisに変更する方法 | Enjoy IT Life

                          4 users

                          nishinatoshiharu.com

                          なお、serversはredis://<ホスト名>:<ポート番号>/<db番号>/<ネームスペース>という命名規則です。SSL通信でRedisに接続する場合はredisの部分をredissにします。 たとえば以下のようになります。 config/initializers/session_store.rb Rails.application.config.session_store :redis_store, servers: %w(redis://localhost:6379/0/session), # ホスト: localhost(docker環境の場合はredisコンテナ名) # ポート: 6379 # DB: 0番 # ネームスペース: session expire_after: 90.minutes, # 有効期限90分 key: "_#{Rails.application.cla

                          • テクノロジー
                          • 2021/07/15 15:29
                          • redis
                          • rails
                          • 考察
                          • ruby
                          • 技術
                          • 【Nuxt】SSR・SSG・SPAにおける『nuxt build』と『nuxt generate』の実行結果の違いまとめ | Enjoy IT Life

                            4 users

                            nishinatoshiharu.com

                            こんにちは。Enjoy IT Life管理人の@nishina555です。 NuxtにはSSR(Server Side Rendering)、SSG(Static Site Generator)1、SPA(Single Page Application)の3種類のモードが用意されています。 また、本番環境でNuxtアプリケーションを実行するにあたりnuxt buildとnuxt generateの2つのコマンドが用意されています。 nuxt buildはアプリケーションをWebpackでビルドし、JSとCSSをミニファイするコマンド2です。ビルドファイルの出力先は.nuxt配下です。 nuxt generateは静的ウェブサイトへデプロイする静的ファイルを生成するコマンド2です。静的ファイルの出力先はdist配下です。 静的ウェブサイトのホスティングサービスではNetlifyやAmazon

                            • テクノロジー
                            • 2020/08/29 15:30
                            • Article
                            • nginxとPumaを連携し、nginx + Puma + Rails6の開発環境を構築する手順 | Enjoy IT Life

                              3 users

                              nishinatoshiharu.com

                              こんにちは。Enjoy IT Life管理人の@nishina555です。 Railsアプリケーションを実際にサービスとして稼働させるためにはWebサーバーとの連携は必須です。 今回はPumaを利用してWebサーバー(nginx)とRailsアプリケーションを連携させる手順について紹介します。 Pumaの設定方法や、Railsとnginxの連携方法について知りたい方の参考になればと思います。 検証サーバーはConoHaのVPSを利用して作成をし、OSはCentOS8とします。 今回の検証環境について 各種バージョンは下記の通りです。 $ cat /etc/redhat-release CentOS Linux release 8.1.1911 (Core) $ node -v v12.18.0 $ ruby -v ruby 2.7.1p83 (2020-03-31 revision a0c

                              • テクノロジー
                              • 2020/06/15 11:51
                              • ネットワーク
                              • rails
                              • ruby
                              • 技術
                              • 【Docker】具体例で理解するデータボリュームのバックアップ・リストア方法 | Enjoy IT Life

                                3 users

                                nishinatoshiharu.com

                                バージョンは、WordPressは5.2.2、MySQLは5.7を利用します。 wordpressコンテナとdbコンテナは複数のコンテナを起動設定を一元管理できるDocker Composeを利用して連携させます。 参考: 検証環境(WordPressのDocker環境)の構築手順 検証環境として利用するWordPressのDocker環境の構築方法について紹介します。 実際に手元でデータボリュームのバックアップ・リストアを確認したいという方は参考にしていただければと思います。 環境構築手順とはいっても、実質docker-compose.ymlを用意するだけですので準備は非常に完了です。 まずは作業用ディレクトリを作成と移動をします。 $ mkdir my_wordpress && cd $_ 作業ディレクトリ配下に以下のようなdocker-compose.ymlを作成してください。 do

                                • テクノロジー
                                • 2020/03/11 19:46
                                • Dockerのデータを永続化!Data Volume(データボリューム)の理解から始める環境構築入門 | Enjoy IT Life

                                  9 users

                                  nishinatoshiharu.com

                                  Dockerは簡単に環境の破棄・作成ができるのがメリットですが、一方でデータベースのように削除されると困る情報もあります。 そこで今回はコンテナが削除されてもコンテナ上で作成されたデータを保持し続ける方法(データの永続化)について紹介をしたいと思います。 以下のような疑問を持たれている方の参考になればと思います。 データの永続化とは?なぜ永続化が必要? データの永続化とは、Dockerコンテナ上で作成されたデータがコンテナ削除後も残り続けている状態のことをいいます。 データベースなど、コンテナを削除したときに一緒に削除されると困る情報に対してデータの永続化を行います。 では、データの永続化がされていないとどういったことが困るのでしょうか? 例としてデータベースの情報が永続化されていないDocker環境を紹介します。 Docker環境にデータベースを作成し、以下のようにレコードを作成したとし

                                  • テクノロジー
                                  • 2019/10/29 12:09
                                  • docker-composeで始める快適なRails開発環境構築とDocker詳細解説 | Enjoy IT Life

                                    7 users

                                    nishinatoshiharu.com

                                    アプリケーションをDocker化するにあたりdocker-composeという言葉を聞いたことがある方も多いと思います。 今回、docker-composeを利用してDockerでRailsアプリの開発環境の構築したので、docker-composeを利用したRailsアプリを作成する手順と、Dockerファイルやdocker-composeの解説もしたいと思います。 なお、Railsアプリで利用するDBはMySQLを想定しています。 作成したDockerファイルの解説 DockerファイルとはDockerコンテナの構成内容が記述されたファイルのことです。 Dockerファイルの内容をもとにDockerイメージの作成が行われ、Dockerコンテナというインスタンスを起動させることで利用できます。 今回作成した、Railsアプリを実行させるためのDockerファイルは以下のようになります。

                                    • テクノロジー
                                    • 2019/09/05 14:58
                                    • あとで読む
                                    • MacとHappy Hacking Keyboard Professional(HHKB)のUSキー配列の違いまとめ | Enjoy IT Life

                                      4 users

                                      nishinatoshiharu.com

                                      こんにちは。@nishina555です。 Happy Hacking Keyboard(以下、HHKB)は高級キーボードの中でもっとも有名なキーボードの1つです。 特に、IT業界においてはエンジニアであればほんどの人が知っているといっても過言ではないでしょう。 HHKBはコンパクトでスタイリッシュな形が特徴的ですが、形状以外にもキーボードの配列や機能が特殊という特徴もあります。 僕はMacBook Proを愛用していたのですが、先日HHKBに乗り換えをしました。 購入したのはHappy Hacking Keyboard Professional BT US配列というBlue toothで接続するタイプのものです。

                                      • テクノロジー
                                      • 2019/05/14 23:09
                                      • 値段が違う?1Password7の損しない購入方法と、インストール手順 | Enjoy IT Life

                                        3 users

                                        nishinatoshiharu.com

                                        こんにちは。@nishina555です。 1Password7はログインフォームの入力の手間を省き、パスワードも安全に保管してくれるオススメのアプリです。 ただ、1Password7のアプリ自体は非常に素晴らしいのですが、その購入方法が複雑で分かりにくいんですよね。 まず、1Password7にはサブスクリプション(月額・年額課金)とスタンドアロン(買い切り)の2種類のライセンスが存在しており、それぞれで購入方法が異なります。 サブスクリプションとスタンドアロンの違いについては『1Password7のライセンス、サブスクリプション(月額・年額課金)とスタンドアロン(買い切り)の違いは?』で紹介をしました。

                                        • 学び
                                        • 2018/12/24 07:52
                                        • 【WordPress】スマホで表(テーブル)が見切れる場合はスクロールとレスポンシブで対応しよう | Enjoy IT Life

                                          3 users

                                          nishinatoshiharu.com

                                          こんにちは。@nishina555です。 みなさんはブログで『表(テーブル)』を利用することはありますか? 表はわかりやすい記事を書くためにはなくてはならないものですし、実際自分も比較記事やスペック紹介記事などを書く時によく表を利用しています。 そんな便利な表ですが、パソコンで表示を確認していざブログを公開!でもスマホで見てみたら表が見切れてた!という経験はありませんか? 例えば、過去の記事で以下のような表を作成しました。 PCでみたときの表 プレビューもしっかり確認し、OKと思ったのですが、スマホで確認すると以下のように表が見切れていました。 スマホでみたときの表 今回は上記のようにスマホや幅の狭いブラウザで表が見切れてしまって困っているという人向けのCSSカスタマイズに関する記事です。 表がスマホで見切れないようにする対策方法として今回はレスポンシブ対応とスクロール機能の2つを紹介しま

                                          • テクノロジー
                                          • 2018/09/29 12:15

                                          このページはまだ
                                          ブックマークされていません

                                          このページを最初にブックマークしてみませんか?

                                          『Enjoy IT Life』の新着エントリーを見る

                                          キーボードショートカット一覧

                                          j次のブックマーク

                                          k前のブックマーク

                                          lあとで読む

                                          eコメント一覧を開く

                                          oページを開く

                                          はてなブックマーク

                                          • 総合
                                          • 一般
                                          • 世の中
                                          • 政治と経済
                                          • 暮らし
                                          • 学び
                                          • テクノロジー
                                          • エンタメ
                                          • アニメとゲーム
                                          • おもしろ
                                          • アプリ・拡張機能
                                          • 開発ブログ
                                          • ヘルプ
                                          • お問い合わせ
                                          • ガイドライン
                                          • 利用規約
                                          • プライバシーポリシー
                                          • 利用者情報の外部送信について
                                          • ガイドライン
                                          • 利用規約
                                          • プライバシーポリシー
                                          • 利用者情報の外部送信について

                                          公式Twitter

                                          • 公式アカウント
                                          • ホットエントリー

                                          はてなのサービス

                                          • はてなブログ
                                          • はてなブログPro
                                          • 人力検索はてな
                                          • はてなブログ タグ
                                          • はてなニュース
                                          • ソレドコ
                                          • App Storeからダウンロード
                                          • Google Playで手に入れよう
                                          Copyright © 2005-2025 Hatena. All Rights Reserved.
                                          設定を変更しましたx