SINKCAPITAL
SINKCAPITAL
company Blog
Ruby on Rails チュートリアル第5章をやってみて
techinternlearning

レイアウトを作成する

■第5章
この章では、アプリケーションにBootstrapフレームワークを組み込み、そして、カスタムスタイルを追加する。 また、これまで作成したページ (HomeやAboutなど) へのリンクをレイアウトに追加する。

5.1 構造を追加する

レイアウトにいくつかの構造とCSSを与えて、最小限のスタイルを追加する。カスタムCSSルールの他に、Twitter社によるオープンソースのWebデザインフレームワークとして公開しているBootstrapも利用する。

この章では、サイトロゴ、ナビゲーションヘッダー、サイトフッターを含む静的ページを開発する。

5.1.1 ナビゲーション

第一段階として、サイトのレイアウトファイルapplication.html.erbにHTML構造を追加し、レイアウトファイルを更新する。

サイトのロゴを表示するheader

<header class="navbar navbar-fixed-top navbar-inverse">
  <div class="container">
    <%= link_to "sample app", '#', id: "logo" %>
    <nav>
      <ul class="nav navbar-nav navbar-right">
        <li><%= link_to "Home",   '#' %></li>
        <li><%= link_to "Help",   '#' %></li>
        <li><%= link_to "Log in", '#' %></li>
      </ul>
    </nav>
  </div>
</header>

このheaderタグには、navbarnavbar-fixed-topnavbar-inverseという3つのCSSクラスがスペース区切りで与えられて、すべてのnavbarクラスには、Bootstrapフレームワークによって特別な意味が与えられる。

headerタグの内側にはdivタグがある。

<div class="container">

divタグは一般的な表示領域を表し、要素を別々のパーツに分けるときに使われる。

HTML5では元々divばかり使われていたが、header要素、nav要素、section要素が新たに使えるようになりました。

<%= link_to "sample app", '#', id: "logo" %>
<nav>
 <ul class="nav navbar-nav navbar-right">
   <li><%= link_to "Home",   '#' %></li>
   <li><%= link_to "Help",   '#' %></li>
   <li><%= link_to "Log in", '#' %></li>
 </ul>
</nav>

ダミーURLでは#が使われる。

divの内側の2番目の要素は、リストアイテムタグliと順不同リストタグulによって作られた、ナビゲーションリンクのリスト。 navタグには「その内側がナビゲーションリンクである」という意図を明示的に伝える役割がある。さらに、ulタグに付与されているnavnavbar-navnavbar-rightクラスもBootstrapにおいて特別な意味を持つ。

レイアウトの最後の部分は、メインコンテンツ用のdiv

<div class="container">
  <%= yield %>
</div>

上と同様、containerクラスもBootstrapにおいて特別な意味を持つ。yieldメソッドはWebサイトのレイアウトにページごとの内容を挿入する。

フッター以外のレイアウトは完成。

home.html.erbビューに特別な要素をいくつか追加。

<div class="center jumbotron">
  <h1>Welcome to the Sample App</h1>

  <h2>
    This is the home page for the
    <a href="https://railstutorial.jp/">Ruby on Rails Tutorial</a>
    sample application.
  </h2>

  <%= link_to "Sign up now!", '#', class: "btn btn-lg btn-primary" %>
</div>

<%= link_to image_tag("rails.png", alt: "Rails logo"),
            'http://rubyonrails.org/' %>

divタグのCSSクラスjumbotronや、signupボタンのbtnクラス、btn-lgクラス、btn-primaryクラスはすべて、Bootstrapにおいて特別な意味を持つ。

<%= link_to image_tag("rails.png", alt: "Rails logo"),
'http://rubyonrails.org/' %>

画像を表示するために、rails.pngというRailsのロゴ画像ファイルを加える。

$ curl -o app/assets/images/rails.png -OL railstutorial.jp/rails.png

うまくいきました。 screenshot2 スクリーンショット

5.1.2 BootstrapとカスタムCSS

Bootstrapを使うと、洗練されたWebデザインとユーザーインターフェイス要素を簡単にHTML5アプリケーションに追加することができる。

Gemfileにbootstrap-sassを追加する。

source 'https://rubygems.org'

gem 'rails',          '5.1.6'
gem 'bootstrap-sass', '3.3.7'
.

bundle installを実行して、Bootstrapをインストール。

カスタムCSSを作成

touch app/assets/stylesheets/custom.scss

Bootstrap CSSを追加。

