ドルパルで投票結果を棒状グラフ化して分かりやすくする手順
今回は描画用のChartsモジュールを使います。
WebformとViewsも組み合わせます。
完成イメージはこちらです。
今回は描画用のChartsモジュールを使います。
WebformとViewsも組み合わせます。
完成イメージはこちらです。
日々、ともにしてきてDatabase、特にリレーショナルデータベース(以降、DBとして略称*1)についてまとめました。
MySQL
まずは世界で最も普及しているオープンソースDB。
主に小〜中規模なシステムや、SNS、Webアプリケーションに使われています。手入れのための時間が少なく、シンプルで分かりやすいです。また、ネットでの共有情報が多いため、トラブルの解決は早いです。
基本は無料で使えるが、どうやら課金サービス(DB以外のサービスとなる)もあります。また、AIも始めたようです。ここら辺についてはいずれの機会があればということにしましょう。
本書『酒屋の娘、Webサイト制作します! Drupal 10で小さな商店街がDXに挑戦!』(インプレス NextPublishing)は、オープンソースCMSであるDrupal 10を用い、地域商店街のWebサイトをノーコードで構築するプロセスを体系的に解説した技術書です。本書は全9章で構成されており、単なる操作説明に留まらず、Web制作のワークフローに沿った実践的な内容となっています。以下に各章の要点を詳しくまとめます。
JavaのWebアプリケーション開発において、Spring MVCとTERASOLUNA(テラソルナ)は頻繁に比較されます。中身の技術要素は共通していますが、実務での役割や導入されるプロジェクトの性質は大きく異なります。
一言で言えば、Spring MVCが「自由度の高い汎用的なフレームワーク」であるのに対し、TERASOLUNAはSpring MVCをベースに、日本の大規模開発向けにガチガチのルールと共通機能を被せた「開発の全体見取り図(アーキテクチャ標準)」です。
プロジェクトの要件やチーム体制によって、どちらを採用すべきかの基準をまとめました。
テラソルナ経験者が新規にドルパルを学習する場合は、先ずはテラソルナとの比較から入るのが都合良いかなと思います。
なぜなら両社は大規模開発時に使う為、書き方に制約を設けているという点で似ているからです。(ザックリ言うとPHP版テラソルナがドルパルといったところ)
また、テラソルナがスプリングブートベースなのと同じで、ドルパルもシンフォニーベースということになります。
前回ではCASE式の書き方を学びました。 ここからは、実際にどう使うのか、また「なぜWHERE句ではなくSELECTで分岐するのか」を掘り下げます。
WHEREで分ける vs SELECTで分ける
SQLの条件分岐には、2つの考え方があります。
WHERE句で行そのものを絞り込む
SELECT句(CASE)で値だけを変える
例えば「男性は‘男性’、女性は‘女性’と表示したい」というだけなら、 WHEREを使うよりもCASEの方がシンプルです。
SQLを学び始めてしばらくすると、「条件によって表示内容を変えたい」という場面に出会う可能性があります。 たとえば「点数が90以上なら“優”、それ以外なら“良”や“可”を出したい」といったケースです。 このとき活躍するのが、CASE式です。
CASE式は、SQLの世界でいうjavaの「if文」や「switch文」のようなものです。 1つの条件を見て、「このときはこれ、それ以外はこれ」といった分岐を実現できます。 特にSELECT文の中で使うと、結果を人が見やすい形に変えたり、分類したりできます。
CASE式の書き方は2パターンあります。
MySQLのCASE式には、次の2種類があります。 これはMySQL公式マニュアルでも説明されています。(dev.mysql.com )
JUnitとGradleでのテスト実行 最初に学んだのは、JUnitのテストをGradleでビルド・実行する方法です。GradleはJavaのプロジェクトを管理・自動化するビルドツールで、テストも簡単に実行できます。
例えば、次のコマンドを使うだけでJUnitのテストがすべて実行されます。
./gradlew test
このコマンドを実行すると、src/test/java フォルダにあるJUnitテストクラスが対象になり、テスト結果がコンソールに出力されます。テストに失敗すればエラー内容が表示され、成功すれば「BUILD SUCCESSFUL」と表示されます。
■ テストってなに?なぜ必要?
テストとは簡単にいうと「このプログラム、ちゃんと正しく動いてるかな?」を確認する作業です。
入力に対して、正しい結果が返ってくるかエラーが起きてもちゃんと処理できるかプログラム同士がうまく連携できているか
…など、いろんな視点からチェックします。
◆ テストの種類って?
実際の開発では、いくつかの段階に分けてテストを行います。
テストの種類
内容
単体テスト
小さな部品(関数やクラス)が正しく動くか
統合テスト
複数の部品をつなげたときにうまく動くか
システムテスト
全体として期待通りに動作するか