新着記事
ITの専門用語を図解で解説。仕事で役立つITの基礎知識を身につけよう。
生成AIとChatGPT
進化が止まらないIT技術は、さまざまな業種で導入されています。2022年11月のChatGPT公開を機に勢いがついた生成AIの市場規模は、日本では2030年までに年平均47.2%増で成長し、需要額で約1.8兆円まで拡大すると見られています。
情報処理技術者試験対策
ITパスポート
ITパスポートは、基礎的なIT教養を幅広く身につけられることで人気の国家試験です。これからITの知識を身につけていきたい方におすすめです。
データ構造(配列/リスト/キュー/スタック/木構造)| ITパスポート講座
本記事で学べること データ構造(配列/リスト/キュー/スタック/木構造)について学ぶ ITパスポート過去問の解き方を学ぶ データ構造 データ構造とは、データの集まりをコンピュータが扱いやすように、特定の形式で整理して格納する方法のことです。 データ構造には、主に次のようなものがあります。 配列 リスト キュー スタック 木構造 配列 配列は、複数のデータ(同じ型のデータ)を連続的に並べたデータ構造です。 次の図は、配列のイメージ例です。 配列の各要素には、先頭から0、1、2、3、・・・と要素番号が付けられ ...
擬似言語の解き方を分かりやすく解説 | ITパスポート講座
本記事で学べること 擬似言語について学ぶ 擬似言語の構造について学ぶ ITパスポート過去問の解き方を学ぶ(疑似言語の解き方を学ぶ) 擬似言語 擬似言語とは、プログラムの記述や解読を容易にするために作られた記述方式のことです。 ITパスポート試験では、次のような形式で擬似言語が出題されます。 記述形式説明◯手続名 または 関数名手続または関数を宣言する。型名 : 変数名変数を宣言する。/* 注釈 */ または // 注釈注釈を記述する。変数名 ← 式変数に式の値を代入する。手続名 または 関数名 (引数, ...
基数変換(2進数・10進数・16進数)| ITパスポート講座
本記事で学べること 基数について学ぶ 基数変換のやり方を理解する ITパスポート過去問の解き方を学ぶ 基数とは? 私たちが普段使っている0~9で表現される10種類の数値は「10進数」と呼ばれています。それに対し、コンピュータが扱う「0」と「1」で表現された数値を「2進数」と呼びます。 ここがポイント コンピュータが扱えるのは2進数だけ。文字や音声、映像などのすべての情報は、コンピュータの世界では「0」と「1」の組み合わせで表現されている。 基数とは、数値を表現する際に位取りの基準となる数のことであり、2進 ...
データの単位(バイト・ビット)| ITパスポート講座
本記事で学べること データの単位を理解する 文字コードを学ぶ ITパスポート過去問の解き方を学ぶ データの単位(情報量の単位) コンピュータやスマートフォンには容量があります。例えば、スマートフォンの容量には「64GB」「128GB」「256GB」「512GB」「1TB」などがあり、容量が大きいほど値段は高く、写真やアプリなどをたくさん保存できます。 この「MB(メガバイト)」や「GB(ギガバイト)」「TB(テラバイト)」というのが単位であり、「バイト」とは、コンピュータの世界でデータ量をあらわす際に使用 ...
人間中心のAI社会原則とAI活用ガイドライン | ITパスポート講座
本記事で学べること ディープフェイクについて学ぶ 人間中心のAI社会原則について学ぶ AI活用ガイドラインについて学ぶ 説明可能なAIについて学ぶ ITパスポート過去問の解き方を学ぶ AI(人工知能)とは AI(人工知能)とは、Artificial Intelligence(アーティフィシャル・インテリジェンス)の略で、人が実現するさまざまな知的な活動を行うプログラムやシステムのことです。 コンピュータの性能が大きく向上したことにより、機械であるコンピュータが「学ぶ」ことができるようになりました。 身近な ...
機械学習(教師あり学習/教師なし学習/強化学習)| ITパスポート講座
本記事で学べること AI(人工知能)について学ぶ 機械学習(教師あり学習、教師なし学習、強化学習)について学ぶ ITパスポート過去問の解き方を学ぶ AIとは AI(人工知能)とは、Artificial Intelligence(アーティフィシャル・インテリジェンス)の略で、人が実現するさまざまな知的な活動を行うプログラムやシステムのことです。 コンピュータの性能が大きく向上したことにより、機械であるコンピュータが「学ぶ」ことができるようになりました。 身近な例では、SiriやGoogle Assistan ...
基本情報技術者試験
基本情報技術者試験はITパスポートの上位資格です。本格的にエンジニアやIT業界で仕事をする方におすすめです。
2分探索木とは?図解でわかる【基本情報技術者試験対策】
基本情報技術者試験や応用情報技術者試験で出題される2分探索木の問題、聞きなれない言葉なので難しく感じます。ただし、2分探索木を理解していれば簡単に解くことができます。 本記事では、2分探索木について図解で分かりやすく解説していきます。 木構造 木構造(きこうぞう)とは、データ構造(※配列のように複数のデータを格納できる入れ物)の1つで木のような階層構造でデータを管理するものです。 木構造は、ハードディスクのファイルシステム(フォルダの下にフォルダやファイルがぶら下がっている)やインターネットのドメイン名な ...
探索アルゴリズムとは?図解でわかる【基本情報技術者試験対策】
基本情報技術者試験や応用情報技術者試験で出題される探索アルゴリズムの問題、探索アルゴリズムには「線形探索」「2分探索」「ハッシュ法」などがあり、過去問では「線形探索」「2分探索」「ハッシュ法」がどのような動きをするか問われる問題が出題されています。 本記事では、探索アルゴリズムについて図解で分かりやすく解説しています。 探索アルゴリズム 探索アルゴリズムとは、配列のような複数のデータが格納されている箱の中から目的のデータを探しだすアルゴリズムのことです。 基本情報技術者試験で主に出題される探索アルゴリズム ...
デッドロックとは?図解でわかる【基本情報技術者試験対策】
基本情報技術者試験や応用情報技術者試験で出題されるデッドロックの問題。システム開発の現場でもよく耳にする言葉であり、エンジニアであれば知っておきたい知識です。 本記事では、デッドロックについて図解で分かりやすく解説しています。 排他制御とロック 排他制御とは 排他制御とは、共有資源を複数のタスク(プログラム)が同時に操作しても問題なく動作できる仕組みのことです。 例えば、次の図のように共有資源に対して「+1」を加算するプログラムAとプログラムBがあるとします。 本来であれば、共有資源の値が「10」でその値 ...
キャッシュメモリとは?図解でわかる【基本情報技術者試験対策】
CPUの性能を向上させるために使用するメモリであるキャッシュメモリ。基本情報技術者試験や応用情報技術者試験では、このキャッシュメモリの動作に関する問題が出題されます。 本記事では、キャッシュメモリの仕組みについて図解で分かりやすく解説していきます。 キャッシュメモリとは キャッシュメモリとは、CPUと主記憶装置(メインメモリ)の間にある記憶装置のことです。 コンピュータの頭脳であるCPUは、コンピュータの動作に必要なデータや命令を主記憶装置とやり取りしながら処理します。しかし、高速で動作するCPUに比べる ...
メモリインタリーブとは?図解でわかる【基本情報技術者試験対策】
主記憶装置(メインメモリ)へのアクセスを高速化する手法であるメモリインタリーブ。基本情報技術者試験や応用情報技術者試験では、このメモリインタリーブの動作に関する問題が出題されます。 本記事では、メモリインタリーブの仕組みを図解で分かりやすく解説していきます。 メモリインタリーブ メモリインタリーブ(メモリインターリーブ)とは、主記憶装置へのアクセスを高速化する手法のひとつです。 なぜメモリインタリーブが必要なのか コンピュータの頭脳であるCPUは、コンピュータの動作に必要なデータや命令を主記憶装置とやり取 ...
メモリリークとガベージコレクションがわかる【基本情報技術者試験対策】
問題 メモリリークの説明として,適切なものはどれか。 ア:OSやアプリケーションのバグなどが原因で,動作中に確保した主記憶が解放されないことであり,これが発生すると主記憶中の利用可能な部分が減少する。 イ:アプリケーションの同時実行数を増やした場合に,主記憶容量が不足し,処理時間のほとんどがページングに費やされ,スループットの極端な低下を招くことである。 ウ:実行時のプログラム領域の大きさに制限があるときに,必要になったモジュールを主記憶に取り込む手法である。 エ:主記憶で利用可能な空き領域の総量は足りて ...
YouTubeでも解説中
YouTubeの動画でも解説しています。YouTubeチャンネルはこちら
プログラミング講座
【Java入門】Javaとは | 初心者向けプログラミング講座
Javaとは コンピュータで動くプログラムを作成するための言語のことを「プログラミング言語」といいます。 Javaは代表的なプログラミング言語の1つです。 Javaは、1995年の5月にアメリカのサン・マイクロシステムズ(英: Sun Microsystems)という会社が発表したプログラミング言語です。2010年1月にサン・マイクロシステムズはオラクルに買収されているので、現在はオラクル社がJavaを提供しています。 プログラミング言語の役割 コンピュータが理解できる言語は機械語です。そのため人間が理解 ...
例外(try-catch)の書き方 | 初心者でもわかるJava入門
はじめに 前回の記事では、Javaの列挙型について紹介しました。 本記事では、Javaの例外について紹介します。 例外とは 例外とは、プログラムを実行したときに起こるエラーのことです。 プログラムを作る時、正常系(想定している正しい動作)の動作を作るのは当たり前のことです。ただ、正常系の動作しか考慮していないと、想定外の使われ方をしたときやプログラムにバグ(プログラムに潜む誤り)があるとき、通信異常が発生したときなどに問題が発生します。 そのため、プログラムを作るときは異常系(想定していない操作)の動作を ...
【Java入門】ラムダ式とStream API
前回の記事では、Java APIについて紹介しました。 前回の記事 Java APIとは?初心者でもわかるJava入門 本記事では、ラムダ式とStream APIについて紹介します。 ラムダ式とは ラムダ式とは、Java 8から追加された新しい文法で、関数型プログラミングの概念を取り入れ、匿名関数を簡潔に表現する方法を提供します。 ラムダ式は次のような構文で記述します。 (型1 引数名1, 型2 引数名2, ....) -> { ....ラムダ式本体の処理.... } ラムダ式を使う理由は以下です。 ...
アクセス修飾子とは?初心者でもわかるJava入門
はじめに 前回の記事では、Javaのオーバーロードについて紹介しました。 本記事では、Javaのアクセス修飾子について紹介します。 アクセス修飾子とは アクセス修飾子とは、クラスやフィールド、メソッドを他クラスにどこまで公開するかを決める修飾子です。 アクセス修飾子は次のように記述します。※フィールドの例 アクセス修飾子には「public」「protected」「private」の3種類があります。 public publicは、どこからでも利用することができるアクセス修飾子です。 利用方法利用可否クラス ...
インタフェースとは?初心者でもわかるJava入門
はじめに 前回の記事では、Javaの抽象クラス(abstract)について紹介しました。 本記事では、Javaのインタフェースについて紹介します。 インタフェースとは インタフェースとは、抽象メソッドと定数だけを定義できるものです。 抽象メソッドとは、定義だけで処理を書かないメソッド、定数とは値が決まっていて変化しないもの(final修飾子をつけると値を変更できなくなる)のことです。 次はインタフェースの例です。インタフェースはクラスではないので「class」ではなく「interface」と書きます。 イ ...
【Java入門】比較演算子と条件演算子 | 初心者向けプログラミング講
はじめに 前回の記事では、Javaの演算子(算術演算子、代入演算子、インクリメント演算子、デクリメント演算子)について紹介しました。 本記事では、Javaの演算子(比較演算子、条件演算子、論理演算子)について紹介します。 比較演算子とは 比較演算子とは、2つの値を比較するときに使う演算子のことです。比較演算子で比較した結果、条件が成立した場合は true(読み:トゥルー)、成立しない場合は false(読み:フォールス)を返します。 比較演算子の種類 比較演算子には次のようなものがあります。 比較演算子意 ...
定数の使い方 | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPの配列について紹介しました。 本記事では、PHPの定数について紹介します。 定数とは 定数とは値が変化しないものであり、PHPでは「define」関数か「const」キーワードを使って定数を定義します。 値を後から自由に変更できる変数とは違い、定数は1度しか値を代入することができません。例えば次のように定数の値を変更しても、一度定義しているので値は変わりません。 define関数による定数定義 define関数を使い定数を定義することができます。定数の定義はdefine関数 ...
関数(function)の使い方 | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPのswitch文を使った条件分岐について紹介しました。 本記事では、PHPの関数について紹介します。 関数とは 関数とは、いくつかの処理をひとまとまりにしたものです。機能を部品化するイメージで、その部品(関数)を使いまわすことができます。 関数には、処理を実行するための条件である「引数」(パラメータ)を渡すことができます。そして、処理の実行結果を「戻り値」として返却します。※戻り値は返さなくてもよい 複数の引数を指定する場合は「total($a, $b)」のようにカンマ区切 ...
クラスの使い方 | 初心者でもわかるPHP入門
はじめに 前回の記事では、変数のスコープ(ローカル変数、グローバル変数、静的変数)について紹介しました。 本記事では、PHPのクラスについて紹介します。 クラスとは クラスとは、メソッド(関数)やプロパティ(変数)をまとめたもの(関数と変数を持ったプログラムの固まり)です。 次の例では、Cat(猫)の情報を管理するクラスを作成しています。クラスには、メソッドとプロパティを記述できます。 オブジェクトの生成(インスタンスの生成) クラスを使用するには「new」キーワードを使用します。「new クラス名」でク ...
比較演算子、配列演算子、条件演算子 | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPの算術演算子、代入演算子、複合演算子、インクリメント演算子、デクリメント演算子について紹介しました。 本記事では、PHPの比較演算子、配列演算子、条件演算子について紹介します。 比較演算子 比較演算子とは、2つの値を比較するときに使う演算子のことです。 比較演算子で比較した結果、条件が成立した場合は true(読み:トゥルー)、成立しない場合は false(読み:フォールス)を返します。 比較演算子の種類 PHPの比較演算子には次のようなものがあります。 比較演算子意味使用 ...
繰り返し(while文) | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPの繰り返し処理(for文、foreach文)について紹介しました。 本記事では、while文を使った繰り返し処理について紹介します。 while文を使った繰り返し処理 while(読み:ホワイル)文とは、条件が成立している間 処理を繰り返し実行する制御文です。同じ繰り返し処理であるfor文、foreach文との違いは、繰り返しの回数があらかじめ決まっていないところです。 while文の書き方は次のとおりです。 while文では、条件が成立する限り処理を繰り返します。 whi ...
条件分岐(switch文) | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPのbreak文とcontinue文について紹介しました。 本記事では、switch文を使った条件分岐について紹介します。 switch文を使った条件分岐 switch文とは、if文と同じように条件分岐を行う制御文です。if文は else-if文を使うことで複数の条件式を書けますが、switch文の条件式は1つです。 1つの式に対して、式の値が case のどれにあてはまるか確認します。あてはまる case があれば、その case の処理を実行し、caseのどれにもあてはま ...
【入門】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 ...
Rails6でBootstrapを導入する方法
【Rails6】Bootstrap導入手順 Bootstrapとは、Twitter社が開発したCSSの「フレームワーク」です。Bootstrapを利用することで簡単にWebサイトのデザインを作ることができます。 本記事では、Rails6標準の「yarn + webpacker」でBootstrapを導入する手順を紹介しています。 Bootstrapのパッケージをインストールする まず、YarnでBootstrapに必要なパッケージをインストールします。 必要なパッケージは次の通りです。 bootstrap ...
【Ruby on Rails】入力チェック(validates)の実装方法
Ruby on Railsで入力チェック(validates)を実装する Railsでは、入力データを検証するためのメソッド「validates」が用意されており、「validates」をmodelクラスに定義するだけで、入力チェックを実装することができます。 本記事では、「validates」メソッドを利用した入力チェックの実装方法について紹介します。 必須チェック presenceでカラムにデータが存在するか(空でないこと)を検証します。 [modelクラスの例] class User < Ap ...
Rails + AdminLTEで一覧画面を作成する
はじめに Rubyの人気フレームワーク「Ruby on Rails」と、管理画面の制作でよく利用されるCSSの人気フレームワーク「AdminLTE」を利用して一覧画面、詳細画面、編集画面、登録画面を作成する手順を紹介します。 本記事では、一覧画面を作成しています。 [画面イメージ] 事前準備 AdminLTEの導入 AdminLTEの構築手順は下記の通り。 Scaffoldで雛形を生成する まずは便利な機能である「Scaffold」で、一覧、詳細、登録、更新画面の雛形を生成します。 「Sca ...
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 -- ...
Leafletで地図やマーカーを削除(remove、removeLayer)する方法
はじめに 地図データを扱うためのJavaScript ライブラリである「Leaflet」と「OpenStreetMap」を使い、地図やマーカーを削除する方法を紹介します。 地図の表示イメージは次の通りです。ボタンを押下することで、地図の削除・再表示、マーカーの表示・削除をすることができます。 OpenStreetMapとLeafletで地図やマーカーを削除する方法 HTMLとJavaScriptの実装例は以下です。 <!DOCTYPE html> <html> <head&g ...
【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)です ...
【Amazon Cognito】JavaScriptでログイン処理を実装する方法
はじめに JavaScript用のSDKでAmazon Cognitoのユーザープールを使いログイン処理を実装する方法を紹介します。 事前準備として、次のライブラリが必要となるので、npmコマンドでインストールします。 amazon-cognito-identity.min.js ※npmコマンドはNode.jsをインストールすることで使うことができます。 【JavaScript SDK】Amazon Cognito(ユーザープール)の使い方 ライブラリの読み込み 事前準備で取得したライブラリを読み込みま ...
【OpenStreetMap】Leafletで複数のマーカを表示する方法
はじめに OpenStreetMapとLeafletで地図にマーカーを複数を表示する方法を紹介します。 地図の表示イメージは以下の通りです。(東京タワー、東京スカイツリー、六本木ヒルズ にマーカーを表示しています) Leafletで地図にマーカを複数表示する方法 JavaScriptの実装例 <!DOCTYPE html> <html> <head> <title>OpenStreetMapとLeafletで地図にマーカーを複数表示する</title& ...
【Cognito】getSessionでトークン情報を再取得する方法
はじめに JavaScript用のSDKでAmazon Cognitoのユーザープールを使いログイン処理を実装し、ログインに成功すると「アクセストークン」や「IDトークン」などが取得できます。 ただ、この「アクセストークン」や「IDトークン」には有効期限(デフォルトの設定は1時間と短い)があり、有効期限が切れるとトークン情報は無効になってしまいます。 そこで、更新トークン(refreshToken)を使い、トークン情報を再取得することができます。※JavaScript用のSDKでは「getSession」 ...








































