プログラミング初心者を応援するブログ – はやぶさエンジニア https://hayaengineer.com プログラミング初心者を応援するブログ Sat, 24 Feb 2024 08:16:15 +0000 ja hourly 1 https://wordpress.org/?v=5.6 https://hayaengineer.com/wp-content/uploads/2019/11/c13407b089ddce3ae432e62b56f0236c-100x100.png プログラミング初心者を応援するブログ – はやぶさエンジニア https://hayaengineer.com 32 32 【Bigquery】LAGとLEAD関数で前後のデータを取得しよう https://hayaengineer.com/%e3%82%af%e3%83%a9%e3%82%a6%e3%83%89%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9/gcp/bigquery/%e3%80%90bigquery%e3%80%91lag%e3%81%a8lead%e9%96%a2%e6%95%b0%e3%81%a7%e5%89%8d%e5%be%8c%e3%81%ae%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e5%8f%96%e5%be%97%e3%81%97%e3%82%88%e3%81%86/ Sat, 11 Dec 2021 08:44:58 +0000 https://hayaengineer.com/?p=10393 Copyright © 2024 はやぶさエンジニア All Rights Reserved.

]]>
★本記事は5分で読み終えることができます。

【本記事の信頼性】
現役エンジニアである筆者がBigqueryのLAG、LEAD関数について解説しています。

未経験くん
Bigqueryで1つ前のデータを取得したいんだけどどうやるの?
前後の行とデータを比較したい!!
未経験ちゃん

このような悩みを解説するための記事になります。

痒い所に手が届く「LAG」「LEAD」関数について、超シンプルな例と共に解説していきます!

こんな方におすすめ

  • LAG、LEAD関数の使い方を知りたい方
  • 前、後ろのデータを取得したい方

LAG関数で前の行を抽出する

超シンプルな例で解説していきます。

体育の授業の田中くんの「日付と50m走のタイム」のデータがあるとします。
「前日のタイムより今日がどれだけ速くなったか」を知りたい時について考えます。

日付タイム
2021-12-10田中10.2
2021-12-11田中9.0
2021-12-12田中8.2
「日付と50m走のタイム」のテーブル

欲しい最終結果は以下です。

日付タイム前日のタイム2日前のタイム
2021-12-10田中10.2nullnull
2021-12-11田中9.010.2null
2021-12-12田中8.29.010.2

では、早速コードを見ていきましょう。公式リファレンスはこちら

LAG関数の注意点

・LAG(取得したいカラム, 何行前のデータか)を指定する
・「ORDER BY」で並べる順番を指定するのは必須
・「PARTITION BY」で区切りたい場合は指定する(必須ではない

  LAG (タイム, 1) OVER (PARTITION BY 人 ORDER BY 日付) AS 前日のタイム

欲しい結果を取得するコードは以下のようになります。

SELECT
  日付,
  人,
  タイム,
  LAG (タイム, 1) OVER (ORDER BY 日付) AS 前日のタイム,
  LAG (タイム, 2) OVER (ORDER BY 日付) AS 2日前のタイム
FROM
  `日付と50m走のタイム`;

では、複数人のデータの場合に、人ごとに前日のデータが欲しい時にはどうすれば良いでしょうか?

日付タイム
2021-12-10田中10.2
2021-12-11田中9.0
2021-12-12田中8.2
2021-12-10佐藤11
2021-12-11佐藤9.4
2021-12-12佐藤8.8

欲しい最終結果は以下です。

日付タイム前日のタイム2日前のタイム
2021-12-10田中10.2nullnull
2021-12-11田中9.010.2null
2021-12-12田中8.29.010.2
2021-12-10佐藤11nullnull
2021-12-11佐藤9.411null
2021-12-12佐藤8.89.411

こういった場合は分けたいカラムを「PARTTION BY」で指定してあげます。

SELECT
  日付,
  人,
  タイム,
  LAG (タイム, 1) OVER (PARTITION BY 人 ORDER BY 日付) AS 前日のタイム,
  LAG (タイム, 2) OVER (PARTITION BY 人 ORDER BY 日付) AS 2日前のタイム
FROM
  `日付と50m走のタイム`;

LEAD関数で後ろの行を抽出する

LAGと書き方は同じで、LAGをLEADにするだけなので詳細は省きます。

日付タイム次の日のタイム2日後のタイム
2021-12-10田中10.29.08.2
2021-12-11田中9.08.2null
2021-12-12田中8.2nullnull
SELECT
  日付,
  人,
  タイム,
  LEAD (タイム, 1) OVER (ORDER BY 日付) AS 次の日のタイム
  LEAD (タイム, 2) OVER (ORDER BY 日付) AS 次の日のタイム
FROM
  `日付と50m走のタイム`;

まとめ

いかがだったでしょうか。

SQLには痒いところに手が届く関数が実装されています。
知っているかどうかで大きく作業効率が変わりますね!!

どんどん調べて活用していきましょう!!

Copyright © 2024 はやぶさエンジニア All Rights Reserved.

]]>
【Web制作】Emmetを駆使してコーディングスピードをあげよう! https://hayaengineer.com/web%e5%88%b6%e4%bd%9c-%e9%96%8b%e7%99%ba/web%e3%82%b5%e3%82%a4%e3%83%88%e5%88%b6%e4%bd%9c/%e3%80%90web%e5%88%b6%e4%bd%9c%e3%80%91emmet%e3%82%92%e9%a7%86%e4%bd%bf%e3%81%97%e3%81%a6%e3%82%b3%e3%83%bc%e3%83%87%e3%82%a3%e3%83%b3%e3%82%b0%e3%82%b9%e3%83%94%e3%83%bc%e3%83%89%e3%82%92%e3%81%82/ Sat, 04 Dec 2021 06:36:47 +0000 https://hayaengineer.com/?p=10369 Copyright © 2024 はやぶさエンジニア All Rights Reserved.

]]>
★本記事は5分で読み終えることができます。

【本記事の信頼性】
現役エンジニアである筆者がコーディング補完機能であるEmmetの使い方を解説しています。

未経験くん
HTMLやCSSを速くコーディングできるようになりたい!
Web制作を効率よく作業する方法ないかな。 
未経験ちゃん

このような願望・悩みを解説するための記事になります。
エディターに標準搭載されているEmmetを利用すれば、大幅にコーディング時間を削減することができます。

また、よく使う「リスト構造」「表」「画像」などはいつも同じコードなので、Emmetで何を入力すれば最短か覚えてしまう・体に染み込ませてしまいましょう!

こんな方におすすめ

  • Web制作初心者でEmmetの使い方を知らない方
  • Emmetのリファレンスが欲しい方

Emmet(HTML編)

HTMLの雛形

HTML全体の雛形を作成できるEmmetです。

「!」を入力してTabボタンを押すと上の画像のような<html></html>の基礎構文が補完されます。

クラス名やID名

確実にマスターしたいのがこのEmmetですね。

「クラス」には「.〇〇」、「ID」には「#〇〇」で指定してあげます。

入力(クラス名「hoge」を指定)
div.hoge

Tabを押すと
<div class="hoge"></div>
入力(id名「hoge」を指定)
div#hoge

Tabを押すと
<div id="hoge"></div>

入れ子(ネスト)した要素

ある要素の中に要素がある階層構造のことを、「入れ子やネスト構造」と言います。

要素をネストさせるには「>」で記述します。

入力
div>a

Tabを押すと
<div><a href=""></a></div>

※aタグなど一部のタグにはデフォルトでhrefなどの属性値が入っています。

同じ要素を繰り返す(*)

「*」を繰り返したい回数を入力することで指定した回数だけ要素が繰り返されます。

入力
div*3

Tabを押すと
<div></div>
<div></div>
<div></div>

「繰り返し」と「ネスト」を合わせる

もちろん、ここまでに紹介した記法は組み合わせることもできます。

入力
div*3>a

Tabを押すと
<div><a href=""></a></div>
<div><a href=""></a></div>
<div><a href=""></a></div>

入力
div>a*3

Tabを押すと
<div>
  <a href=""></a>
  <a href=""></a>
  <a href=""></a>
</div>

兄弟要素にする(+)

兄弟要素にするには「+」でつなげてやります。

入力
div+p

Tabを押すと
<div></div>
<p></p>

連番(インデックス)を振る($)

クラス名などで連番を指定したいときは、「$」を使うと連番を振ることができます。

リストなどで重宝するEmmetです^^

入力
ul>li.item-$*3

Tabを押すと
<ul>
<li class="item-1"></li>
<li class="item-2"></li>
<li class="item-3"></li>
</ul>

属性を付与する([])

IDやクラス以外の属性を使いたい場合は、「[]」内に属性を入力します。

入力
img[title="sample" alt="image"]

Tabを押すと
<img src="" alt="image" title="sample">

要素にテキストを入れる({})

要素にテキストを入れたい場合は、「{}」を使います。

入力
a{リンク}

Tabを押すと
<a href="">リンク</a>

Emmet(CSS編)

CSSのEmmetは、不規則な部分もあり完璧に覚えるのは困難です。
まずは頭文字で補完できるEmmetからマスターしていきましょう。

まずは、1つの単語で表されるプロパティですが、基本的には頭文字で記述できます。

一部ですが例を示します。

Emmet展開後
ddisplay:block;
wwidth:;
mmargin: ;
ccolor: #000;
zz-index: ;

また、2つの単語の場合は、それぞれの頭文字で記述できます。

Emmet展開後
fffont-family: ;
tatext-align: ;
tdtext-decoration: none;
ccolor: #000;
zz-index: ;

プロパティの指定と同時に数字を記述すると、デフォルトでpx単位で数値をしてできます。

入力
d+fw:b+w100+m30-a+c#5+bdb++z10!


Tabを押すと
display:block;
font-weight:bold;
width:100px;
margin:30px auto;
color:#555;
border-bottom:1px solid #000;
z-index:10 !important;

まとめ

今回はWeb制作で必須となるEmmetの使い方を解説しました。

初心者の方は、HTML、CSSの構造を理解したら是非取り組んで見てください。コーディング効率がグッと上がりますよ!!

Copyright © 2024 はやぶさエンジニア All Rights Reserved.

]]>
【Bigquery】ビュー(View)の使い方やメリットとは?現役エンジニアが解説! https://hayaengineer.com/%e3%82%af%e3%83%a9%e3%82%a6%e3%83%89%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9/gcp/bigquery/%e3%80%90bigquery%e3%80%91%e3%83%93%e3%83%a5%e3%83%bc%ef%bc%88view%ef%bc%89%e3%81%ae%e4%bd%bf%e3%81%84%e6%96%b9%e3%82%84%e3%83%a1%e3%83%aa%e3%83%83%e3%83%88%e3%81%a8%e3%81%af%ef%bc%9f%e7%8f%be/ Sat, 28 Aug 2021 01:50:29 +0000 https://hayaengineer.com/?p=9663 Copyright © 2024 はやぶさエンジニア All Rights Reserved.

]]>
★本記事は5分で読み終えることができます。

【本記事の信頼性】
Bigqueryを仕事で活用している現役エンジニアである筆者が「ビュー」の使い方について解説しています。

こんな方におすすめ

  • Bigqueryのビューってどうやって使うの?
  • Bigqueryの計算量を抑えたい・処理時間を短くしたい
未経験くん
ビューはどうやって使うの?
Bigqueryの計算量を減らす方法は何かないかな?
未経験ちゃん

このような悩みを解説するための記事になります。
Bigqueryのビューと言う機能を使うと時間やコストを削減することができます。

本記事ではビューとは何かから、メリット・デメリット、使い方までを解説しているので是非参考にしてみてください!!

ビュー(View)とは

「そもそもビューって何?」から解説していきます。

Bigqueryには2種類のビュー(一般的なビュー、マテリアライズドビュー)が提供されています。
クエリを記述することで元となるテーブルから必要なデータだけを取り出した「テーブルのようなもの=ビュー」を作ることができます。

定期的に実行するクエリで、仮のテーブルを作るイメージです。
繰り返し使うクエリがある時に活躍するのがビューと言うことですね^ ^

ビュー(View)とは

テーブルのように実体を持たず、仮想的なテーブル形式のデータを作り出せる機能。
ビューに対するクエリは実際にはビューを構成するテーブルに対するクエリに分解され、実行され、結果が返されます。

マテリアライズドビュー(Materialized View)とは

テーブルのように実体を持つビュー。
実体を持つため、マテリアライズドビューに対するクエリは実際にマテリアライズドビューの実体に対して実行され、結果を返すため、非常に高速に結果が得られます

実態を持つか持たないかの違いで基本的なメリットやデメリットは似ています。

料金体系や特徴が少し異なるので注意が必要です。

ビュー(View)のメリット・デメリット

ビューと使うことによるメリット・デメリットについて解説していきます。

ビューを使うメリット

  • ブラウザのコンソール上からクエリを保存できる
  • 保存したビューはテーブルと同様に扱うことが可能で、都度クエリを書く手間が省ける
  • ビューに実体はないため、ストレージ保管料の課金がない
  • クエリを書き換えるだけでビューのデータを変更できる(データを直接書き換える必要がない)

毎日、毎月定期実行するようなクエリをビューとして保存して使うのが一般的です。

BIツールに描画するためのデータ加工クエリなどがまさにビューの出番ですね^ ^

ビューを使うデメリット

  • ビューを利用する度に、ビューを作成した元のクエリが実行されるため、計算量が多いクエリのビューは処理に時間がかかる。
  • 同様に、都度クエリが走るためオンデマンドのクエリ料金がかかる。

