新着記事
ITの専門用語を図解で解説。仕事で役立つITの基礎知識を身につけよう。
生成AIとChatGPT
進化が止まらないIT技術は、さまざまな業種で導入されています。2022年11月のChatGPT公開を機に勢いがついた生成AIの市場規模は、日本では2030年までに年平均47.2%増で成長し、需要額で約1.8兆円まで拡大すると見られています。
情報処理技術者試験対策
ITパスポート
ITパスポートは、基礎的なIT教養を幅広く身につけられることで人気の国家試験です。これからITの知識を身につけていきたい方におすすめです。
基数変換(2進数・10進数・16進数)| ITパスポート講座
本記事で学べること 基数について学ぶ 基数変換のやり方を理解する ITパスポート過去問の解き方を学ぶ 基数とは? 私たちが普段使っている0~9で表現される10種類の数値は「10進数」と呼ばれています。それに対し、コンピュータが扱う「0」と「1」で表現された数値を「2進数」と呼びます。 ここがポイント コンピュータが扱えるのは2進数だけ。文字や音声、映像などのすべての情報は、コンピュータの世界では「0」と「1」の組み合わせで表現されている。 基数とは、数値を表現する際に位取りの基準となる数のことであり、2進 ...
プログラム言語(プログラミング言語)とは | ITパスポート講座
本記事で学べること プログラム言語について学ぶ コンパイラとインタプリタについて学ぶ ノーコードとローコードについて学ぶ ITパスポート過去問の解き方を学ぶ プログラム言語 プログラム言語(プログラミング言語)とは、コンピュータに対して一連の処理手順を与えるために作られた言語です。 コンピュータが理解できるのは「0」と「1」で構成された機械語です。そのため、人間が理解できる「日本語」や「英語」でコンピュータに指示を伝えてもコンピュータは理解できません。 そこで「コンピュータが理解できる機械語に変換しやすい ...
データの単位(バイト・ビット)| ITパスポート講座
本記事で学べること データの単位を理解する 文字コードを学ぶ ITパスポート過去問の解き方を学ぶ データの単位(情報量の単位) コンピュータやスマートフォンには容量があります。例えば、スマートフォンの容量には「64GB」「128GB」「256GB」「512GB」「1TB」などがあり、容量が大きいほど値段は高く、写真やアプリなどをたくさん保存できます。 この「MB(メガバイト)」や「GB(ギガバイト)」「TB(テラバイト)」というのが単位であり、「バイト」とは、コンピュータの世界でデータ量をあらわす際に使用 ...
確率・順列・組み合わせを分かりやすく解説 | ITパスポート講座
本記事で学べること 確率の求め方を学ぶ 順列の求め方を学ぶ 組み合わせの求め方を学ぶ ITパスポート過去問の解き方を学ぶ 確率 確率とは、ある事象が発生する可能性の度合いを数値で表現したものです。 確率は次の式で求められます。 場合の数とは、ある事柄に対して、全部で何通りの場合があるかを示します。 例えば、サイコロを1回振るときの「場合の数」は、出目が1~6なので、6通りです。 なので、サイコロを振って「5」がでる確率は1/6です。(求める場合の数は1、すべての場合の数は6) 確率の積の法則 複数の事象が ...
データ構造(配列/リスト/キュー/スタック/木構造)| ITパスポート講座
本記事で学べること データ構造(配列/リスト/キュー/スタック/木構造)について学ぶ ITパスポート過去問の解き方を学ぶ データ構造 データ構造とは、データの集まりをコンピュータが扱いやすように、特定の形式で整理して格納する方法のことです。 データ構造には、主に次のようなものがあります。 配列 リスト キュー スタック 木構造 配列 配列は、複数のデータ(同じ型のデータ)を連続的に並べたデータ構造です。 次の図は、配列のイメージ例です。 配列の各要素には、先頭から0、1、2、3、・・・と要素番号が付けられ ...
ディープラーニングと生成AI | ITパスポート講座
本記事で学べること ディープラーニング(バックプロパゲーション、過学習、ハルシネーション)について学ぶ 生成AIについて学ぶ ITパスポート過去問の解き方を学ぶ AIとは AI(人工知能)とは、Artificial Intelligence(アーティフィシャル・インテリジェンス)の略で、人が実現するさまざまな知的な活動を行うプログラムやシステムのことです。 コンピュータの性能が大きく向上したことにより、機械であるコンピュータが「学ぶ」ことができるようになりました。 身近な例では、SiriやGoogle A ...
基本情報技術者試験
基本情報技術者試験はITパスポートの上位資格です。本格的にエンジニアやIT業界で仕事をする方におすすめです。
排他制御(占有ロックと共有ロック)とは?図解でわかる【基本情報技術者試験対策】
基本情報技術者試験や応用情報技術者試験で出題される内容である排他制御。排他制御には「ロック」や「セマフォ」「ミューテックス」などがあります。 本記事では、排他制御について図解で分かりやすく解説しています。 排他制御 排他制御とは、共有資源を複数のタスク(プログラム)が同時に操作しても問題なく動作できる仕組みのことです。 例えば、次の図のように「プログラムA」と「プログラムB」が、共有の領域の値に対して同時に書き込む可能性があるとします。 「プログラムA」と「プログラムB」はお互い「+1」するプログラムであ ...
システムの信頼性設計とは?図解でわかる【基本情報技術者試験対策】
問題 フェールセーフの考え方として,適切なものはどれか。 ア:システムに障害が発生したときでも,常に安全側にシステムを制御する。 イ:システムの機能に異常が発生したときに,すぐにシステムを停止しないで機能を縮退させて運用を継続する。 ウ:システムを構成する要素のうち,信頼性に大きく影響するものを複数備えることによって,システムの信頼性を高める。 エ:不特定多数の人が操作しても,誤動作が起こりにくいように設計する。 基本情報技術者令和3年免除 問15 問題 フォールトトレラントシステムを実現する上で不可欠な ...
トランザクション管理とは?図解でわかる【基本情報技術者試験対策】
問題 トランザクションが,データベースに対する更新処理を完全に行うか,全く処理しなかったかのように取り消すか,のどちらかの結果になることを保証する特性はどれか。 ア:一貫性(consistency) イ:原子性(atomicity) ウ:耐久性(durability) エ:独立性(isolation) 基本情報技術者令和5年 [科目A]問7 問題 DBMSに実装すべき原子性(atomicity)を説明したものはどれか。 ア:同一データベースに対する同一処理は,何度実行しても結果は同じである。 イ:トランザ ...
メモリリークとガベージコレクションがわかる【基本情報技術者試験対策】
問題 メモリリークの説明として,適切なものはどれか。 ア:OSやアプリケーションのバグなどが原因で,動作中に確保した主記憶が解放されないことであり,これが発生すると主記憶中の利用可能な部分が減少する。 イ:アプリケーションの同時実行数を増やした場合に,主記憶容量が不足し,処理時間のほとんどがページングに費やされ,スループットの極端な低下を招くことである。 ウ:実行時のプログラム領域の大きさに制限があるときに,必要になったモジュールを主記憶に取り込む手法である。 エ:主記憶で利用可能な空き領域の総量は足りて ...
2の補数とは?図解でわかる【基本情報技術者試験対策】
コンピュータで負の数をあらわすのに使用する「2の補数」、「2の補数」は理解してしまえば、そこまで難しい言葉ではありません。しかし、基本情報技術者試験では単純に「2の補数」を求めるだけの問題が出題されることもありますが、上記の過去問のようにそうではないことも多いです。 本記事では「2の補数」について図解で分かりやすく解説していきます。 2の補数 補数とは「補う数」という意味で「足すと桁が1つ上がる数のうち最も小さい数」のことを「基数の補数」といいます。 例えば、10進数の「4」という数に「6」を足すと、桁が ...
プログラムの性質とは?図解でわかる【基本情報技術者試験対策】
基本情報技術者試験や応用情報技術者試験で出題されるプログラムの性質を表す問題。リエントラントやリカーシブなど聞きなれない言葉のため、難しく感じる問題ですが、各性質を理解してしまえばそこまで難しい問題ではありません。 本記事では、「プログラムの性質」について図解で分かりやすく解説しています。 プログラムの性質 プログラムには次の4つの性質があります。 リロケータブル(再配置可能) リロケータブル(再配置可能)とは、プログラムをメモリ上の何処に配置しても実行できるという性質のことです。 プログラム内蔵方式を採 ...
YouTubeでも解説中
YouTubeの動画でも解説しています。YouTubeチャンネルはこちら
プログラミング講座
Javaの継承とは?初心者でもわかるJava入門
はじめに 前回の記事では、Javaのアクセス修飾子について紹介しました。 本記事では、Javaの継承について紹介します。 継承とは 継承とは、クラスが持っているメンバ(フィールドやメソッド)を別のクラスに引き継がせることです。継承元のクラスをスーパークラス(または親クラス)、引き継いだクラスをサブクラス(または子クラス)といいます。 サブクラスを作成するには「extends」(読み:エクステンズ)を使用します。次のように「extends」の前にサブクラス名(子クラス名)、後にスーパークラス名(親クラス名) ...
オーバーロードとは?初心者でもわかるJava入門
はじめに 前回の記事では、Javaのコンストラクタについて紹介しました。 本記事では、Javaのオーバーロードについて紹介します。 オーバーロードとは オーバーロードとは、同じクラス内に引数の数や型が異なる同じ名前のメソッドを2つ以上定義することです。 例えば、同じような機能のメソッドで引数にint型とdouble型があるとします。オーバーロードを使わない場合は、それぞれ違うメソッド名で定義する必要があります。 そのため、メソッドを使う人は引数の型によって使うメソッドを選択します。 オーバーロードを使う場 ...
【Java入門】Java開発環境の構築 | 初心者向けプログラミング講座
はじめに 前回の記事では、Javaについて紹介しました。 本記事では、Javaの統合開発環境(コンパイラ・エディタ・デバック機能などがセットになったツール)であるEclipseを使い、Javaの開発環境を構築し簡単なプログラム作成を紹介しています。 Eclipseのダウンロード Eclipseのダウンロードは以下のサイトからおこないます。 https://willbrains.jp/ 【手順1】ダウンロードするバージョンを選択する ダウンロードするEclipseのバージョンを選択します。 バージョンに指定 ...
【Java入門】ラムダ式とStream API
前回の記事では、Java APIについて紹介しました。 前回の記事 Java APIとは?初心者でもわかるJava入門 本記事では、ラムダ式とStream APIについて紹介します。 ラムダ式とは ラムダ式とは、Java 8から追加された新しい文法で、関数型プログラミングの概念を取り入れ、匿名関数を簡潔に表現する方法を提供します。 ラムダ式は次のような構文で記述します。 (型1 引数名1, 型2 引数名2, ....) -> { ....ラムダ式本体の処理.... } ラムダ式を使う理由は以下です。 ...
例外(try-catch)の書き方 | 初心者でもわかるJava入門
はじめに 前回の記事では、Javaの列挙型について紹介しました。 本記事では、Javaの例外について紹介します。 例外とは 例外とは、プログラムを実行したときに起こるエラーのことです。 プログラムを作る時、正常系(想定している正しい動作)の動作を作るのは当たり前のことです。ただ、正常系の動作しか考慮していないと、想定外の使われ方をしたときやプログラムにバグ(プログラムに潜む誤り)があるとき、通信異常が発生したときなどに問題が発生します。 そのため、プログラムを作るときは異常系(想定していない操作)の動作を ...
抽象クラス(abstract)とは?初心者でもわかるJava入門
はじめに 前回の記事では、Javaのオーバーライドについて紹介しました。 本記事では、Javaの抽象クラス(abstract)について紹介します。 抽象クラス(abstract) 抽象クラスとは、抽象メソッドを1つ以上持つクラスのことです。抽象メソッドとは、定義だけで処理を書かないメソッドです。 そして、抽象クラスを継承したサブクラス(子クラス)で抽象メソッドをオーバーライドし処理を記述します。 以下は抽象クラスの例です。 抽象クラスは「abstract修飾子」を使って定義します。そして、抽象メソッドにも ...
条件分岐(switch文) | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPのbreak文とcontinue文について紹介しました。 本記事では、switch文を使った条件分岐について紹介します。 switch文を使った条件分岐 switch文とは、if文と同じように条件分岐を行う制御文です。if文は else-if文を使うことで複数の条件式を書けますが、switch文の条件式は1つです。 1つの式に対して、式の値が case のどれにあてはまるか確認します。あてはまる case があれば、その case の処理を実行し、caseのどれにもあてはま ...
定数の使い方 | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPの配列について紹介しました。 本記事では、PHPの定数について紹介します。 定数とは 定数とは値が変化しないものであり、PHPでは「define」関数か「const」キーワードを使って定数を定義します。 値を後から自由に変更できる変数とは違い、定数は1度しか値を代入することができません。例えば次のように定数の値を変更しても、一度定義しているので値は変わりません。 define関数による定数定義 define関数を使い定数を定義することができます。定数の定義はdefine関数 ...
staticプロパティとstaticメソッド | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPの継承とオーバーライドについて紹介しました。 本記事では、PHPのstaticプロパティとstaticメソッドのついて紹介します。 staticキーワード クラスのプロパティ(変数)やメソッド(関数)にstaticをつけると、クラスのオブジェクト(インスタンス)を生成せずにアクセスできます。 staticプロパティは「クラス名::プロパティ名」、staticメソッドは「クラス名::メソッド名」のようにスコープ定義演算子(::)を使ってアクセスできます。 staticプロパテ ...
クラスの使い方 | 初心者でもわかるPHP入門
はじめに 前回の記事では、変数のスコープ(ローカル変数、グローバル変数、静的変数)について紹介しました。 本記事では、PHPのクラスについて紹介します。 クラスとは クラスとは、メソッド(関数)やプロパティ(変数)をまとめたもの(関数と変数を持ったプログラムの固まり)です。 次の例では、Cat(猫)の情報を管理するクラスを作成しています。クラスには、メソッドとプロパティを記述できます。 オブジェクトの生成(インスタンスの生成) クラスを使用するには「new」キーワードを使用します。「new クラス名」でク ...
エラーと例外処理 | 初心者でもわかるPHP入門
はじめに 前回の記事では、PHPのコールバック関数について紹介しました。 本記事では、PHPのエラーと例外について紹介します。 PHPのエラー エラーが発生したときの挙動 PHPでは実行中にエラーが発生しても、基本的には処理を続けようとします。ただし、続行できないFatal error(致命的なエラー)が発生した場合は処理を停止します。 例えば、次の例では「Warning(警告)」と「Fatal error(致命的なエラー)」を発生させています。 [エラーの例] <?php // 警告のエラーを発生 ...
コールバック関数 | 初心者でもわかるPHP入門
はじめに 前回の記事ではPHPのstaticプロパティとstaticメソッドについて紹介しました。 本記事では、PHPのコールバック関数について紹介します。 コールバック関数 コールバック関数(英:callback function)とは、関数を呼び出す際に引数として引き渡される別の関数のことです。 以下はコールバック関数のイメージ例です。 PHPでコールバック関数を使う方法は大きく分けて2つあります。1つは文字列で関数を指定する方法、もう1つは「call_user_func」関数や「call_user_ ...
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 ...
【Rails】validatesのエラーメッセージを日本語化する方法
Rails6のvalidatesメッセージを日本語化する Ruby on Railsのvalidates機能を使うと、デフォルトではエラーメッセージが英語で表示されます。 本記事では「i18n」を利用して、validatesメッセージを日本語化する方法を紹介してきます。 言語ファイルの作成 日本語の言語ファイル作成 i18nでは、英語は「en.yml」、日本語は「ja.yml」というように、言語によりファイルが分かれています。 今回は、日本語化したいので「app/config/locales」配下に「ja ...
Rails + AdminLTEで編集画面を作成する
はじめに 前回の記事では、Ruby on Rails(Rails6) と AdminLTE を利用して登録画面を作成しました。 本記事では、一覧画面から「編集」ボタンを押下して、編集画面に遷移、そして 編集画面から更新処理を行う方法を紹介します。 [一覧画面イメージ] [編集画面イメージ] 事前準備 事前準備として、AdminLTEの設定と一覧画面を作成します。AdminLTEの設定と一覧画面の作成手順は下記の記事をご覧ください。 View(ビュー) ...
【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】入力チェック(validates)の実装方法
Ruby on Railsで入力チェック(validates)を実装する Railsでは、入力データを検証するためのメソッド「validates」が用意されており、「validates」をmodelクラスに定義するだけで、入力チェックを実装することができます。 本記事では、「validates」メソッドを利用した入力チェックの実装方法について紹介します。 必須チェック presenceでカラムにデータが存在するか(空でないこと)を検証します。 [modelクラスの例] class User < Ap ...
Rails6でBootstrapを導入する方法
【Rails6】Bootstrap導入手順 Bootstrapとは、Twitter社が開発したCSSの「フレームワーク」です。Bootstrapを利用することで簡単にWebサイトのデザインを作ることができます。 本記事では、Rails6標準の「yarn + webpacker」でBootstrapを導入する手順を紹介しています。 Bootstrapのパッケージをインストールする まず、YarnでBootstrapに必要なパッケージをインストールします。 必要なパッケージは次の通りです。 bootstrap ...
【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 ...
【Cognito】getSessionでトークン情報を再取得する方法
はじめに JavaScript用のSDKでAmazon Cognitoのユーザープールを使いログイン処理を実装し、ログインに成功すると「アクセストークン」や「IDトークン」などが取得できます。 ただ、この「アクセストークン」や「IDトークン」には有効期限(デフォルトの設定は1時間と短い)があり、有効期限が切れるとトークン情報は無効になってしまいます。 そこで、更新トークン(refreshToken)を使い、トークン情報を再取得することができます。※JavaScript用のSDKでは「getSession」 ...
【OpenStreetMap】Leafletで複数のマーカを表示する方法
はじめに OpenStreetMapとLeafletで地図にマーカーを複数を表示する方法を紹介します。 地図の表示イメージは以下の通りです。(東京タワー、東京スカイツリー、六本木ヒルズ にマーカーを表示しています) Leafletで地図にマーカを複数表示する方法 JavaScriptの実装例 <!DOCTYPE html> <html> <head> <title>OpenStreetMapとLeafletで地図にマーカーを複数表示する</title& ...
OpenStreetMapとLeafletで地図にピン(マーカー)を立てる
はじめに OpenStreetMapとLeafletで地図にピン(マーカー)を立てる方法を紹介します。 地図の表示イメージは以下の通りです。 OpenStreetMapとLeafletで地図にピン(マーカー)を立てる 実装例 <!DOCTYPE html> <html> <head> <title>OpenStreetMapとLeafletで地図にピンを立てる</title> <meta charset="utf-8"> <li ...
【OpenStreetMap】Leafletでマーカーの色を変更する方法
はじめに 地図データを扱うためのJavaScript ライブラリである「Leaflet」と「OpenStreetMap」を使い、マーカー(ピン)の色を変更する方法を紹介します。 地図の表示イメージは以下の通りです。 Leafletでマーカーの色を変更する方法 「leaflet.sprite.js」の読み込み マーカーの色を変更するには「leaflet.sprite.js」が必要です。「leaflet.sprite.js」はGitHubからダウンロードすることができます。 GitHub:https://gi ...









