@import "bootstrap-sprockets";
@import "bootstrap";

Bootstrap CSSのフレームワークを導入。

良い感じに。

スクリーンショット

その後もいろんなCSSを追加。段々洗練されていってきました。

5.1.3 パーシャル(partial)

パーシャルを使うとスッキリするっぽい。 application.html.erbに追加。

<!DOCTYPE html>
<html>
  <head>
    <title><%= full_title(yield(:title)) %></title>
    <%= csrf_meta_tags %>
    <%= stylesheet_link_tag    'application', media: 'all',
                               'data-turbolinks-track': 'reload' %>
    <%= javascript_include_tag 'application',
                               'data-turbolinks-track': 'reload' %>
    <%= render 'layouts/shim' %>
  </head>
  <body>
    <%= render 'layouts/header' %>
    <div class="container">
      <%= yield %>
    </div>
  </body>
</html>

パーシャル動作のために、それに対応するファイルとコンテンツを記述。

HTML shim用のパーシャル app/views/layouts/_shim.html.erb

 <!--[if lt IE 9]>
  <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/r29/html5.min.js">
  </script>
<![endif]-->

パーシャルでは、自動生成せずに、テキストエディタを使って手動で作成するのが一般的らしい。

header用のパーシャル app/views/layouts/_header.html.erb

<header class="navbar navbar-fixed-top navbar-inverse">
  <div class="container">
    <%= link_to "sample app", '#', id: "logo" %>
    <nav>
      <ul class="nav navbar-nav navbar-right">
        <li><%= link_to "Home",   '#' %></li>
        <li><%= link_to "Help",   '#' %></li>
        <li><%= link_to "Log in", '#' %></li>
      </ul>
    </nav>
  </div>
</header>

footer用のパーシャル app/views/layouts/_footer.html.erb

<footer class="footer">
  <small>
    The <a href="https://railstutorial.jp/">Ruby on Rails Tutorial</a>
    by <a href="http://www.michaelhartl.com/">Michael Hartl</a>
  </small>
  <nav>
    <ul>
      <li><%= link_to "About",   '#' %></li>
      <li><%= link_to "Contact", '#' %></li>
      <li><a href="http://news.railstutorial.org/">News</a></li>
    </ul>
  </nav>
</footer>

その後は他のファイルを色々いじる。

5.2 Sassとアセットパイプライン

このセクションでは、アセットパイプラインの概要と、素晴らしいCSS生成ツールである「Sass」の使い方について説明する。

5.2.1 アセットパイプライン

・アセットディレクトリ ・マニフェストファイル ・プリプロセッサエンジン の3つの主要な機能が理解の対象

アセットディレクトリ

アセットディレクトリは静的ファイルを目的別に分類する標準的な3つのディレクトリが使われる app/assets 固有 lib/assets チーム vendor/assets 第三者

それぞれにサブディレクトリがある。

マニフェストファイル

静的ファイル(アセット)のまとめ方をRailsに指示することができる。 Sprocketsというgemが実際にアセットをまとめる処理を行う。

マニフェストファイルはCSSとjavascriptには適用されても画像ファイルには適用されない。

application.cssの中身についての解説。

 *= require_tree .

app/assets/stylesheetsディレクトリ(サブディレクトリを含む)中のすべてのCSSファイルが、アプリケーションCSSに含まれるようにしている。

*= require_self

CSSの読み込みシーケンスの中で、application.css自身もその対象に含めている。

プリプロセッサエンジン

拡張子を基に処理の判断をしている。 CoffeeScriptはJavaScriptに直してくれる言語。

5.2.2 素晴らしい構文を備えたスタイルシート

Sassは、スタイルシートを記述するための言語であり、CSSに比べて多くの点が強化されている。 この節では、Sassが提供する2つの重要な機能、ネストと変数について説明する。

SassはSCSSというフォーマットに対応している。SCSSはCSSに新しい機能を追加した、CSS本体を抽象化したフォーマット。

ネスト

custom.cssを書き換え。

.center {
  text-align: center;
}

.center h1 {
  margin-bottom: 10px;
}

をSassを使ってこうする。

.center {
  text-align: center;
  h1 {
    margin-bottom: 10px;
  }
}

他の箇所も書き換え。

変数

Sassでは、冗長なコードを削除し、より自由な表現を可能にするために、変数が定義できるようになっている。

h2 {
  .
  .
  .
  color: #777;
}
.
.
.
footer {
  .
  .
  .
  color: #777;
}