ビューを利用する度に「時間」と「お金」がかかってくると覚えておきましょう!

ビューの作成方法(Webブラウザ経由)

では、ビューの作成手順を見ていきましょう。

今回は一般公開されているコロナのデータ「covid19_vaccination_search_insights」を利用します。

以下のクエリをWebコンソールに記述したとします。

SELECT
  date,
  country_region
FROM
  `bigquery-public-data.covid19_vaccination_search_insights.covid19_vaccination_search_insights`
WHERE
  DATE(_PARTITIONTIME) = "2021-08-28"
LIMIT
  1000

以下の画像のように、「保存」から「ビューを保存」で、クエリをビューとして保存します。

保存画面に、自分が命名したい任意のデータセット名と、テーブル名を入力して保存を選択します。

そうすると、入力したテーブル名でビューが作成されます。(今回はtestデータセットにtestというテーブルを作成しました)

ビューのフィールド名は実行したクエリで出力したカラムが並んでいます。

ビューの作成方法(クエリで直接)

クエリ内に以下を記述することでビューを作成することができます。
ボタンを押して、名前を付ける手間がなくなるので非常に便利です。

create viewを書くだけですね^ ^

CREATE (MATERIALIZED) VIEW `project-id.dataset.table` AS # マテリアライズドの場合はMATERIALIZEDを追加するだけ
SELECT
  date,
  country_region
FROM
  `bigquery-public-data.covid19_vaccination_search_insights.covid19_vaccination_search_insights`
WHERE
  DATE(_PARTITIONTIME) = "2021-08-28"
LIMIT
  1000

viewの更新方法

作成したビューは「詳細タブ」の「クエリを編集」からクエリを変更することができます。

viewの料金

viewの料金は、viewを作成した際のもととなるクエリの料金分、実行のたびに料金がかかります。

単価の高いクエリをviewとして登録すると想定以上に料金がかかることがあるので注意が必要です。

クエリに必要な計算量は、以下のように右上に表示されます。
1TBで600円程度と考えて概算するようにしましょう。

Materialized Viewとは

Materialized View(マテリアライズド ビュー)とは、キャッシュを備えたviewで、2020年4月にベータリリースされました。

利点は公式ドキュメントを参照すると以下になります。

・集計関数を含むクエリの実行時間の短縮とコストの低減。最大のメリットが得られるのは、クエリの計算コストが高く、返されるデータセットが小さい場合です。

・BigQuery による自動的かつ透過的な最適化。オプティマイザーは、可能であればマテリアライズド ビューを使用してクエリ実行プランを改善します。この最適化のおかげで、クエリを変更する必要はありません。

・BigQuery テーブルと同じ復元力と高可用性。

参照:マテリアライズドビューの概要

まとめ

本記事ではBigQueryのビューについて、

  • viewの概要
  • viewの作成方法、更新方法

について解説しました。

ビューは使いこなすとクエリの作成の手間が大幅に削減できます。是非活用してみてください!

Copyright © 2024 はやぶさエンジニア All Rights Reserved.

]]>
【決定版】AIの作り方を初心者にもわかるように徹底解説!勉強方法も合わせて紹介 https://hayaengineer.com/%e3%83%87%e3%83%bc%e3%82%bf%e3%82%b5%e3%82%a4%e3%82%a8%e3%83%b3%e3%82%b9/ai-make/ Thu, 12 Aug 2021 00:00:00 +0000 https://hayaengineer.com/?p=9542 Copyright © 2024 はやぶさエンジニア All Rights Reserved.

]]>
未経験くん
AIのことをよくわかってないけど初心者でもAIって作れるの?
未経験ちゃん
自分でもAIを作ってみたいけどどうしたらいいかわからない

今回はこういう疑問に対して答えていこうと思います。

AIの勉強は奥深く、完全にマスターしようと思えば膨大な時間を費やす必要があります。

しかし、AIを作ると言うことにだけ焦点を当てれば、難しいものではありません。

なぜなら、AIを作るためのパッケージが多く提供されているからです。

決してサクッと作れるとは言いませんが、それでも簡単なプログラミングができれば基礎的なAIは作ることができます

本記事ではAIを作るために必要な初歩的なスキル、AIの作り方、そしてどう勉強していけば良いのかを紹介していきます。

本記事のポイントは以下の通りです。

本記事のポイント

  • データサイエンティストである私が最低限AIを作るのに必要なスキルを紹介します。
  • 初心者がAIを作るにはステップがあるのかを一から解説します。
  • 今後AIを詳しくなるためにどういった勉強すれば良いのかといったことを最後にお話しいたします。

それでは、解説に入っていきます。

AIとは?

並んだ工場のタンク

AI(artificial intelligence)は、日本語で表すと人工知能となります。

つまり、人工的に作られた知能であるといえます。

AIについては様々な定義がなされており、例えば、ドラえもんのような自律的に思考し行動することができるものを指す場合もあります。

また人工的に作られたシステムをAIと定義する場合もあります。

今回は、現状IT業界でAIと呼ばれているものに合わせるために、AIについて知的に振る舞う特定のシステムと定義した上で解説していこうと思います。

そのためドラえもんのように多くのことができるものをAIと呼ぶのではなく、ある特定の動作に特化したシステムを作るにはどうしたら良いのかを解説していきます。

具体例を上げると、特定の画像を見てそれが犬であるのか猫であるのかというのを判断するシステムや、 過去見た映画からお勧めの映画をレコメンドするシステムなどです。

AIを作成するために必要なスキル

ジェンガでブロックを抜く女性

AIを作成するために必要なスキルは以下の3つです。

AIを作成するために必要なスキル

  • プログラミング
  • 数学
  • データ収集

プログラミング

1つ目のプログラミングは、文字通りAIを動かすためのプログラムを書くスキルです。

こちらはイメージしやすい方も多いかと思います。

AIもプログラミングの一種である以上、プログラミングコードの積み重ねによって作られるものになります。

そのため、AIを作成するためにはプログラムを書くスキルが必要となります。

1番学ぶべき言語は、Pythonです。

特殊な場合を除き、基本的にAIのプログラムはPythonによって書かれます。

そのため、AIを作りたいと思っている人はPythonをマスターしましょう。

数学

2つ目の数学は、AIを理解するためのスキルです。

簡単なAIを作るだけであれば、数学の知識はほとんど必要ありません。

しかし、自分の好きなようにAIが作りたいであったり、AIの精度を上げていきたいと言うふうに考えた場合には、数学のスキルが必要となってきます。

基本的に、AIは数式の上に成り立っています。

特定のデータに対して、数式によって規則を与え、その結果作られたモデルをAIと呼んでいます。

そのため、AIを完全に使いこなそうと思った場合には、数学を勉強する必要があります。

特に、データサイエンティストとしてAIを活用していきたいと考えている人は、数式レベルでAIを理解する必要があります。

しかし、試験的にAIを導入したい、身近なものにAIを適用したどれぐらいの精度なのか知りたい、といったライトAIを作りたい人に関してはこの数学のスキルは最低限あれば良いと思います。

データ収集

データ収集は、AIを作る土台のデータを持ってくるスキルです。

AIは、基本的にデータがあればあるほど精度の高いものを作ることができます。

最近はどこの企業もデータを多く集めようと考えています。

GoogleやアマゾンなどがAIが強い理由もこのデータをたくさん持っているからです。

データがあればあるほどAIの精度が高くなるため、実用的なAIを作ろうと思ったときは、AIを作るのに必要なデータを集めてくるスキルが必要になってきます。

このデータを集めてくる方法にも様々なものがあります。

コードを書いてデータを集めてくる方法や、人脈を使ってデータを提供してもらうようにお願いする方法、またお金を使って他社のデータを提供してもらう方法などがあります。

どんな方法でもいいですが、必要なデータを集めるを十分集める事は重要なります。

個々のデータが集まらなければどれだけ良いプログラムを書いたとしてもどれだけ数学のスキルを持っていくとしても良いAIを作る事はできません。

逆にデーターが大量にあれば多少プログラムや数学のスキルがなくても良いAIを作る事は可能になります。

AIの作り方

壁に鉛筆で絵を描く男性

AIの作り方は以下の4ステップです。

AIの作り方4ステップ

  • データを収集する
  • AIに入力できるようにデータを加工する
  • AIに学習させ精度を高める
  • AIが予測結果を表示する仕組みを作成する

データを収集する

1つ目のデータを収集するは、文字通りAIを作るためのデータを集めるステップです。

AI作成で必要なスキルでも解説した通り、AIを作るためにはデータが必ず必要となります。

したがって、AIを作るためにはまずデータを集めることを最初にする必要があります。

この集めるフェーズはできるだけ早くやる方が良いです。

というのも、データを集めるには時間がかかる場合が多いからです。

他社からデータを買う、ネットからデータを拾ってくるという方法以外で、データ集める場合には時間がかかります。

例えば、カスタマーの購買履歴をもとに商品をレコメンドするAIを作る場合を考えてみましょう。

このAIを作るためにはカスタマーがどういった商品を見ているのか、そしてその後どういった商品を購入してるのかというデータを集める必要があります。

しかし、この閲覧及び購買データは一日で十分な量が集まるようなものではありません。

少なくとも1ヵ月、季節性やトレンドなどを考慮しようとした場合には最低でも1年間のデータを集める必要があります。

また、データを収集するためのシステムを作る必要もあります。

データがすぐに集まる場合は少ないため、早めに動き出す必要があるのです。

AIに入力できるようデータを加工する

2つ目のAIに入力できるようデータを加工するは、AIが学習に使用できる形に特徴量を加工するステップになります。

先程のカスタマーの閲覧、購買履歴をもとに商品をレコメンドするAIを例に説明しましょう。

カスタマーが商品Aを買って、その次に商品Bを買って、その次に商品Cを買ったと言う情報をそのままAIに学習させることはできません。

AIに学習させるためには例えば、商品を買った個数であったり、商品を閲覧したのが何日前であるかという情報であったり、一番長時間閲覧していた商品は何なのかと言う情報であったり、 といったような機械が理解しやすい数値に変換する必要があります。

特徴量の変換はAI作りの中でセンスが問われる部分です。

このデータを加工し、特徴量を作る方法によって、AIの精度は大きく変わると言っても過言ではありません。

この特徴量を作るセンスは、必ずしもデータを扱う職種の人が上手なわけではなく、その分野に精通したマーケターであったり営業であったりといった人の方がセンスが良い場合もあります。

そのため、特徴量を作る場合には、ドメイン知識を持った営業やマーケターなどに協力してもらい、データサイエンティストが特徴量を作っていくといった方法をとるのが一般的です。

AIに学習させ精度を高める

3つ目のAIに学習させ精度を高めるは、加工したデータをもとに目的にあったAIを選び出し、そして学習するステップになります。

AIにも様々な種類のものがあります。

画像を得意とするAI、文章などを得意とするAI、音声などを得意とするAI、時系列データを得意とするAIなど、様々なAIが存在しています。

このステップでは、様々なAIの中から適切なAIを選び出すということを初めに行います。

以下のようなパッケージがpythonで提供されているので、これらのパッケージを使用してAIを作ることができます。

AIを作るためのパッケージ

  • scikit-learn
  • lightGBM
  • TensorFlow
  • Chainer

もちろん上記のもの以外にも機械学習のモジュールはたくさん存在します。

そして、AIをより問題に適したものにするために、 ハイパーパラメータと呼ばれる値を調整していきます。

専門的な話なので割愛させていただきますが、このパラメータを調整することによって、問題に適したAIを作ることができるようになります。

AIが予測結果を表示する仕組みを作成する

4つ目のAIが予測結果を表示する仕組みを作成するは、AIによって予測された結果をシステムの中に組み込み、AIが正常に作動するようなシステムを作るステップになります。

AIのモデルは一度使用するだけの場合もありますが、大方の場合は作ったモデルを何度も使用します。

例えば、先程の商品をレコメンドするAIを例に説明すると、ウェブサイト上でカスタマーが次に購入する確率の高い商品をレコメンドするために、作成したAIを使用します。

おすすめの商品は閲覧のタイミングによって出てくる商品が違いますよね。

その現象は、AIの予測を何度も回すことによって、その時の閲覧履歴に応じたオススメの商品を出しているからです。

タイミングによって、予測結果を変えるためには、一日に一回、多い場合には一時間に一回、AIによって予測する必要があります。

予測を自動化するために、この予測結果を表示する仕組みを作る必要があります。

予測結果の表示の仕組みはWebのフロントエンドバックエンドといったようなWeb系の知識なってきます。

今まで説明してきた4つのステップで、AIを作り、AIを実運用することができるようになります。

AIの作り方を勉強する方法

パソコンを真剣に見つめる男性

AIの作り方を勉強する方法は以下の3つです。

AIの作り方の勉強方法

  • プログラミングスクール
  • udemy

これらの勉強方法は、学習の目的に合わせて使い分けていく必要があります。

なぜなら、それぞれの勉強方法の特性が違うからです。

どう違うのかをパッと見てわかるように、それぞれの勉強方法の特性を、理解までの速さ、理解の深さ、挫折しにくさ、料金という4つの観点に基づき、以下表にまとめました。

理解しやすさ理解の深さ挫折しやすさ料金
プログラミングスクール
udemy
未経験くん
特性は分かったけど、どんな目的の人にあった勉強方法なの?

これが分からないことには、勉強方法を選べないですよね。

それぞれの勉強方法にあった人は、以下のような人です。

