新着記事
ITの専門用語を図解で解説。仕事で役立つITの基礎知識を身につけよう。
生成AIとChatGPT
進化が止まらないIT技術は、さまざまな業種で導入されています。2022年11月のChatGPT公開を機に勢いがついた生成AIの市場規模は、日本では2030年までに年平均47.2%増で成長し、需要額で約1.8兆円まで拡大すると見られています。
情報処理技術者試験対策
ITパスポート
ITパスポートは、基礎的なIT教養を幅広く身につけられることで人気の国家試験です。これからITの知識を身につけていきたい方におすすめです。
ディープラーニングと生成AI | ITパスポート講座
本記事で学べること ディープラーニング(バックプロパゲーション、過学習、ハルシネーション)について学ぶ 生成AIについて学ぶ ITパスポート過去問の解き方を学ぶ AIとは AI(人工知能)とは、Artificial Intelligence(アーティフィシャル・インテリジェンス)の略で、人が実現するさまざまな知的な活動を行うプログラムやシステムのことです。 コンピュータの性能が大きく向上したことにより、機械であるコンピュータが「学ぶ」ことができるようになりました。 身近な例では、SiriやGoogle A ...
確率・順列・組み合わせを分かりやすく解説 | ITパスポート講座
本記事で学べること 確率の求め方を学ぶ 順列の求め方を学ぶ 組み合わせの求め方を学ぶ ITパスポート過去問の解き方を学ぶ 確率 確率とは、ある事象が発生する可能性の度合いを数値で表現したものです。 確率は次の式で求められます。 場合の数とは、ある事柄に対して、全部で何通りの場合があるかを示します。 例えば、サイコロを1回振るときの「場合の数」は、出目が1~6なので、6通りです。 なので、サイコロを振って「5」がでる確率は1/6です。(求める場合の数は1、すべての場合の数は6) 確率の積の法則 複数の事象が ...
統計(平均値/中央値/最頻値)| ITパスポート講座
本記事で学べること 平均値の求め方を学ぶ 中央値(メジアン)の求め方を学ぶ 最頻値(モード)の求め方を学ぶ 範囲(レンジ)の求め方を学ぶ ITパスポート過去問の解き方を学ぶ 統計 データを集めて全体の傾向を割り出すものが統計です。統計では次のような指数が使われています。 平均値 平均値は、データの合計値をデータの個数で割った値です。 例えば、次のデータの平均値は「38.75」です。 平均値 = (10 + 20 + 20 + 30 + 40 + 50 + 60 + 80) ÷ 8 = 38.75 中央値( ...
機械学習(教師あり学習/教師なし学習/強化学習)| ITパスポート講座
本記事で学べること AI(人工知能)について学ぶ 機械学習(教師あり学習、教師なし学習、強化学習)について学ぶ ITパスポート過去問の解き方を学ぶ AIとは AI(人工知能)とは、Artificial Intelligence(アーティフィシャル・インテリジェンス)の略で、人が実現するさまざまな知的な活動を行うプログラムやシステムのことです。 コンピュータの性能が大きく向上したことにより、機械であるコンピュータが「学ぶ」ことができるようになりました。 身近な例では、SiriやGoogle Assistan ...
擬似言語の解き方を分かりやすく解説 | ITパスポート講座
本記事で学べること 擬似言語について学ぶ 擬似言語の構造について学ぶ ITパスポート過去問の解き方を学ぶ(疑似言語の解き方を学ぶ) 擬似言語 擬似言語とは、プログラムの記述や解読を容易にするために作られた記述方式のことです。 ITパスポート試験では、次のような形式で擬似言語が出題されます。 記述形式説明◯手続名 または 関数名手続または関数を宣言する。型名 : 変数名変数を宣言する。/* 注釈 */ または // 注釈注釈を記述する。変数名 ← 式変数に式の値を代入する。手続名 または 関数名 (引数, ...
プログラム言語(プログラミング言語)とは | ITパスポート講座
本記事で学べること プログラム言語について学ぶ コンパイラとインタプリタについて学ぶ ノーコードとローコードについて学ぶ ITパスポート過去問の解き方を学ぶ プログラム言語 プログラム言語(プログラミング言語)とは、コンピュータに対して一連の処理手順を与えるために作られた言語です。 コンピュータが理解できるのは「0」と「1」で構成された機械語です。そのため、人間が理解できる「日本語」や「英語」でコンピュータに指示を伝えてもコンピュータは理解できません。 そこで「コンピュータが理解できる機械語に変換しやすい ...
基本情報技術者試験
基本情報技術者試験はITパスポートの上位資格です。本格的にエンジニアやIT業界で仕事をする方におすすめです。
メモリリークとガベージコレクションがわかる【基本情報技術者試験対策】
問題 メモリリークの説明として,適切なものはどれか。 ア:OSやアプリケーションのバグなどが原因で,動作中に確保した主記憶が解放されないことであり,これが発生すると主記憶中の利用可能な部分が減少する。 イ:アプリケーションの同時実行数を増やした場合に,主記憶容量が不足し,処理時間のほとんどがページングに費やされ,スループットの極端な低下を招くことである。 ウ:実行時のプログラム領域の大きさに制限があるときに,必要になったモジュールを主記憶に取り込む手法である。 エ:主記憶で利用可能な空き領域の総量は足りて ...
ページ置換えアルゴリズムとは?図解でわかる【基本情報技術者試験対策】
基本情報技術者試験や応用情報技術者試験で出題される「ページ置換えアルゴリズム」の問題。FIFO、LIFO、LRU、LFUの動きを理解していないと難しく感じる問題ですが、動きを理解していればそこまで難しい問題ではありません。 本記事では、ページング方式の「ページ置換えアルゴリズム」について図解を利用して分かりやすく解説しています。 ページング方式のページ置換えアルゴリズム ページング方式とは、仮想記憶(仮想メモリ)の実現方式のひとつで、メモリ領域を「ページ」と呼ばれる一定の大きさの領域に分割し管理する方式の ...
パイプライン処理とは?図解でわかる【基本情報技術者試験対策】
基本情報技術者試験や応用情報技術者試験で出題されるパイプライン処理の問題。パイプライン処理の動きを理解していないと難しく感じる問題ですが、パイプライン処理の動きを理解していればそこまで難しい問題ではありません。 本記事では、パイプライン処理について図解で分かりやすく解説していきます。 パイプライン処理 パイプライン処理は、CPU(プロセッサ)の性能を向上させるための技術のひとつであり、複数の命令を並行して実行するための方式です。 コンピュータは次のようなサイクル(段階)で命令を処理します。 段階処理内容1 ...
排他制御(占有ロックと共有ロック)とは?図解でわかる【基本情報技術者試験対策】
基本情報技術者試験や応用情報技術者試験で出題される内容である排他制御。排他制御には「ロック」や「セマフォ」「ミューテックス」などがあります。 本記事では、排他制御について図解で分かりやすく解説しています。 排他制御 排他制御とは、共有資源を複数のタスク(プログラム)が同時に操作しても問題なく動作できる仕組みのことです。 例えば、次の図のように「プログラムA」と「プログラムB」が、共有の領域の値に対して同時に書き込む可能性があるとします。 「プログラムA」と「プログラムB」はお互い「+1」するプログラムであ ...
ディレクトリ管理とは?図解でわかる【基本情報技術者試験対策】
問題 ファイルシステムの絶対パス名を説明したものはどれか。 ア:あるディレクトリから対象ファイルに至る幾つかのパス名のうち,最短のパス名 イ:カレントディレクトリから対象ファイルに至るパス名 ウ:ホームディレクトリから対象ファイルに至るパス名 エ:ルートディレクトリから対象ファイルに至るパス名 基本情報技術者平成30年春期 午前問17 問題 A,Bという名の複数ディレクトリが,図に示す構造で管理されている。"¥B¥A¥B"がカレントディレクトリになるのは,カレントディレクトリをどのように移動した場合か。こ ...
マルチプログラミング(マルチタスク)とは?図解でわかる【基本情報技術者試験対策】
基本情報技術者試験や応用情報技術者試験で出題されるマルチプログラミングの問題。過去問を見ると難しく感じる問題です。しかし、マルチプログラミングの動きを理解していれば、そこまで難しい問題ではありません。 本記事では、マルチプログラミングについて図解で分かりやすく解説していきます。 タスクの状態遷移 タスクとは、コンピュータが処理する作業の最小単位のことで、コンピュータが処理するプログラムもタスクです。 タスクには「実行可能状態」「実行状態」「待機状態」の3つの状態があり、次の状態遷移図のとおりに遷移します。 ...
YouTubeでも解説中
YouTubeの動画でも解説しています。YouTubeチャンネルはこちら
プログラミング講座
break文とcontinue文の使い方 | 初心者でもわかるJava入門
はじめに 前回の記事では、while文を使った繰り返し処理について紹介しました。 本記事では、ループを中断するbreak文、ループ処理の途中で、残りの処理をスキップして次のループ処理に移るcontinue文について紹介します。 繰り返しを中断する(break文) for文やwhile文などの繰り返しを途中で中断するには「break文」を使います。 次の例では、int型の変数「total」が500を超えたらループを途中で中断しています。 [break文の使用例] public class BreakSamp ...
オーバーライドとは?初心者でもわかるJava入門
はじめに 前回の記事では、Javaの継承について紹介しました。 本記事では、Javaのオーバーライドについて紹介します。 オーバーライドとは オーバーライドとは、継承元であるスーパークラス(親クラス)で定義されているメソッドを、サブクラス(子クラス)で書き換えることです。 スーパークラスにあるメソッドと、同じ名前、同じ引数のメソッドをサブクラスに記述することでオーバーライドすることができます。 以下の図は、オーバーライドの例です。 スーパークラスにある「cry」というメソッドを、サブクラスに定義することで ...
オーバーロードとは?初心者でもわかるJava入門
はじめに 前回の記事では、Javaのコンストラクタについて紹介しました。 本記事では、Javaのオーバーロードについて紹介します。 オーバーロードとは オーバーロードとは、同じクラス内に引数の数や型が異なる同じ名前のメソッドを2つ以上定義することです。 例えば、同じような機能のメソッドで引数にint型とdouble型があるとします。オーバーロードを使わない場合は、それぞれ違うメソッド名で定義する必要があります。 そのため、メソッドを使う人は引数の型によって使うメソッドを選択します。 オーバーロードを使う場 ...
switch文(条件分岐)の使い方 | 初心者でもわかるJava入門
はじめに 前回の記事では、ループを中断するbreak文、ループ処理の途中で、残りの処理をスキップして次のループ処理に移るcontinue文について紹介しました。 今回の記事では、switch文を使った条件分岐について紹介します。 switch文を使った条件分岐 switch文とは、if文と同じように条件分岐を行う制御文です。if文との違いは、if文はelse-if文を使うことで複数の条件式を書くことができますが、switch文では条件式は1つです。 1つの式に対して、式の値が case のどれにあてはまる ...
インタフェースとは?初心者でもわかるJava入門
はじめに 前回の記事では、Javaの抽象クラス(abstract)について紹介しました。 本記事では、Javaのインタフェースについて紹介します。 インタフェースとは インタフェースとは、抽象メソッドと定数だけを定義できるものです。 抽象メソッドとは、定義だけで処理を書かないメソッド、定数とは値が決まっていて変化しないもの(final修飾子をつけると値を変更できなくなる)のことです。 次はインタフェースの例です。インタフェースはクラスではないので「class」ではなく「interface」と書きます。 イ ...
Java APIとは?初心者でもわかるJava入門
はじめに 前回の記事では、Javaの例外について紹介しました。 本記事では、Java APIについて紹介します。 Java APIとは Java APIとは、開発を行うために用意された便利な機能(標準API)のことです。 Javaで開発するときは、すべてを1から実装するのではなく、標準で用意されているAPIを使います。標準で用意されたAPIを使うことで効率よく開発できます。 例えば、Javaのバージョン11で提供されているAPIは以下のサイトから確認できます。 https://docs.oracle.co ...
関数(function)の使い方 | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPのswitch文を使った条件分岐について紹介しました。 本記事では、PHPの関数について紹介します。 関数とは 関数とは、いくつかの処理をひとまとまりにしたものです。機能を部品化するイメージで、その部品(関数)を使いまわすことができます。 関数には、処理を実行するための条件である「引数」(パラメータ)を渡すことができます。そして、処理の実行結果を「戻り値」として返却します。※戻り値は返さなくてもよい 複数の引数を指定する場合は「total($a, $b)」のようにカンマ区切 ...
定数の使い方 | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPの配列について紹介しました。 本記事では、PHPの定数について紹介します。 定数とは 定数とは値が変化しないものであり、PHPでは「define」関数か「const」キーワードを使って定数を定義します。 値を後から自由に変更できる変数とは違い、定数は1度しか値を代入することができません。例えば次のように定数の値を変更しても、一度定義しているので値は変わりません。 define関数による定数定義 define関数を使い定数を定義することができます。定数の定義はdefine関数 ...
PHPとは | 初心者でもわかるPHP入門
PHP(ピー・エイチ・ピー)とは コンピュータで動くプログラムを作成するための言語のことを「プログラミング言語」といいます。 PHPは代表的なプログラミング言語の1つです。 PHPは、1995年にラスマス・ラードフ氏により「Personal Home Page Tools」という名前で開発されたものであり、もともとは、ラスマス自身のWebサイトで簡単な動的Webページを作成するために用いられていたが、その後改良(オープンソースライセンスの下で公開されたことにより同ツールの利用者が増加し、機能の追加を行う開 ...
算術演算子、複合演算子、インクリメント演算子 | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPの定数について紹介しました。 本記事では、PHPの演算子(算術演算子、代入演算子、複合演算子、インクリメント演算子、デクリメント演算子)について紹介します。 算術演算子 算術演算子とは、足し算や掛け算などの計算で使われる記号のことです。 算術演算子の種類 算術演算子には次のものがあります。 演算子意味使用例使用例の説明+加算(足す)$a = $b + $c$bと$cを足した値を$aに代入-減算(引く)$a = $b - $c$bから$cを引いた値を$aに代入*乗算(かける) ...
コールバック関数 | 初心者でもわかるPHP入門
はじめに 前回の記事ではPHPのstaticプロパティとstaticメソッドについて紹介しました。 本記事では、PHPのコールバック関数について紹介します。 コールバック関数 コールバック関数(英:callback function)とは、関数を呼び出す際に引数として引き渡される別の関数のことです。 以下はコールバック関数のイメージ例です。 PHPでコールバック関数を使う方法は大きく分けて2つあります。1つは文字列で関数を指定する方法、もう1つは「call_user_func」関数や「call_user_ ...
繰り返し(for文, foreach文) | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPの条件分岐(if文)について紹介しました。 本記事では、PHPの繰り返し処理(for文、foreach文)について紹介します。 for文を使った繰り返し処理 for文は、繰り返し処理を行うための制御文です。カウンタを用意してその値によって何回繰り返すかを決めます。 for文の書き方は次のとおりです。 上記の例では、$iの初期値を0(カウンタの初期値:$i = 0)として、$iを1つずつ増やしていき(カウンタの増え方:$i++)10以上になるまで(繰り返しを続けるための条件: ...
rails webpacker:install Errorの対処法
【Rails】Webpackerに関するエラーが出た時の対処法 Webpackerのエラー内容 「rails new test_app」でrailsアプリケーションを作成後、サーバーを起動しようとするとWebpackerに関するエラーが発生。 PS C:\ruby\test_app> rails s => Booting Puma => Rails 6.0.3.2 application starting in development => Run `rails server -- ...
【Rails入門】超便利ScaffoldでCRUDを作成する方法
Scaffold(スキャフォールド) Scaffoldとは、Railsに備わっている機能の一つで、Ruby on Railsでアプリケーションの雛形を作るための機能です。 Scaffoldとは、英語で「足場」という意味で、まさにRailsアプリの「足場」となる機能(一覧 / 登録 / 更新 / 削除するための一連の画面)を提供してくれます。 本記事では、超便利機能であるScaffoldを使い、CRUDを作成する方法を紹介しています。 ※CRUDは次の頭文字を連結させた言葉です。 C:Create(登録) ...
【Rails】validatesのエラーメッセージを日本語化する方法
Rails6のvalidatesメッセージを日本語化する Ruby on Railsのvalidates機能を使うと、デフォルトではエラーメッセージが英語で表示されます。 本記事では「i18n」を利用して、validatesメッセージを日本語化する方法を紹介してきます。 言語ファイルの作成 日本語の言語ファイル作成 i18nでは、英語は「en.yml」、日本語は「ja.yml」というように、言語によりファイルが分かれています。 今回は、日本語化したいので「app/config/locales」配下に「ja ...
Rails6でBootstrapを導入する方法
【Rails6】Bootstrap導入手順 Bootstrapとは、Twitter社が開発したCSSの「フレームワーク」です。Bootstrapを利用することで簡単にWebサイトのデザインを作ることができます。 本記事では、Rails6標準の「yarn + webpacker」でBootstrapを導入する手順を紹介しています。 Bootstrapのパッケージをインストールする まず、YarnでBootstrapに必要なパッケージをインストールします。 必要なパッケージは次の通りです。 bootstrap ...
Rails + AdminLTEで一覧画面を作成する
はじめに Rubyの人気フレームワーク「Ruby on Rails」と、管理画面の制作でよく利用されるCSSの人気フレームワーク「AdminLTE」を利用して一覧画面、詳細画面、編集画面、登録画面を作成する手順を紹介します。 本記事では、一覧画面を作成しています。 [画面イメージ] 事前準備 AdminLTEの導入 AdminLTEの構築手順は下記の通り。 Scaffoldで雛形を生成する まずは便利な機能である「Scaffold」で、一覧、詳細、登録、更新画面の雛形を生成します。 「Sca ...
Rails + AdminLTEで詳細画面を作成する
はじめに 前回の記事では、Ruby on Rails(Rails6) と AdminLTE を利用して編集画面を作成しました。 本記事では、詳細画面を表示させる方法について紹介しています。※データベースの作成やAdminLTEの設定等は こちらの記事 で紹介しているので、本記事では省略しています。 [詳細画面イメージ] View(ビュー) 共通レイアウト(application.html.erb) 共通レイアウトである「application.html.erb」は下記の通り。 <!DOCTYPE h ...
OpenStreetMapとLeafletで表示位置を変更する方法
はじめに 地図データを扱うためのJavaScript ライブラリである「Leaflet」と「OpenStreetMap」を使い地図の表示位置を変更する方法を紹介します。 地図の表示イメージは以下の通りです。ボタンを押下することで、地図の表示位置が変わります。 JavaScriptの実装例 <!DOCTYPE html> <html> <head> <title>OpenStreetMapとLeafletで表示位置を変更する</title> < ...
【OpenStreetMap】Leafletでマーカーの色を変更する方法
はじめに 地図データを扱うためのJavaScript ライブラリである「Leaflet」と「OpenStreetMap」を使い、マーカー(ピン)の色を変更する方法を紹介します。 地図の表示イメージは以下の通りです。 Leafletでマーカーの色を変更する方法 「leaflet.sprite.js」の読み込み マーカーの色を変更するには「leaflet.sprite.js」が必要です。「leaflet.sprite.js」はGitHubからダウンロードすることができます。 GitHub:https://gi ...
【JavaScriptの判定】null、undefined、==、===の違い
JavaScriptの判定方法 JavaScriptには、様々な判定方法があります。例えば「if (値)」と「if (値 != null)」、「==」と「===」など。この違いを理解せず使用していると、思わぬバグを作りこんでしまう危険性があります。 本記事では、JavaScritpの判定方法について紹介しています。 「if (値)」と「if (値 != null)」の違い if (値)による判定 if (値)の判定では、以下の例の通り「null」「undefined」「空文字」「0」が偽(false)です ...
OpenStreetMapとLeafletで簡単に地図を表示する方法
Leafletとは Leafletとは、地図データを扱うためのJavaScript ライブラリです。 Leafletの公式サイト:https://leafletjs.com/ Leafletはあくまでも地図データを扱うためのライブラリなので、Leaflet単体では地図を表示させることはできません。地図を表示させるためにはLeafletとは別に、地図サービスを使う必要があります。 本記事では、クレジット表記をすれば、無料で利用できる地図サービスである「OpenStreetMap」を利用していま ...
【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 ...
【Cognito】getSessionでトークン情報を再取得する方法
はじめに JavaScript用のSDKでAmazon Cognitoのユーザープールを使いログイン処理を実装し、ログインに成功すると「アクセストークン」や「IDトークン」などが取得できます。 ただ、この「アクセストークン」や「IDトークン」には有効期限(デフォルトの設定は1時間と短い)があり、有効期限が切れるとトークン情報は無効になってしまいます。 そこで、更新トークン(refreshToken)を使い、トークン情報を再取得することができます。※JavaScript用のSDKでは「getSession」 ...







