同じ色を使ってる箇所が。変数として定義し、次のように変数名を与える。

$light-gray: #777;

色を与えた方がわかりやすい。

5.3 レイアウトのリンク

レイアウトが仕上がったので、#で代用していたリンクを書き換える。

<a href="/static_pages/about">About</a>

これでもいいが、Rails流ではない。aboutページへのURLは /static_pages/about よりも /about の方がよい。さらに、Railsでは次のようなコードでは名前付きルートを使うのが慣例となっている。

<%= link_to "About", about_path %>

about_pathの定義を変えればabout_pathが使われているすべてのURLを変更できるため、柔軟性が高くなる。

今後使うルーティングたち

ページ名URL名前付きルート
Home/root_path
About/about about_path
Help/helphelp_path
Contact/contactcontact_path
Sign up/signupsignup_path
Log in/loginlogin_path

5.3.1 Contactページ

contactは演習で追加済。

5.3.2 RailsのルートURL

Homeページのルーティングについて見直していく。

root_pathroot_urlの違い 前者はルートURL以下の文字列を、後者は完全なURLの文字列を返す。

root_path->'/'
root_url -> 'http://www.example.com/'

routes.rbの回りくどい書き方を変える。

get 'static_pages/help'
get  '/help', to: 'static_pages#help'

getルールを使って変更すると、GETリクエストが /help に送信されたときにStaticPagesコントローラーのhelpアクションを呼び出してくれるようになる。

他のも同じような感じで書き換え。

5.3.3 名前付きルート

各URLを作成したので、

<%= link_to "About", '#' %>

を次のように変更していく

<%= link_to "About", about_path %>

headerとfooterパーシャルにリンクを追加するとaboutページが表示されました。

スクリーンショット

5.3.4 リンクのテスト

いくつかのリンクを埋めることができたため、これらのリンクが正しく動いているかどうかをチェックするテストを書く。 それぞれのリンクをクリックして確かめることもできるが、毎回そのような作業を繰り返していくのは大きな負担。 統合テスト(Integration Test)を使って一連の作業を自動化する。

コマンドを実行

rails generate integration_test site_layout
      invoke  test_unit
      create    test/integration/site_layout_test.rb

このとき、Railsは渡されたファイル名の末尾にtestという文字列を追加する。

今回は、アプリケーションのHTML構造を調べて、レイアウトの各リンクが正しく動くかどうかのチェックが目的。つまり、

1.ルートURL (Homeページ) にGETリクエストを送る。 2.正しいページテンプレートが描画されているかどうか確かめる。 3.Home、Help、About、Contactの各ページへのリンクが正しく動くか確かめる。

assert_select "a[href=?]", about_path

上のコードでは、Railsは自動的にはてなマーク "?" をabout_pathに置換している。これにより、次のようなHTMLがあるかどうかをチェックすることができる。

<a href="/about">...</a>

これは、rootのリンクが2つあることを表す。

assert_select "a[href=?]", root_path, count: 2

assert_selectは柔軟で、多くのオプションがある。

5.4 ユーザー登録: 最初のステップ

レイアウトとルーティングの取り組みにおける頂点として、ユーザー登録ページへのルーティングを作成する。

5.4.1 Usersコントローラ

Usersコントローラを作成する。generate controllerの引数にnewを渡して、自動的にアクションを作成する

$ rails generate controller Users new

app/controllers/users_controller.rb app/views/users/new.html.erb test/controllers/users_controller_test.rb ができた。

5.4.2 ユーザー登録用URL

新規ユーザー用の動作するページが/users/newにできた。URLは/users/newではなく/signupにしたいので色々書き換え。

感想

HTMLやCSSはほぼ未経験なので、何言ってるかわかんねーみたいなとこは多かったですけど、それでも無事進めれられてよかったです。 Webアプリケーションが自分の手でどんどん出来上がっていくのが楽しいですね。