目的別勉強方法

  • とにかく実用レベルまで挫折することなく学びたい→プログラミングスクール
  • 要点を効率よく知って、コスパよく勉強したい。→udemy
  • じっくりと基礎から一歩ずつ着実に勉強したい→本

一つずつ解説していきます。

プログラミングスクール

まず、プログラミングスクールでの勉強に向く人は、AIを実用レベルまで挫折することなく学びたい人です。

プログラミングスクールには、大きな特徴が二つあり、これにより実用レベルまで挫折することなく学ぶことができます。

プログラミングスクールの特徴

  • ポートフォリオが作れるレベルまで手を動かしながら講義が進む。
  • わからない部分を質問できる環境が整っている。

一つ目の、ポートフォリオが作れるレベルまで手を動かしながら講義が進むことにより、実用レベルまでの勉強が可能になります。

AI作成に限ったことではありませんが、プログラムの作り方を身につけるためには実際に手を動かす作業が必要となってきます。

理論として説明を聞くことも大事ですが、何よりも成長を助けるのは自分で書いたプログラムの量です。

プログラミングスクールでは、理論を教えつつも定期的にプログラミングコードを書く時間も確保されているため、プログラミングスキルが定着しやすい構造になっています。

また、実用的なプログラムを使用するプログラミングスクールが多いため、実践に入っても使えるようなコードを書くことができます。

二つ目の、わからない部分を質問できる環境が整っていることにより、勉強を挫折する確率を大幅に減らすことが可能となります。

プログラミングの勉強の挫折する大きな原因の一つとして、一度分からない部分があると全く進まなくなるということが挙げられます。

プログラミングは、一文字間違えると途端にプログラムが動かなくなります。

慣れている人であれば、間違えてそうな部分が簡単にわかるのですが、初心者は何が原因でプログラムが動いていないのかを特定するのが難しいです。

プログラミングスクールでは、わからないことがあった際に、質問できるメンターが用意されていることが多いです。

何が分からないのか分からないという状況でも質問できるため、問題の解決のスピードは格段に上がります。

問題が解決されれば、挫折することもなく勉強ができるというわけです。

もちろん、悩むという時間も成長のためには必要ですが、わからないことで30分以上悩むのは時間の無駄です。

プログラミングスクールに通わない場合でも、初心者は気軽に質問できる友達やパートナーを一人は確保しておきましょう。

AIについてのプログラミングスクールについては、以下の記事で解説しているため、参考にしてみてください。

【受講料が70%OFF】AI人材のスキルをつけるオススメのAI人材育成講座を現役エンジニアが解説

★この記事は5分で読み終えることができます。現役エンジニアである筆者がAI人材のスキルを身に付けたい人に向けた解説記事になります。政府の補助を受けて70%の受講料が返還される制度について解説しています …

続きを見る

Udemy

次にudemyでの勉強に向く人は、要点を効率よく知って、コスパよく勉強したい人です。

Udemyとは、動画で勉強できるプラットフォームです。

Udemyには以下の特徴があり、この特徴により要点を効率よく知った上で勉強できます。

udemyの特徴

  • 研修資料レベルの講座がアップされている。
  • 多様なジャンルが存在している。

一つ目の、研修資料レベルの講座がアップされていることにより、体系化された知識が動画で学ぶことができます。

Udemyには、大企業の研修担当が講座をアップしていることも珍しくなく、質の高い講義が多く存在します。

そのため、きちんと情報が整理された講座が多く、要点だけを効率的に学んでいくことができます。

二つ目の多様なジャンルが存在していることにより、自分の興味があるジャンルに絞って勉強ができます。

勉強を始める理由は人によって違います。

そのため、勉強したいジャンルも人によって微妙に違ってきます。

Udemyには多様なジャンルの講座が存在するため、多様なニーズに合わせて勉強することができます。

全くの初心者の方は、何から勉強すればいいかわからないかと思うので、ジャンルを選ぶのが難しいかもしれません。

しかし、プログラミングを触ったことがあるというレベルの人であれば、udemyで自分のニーズにあった講座を選んでカスタマイズし、勉強するというやり方が良いです。

以下の記事でおすすめの講座などは紹介しているので興味がある方は確認してみてください。

楽しくpcで勉強する女性
【全17時間】Udemyでおすすめの機械学習講座を現役データサイエンティストが紹介

機械学習という言葉は、データサイエンティストにとってはもちろん、データサイエンティスト以外の人も耳にしたことがあるのではないでしょうか。 それくらいこの機械学習に対するニーズは年を経るごとに高まってき …

続きを見る

最後に本での勉強に向く人は、じっくりと基礎から一歩ずつ着実に勉強したい人です。

本での勉強には、以下の特徴があり、この特徴により基礎から着実に勉強することができます。

本の特徴

  • 情報量が多い

情報量が多いことにより、理解度が高まります。

人が物事を理解するきっかけは様々です。

例えば、空の色を伝えるときに、青色と言われてイメージしやすい人と、海の色と同じだよと言われて理解しやすい人がいると思います。

赤ちゃんであれば、青色というより海の色って言った方が理解する場合がありますよね。

大人であれば、青色というだけで理解できると思います。

このように、人の前提知識によって理解しやすい説明と理解しにくい説明があるため、情報量が多いとより多くの人が理解できるようになります。

しかし、読むのに忍耐力が必要となってくるので、必ずしも情報量が多いことがいいことであるとは限りません。

情報量が多いということは頭を使う時間が多いということなので、ある程度知識が入っている人におすすめの勉強方法かなと思います。

まとめ

今回の記事では、AIを作るために必要な初歩的なスキル、AIの作り方、AIの作り方を学ぶための勉強方法を三つ紹介しました。

勉強方法についてはどの方法が絶対に良いというわけではなく、自分にあった勉強方法を選択することが重要となってきます。

金額や、自分の勉強の忍耐力、求める知識レベルなどを考慮して、勉強方法を選択していってください。

AIに関しては、以下関連記事を書いてますので、AIについてもっと知りたい方は参考にしてください。

AI エンジニアの年収は?海外の事例も合わせながら具体的に解説!

未経験くんAIエンジニアは年収が高いって聞くけど本当? 上記のような疑問を持った人向けの記事です。 本記事には以下のようなことが書いてあります。 AIエンジニアの国内外の年収を企業別、年代別に紹介。A …

続きを見る

AIによってなくなる仕事となくならない仕事を紹介
AIによってなくなる仕事となくならない仕事を紹介

未経験くんAIによってほとんどの仕事がなくなるが無くなるって聞いたけど本当? 本記事では、このような疑問にお答えします。 ※本記事のポイント どういう理由でAIによって仕事がなくなると言われているのか …

続きを見る

Copyright © 2024 はやぶさエンジニア All Rights Reserved.

]]>
テックキャンプの評判は?19人の受講生の評判を分析してみた! https://hayaengineer.com/%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0/%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e3%82%b9%e3%82%af%e3%83%bc%e3%83%ab/%e3%80%90%e5%8f%97%e8%ac%9b%e7%94%9f19%e4%ba%ba%e3%81%ae%e7%94%9f%e3%81%ae%e5%a3%b0%e3%80%91%e3%83%86%e3%83%83%e3%82%af%e3%82%ad%e3%83%a3%e3%83%b3%e3%83%97%e3%81%af%e3%81%8a%e3%81%99%e3%81%99%e3%82%81/ Sun, 08 Aug 2021 06:48:22 +0000 https://hayaengineer.com/?p=9661 Copyright © 2024 はやぶさエンジニア All Rights Reserved.

]]>

【本記事の信頼性】
19人の受講生の方に実際にインタビューを行い、テックキャンプについての評判を聞いてみました。
悪い評判があったりしますが、実際に受講生が感じたメリット・デメリットなどを解説しています!

未経験くん
テックキャンプは有名だけど、実際の評判はどうなのかな?

悪い評判があったりするけど、受講生の感想はどうなのかな?
未経験ちゃん

このような悩みを解消するためには、実際に受講された方達の生の声が知りたいですよね。
インタビューからテックキャンプの実態について調査してきました。

今なら無料カウンセリングがあり、オンラインでサクッと相談して雰囲気を確かめるのもおすすめです!(申し込み方法は記事の最後に解説しています)

この記事でわかること

  • テックキャンプの受講生が感じた良かったところ・良くなかったところ
  • 無料カウンセリングの受け方

テックキャンプの受講を検討している人は、この記事を是非参考にしていただければと思います。
テックキャンプを受講した19人の方にインタビューを行い、回答をまとめてみました。

テックキャンプの概要

テックキャンプの概要を整理しておきます。

テックキャンプはプログラミング界のライザップと言われ、「短期間で圧倒的な学習量を、メンターと一緒にコミットする」ことを掲げています。
オリジナルのカリキュラムが非常に評判が良く、スキルをつけるにはテックキャンプは優れたスクールです。

主に3つのコースがあり、オンラインとオフラインの両方の学習方法を提供しています。(コロナで変動あり)

運営会社 株式会社div
創業 2012年
コース・料金(税込) テックキャンプ エンジニア転職
➀70日の短期集中スタイル
通学:76万7800円
オンライン:65万7800円
➁180日間の夜間・休日スタイル
通学:98万7800円
オンライン:87万7800円

テックキャンプ デザイナー転職
➀70日の短期集中スタイル
通学:76万7800円
オンライン:65万7800円
➁180日間の夜間・休日スタイル
通学:98万7800円
オンライン:87万7800円

テックキャンプ プログラミング教養
料金:入会金21万7800円+月額料金2万1780円

教室場所 東京
東京都渋谷区神南1丁目12−16 アジアビル9F
東京都渋谷区神南1丁目18−2 フレーム神南坂4階
東京都渋谷区道玄坂2丁目23-12 フォンティスビル7F

名古屋
愛知県名古屋市中区栄3-13-20 栄センタービル3F

大阪
大阪府大阪市中央区難波5丁目1−60 なんばスカイオ15階

福岡
福岡県福岡市博多区中洲4丁目6−12 プラート中洲8F

年齢制限 なし※受講生の30%が30歳以上

テックキャンプのコースは大きく分けて以下3つです。

コース 目的 学習内容
1.テックキャンプ エンジニア転職 70日でエンジニア転職を目指す エンジニアに求められるスキルセットを体系的に習得できます。
(プログラミング、Gitの使い方、SQL、データベース設計、AWSを使用した本番環境へのデプロイ)
2.テックキャンプ デザイナー転職 70日でデザイナー転職を目指す デザイナーに求められるスキルセットを体系的に習得できます。
(デザインの基本原則、HTML/CSS、JavaScript/jQuery 、
Illustrator/Photoshop、Webサイトの企画構成)
3.テックキャンプ プログラミング教養 教養としてプログラミングを学ぶ Ruby on Railsを使ったWebアプリ開発やPythonによるAIアプリ開発の工程を学べます。

受講生の評判を分析

テックキャンプを受講生19人が感じた「良かったところ・良くないところ」をまとめ、受講生によるテックキャンプの評判を分析してみました。

良かったところ・良くなかったところを明確にして、スクールに通う判断材料にしてみてください!

テックキャンプの良かったところ

19人の回答をまとめると以下のようになりました。

まとめ

テックキャンプの強みである「オリジナルのカリキュラム」が初心者にも分かりやすく学習がスムーズにできたという声が多くありました。
そしてメンターの質問対応が30%で二番目に多く回答されました。後で、良くなかった点でもメンターが出てくるので制度自体は有難いがメンターの当たり外れがありそうです。

テックキャンプの良かったところ

以下に19人の回答と回答のポイントを載せています。

