プログラミングを皆に楽しんでもらうための情報をお届けします。 様々なプログラム言語やIT技術等について紹介していきます。知りたいことがあれば気軽にメールでもコメントでも質問していただきたいです。
今日 | 04/19 | 04/18 | 04/17 | 04/16 | 04/15 | 04/14 | 全参加数 | |
---|---|---|---|---|---|---|---|---|
総合ランキング(IN) | 33,389位 | 圏外 | 33,389位 | 30,943位 | 30,181位 | 27,858位 | 25,518位 | 1,034,231サイト |
INポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
OUTポイント | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 2/週 |
PVポイント | 446 | 1,692 | 1,778 | 2,106 | 1,720 | 1,624 | 492 | 9,858/週 |
IT技術ブログ | 234位 | 圏外 | 234位 | 188位 | 174位 | 165位 | 147位 | 9,759サイト |
IT技術メモ | 54位 | 圏外 | 54位 | 40位 | 39位 | 35位 | 32位 | 1,578サイト |
開発言語 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 65サイト |
プログラム・プログラマー | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 930サイト |
今日 | 04/19 | 04/18 | 04/17 | 04/16 | 04/15 | 04/14 | 全参加数 | |
---|---|---|---|---|---|---|---|---|
総合ランキング(OUT) | 63,174位 | 61,173位 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 1,034,231サイト |
INポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
OUTポイント | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 2/週 |
PVポイント | 446 | 1,692 | 1,778 | 2,106 | 1,720 | 1,624 | 492 | 9,858/週 |
IT技術ブログ | 496位 | 332位 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 9,759サイト |
IT技術メモ | 84位 | 70位 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 1,578サイト |
開発言語 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 65サイト |
プログラム・プログラマー | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 930サイト |
今日 | 04/19 | 04/18 | 04/17 | 04/16 | 04/15 | 04/14 | 全参加数 | |
---|---|---|---|---|---|---|---|---|
総合ランキング(PV) | 2,452位 | 2,523位 | 2,540位 | 2,547位 | 2,593位 | 2,597位 | 2,613位 | 1,034,231サイト |
INポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
OUTポイント | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 2/週 |
PVポイント | 446 | 1,692 | 1,778 | 2,106 | 1,720 | 1,624 | 492 | 9,858/週 |
IT技術ブログ | 48位 | 51位 | 51位 | 49位 | 52位 | 50位 | 50位 | 9,759サイト |
IT技術メモ | 14位 | 14位 | 14位 | 13位 | 14位 | 14位 | 14位 | 1,578サイト |
開発言語 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 65サイト |
プログラム・プログラマー | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 930サイト |
機械に計算をさせると言っても、電子回路によってどう作れば良いのか。 また、0〜9の数字を2進数でどう扱うかがわからないという問題がありました。 そこで登場したのがクロード・シャノンです。 電子回路の問題と2進数の問題を解決し、電子式の計算機を見事に実現させます。 今回はシャノンの情報理論を中心に解説します。 まずは電気を使って論理演算を実現させます。 AND、OR、NOT演算を電気回路に置き換えるとどうなるのでしょうか。 仕組みを簡単に説明します。 上記はブールの考えた論理値表です。 「真」と「偽」という値を「1」と「0」の数字に置き換えました。 最後には「命題X」と「命題Y」の組み合わせを真…
今回は電気回路について解説します。 今まで解説してきた数学と論理学の知識を工学が、いかにコンピュータとして形にするかを解説します。 これまで解説した数学と論理学は、あくまで抽象的な話です。 これらの知識をコンピュータとして具体的な形にするには工学、特に電気工学の知識が必要でした。 具体的にはクロード・シャノンの情報理論について解説します。 まずは論理演算を、電気回路を使って実現した歴史から解説していきます。 1900年頃、当時の科学者や数学者達は電子式の計算機を作ろうとしていました。 「+」「-」「×」「÷」を行う電卓のことです。 電卓を作る研究の中から、コンピュータは生まれました。 0と1を…
今回は論理学について解説します。 ここまでの解説ではアラビア数字によって、数をカンタンに表せるようになった歴史を見てきました。 しかし、数学の知識だけではコンピュータは作れません。 もちろんそれは電子部品や半導体等が必要という意味ではありません。 コンピュータを作るには論理学の知識が必要です。 なぜ論理学の知識が必要なのでしょうか。 それは、数字を使って人間の思考や論理を表現することができるからです。 ジョージ・ブールの論理演算を中心に、数字で人間の思考を表す方法を解説します。 では、そもそも論理学とは何でしょうか。 論理学とは「正しい推論とは何か?」について考える学問です。 そして推論とは「…
今回は、コンピュータと深い関係があるアラビア数字について解説します。 アラビア数字の発見はコンピュータの実現に大きく寄与しました。 なぜなら、アラビア数字は大量の情報を簡単に表せる仕組みとなっているからです。 アラビア数字が広まった背景には、貿易量の増加がありました。 舞台は15世紀のイタリアです。 この当時、香辛料などの取引によりイタリアの経済は発展していました。 貿易が活発になると、それを記録するための数字が必要になります。 当時イタリアで使われていたのは、ローマ数字でした。 しかし、ローマ数字は使いづらい数字であり、新たな数字が求められていました。 今では当たり前のように使われているアラ…
今回はアラビア数字が誕生するまでの歴史を解説します。 アラビア数字は8世紀頃から広まったもので、それまでは石ころや粘土、木片、貝殻など様々な方法で計算をおこなってきました。 それまで使って来た数字を知れば知るほどアラビア数字が画期的な発明だったことに気が付くはずです。 みなさんに質問です。 一番古い数の数え方は何でしょうか。 正確な事は言えませんが、それは両手の十本の指を使った数え方だと考えられています。 今でも小さい子などが指を折ってモノを数えることがあると思います。 太古の昔にはモノの一つ一つを指の一本一本に対応させていたに違いありません。 その結果として世界的に十進数が普及しました。 つ…
ここでは数と数字について学んでいきます。 コンピュータについて学ぶのに、なぜ数と数字について学ぶのでしょうか。 それは、コンピュータの歴史は計算の歴史でもあるからです。 現在のコンピュータは色々なことができるので、複雑に思われがちですが、実は内部で0と1の計算をしているのに過ぎないのです。 皆さんはご存じでしたでしょうか。 コンピュータという言葉は元々職業を指していたのです。 現代の私たちがコンピュータと聞くとWindowsやMacのパソコンを思い浮かべがちですが、元は全く別の意味でした。 計算手という計算をする仕事が昔はあったのです。 コンピュータのcomputeとは英語で計算をするを意味し…
これまで、データベースに対して1人のユーザーとして操作をしてきましたが、データベースは、複数のユーザーから同時にアクセスされる可能性があります。 1回のデータベースへの働きかけを、セッションといいます。 つまり、データベースは複数のセッションから常にアクセスされることを想定しておかなければなりません。 銀行の入出金のようなシステムでは、あるセッションの口座に対しての処理は、他のセッションに邪魔されずに一貫して行わなければなりません。 このような入出金の一連の処理をRDBMSでは、トランザクションとして管理します。 トランザクションとは、データベースを更新するとき、途中で区切ることのできない処理…
データベースの設定、テーブル構成、データなど、データベースの情報をすべて丸ごとファイルにして取り出しておくと、データベースが万が一壊れた場合にも、復元することができます。 バックアップとリストア ダンプとリストア 参考図書 バックアップとリストア データベース内の内容を書き出すことを、ダンプ(dump)といいます。 ダンプしたファイルを使えば、他のPCに同じ内容のデータベースを作成したり、万が一データベースが壊れた場合に、対応するバックアップとしてとっておくこともできます。 バックアップの取り方はRDBMSによって異なります。 逆に、ダンプしたデータをデータベースに戻すことを、リストアするとい…
データベースのテーブルに登録されているデータは、列ごとに区切られた単なる値の羅列です。 これらのデータは、テキストファイルとして出力をし、外部のデータベースシステムに提供することができます。 また、テキストファイルとして提供されたデータを読み込んでテーブルを作成することもできます。 ここでは、テキストファイルからのデータの読み書きについて見ていきます。 テキストファイルは、データとデータをカンマやタブ、スペースなどの区切り文字で区切って登録したものです。 単なる文字の羅列なので異なるデータベース間でも読み書きが可能です。 データのテキストファイルへの書き込み(エクスポート) データのテキストフ…
ビューとは ビューの作成 ビューからテーブルのデータを更新する ビューの上書き・変更・削除 参考図書 ビューとは リレーショナルデータベースではデータを正規化してテーブルに分割する関係上、必要なデータを取り出すときには、テーブルの結合が不可欠になります。 テーブルの結合によりSQL文が複雑化することを避けるために、よく利用するテーブルはあらかじめ結合した状態で擬似的なテーブルとして利用することができます。 この仕組みを仮想表(ビュー)と呼びます。 ビューを使うと、SELECT文の結果をあたかも1つのテーブルであるかのように扱うことができます。 ただし、ビューの中に実際にデータが入っている訳では…
複数のテーブルのすべてのレコードを表示(外部結合) 副問い合わせ(サブクエリ) 参考図書 複数のテーブルのすべてのレコードを表示(外部結合) 外部結合とは、テーブルを結合する際に、2つのテーブルの、左右どちらか一方にある値はすべての行が表示されます。 外部結合はどちらのテーブルの値をすべて表示するか指定する必要があります。 【ポイント】 結合する対象のない行では、列の値としてNULL値が表示されます。 左外部結合(LEFT OUTER JOIN) 【書式】LEFT OUTER JOIN SELECT 列名 FROM テーブル1 LEFT OUTER JOIN テーブル2 ON テーブル1.列名…
複数のテーブルを結合して表示 (内部結合) 参考図書 複数のテーブルを結合して表示 (内部結合) 内部結合とは、テーブルを結合する際に、2つのテーブル内のどちらにも存在する値同士を結びつけて結合する方法を、内部結合と呼びます。 内部結合では、両方のテーブルに結合条件を満たすレコードがない場合には、そのレコードは結果から除外されます。 次の[hanbai_list]テーブルのデータを見てみましょう。 このデータだけでは、顧客に関する情報は[kokyaku_no]のみで、顧客がどんな名前で住所がどこで、といったことが一切わかりません。 リレーショナルデータベースでは、関連する情報を別々のテーブルに…
これまでの記事では、単独のテーブルを操作してきましたが、ここでは、複数のテーブルを利用していきます。 リレーショナルデータベースではこれが最大の特徴になります。 最小限の情報で構成されたテーブル同士を組み合わせることで、そこから様々な意味ある情報を創りだしていきます。 それらのデータを分析して、企業の戦略などに活用することこそが、データベースの真の目的です。 複数のテーブルのレコードをあわせて表示 UNION テーブルの結合と結合キー 参考図書 複数のテーブルのレコードをあわせて表示 UNION 複数のテーブルのデータを1つにまとめて表示することができます。 その場合、UNIONを使います。 …
複数の条件を指定した抽出 並べ替え グループ化と 集計 参考図書 複数の条件を指定した抽出 「○○であり、かつ××である」と2つ以上の条件がどちらも成立ことを表すには、ANDという演算子を使います。 「○○または ××である」とどちらか一方の条件が1つでも成立することを表すには、ORという演算子を使います。 これらのANDやORを論理演算子といいます。 ANDとORを組み合わせることもできます。 「○○でない」と否定する場合には、NOTを使います。 論理演算子 論理演算 意味 AND 論理積 すべての条件を満足している(かつ) OR 論理和 いずれかの条件を満足している(または) NOT 否定…
関数のネスト 条件を指定して レコードを 抽出する 文字列のマッチング(LIKE演算子) 参考図書 関数のネスト 関数の引数には、列の値や定数だけでなく、別の関数の結果を使うこともできます。 このように、関数の結果をさらに別の関数の引数にしていくことを、関数をネストさせる(入れ子にする)といいます。 別々の関数を組み合わせ、ネストさせることで、さまざまな情報を扱うことができるようになります。 (使用例) 「今日はYYYY-MM-DDです」いう形式で現在の日付を表示する。 (curdate関数で得た今日の日付と、「今日は」「です」という文字列をCONCAT関数で連結する。) 今日の日付から、曜日…
データの抽出 列表示の工夫 関数の使用 関数の種類 参考図書 データの抽出 ここまで、テーブルを作成し、レコードを挿入して、すべてのレコードを「 SELECT * FROM テーブル名」で表示してきました。 しかし、実際には全レコードではなく、一部の列のデータだけが必要であったり、ある条件に一致するレコードが必要であったりと、全レコードの表示機能だけでは事足りません。 レコードの抽出をする「SELECT」文には、様々な指定の仕方があり、指定を工夫することによって、必要な情報を効率よく取り出すことができるようになっています。 指定の仕方を学習して、「SELECT」文を自由自在に使いこなせるように…
2022年4月から2022年6月の3ヶ月間で企業の合同新入社員研修(Javaエンジニア育成研修)を実施しました。 新入社員研修を対応する講師ってどんなことをしているかという観点から、企業研修の内容をお伝えします。 興味を持ってもらえたら、来年(2023年度)の研修講師にチャレンジして欲しいです。 どんなことをしているの? プログラミングスキルの指導 ビジネススキルの指導 新入社員研修を対応して嬉しいポイント 対応費用が高い 受講者に感謝してもらえる ITエンジニアの経験が活かせる まとめ どんなことをしているの? メインは技術研修ですので、「システム開発に必要な技術」を指導するのはもちろんです…
「デル アンバサダープログラム」のモニターにて、『XPS 13 2-in-1 (7390)』を提供頂きましたので、レビューをしていきたいと思います。 スペック 使用感 インターネット閲覧作業 動画鑑賞 Office作業 プログラミング作業 キーボードおよびタッチバッドについて 外付け端子 外観 まとめ スペック まずは主にスペックについて見ていきたいと思います。 CPUは第10世代Coreプロセッサー(Ice Lake)を搭載していますので、申し分ないパワーでしょう。 グラフィックスについても Iris Plus Graphicsを搭載しており、UHD Graphicsよりも高いグラフィック性…
デフォルト値(初期値)の設定 連続番号機能付き列の設定 インデックスの設定 参考図書 デフォルト値(初期値)の設定 列内に自動で設定できる値を指定します。 INSERT文などでレコードを入力する際に、テーブル内のすべての列にデータを入力せず省略した場合、省略された列には自動的にデフォルト値(初期値)が入ります。 デフォルト値が未設定の場合は、NULL値が入ります。 デフォルト値は厳密には制約ではありませんが、テーブル内にNULL値が入ることを防ぐことができます。 【書式】デフォルト値の設定をしてテーブルを作成する CREATE TABLE テーブル名 ( 列名 データ型 DEFAULT デフォ…
主キーの設定 UNIQUE制約(一意キー)の設定 NOT NULL制約の設定 参考図書 主キーの設定 ここまでのテーブル作成は、列名とデータ型を指定してきましたが、リレーショナルデータベースの最大の特徴は、複数の表を連携させて意味を持たせることでした。 また、データベースでは1つのレコードはユニーク(一意:必ず1つだけが特定できる)でなければなりません。 表と表を関連付けるリレーショナルシップには、主キーを設定します。 主キーに、ユニークなレコードを作る場合、列に、他の列と区別するための特別な属性を指定します。 主キーを設定するには、PRIMARY KEY制約を設定します。 PRIMARY K…
「ブログリーダー」を活用して、まつい@未来エンジニア養成所さんをフォローしませんか?