プログラミングを皆に楽しんでもらうための情報をお届けします。 様々なプログラム言語やIT技術等について紹介していきます。知りたいことがあれば気軽にメールでもコメントでも質問していただきたいです。
機械に計算をさせると言っても、電子回路によってどう作れば良いのか。 また、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…
ここでは、データベースの各テーブルの列のデータ型を変更したり、新しい列を追加する等の、テーブル構造の修正を行います。 また、列に対して、主キーや外部キー、NOT NULL制約の設定などを行います。 列構造の変更 列の追加 列名とデータ型の変更 列の削除 参考図書 列構造の変更 テーブルの作成は、運用を始める前に考えられるあらゆることを検討した上で作成を始めるべきですが、運用していると、どうしてもテーブルを変更しなければならない場面が出てきます。 例えば 長い文字数のデータが出てきた 新しい列を追加したい 不必要になった列を削除したい など。 また、これまでの解説では列名とデータ型のみを指定して…
問題3-12 ホテルを表現するHotelクラスを作成してください。 そのホテルに勤務するStaffクラスと、そのホテルを利用するCustomerクラスも作成してください。 また、人を表現するPerson抽象クラスと、労働可能を表現するWorkableインタフェース、所持金不足を表現するShortFallException例外クラスは完成しています。 (変更は禁止です) これらのクラスを使用するTotalHiLevelPracticeクラスのmainメソッドも完成しています。 (変更は禁止です) 【Hotelクラス】 次の4つのインスタンスフィールドを持ちます。 ホテル名 name(String…
問題3-11 小学生を表現するSchoolChildクラスは、不完全です。 また、小学生クラスを使用するCompareBasicPracticeクラスのmainメソッドも不完全です。 CompareBasicPracticeクラスは以下の部分でコンパイルエラーになります。 Collections.sort(classroom); Collectionsユーティリティクラスのsortメソッドは、引数で渡されたList型の要素をソートします。 しかし、不完全なためソートできません。 次の指示に従って、2種類のソートを可能にしてください。 【SchoolChildクラス】 「順序の基準」を設定するた…
問題3-10 四季を表現するSeason列挙型を作成してください。 【Season列挙型】 Season列挙型は4つの列挙子(SPRING、SUMMER、FALL、WINTER)を持ちます。 Season列挙型はprivateなインスタンスフィールドname(String型)を持ち、4つの列挙子に対して「春」「夏」「秋」「冬」という文字列を保持します。 (コンストラクタをうまく利用してください) toStringメソッドをオーバーライドして、インスタンスフィールドnameの情報を返してください。 また、EnumBasicPracticeクラスのmainメソッドは一部未完成です。 以下のように実…
Scratch for CS First Googleは2022年3月1日に、小学校のプログラミング教育を支援するカリキュラム CS Firstを日本人向けに無償公開しました。 csfirst.withgoogle.com 現在、世界100か国以上、200万人以上の子どもたちがすでに利用しています。 CS Firstは、小学校3年生から6年生向けの学習用教材で、Scratch for CS Firstを使ってプログラミングの基礎を学ぶことができます。 csfirst.withgoogle.com ブラウザ上から誰でも無料で利用することができ、教員向けの機能として、Google Workspac…
【Bubble/ノーコード】ギャラリーの写真を拡大してスライドショーを作る
データベースに写真を保存する デザインを設定する ワークフローの設定 参考図書 データベースに写真を保存する まずはデータベースに写真を保存します。 データベースタブに行き、新しいタイプを「ギャラリー」とします。 次にギャラリータイプの中に、フィールドを作成していきます。 フィールドは、写真を保存して行くので名前を「写真」、フィールドタイプを「image」とします。 次に画像をアップロードしていきます。 「App data」タブに移動して、「New entry」をクリックします。 「Upload」ボタンを押して、好きな画像を選び「CREATE」で保存します。 これを画像4枚分行います。 次のよ…
データの挿入 データを表示する SQL文とMySQLコマンド テーブルやレコードのコピー、削除 参考図書 データの挿入 テーブルにデータを挿入するには、「INSERT INTO」コマンドを使います。 【書式】データの挿入 INSERT INTO テーブル名 VALUES(データ1, データ2 ・・・); VALUESの後ろの()内に、設定した列名の順にデータをカンマで区切って記述をします。 [syohin_master]のデータの一部 [syohin_master]のテーブル構成 例えば、[syohin_master]テーブルにデータを挿入するとします。 1行が1件のレコードにあたります。 s…
問題3-9 学校を表現するSchoolクラスと、その学校に在学する生徒を表現するStudentクラスを作成してください。 ただし、StudentクラスはSchoolクラスの中だけで使えるprivateな非staticネストクラスにしてください。 Schoolクラスを使用するNestClassBasicPracticeクラスのmainメソッドは完成しています。 (変更は禁止です) 【Schoolクラス】 定員人数を表現するint型の定数CAPACITYを宣言します。 初期値に「5」を設定してください。 次の2つのインスタンスフィールドを持ちます。 ・学校名を表すname(String型)インスタ…
問題3-8 5人の大富豪が1つの募金箱に同時に募金していく様子をシミュレートしています。 大富豪を表現するMultiMillionaireクラスと、募金箱を表現するCollectionBoxクラスを作成してください。 また、これらのクラスを使用するThreadSafePracticeクラスのmainメソッドは完成しています。 (変更は禁止です) 【MultiMillionaireクラス】 Threadクラスを継承します。 募金箱インスタンスフィールドを定義します。 募金箱オブジェクトを引数に受け取るコンストラクタを定義します。 runメソッドをオーバーライドします。 for文を用いて100万回…
問題3-7 スレッドによる走行を表現するRacingCarクラスを作成してください。 RacingCarクラスを使用するThreadBasicPracticeクラスのmainメソッドは完成しています。 (変更は禁止です) 【RacingCarクラス】 Threadクラスを継承します。 ゴール地点までの距離を表すint型の定数GOALを定義します。 定数GOALの値は100を代入して初期化してください。 RacingCarクラスは次の3つのインスタンスフィールドを持ちます。 車の名前を表すname(String型) その車の最高走行距離を表すmaxDistance(int型) その車のエンストす…
問題3-6 あるグループに属するメンバーを表現するMemberクラスがあります。 フィールドとして、int型のidとString型のnameを持ち、基本的なコンストラクタを持ち、toStringメソッドをオーバーライドしているとても基本的なクラスです。 Memberクラスを使用するHashSetEqualsPracticeクラスのmainメソッドはすでに完成しています。 (変更は禁止です) このプログラムを変更せずに、そのままコンパイル・実行すると次のように出力されます。 【正しくない実行結果(順不同)】 ID:3 NAME:村田 ID:1 NAME:ニセ山田 ID:5 NAME:川田 ID:…
Be Internet Awesomeとは Googleが子供たちの安全なインターネット利用を目指して、リテラシーを育むためのプログラム等を公開しました。 japan.googleblog.com Be Internet Awesomeは、Googleが子供達のために無料提供している学習プログラムのことです。 インターネットリテラシーをオンラインゲーム感覚で学ぶことができます。 現在、世界40ケ国で公開され、日本語版も提供されています。 beinternetawesome.withgoogle.com Awesomeは「オウサム」と発音して、「最高」「イケてる」の意味です。 「Be Inter…
【Bubble/ノーコード】折りたたみ可能なサブメニューを作る
グループの作成 ワークフローの設定 おまけ機能 参考図書 グループの作成 動きが分かりやすいようにグループを作成します。 「Groupエレメント」を配置し、スタイルを変更しましょう。 「Backgroud style」を「Flat color」に、「Color」を「#091747」にしておきます。 続いて、グループの中に「Textエレメント」を配置し「メニュー①」とします。 メニュー①をコピー&ペーストして「メニュー②」を作成します。 メニュー①の下に「Groupエレメント」を配置します。 このグループは分かりやすいように「Groupサブ」という名前に変更します。 「Backgroud sty…
SQLの基本構造 SQLの種類 データベースの作成と削除 テーブルの作成 テーブルの構造の確認 参考図書 SQLの基本構造 SQLはリレーショナルデータベース(RDB)に対して要求を出す時に用いる言語です。 SQL文は、複数の「句」を組み合わせ1つの命令をDBMSに依頼しています。 それぞれの句は、あらかじめ決められているキーワードによって構成されています。 また文の最後を表すには「;(セミコロン)」を使います。 句は、必要に応じて付け加えることができます。 そのため、文の最後を示す記号としてセミコロンを受け取るまでは、DBMSはSQL文の入力を待ち続けます。 そして、最後にセミコロンを受け取…
問題3-5 宝物を表現するTreasureクラスと、金庫を表現するStrongBoxクラス、秘密の言葉に関する例外を表現するIllegalSecretException例外クラスとDuplicateSecretException例外クラスを作成してください。 その4つのクラスを使用するHashMapNormalPracticeクラスのmainメソッドはすでに完成しています。 (変更は禁止です) 【Treasureクラス】 宝物のタイプを表現するtypeインスタンスフィールド(String型)を定義します。 タイプの値を受け取るコンストラクタを定義します。 タイプの値をインスタンスフィールドに設…
問題3-4 人工の多い都道府県ベスト10を当てるクイズを作成しましょう。 (2021年4月1日現在のデータ) HashMap<String, Integer>型のマップには、キーに都道府県名、値に順位を格納します。 次のランキング情報を登録してください。 1位:東京都 2位:神奈川県 3位:大阪府 4位:愛知県 5位:埼玉県 6位:千葉県 7位:兵庫県 8位:北海道 9位:福岡県 10位:静岡県 都道府県名の入力受付を行い、その都道府県がランキングに入っていた場合は「正解!」「○○は△位です」と表示して、その都道府県をランキングMapオブジェクトから削除してください。 その都道府県がランキング…
問題3-3 デジカメを表現するDigitalCameraクラスと、画像を表現するPictureクラスを作成してください。 また、デジカメクラスを使用するArrayListNormalPracticeクラスのmainメソッドは完成しています。 (変更は禁止です) 【Pictureクラス】 被写体を表現するインスタンスフィールドtarget(String型)を定義します。 被写体(String型)を引数に受け取るコンストラクタを定義します。 引数で受け取った値を、インスタンスフィールドに格納してください。 オブジェクトの説明文を文字列として戻すためのtoStringメソッドをオーバーライドしてくだ…
問題3-2 英数字の単語を格納するArrayList型の変数numberがあり、zeroからtenまでの英数字の単語が格納されています。 次に、「0から10までの英単語を入力してください」と出力し、ユーザに英単語を入力してもらいます。 ArrayList型の変数numberをfor文を用いて順にみていき、入力英単語と文字列の一致を確認します。 もし一致した場合は「○○は数値の△です」と表示します。 もしすべて一致しなければ「○○は英単語として存在しません」と表示します。 (下記実行結果を参考にしてください) 【実行結果】 0から10までの英単語を入力してください five fiveは数値の5で…
今回は、ITエンジニアとしての新しい働き方として、 という働き方を紹介します。 十分に安定して稼ぐこともできますし、生活も豊かになりますので、是非参考にしてみてください。 私の経歴 ITエンジニアとして悩んでいませんか? 人間関係、辛くないですか? 現在の収入で満足していますか? キャリアの中にプログラミング講師という選択肢を プログラミング講師の嬉しいポイント 単価がいい 受講者に感謝してもらえる エンジニアの経験が活かせる プログラミング講師として稼ぐには プログラミングの知識 教える技術 案件を獲得する方法 ご紹介できる案件 働き方の一例 まとめ 私の経歴 phoeducation.wo…
【Bubble/ノーコード】カレンダープラグインを使ってみる
あるイベントのスタッフ(ボランディア)応募フォーマットを作成してみます。 カレンダープラグインのインストール データベースの作成 カレンダーの作成 プレビューで確認 応募フォーマットの作成 データベースの作成2 ワークフローの作成 プレビューで確認 参考図書 カレンダープラグインのインストール まずは、カレンダープラグインをインストールします。 検索窓に「full calendar」と入力してインストールします。 データベースの作成 次に、データベースにカレンダーに掲載するイベントを登録していきます。 データベースのタイプを「イベント」とします。 フィールドを作成します。 名前はイベントの「タ…
フリーソフトウェアのMySQLを使って、データベースを実際に作っていきましょう。 データベースを作る際、どんなアプリケーションでそれを利用するかによっても、データベースの設計は変わってきます。 Webアプリケーションとの連携 SQL とは MySQLとは 参考図書 Webアプリケーションとの連携 データベースは、それ単独では単なるデータのかたまりにすぎません。 オンラインショッピングサイトやホテルや飛行機の予約システムなど、なんらかのアプリケーションを通して、データベースにアクセスをして、大量のデータの中から情報を取り出したり、情報を登録し、分析、活用したりすることで、はじめて役に立ちます。 …
問題3-1 FileCopyPracticeクラスのmainメソッドは未完成です。 あるテキストファイルの内容を、別のテキストファイルにコピーするプログラムを作成してください。 その方法は、コピー元ファイルからFileReaderクラスとBufferedReaderクラスをうまく使ってデータを読み取り、そのデータをコピー先ファイルにFileWriterクラスとBufferedWriterクラスとPrintWriterクラスをうまく使って書き込みます。 コピー元ファイル名およびコピー先ファイル名の指定にはコマンドライン引数を使用してください。 【実行例】 > java FileCopyPract…
問題2-18 仕事のトラブルを表現するトラブル例外クラスTroubleExceptionはすでに完成しています。 また、社員を表現する社員抽象クラスEmployeeもすでに完成しています。 (変更は禁止です) さらに、ExceptionInheritancePracticeクラスのmainメソッドはすでに完成しています。 (変更は禁止です) 次の指示に従って、上司を表現するBossクラスと、部下を表現するSubordinateクラスを作成してください。 【Bossクラス】 Employeeクラスを継承します。 直属の部下を表すSubordinate型のフィールドを定義します。 社員名(Stri…
問題2-17 自動車を表すCarクラスと、ガス欠を表すGasolineException例外クラスを作成してください。 また、Carクラスを使用するOriginalExceptionPracticeクラスのmainメソッドはすでに完成しています。 (変更は禁止です) 【GasolineException例外クラス】 このクラスは検査例外なので、Exceptionクラスを継承します。 String型の引数を1つ持つコンストラクタを定義します。 スーパークラスであるExceptionクラスにも同じシグネチャのコンストラクタが存在するので、引数で受け取ったデータをスーパークラスのコンストラクタに渡し…
問題2-16 ExceptionBasicPracticeクラスのmainメソッドは完成しています。 4200という値をコマンドライン引数で指定した値で割り、その計算結果を出力するプログラムです。 しかし、次の3つの点で不完全です。 【不完全な理由1】 コマンドライン引数なしで実行するとArrayIndexOutOfBoundsException例外がスローされてしまう 【不完全な理由2】 コマンドライン引数に整数に変換できない文字列を指定するとNumberFormatException例外がスローされてしまう 【不完全な理由3】 コマンドライン引数に0を指定すると0割によるArithmeti…
Yahoo!JAPANを偽るフィッシングメールが拡散しているので注意が必要です。 security.yahoo.co.jp メールの件名は「Yahoo! JAPAN IDを制限いたしました」と記載されています。 メールの本文には、メールにログインできない場合、手続きが必要と記載され、手続きのためのリンクが含まれています。 このリンクをクリックすると、偽の詐欺サイトに誘導され、アカウントやクレジットカードを盗まれます。 偽の詐欺サイトは本物と見分けがつきません。 下記のようなメールを受信した場合、メール本文に記載されたURLをクリックするのではなく、必ず公式サイトから確認する必要があります。 Y…
デザインの設定 ワークフローの作成 アラートの表示 プレビューで確認 参考図書 デザインの設定 1回クリックしただけでは何も反応せず、2回目のクリックでアラートが表示されるようなボタンを作成します。 まずはボタンを配置します。 ボタンを配置して、ボタン名を「ダブルクリック!!」にします。 次に「Element Inspector」をクリックします。 「Add a new custom state」をクリックします。 名前を「クリック数」、タイプをクリック数なので「number」にします。 ページを開いたときのデフォルトのクリック数を「0」にします。 ワークフローの作成 続いて、ボタンのワークフ…
実際にRDBMSを使ってデータベースを作成する前準備として、どのようなデータベースにするのか、テーブルの作り方や設定を具体的に見ていきましょう。 正規化とは 一覧表を作成する 第1正規化 第2正規化 第3正規化 データ登録時の決まりを作る 参考図書 正規化とは データベースでは、データを一元管理します。 データを一元管理する手段として、データベースでは、正規化という手法を使います。 正規化は、データの冗長性(繰り返し)を排除し、更新時の整合性を維持しやすくすることを目的としています。 具体的には、繰り返して出てくる無駄なデータを持たないようにし、フィールドとフィールドの関連性を分析して、関連性…
問題2-15 ミュージシャンを表現するMusician抽象クラスは完成しています。 (変更は禁止です) また、歌唱可能を表現するSingableインタフェースと、演奏可能を表現するPlayableインタフェースも完成しています。 (変更は禁止です) あるバンドを構成するためにボーカリストVocalistクラス、ギタリストGuitaristクラス、コーラス&ドラマーChorusDrummerクラスを作成してください。 【Voclalistクラス】 Musician抽象クラスを継承し、Singableインタフェースを実装します。 名前(String型)を受け取るコンストラクタを定義します。 適切に…
問題2-14 次の3つのインタフェースがあります。 (変更は禁止です) 飛行可能を表現するFlyableインタフェース (飛ぶfly抽象メソッドが定義されています) 水泳可能を表現するSwimableインタフェース (泳ぐswim抽象メソッドが定義されています) 食事可能を表現するEatableインタフェース (食べるeat抽象メソッドが定義されています) また、食事可能インタフェースを実現した抽象クラスBirdが定義されています。 (変更は禁止です) ここでは、eatメソッドを実装していません。 なぜなら、鳥の種類によって食べるものが異なるからです。 次の指示にしたがって具体的な鳥を表す3種…
問題2-13 アスリートを表すAthlete抽象クラスは完成しています。 (変更は禁止です) 具体的なアスリートを表す水泳選手Swimmerクラスおよびマラソン選手MarathonRunnerクラスを作成してください。 【SwimmerおよびMarathonRunnerクラス】 Athlete抽象クラスを継承します。 種目名を表すString型の定数TYPE(public static finalなフィールドを一般的に定数と言います)を定義します。 値はそれぞれ「水泳」および「マラソン」です。 コンストラクタは選手名(String型)のみを引数として持ちます。 選手名インスタンスフィールドに値…
問題2-12 AbstractNormalPracticeクラスのmainメソッドは完成しています。 (変更は禁止です) サッカー選手を表現するSoccerPlayer抽象クラスおよびセンターフォワードを表現するCenterForwardクラスと、ゴールキーパーを表現するGoalKeeperクラスを作成してください。 【SoccerPlayer抽象クラス】 選手名を表すnameインスタンスフィールド(String型)と背番号を表すuniformNumberインスタンスフィールド(int型)を定義します。 アクセス指定はprivateに設定します。 引数に選手名と背番号を受け取るコンストラクタを…
Webブラウザーの「Google Chrome」を使っていて、後で見ようと思っていたページ(後で見ようと思っていたタブ)を誤って閉じてしまった経験は無いでしょうか。 そんな時に、再度URLを打ち直して改めて表示させたり、再度検索して対象のページを見つけたりしていませんか? 「Google Chrome」には、直前に閉じたタブを再表示できる便利なショートカットキーがあるんです。 誤ってタブを閉じてしまった場合は、[command]キーを押しながら[shift]キーと[T]キーを押すことで再び開くことができるんです。 (Windowsの場合は、[Ctrl]キーを押しながら[Shift]キーと[T]…
【Bubble/ノーコード】スライドショーをポップアップ表示する
データベースに画像をアップロードする スライドショーの設置 ポップアップの作成 ボタンの設置 ワークフローの作成 ポップアップにスライドショーを表示させる プレビュー 参考図書 データベースに画像をアップロードする まずは「Data」タブを選択します。 「New type」は「画像」とします。 これはデータベースのタイトルのようなものです。 「Create」をクリックします。 次に「画像」タイプの中に、新しいフィールドを作っていきます。 フィールドとは、保存するデータの見出しや項目のイメージです。 「Create a new field」をクリックします。 「Field name」を「写真」、…
データベース設計の手順 データ設計のおおまかな流れ データベース化の目的を考える 集めた情報をどのように出力するか考える 必要なデータを整理する 一覧表の関係を確認する データ登録時の決まりを作る データベースを作成する データベースの利用方法を考える データベースを利用するアプリ 参考図書 データベース設計の手順 データベースをどのような考え方で作成していくか、順を追って解説していきます。 「データベースは、単にテーブルを作ってデータを登録すればよい」と思われがちですが、テーブルの作り方を誤ると無駄なデータを大量に登録したり、必要なデータが不足していたり、欲しい情報がなかなか見つからなかった…
問題2-11 動物を表すAnimal抽象クラスはすでに完成しています。 (変更は禁止です) その中に、動物が鳴くことを表現している歌うsingメソッドがあります。 しかし、歌うsingメソッドは抽象メソッドであり、中身は実装していません。 なぜなら、動物によって鳴き声が違うから実装できないのです。 具体的な動物として、次の3つのクラスを作成してください。 犬クラス Dog 猫クラス Cat 鳥クラス Bird 下記の実行結果を参考にして、歌うsingメソッドを実装してください。 また、AbstractBasicPracticeクラスのmainメソッドは未完成です。 以下の手順にしたがってmai…
問題2-10 目覚まし時計を表すAlarmClockクラスを作成してください。 普通の時計を表すClockクラスはすでに完成しています。 (変更は禁止です) また、AlarmClockクラスを使用するOverrideBasicPracticeクラスのmainメソッドはすでに完成しています。 (変更は禁止です) 【AlarmClockクラス】 Clockクラスを継承します。 スーパークラスから受け継いだ3つのインスタンスフィールド(時・分・秒)のほかに、アラーム時刻(時・分)を表すalarmHourとalarmMinuteインスタンスフィールド(int型)を定義します。 5つの引数の値を受け取る…
問題2-9 雑誌を表すMagazineクラスを作成してください。 本を表すBookクラスはすでに完成しています。 (変更は禁止です) また、Magazineクラスを使用するInheritanceConstructorPracticeクラスのmainメソッドはすでに完成しています。 (変更は禁止です) 【Magazineクラス】 Bookクラスを継承します。 スーパークラスから受け継いだ2つのインスタンスフィールド(タイトル、価格)のほかに、表紙に掲載されているタレント名を保持するためのcoverPersonNameインスタンスフィールド(String型)を定義します。 引数にタイトル、価格、表…
問題2-8 ピッチャーを表すPitcherクラスを作成してください。 一般的な野球選手を表現するBaseballPlayerクラスはすでに完成しています。 (変更は禁止です) また、Pitcherクラスを使用するInheritanceBasicPracticeクラスのmainメソッドはすでに完成しています。 (変更は禁止です) 【Pitcherクラス】 BaseballPlayerクラスを継承します。 スーパークラスから受け継いだ3つのインスタンスフィールドのほかに、防御率を表すeraインスタンスフィールド(double型)を定義します。 引数に選手名、背番号、打率、防御率の4つの値を受け取る…
Microsoftの公式ブログによると、Windows Updateを確実に適用するには、パソコンの電源を入れ、最低でも連続で2時間起動しておかないと、更新プログラムは自動更新されないことが明らかになりました。 Achieve better patch compliance with Update Connectivity data - Windows IT Pro Blog アクティブユーザーなら問題ない条件ですが、パソコンをあまり利用しない方は、用事がない場合でも時々パソコンを起動したままの状態にしておくか、月に数回程度、手動でWindows Updateをチェックする習慣をつけておきまし…
入力フォームの作成 ワークフローの作成 プラグインのインストール 「Line/Bar Chart」エレメントの配置 プレビュー 参考図書 今回は、APIを用いてデータをチャート表示させてみます。 完成イメージは下記のようになります。 入力フォームの「ラベル」に入力したデータが横軸の月になり、「値」に入力したデータが縦軸になるチャートとなっています。 「保存」ボタンを押すと入力したデータがデータベースに保存され、それがチャートに反映される仕組みです。 入力フォームの作成 データを入力する「入力フォーム」を作成します。 「Input」エレメントを使います。 チャートのX軸になりますので、「ラベル」…
集合演算子 集合 集合演算 関係演算 ビュー 参考図書 集合演算子 集合 リレーショナルデータベースでは、テーブルから欲しい情報だけを取り出したり、複数のテーブルを連付けて新しいデータを取り出したりすることができます。 テーブルに登録したデータの集まりを集合として考えます。 また集合からデータを取り出す際には、演算を行います。 集合は、次のような決まりに従って集められたデータです。 同一のデータは存在しない(重複がない) 集合の中に含まれる1つ1つの値を、要素といいます。 1つの集合には、要素を重複して入れることはできません。 同様にテーブルには、原則として重複したデータを登録できないようにな…
問題2-7 ロボットを表すRobotクラスを作成してください。 Robotクラスを使用するStaticBasicPracticeクラスのmainメソッドはすでに完成しています。 (変更は禁止です) 【Robotクラス】 次のような2つのインスタンスフィールドと、1つのクラスフィールドを持ちます。 ・ロボットIDを表すインスタンスフィールド id (int型) ・ロボット名を表すインスタンスフィールド name (String型) ・ロボット総生産数を表すクラスフィールド total (int型) String型の引数をひとつだけ持つコンストラクタを定義します。引数で渡ってきた文字列をロボット名…
問題2-6 車を表すCarクラスを作成してください。 Carクラスを使用するConstructorOverloadPracticeクラスのmainメソッドはすでに完成しています。 (変更は禁止です) 【Carクラス】 車幅を表すtypeインスタンスフィールド(String型)と、ナンバーを表すnumberインスタンスフィールド(int型)と、ガソリンを表すgasolineインスタンスフィールド(double型)の3つがあります。 コンストラクタをオーバーロードして2つ定義します。1つ目は、第一引数に車種、第二引数にナンバー、第三引数にガソリンを受け取り、引数の値をインスタンスフィールドに受け渡…
問題2-5 四角形を表すSquareクラスを作成してください。 Squareクラスを使用するConstructorBasicPracticeクラスのmainメソッドはすでに完成しています。 (変更は禁止です) 【Squareクラス】 幅widthと高さheight(どちらもdouble型)の2つのインスタンスフィールドを持ちます。 幅と高さの初期値を引数として受け取るコンストラクタが存在します。受け取った初期値をそのまま各フィールドにセットしてください。 幅と高さに関する情報を出力するinformメソッド(引数なし・戻り値なし)が存在します。出力内容は、実行結果を参考にしてください。 面積を算…
問題2-4 フルコースを調理するシェフを表すChefクラスを作成してください。 Chefクラスを使用するOverloadBasicPracticeクラスのmainメソッドはすでに完成しています。 (変更は禁止です) また、各種食材を表す卵Eggクラス、米Riceクラス、牛乳Milkクラス、チーズCheeseクラスもすでに完成しています。 (変更は禁止です) Chefクラスには、インスタンスフィールドはありません。調理を表現するcookメソッドのみが存在します。 (cookメソッドの戻り値は料理名を表すString型です) 引数で渡される食材オブジェクトに応じて書き実行結果をもとに料理を完成させ…
Googleが提供すWebブラウザGoogle Chromeのロゴが、バージョン99より8年ぶりに変更されます。 円形で4色の基本デザインは変わりませんが、新しいロゴは色が明るく、中央の青い円が大きくなり、シャドウがなくなります。 よりシンプルなデザインを採用し、Googleの現在のブランドに一層調和させる狙いがあるということですが、正直言われなかったら気が付かないかも。 LINE公式アカウント 仕事が辛くてたまらない人生が、仕事が楽しくてたまらない人生に変わります。 【登録いただいた人全員に、無料キャリア相談プレゼント中!】
【Bubble/ノーコード】外部APIを使って「iTunes」の曲を表示させる
完成イメージ 入力フォームの作成 プラグインのインストール APIの設定 iTunesへのリンク作成 完成 参考図書 完成イメージ 今回は外部APIを使って「iTunes」の曲を表示させてみます。 完成イメージは次のようになります。 検索窓にタイトルを入力すると検索結果が表示され、検索結果のリンクをクリックするとiTunesのサイトに飛びます。 このようなアプリケーションを作っていきます。 入力フォームの作成 ユーザーが曲を入力するための「入力フォーム」を作ります。 「Input」エレメントを使います。 次に「Repeating Group」エレメントも配置します。 配置は次のようになります。…
テーブル内の制約 主キーに適用されるルール テーブルの関連付け 一対多のリレーションシップ 参照整合性 制約 のオプション 参考図書 テーブル内の制約 データベースでは、データベース内のデータを正常に保つために、制約と呼ばれる仕組みが用意されています。 制約を正しく設定することにより、ユーザからのデータ更新の際に発生する登録ミスを防ぐことができます。 制約が守られていないとRDBMSがエラーを返すので、私たちは制約の内容をよく理解して、適切な制約を正しく設定する必要があります。 制約には次のようなものがあります。 主キー(PRIMARY KEY) リレーショナルデータベースの最大の特徴は、テー…
問題2-3 人を表すPersonクラスを作成してください。 Personクラスを使用するClassNormalPracticeクラスのmainメソッドはすでに完成しています。 (変更は禁止です) 【Personクラス】 Personクラスには次の2つのインスタンスメソッドが必要です。 氏名と年齢をオブジェクトにセットするためのsetDataメソッド 年齢の情報を取得するためのgetAgeメソッド 名前の情報を取得するためのgetNameメソッド 自己紹介をするintroduceメソッド 引数で渡ってきた他の人と年齢を比較するcompareメソッド 【実行結果】 わたしの名前は大島、年齢は30歳…
問題2-2 ペットを表すPetクラスを作成してください。 Petクラスを使用するClassBasicPracticeクラスのmainメソッドはすでに完成しています。 (変更は禁止です) 【Petクラス】 Petクラスは次の4つのprivateインスタンスフィールドを持ちます。 動物の種類を保持するためのtypeフィールド(String型) 名前を保持するためのnameフィールド(String型) 年齢を保持するためのageフィールド(byte型) 性別を保持するためのgenderフィールド(boolean型 ture:メス false:オス) また、Petクラスは次の5つのpublicメソッド…
問題2-1 従業員を表すEmployeeクラスを作成してください。 Employeeクラスを利用するClassFirstPracticeクラスのmainメソッドはすでに完成しています。 (変更は禁止です) 【Employeeクラス】 Employeeクラスはフィールドとして社員番号(int型)と社員名(String型)の2つの情報を保持します。 Employeeクラスには次の3つのメソッドが必要です。 社員番号と社員名をオブジェクトにセットするためのsetDataメソッド 社員番号の情報をオブジェクトから取得するためのgetIdメソッド 社員名の情報をオブジェクトから取得するためのgetNam…
問題1-23 あるアパートに住む住人を表すapartmentというString型の変数があります。 配列の1次元目はアパートの階数、2次元目は号室を表現しています。 (つまりapartment[0][1]は1階2号室の住人の名前になります) キーボードから検索したい人の名前を入力し、アパートにその人が住んでいるかを調査してください。 System.console().readLine() の記述は、キーボードから文字列の入力を受け付けるもので、その値でString型変数nameを初期化しています。 見つかった場合は、「○人目の○○さんは、○階の○号室に住んでいます」と表示してください。 ポイン…
仕事内容 給与 必要なスキル オススメの資格 仕事の探し方 まとめ 仕事内容 「プログラミング講師」とは、 その名の通り「プログラミングを教える人」です。 プログラミングを学びたい人に対して、 プログラミング技術をレクチャーする仕事になります。 経済産業省が 「IT人材が2030年には78.9万人が不足する」 という予測を発表したように、 これからはどんどんプログラミングができる人が 必要とされる時代になります。 「プログラミング講師」は、こういった人材育成のためにも 必要かつ重要な仕事になっているのです。 企業研修やスクールの講師として行う場合には、 共通のサンプルを用いてプログラミング言語…
【Bubble/ノーコード】「Alert(アラート)」の使い方
完成イメージ フォームの作成 ワークフローの作成 完成 完成イメージ 「Alert(アラート)」の使い方と、ワークフローで条件を追加する方法を解説します。 完成イメージは次のようになります。 何か文字を入力して、ボタンをクリックすると、「アラート」とアラート表示されるようにしていきます。 また、文字が入力されていない時は、アラートが表示されないような設定もあわせて行っていきます。 フォームの作成 まずは入力フォームを作成します。 「Input」エレメントを使って入力フォームを作ります。 次に「Button」エレメントを配置します。 「Input」エレメントと「Button」エレメントを次のよう…
表の構成要素 テーブルによるデータの管理 参考図書 表の構成要素 リレーショナルデータベースは、行と列の2次元の表形式でデータを登録していきます。 この表を、テーブル(table)と言います。 テーブルの先頭行は、データの項目名です。 これを、フィールド(field)または列(column:カラム)と言います。 項目に付けた名前を、フィールド名または列名と言います。 表は1つ以上の列で構成されます。 表の各列に値を入力すると1件分のデータが完成します。 ここで大事なことは、各列に入力できる値は1つだけです。 1件分のデータが複数行にまたがることはできません。 この1件分のデータの集まりを、レコ…
問題1-22 String型の変数inputPasswordが宣言してあります。 System.console().readLIne() の記述は、キーボードから文字列の入力を受け付けるもので、その値で変数inputPasswordを初期化しています。 StringImportantPracticeクラスには、正しいパスワードを表現するString型の定数PASSWORDが定義してあります。 キーボードから入力したパスワードの値がパスワード定数の値と等しい場合は「パスワードが一致しました」と表示し、パスワード定数の値と等しくない場合は「パスワードが一致しません」と表示してください。 【実行結果…
問題1-21 100人分のテストの点数を格納しているint配列型の変数pointsがあります。 この試験の平均点の算出と、ヒストグラムを作成してください。 ヒストグラムは、階級ごとに個数を集計し、グラフ化したものです。 階級は、0点台(0〜9点)、10点台(10〜19点)、・・・90点台(90〜100点)とします。 (100点満点の人を90点台に含めているのがポイントです) 【実行結果】 平均点:60.3 ヒストグラム 0点台 * 10点台 ** 20点台 ****** 30点台 ** 40点台 ************** 50点台 **************** 60点台 *******…
問題1-20 mainメソッドはすでに完成しています。(変更は禁止です) mainメソッド内で呼び出している、第一引数のint二次元配列型の値の中から、第二引数のint型の値がいくつ存在するかをカウントするcountメソッドを定義してください。 【実行結果】 1の個数:4 7の個数:3 【DoubleArrayMethodPractice.java】 public class DoubleArrayMethodPractice { public static void main(String[] args) { // int二次元配列変数の宣言と初期化 int[][] arr = {{1, 5…
問題1-19 int二次元配列型の変数arrが宣言されています。 すべての要素を順番に表示するプログラムを、for文を使って記述してください。 次に、すべての要素を逆順に表示するプログラムを、for文を使って記述してください。 【実行結果】 112233445566778899 998877665544332211 【DoubleArrayBasicPractice.java】 public class DoubleArrayBasicPractice { public static void main(String[] args) { // int2次元配列型変数arrの宣言と初期化 int…
VSCode上で「猫」や「トトロ」を飼うことができちゃうんです! 何の役にも立ちませんが、癒やしにはなりますかね(笑) 拡張機能でvscode-petsをインストール コマンドパレットでpetcoding:start pet coding session 設定 色を変える 大きさを変える ペットの種類を変える 表示場所を変える テーマを変える まとめ 拡張機能でvscode-petsをインストール 「Ctrl+Shift+X」または以下のアイコンをクリックして、拡張機能を表示させます。 「vscode-pets」と入力して検索します。 vscode-petsをインストールします。 コマンドパレ…
【Bubble/ノーコード】マウスホバーでテキストの色を変える
「Conditional」の使い方 参考図書 今回は「Conditional」を使って、ユーザーがマウスホバーした時に、テキストの色を変える方法を解説します。 「Conditional」の使い方 「Text」エレメントを使います。 テキスト名を「Hover me!」としておきます。 また、フォントサイズも少し大きくしておきます。 「Conditional」タブを選択します。 「Define another condition」をクリックして、条件を定義します。 いつ条件を変更するかを指定するので、まず「This Text」を選択します。 次に「is hovered」を選択し、「このテキストがホ…
データの管理 トランザクションの管理 同時実行制御管理 障害復旧管理 セキュリティ管理 参考図書 データベースは下の図のように、データを蓄積する部分とそれを操作するエンジン( RDBMS)で構成されます。 ユーザは SQL言語でRDBMSに命令を送ることで、データベースを操作します。 それぞれが独立していることで、ExcelやAccessといったファイルとは異なる形でデータを操作することになります。 ここでは、具体的にRDBMSがどんな仕事をしているのかを見ていきましょう。 データの管理 RDBMSは、データを登録したり、削除したり、更新したりといったデータに関わるすべてのデータの管理を行いま…
問題1-18 mainメソッドはすでに完成しています。(変更は禁止です) mainメソッド内で呼び出している、2つのint配列オブジェクトを引数に取り、共通する数値の個数を調べて戻り値として返すcommonメソッドを定義してください。 (今回のサンプルでは10、17、38、55の4つの数値が2つの配列に共通しています。) 【実行結果】 共通する数値の個数:4 【ArrayMethodPractice3.java】 public class ArrayMethodPractice3 { public static void main(String[] args) { int[] arr = {1…
問題1-17 mainメソッドはすでに完成しています。(変更は禁止です) mainメソッド内で呼び出している、引数で渡ってくるint配列オブジェクトの各要素の中から最大のものを選んで戻り値として返すmaxメソッドを定義してください。 (ただし、すべての値は正の数とします) 【実行結果】 配列の最大値:1010 【ArrayMethodPractice2.java】 public class ArrayMethodPractice2 { public static void main(String[] args) { int[] arr = {43, 2, 765, 234, 908, 115,…
問題1-16 mainメソッドはすでに完成しています。(変更は禁止です) mainメソッド内で呼び出している、引数で渡ってくるint配列オブジェクトの各要素の値を合計して、戻り値として返すsumメソッドを定義してください。 【実行結果】 配列の合計値:28 【ArrayMethodPractice.java】 public class ArrayMethodPractice { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5, 6, 7}; // sumメソッドの呼び出し System.out.printl…
問題1-15 次の指示に従ってArrayBasicPracticeクラスのmainメソッドを完成させてください。 int配列型変数arrを宣言してください。 要素数が3つのint配列型オブジェクトを生成してください。 各要素にそれぞれ25、39、43を代入してください。 forループを使用して、各要素を出力してください。(出力形式は実行結果を参照) 【実行結果】 1番目の値は25です 2番目の値は39です 3番目の値は43です 【ArrayBasicPractice.java】 public class ArrayBasicPractice { public static void main(…
プログラミング講師として現役ITエンジニアから転職するという選択
『ITエンジニア経験があるからといって、 すぐにプログラミング講師になれるのだろうか』 『講師業に興味はあるが、自分でできるのか不安』 こんな思いがあって、なかなかプログラミング講師に チャレンジができない人もいるでしょう。 私は17年間「ITエンジニア」として働いていました。 しかし、マネジメント業務が自分には合わなかったため 仕事が辛くなり、鬱状態になりながら会社を退職します。 その後、6年間「プログラミング講師」として働き、 今ではプログラミング講師で 「月収150万円」を超えるまでになりました。 17年間ITエンジニアとして働いた後、プログラミング講師業へ転職した私が、 ITエンジニア…
【Bubble/ノーコード】データベースに登録された画像を表示する
前回の記事で保存した画像データを表示する機能を作成します。 画像を表示するフィールドを作成する リンクの設定 新しいページの作成 ページに画像を表示させる リンククリック時の設定 参考図書 画像を表示するフィールドを作成する 画像を表示するフィールドを作成します。 「Repeating Group」エレメントを使います。 次のように配置します。 コンテンツのタイプ(Type of content)は「画像」を選択します。 「Data source」を選択します。 「Do a search for」を選択して、データベースのデータを検索するようにします。 データTypeは「画像」を選択します。 …
データベース管理システム ExcelやAccessとの違い データベースサーバとクライアント 参考図書 データベース管理システム データベースには「データを管理、運用するためのエンジン」というものがあります。 私たちは、このエンジンに決められた方式で命令を送ることによって、自由にデータを操作することができます。 このエンジンのことを、データベース管理システムといいます。 リレーショナルデータベースの場合は、RDBMS (Relational Database Mnagement System)と呼びます。 ポイント!エンジン(engine) エンジンは英語で「仕組み、構造」という意味で、コンピ…
問題1-14 mainメソッドはすでに完成しています。(変更は禁止です) mainメソッド内で呼び出している、int型の3つの引数の中で、一番小さいものの値を戻り値として返すminメソッドを作成してください。 【実行結果】 整数88、79、96の中で最小の値は79です 【MethodBasicPractice3.java】 public class MethodBasicPractice3 { public static void main(String[] args) { int x = 88; int y = 79; int z = 96; // minメソッドの呼び出し System.o…
問題1-13 mainメソッドはすでに完成しています。(変更は禁止です) mainメソッド内で呼び出している、第一引数と第二引数の値を、第三引数の種類によって計算するcalcメソッドを定義してください。 ただし、3つの引数の型はすべてint型とし、第三引数の値が0のときは足し算、1のときは引き算、2のときは掛け算、3のときは割り算とします。 第三引数の値が0〜3以外の場合は、第一・第二引数の値にかかわらず0を返してください。 また、条件分岐には必ずswitch文を使用してください。 注意 今回は0による除算の対応は不要とします。 【実行結果】 足し算:24 引き算:12 掛け算:108 割り算…
問題1-12 mainメソッドはすでに完成しています。(変更は禁止です) mainメソッド内で呼び出している、第一引数の文字列を第二引数の回数分表示するdisplayメソッドを定義してください。 【実行結果】 テスト テスト テスト テスト テスト 【MethodBasicPractice.java】 public class MethodBasicPractice { public static void main(String[] args) { // displayメソッドの呼び出し display("テスト", 5); } // ここにdisplayメソッドを定義してください } 解答…
問題1-11 int型変数xが1で初期化されています。 xの値をwhile文を用いて2倍していき、その都度値を出力します。 xの値が1000を超えた段階でループを終了してください。 【実行結果】 1 2 4 8 16 32 64 128 256 512 【WhileBasicPractice.java】 public class WhileBasicPractice { public static void main(String[] args) { int x = 1; // while文の開始 } } 解答例 【WhileBasicPractice.java】 public class W…
オンラインスクールのプログラミング講師をオススメできない5つの理由
オンラインプログラミングスクールとは オススメできない理由1:儲からない オススメできない理由2:時間外の対応が多い オススメできない理由3:質問への回答が厄介 オススメできない理由4:本業の後には辛い オススメできない理由5:自走できない生徒がいる まとめ ITエンジニアの経験を活かして プログラミング講師をはじめようとした場合、 オンラインプログラミングスクールで 講師をするのは止めましょう。 私は17年間「ITエンジニア」として働いていました。 しかし、マネジメント業務が自分には合わなかったため 仕事が辛くなり、 鬱状態になりながら会社を退職します。 その後、6年間「プログラミング講師」…
完成イメージ フォームの作成 フィールドを作成 フィールドの設定 画像を保存するフィールドを作成 画像の表示をリセット 参考図書 完成イメージ 「画像のタイトルを入力」「画像をアップロード」して「保存ボタン」を押すと、それがデータベースに保存されるようにします。 フォームの作成 画像をアップロードするためのフォームを作成します。 「Input」エレメントで、画像のタイトルを入力するフォームを作成します。 「画像のタイトルを入力」と入力します。 画像をアップロードするために、「Picture Uploader」エレメントを使います。 配置します。 「Button」エレメントで、画像をアップロード…
データの管理を行うソフトウェア データベースを使った管理 参考図書 データの管理を行うソフトウェア データベースとは、「ある目的のために集められた情報を、一定のルールにしたがって蓄積しておく場所」ということです。 それでは、そのデータはどのように登録すればよいのでしょうか。 まず、私たちのまわりにあふれている情報を簡単に整理する方法を考えてみましょう。 例えば、次のような一覧表で考えてみます。 このようなクラスの名簿を作るとき、まず先頭に、[氏名] [郵便番号] [都道府県] [住所] [電話番号]などのタイトルを書き、2行目以降に実際のデータを 記入していきます。 このような表形式にすると、…
問題1-10 変数levelは山の段数を表しています。 for文をネストして、次の図形を作成してください。 なお、山の左側には全角スペースを使用してください。 (実行結果は見やすさのため白い四角で表します) 【実行結果】 □ □ □ □ ■ □ □ □ ■ ■ ■ □ □ ■ ■ ■ ■ ■ □ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ 【ForHiLevelPractice.java】 public class ForHiLevelPractice { public static void main(String[] args) { // 山の段数を表す変数 int l…
問題1-9 for文を利用して、10から100までの自然数の中から素数であるものを表示してください。 素数とは、1とその数以外のどんな自然数によっても割り切れない1より大きな自然数のことです。 【実行結果】 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 【ForNormalPractice.java】 public class ForNormalPractice { public static void main(String[] args) { // for文の開始 } } 解答例 【ForNormalPract…
問題1-8 21から29までの数値を調査します。 その数値が3から9までの倍数である場合は「○は△の倍数です」と出力します。 【実行結果】 21は3の倍数です 21は7の倍数です 24は3の倍数です 24は4の倍数です 24は6の倍数です 24は8の倍数です 25は5の倍数です 27は3の倍数です 27は9の倍数です 28は4の倍数です 28は7の倍数です 【ForBasicPractice.java】 public class ForBasicPractice { public static void main(String[] args) { // for文の開始 } } 解答例 【For…
「ブログリーダー」を活用して、まつい@未来エンジニア養成所さんをフォローしませんか?