テックキャンプの良かったところ ポイント          
カリキュラムが初心者レベルから実務レベルまで用意されているので、自信のない人でもヤル気があれば相応の実力が身に付くと思います。
メンター制度も充実しているので、途中で挫折しないようにスクール側も気を使っています。
何度もメンターに相談して自分の初心を思い出して、スクール卒業後に転職する未来を思い描きながら勉強に励ました。
挫折した受講者には冷たいスクールもあると聞いていますが、テックキャンプは挫折者が少ないです。
・カリキュラムが良い
・メンターが充実
初心者だったのでとても不安だったのですが、メンターがしっかりと支えてくれました
わからないところはすぐに答えてくれましたし、図式に書いてわかりやすく説明してくれたのでありがたかったです。
学習サポートが充実している点がテックキャンプの良いところだと思います。
カリキュラムもきちんと構成されていて、動画が非常にわかりやすく作られていると感じました。教材がわかりやすかったのでなんとかやってこれたと思います。
・メンターのサポートが良い
・カリキュラムが良い
初心者でも一から学ぶことができ、スムーズに進めることができました
自分の習熟度がわかりやすく、弱点を知ることができ、克服までの時間がかかりませんでした。
学習をするとき、何がわからないのかわからないという状態に陥りやすかったのですが、テックキャンプではそれが全く感じられず、ひとつひとつ理解できている、成長できていると実感することができました。
デザインもスタイリッシュでかっこよく、続けていきたいと思うモチベーションにつながりました。
・学習をスムーズにできた
まずカリキュラムが自分には合っていたように感じます。
基本的なHTML、CSSなどといった基本言語をしっかりと学ぶ事ができます。
そして、カリキュラムの最終課題として、一から自分でサービスを作るという過程があります。
プログラミングを自分作り、リリースするところまでをやります。これをやることによって、かなり自分の中で自信がつきました。
自分のオリジナルのサービスを作れているので、非常に良いカリキュラムだなと感じました
・カリキュラムが良い
まず、私は受講して良かったと思っています。なぜなら未経験ながらも、現在webエンジニアとして現在仕事に携わっているからです。
未経験で開発エンジニアになるのは大変なため、受講料があるなら受講するのはありだとお思います。
次にカリキュラムに関しては、まだまだ改善の余地等はあると思いますが、概ね良かったと思います。
メンターのサポートは人が足りていないと思ってます。質問に対して長時間の待ち時間がありました。 しかしこれは、質問をするようなカリキュラム、資料の不足もあるため、そちらが改善すれば、あとは受講者のネットの検索で、大丈夫だと感じています。
転職先は、様々ですが、techcamp側が斡旋するようなところはレベルが高すぎておそらく、転職はできないでしょう。自分で探し出す必要があります。
・転職に成功した
一人一人に合わせたカリキュラムを作って下さり、自分のペースで勉強を続けられるのがとても良かったと感じています。
質問できる環境も非常に整っており、分からないことがあればすぐに聞いて問題を解決することができます。
コロナ禍においてはオンラインで受講することもでき、わざわざ行く必要がなかったため時間の節約にもなったのが良かったと思います。
また、生徒へのサポートが手厚いなと感じました。体験レッスンなどが充実しているところもいい点だと思います。
・カリキュラムが良い
・質問環境がある
・オンラインで受講可能
テックキャンプの良いところは二つあります。
一つ目はオリジナル教材を使用したカリキュラムです。
わかりやすさを追求した教材になっています。そのため、初心者の私でも理解しやすい内容になっていました。また、講師によると数千回改善されたそうです。
二つ目は手厚い学習サポートです。何回でもメンターに相談することができます。
そのため、学習内容につまづいてしまったとしても大丈夫です。ビデオ通話、メールで相談も可能です。
・カリキュラムが良い
・メンターに手厚いサポート
趣味と教養の幅を広げるために受講しました。
分かりやすいカリュキラム構成なので、Web関係の仕事をしてない人でも学びやすく、挫折しないように作り込んでいる印象を受けました。
それなりの料金プランなので、不安がありましたがキチンとサポートしてくれるので問題なかったです。
また、教室に行くことなくオンラインで学べるので、働きながら隙間時間で学習することができます。
オンライン上での質問も丁寧に対応してくれるので、孤独に勉強している感覚はなかったです。
・分かりやすいカリキュラム
・オンラインで受講可能
このたびの受講に伴いプログラミングの大切さなどを知れて本当に素晴らしかったと思います。
メンターの方は丁寧で分かりやすい説明をしてくださり 初心者ではどれくらい難しいかなどを教えてもらえたがやればできることの大切さも同時に教えていただいたので プログラミングに取り組もうという意識がすごく増えました。
やればできる、覚えるまではみんな一緒であることを教育していただいたおかげで 新しい世界の扉を叩くことが出来良かったです。
・メンターがわかりやすい説明
メンター・学習サポート
 参加してる全員が職がない為、高頻度で進捗報告会参に参加している人は意欲が高いと思われる。
 また、聞いたことに対してしっかりと理解のあるメンターの場合だと自分と一緒に解決まで導いてくれるので、かなり教材以外のことも聞けてよかった。
転職先サポート
 日々の面談では自分の面接対策等を無料で行ってくれたので、そこだけが良かったと感じている。
 (一般的に面接対策等は転職エージェントでは何回も行うことが難しい為)
・メンターや学習サポート
・転職サポート
客観性が無くなるから言わなかったけど、自分はテックキャンプに関わって人生が良い方向に変わった1人です。
プログラミング勉強したいなら独学でやってみて、無理ならスクールはお薦めです。 でも結局自分次第だと言うことをしっかり理解して過度の期待は持たない方が良いとも思います。
ここで大事な事は、カリキュラムのわからない点をまとめて置いて、後からしっかり調べる事です。
検索すればYouTubeやqiitaなどの記事で分かりやすく解説されているものも有り、後から調べた事は意外と頭に入ります。
・人生が変わった
テックキャンプを受講してどこが良かったと感じたかというと、まずカリキュラムが初心者でも分かりやすくしてあるのが良いと思いました。
私のような全くプログラミングとは関係のない業種でも問題なく学習を進める事ができました。
実際にここでプログラミングを教わるまではかなり心配だったのですが、思った以上に分かりやすいと感じたのでそこはここを受講して良かったと思いました。
た転職サポートも丁寧に親身になって相談に乗ってくれたのでその点も良かったと思いました。
・初心者でもカリキュラムが分かりやすい
・転職サポートが良い
カリキュラムについては基本的なHTML、Javaなどから学ぶことができるので良い
サービスのテーマを決めてプログラミングをするので自分だけのサービスポートフォリオを完成できるのが良い
メンターに関してはやはりしっかりとしたプログラミングの上級者に話を聞くと言うことがとてもありがたいです(実際にテストに合格してる人じゃないと信用性がないと思った。)
迷ったりした時など質問できるのがしっかりしたレベルの持っている人なのでとても安心できる
・自分に合ったカリキュラム
・メンターに質問できる
私がテックキャンプで教わろう!と思った経緯につきましては、ユーチューブでまこなり社長を見たことがキッカケでありました。
そこから、テックキャンプを知りまして、手厚い学習内容として、即戦力となる教育プログラムが習得できる点が素晴らしいと思いました。
私の場合は、副業で成功することができれば事業化のプランを目指したいと思っておりましたので、それに加えまして、質の良い学習環境だけではなく、専属のライフコーチが、やりきることに全力コミットして頂ける点も素晴らしいと思えました。
・手厚い学習内容
・ライフコーチがいる
約70日間の濃密な内容を持つ学習カリキュラムに大変魅力を感じました。
基礎・応用カリキュラムに続き、後半は個人開発という流れになり、結果自分自身でやりくりできるほどの技量を持つことが出来ます
短期間で上達できるように組み立てられているこのカリキュラムは他ではおそらく実施されていないでしょう。
短期間であるがゆえ内容はかなり多く、それ故ついていくのが大変であるかもしれませんが、確実に将来のための力になることは間違いなく言えます。
・カリキュラムが良い
・開発力がつく
プログラミング教養は、初心者にも対応した内容になっています。ほどほどの月額料金で、学びたい放題なのは大きな魅力です。
また、オンラインでの受講にとどまらず、各主要拠点に教室を構えています。オンライン上では十分に伝わらない質問事項でも、時間をかけて尋ねることができます。
メンターの対応は親切丁寧で、時間をかけて疑問点を解決できます。オンライン上での質問も柔軟に受け付けてくれるので、時間効率よく学習を進められます。
・初心者も安心
・メンターが丁寧
・オンラインで対応
カリキュラムが初心者向けに作られている上、段階的に学ぶようにしっかりと組み立てられており、学習しやすかった
比較的専門用語を簡単な言葉や例示も交えて書かれているので初心者でもつまづきづらい設計になっていると感じた。
アップデートも随時行われている点も好印象を持った。わからない点は学習サポートを受けられる体制があるので、安心できた
何度か質問をしたことがあるが、丁寧に対応してくれたので、疑問は解決できた。
・初心者向けのカリキュラムが良い
独学で、プログラミングは勉強していましたがwebアプリ関連とプロンプトなどについて一から学びたいと思い参加しました。
一番良かったと思った点は、教材のレベルの高さとわかりやすさで経験者でも熟読すれば必ずスキルアップに繋がる内容だとおもいました。
また、オンラインで受講ができ私は通いができなかったのでとても助かりました。自分のライフスタイルに合わせてくれるメンターの方々にも感謝しています。
定期的にwebサイトやwebアプリなども作っていたので受講過程が一通り終わっても作成技術が身についているのでとても実践的だったなと感じました。
・スキルアップにつながるカリキュラム
・ライフスタイルに合わせられる

テックキャンプの良くなかったところ

では、良くなかった所をみていきます。

「メンターの質や当たり外れ」の回答が一番多く、次に「料金が高い」でした。

カリキュラムは素晴らしいので、メンターの質を高めて欲しいとった回答が多かったです。
どうしても学生をメンターとして採用するとサポートの質にばらつきが出てしまうようですね。。。

ここに関してはどのスクールでもメンターには当たり外れがあるので、カリキュラムの評判の良さは参考になりますね。

以下、実際の回答とポイントをまとめています。
良くないところはスクールを選ぶ上で重要な情報となるので、「これは自分に合わないな」と後からならないよう是非参考にしてみてください^ ^

テックキャンプの良くなかったところ ポイント                                 
料金が高いので二の足を踏んでいる受講希望者も多いと思います。
もう1つは転職サポートは弱いと感じました。カリキュラム通りに勉強したなら転職先は自分でも見つかるはずだという意識があるだと思います。
転職先の紹介も少ないと思います。約半分の人は転職サポートに頼らず自分で転職活動をしていました。
テックキャンプの実績になるところで、受講希望者が一番気にするところなので、転職サポートはもっと充実して欲しいと思います。
・料金が高い
・転職サポートが弱い
学生のメンターが多くいたので少し不安に感じてしまいました。
質は問題なかったように思いますが、ある程度実務経験のあるメンターの方が安心感がありますし実務を見据えて質問することができて良いと思いました。また、経験不足な面もあるのでメンターの当たり外れがあると思いました。
カリキュラムはわかりやすいのですが、しっかりと詰め込まれているので時間的余裕がないと知識やスキルを獲得するのに結構大変だと思いました。
・メンターの当たり外れ
わからないことがあったときの解決に至るまでが難しく、メンターの方とも時間が合わないことが多く、すぐに解決することができませんでした
インターネットで調べることが多く、それが逆に実戦での解決につながっているため今は苦労していませんが、初心者で何もわからない状態では方向性を正してくれるようなサポートも手厚く必要だと思いました。
ただ基本的には良くないところはなく、着々と取り掛かることができたので、私は問題なかったです。
・質問対応に時間がかかる
転職サポートに関しては、少し自分としては物足りなかったなと感じました。
メンターの方たちはとても忙しそうで、気持ちはわかるのですが、事務的なやりとりが多かったなという印象があります。
おそらくマニュアルがしっかりしているのでしょうが、マニュアルに沿ったやりとりが多いように感じました。
やはり転職というのは、毎月やるというようなものでもなく、頻度としてはそこまで高くない為不安です。なので、もう少し人の気持ちを汲み取ってもらえたらなと感じました。
・転職サポートが事務的で物足りない
2点よくなかったところがあります。
1つ目はメンター・学習サポートが良くなかったです。
 カリキュラムでつまずいた時に、リモートで質問していたのですが、繋がるまで多大な時間待つ必要が多々ありました。 待っていたとしても、質問の内容によっては、すぐに解答できないこともあったので、開発経験が豊富な人がメンターとしているようでもなさそうなので、その辺りの対応が薄いのが良くないところだと思います。
2つ目は料金です。
 エンジニア転職ではおよそ50万円の受講料でしたが、教室の使用を含めてその値段だったと思いますが、コロナの影響もあり使えなくなり、メンターもリモートの対応になり、手薄なのにこの値段維持されたのは不服でした。
・質問対応に時間がかかる
・料金が高い
これはどこのプログラミング教室にも言える点なのですが、料金が全体的に高いと思います。 もし学生が自主的に学びたいと思っても気軽には手を出せない金額なのでそこは下げてほしいなと感じました。
また、このようなプログラミングスクールに通ったからといって自分の希望の所に就職したり転職したりすることができないという点は受けるときに覚悟しておかなければならないと感じました。 サービスはとても良かったので料金だけ下げてほしいと思います。
・料金が高い
・希望のところに就職できるかは分からない
良くないところも二つあります。
一つ目はカリキュラムが簡単すぎるところです。
 確かに簡単になっていることで、初心者でも取り組みやすい内容になっているのですが、そのまま副業につなげられるかというと少し疑問です。現に私も思ったより稼げていません。基礎的なことは学べますが、本気で稼ごうと考えている人には物足りない内容です。
二つ目は学習面以外のサポートが薄いことです。
 学習面は丁寧に教えてくれるのですが、就職は少し薄い感じがします。
・カリキュラムが物足りない
・学習以外のサポートが薄い
オンライン上での質問対応スタッフのスキルに少し差がある気がしました。
学生?アルバイトかな?と感じるスタッフも存在します。もちろん、エンジニアとしての能力はあるのでスキル的には問題ありませんが、他者とのやり取りにおける会話知識が不足しているので、とても違和感がありました。
スタッフ教育を徹底したほうが良いのでは?と思います。動画教材の質が高いのですが、本数が少ないので集中力が途切れてしまうことがよくありました。
メンターの当たり外れ
テックキャンプは素晴らしい出来事、経験を包み隠さず教えてくれるのはありがたいのですが テックキャンプの商品を売ることに関しましては、少しガサツで無理矢理感が見受けられたので 本当にいいものを売っていくスタイルのほうが万人受けをすると感じました。
一生懸命なところは評価に値するのであろうと思う反面 購入者が不快感をおぼえてしまっては身もふたもない関係になってしまうため もう少しかみ砕いた対応の仕方もいいんじゃないかと思いました。
カリキュラム 特別な内容ではない。
 そこら辺に売ってる本の内容とほぼ変わらない状況。故に、魔法のようなカリキュラム(これさえ学べばプログラマーになれると考えている)を期 
 待しての入校ならやめるべきである。1時間に一回程度グループ内でのプレゼンがあるが参加メンバーは限られるし、そんな高頻度でやってもそ
 こまで変わるわけではないのであまり良い収穫は得られなかったと感じている。
