分かる君

「分かる君」が運営するサイトです。 ITの難しい用語や、仕事で感じた事などを中心に"わかりやすさ"を意識して記事にしています。少しでも共感や参考にしていただける人がいたら嬉しいです。

2024/8/28

【初心者向け】ロリポップでWordPressブログの始め方

ブログ開設に必要なもの ロリポップとWordPressでブログを始める方法について説明する前に、まずはブログを開設するために必要なものを説明します。 ブログを始めるには「ドメイン」「サーバー」「ブログ」の3つが必要です。 サーバーは『インターネット上の土地』のイメージです。家は土地の上に建てます。それと同じでブログはサーバーに配置します。そして、サーバーに配置したブログを公開するためには、インターネット上の住所である「ドメイン」が必要です。 サーバーは「ロリポップ」などのレンタルサーバーで借り、ドメインは ...

2024/8/28

【初心者向け】アフィリエイトとは?始め方と仕組みを図解で解説

アフィリエイトとは アフィリエイトとは、ウェブサイトやブログを使って稼ぐことができる「成果報酬型広告」と呼ばれるインターネット広告手法のひとつです。 YouTubeで稼ぐ人のことを「ユーチューバー」と呼ぶのと同じで、アフィリエイトで稼ぐ人のことを「アフィリエイター」といいます。 次の図はアフィリエイトのイメージ例です。 企業の商品やサービスを「アフィリエイター」がウェブサイトやブログで紹介し、それを見た読者が購入・契約すると「アフィリエイター」に成果報酬が入るという仕組みです。 アフィリエイトは無料で始め ...

2025/2/15

20代未経験からIT業界への転職を成功させる方法

20代未経験でもIT業界に転職できる AI(人工知能)やIoT(モノのインターネット)が当たり前の時代になり、IT技術は私たちの生活に欠かせないものになっています。 そのため、IT技術者の需要は高くITエンジニアは不足していると言われており、未経験者歓迎の求人も少なくありません。ただし、未経験でIT業界へ転職する際の難易度は年齢が大きく関係します。 20~25歳は転職しやすい 新卒入社して、3年以内に転職するのであれば「第二新卒」として扱われます。 IT業界に限らず他の業界でも「第二新卒」の需要は高く「第 ...

2025/2/15

言語プロセッサとは?図解でわかる【基本情報技術者試験対策】

基本情報技術者試験や応用情報技術者試験で出題される「言語プロセッサ」の問題。 コンパイラやインタプリタの動きを理解していないと難しく感じる問題ですが、動きを理解していればそこまで難しい問題ではありません。 本記事では「言語プロセッサ」について図解を利用して分かりやすく解説しています。 言語プロセッサ 言語プロセッサとは、プログラミング言語で作られたプログラムの翻訳作業を行うソフトウェアの総称です。 プログラミング言語は人間が理解しやすいように作られた言語のため、プログラミング言語で記述したソースコードをコ ...

2022/8/17

ソースコードとは

ソースコード ソースコードとは ソースコード(英:source code)とは、プログラミング言語で書かれたコンピュータプログラム(テキストファイル)のことです。 アプリケーションはプログラミング言語で作られています。 例えば、ネットショップのようなWebアプリケーション、スマートフォンのアプリなど、プログラミング言語で記述されたソースコードには、アプリケーションが動作するための一連の処理の流れが書かれています。 そして、このソースコードを書くのがプログラマの仕事です。 コンピュータはソースコードを理解で ...

2022/8/22

オブジェクトコードとネイティブコードの違い

オブジェクトコード・ネイティブコード・バイナリコードの違い オブジェクトコードとネイティブコードは同じ意味の言葉です。 ただし、コンパイラによって変換されたコードをオブジェクトコード、特定のCPU(マイクロプロセッサ)専用に変換されたコードのことをネイティブコードと呼ぶことが多いです。 オブジェクトコードとは オブジェクトコードとは、プログラミング言語で書かれたソースコードをコンピュータのCPU(マイクロプロセッサ)が直接実行できる形式に変換したコードのことです。 プログラミング言語は人間が理解しやすいよ ...

2024/6/12

機械語(マシン語)とは

機械語 機械語(マシン語)とは 機械語(きかいご)とは、コンピュータの中央処理装置(CPU)が直接理解し実行することができる命令からなる言語のことです。マシン語とも呼ばれています。 CPUが直接理解できる言語が機械語であり、コンピュータ内の動作を機械語により指示します。 例えば、記憶装置と演算装置間の情報のやりとり、演算装置の内部における算術演算などの処理、入出力チャネルに対する指令、入出力チャネルとレジスタの間の情報のやりとりなど、コンピュータ内の動作をひとつひとつ指示します。 機械語と互換性 機械語は ...

2022/8/15

バイナリコードとは

バイナリコード バイナリコード(英:binary code)とは、コンピュータ(CPU)が理解できる2進数で表現されたコードのことです。オブジェクトコードやネイティブコードとも呼ばれています。 プログラミング言語は人間が解釈しやすいように作られているため、そのままではコンピュータが理解できません。 そのためコンパイラやインタプリタなどを使い、コンピュータが解釈できる形式のコード(機械語)に変換してから実行します。 上記の例はコンパイラのイメージ例です。プログラミング言語で書かれたソースコードを、コンピュー ...

2024/5/13

MyBatisで複数のレコードを一括で更新する方法

【MyBatis】大量データを一括更新する MyBatisで大量データを一括で更新する方法を紹介します。 使用するDBMS(データベース管理システム)により一括更新の方法が異なるため、本記事では「Oracle」「PostgreSQL」「SQL Server」「MySQL」それぞれの方法を紹介します。 ※今回の例では、下記のUPDATE文を一括更新しています。 [通常のUPDATE文] <!-- 更新 --> <update id="update"> UPDATE ...

