新着記事
ITの専門用語を図解で解説。仕事で役立つITの基礎知識を身につけよう。
生成AIとChatGPT
進化が止まらないIT技術は、さまざまな業種で導入されています。2022年11月のChatGPT公開を機に勢いがついた生成AIの市場規模は、日本では2030年までに年平均47.2%増で成長し、需要額で約1.8兆円まで拡大すると見られています。
情報処理技術者試験対策
ITパスポート
ITパスポートは、基礎的なIT教養を幅広く身につけられることで人気の国家試験です。これからITの知識を身につけていきたい方におすすめです。
確率・順列・組み合わせを分かりやすく解説 | ITパスポート講座
本記事で学べること 確率の求め方を学ぶ 順列の求め方を学ぶ 組み合わせの求め方を学ぶ ITパスポート過去問の解き方を学ぶ 確率 確率とは、ある事象が発生する可能性の度合いを数値で表現したものです。 確率は次の式で求められます。 場合の数とは、ある事柄に対して、全部で何通りの場合があるかを示します。 例えば、サイコロを1回振るときの「場合の数」は、出目が1~6なので、6通りです。 なので、サイコロを振って「5」がでる確率は1/6です。(求める場合の数は1、すべての場合の数は6) 確率の積の法則 複数の事象が ...
人間中心のAI社会原則とAI活用ガイドライン | ITパスポート講座
本記事で学べること ディープフェイクについて学ぶ 人間中心のAI社会原則について学ぶ AI活用ガイドラインについて学ぶ 説明可能なAIについて学ぶ ITパスポート過去問の解き方を学ぶ AI(人工知能)とは AI(人工知能)とは、Artificial Intelligence(アーティフィシャル・インテリジェンス)の略で、人が実現するさまざまな知的な活動を行うプログラムやシステムのことです。 コンピュータの性能が大きく向上したことにより、機械であるコンピュータが「学ぶ」ことができるようになりました。 身近な ...
フローチャート(流れ図)問題の解き方 | ITパスポート講座
本記事で学べること アルゴリズムについて学ぶ フローチャート(流れ図)について学ぶ ITパスポート過去問の解き方を学ぶ アルゴリズムとは アルゴリズム(英:algorithm)とは、直訳で「算法」や「問題を解く手段」という意味の言葉で、特定の問題や課題を解決する手順や計算方法、処理手順のことです。 コンピュータに問題や課題を処理させるには、処理手順を与える必要があります。このコンピュータに与える問題や課題を解決するための処理手順をアルゴリズムといいます。 フローチャート(流れ図) フローチャートとは、アル ...
プログラム言語(プログラミング言語)とは | ITパスポート講座
本記事で学べること プログラム言語について学ぶ コンパイラとインタプリタについて学ぶ ノーコードとローコードについて学ぶ ITパスポート過去問の解き方を学ぶ プログラム言語 プログラム言語(プログラミング言語)とは、コンピュータに対して一連の処理手順を与えるために作られた言語です。 コンピュータが理解できるのは「0」と「1」で構成された機械語です。そのため、人間が理解できる「日本語」や「英語」でコンピュータに指示を伝えてもコンピュータは理解できません。 そこで「コンピュータが理解できる機械語に変換しやすい ...
データ構造(配列/リスト/キュー/スタック/木構造)| ITパスポート講座
本記事で学べること データ構造(配列/リスト/キュー/スタック/木構造)について学ぶ ITパスポート過去問の解き方を学ぶ データ構造 データ構造とは、データの集まりをコンピュータが扱いやすように、特定の形式で整理して格納する方法のことです。 データ構造には、主に次のようなものがあります。 配列 リスト キュー スタック 木構造 配列 配列は、複数のデータ(同じ型のデータ)を連続的に並べたデータ構造です。 次の図は、配列のイメージ例です。 配列の各要素には、先頭から0、1、2、3、・・・と要素番号が付けられ ...
ディープラーニングと生成AI | ITパスポート講座
本記事で学べること ディープラーニング(バックプロパゲーション、過学習、ハルシネーション)について学ぶ 生成AIについて学ぶ ITパスポート過去問の解き方を学ぶ AIとは AI(人工知能)とは、Artificial Intelligence(アーティフィシャル・インテリジェンス)の略で、人が実現するさまざまな知的な活動を行うプログラムやシステムのことです。 コンピュータの性能が大きく向上したことにより、機械であるコンピュータが「学ぶ」ことができるようになりました。 身近な例では、SiriやGoogle A ...
基本情報技術者試験
基本情報技術者試験はITパスポートの上位資格です。本格的にエンジニアやIT業界で仕事をする方におすすめです。
システムの信頼性設計とは?図解でわかる【基本情報技術者試験対策】
問題 フェールセーフの考え方として,適切なものはどれか。 ア:システムに障害が発生したときでも,常に安全側にシステムを制御する。 イ:システムの機能に異常が発生したときに,すぐにシステムを停止しないで機能を縮退させて運用を継続する。 ウ:システムを構成する要素のうち,信頼性に大きく影響するものを複数備えることによって,システムの信頼性を高める。 エ:不特定多数の人が操作しても,誤動作が起こりにくいように設計する。 基本情報技術者令和3年免除 問15 問題 フォールトトレラントシステムを実現する上で不可欠な ...
メモリリークとガベージコレクションがわかる【基本情報技術者試験対策】
問題 メモリリークの説明として,適切なものはどれか。 ア:OSやアプリケーションのバグなどが原因で,動作中に確保した主記憶が解放されないことであり,これが発生すると主記憶中の利用可能な部分が減少する。 イ:アプリケーションの同時実行数を増やした場合に,主記憶容量が不足し,処理時間のほとんどがページングに費やされ,スループットの極端な低下を招くことである。 ウ:実行時のプログラム領域の大きさに制限があるときに,必要になったモジュールを主記憶に取り込む手法である。 エ:主記憶で利用可能な空き領域の総量は足りて ...
デッドロックとは?図解でわかる【基本情報技術者試験対策】
基本情報技術者試験や応用情報技術者試験で出題されるデッドロックの問題。システム開発の現場でもよく耳にする言葉であり、エンジニアであれば知っておきたい知識です。 本記事では、デッドロックについて図解で分かりやすく解説しています。 排他制御とロック 排他制御とは 排他制御とは、共有資源を複数のタスク(プログラム)が同時に操作しても問題なく動作できる仕組みのことです。 例えば、次の図のように共有資源に対して「+1」を加算するプログラムAとプログラムBがあるとします。 本来であれば、共有資源の値が「10」でその値 ...
2の補数とは?図解でわかる【基本情報技術者試験対策】
コンピュータで負の数をあらわすのに使用する「2の補数」、「2の補数」は理解してしまえば、そこまで難しい言葉ではありません。しかし、基本情報技術者試験では単純に「2の補数」を求めるだけの問題が出題されることもありますが、上記の過去問のようにそうではないことも多いです。 本記事では「2の補数」について図解で分かりやすく解説していきます。 2の補数 補数とは「補う数」という意味で「足すと桁が1つ上がる数のうち最も小さい数」のことを「基数の補数」といいます。 例えば、10進数の「4」という数に「6」を足すと、桁が ...
マルチプログラミング(マルチタスク)とは?図解でわかる【基本情報技術者試験対策】
基本情報技術者試験や応用情報技術者試験で出題されるマルチプログラミングの問題。過去問を見ると難しく感じる問題です。しかし、マルチプログラミングの動きを理解していれば、そこまで難しい問題ではありません。 本記事では、マルチプログラミングについて図解で分かりやすく解説していきます。 タスクの状態遷移 タスクとは、コンピュータが処理する作業の最小単位のことで、コンピュータが処理するプログラムもタスクです。 タスクには「実行可能状態」「実行状態」「待機状態」の3つの状態があり、次の状態遷移図のとおりに遷移します。 ...
コンピュータの誤差とは?図解でわかる【基本情報技術者試験対策】
コンピュータで発生する誤差には「丸め誤差」「打切り誤差」「桁落ち」「情報落ち」などがあります。 本記事では「丸め誤差」「打切り誤差」「桁落ち」「情報落ち」について図解で分かりやすく解説していきます。 コンピュータの誤差 コンピュータで小数を扱う方法の1つに「浮動小数点数」があります。浮動小数点数では、小数で表現できる数の範囲が決まっています。 例えば、32ビット形式の浮動小数点数では、仮数部は24ビットです。 このように、浮動小数点数で小数を表現する場合、表現できる数の範囲が決まっており、限られたビット数 ...
YouTubeでも解説中
YouTubeの動画でも解説しています。YouTubeチャンネルはこちら
プログラミング講座
for文(繰り返し)の使い方 | 初心者でもわかるJava入門
はじめに 前回の記事では、Javaの条件分岐(if文)について紹介しました。 本記事では、Javaの繰り返し処理(for文)について紹介します。 for文を使った繰り返し処理 for文は、繰り返し処理を行うための制御文です。for文では、カウンタを用意してその値によって何回繰り返すかを決めます。 以下は、for文の書き方の例です。 上記例ではカウンタの初期値を「int i = 0;」、繰り返しを続けるための条件を「i < 10」、カウンタの増え方を「i++」と設定しています。 for文の使用例 それ ...
例外(try-catch)の書き方 | 初心者でもわかるJava入門
はじめに 前回の記事では、Javaの列挙型について紹介しました。 本記事では、Javaの例外について紹介します。 例外とは 例外とは、プログラムを実行したときに起こるエラーのことです。 プログラムを作る時、正常系(想定している正しい動作)の動作を作るのは当たり前のことです。ただ、正常系の動作しか考慮していないと、想定外の使われ方をしたときやプログラムにバグ(プログラムに潜む誤り)があるとき、通信異常が発生したときなどに問題が発生します。 そのため、プログラムを作るときは異常系(想定していない操作)の動作を ...
if文(条件分岐)の使い方 | 初心者でもわかるJava入門
はじめに 前回の記事では、Javaの演算子(比較演算子、条件演算子、論理演算子)について紹介しました。 本記事では、Javaの条件分岐(if文)について紹介します。 if文を使った条件分岐 if文は条件によって処理を分けるときに使う制御文です。 if文の使用例 それでは、実際にプログラムでif文を使用した条件文の例を紹介します。if文の書き方は次のとおりです。 次の例では、もし「変数age」が20だったら"20歳です"という文字列を表示しています。 [if文の例] public class IfSampl ...
コンストラクタとは?初心者でもわかるJava入門
はじめに 前回の記事では、Javaのメソッドについて紹介しました。 本記事では、Javaのコンストラクタについて紹介します。 コンストラクタとは コンストラクタとは、オブジェクトの生成(インスタンスの生成)とともに自動的に呼び出される特殊なメソッドです。 次の例のように「new Sample()」とSampleクラスのオブジェクトを生成するタイミングでコンストラクタは動作します。 コンストラクタは、クラス名と同じ名前にします。 そして、コンストラクタには戻り値がありません。値を返すことができないので、re ...
オーバーライドとは?初心者でもわかるJava入門
はじめに 前回の記事では、Javaの継承について紹介しました。 本記事では、Javaのオーバーライドについて紹介します。 オーバーライドとは オーバーライドとは、継承元であるスーパークラス(親クラス)で定義されているメソッドを、サブクラス(子クラス)で書き換えることです。 スーパークラスにあるメソッドと、同じ名前、同じ引数のメソッドをサブクラスに記述することでオーバーライドすることができます。 以下の図は、オーバーライドの例です。 スーパークラスにある「cry」というメソッドを、サブクラスに定義することで ...
【Java入門】Javaとは | 初心者向けプログラミング講座
Javaとは コンピュータで動くプログラムを作成するための言語のことを「プログラミング言語」といいます。 Javaは代表的なプログラミング言語の1つです。 Javaは、1995年の5月にアメリカのサン・マイクロシステムズ(英: Sun Microsystems)という会社が発表したプログラミング言語です。2010年1月にサン・マイクロシステムズはオラクルに買収されているので、現在はオラクル社がJavaを提供しています。 プログラミング言語の役割 コンピュータが理解できる言語は機械語です。そのため人間が理解 ...
継承とオーバーライド | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPのクラスについて紹介しました。 本記事では、PHPの継承とオーバーライドについて紹介します。 継承(extends) 継承とは、クラスが持っているメソッド(関数)やプロパティ(変数)を別のクラスに引き継がせることです。 継承元のクラスを親クラス、継承先のクラスを子クラスといいます。 子クラスを作成するには「extends」(読み:エクステンズ)を使用します。次のように「extends」の前に子クラス名、後に親クラス名を指定します。 継承の使用例 それでは、実際にPHPのプロ ...
エラーと例外処理 | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPのコールバック関数について紹介しました。 本記事では、PHPのエラーと例外について紹介します。 PHPのエラー エラーが発生したときの挙動 PHPでは実行中にエラーが発生しても、基本的には処理を続けようとします。ただし、続行できないFatal error(致命的なエラー)が発生した場合は処理を停止します。 例えば、次の例では「Warning(警告)」と「Fatal error(致命的なエラー)」を発生させています。 [エラーの例] <?php // 警告のエラーを発生 ...
論理演算子 | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPの比較演算子、配列演算子、条件演算子について紹介しました。 本記事では、論理演算子について紹介します。 論理演算子 論理演算子とは、複数の条件式を組み合わせて、より複雑な条件をあらわすときに使う演算子です。 論理演算子の種類 論理演算子には次のようなものがあります。 論理演算子読み方使用例使用例の説明&&かつ(and)A && BAとBが共にtrueの場合、true||または(or)A || BAかBの少なくても1つがtrueの場合、true ...
可変長引数 | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPの「値渡し」と「参照渡し」について紹介しました。 本記事では、PHPの可変長引数について紹介します。 可変長引数 可変長引数とは、引数の数が決まっていない引数のことです。ピリオドを3つ「...」書くことで、可変長引数を表します。 可変長引数の書き方は次のとおりです。 可変長引数の使用例 それでは、実際にPHPのプログラムで可変長引数の使い方を紹介します。 次の例では、関数「total」の引数に可変長引数「...$score」を使用しています。そして、関数「total」を呼び ...
変数のスコープ(ローカル変数、グローバル変数)| 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPの可変長引数について紹介しました。 本記事では、変数のスコープ(ローカル変数、グローバル変数)について紹介します。 変数のスコープとは 変数のスコープとは、定義した変数が使える範囲のことをいいます。 ローカル変数とは ローカル変数とは、関数内で定義した変数のことです。 ローカル変数のスコープは変数を宣言した関数内です。そのため、ローカル変数を定義した関数内でしか使用できません。(ローカル変数を関数の外で使用するとエラーが発生する) [ローカル変数の使用例] <?php ...
繰り返し(for文, foreach文) | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPの条件分岐(if文)について紹介しました。 本記事では、PHPの繰り返し処理(for文、foreach文)について紹介します。 for文を使った繰り返し処理 for文は、繰り返し処理を行うための制御文です。カウンタを用意してその値によって何回繰り返すかを決めます。 for文の書き方は次のとおりです。 上記の例では、$iの初期値を0(カウンタの初期値:$i = 0)として、$iを1つずつ増やしていき(カウンタの増え方:$i++)10以上になるまで(繰り返しを続けるための条件: ...
Rails6でAdminLTEを導入する方法
【Rails6】AdminLTE3の導入手順 AdminLTEとは、Bootstrapをベースとして作られた管理画面の制作でよく利用されるCSSのフレームワークです。 本記事では、Ruby on Rails(Rails6)で AdminLTE3を導入する手順を紹介しています。 AdminLTEのインストール まずは、yarnでAdminLTEをインストールします。 PS C:\ruby\adminlte_sample> yarn add admin-lte yarn add v1.22.4 [1/4 ...
【入門】Rails + AdminLTEで登録画面を作成する
はじめに 前回の記事では、Ruby on Rails(Rails6) と AdminLTE を利用して一覧画面を作成しました。 本記事では、登録画面を作成する手順を紹介します。※データベースの作成やAdminLTEの設定等は 前回の記事 で紹介しているので、本記事では省略しています。 [画面イメージ] View(ビュー) 共通レイアウト(application.html.erb) 各viewの共通レイアウトである「application.html.erb」は下記の通り。 [app/view/layouts ...
【CSV.generate】RailsでCSVファイルを出力する方法
Railsで簡単にCSVファイルを出力する方法 Ruby on RailsのCSV出力のライブラリである「CSV.generate」を使用し、CSVファイルを出力する方法を紹介します。 本記事では、次のような一覧画面に「CSV出力」ボタンを配置して、「CSV出力」ボタンを押下するとCSVファイルをダウンロードする処理を実装しています。 [例:一覧画面イメージ] [例:CSVファイル] Controller (コントローラー) [app/controllers/users_con ...
【Rails】validatesのエラーメッセージを日本語化する方法
Rails6のvalidatesメッセージを日本語化する Ruby on Railsのvalidates機能を使うと、デフォルトではエラーメッセージが英語で表示されます。 本記事では「i18n」を利用して、validatesメッセージを日本語化する方法を紹介してきます。 言語ファイルの作成 日本語の言語ファイル作成 i18nでは、英語は「en.yml」、日本語は「ja.yml」というように、言語によりファイルが分かれています。 今回は、日本語化したいので「app/config/locales」配下に「ja ...
【Rails入門】超便利ScaffoldでCRUDを作成する方法
Scaffold(スキャフォールド) Scaffoldとは、Railsに備わっている機能の一つで、Ruby on Railsでアプリケーションの雛形を作るための機能です。 Scaffoldとは、英語で「足場」という意味で、まさにRailsアプリの「足場」となる機能(一覧 / 登録 / 更新 / 削除するための一連の画面)を提供してくれます。 本記事では、超便利機能であるScaffoldを使い、CRUDを作成する方法を紹介しています。 ※CRUDは次の頭文字を連結させた言葉です。 C:Create(登録) ...
Rails + AdminLTEで詳細画面を作成する
はじめに 前回の記事では、Ruby on Rails(Rails6) と AdminLTE を利用して編集画面を作成しました。 本記事では、詳細画面を表示させる方法について紹介しています。※データベースの作成やAdminLTEの設定等は こちらの記事 で紹介しているので、本記事では省略しています。 [詳細画面イメージ] View(ビュー) 共通レイアウト(application.html.erb) 共通レイアウトである「application.html.erb」は下記の通り。 <!DOCTYPE h ...
【Cognito】getSessionでトークン情報を再取得する方法
はじめに JavaScript用のSDKでAmazon Cognitoのユーザープールを使いログイン処理を実装し、ログインに成功すると「アクセストークン」や「IDトークン」などが取得できます。 ただ、この「アクセストークン」や「IDトークン」には有効期限(デフォルトの設定は1時間と短い)があり、有効期限が切れるとトークン情報は無効になってしまいます。 そこで、更新トークン(refreshToken)を使い、トークン情報を再取得することができます。※JavaScript用のSDKでは「getSession」 ...
【Amazon Cognito】JavaScriptでログイン処理を実装する方法
はじめに JavaScript用のSDKでAmazon Cognitoのユーザープールを使いログイン処理を実装する方法を紹介します。 事前準備として、次のライブラリが必要となるので、npmコマンドでインストールします。 amazon-cognito-identity.min.js ※npmコマンドはNode.jsをインストールすることで使うことができます。 【JavaScript SDK】Amazon Cognito(ユーザープール)の使い方 ライブラリの読み込み 事前準備で取得したライブラリを読み込みま ...
【JavaScriptの判定】null、undefined、==、===の違い
JavaScriptの判定方法 JavaScriptには、様々な判定方法があります。例えば「if (値)」と「if (値 != null)」、「==」と「===」など。この違いを理解せず使用していると、思わぬバグを作りこんでしまう危険性があります。 本記事では、JavaScritpの判定方法について紹介しています。 「if (値)」と「if (値 != null)」の違い if (値)による判定 if (値)の判定では、以下の例の通り「null」「undefined」「空文字」「0」が偽(false)です ...
【JavaScript】Cognitoでパスワードを変更する方法
はじめに JavaScript用のSDKでAmazon Cognitoのユーザープールを使い、パスワードを変更する方法を紹介します。 JavaScriptでユーザープールを使うには「amazon-cognito-identity-js」が必要です。「amazon-cognito-identity-js」はnpmコマンドでインストールすることができます。 <script src="node_modules/amazon-cognito-identity-js/dist/amazon-cognito-i ...
【OpenStreetMap】Leafletで複数のマーカを表示する方法
はじめに OpenStreetMapとLeafletで地図にマーカーを複数を表示する方法を紹介します。 地図の表示イメージは以下の通りです。(東京タワー、東京スカイツリー、六本木ヒルズ にマーカーを表示しています) Leafletで地図にマーカを複数表示する方法 JavaScriptの実装例 <!DOCTYPE html> <html> <head> <title>OpenStreetMapとLeafletで地図にマーカーを複数表示する</title& ...
OpenStreetMapとLeafletで表示位置を変更する方法
はじめに 地図データを扱うためのJavaScript ライブラリである「Leaflet」と「OpenStreetMap」を使い地図の表示位置を変更する方法を紹介します。 地図の表示イメージは以下の通りです。ボタンを押下することで、地図の表示位置が変わります。 JavaScriptの実装例 <!DOCTYPE html> <html> <head> <title>OpenStreetMapとLeafletで表示位置を変更する</title> < ...








