メンターサポート
 よかった反面、ハズレなメンターに当たってしまうと何も解決できずかえって問題を難しく考えてしまう悪い方向に行きかねない。
・カリキュラムの内容
・メンターの当たり外れ
コスパ的には、どうかなぁって感じです。 自分でオリジナルのプログラミングができるようになるかは上のコースを受講したり、当人のがんばりによるところが大きいと思います。
メンターの質ですが、オンラインは繋がりづらく待つことが多かった
また、人によっては悪いイメージを持っても仕方ない人が一人くらいはいると思っていい。教室のメンターは、コーチング的なことをやって励ましてくれますが、そんなプログラミングのスペシャリストではなかったです。

・料金が高い
・質問対応に時間がかかる
・メンターの当たり外れ
テックキャンプを受講してあまり良くないと感じたのはメンターの質が少し悪いと感じた点です。 もう少しここのメンターの質が良かったらそこまで大きな不満も感じる事もなかったと思いました。
学習サポートや転職サポートは悪くないと思っただけにメンターに当たりはずれが結構あると感じたのは かなり残念でした。
中には良いメンターもいたりしますがそこまで高い技術があるとは思えないメンターのいるので そういうのに当たってしまうことがあるのが良くないと思いました。
・メンターの質が悪い
・メンターの当たり外れ
メンターの人がプログラミング上級者なのでこんな質問したら笑われるんじゃないかとか思ってしまい少し怖じ気付いてしまうところもあるがちょっと良くないところかもしれない、カリキュラムは充実していてとてもいいんだがオンラインとかだとビデオ通話でちょっと伝えたい言葉がこちらから伝わりづらいと感じた
しかし結局は自分の意識の問題だと思うので強い意識を持って取り組むと言うことが大事だと思う。 まぁ良くないところもあるけど自分次第だと感じた
オンラインでの対応の齟齬
オンラインでもやりきれる仕組みについて納得できたのですが、やはり、質の良い授業を受けようものなら、それ相応の金額を支払わなければならない所で少し料金的に高いなと思う部分がありました。
しかし、手厚いサポートメニューとして、口座分割払いについても実現できる点や、無料カウンセリングも受けることができる内容に感激する所でありました。
また、自由に副業ができて、今よりも副業の収入をあげることができればと考えるものでありました。
もう少し欲しいと思えた点につきましては、副業の仕事も紹介して頂けると素晴らしいと思えたことです。
・料金が高い
メンターにおいてかなりばらつきがあることが事実です。
確かに信頼できるメンターに出会えることも事実ですが、出会うまでは最悪な相性を持つメンターに出くわすことがあります。それにより質問がしやすい・しづらいといった問題が起こり、結果自分自身の進歩の速度を遅めてしまうことがあります。
また知識量にばらつきが目に見えるほどあります。教え方にもかなり違いがあり、同じ内容なのに言っていることが異なるところもあります。 学習サポートにおいてマニュアルをある程度用意をして頂き、統一を図ってほしいです。
・メンターの当たり外れ
初心者には問題ないことですが、エンジニアがプロでないことがあります。
未経験から始めた学生や社会人が含まれていて、ある程度の技術を持っていると物足りないかもしれません。
また、プログラミング教養には、決まったカリキュラムが存在しません。学習の進め方について相談には乗ってくれますが、基本的には自分で計画を立てなければいけません。自主的な学習は知識の定着に役立ちますが、上手く進まないと悩んでしまうことがあります。
・メンターが学生の可能性がある
・プログラミング教養は計画が受講生任せになる
メンターがつくが名ばかりで、特にヘルプはしてくれなかった
最初だけ熱心にメンターされ、その後は一切連絡なしで放置されているので、学習離脱者はそれなりに多いと思う。
またカリキュラムも全くの初心者には良いが、少し知識がある人にとっては物足りない、飛ばしたくなる部分も多いと感じた。
さらに実践的な部分は自分で補っていく必要があり、プログラミングを習得して、自力でサービスを始めるようなところまで持っていくのは学校だけでは不十分と感じた。
・メンターの質が悪い
・実践的な内容が含まれない
私は特にキャリアコースではなかったので、全額負担でしたが料金面でかなり高額なのではと感じてしましました
確かに人件費なども考えると妥当な金額設定なのかもしれないが、私の場合キャリアコーチなどは必要なかったしそういった必要のないオプションは切り取った金額設定も用意するべきだと感じました。
また、メンターに関してですが明らかに質疑応答に不適切な回答が返って来る方が結構いたので人選はしっかりしてほしいと思いました。
・料金が高い
・メンターの質が良くない

無料カウンセリングの申し込み方法

これまで良かったところ・良くなかったところをみて、評判を確認してきました。
百聞は一見にしかずなので、実際にテックキャンプの雰囲気を確認したい方は、無料カウンセリングを受けてみてください!

無料カウンセリングの時間は30分前後でテックキャンプについてだけでなく、エンジニア転職のキャリア相談についても質問可能です
担当者が丁寧に回答してくれます。

無料カウンセリング申し込みの方法は以下5ステップです。

ステップ1.公式サイトへアクセス
  ↓
ステップ2.希望日時を選択
  ↓
ステップ3.基本情報を入力して予約
  ↓
ステップ4.事前にカウンセリングシートを記入
  ↓
ステップ5.当日にビデオ電話でカウンセリングを受ける

ステップ1.公式サイトにアクセスする

テックキャンプの公式サイトにアクセスして、「無料カウンセリングの予約」をクリック

公式サイト

https://tech-camp.in/expert/

ステップ2.希望日時を選択する

希望時間の選択画面

希望の日時を選択します。

ステップ3.基本情報を入力する

基本情報の入力画面

名前、メールアドレスなど基本情報を入力して予約します。

ステップ4.カウンセリングシートを記入する

カウンセリングシート入力画面

後日、カウンセリングの日時確認のメールが送られてくるので、
URLからカウンセリングシートを記入しておきます。

カウンセリングの意図を確認することで充実したカウンセリングができます。

ステップ5.当日にビデオ電話でカウンセリングを受ける

ビデオ電話「Whereby」を使ってカウンセリングを受けます。

まとめ

今回、テックキャンプを受講した19人の方のスクールの感想から「テックキャンプの良かったところ・良くなかったところ」をまとめていきました。

独学ではプログラミングは挫折しやすく、スクールを活用して短期でスキルを身につけることは長い人生において非常に有効です。

自分に合ったスクールを選ぶ判断材料となれば幸いです。
最後まで読んでいただきありがとうございました!

良いプログラミングライフを!

Copyright © 2024 はやぶさエンジニア All Rights Reserved.

]]>
【2024年最新】WordPressの有料テンプレート「TCD」 のおすすめテーマ8選! https://hayaengineer.com/web%e5%88%b6%e4%bd%9c-%e9%96%8b%e7%99%ba/web%e3%82%b5%e3%82%a4%e3%83%88%e5%88%b6%e4%bd%9c/wordpress/wordpress%e3%81%ae%e6%9c%89%e6%96%99%e3%83%86%e3%83%b3%e3%83%97%e3%83%ac%e3%83%bc%e3%83%88%e3%80%8ctcd%e3%80%8d-%e3%81%ae%e3%81%8a%e3%81%99%e3%81%99%e3%82%81%e3%83%86%e3%83%bc%e3%83%9e%ef%bc%98/ Sun, 11 Jul 2021 12:53:10 +0000 https://hayaengineer.com/?p=9352 Copyright © 2024 はやぶさエンジニア All Rights Reserved.

]]>

★本記事は5分で読み終えることができます。

【本記事の信頼性】
Web制作をしているエンジニアの筆者が販売数や使いやすさを考慮してTCDのおすすめテーマを77テーマから8個選びました。

未経験くん
TCDってどんなテンプレートテーマ?

TCDのおすすめのテーマってなんだろう?
未経験ちゃん

このような悩みを解説するための記事になります。

この記事を読んでわかること

  • TCDとはどのようなテンプレートなのか
  • TCDのおすすめテーマ

WordPressの有料テーマ「TCD」とは

WordPressのテーマ「TCD」とは、株式会社デザインプラスが販売するテーマのブランド名になります。

コーポレートサイトを作成するテーマとしてかなり有名で実績のあるテーマですね。

TCDテーマの主な特徴は以下の3つです。

特徴

・ユーザービリティを考慮した洗練されたデザイン

・業種・目的別ごとに作られたテーマ

・独自の機能を備えた管理画面

https://www.youtube.com/embed/3QA4fFWuHsw

TCDのおすすめ有料テーマ8選

ではTCDのおすすめテーマ8選を紹介していきます!

デモページも一緒に載せているので是非参考にしてみてください!

1位 SOLARIS

公式サイトを見る

最先端の企業サイトをスマートに制作できるWordPressテーマ「SOLARIS」。

搭載されているページ制作機能を活用すれば、中規模以上の企業サイトでもスムーズに制作いただけます。
自社の強みや特徴、文化などをまとめておけば、かなり本格的な企業サイトをサクサク制作できるでしょう。

自社サイトを制作したい方はもちろん、幅広い企業サイトにまで使えるテーマです。

39,800円(税込)

デモページを見る

2位 NANO

コーポレートサイト向けテーマ「NANO」公式サイトを見る

大企業向けのコーポレートサイト向けのテーマのNANOは、これまでの下層ページの概念を変えたテンプレートテーマです。

「会社案内」や「事業紹介」などのページは、一覧ページと詳細ページと2重構成になっていて、事業部ごとにサイトを分ける場合や事業部間で連携させたい人におすすめです。

また、コーポ―レ―トサイトに必須な「お知らせ」記事も数種類のインフォ―メーションに対応できるようにカテゴリー分けできます。
事業部が複数ある企業でコンテンツ量が豊富で整理されたい方向けです。

デモサイトは、「創薬、製薬、バイオ等のバイオベンチャー系企業」のイメージで作成されています。

34,800円(税込)

デモページを見る

3位 DROP

公式サイトを見る

オンラインビジネスを加速させるWordPressテーマ「DROP」。

ウェブサービスやアプリのローンチに最適なデザイン性と機能性でスタイリッシュなLPを作成できます。

客観性のあるデータをデザインされたグラフで訴求できるチャート機能に加え、グラデーションの美しいサイトデザインでスタイリッシュなLP型サイトを作成可能です。

新規商品やサービスのローンチ時にLPやサイトをスムーズに立ち上げることができるテーマです。

39,800円(税込)

デモページを見る

4位 CURE

公式サイトを見る

医療機関などに最適な清潔感溢れるテーマです。

コンテンツ量の多いサイトでも美しく整頓でき、最初に目に入るトップページヘッダー内から下層ページへとつなげる導線設計が優れています。

各ページ内でもユーザーが迷子にならないように、コンテンツへのアクセスを促せるポイントを随所に表示可能です。
設定は一箇所のみで複数の箇所に反映できる仕様は、効率の良い設定ができるCUREの強みでもあります。

整理されたデザインと優れた導線設計で安心感を与えるサイト(医療機関やコーポレートサイト)を素早く構築したい方にオススメです。

25,800円(税込)

デモページを見る

5位 FAKE

公式サイトを見る

スタイリッシュなコーポレートサイトを瞬時に作り上げることのできるテーマです。

FAKEは、「比較的コンテンツが少なめのスタートアップ企業」などのコーポレートサイトを想定に作られています。

機能面もコーポレートサイトに必要なものに絞り込んでいます。
コンパクトにまとめているので、各項目の設定などもわかりやすく、スピーディにサイトを構築できます。

しかし、機能をスリム化しても訴求力は残しています。トップページヘッダーには、全画面で再生される動画を設定可能で、条件を満たしたモバイル端末でも再生される仕様です。大画面の動画で効果的にインパクトを与えることができます。

また、ミニマルなトップページはスクロールすると企業の概要が網羅できるのでスムーズに企業情報を伝達できるレイアウトです。

操作性と柔軟なデザインニングで質の高いページを瞬時に作成したい人におすすめです。

39,800円(税込)

公式HPを見る

6位 GENSEN

公式サイトを見る

GENSENは、スポンサー広告スペースとして活用できるトップヘッダーで広告収益ビジネスモデルの構築まで考えた【検索機能がついたポータルサイト】向けWordPressテーマです。

検索機能は、キーワード・カテゴリーの組み合わせによって一覧で表示される検索結果ページから、さらにタグなどで詳細な抽出ができる「絞り込み検索機能」が搭載されています。

WordPressの基本機能と検索機能の融合のために研究を重ねて作り上げた自慢の検索機能となります。
さらに「キーワード検索」+「エリア検索」+「カテゴリー検索」+「カテゴリー検索」といった最大4つまでの組み合わせ(キーワード検索1つだけでもOK)が可能なため、あらゆるジャンルのポータルサイトでも活用いただけます。

また、検索機能だけでなく、ポータルサイトを活用するユーザーの興味を引き込む【5つのコンテンツ】が項目をうめていくだけで魅力的なデザインになる工夫がされています。

39,800円(税込)

デモページを見る

7位 EVERY

公式サイトを見る

高機能な会員制サイトを個人でも運営することができるテーマです。

EVERYのデモサイトでは、大規模なレシピ共有サイトをイメージされています。

複数の投稿者による多くのコンテンツ発信を想定して、閲覧しやすいカスタム投稿タイプを実装済みで、閲覧しやすいだけでなく、項目を埋めていくだけで完成するように制作も捗る設計です。

会員制サイトに必須なマイページ機能や、会員・非会員を差別化できる機能に加えて、画像を多く扱えるように画像の遅延読み込みによるページ表示速度の高速化が実装されています。