BQにおけるSQL検算を効率化する無料chrome拡張機能をリリースいたしました
櫻井 裕司
2022/09/01 櫻井 裕司
tech
BigQueryのjoin句を含むstandardSQLを入力することで、join前後でのレコード数の変化を返すSQLを自動でクリップボードにコピーする無料chrome拡張機能をリリースいたしました。
社内ドキュメントにNotionを導入して感じた事
櫻井 裕司
2022/04/02 櫻井 裕司
tech
社内ドキュメントをNotionに寄せることで見えてきたメリット・デメリットをまとめていきたいと思います。また使う中で感じたいくつかの要望もまとめていこうと思います。
「BIツール」活用 超入門 Google Data Portalではじめるデータ集計・分析・可視化 第3章 BIツールに関する知識をつける
白井 透
2022/03/31 白井 透
techinternlearning
【「BIツール」活用 超入門 Google Data Portalではじめるデータ集計・分析・可視化 第3章】現在長期インターンをさせてもらっているSinkCapitalさんの方で、データ系の業務に携わることになりそうなのですが、それの準備期間として紹介していただいた本をまとめていきたいと思います。
「BIツール」活用 超入門 Google Data Portalではじめるデータ集計・分析・可視化 第2章 さまざまな分析をしてみよう
白井 透
2022/03/30 白井 透
techinternlearning
【「BIツール」活用 超入門 Google Data Portalではじめるデータ集計・分析・可視化 第2章】現在長期インターンをさせてもらっているSinkCapitalさんの方で、データ系の業務に携わることになりそうなのですが、それの準備期間として紹介していただいた本をまとめていきたいと思います。
「BIツール」活用 超入門 Google Data Portalではじめるデータ集計・分析・可視化 第1章 分析ダッシュボードを作ってみよう
白井 透
2022/03/29 白井 透
techinternlearning
【「BIツール」活用 超入門 Google Data Portalではじめるデータ集計・分析・可視化 第1章】現在長期インターンをさせてもらっているSinkCapitalさんの方で、データ系の業務に携わることになりそうなのですが、それの準備期間として紹介していただいた本をまとめていきたいと思います。
Ruby on Rails チュートリアル第14章をやってみて & まとめ
白井 透
2022/02/20 白井 透
techinternlearning
【Ruby on rails 第14章】インターン先の方から、「これやっとけば、だいぶいい感じだよ!」と言われたので、Ruby on railsのチュートリアルをやってみたいと思います。
Ruby on Rails チュートリアル第13章をやってみて
白井 透
2022/02/20 白井 透
techinternlearning
【Ruby on rails 第13章】インターン先の方から、「これやっとけば、だいぶいい感じだよ!」と言われたので、Ruby on railsのチュートリアルをやってみたいと思います。
Ruby on Rails チュートリアル第12章をやってみて
白井 透
2022/02/19 白井 透
techinternlearning
【Ruby on rails 第12章】インターン先の方から、「これやっとけば、だいぶいい感じだよ!」と言われたので、Ruby on railsのチュートリアルをやってみたいと思います。
Ruby on Rails チュートリアル第11章をやってみて
白井 透
2022/02/19 白井 透
techinternlearning
【Ruby on rails 第11章】インターン先の方から、「これやっとけば、だいぶいい感じだよ!」と言われたので、Ruby on railsのチュートリアルをやってみたいと思います。
Ruby on Rails チュートリアル第10章をやってみて
白井 透
2022/02/18 白井 透
techinternlearning
【Ruby on rails 第10章】インターン先の方から、「これやっとけば、だいぶいい感じだよ!」と言われたので、Ruby on railsのチュートリアルをやってみたいと思います。
Ruby on Rails チュートリアル第9章をやってみて
白井 透
2022/02/16 白井 透
techinternlearning
【Ruby on rails 第9章】インターン先の方から、「これやっとけば、だいぶいい感じだよ!」と言われたので、Ruby on railsのチュートリアルをやってみたいと思います。
Ruby on Rails チュートリアル第8章をやってみて
白井 透
2022/02/14 白井 透
techinternlearning
【Ruby on rails 第8章】インターン先の方から、「これやっとけば、だいぶいい感じだよ!」と言われたので、Ruby on railsのチュートリアルをやってみたいと思います。
Ruby on Rails チュートリアル第7章をやってみて
白井 透
2022/02/14 白井 透
techinternlearning
【Ruby on rails 第7章】インターン先の方から、「これやっとけば、だいぶいい感じだよ!」と言われたので、Ruby on railsのチュートリアルをやってみたいと思います。
Ruby on Rails チュートリアル第6章をやってみて
白井 透
2022/02/13 白井 透
techinternlearning
【Ruby on rails 第6章】インターン先の方から、「これやっとけば、だいぶいい感じだよ!」と言われたので、Ruby on railsのチュートリアルをやってみたいと思います。
Ruby on Rails チュートリアル第4章をやってみて
白井 透
2022/02/11 白井 透
techinternlearning
【Ruby on rails 第4章】インターン先の方から、「これやっとけば、だいぶいい感じだよ!」と言われたので、Ruby on railsのチュートリアルをやってみたいと思います。
Ruby on Rails チュートリアル第3章をやってみて
白井 透
2022/02/08 白井 透
techinternlearning
【Ruby on rails 第3章】インターン先の方から、「これやっとけば、だいぶいい感じだよ!」と言われたので、Ruby on railsのチュートリアルをやってみたいと思います。
Ruby on Rails チュートリアル第2章をやってみて
白井 透
2022/02/07 白井 透
techinternlearning
【Ruby on rails 第2章】インターン先の方から、「これやっとけば、だいぶいい感じだよ!」と言われたので、Ruby on railsのチュートリアルをやってみたいと思います。
Ruby on Rails チュートリアル第1章をやってみて & 自己紹介
白井 透
2022/02/07 白井 透
techinternlearningpersonal
【Ruby on rails 第1章】インターン先の方から、「これやっとけば、だいぶいい感じだよ!」と言われたので、Ruby on railsのチュートリアルをやってみたいと思います。
Nuxt上でのd3を利用した散布図の作成方法
櫻井 裕司
2021/10/29 櫻井 裕司
techdataAnalytics
クリック可能な散布図をNuxtjs上で作成する場合にd3.jsが汎用性が高く便利でした。利用するにあたって難しかった点などを備考録としてまとめています。
アクセスログを可視化しGAのデータを直感的に理解できる型態にする試み(ネットワーク型)
櫻井 裕司
2021/09/05 櫻井 裕司
techdataAnalytics
ビジネスに活きる分析を進める上で弊社では「理解できる」ことを重要と考えており、特に直感的理解は可視化を進める上で特に重要だと考える内容の一つです。弊社では様々なお客様のデータ分析を進める上で常により示唆の大きい可視化を追求しており、今回はその中で最近試みているネットワーク側の可視化についてまとめたいと思います。
代表櫻井による特別講演会が白陵高等学校で開かれました
櫻井 裕司
2021/07/31 櫻井 裕司
eventpersonal
2021年の夏に兵庫県の私立白陵高等学校において、代表櫻井による特別講演会を開催いたしました。今振り返って高校の頃の自分に伝えたいことについてお話しました。
Nuxtで動的ページを随時追加する場合にNot Foundとなる
櫻井 裕司
2021/05/31 櫻井 裕司
tech
Nuxtで動的ページを登録する方法はありますが、登録後に随時コンテンツが追加される際はNot Foundとなってしまうので、そう言った際の対処方法について
GKEをやめてCloud Runを始めてみました
櫻井 裕司
2021/04/19 櫻井 裕司
tech
firebaseで構築したシステムの裏で動かすバッチの負荷が大きく、cloud functionsで終わらなかったためCloud Runを利用してみました。動作確認までの知見等を雑多にまとめてみました。
AWSをやめてfirebaseを使い始めて感じたメリットやデメリットとそれの対応策(LT登壇内容)
櫻井 裕司
2021/03/26 櫻井 裕司
techeventpersonal
みそかつウェブ・GDG Nagoya主催の「around firebase」とCloud Native Nagoya主演の「Cloud Native Nagoya」にてfirebaseのLTをさせていただきました。そこで会話させていただいたfirebaseを使い始めて感じたメリット・デメリットについてまとめています。
PWA+SPAのwebアプリ作成にnuxtjs+firebaseがめちゃ便利だった
櫻井 裕司
2021/01/16 櫻井 裕司
tech
PWA+SPAのwebアプリを作る際にnuxt.js+firebaseを合わせて利用すると便利だったので知見を書き留めています
s3のhostingでPWAを導入する方法
櫻井 裕司
2020/12/19 櫻井 裕司
tech
アプリ作成時にpwaが比較されることが多かったですが、実際にpwaを実装した経験がなかったため今回自社サイトをPWA化してみました。
dockerでseleniumを動かしてみる(chrome_headless)
櫻井 裕司
2020/12/06 櫻井 裕司
tech
seleniumの相談をいただくことが増えたため、seleniumの勉強もかねてdockerでの実行テストを行いました
THE DECKのイベントにお邪魔させていただきました
本林 秀和
2020/12/05 本林 秀和
eventpersonal
大学コンソーシアム大阪のイベント@The DECK にお邪魔してきました
flutter(dart)を触ってみた感想
櫻井 裕司
2020/11/18 櫻井 裕司
tech
android向けアプリへの対応も考慮してflutter(dart)を触ってみたので、感想をまとめておこうと思います。理解が深まっていく中で定期的にまとめていければと思います。
代表本林による特別講演会が滝高校で開かれました
本林 秀和
2020/11/07 本林 秀和
eventpersonal
2020年11月7日(土)愛知県の私立滝高校において、代表本林による特別講演会を開催いたしました。IT業界やデータサイエンスについてお話しました。
AWS・GCPを選ぶ際の観点
櫻井 裕司
2020/10/28 櫻井 裕司
tech
AWSかGCPを選ぶ際の観点について書き留めておこうと思います
CloudFormationとterraformの比較
櫻井 裕司
2020/10/04 櫻井 裕司
tech
AWS CloudFormationとterraformの両方を使ってみて感じた違いをまとめてみました。
iosのcallkit周りでできること
櫻井 裕司
2020/08/24 櫻井 裕司
tech
新規事業を検討する上でios(swift)の電話周りでできることを調査したため、調査結果をブログとして残しています。
【個人ブログ】CTOの株運用ブログ_順調な滑り出し
櫻井 裕司
2020/07/19 櫻井 裕司
personalstock
長年放置してた株に少し手を出してみました。自分なりに少し情報整理と分析と予想をしたので記事にしてみます。
総務省特定サービス産業実態調査のデータ分析
櫻井 裕司
2020/07/18 櫻井 裕司
techdataAnalytics
総務省がAPIで市場データを公開しており、分析技術向上と市場感を養うことを目的に定期的に分析を行なっていこうと思います。今回は「特定サービス産業実態調査」について見ていこうと思います。
「お絵かきつみ木バトル」をリリースしました
櫻井 裕司
2020/07/12 櫻井 裕司
techapp
タスク管理を二次元的に行うアプリ「お絵かきつみ木バトル」をリリースしました。SinkCapitalはデータコンサルですが、知見蓄積のため様々な媒体での実験的開発を行っています
総務省工業統計調査のデータ分析
櫻井 裕司
2020/07/11 櫻井 裕司
techdataAnalytics
総務省がAPIで市場データを公開しており、分析技術向上と市場感を養うことを目的に定期的に分析を行なっていこうと思います。今回は「工業統計調査」について見ていこうと思います。
総務省サービス産業動向調査のデータ分析
櫻井 裕司
2020/07/08 櫻井 裕司
techdataAnalytics
総務省がAPIで市場データを公開しており、分析技術向上と市場感を養うことを目的に定期的に分析を行なっていこうと思います。初回は「サービス産業動向調査」について見ていこうと思います。
【個人ブログ】CTOが個人的に株をはじめました
櫻井 裕司
2020/07/08 櫻井 裕司
personalstock
長年放置してた株に少し手を出してみました。自分なりに少し情報整理と分析と予想をしたので記事にしてみます。
タスク管理アプリ「タスククロス」をリリースしました
櫻井 裕司
2020/04/08 櫻井 裕司
techapp
タスク管理を二次元的に行うアプリ「タスククロス」をリリースしました。SinkCapitalはデータコンサルですが、知見蓄積のため様々な媒体での実験的開発を行っています
【terraform】gcpでcicd環境を構築する方法
櫻井 裕司
2020/01/04 櫻井 裕司
tech
企業サイトはAWSを利用しているのですが、要件によってはGCPの方が適している場合もあるため、GCPでのcicd構築も行いました。AWSと比較しつつ説明しているため是非ご参考にしてみてください。
【合格体験記】GCP_Cloud_Archtectに受かりました
櫻井 裕司
2019/12/23 櫻井 裕司
personalqualification
Google Professional Cloud Architectに合格したので、勉強法別のコスパをまとめてみました。
AWSでサブドメインなし(wwwなし)からサブドメインあり(wwwあり)へのリダイレクト設定
櫻井 裕司
2019/12/23 櫻井 裕司
tech
もともと企業サイトがサブドメインありで公開していたが、サブドメインなしでもエラーなく接続できるように設計。terraformで作成しているので是非ご参考ください。
マークダウンで記事を書けるようにしてみた
櫻井 裕司
2019/12/16 櫻井 裕司
tech
ホームページのブログをマークダウンを使用してかけるようにしました。gatsbyなどもありますが、今回はお手製cicd+pythonを使用してライトに作成しました。
Copyright © SinkCapital 2022
一緒に働きたい方はこちら