2022-01-01から1年間の記事一覧
機械に計算をさせると言っても、電子回路によってどう作れば良いのか。 また、0〜9の数字を2進数でどう扱うかがわからないという問題がありました。 そこで登場したのがクロード・シャノンです。 電子回路の問題と2進数の問題を解決し、電子式の計算機を見事…
今回は電気回路について解説します。 今まで解説してきた数学と論理学の知識を工学が、いかにコンピュータとして形にするかを解説します。 これまで解説した数学と論理学は、あくまで抽象的な話です。 これらの知識をコンピュータとして具体的な形にするには…
今回は論理学について解説します。 ここまでの解説ではアラビア数字によって、数をカンタンに表せるようになった歴史を見てきました。 しかし、数学の知識だけではコンピュータは作れません。 もちろんそれは電子部品や半導体等が必要という意味ではありませ…
今回は、コンピュータと深い関係があるアラビア数字について解説します。 アラビア数字の発見はコンピュータの実現に大きく寄与しました。 なぜなら、アラビア数字は大量の情報を簡単に表せる仕組みとなっているからです。 アラビア数字が広まった背景には、…
今回はアラビア数字が誕生するまでの歴史を解説します。 アラビア数字は8世紀頃から広まったもので、それまでは石ころや粘土、木片、貝殻など様々な方法で計算をおこなってきました。 それまで使って来た数字を知れば知るほどアラビア数字が画期的な発明だっ…
ここでは数と数字について学んでいきます。 コンピュータについて学ぶのに、なぜ数と数字について学ぶのでしょうか。 それは、コンピュータの歴史は計算の歴史でもあるからです。 現在のコンピュータは色々なことができるので、複雑に思われがちですが、実は…
これまで、データベースに対して1人のユーザーとして操作をしてきましたが、データベースは、複数のユーザーから同時にアクセスされる可能性があります。 1回のデータベースへの働きかけを、セッションといいます。 つまり、データベースは複数のセッション…
データベースの設定、テーブル構成、データなど、データベースの情報をすべて丸ごとファイルにして取り出しておくと、データベースが万が一壊れた場合にも、復元することができます。 バックアップとリストア ダンプとリストア 参考図書 バックアップとリス…
データベースのテーブルに登録されているデータは、列ごとに区切られた単なる値の羅列です。 これらのデータは、テキストファイルとして出力をし、外部のデータベースシステムに提供することができます。 また、テキストファイルとして提供されたデータを読…
ビューとは ビューの作成 ビューからテーブルのデータを更新する ビューの上書き・変更・削除 参考図書 ビューとは リレーショナルデータベースではデータを正規化してテーブルに分割する関係上、必要なデータを取り出すときには、テーブルの結合が不可欠に…
複数のテーブルのすべてのレコードを表示(外部結合) 副問い合わせ(サブクエリ) 参考図書 複数のテーブルのすべてのレコードを表示(外部結合) 外部結合とは、テーブルを結合する際に、2つのテーブルの、左右どちらか一方にある値はすべての行が表示され…
複数のテーブルを結合して表示 (内部結合) 参考図書 複数のテーブルを結合して表示 (内部結合) 内部結合とは、テーブルを結合する際に、2つのテーブル内のどちらにも存在する値同士を結びつけて結合する方法を、内部結合と呼びます。 内部結合では、両方…
これまでの記事では、単独のテーブルを操作してきましたが、ここでは、複数のテーブルを利用していきます。 リレーショナルデータベースではこれが最大の特徴になります。 最小限の情報で構成されたテーブル同士を組み合わせることで、そこから様々な意味あ…
複数の条件を指定した抽出 並べ替え グループ化と 集計 参考図書 複数の条件を指定した抽出 「○○であり、かつ××である」と2つ以上の条件がどちらも成立ことを表すには、ANDという演算子を使います。 「○○または ××である」とどちらか一方の条件が1つでも成立…
関数のネスト 条件を指定して レコードを 抽出する 文字列のマッチング(LIKE演算子) 参考図書 関数のネスト 関数の引数には、列の値や定数だけでなく、別の関数の結果を使うこともできます。 このように、関数の結果をさらに別の関数の引数にしていくこと…
データの抽出 列表示の工夫 関数の使用 関数の種類 参考図書 データの抽出 ここまで、テーブルを作成し、レコードを挿入して、すべてのレコードを「 SELECT * FROM テーブル名」で表示してきました。 しかし、実際には全レコードではなく、一部の列のデータ…
2022年4月から2022年6月の3ヶ月間で企業の合同新入社員研修(Javaエンジニア育成研修)を実施しました。 新入社員研修を対応する講師ってどんなことをしているかという観点から、企業研修の内容をお伝えします。 興味を持ってもらえたら、来年(2023年度)の…
「デル アンバサダープログラム」のモニターにて、『XPS 13 2-in-1 (7390)』を提供頂きましたので、レビューをしていきたいと思います。 スペック 使用感 インターネット閲覧作業 動画鑑賞 Office作業 プログラミング作業 キーボードおよびタッチバッドにつ…
デフォルト値(初期値)の設定 連続番号機能付き列の設定 インデックスの設定 参考図書 デフォルト値(初期値)の設定 列内に自動で設定できる値を指定します。 INSERT文などでレコードを入力する際に、テーブル内のすべての列にデータを入力せず省略した場…
主キーの設定 UNIQUE制約(一意キー)の設定 NOT NULL制約の設定 参考図書 主キーの設定 ここまでのテーブル作成は、列名とデータ型を指定してきましたが、リレーショナルデータベースの最大の特徴は、複数の表を連携させて意味を持たせることでした。 また…
ここでは、データベースの各テーブルの列のデータ型を変更したり、新しい列を追加する等の、テーブル構造の修正を行います。 また、列に対して、主キーや外部キー、NOT NULL制約の設定などを行います。 列構造の変更 列の追加 列名とデータ型の変更 列の削除…
問題3-12 ホテルを表現するHotelクラスを作成してください。 そのホテルに勤務するStaffクラスと、そのホテルを利用するCustomerクラスも作成してください。 また、人を表現するPerson抽象クラスと、労働可能を表現するWorkableインタフェース、所持金不足を…
問題3-11 小学生を表現するSchoolChildクラスは、不完全です。 また、小学生クラスを使用するCompareBasicPracticeクラスのmainメソッドも不完全です。 CompareBasicPracticeクラスは以下の部分でコンパイルエラーになります。 Collections.sort(classroom);…
問題3-10 四季を表現するSeason列挙型を作成してください。 【Season列挙型】 Season列挙型は4つの列挙子(SPRING、SUMMER、FALL、WINTER)を持ちます。 Season列挙型はprivateなインスタンスフィールドname(String型)を持ち、4つの列挙子に対して「春」「…
Scratch for CS First Googleは2022年3月1日に、小学校のプログラミング教育を支援するカリキュラム CS Firstを日本人向けに無償公開しました。 csfirst.withgoogle.com 現在、世界100か国以上、200万人以上の子どもたちがすでに利用しています。 CS Firstは…
データベースに写真を保存する デザインを設定する ワークフローの設定 参考図書 データベースに写真を保存する まずはデータベースに写真を保存します。 データベースタブに行き、新しいタイプを「ギャラリー」とします。 次にギャラリータイプの中に、フィ…
データの挿入 データを表示する SQL文とMySQLコマンド テーブルやレコードのコピー、削除 参考図書 データの挿入 テーブルにデータを挿入するには、「INSERT INTO」コマンドを使います。 【書式】データの挿入 INSERT INTO テーブル名 VALUES(データ1, デー…
問題3-9 学校を表現するSchoolクラスと、その学校に在学する生徒を表現するStudentクラスを作成してください。 ただし、StudentクラスはSchoolクラスの中だけで使えるprivateな非staticネストクラスにしてください。 Schoolクラスを使用するNestClassBasicPr…
問題3-8 5人の大富豪が1つの募金箱に同時に募金していく様子をシミュレートしています。 大富豪を表現するMultiMillionaireクラスと、募金箱を表現するCollectionBoxクラスを作成してください。 また、これらのクラスを使用するThreadSafePracticeクラスのma…
問題3-7 スレッドによる走行を表現するRacingCarクラスを作成してください。 RacingCarクラスを使用するThreadBasicPracticeクラスのmainメソッドは完成しています。 (変更は禁止です) 【RacingCarクラス】 Threadクラスを継承します。 ゴール地点までの距…