マイページ機能では、「ユーザーのお気に入りコンテンツのみ」をアーカイブすることができ、会員以外には指定したコンテンツにのみぼかしがかかる仕様です。

会員制サイトを作りたい人はこのテーマを検討してみてくださいね^ ^

39,800円(税込)

デモページを見る

8位 SWITCH

公式サイトを見る

美しいビジュアルとメディアがミックスした店舗サイト向けWorpressテーマです。

スタイリッシュなデザインとノスタリジックな親しみやすさを醸しだし
新規顧客だけでなく、潜在的な顧客の獲得まで促す事の出来るテンプレートです。

動画や静止画、Youtubeなどをヘッダー、フッターなど各所に使える多彩なメディアミックス機能に加えて
ブログ、お知らせ、イベント、インタビュー、FAQまで幅広い投稿タイプが提供されています。

新規集客からリピーターにまで店舗のアピールできるサイトが作れますよ^ ^

39,800円(税込)

デモページを見る

まとめ

本記事ではTCDのおすすめテーマについて、8選を紹介しました。

売上の上位や良く使われるテーマを選んだので、是非参考にしていただけたら嬉しいです。

Copyright © 2024 はやぶさエンジニア All Rights Reserved.

]]>
WordPressの企業サイトには有料テーマ「TCD」がおすすめ?メリット・デメリットをまとめてみた https://hayaengineer.com/web%e5%88%b6%e4%bd%9c-%e9%96%8b%e7%99%ba/web%e3%82%b5%e3%82%a4%e3%83%88%e5%88%b6%e4%bd%9c/wordpress/wordpress%e3%81%ae%e4%bc%81%e6%a5%ad%e3%82%b5%e3%82%a4%e3%83%88%e3%81%ab%e3%81%af%e6%9c%89%e6%96%99%e3%83%86%e3%83%bc%e3%83%9e%e3%80%8ctcd%e3%80%8d%e3%81%8c%e3%81%8a%e3%81%99%e3%81%99%e3%82%81/ Sat, 10 Jul 2021 14:29:28 +0000 https://hayaengineer.com/?p=9302 Copyright © 2024 はやぶさエンジニア All Rights Reserved.

]]>
★本記事は5分で読み終えることができます。

【本記事の信頼性】
Web制作の活動を行う筆者がWordPressの企業サイトにおいて有料テーマ「TCD
」がおすすめな理由を解説します。

未経験くん
WordPressでコーポレートサイトを作りたいんだけどどのテーマがいいのかな?

有料のテーマのメリット・デメリットって何?
未経験ちゃん

このような悩みを解説するための記事になります。

この記事でわかること

  • WordPressの有料テーマ「TCD」って何?
  • TCDを導入するメリット・デメリット
  • TCDの管理画面

この記事では、有料テーマの中でもよく目にする「TCD」というWordPressテーマについてメリット・デメリットから管理画面まで解説していきます。

もしTCDのWordPressテーマを検討している方は、ぜひ参考にしてみてください。

そもそも有料テーマを使うメリットとは

WordPressのテーマには有料と無料があります。
無料のテーマでも十分な機能を備えるテーマも存在しますが、有料テーマを使うメリットは「時間や作業を効率化できる」です。

無料のテーマではウィジェット・メニューなどがチープになりがちです。有料テーマでは、カスタマイズせずに使えたり、SEOも強くマーケティングに割く時間も効率化できます。

もし全く予算がないというのなら無料テーマで作るしかないかもしれませんが、予算がある場合は有料のテーマを使うことをおすすめします。

金額としては、プラグインなどを含む機能の充実度で変動しますが、数千円~高くても3~4万円代といったところが相場です。

WordPressテーマ「TCD」とは

WordPressのテーマ「TCD」とは、株式会社デザインプラスが販売するテーマのブランド名になります。

コーポレートサイトを作成するテーマとしてかなり有名で実績のあるテーマですね。

TCDテーマの主な特徴は以下の3つです。

特徴

・ユーザービリティを考慮した洗練されたデザイン

・業種・目的別ごとに作られたテーマ

・独自の機能を備えた管理画面

https://www.youtube.com/embed/3QA4fFWuHsw

WordPressテーマTCDの4つのメリット

TCDのメリットは以下の4つです。

TCDのメリット

  • デザインが豊富にある(77種類)
  • 業種・目的別でテーマが選べる
  • カスタマイズが許可されている

1つずつ見ていきましょう^ ^

デザインが豊富にある(77種類)

TCDテーマの特徴は圧倒的にデザインにこだわっていることです。

業種・目的に適したテーマの種類が豊富に提供されているので、サイトのイメージにあったテーマを見つけることができます。

画像を用いて表現されるデザインが多く、洗練された美しいイメージのサイトを作りたい人に適しています。

2021年7月時点で77種類のデザインテーマが販売されています。

目的別で選べる

美容室、飲食店、クリニック、アパレル、士業といった様々な業種・目的に合わせたテーマが提供されています。
目的に合わせてテーマを選択すれば、必要な機能があらかじめ組み込まれ利用することができます。

TCDの公式HPに行くと「デモサイト」が見れるので、実際に仕上がるサイトのイメージがわきやすいと思います。
是非チェックしてみてください^ ^

その中でも一例として代表的ないくつかのテーマをご紹介します。デモサイトも一緒に紹介してます!見てみてください^ ^

【ブログ・オウンドメディア向け】

ブログ向けテーマ「Be」公式サイト

初心者でも簡単にブログサイトを立ち上げられるテーマです。
主に雰囲気を重視する女性向けとして制作されたテーマです。

記事を書くだけで、ひとつのサイトが出来上がるようにシンプルな設計になっています。

このテーマの大きな特徴は、用意された3タイプの記事レイアウトをボタンひとつで切り替えることができる点です。
「トップページ」「アーカイブページ」「ランキングページ」の複数のデザインを組み合わせることができます。

重要な箇所をアニメーションしながらマーキングするアンダーライン機能やチャット形式のデザインをワンタッチで表示できる吹き出し機能といった豊富な機能が備わっています。

女性個人ブロガーをイメージしたデモサイトが公開されています👇

17,777円(税込)

デモページを見る

【飲食店向け】

店舗サイト向けテーマ「Tree」(公式サイト

カフェやレストランに向けた飲食店向けのスタイリッシュなテーマです。
お洒落なカフェやバーをイメージして開発したそうで、ドロワーメニューやグローバルメニューが特徴的で、それぞれスタイリッシュなデザインとモーションが適用されています。  

お店のメッセージを効果的に伝えるトップページのデザインや、メニューのレイアウトをボタンひとつで切り替え可能な部分も飲食店の訴求力やイメージをアップできます。

また、Uber Eatsなどのデリバリーへの導線を備え、イベント・採用ページといった必要に応じたページが高いクオリティで作成できます。

サイドバーやその他メニューなど不要なコンテンツを取っ払った「ランディングページ(LP)」も作成できますので、飲食店ビジネス以外の展開も可能となっています。LPを用いて商品の詰め合わせセットを通販として販売してもいいですし、そこで顧客リストを集めることも可能です。

25,800円(税込)

デモページを見る

【士業向け】

士業向けテーマ「LAW」公式サイト

弁護士や税理士、司法書士などの「士業」サイト用のデザインテーマです。

今や弁護士や税理士等の「士業」も、ネットからの集客を意識することが不可欠な時代となりました。
旧態依然としたサイトが多い業界で、一歩も二歩も抜きん出たネット戦略を可能にする信頼感のあるテーマです。

スタッフの一覧を写真付きで紹介できる機能が特徴で、所属する方々のプロフィールを掲載することができる等、企業サイトなどにも幅広く利用ができるテーマです。

ファーストビューのインパクトやブログコンテンツによるブランディング・集客はもちろん、サイト訪問者の動線も意識したデザインなので、ネットからのお問合せ・売上につながりやすくなっています

11,980円(税込)

デモページを見る

【サロン向け】

サロン系向けテーマ「SKIN」公式サイト

SKINは、エステサロン、美容室、整体院などのスタッフの技術と体験を提供する店舗集客型に最適なテーマとなっております。

トップページでは、画像や動画を組み合わせてスライダーを演出することで、アクセスしたお客さんに印象を与えることができるようになっています。
カスタム投稿では「お知らせ」以外にも「コース」や「キャンペーン」「スタッフ」などの独立したページが用意されていて、枠に当てはめていくだけですぐに立ち上げることができます。

他店舗との差別化を図るための施策が各箇所に施されたテーマとなっております。

12,980円(税込)

デモページを見る

【コーポレートサイト向け】

コーポレートサイト向けテーマ「NANO」公式サイト

大企業向けのコーポレートサイト向けのテーマのNANOは、これまでの下層ページの概念を変えたテンプレートテーマです。

「会社案内」や「事業紹介」などのページは、一覧ページと詳細ページと2重構成になっていて、事業部ごとにサイトを分ける場合や事業部間で連携させたい人におすすめです。

また、コーポ―レ―トサイトに必須な「お知らせ」記事も数種類のインフォ―メーションに対応できるようにカテゴリー分けできます。
事業部が複数ある企業でコンテンツ量が豊富で整理されたい方向けです。

デモサイトは、「創薬、製薬、バイオ等のバイオベンチャー系企業」のイメージで作成されています。

34,800円(税込)

デモページを見る

【クリニック向け】

クリニックや医院向けテーマ「CURE」公式サイト

清潔感があり、安心感もあるクリニック・医療機関用のテーマです。
「診療内容」などのカテゴリーは非常に見やすく設計され、レイアウトの枠に当てはめていくだけで簡単に制作ができます。

コンテンツ量の多いサイトでも美しく整頓でき、最初に目に入るトップページヘッダー内から下層ページへとつなげる導線設計が優れています。

各ページ内でもユーザーが迷子にならないように、コンテンツへのアクセスを促せるポイントを随所に表示可能です。
設定は一箇所のみで複数の箇所に反映できる仕様は、効率の良い設定ができるCUREの強みでもあります。

整理されたデザインと優れた導線設計で安心感を与えるサイト(医療機関やコーポレートサイト)を素早く構築したい方にオススメです。

25,800円(税込)

デモページを見る

カスタマイズが許可されている

TCDテーマはテーマごとに搭載されている機能が異なります。
テーマごとに設定できる部分や編集できる範囲が決められていますが、TCDの管理画面からだけでは編集できない箇所は、自由にカスタマイズすることができます。

多くの有料デザインテーマはカスタマイズを許可していないですが、TCDテーマでは編集が許可されています。

Web制作のエンジニアにカスタマイズを依頼するといいと思います^ ^
カスタマイズ方法については、デザインプラス社が運営する情報サイト「TCD LABO」で修正方法などが提供されています。

カスタマイズ編集は自己責任です。注意してバックアップをとりながらカスタマイズしてくださいね。

TCDテーマのデメリット

TCDテーマのデメリットは以下の3つです。

TCDのデメリット


・管理画面からの編集できる部分が限定されている
・価格が高いテーマもある
・記事の文字装飾などの機能が少ない

管理画面で編集できる部分が限定されている

テンプレートテーマですので、当然考慮するべきデメリットになります。

テーマでカスタマイズしたい部分が管理画面から編集ができない場合、直接テーマをカスタマイズする必要があります。

カスタマイズをするには「HTML・CSS」といった簡単なプログラミング知識が必要となります。
加えて、カスタマイズはサポートの対象外となるのでカスタマイズする場合はバックアップを取り、自己責任にないますので気をつけましょう。

ただTCDテーマは管理画面から編集できる部分のみで十分な洗練された美しいサイトを作成することが可能です。

価格が高いテーマもある

TCDは2021年7月現在で77種のテーマがあります。
今後も新しいデザインのテーマが追加されていきますが、新しいものほど価格が高い傾向があります。

TCD以外の一般的なブロガー向けのテーマでは、1万円~2万円未満のテーマが多いですが、TCDでは39,800円や49,800円のテーマもあります。
当然ですが金額が高い分、他のテーマにはない豊富な機能が提供されています。

高機能なテーマが必要でないのであれば、一般的な有料テーマの価格くらいで選びましょう。

記事装飾の機能が少ない

記事を書いていくと、文章を読みやすくするために様々な装飾をすることになると思います。

テーマによっては、見出し、ボタン、吹き出しなどの枠、段落などをクリック1つで追加できる機能がありますが、TCDにはほとんど搭載されていません。

TCDの場合は、別途CSSを追加するか、「TinyMCE Advanced」などのプラグインを追加して対応する必要があります。

TCDテーマの管理画面

TCDテーマは管理画面から「写真の追加」「記事の執筆」「レイアウト変更」など作業を行っていきます。

テーごとに管理画面の見た目は少し違いますが、下記画像は参考になると思います。

テーマオプションでページやロゴの詳細設定をします。

まとめ

今回はWordPressで企業サイトを作りたい人がまず検討するべきテーマである「TCD」のメリット・デメリットを解説してきました。

なんといってもTCDテーマの最大のメリットは、WordPress初心者でもデザインが整ったサイトをすぐに制作できることです。

私はaffingerなどいくつかのテーマを使っていますが、TCDはデザインが洗練され美しいです^ ^
ぜひデモページを見ながら自分にあったテーマを検討してみてくださいね。

Copyright © 2024 はやぶさエンジニア All Rights Reserved.

]]>
Bigqueryのコメントアウトの方法は?見やすいコメントアウトの方法も解説 https://hayaengineer.com/%e3%82%af%e3%83%a9%e3%82%a6%e3%83%89%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9/gcp/bigquery/bigquery%e3%81%ae%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88%e3%82%a2%e3%82%a6%e3%83%88%e3%81%ae%e6%96%b9%e6%b3%95%e3%81%af%ef%bc%9f%e8%a6%8b%e3%82%84%e3%81%99%e3%81%84%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88/ Sat, 26 Jun 2021 01:40:00 +0000 https://hayaengineer.com/?p=9086 Copyright © 2024 はやぶさエンジニア All Rights Reserved.

]]>
★本記事は5分で読み終えることができます。

