IT用語解説
ITの専門用語を図解で解説。仕事で役立つITの基礎知識を身につけよう。
生成AIとChatGPT
進化が止まらないIT技術は、さまざまな業種で導入されています。2022年11月のChatGPT公開を機に勢いがついた生成AIの市場規模は、日本では2030年までに年平均47.2%増で成長し、需要額で約1.8兆円まで拡大すると見られています。
情報処理技術者試験対策
ITパスポート
ITパスポートは、基礎的なIT教養を幅広く身につけられることで人気の国家試験です。これからITの知識を身につけていきたい方におすすめです。
【ITパスポート】ディープラーニングと生成AI
本記事で学べること ディープラーニング(バックプロパゲーション、過学習、ハルシネーション)について学ぶ 生成AIについて学ぶ ITパスポート過去問の解き方を学ぶ AIとは AI(人工知能)とは、Artificial Intelligence(アーティフィシャル・インテリジェンス)の略で、人が実現するさまざまな知的な活動を行うプログラムやシステムのことです。 コンピュータの性能が大きく向上したことにより、機械であるコンピュータが「学ぶ」ことができるようになりました。 身近な例では、SiriやGoogle A ...
【ITパスポート】機械学習(教師あり学習/教師なし学習/強化学習)
本記事で学べること AI(人工知能)について学ぶ 機械学習(教師あり学習、教師なし学習、強化学習)について学ぶ ITパスポート過去問の解き方を学ぶ AIとは AI(人工知能)とは、Artificial Intelligence(アーティフィシャル・インテリジェンス)の略で、人が実現するさまざまな知的な活動を行うプログラムやシステムのことです。 コンピュータの性能が大きく向上したことにより、機械であるコンピュータが「学ぶ」ことができるようになりました。 身近な例では、SiriやGoogle Assistan ...
【ITパスポート】統計(平均値/中央値/最頻値)
本記事で学べること 平均値の求め方を学ぶ 中央値(メジアン)の求め方を学ぶ 最頻値(モード)の求め方を学ぶ 範囲(レンジ)の求め方を学ぶ ITパスポート過去問の解き方を学ぶ 統計 データを集めて全体の傾向を割り出すものが統計です。統計では次のような指数が使われています。 平均値 平均値は、データの合計値をデータの個数で割った値です。 例えば、次のデータの平均値は「38.75」です。 平均値 = (10 + 20 + 20 + 30 + 40 + 50 + 60 + 80) ÷ 8 = 38.75 中央値( ...
【ITパスポート】確率・順列・組み合わせを分かりやすく解説
本記事で学べること 確率の求め方を学ぶ 順列の求め方を学ぶ 組み合わせの求め方を学ぶ ITパスポート過去問の解き方を学ぶ 確率 確率とは、ある事象が発生する可能性の度合いを数値で表現したものです。 確率は次の式で求められます。 場合の数とは、ある事柄に対して、全部で何通りの場合があるかを示します。 例えば、サイコロを1回振るときの「場合の数」は、出目が1~6なので、6通りです。 なので、サイコロを振って「5」がでる確率は1/6です。(求める場合の数は1、すべての場合の数は6) 確率の積の法則 複数の事象が ...
【ITパスポート】正規分布・標準偏差・偏差値
本記事で学べること 正規分布と標準偏差を学ぶ 偏差値の求め方を学ぶ ITパスポート過去問の解き方を学ぶ 正規分布 正規分布とは、平均値を中心とした左右対称な釣鐘型の分布のことです。 次のグラフは、平均値「50」、標準偏差「10」の正規分布です。 山の頂点が平均値となり、平均値を中心に左右対称になるのが特徴で、多くの統計的手法は、この正規分布を基礎として展開しており、検定や推定、モデルの作成など、様々な場面で活用されています。 標準偏差とは 標準偏差とは、データのばらつきをあらわす指標のひとつです。 標準偏 ...
【ITパスポート】人間中心のAI社会原則とAI活用ガイドライン
本記事で学べること ディープフェイクについて学ぶ 人間中心のAI社会原則について学ぶ AI活用ガイドラインについて学ぶ 説明可能なAIについて学ぶ ITパスポート過去問の解き方を学ぶ AI(人工知能)とは AI(人工知能)とは、Artificial Intelligence(アーティフィシャル・インテリジェンス)の略で、人が実現するさまざまな知的な活動を行うプログラムやシステムのことです。 コンピュータの性能が大きく向上したことにより、機械であるコンピュータが「学ぶ」ことができるようになりました。 身近な ...
基本情報技術者試験
基本情報技術者試験はITパスポートの上位資格です。本格的にエンジニアやIT業界で仕事をする方におすすめです。
トランザクション管理とは?図解でわかる【基本情報技術者試験対策】
問題 トランザクションが,データベースに対する更新処理を完全に行うか,全く処理しなかったかのように取り消すか,のどちらかの結果になることを保証する特性はどれか。 ア:一貫性(consistency) イ:原子性(atomicity) ウ:耐久性(durability) エ:独立性(isolation) 基本情報技術者令和5年 [科目A]問7 問題 DBMSに実装すべき原子性(atomicity)を説明したものはどれか。 ア:同一データベースに対する同一処理は,何度実行しても結果は同じである。 イ:トランザ ...
浮動小数点数とは?図解でわかる【基本情報技術者試験対策】
コンピュータにおける数値表現の1つであり、主に小数点を含む数値を表現するときに利用するのが「浮動小数点数」です。 本記事では「浮動小数点数」について図解で分かりやすく解説していきます。 浮動小数点数 浮動小数点数とは、コンピュータにおける数値を表現する方法の一つで、主に小数点を含む数値を表現するときに利用するものです。 浮動小数点数の形式 浮動小数点数は次のように「符号」「指数部」「仮数部」の形式で表現します。※32ビットの例 浮動小数点数の「仮数部」と「指数部」に入る値のイメージ例は次のとおりです。(仮 ...
IPアドレスとサブネットマスクが図解でわかる【基本情報技術者試験対策】
問題 192.168.0.0/23(サブネットマスク255.255.254.0)のIPv4ネットワークにおいて,ホストとして使用できるアドレスの個数の上限はどれか。 ア:23 イ:24 ウ:254 エ:510 基本情報技術者平成31年春期 午前問32 問題 次のネットワークアドレスとサブネットマスクをもつネットワークがある。このネットワークをあるPCが利用する場合,そのPCに割り振ってはいけないIPアドレスはどれか。 ネットワークアドレス:200.170.70.16 サブネットマスク :2 ...
仮想記憶のページング方式とは?図解でわかる【基本情報技術者試験対策】
基本情報技術者試験や応用情報技術者試験で出題される「仮想記憶」と「ページング方式」についての問題。ページング方式の動きを理解していないと難しく感じる問題ですが、動きを理解していればそこまで難しい問題ではありません。 本記事では、仮想記憶の実現方法のひとつである「ページング方式」について図解で分かりやすく解説しています。 仮想記憶(仮想メモリ) 仮想記憶とは 仮想記憶とは、仮想的な記憶領域のことであり、仮想メモリやバーチャルメモリとも呼ばれています。 仮想記憶を使用することで主記憶装置(メインメモリ)の容量 ...
排他制御(占有ロックと共有ロック)とは?図解でわかる【基本情報技術者試験対策】
基本情報技術者試験や応用情報技術者試験で出題される内容である排他制御。排他制御には「ロック」や「セマフォ」「ミューテックス」などがあります。 本記事では、排他制御について図解で分かりやすく解説しています。 排他制御 排他制御とは、共有資源を複数のタスク(プログラム)が同時に操作しても問題なく動作できる仕組みのことです。 例えば、次の図のように「プログラムA」と「プログラムB」が、共有の領域の値に対して同時に書き込む可能性があるとします。 「プログラムA」と「プログラムB」はお互い「+1」するプログラムであ ...
NAT(NAPT)とは?図解でわかる【基本情報技術者試験対策】
問題 IPv4において,インターネット接続用ルータのNAT機能の説明として,適切なものはどれか。 ア:インターネットへのアクセスをキャッシュしておくことによって,その後に同じIPアドレスのWebサイトへアクセスする場合,表示を高速化できる機能である。 イ:通信中のIPパケットを検査して,インターネットからの攻撃や侵入を検知する機能である。 ウ:特定の端末宛てのIPパケットだけを通過させる機能である。 エ:プライベートIPアドレスとグローバルIPアドレスを相互に変換する機能である。 基本情報技術者令和2年免 ...
YouTubeでも解説中
YouTubeの動画でも解説しています。YouTubeチャンネルはこちら
プログラミング講座
Javaの継承とは?初心者でもわかるJava入門
はじめに 前回の記事では、Javaのアクセス修飾子について紹介しました。 本記事では、Javaの継承について紹介します。 継承とは 継承とは、クラスが持っているメンバ(フィールドやメソッド)を別のクラスに引き継がせることです。継承元のクラスをスーパークラス(または親クラス)、引き継いだクラスをサブクラス(または子クラス)といいます。 サブクラスを作成するには「extends」(読み:エクステンズ)を使用します。次のように「extends」の前にサブクラス名(子クラス名)、後にスーパークラス名(親クラス名) ...
Java APIとは?初心者でもわかるJava入門
はじめに 前回の記事では、Javaの例外について紹介しました。 本記事では、Java APIについて紹介します。 Java APIとは Java APIとは、開発を行うために用意された便利な機能(標準API)のことです。 Javaで開発するときは、すべてを1から実装するのではなく、標準で用意されているAPIを使います。標準で用意されたAPIを使うことで効率よく開発できます。 例えば、Javaのバージョン11で提供されているAPIは以下のサイトから確認できます。 https://docs.oracle.co ...
列挙型(enum)とは?初心者でもわかるJava入門
はじめに 前回の記事では、Javaのstatic変数とstaticメソッドについて紹介しました。 本記事では、Javaの列挙型について紹介します。 列挙型(enum)とは 列挙型とは、関連する定数をひとまとめにしておくことができる型です。 定数とは 定数とは、値が変化しないものであり、次のようにfinal修飾子を用いて定義します。 public static final String ORANGE = "Orange"; public static final String GRAPE ...
【Java入門】配列の使い方 | 初心者向けプログラミング講座
はじめに 前回の記事では、Javaの変数について紹介しました。 本記事では、Javaの配列について紹介します。 配列とは 配列とは、複数の同じ型の変数を1つにまとめたものです。 変数は、数値や文字などを格納しておく箱のようなものです。変数には1つの値しか格納することができません。それに比べて配列は、数値や文字などを格納しておく箱のようなものが複数あるため、複数の値を格納することができます。 以下は、変数と配列のイメージ図です。 配列要素の参照と代入 それでは、実際にプログラムで配列を宣言し、配列に値を代入 ...
while文の使い方 | 初心者でもわかるJava入門
はじめに 前回の記事では、for文を使った繰り返し処理について紹介しました。 本記事では、while文を使った繰り返し処理について紹介します。 while文を使った繰り返し処理 while文とは、条件が成立している間、処理を繰り返し実行する制御文です。for文との違いは、繰り返しの回数があらかじめ決まっていないところです。 while文の書き方は次のとおりです。 while文の使用例 それでは、実際にプログラムでwhile文を使用した繰り返し処理の例を紹介します。 次の例では、「i < 5」の条件が ...
メソッドとは?初心者でもわかるJava入門
はじめに 前回の記事では、Javaのクラスについて紹介しました。 本記事では、Javaのメソッドについて紹介します。 メソッドとは メソッドとは、クラス内に書かれた処理(いくつかの処理をまとめたもの)のことです。 メソッドには、処理を実行するための条件である「引数」(パラメータ)を渡すことができます。そして、処理の実行結果を「戻り値」として返却します。 ※複数の引数を指定する場合は「total(int a, int b)」のようにカンマ区切りで指定します。また引数を指定しない場合は「total()」のよう ...
可変長引数 | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPの「値渡し」と「参照渡し」について紹介しました。 本記事では、PHPの可変長引数について紹介します。 可変長引数 可変長引数とは、引数の数が決まっていない引数のことです。ピリオドを3つ「...」書くことで、可変長引数を表します。 可変長引数の書き方は次のとおりです。 可変長引数の使用例 それでは、実際にPHPのプログラムで可変長引数の使い方を紹介します。 次の例では、関数「total」の引数に可変長引数「...$score」を使用しています。そして、関数「total」を呼び ...
論理演算子 | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPの比較演算子、配列演算子、条件演算子について紹介しました。 本記事では、論理演算子について紹介します。 論理演算子 論理演算子とは、複数の条件式を組み合わせて、より複雑な条件をあらわすときに使う演算子です。 論理演算子の種類 論理演算子には次のようなものがあります。 論理演算子 読み方 使用例 使用例の説明 && かつ(and) A && B AとBが共にtrueの場合、true || または(or) A || B AかBの少なくても1つがt ...
staticプロパティとstaticメソッド | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPの継承とオーバーライドについて紹介しました。 本記事では、PHPのstaticプロパティとstaticメソッドのついて紹介します。 staticキーワード クラスのプロパティ(変数)やメソッド(関数)にstaticをつけると、クラスのオブジェクト(インスタンス)を生成せずにアクセスできます。 staticプロパティは「クラス名::プロパティ名」、staticメソッドは「クラス名::メソッド名」のようにスコープ定義演算子(::)を使ってアクセスできます。 staticプロパテ ...
PHPとは | 初心者でもわかるPHP入門
PHP(ピー・エイチ・ピー)とは コンピュータで動くプログラムを作成するための言語のことを「プログラミング言語」といいます。 PHPは代表的なプログラミング言語の1つです。 PHPは、1995年にラスマス・ラードフ氏により「Personal Home Page Tools」という名前で開発されたものであり、もともとは、ラスマス自身のWebサイトで簡単な動的Webページを作成するために用いられていたが、その後改良(オープンソースライセンスの下で公開されたことにより同ツールの利用者が増加し、機能の追加を行う開 ...
条件分岐(switch文) | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPのbreak文とcontinue文について紹介しました。 本記事では、switch文を使った条件分岐について紹介します。 switch文を使った条件分岐 switch文とは、if文と同じように条件分岐を行う制御文です。if文は else-if文を使うことで複数の条件式を書けますが、switch文の条件式は1つです。 1つの式に対して、式の値が case のどれにあてはまるか確認します。あてはまる case があれば、その case の処理を実行し、caseのどれにもあてはま ...
クラスの使い方 | 初心者でもわかるPHP入門
はじめに 前回の記事では、変数のスコープ(ローカル変数、グローバル変数、静的変数)について紹介しました。 本記事では、PHPのクラスについて紹介します。 クラスとは クラスとは、メソッド(関数)やプロパティ(変数)をまとめたもの(関数と変数を持ったプログラムの固まり)です。 次の例では、Cat(猫)の情報を管理するクラスを作成しています。クラスには、メソッドとプロパティを記述できます。 オブジェクトの生成(インスタンスの生成) クラスを使用するには「new」キーワードを使用します。「new クラス名」でク ...
【OpenStreetMap】Leafletで複数のマーカを表示する方法
はじめに OpenStreetMapとLeafletで地図にマーカーを複数を表示する方法を紹介します。 地図の表示イメージは以下の通りです。(東京タワー、東京スカイツリー、六本木ヒルズ にマーカーを表示しています) Leafletで地図にマーカを複数表示する方法 JavaScriptの実装例 <!DOCTYPE html> <html> <head> <title>OpenStreetMapとLeafletで地図にマーカーを複数表示する</title& ...
Leafletで地図やマーカーを削除(remove、removeLayer)する方法
はじめに 地図データを扱うためのJavaScript ライブラリである「Leaflet」と「OpenStreetMap」を使い、地図やマーカーを削除する方法を紹介します。 地図の表示イメージは次の通りです。ボタンを押下することで、地図の削除・再表示、マーカーの表示・削除をすることができます。 OpenStreetMapとLeafletで地図やマーカーを削除する方法 HTMLとJavaScriptの実装例は以下です。 <!DOCTYPE html> <html> <head&g ...
OpenStreetMapとLeafletで地図にピン(マーカー)を立てる
はじめに OpenStreetMapとLeafletで地図にピン(マーカー)を立てる方法を紹介します。 地図の表示イメージは以下の通りです。 OpenStreetMapとLeafletで地図にピン(マーカー)を立てる 実装例 <!DOCTYPE html> <html> <head> <title>OpenStreetMapとLeafletで地図にピンを立てる</title> <meta charset="utf-8"> <li ...
OpenStreetMapとLeafletで表示位置を変更する方法
はじめに 地図データを扱うためのJavaScript ライブラリである「Leaflet」と「OpenStreetMap」を使い地図の表示位置を変更する方法を紹介します。 地図の表示イメージは以下の通りです。ボタンを押下することで、地図の表示位置が変わります。 JavaScriptの実装例 <!DOCTYPE html> <html> <head> <title>OpenStreetMapとLeafletで表示位置を変更する</title> < ...
【Amazon Cognito】JavaScriptでログイン処理を実装する方法
はじめに JavaScript用のSDKでAmazon Cognitoのユーザープールを使いログイン処理を実装する方法を紹介します。 事前準備として、次のライブラリが必要となるので、npmコマンドでインストールします。 amazon-cognito-identity.min.js ※npmコマンドはNode.jsをインストールすることで使うことができます。 【JavaScript SDK】Amazon Cognito(ユーザープール)の使い方 ライブラリの読み込み 事前準備で取得したライブラリを読み込みま ...
【Cognito】getSessionでトークン情報を再取得する方法
はじめに JavaScript用のSDKでAmazon Cognitoのユーザープールを使いログイン処理を実装し、ログインに成功すると「アクセストークン」や「IDトークン」などが取得できます。 ただ、この「アクセストークン」や「IDトークン」には有効期限(デフォルトの設定は1時間と短い)があり、有効期限が切れるとトークン情報は無効になってしまいます。 そこで、更新トークン(refreshToken)を使い、トークン情報を再取得することができます。※JavaScript用のSDKでは「getSession」 ...
Rails6でBootstrapを導入する方法
【Rails6】Bootstrap導入手順 Bootstrapとは、Twitter社が開発したCSSの「フレームワーク」です。Bootstrapを利用することで簡単にWebサイトのデザインを作ることができます。 本記事では、Rails6標準の「yarn + webpacker」でBootstrapを導入する手順を紹介しています。 Bootstrapのパッケージをインストールする まず、YarnでBootstrapに必要なパッケージをインストールします。 必要なパッケージは次の通りです。 bootstrap ...
Rails + AdminLTEで詳細画面を作成する
はじめに 前回の記事では、Ruby on Rails(Rails6) と AdminLTE を利用して編集画面を作成しました。 本記事では、詳細画面を表示させる方法について紹介しています。※データベースの作成やAdminLTEの設定等は こちらの記事 で紹介しているので、本記事では省略しています。 [詳細画面イメージ] View(ビュー) 共通レイアウト(application.html.erb) 共通レイアウトである「application.html.erb」は下記の通り。 <!DOCTYPE h ...
【Ruby on Rails】入力チェック(validates)の実装方法
Ruby on Railsで入力チェック(validates)を実装する Railsでは、入力データを検証するためのメソッド「validates」が用意されており、「validates」をmodelクラスに定義するだけで、入力チェックを実装することができます。 本記事では、「validates」メソッドを利用した入力チェックの実装方法について紹介します。 必須チェック presenceでカラムにデータが存在するか(空でないこと)を検証します。 [modelクラスの例] class User < Ap ...
Ruby on Railsで”Hello World”を作成する
Railsアプリケーションの作成 まずはRailsアプリケーションを作成します。Railsアプリケーションは次のコマンドで作成することができます。 今回の例では「C:\ruby」配下に「hello_sample」というアプリケーションを作成しています。 PS C:\ruby> rails new hello_sample create create README.md create Rakefile create .ruby-version create config.ru create .giti ...
【CSV.generate】RailsでCSVファイルを出力する方法
Railsで簡単にCSVファイルを出力する方法 Ruby on RailsのCSV出力のライブラリである「CSV.generate」を使用し、CSVファイルを出力する方法を紹介します。 本記事では、次のような一覧画面に「CSV出力」ボタンを配置して、「CSV出力」ボタンを押下するとCSVファイルをダウンロードする処理を実装しています。 [例:一覧画面イメージ] [例:CSVファイル] Controller (コントローラー) [app/controllers/users_con ...
Ruby on Railsの開発環境構築 | 分かりやすく図解で説明
Ruby on Railsの開発環境構築手順 Ruby on Railsとは、人気開発言語Rubyを使用したWebアプリケーションを手軽に作成することができるフレームワークです。 本記事では、Ruby on Railsを使用したWebアプリケーションの開発環境構築手順を紹介します。 ◆構築する開発環境 構築する内容 名称 説明 開発言語 Ruby 人気の開発言語 開発ツール Visual Studio Code ほとんど言語に対応し、任意の OS で動作する強力なコード エディター フレームワーク Rub ...