2024/5/13

MyBatisで一括登録(バルクインサート)する方法

【MyBatis】BULK INSERTでデータを登録する方法 MyBatisでデータを一括登録(BULK INSERT)する方法を紹介します。 また「一括登録(BULK INSERT)」と「1件ずつ登録(INSERT)」する方法で 1万、10万、100万レコードを登録したときにかかる処理時間を測定しています。 本記事で使用するテーブル定義は次のとおり。 物理名論理名データ型NOT NULL説明idIDBIGINT〇主キー(AUTO_INCREMENT)name名前VARCHAR(100)〇ユーザーの名前 ...

2024/5/13

MyBatisでレコードを物理削除(DELETE文)する方法

MyBatisでDELETE文を実行する方法 MyBatisでDELETE文を使いレコードを物理削除する方法を紹介します。 SQL文(XMLファイル) MyBatisのSQL文(XMLファイル)は次のとおりで、<delete>~</delete>内にDELETE文を書くことができます。 [XMLファイル] <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUB ...

2024/5/13

MyBatisでレコードを更新(UPDATE文)する方法

MyBatisでUPDATE文を実行する MyBatisでUPDATE文を使いレコードを更新する方法を紹介します。 本記事で使用するテーブル定義は次のとおり。 物理名論理名データ型NOT NULL説明idIDBIGINT〇主キー(AUTO_INCREMENT)name名前VARCHAR(100)〇ユーザーの名前address住所VARCHAR(255)ユーザーの住所phone電話番号VARCHAR(50)ユーザーの電話番号update_date更新日時DATETIME〇最終更新日時create_date作 ...

2024/5/13

MyBatisでレコードを登録(INSERT文)する方法

MyBatisでINSERT文を実行する MyBatisでINSERT文を使いレコードを登録する方法を紹介します。 本記事で使用するテーブル定義は次のとおり。 物理名論理名データ型NOT NULL説明idIDBIGINT〇主キー(AUTO_INCREMENT)name名前VARCHAR(100)〇ユーザーの名前address住所VARCHAR(255)ユーザーの住所phone電話番号VARCHAR(50)ユーザーの電話番号update_date更新日時DATETIME〇最終更新日時create_date作 ...

2024/5/13

【MyBatis】resultMapで自動的にマッピング(autoMapping)する方法

階層構造でautoMappingを利用する方法 MyBatisでは、次のように<resultMap>を利用することで、ネストしたリスト(階層構造)を手動でマッピングできます。 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org ...

2024/5/13

Spring MyBatisでIN句を使用する方法

MyBatisでIN句を使用する方法 MyBatisで次のようにIN句を使ったSQL文を生成する方法を紹介します。 SELECT * FROM userinfo WHERE id IN ('1','2'); SQL文(XMLファイル) MyBatisのSQL文(XMLファイル)は次のとおりです。 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBL ...

2024/5/13

MyBatisでWHERE句を動的に生成する方法

MyBatisでWHERE句を動的に生成する方法 WHERE句を静的に生成すると困るケース 例えば、MyBatisで次のような動的SQLを作成したとします。 <select id="search" resultType="com.example.demo.entity.UserInfo"> SELECT * FROM userinfo WHERE <if test="id != null"> id = #{id} < ...

2024/5/13

MyBatisでif文(条件分岐)を使用して動的SQLを生成する

MyBatisで条件分岐を実装する ifで条件分岐 MyBatisで「if test」を使えば、「もし~だったら」という条件文が書けます。 次の例で、もし「idがnull以外」の場合「AND id = #{id}」の条件をWHERE句に追加するという条件分岐を作成しています。 <select id="search" resultType="com.example.demo.entity.UserInfo"> SELECT * FROM userinfo ...

2024/12/8

【MyBatis】ネストしたリスト(階層構造)をマッピングする方法

MyBatisでネストしたリストをマッピングする方法 MyBatisで親子関係になっているネストしたリスト(階層構造)をマッピングする方法を紹介します。 例えば、次のようなテーブルがあるとします。(会社テーブルと社員テーブルの関係性は1:n) この2つのテーブルを結合したSQL文を発行し、下記のようなオブジェクトにマッピングしたい、というケースはよくあります。 SELECT c.id ,c.name ,e.id AS employeeId ,e.name AS employeeName ,e.addres ...

2024/5/14

MyBatisでLIKE句(部分一致、前方一致、後方一致)を実装する

MyBatisでLIKE検索 CONCAT関数を使用する MyBatisで「部分一致」「前方一致」「後方一致」検索する場合は、LIKEとCONCAT関数を使って記述します。 ■部分一致 LIKE CONCAT('%', #{value}, '%') ■前方一致 LIKE CONCAT(#{value}, '%') ■後方一致 LIKE CONCAT('%', #{value}) 下記はMyBatisでLIKE句を使ったSELECT文の例です。 ...

2023/2/1

Spring + MyBatisで楽観ロックを実装する

はじめに MyBatisを利用した楽観ロックの方法を紹介します。 MyBatisはSpring Data JPAのようにライブラリとして楽観ロックを行う仕組みは提供していないため、独自で実装する必要があります。 本記事で使用するテーブル定義は次の通りです。 物理名 論理名 データ型 NOT NULL 説明 id ID BIGINT 〇 主キー(AUTO_INCREMENT) name 名前 VARCHAR(100) 〇 ユーザーの名前 update_date 更新日時 TIMESTAMP 〇 楽観ロック用 ...