【本記事の信頼性】
京大卒の現役エンジニアである筆者がBigqueryのコメントアウトの方法について解説していきます。

未経験くん
Bigqueryのコメントアウトってどうやるの?

コメントアウトってどう使えばいいの。。
未経験ちゃん

このような悩みを解説するための記事になります。

本記事でわかること

  • Bigqueryでコメントアウトする方法
  • 見やすくて分かりやすいコメントアウトを書く方法

Bigqueryでコメントアウトする方法

さっそくコメントアウトする方法を見ていきましょう。

ショートカットはWindowsなら「ctrl + /」、Macなら「cmd + /」です。
(ちなみにこのショートカットはVisual Studio Codeなどのエディターでも同じですよ)

一行をコメントアウトする方法は以下の2つです。

-- コメントアウト 
# コメントアウト

複数行をコメントアウトするには、以下になります。

/*
コメントアウト
コメントアウト
コメントアウト
*/

見やすくて分かりやすいコメントアウトを書く方法

コメントアウトの書き方の通例としてはコメントアウト記号の後に「半角スペース」を入れることです。

あとは正直自由なので、これまでの私のエンジニア経験を元に「見やすいコメントアウト方法」について解説します。

そもそもコメントアウトする目的は以下です。

目的

ソースを書いた人以外の他人が簡単にソースコードを理解し利用できるようにすること


そこで、コメントアウトを書く際は、1年後の自分がソースコードを見て簡単に理解できるように意識して書きましょう。

まずプログラムの最初に以下を記述しましょう。

・どんな処理をするソースか
・開発者や開発日時などメタデータ

例えばこんな感じです。

# 1日単位でアクセスログからデバイスごとのアクセス数を算出する
# 同じディレクトリ内の「data」フォルダを参照する
# 2021-06-01 修正済

関数に関しては以下を記述する。(Pythonの場合で書いてます)

・入力と出力は何か
・どのような処理をする関数か

# 2つの入力値を足し算する関数
# 入力 x int, y int
# 出力 z int
def add(x, y):
  z = x + y
  return z

変数に関しては

・何を表す変数か
・変数の型(ソース内で定義する言語が多いのでケースバイケース)

# アクセスしたタイミングの時刻
access_starttime

# 離脱した時刻
access_endtime

具体的に解説しましたが、目的を意識して必要な情報を書いてください。
後々、苦しむのは自分なので笑

1つ1つ丁寧に作業していきましょう。

まとめ

今回はBigqueryのコメントアウト方法と、見やすいコメントアウトの仕方について解説しました。

未来の自分や、参照してくれる他の人のためにも簡単に理解できるコメントアウトを記述してくださいね!

Copyright © 2024 はやぶさエンジニア All Rights Reserved.

]]>
【データサイエンティスト必見】データエンジニアリング力とは? https://hayaengineer.com/%e3%83%87%e3%83%bc%e3%82%bf%e3%82%b5%e3%82%a4%e3%82%a8%e3%83%b3%e3%82%b9/data-engineering-skill/ https://hayaengineer.com/%e3%83%87%e3%83%bc%e3%82%bf%e3%82%b5%e3%82%a4%e3%82%a8%e3%83%b3%e3%82%b9/data-engineering-skill/#respond Fri, 25 Jun 2021 00:00:00 +0000 https://hayaengineer.com/?p=2571 Copyright © 2024 はやぶさエンジニア All Rights Reserved.

]]>
未経験くん
データサイエンティストには、データエンジニアリング力が必要って聞いたけど、具体的にどういうスキルなの?

今回は、このような疑問を持った人のために、データエンジニアリング力を具体的に解説していきます。

データサイエンティスト協会が推奨している身につけるべきスキルの中でも、最もハードルの高いものがこのデータエンジニアリング力です。

参考:https://www.datascientist.or.jp/news/release20211119/

このデータエンジニアリング力は、データ分析を行うための基盤を構築するスキルで、システムの要件定義から実際のコーディングまで幅広い知識を必要とします。

データ環境が整っている大企業で働きたいと言うのであれば、このデータエンジニアリング力を意識せずとも、データサイエンス力とビジネス力で戦っていくことはできます。

しかしながら、中小企業やベンチャー企業で、データ基盤の導入から行なっていきたいと言った場合には、このデータエンジニアリング力が必要となってきます。

各企業必ず一人はこのデータエンジニアリング力を持った人がいないと、データ分析を始めることができません。

この貴重な人材になりたいと言う方は、是非データエンジニアリング力を身につけていってください。

それでは、具体的にデータエンジニアリング力について、8つの項目に分けて解説していきましょう。

データサイエンスをテックアカデミーで学ぶ

週2回マンツーマンでのメンタリング、毎日15〜23時のチャット・レビューサポートで短期間でPythonを使って様々なモデルを構築し、データ分析を行うプログラム。

統計学の基礎やPythonで実際に分析する方法まで習得することができます。

※条件を満たすことで受講のために支払う受講料の最大70%が教育訓練給付金としてハローワークから支給されます。(詳細はリンク先で確認。)

環境構築

環境構築とはビジネス側の要求に対して、その要求を満たすシステムを設計することができるスキルです。

つまりシステムの要件を定義し、設計できるスキルです。

システムの要件には機能要件と非機能要件が存在します。

機能要件とは、システムの主目的となる機能に対して、設定する要件のことです。

機能要件はシステムによって、多種多様ですが、具体例をあげるとすれば、以下のようなものが挙げられます。

機能要件の例

  • データ更新頻度
  • 可視化内容
  • 分析するデータの種類

分析対象となるデータや目的は様々です。

そのため、上記に挙げたような要件は状況によって異なってきます。

データの種類に関しても、文字だけなのか、それとも画像なども入ってくるのか、によってシステム要件は変わってきます。

非機能要件とは、システムの主目的以外の部分で設定される要件のことです。

非機能要件には、一般的に以下の6つの観点があります。

非機能要件

  • 可用性
  • 性能・拡張性
  • 運用・保守性
  • 移行性
  • セキュリティ
  • 環境・エコロジー

分かりやすい言葉で説明すると、以下のような説明になります。

可用性は、必ず稼働していて欲しい時間はどの程度なのか。

性能・拡張性は、システムの処理速度やデータが増えた際に性能を上げる事は可能なのか。

運用・保守性は、システムを運用する際のコストがどのくらいか。

移行性は、別システムに移行しやすいのか。

セキュリティは、データが書き換えられたりデータが持ち出されたりしないか。

環境・エコロジーは、消費されるエネルギーが環境に影響及ばさないか。

これらの観点は、分析するデータの機密性や、データが今後どれだけ増えていくのか、またデータ分析の頻度目的などによって変わってきます。

この非機能要件を意識しないと、一時的には使えるが、1年後2年後には全く使えないといったシステムが出来上がってしまいます。

そのため、非機能要件はきちんと詰めていく必要があるのです。

今まで説明してきたように、環境構築とは、機能要件と非機能要件をまず整理し、そしてそれに合ったシステム設計を作るといったスキルになります。

もちろん、どういったシステムがあるのかということを広く把握するといったところも重要ですが、 一番重要なのは機能要件と非機能要件をきちんと分析目的に合わせて、定義してあげるといった能力です。

ぜひ、ビジネス側の要求をきちんと汲み取り、要件に落とし込むスキルを磨いていきましょう。

データ収集

データ収集とは、データを正確かつ効率的に収集するスキルのことです。

日常に存在するデータは必ずしも分析に適した綺麗なデータではないため、そこから意味のあるデータを正確にかつ素早く取り出す必要があります。

データ収集のスキルは、大きく分けて以下の三つの項目に分けることができます。

データ収集

  • データ取得
  • データ通信
  • データ統合

データ取得とは、世の中に存在するデータを取得するスキルです。

方法としては、スクレイピングや他サイトが提供しているAPIの使用、ログデータ取得のためのタグ埋め込みなどが挙げられます。

当たり前のことですが、データを収集するためには、世の中のデータを検知して、まず取得する技術が必要となります。

次にデータ通信とは、取得したデータを適切に送信するスキルです。

データを取得した後は、それを処理するサーバにデータを送信する必要があります。

この送信の際に気をつける必要があるのが、可用性です。

システムの状態によって、データが欠損してしまうと言うことが頻繁に起きてしまうと、データとしての信頼性が失われてしまいます。

そのため、取得したデータはほぼ100%に近い状態で通信できるのが望ましいです。

この可用性を満たすための通信方式を考えるのが、このデータ通信の技術では重要になってきます。

最後に、データ統合とは、異なる種類のデータをDBにて管理するスキルのことです。

取得したデータのフォーマットは様々です。

これに対してより幅広いフォーマットでデータが管理できるようにすることが大切です。

そうすることで、後に新しいデータを投入しようとした時に、データの型が合わないため投入できないと言う事態を防ぐことができます。

データ構造

データ構造とは、データを格納するDBを設計するスキルのことです。

いわゆるテーブル定義ができるかどうかと言うことです。

DBのテーブルをどのように設計するかと言うことは、取得できるデータの拡張性であったり、その後のデータ分析の多様性であったりと言った部分に影響してきます。

ここの設計は、このデータエンジニアリング力を使ったデータ分析基盤作成の肝と言っても良いでしょう。

特に、データ分析のフェーズにおいて快適にデータ分析ができるかどうかは、そこで生み出されるデータ分析の質に大きく関係してきます。

データ構造が整えられている方が、余計なことを考えずに分析ができます。

もちろん、データ分析の多様性は、ここのDB設計のみだけ決まるわけではありませんが、重要な部分にはなりますので、決して怠らないようにしましょう。 

データ蓄積

データ蓄積とは、取得したデータを分析しやすい形で格納するためのスキルです。

ビックデータにおけるデータベースは、データのやり取りの速さよりも、容量の多いデータを扱えるかといったところに、焦点が当たることが多いです。

そのため、一般的に使われているMySQLなどのデータベースとは、別のデータベースを設計する必要があります。

ビックデータにおけるデータ蓄積方式は以下の3つに分かれます。

データ蓄積方式

  • データレイク
  • データウェアハウス
  • データマート

データレイクとは、データの構造気にせずにデータをそのまま格納するデータベースのことです。

とりあえず将来使うだろうというデータを蓄積するために使います。

そのため、データレイクに蓄積されたデータは、実際の分析に向いていないことが多いです。

データウェアハウスとは、データを構造化して入れたデータベースのことです。

ここではデータが構造化されているため、分析をする際は簡単に分析を行うことができます。

データマートは、特定の目的に合わせたデータをデータウェアハウスから取り出して作ったデータベースのことです。

特定の目的に対して使われるため、個人の分析用途に合わせたデータベースを作ることができます。

今回のデータ蓄積で考慮しなければいけない部分は、データレイクとデータウェアハウスです。

この二つについて、以下の観点を考慮してシステムを作成します。

データ蓄積システム作成の観点

  • 分析処理の速さ
  • データサイズ
  • データ構造
  • セキュリティー

上記のような観点から、どういったフレームワークを使うのかを決めていきます。

一般的に、データウェアハウスやデータレイクを使う際に使う技術としては、以下のようなものが挙げられます。

システムを作るための技術

  • オンプレミス型
  • データウェアハウスアプライアンス
  • クラウド型データウェアハウス

オンプレミス型とは、自社でデータ蓄積のサービスを作る方法です。

それに対し、データウェアハウスアライアンスとは、他の企業がデータ蓄積のサービスをパッケージ化して提供してくれてるサービスを使って、データ蓄積をすると言う方法になります。

クラウド型データウェアハウスとは、クラウド上に作成されたデータウェアハウスにデータを蓄積していくといったような方法となります。

上記のような方法を検討し、どういったデータ蓄積の方向にしていくのかといったことを決めていくのが、データ蓄積で求められるスキルとなっています。

データ加工

データ加工は、蓄積したデータを分析しやすい形に加工するスキルのことです。

データをそのまま蓄積しただけでは、そこから何の知見も得ることができません。

そこで、データを分析しやすい形に加工するといったことが必要なってきます。

加工の仕方を間違えると、分析結果が実際のものと大きく乖離したものになってしまうため、論理の飛躍のない加工を行うことが重要となります。

データ加工の処理は、必要なデータを持ってくる処理と使用できるデータに変換する処理の二つがあります。

上記二つの具体的な処理内容には、以下のようなものがあります。

必要なデータを持ってくる処理

  • フィルタリング処理
  • ソート処理
  • 結合処理
  • サンプリング処理
  • 集計処理

使用できるデータに変換する処理

  • クレンジング処理
  • マッピング処理
  • 変換演算処理

一つ目の必要なデータ持ってくる処理に関しては、データを見やすいように順番を並べ替えたり、二つのデータを結合したり、データの入っていないものを除外したり、といった処理が一般的な処理です。

二つ目の使用できるデータに変換する処理としては、欠損しているデータ補間したり、形式がバラバラな情報を集計しやすくグルーピングしたり、文字や画像などの非構造データを分析可能な構造化データに変換したりといったことが挙げられます。

