- HOME >
- 管理人
管理人
SEとして働く「分かる君」がつ運営するサイトです。 ITの難しい用語や、仕事で感じた事などを中心に"わかりやすさ"を意識して記事にしています。少しでも共感や参考にしていただける人がいたら嬉しいです。
はじめに Spring Data JPAを利用した楽観ロックの方法を紹介します。 本記事で使用するテーブル定義は次の通りです。 物理名 論理名 データ型 NOT NULL 説明 id ID BIGINT 〇 主キー(AUTO_INCREMENT) name 名前 VARCHAR(100) 〇 ユーザーの名前 version バージョン BIGINT 〇 楽観ロック用カラム ■CREATE文 CREATE TABLE `sampledb`.`lock_test` ( `id` BIGINT NOT NULL ...
はじめに MyBatisとSpring Bootを利用して「検索画面」「登録画面」「編集画面」の作成方法を紹介します。 本記事で作成する画面は次のとおりです。 ■検索画面 ■新規登録画面 ■編集画面 開発環境 開発環境名称説明開発言語Java人気の開発言語開発ツールEclipseJavaでの定番開発ツールフレームワークSpring Boot人気のSpringフレームワークをベースとしたフレームワークテンプレートエンジンThymeleafSpring Bootと相性が良いテンプレートエンジンデータベースMy ...
ネイティブコード ネイティブコードとは ネイティブコード(英:native code)とは、コンピュータのCPU(マイクロプロセッサ)が理解できる形式(機械語)で記述されたプログラムのことです。オブジェクトコードとも呼ばれています。 機械語の命令形式はCPUの種類によって異なります。 一般的に同じメーカーのCPUであれば、プロセッサ製品間は同じ命令セット(機械語で記述された命令の集まり)を共有するが、メーカーが異なれば命令セットも変わり(異なるメーカーでも同じ命令セットの場合もある)、ネイティブコードはC ...
バイトコード バイトコード(中間コード)とは バイトコード(英:bytecode)とは、仮想マシン上で動作するために作られた実行可能な中間コードのことです。 バイトコードという名前は、命令の構成がバイト指向のためバイトコードと呼ばれていたが、仮想マシン上で動作するために作られた実行可能な中間コードであれば、バイト指向でなくともバイトコードと呼ぶことが多いです。 バイトコードのイメージ例 プログラミング言語は人間が解釈しやすいように作られているため、そのままではコンピュータは理解できません。そこで、次の図の ...
オブジェクトコード オブジェクトコード(英:object code)とは、プログラミング言語で書かれたソースコードをコンピュータが直接実行できる形式に変換したコードのことです。 プログラミング言語は人間が解釈しやすいように作られているため、そのままではコンピュータは理解できません。そのためコンパイラなどを使い、コンピュータが解釈できる形式のコード(機械語)に変換してから実行します。 このコンパイラなどで生成したコードのことをオブジェクトコードといいます。 次の図は、コンパイラのイメージ例です。 コンパイラ ...
JITコンパイラ JITコンパイラ(実行時コンパイラ)とは JITコンパイラとは Just In Timeの略で、その名の通り"必要なものを必要な時に"コンパイルするコンパイラのことです。 ソフトウェア実行時にコードのコンパイルを行い実行速度の向上を図るコンパイラで「実行時コンパイラ」とも呼ばれています。 通常のコンパイラは、ソースコードから機械語(オブジェクトコード)への変換を実行前に事前に行います。 それに対しJITコンパイラは、ソフトウェア実行時にソースコード または 中間コード(バイトコード)を機 ...
バイトコードインタプリタ バイトコードインタプリタとは、バイトコード(中間コード)を実行するインタプリタのことです。 インタプリタとは「通訳者」の意味で、コンピュータが解釈できる機械語に変換しながら実行するものであり、バイトコードとは、仮想マシン上で動作するために作られた実行可能な中間コードのことです。 次の図は、バイトコードインタプリタのイメージ例です。 ソースコードを仮想マシンで動作するバイトコード(中間コード)にコンパイル(変換)し、コンパイルしたバイトコードをバイトコードインタプリタで機械語に変換 ...
トランスコンパイラ トランスコンパイラとは トランスコンパイラとは、あるプログラミング言語で書かれたソースコードを入力として受け取り、別のプログラミング言語の同等のコードを生成するコンパイラの一種です。 コンパイラが、高水準言語で書かれたソースコードを入力とし、低水準言語のコードを生成するのに対し、トランスコンパイラでは、同じ程度の水準のコードを出力します。 次の図はコンパイラとトランスコンパイラのイメージ例です。 コンパイラは、人間が解釈しやすい「高水準言語」を入力とし、コンピュータが解釈しやすい「低水 ...
クロスコンパイラ クロスコンパイラ(英:cross compiler)とは、開発している環境(コンパイラが動作している環境)とは異なる環境(プラットフォーム)向けに実行可能なコードを生成するコンパイラの一種です。 またクロスコンパイラを使い、異なる環境で動作するコードを生成することをクロスコンパイル(英:cross compile)といいます。 クロスコンパイラは主に組み込みシステム(電化製品などの組み込まれているコンピュータシステム)向けのコンパイラや、マルチプラットフォーム(異なる環境で同じように動作 ...
TypeScript(タイプスクリプト) TypeScriptとは、マイクロソフト社が2012年に開発・公開したプログラミング言語で、JavaScriptのスーパーセットです。 スーパーセットとは「上位互換」のことで、JavaScriptが持つ機能を維持しつつ、TypeScriptとしての新しい機能を追加した言語という意味です。 TypeScriptはそのまま実行するのではなく、トランスコンパイラと呼ばれるものでJavaScriptプログラムに変換してから実行します。 TypeScriptの特徴 静的型付 ...
Java仮想マシン Java仮想マシン(英:Java Virtual Machine)とは、Javaプログラムを実行するためのソフトウェアです。「Java VM」や「JVM」と略されて表現されることが多いです。 Javaバイトコードで記述されたコンピュータプログラムを解釈し、そのコンピュータで実行可能な形式のコードに変換して実行します。 さまざまな環境でJavaプログラムを動かすことができる Javaは「Write once, run anywhere」(一度プログラムを書けば、どのコンピュータでも動く) ...
Go(ゴー) Go(Go言語)とは、Googleが開発・公開しているプログラミング言語で、2009年に発表、2012年にバージョン1.0がリリースされています。GolangやGo言語と表記されることもあります。 Goは「高速で信頼性が高く、効率的なソフトウェア開発」ができる言語として登場したもので、コードがシンプルであり簡単な記述でコーディングできるのが特徴です。 2009年の発表当初は、LinuxとMac OS Xしかサポートしていませんでしたが、2012年にリリースされたバージョン1.0からはWind ...
Kotlin(コトリン) Kotlinとは、ジェットブレインズ(JetBrains)社(チェコ共和国の首都プラハに本社を置くソフトウェア開発企業)が2011年に発表したプログラミング言語です。 世界中で使用されている人気言語である Javaをもっと簡潔で安全性の高いプログラミング言語になるように改良して作られたのが Kotlinです。 Kotlinの特徴 Java仮想マシン(Java VM)上で動作する Javaはサン・マイクロシステムズが「Write once, run anywhere」(一度プログラ ...
Swift(スウィフト) Swiftとは「iPhone」や「iPad」「Mac」などのApple製品向けのアプリケーションを開発するためのプログラミング言語です。また、Webアプリケーション開発などを行うこともできます。 Objective-Cの後継言語として、2014年にAppleが発表した言語で、C言語がベースとなっているObjective-Cに比べ、簡易な構文で記述できるのがSwiftの魅力です。 「Swift」と「Objective-C」の関係 基本的にApple製品向けのアプリケーション開発を他 ...
Objective-C(オブジェクティブ シー) Objective-Cとはプログラミング言語の一種で、C言語をベースにSmalltalk型のオブジェクト指向機能を持たせた上位互換言語です。 ※Smalltalk(スモールトーク)とは、1970年代にアラン・ケイ(Alan C. Kay)氏らが考案したオブジェクト指向のプログラミング言語です。 Objective-Cは、macOSのアプリ開発やiOS向けのアプリ開発(iPhoneやiPad向けのアプリ開発)を得意としているため、macOSやiOS向けのアプ ...
C#(シーシャープ) C#(シーシャープ)とは、マイクロソフト社のアンダース・ヘルスバーグ氏が開発したプログラミング言語です。 「C言語」や「C++」をもとにマイクロソフト社の.NET Framework(マイクロソフト社が開発したアプリケーション開発・実行環境)向けのソフトウェア開発に適した仕様に改良したものであり、2002年に最初のバージョンが公開されています。 C#の特徴 オブジェクト指向言語 C#は、C++やJavaなどの言語と同じで「オブジェクト指向」を採用しています。 従来のプログラミング言語 ...
Java(ジャバ) Javaとは、1995年にサン・マイクロシステムズ(Sun Microsystems)が開発したプログラミング言語です。サン・マイクロシステムズは2010年にオラクル(Oracle)に買収されているため、現在はオラクルがJavaを提供しています。 Javaの歴史 1995年にJavaベータ版が公開 Javaの歴史は、1990年にサン・マイクロシステムズが家電製品に組み込まれているコンピュータ向けのプログラミング言語を開発するためにプロジェクト(グリーンプロジェクト)を立ち上げたことから ...
JavaScript(ジャバスクリプト) JavaScriptとは、Webブラウザ上で動作するプログラミング言語です。 インターネット上で表示されているWebページは、HTML(HyperText Markup Language)という書式で書かれています。HTMLだけでもWebページを作成することはできますが、Webページに動きを加えたり、ダイアログを表示したり、イベント処理を実装したりと、JavaScriptを使うことでWebページにさまざまな機能を実装することができます。 利用するユーザーが直接目に ...
PHP(ピー・エイチ・ピー) PHPとは、Webアプリケーションの開発を得意とするプログラミング言語です。 PHPの最初のバージョンは1995年にラスマス・ラードフ氏により公開され、当初は「Personal Home Page Tools」の略とされていましたが、「Personal Home Page Tools」だと個人用という印象があるため、1998年のPHP 3.0からは「PHP: Hypertext Preprocessor」という表記が用いられるようになっています。 PHPの特徴 サーバサイドの ...
Ruby(ルビー) Rubyとは、1995年に日本人のまつもとゆきひろ氏(通称: Matz)により開発されたオブジェクト指向スクリプト言語です。(※スクリプト言語とは簡易的なプログラミング言語のことです) Rubyという名前は、プログラミング言語のPerl(パール)が6月の誕生石であるパール(真珠)と同じ発音のため「Perlに続く」という意味で、7月の誕生石であるRuby(ルビー)と名付けられたといわれています。 「Perlよりも強力で、Python2よりもオブジェクト指向な言語が欲しかったんだ」 出典: ...