各高級言語が機械語に変換されるまでの道筋を纏めてみた
1. はじめに
我々が普段使用しているコンピュータは2進数(ブール代数)を採用しており、半導体の状態が導体か絶縁体かの区別しかありません。
これを01のみで表現する機械語と言いますが、人間が読み書きすることは困難を極めるため、より自然言語に近い高級言語が考案されました。
今回はC Java PHPという代表的な高級言語がいかにして機械言語に変換されていくかにフォーカスを当ててみたいと思います。
我々が普段使用しているコンピュータは2進数(ブール代数)を採用しており、半導体の状態が導体か絶縁体かの区別しかありません。
これを01のみで表現する機械語と言いますが、人間が読み書きすることは困難を極めるため、より自然言語に近い高級言語が考案されました。
今回はC Java PHPという代表的な高級言語がいかにして機械言語に変換されていくかにフォーカスを当ててみたいと思います。
以前に標準機能で実装していたイベント管理ページをカスタムモジュールにて再実装してみました。
すると、なんとなく見た目が綺麗に整った感じがします。(右窓がカスタム)
これは何故かというと、使っている描画の仕組みが違うからです。
標準機能は、Drupal汎用部品なのに対し、カスタムはそれ専用です。
なんで実装量が増えるというデメリットはあるものの、汎用的な表示にならない為、綺麗な画面を作ることが可能なのです。
今回はカスタムテーマに関するアクイアジャパンのウェビナーをベースに、どのファイルが・どこに配置され・どのような役割を持つのかというファイル構成に焦点を当てて体系的に解説します。
ウェビナーにてDrupalカスタムモジュールの基礎からPHPUnit作成まで学びました。
https://www.youtube.com/watch?v=c3GCK5D4WSE&list=PLVkpj3GMKNm2n_u-gOCBhDtqXTDxwhqjM
そこで今回は特に印象に残ったCRUD操作について掘り下げて行こうかと思います。
ここではDrupal Schema APIというDBテーブル構造をPHPの配列として定義・管理する仕組みを使います。
1.はじめに
イベント管理する際に、誰が投票したかを認証ユーザに見せるかどうかを場合によって任意で使い分けたいシーンが多いと思われます。
なので、今回はViewsというシステム内部のデータロード処理そのものを条件分岐させる設定をしていきます。
2.実装方法
今回は描画用の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をベースに、日本の大規模開発向けにガチガチのルールと共通機能を被せた「開発の全体見取り図(アーキテクチャ標準)」です。
プロジェクトの要件やチーム体制によって、どちらを採用すべきかの基準をまとめました。