これらの処理を行うことによって、蓄積されたデータは分析しやすいデータに変換され、分析者が細かいことを気にしなくても簡単に分析できるようなデータ構造に変換することができます。

データ加工は情報をできるだけ落とさないようにしつつも、無駄なものを省くといった処理が必要となってきます。

したがって、細かく分析者と要件をすり合わせてながら進めていくことが大切です。

データ共有

データ共有とは、加工されたデータを関係者に対してわかりやすい形で共有するスキルです。

データを共有する先はサービスによって様々です。

部署内で共有するデータもあれば、部署外の人に共有するデータもあります。

また、社外のクライアントや場合によっては、ウェブ上に公開して不特定多数の人に見られるようなデータを生成すると言うことも考えられます。

データ共有先とそのニーズに合わせて共有方法を考えていくというのがこのデータ共有のスキルです。

提供の方法は主に三つです。

データ共有方法

  • 生データをそのまま共有する。
  • WebAPIやWebサービスを使って、Web上でデータを提供する。
  • BIツールを使って、データを可視化共有できるようにする。

一つ目の生データをそのまま共有する方法が1番わかりやすいです。

よくあるのがExcelを使ってデータを共有する方法になります。

CSVやXML、JSONなどといった形式でデータを渡すと言うことも考えられます。

こういった場合はファイル転送サービスや、データ容量が少ない場合はメール等でデータの受け渡しを行うことが多いです。

二つ目のWeb APIやWebサービスを使ってWeb上でデータが取得的にするという方法は、Web上にデータが取得できるようなAPIまたはサービスを作って、そこから一部の権限のある人もしくは不特定多数の人にデータを共有するといった方法になります。

具体的な例で言えば、株価を提供するサービスが分かりやすいです。

膨大な時系列データである株価を提供してるサイトを見たことがある人も多いかと思います。

こういったWebサービスは、Web上で特定の欲しいデータを検索し、それをWeb上で取得できるサービスであると言えるでしょう。

三つ目のBIツールを使って、データを可視化共有できるようにすると言う方法は、既存の可視化ツールを使ってデータ共有する方法です。

代表的なツールで言えばTableauなどが挙げられます。

Tableauはデータベースに格納されているデータを使って、多様な可視化ができるツールです。

データの可視化に関しては、Tableauを提供先が自由に動かしてデータを可視化したり、データを提供する側がわかりやすく可視化した後にTableauを渡すといった方法があります。

データ共有は、伝えたい相手に対してわかりやすいデータを提供するために必要なスキルです。

また権限を持っていない人に、データが漏洩しないように共有するというセキュリティ面も配慮する必要があります。

データ共有についてはあまり意識しないと言う人も多いかと思いますが、ここを意識することとでデータの活用の幅が広がり、より多様な目的にあったデータを提供できます

そのため、このデータ共有のスキルを向上させることもデータサイエンスとしては必要なことです。

プログラミング

プログラミングは、やりたいことをコンピューター上でコードを書くことで実現するスキルです。

いわゆる、プログラミング言語をどの程度自由に使えるかと言うことです。

様々なスキルを実現しようと思うと、実際にコードを理解している必要があります。

実際に、以下のようなプログラミング言語が必要になってきます。

分野 プログラミング言語
データ処理 python、SQL、C
機械学習 python(拡張プログラミング)
データ蓄積 scala、Java

プログラミング言語は知っていれば知っているほどできる事は増えていきます。

コードを書くような立場になくても、コードを読んで、どういう処理を行っているのかを理解できる程度には、コード理解しておく必要があると個人的には思っております。

そこで必要となってくるのか、実際にコードを書いたという経験です。

ですので、業務で扱うプログラミング言語がある場合には、実際に自分で書いて、小さなプロダクトでもいいので自分で実装してみても良いかと思います。

ITセキュリティ

ITセキュリティとは、セキュリティーの三要素を満たすシステムを作るスキルのことです。

セキュリティの三要素とは以下の三つになります。

セキュリティの三要素

  • 機密性
  • 可用性
  • 完全性

機密性とは、情報を特定の権限を持った人にだけアクセスできるようにすることです。

完全性とは、データを欠落させずかつ最新の状態にすることです。

可用性とは、いつでも情報にアクセスできる状態にすることです。

企業のデータは、ハッカーが狙う対象になりやすいです。

データを盗まれたり、改ざんされたり、使えなくされたりということが起きると、業務に多大な支障が生じてしまいます。

支障を避けるためにも、こういった攻撃に対応できるようなシステムを作るスキルが必要になります。

セキュリティ攻撃には、具体的には以下のような攻撃があります。

セキュリティ攻撃

  • DoS攻撃
  • SQLインジェクション
  • マルウェア
  • なりすまし

これらのセキュリティ攻撃を防ぐために、ファイヤーウォール使ってアクセスを制限したり、入力フォームに入力できる値を制限したり、またハッシュ化やマスキングなどを使ってデータの匿名化を行うといったような対策が必要となっています。

ハッカーのセキュリティ攻撃手段は日々多様化しており成長しているため、これさえ行っていけば絶対に安全という対策はありません。

日常的に、どういったセキュリティ攻撃があるのかを情報収集して、セキュリティ攻撃に対する対策を打っていくための知識のアップデートが必要になってきます。

まとめ

今回は、データサイエンティストのスキルの中でも、専門性が求められるデータエンジニアリング力について解説しました。

データエンジニアリング力は、データ分析基盤が整っていない会社で、データ分析を行っていきたいと思った時に、必ず必要となるスキルです。

大企業では、あまり気にしなくてもデータサイエンスを行うことができますが、中小企業やベンチャー企業でデータ分析を行いたいのであれば、あって損のないスキルになります。

しっかりと、データエンジニアリング力を身につけていきましょう。

その他のデータサイエンティストのスキルを知りたい方や、これからデータサイエンティストを目指す方には以下のような記事もおすすめです。


【受講料が70%OFF】AI人材のスキルをつけるオススメのAI人材育成講座を現役エンジニアが解説

★この記事は5分で読み終えることができます。 現役エンジニアである筆者がAI人材のスキルを身に付けたい人に向けた解説記事になります。政府の補助を受けて70%の受講料が返還される制度について解説していま …

続きを見る

専門性の高いデータサイエンティストを目指していきましょう!

Copyright © 2024 はやぶさエンジニア All Rights Reserved.

]]>
https://hayaengineer.com/%e3%83%87%e3%83%bc%e3%82%bf%e3%82%b5%e3%82%a4%e3%82%a8%e3%83%b3%e3%82%b9/data-engineering-skill/feed/ 0
【Bigquery】Javascriptで書けるユーザ定義関数を使うと効率が爆上がり https://hayaengineer.com/%e3%82%af%e3%83%a9%e3%82%a6%e3%83%89%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9/gcp/bigquery/%e3%80%90bigquery%e3%80%91javascript%e3%81%a7%e6%9b%b8%e3%81%91%e3%82%8b%e3%83%a6%e3%83%bc%e3%82%b6%e5%ae%9a%e7%be%a9%e9%96%a2%e6%95%b0%e3%82%92%e4%bd%bf%e3%81%86%e3%81%a8%e5%8a%b9%e7%8e%87%e3%81%8c/ Thu, 17 Jun 2021 13:17:13 +0000 https://hayaengineer.com/?p=8969 Copyright © 2024 はやぶさエンジニア All Rights Reserved.

]]>
★本記事は5分で読み終えることができます。

【本記事の信頼性】
現役エンジニアで普段業務でBigqueryを活用しデータ分析をしている筆者がJavascriptで記述できるユーザ定義関数の使い方を紹介しています。

未経験くん
Bigqueryのユーザ定義関数って何??

ループ回したり、文字列を分割したりとかSQLじゃキツイんだけど。。。
未経験ちゃん

このような悩みを解説するための記事になります。

まずはユーザ定義関数を紹介した後、書き方について解説していきますね。

この記事でわかること

  • ユーザ定義関数とは何か
  • ユーザ定義関数でできること
  • ユーザ定義関数の書き方

ユーザ定義関数とは

Googleの公式ドキュメントはこちらです。

ユーザ定義関数とはUDF(User Defined Function)と呼ばれ、Bigqueryでは「SQL」か「Javascript」で関数を作成できるものです。

SQLでもJavascriptでも書き方はほとんど同じです。

ユーザ定義関数には利用方法が以下の3種類あります。

メリット


1. 一時的なユーザ定義関数
2. 永続的なユーザ定義関数
3. 外部のスクリプトをインポートする関数

1つ目は一回限りで関数として書き出す「一時的なユーザ定義関数」があります。
2つ目は、一度関数を作成し、Bigquery上に関数を保存することで何度でも関数を呼び出すことができる機能です。
そして3つ目は、GCS(Google Cloud Storage)というクラウドストレージ上にJavascriptを保存しておくとBigqueryへ呼び出すことができるものです。

次章のできることでもいいますが、何回もこれから使うであろう処理をユーザ定義関数として保存できるので便利ですよ^ ^

ユーザ定義関数でできること

簡単にまとめると以下の2つのメリットがあります。

メリット


1. 単純なSQLでは実行できない処理ができる
2. 処理を関数としていつでも呼び出して利用できる

BigqueryではSQLを記述してデータを操作していきます。
しかし、SQLでは実装できない処理がたまに出てきます。

例えば簡単な例ですと、時刻の文字列を分割する処理です。
変な形式で時刻データを持っているシステムがうちの会社ではあるんですよね笑(ほんとやだ)
ユーザ定義関数を定義しておいて、以下のような時刻データをJavascriptでサクッとtimestamp型に変換しています。

2021617 101214 → 2021-06-17 10:12:14

こういった処理を関数化して保存しておくと効率が爆上がりです!

ユーザ定義関数の書き方

ユーザ定義関数を作るには「CREATE FUNCTION」を使います。

一時的なユーザ定義関数

まず「一時的なユーザ定義関数」から見ていきましょう。

公式サイトにも記載されている基本形は以下です。
「CREATE TEMP FUNCTION」のTEMPは一時的な関数を定義するものです。

この例では、「xとyを入力としてx*yを出力」として返します。

CREATE TEMP FUNCTION multiplyInputs(x FLOAT64, y FLOAT64) -- x,yをfloat型と定義
RETURNS FLOAT64                                           -- 戻り値をfloat型に指定
LANGUAGE js AS r"""                                       -- 言語をjsと指定
  return x*y;                                             -- 行う処理を記述
""";

SELECT multiplyInputs(a, b) FROM (SELECT 3 as a, 2 as b); -- SQLで関数を呼び出して使う

実行結果は3*2 = 6となっている。

実行結果

永続的なユーザ定義関数

続いては、永続ユーザ定義関数です。

永続ユーザ定義関数は以下のように書きます。
ポイントはプロジェクト名.データセット名.ファンクション名を記載することです。

これを実行すると自動的に指定したデータセットにファンクションが保存されます。
*データセットはあらかじめ作っておかないとダメです!!!

CREATE OR REPLACE FUNCTION `project_id.dataset_id.function_name`(x FLOAT64, y FLOAT64) -- x,yをfloat型と定義
RETURNS FLOAT64                                                                        -- 戻り値をfloat型に指定
LANGUAGE js AS r"""                                                                    -- 言語をjsと指定
  return x*y;                                                                          -- 行う処理を記述
""";

実際に、以下を実行してみます。
testfuncの中にmultinumberという関数が保存されるはずです。

CREATE OR REPLACE FUNCTION `project_id.testfunc.multinumber`(x FLOAT64, y FLOAT64) -- x,yをfloat型と定義
RETURNS FLOAT64                                                                        -- 戻り値をfloat型に指定
LANGUAGE js AS r"""                                                                    -- 言語をjsと指定
  return x*y;                                                                          -- 行う処理を記述
""";

実行するとできていますね!関数が保存できているのでいつでも呼び出すことができます。

呼び出し方は以下のようにすればOK!

select testfunc.multinumber(2,3)   -- 入力する変数の型など間違えないように。

外部のJavascriptをインポートして使う

GCPにはGCSというストレージサービスがあります。
GCSのバケットにJavascriptを保存しておくことで呼び出すことができます。
(GCSにはバケットという概念があり、フォルダのようなものと考えてください。)

まずは、GCSのmultinumber.jsには以下のように記述する。

function multiple(x, y){   // multiple関数を定義
  return x*y;          
}

Bigqueryで以下のように呼び出す。

CREATE TEMP FUNCTION hogefunc(x FLOAT64, y FLOAT64) 
RETURNS FLOAT64                                                                        
LANGUAGE js 
OPTIONS (
   library = "gs://my-bucket/multinumber.js"                       -- my-bucketにあるmultinumber.jsを呼び出す
AS r"""                                                                    
  return multiple(x,y);                                            -- multinumber.jsに記述されているmultiple関数を利用                          
""";

select hogefunc(2,3)

複雑な関数を外部に記述しておいて、Bigqueryでは呼び出すだけ!

これでBigqueryマスターです^ ^

まとめ

今回はBigqueryでJavascriptを活用して関数を定義し、作業効率を爆上げしようという記事でした。

SQLではやれないこと、やりにくいことをサクッとやる方法でした!
良いBigqueryライフを!

Bigqueryを体系的に学びたい人はUdemyを受けてみると良いですよ。
以下の記事を参考にしてみてくださいね。

Copyright © 2024 はやぶさエンジニア All Rights Reserved.

]]>