プログラミングを皆に楽しんでもらうための情報をお届けします。 様々なプログラム言語やIT技術等について紹介していきます。知りたいことがあれば気軽にメールでもコメントでも質問していただきたいです。
指令性とは? 指令性の特性と特徴 指令性型の人の視点 他の資質との比較 比較1:指令性型 vs. 調和性型 比較2:指令性型 vs. 共感性型 プログラミング学習における指令性の活用 1. 目標設定と進捗管理 2. チームでのリーダーシップ 3. ディスカッションとフィードバック まとめ 指令性とは? ストレングスファインダーの34の資質の中から「指令性」について考えてみましょう。 ストレングスファインダーでは、資質が実効力、影響力、人間関係構築力、戦略的思考力の4つのグループに分類されますが、指令性は影響力グループに属します。 この資質を理解することで、自分や他人の強みをより深く知り、特にプ…
最上志向とは? 最上志向とは何か? 最上志向型の思考法 強みを活かす環境 最上志向と他の資質との違い 比較1:最上志向型 vs. 競争性型 比較2:最上志向型 vs. 回復志向型 プログラミングにおける最上志向 最上志向とは? 今回は、ストレングスファインダー34の資質の中から「最上志向」についてお伝えします。 ストレングスファインダー34の資質は、実行力、影響力、人間関係構築力、戦略的思考力の4つのグループに分けられますが、最上志向は影響力のグループに属する資質です。 最上志向とは何か? 最上志向の資質が高い人は、個人や集団をレベルアップさせる際、強みに注目してとことん伸ばそうとします。 彼…
公平性とは? 公平性が重要な理由 公平性型の人の特徴 公平性型の人の視点からのイメージ 公平性と他の資質との比較 比較1:公平性型 vs. 個別化型 比較1:公平性型 vs. 適用性型 公平性を活かしたプログラミング学習方法 公平性とは? 今回は、ストレングスファインダー34の資質の中から「公平性」についてお伝えします。 ストレングスファインダー34の資質は、実行力、影響力、人間関係構築力、戦略的思考力の4つのグループに分けられますが、公平性は実行力グループに属する資質です。 公平性が重要な理由 公平性の資質が高い人は、ゴルフのスイングを一貫した方のように、あらゆる人を平等に扱うことが必要だと…
個別化とは? 個別化の特長と強み 個別化の具体例 個別化の注意点 個別化と他の資質との違い 個別化と他の資質との違い 比較1:個別化型 vs. 親密性型 比較2:個別化型 vs. アレンジ型 プログラミング学習法の個別化 1. 個別学習プランの作成 2. パーソナライズされたフィードバック 3. 個別の課題やプロジェクト 個別化とは? 今回は、ストレングスファインダー34の資質の中から「個別化」についてお伝えします。 ストレングスファインダーの34の資質は、実効力、影響力、人間関係構築力、戦略的思考力の4つのグループに分けられますが、個別化は人間関係構築力グループに属する資質です。 個別化の特…
原点思考とは? 原点思考型の人の特徴 原点思考の才能を活かす 原点思考と他の才能の比較 比較1:原点思考型 vs. 未来思考型 比較2:原点思考型 vs. 目標思考型 原点思考をプログラミング学習に活かす 技術の歴史や背景を理解するための教材 既存のソフトウェアやシステムのケーススタディ 原点思考とは? ストレングスファインダー34は、実行力、影響力、人間関係構築力、戦略的思考力の4つのグループに分けられた才能を測定するツールです。 今回は、その中の戦略的思考力グループに属する「原点思考」についてお伝えします。 原点思考型の人の特徴 原点思考の才能を持つ人は、過去を振り返り、歴史をたどることで…
共感性とは 共感性の特徴 感情を読み取る力 自由な感情表現 共感性型の人の視点 共感と同情の違い 感情の理解と表現 共感性の力 本能的な能力の魅力 集団の気持ちを理解する力 共感性と他の才能の比較 比較1:共感性型 vs. 個別化型 比較2:共感性型 vs. 分析思考型 共感性とプログラミング プログラミング教育における共感性の重要性 ユーザー中心のデザインと共感性 コミュニティサポートと共感性 共感性とは 今回はストレングスファインダー34の資質の中から「共感性」についてお伝えします。 ストレングスファインダー34の資質は、「実効力」「影響力」「人間関係構築力」「戦略的思考力」の4つのグルー…
競争性とは? 競争性の特性 競争性型の人の特徴 競争性型の人の行動パターン 競争性と他の資質の比較 比較1:競争性型 vs. 自我型 比較1:競争性型 vs. 分析志向型 競争性を活かしたプログラミング学習方法 1. コーディングコンテストやハッカソンへの参加 2. タイムトライアルやスコアリングシステムを導入 競争性とは? 今回はストレングスファインダー34の資質の中から「競争性」についてお伝えします。 ストレングスファインダー34の資質は、実効力、影響力、人間関係構築力、戦略的思考力の4つのグループに分けられますが、「競争性」は影響力グループに属する資質です。 競争性の特性 「競争性」が高…
規律性活発性の力を活かす:ストレングスファインダーの資質紹介
規律性とは? 規律性の特性 規律性の人の日常 規律性を持たない人との関係 規律性の価値と比較 比較1:規律性型 vs. 責任感型 比較2:規律性型 vs. 運命志向型 プログラミング学習における規律性の活用 ルーティン化された学習スケジュールの設定 時間管理ツールや進捗トラッキングの活用 規律性とは? ストレングスファインダー34の資質の中で、規律性についてお伝えします。 ストレングスファインダーの資質は、実効力、影響力、人間関係構築力、戦略的思考力の4つのグループに分けられますが、規律性は実効力グループに属する資質です。 規律性の特性 規律性が高い人は、常に準備万端で日課や身の回りを秩序立て…
活発性とは? 今回は、ストレングスファインダー34の資質の中から「活発性」についてお伝えします。 ストレングスファインダーの34の資質は、「実行力」「影響力」「人間関係構築力」「戦略的思考力」の4つのグループに分けられますが、活発性は「影響力」グループに属する資質です。 活発性の特徴 この資質が高い人は、閉塞的な状況から素早く抜け出し、アイディアを実行に移して結果をもたらします。 例えば、何もしていないことに我慢できず、物事に弾みをつけるのが得意です。 物事の緊急性を促進し、議論よりも行動を重視します。 開始することや刺激することが好きで、待つことや時間を無駄にすることを嫌います。 しかし、せ…
学習欲とは? 今回は、ストレングスファインダー34の資質の中から「学習欲」についてお伝えします。 ストレングスファインダーの資質は、実行力、影響力、人間関係構築力、戦略的思考力の4つのグループに分けられますが、学習欲は戦略的思考力グループに属する資質です。 学習欲の特徴 学習欲が高い人は学習意欲が旺盛で、常に向上したいと思っています。 学習曲線が上がればOK、横ばいはNGです。 結果よりも学びのプロセスに惹かれるため、例えば、学習することを楽しみ、興味があることを追いかけます。 新しい情報や経験に触れることが必要で、未知の分野や最先端が好きです。 知ったかぶりや人の意見を聞かないことが嫌いで、…
回復志向とは? 問題に取り組む天才 回復志向の特徴と強み 回復志向型の人の行動と考え方 回復志向の実際の活用例 回復志向と他の才能の比較 比較1:回復志向型 vs. 戦略性型 比較2:回復志向型 vs. ポジティブ型 プログラミング学習方法 1. 問題解決型の課題に取り組む 2. システムの改善プロジェクトに参加する 回復志向とは? 今回は、ストレングスファインダー34の資質の中から「回復志向」についてお伝えします。 ストレングスファインダー34の資質は、実行力、影響力、人間関係構築力、戦略的思考力の4つのグループに分けられますが、回復志向は実行力グループに属する資質です。 問題に取り組む天才…
運命思考とは? 万物は繋がっている 運命思考型の特徴 運命思考の視点で考える 運命思考の責任感 運命思考型の人の特徴 運命思考と他の才能の比較 比較1:運命思考型 vs. 分析思考型 比較2:運命思考型 vs. 包含型 プログラミング学習における運命思考の活用 コミュニティプロジェクトやオープンソース貢献 ペアプログラミングやグループディスカッション 最後に 運命思考とは? 今回は、ストレングスファインダー34の資質の中から「運命思考」についてお伝えします。 ストレングスファインダーの資質は、実行力、影響力、人間関係構築力、戦略的思考力の4つのグループに分けられますが、運命思考は人間関係構築力…
ポジティブとは? 今回はストレングスファインダー34の資質の中から「ポジティブ」についてお伝えします。 ストレングスファインダーの34の資質は、実行力、影響力、人間関係構築力、戦略的思考力の4つのグループに分けられます。 コミュニケーションは人間関係構築力グループに属する資質です。 人間関係構築力の資質 この資質が高い人は物事を肯定的に捉えることができ、明るく陽気で情熱的です。 その熱意は周りに伝染し、周囲の人たちもこれからやろうとしていることを楽しみに感じます。 ポジティブな人の特長とその影響 ポジティブな人は楽天的で、希望に満ち、遊びを楽しみます。 場の雰囲気を引き上げ、明るくします。 エ…
コミュニケーションの力を活かす:ストレングスファインダーの資質紹介
コミュニケーションとは? コミュニケーションの特徴 コミュニケーション資質の活かし方 コミュニケーション資質のチャレンジ コミュニケーション資質の比較 比較1:コミュニケーション型 vs. 内省型 比較2:コミュニケーション型 vs. 原点思考型 コミュニケーションとプログラミング プレゼンテーション ドキュメンテーション コードレビュー ペアプログラミング 最後に コミュニケーションとは? 今回はストレングスファインダー34の資質の中から「コミュニケーション」についてお伝えします。 ストレングスファインダーの34の資質は、実行力、影響力、人間関係構築力、戦略的思考力の4つのグループに分けられ…
アレンジとは? アレンジの特性 アレンジ型の人のイメージ アレンジ型の人の強み アレンジと他の資質の比較 比較1:アレンジ型 vs. 目標志向型 比較2:アレンジ型 vs. 責任感型 プログラミングとアレンジ アレンジの力を活かす アレンジとは? ストレングスファインダーの34の資質は、実行力、影響力、人間関係構築力、戦略的思考力の4つのグループに分かれていますが、アレンジは実行力グループに属する資質です。 この資質が高い人は、コーディネーターや指揮者のイメージがあり、多くの物事を整理し、組織化し、生産性を上げるための組み合わせを判断することが得意です。 アレンジの特性 アレンジの資質を持つ人…
はじめに 今回は、自分の才能や資質を把握するためのツール、ストレングスファインダーについて、そして診断テストでわかる34の資質についてわかりやすくお伝えします。 ストレングスファインダーとは? ストレングスファインダーは信頼性が極めて高い才能診断ツールです。 あなたの才能を34のカテゴリに分けて明確化します。 でも、そもそも才能とは何でしょうか? それは持って生まれた特殊な能力や素質のことです。 これらの才能は日々の生活の中で繰り返し現れる思考、感情、行動パターンとして表れます。 例えば、競争心、愛嬌、責任感なども、すべて才能とつながっているのです。 新しい能力開発の考え方 ストレングスファイ…
はじめに 今回は、なぜ資質に重きを置くべきなのかについてお伝えします。 私たちがよく受ける質問に、「なぜ資質が重要なのですか?」というものがあります。 確かに、資質が重要であることは間違いありません。 では、なぜ資質が重要なのでしょうか? 結論から申し上げますと、真の強みを手に入れるために、資質が不可欠だからです。 資質の重要性 強みを生かした強固な人生とは、一度きりの大成功ではなく、常に高い成果を出し続けることです。 例えば、野球のイチローやゴルフのタイガー・ウッズのように、平均的な結果ではなく、卓越した能力を身につけることが重要です。 確かに、そこそこの成果で満足するならば、資質にこだわる…
強みを築く道に障害はあるのですか? これはよくいただく質問の一つです。 結論からお伝えすると、強みを築く道に障害はあります。 その障害とは、人はどうしても弱点が気になるということです。 突然ですが、あなたに質問します。 あなたを最も成長させるのは強みと弱点のどちらだと思いますか? 世界各国を対象に行ったアンケートの結果によると、成功への鍵は強みにあると答えた人は全体のわずか24%でした。 つまり、世界の大多数が成功への鍵は弱点の克服にあると思っているということです。 どうして人はこれほどまでに弱点が気になってしまうのでしょうか? 人が弱点を気にしてしまう原因には、3つの恐怖があると考えています…
はじめに 自分の強みを最大限に活かし、充実した人生を歩んでいる人は、世界中を見渡してもほんの一握りです。 多くの人はなんとなく職業を選び、生活のために働いているのが現実です。 しかし、自分の才能を発揮して成果を出す人々には共通点があります。 それは、自分の才能に出会ったことです。 もしあなたもまだ気づいていない才能が眠っているとしたら、その才能を目覚めさせたいとは思いませんか? 才能の見つけ方 自分の中に眠る真の才能を見つけ出す方法は存在します。 それは、自分自身を客観的に観察することです。 これができれば、誰にでも必ず才能を見つけることができます。 なぜなら、普通に生活しているだけであなたの…
才能に向き合う 突然ですが、あなたは自分で選んだ職業に没頭できていますか? 例えば、競争が苦手なのに毎日成績が壁にデカデカと貼り出される営業職について、上司から「もっと向上心を持て、悔しくないのか」と叱責され、落ち込んでいる方もいるかもしれません。 毎日のように「何をやっても中途半端でうまくいかない。何か面白いことないかな」と思っている方は、自分の才能を深い眠りにつかせています。 せっかくこの世に生まれてきたのに、自分の才能と一生向き合わないまま天国に旅立つなんて、あまりにもったいないと思いませんか? 「自分には特別な才能なんて何もない」というのは、あなたの勘違いです。 人間誰しも必ず何かしら…
職場での自分の強み あなたは今の職場で自分の強みを発揮していますか? この質問に「はい」と答える人は全体の約3割です。 残りの7割は「いいえ」と答えます。 ではなぜ7割もの人たちが自分の強みを生かせない職業について人生の貴重な時間を消費し続けているのでしょうか? 答えは簡単、多くの人が生涯の大半を共にするであろう職業をなんとなくで決めているからです。 今回は、私たちがなんとなくで職業を選んでしまうことのリスクについて解説します。 自分の選んだ職業が本当に自分に合っているかわからない。 転職したいけど次はどんな仕事につけばいいんだろう、と悩んでいる人はぜひこの記事を最後までご覧ください。 何を基…
強みを磨いて輝かせる 〜渋沢栄一と坂本龍馬から学ぶ成功の秘訣〜
ダイヤモンドの原石と才能の共通点 突然ですが、あなたはダイヤモンドが輝く理由をご存知ですか? 美しくカットされたダイヤモンドの輝きは、ため息が出るほど綺麗ですよね。 ダイヤモンドはカットの表面が平坦であるほど輝きが増します。 つまり、研磨やカッティング技術が洗練されているほど、ダイヤモンドは星のようにキラキラと輝くのです。 もう一つ質問します。あなたはダイヤモンドの原石を見たことがありますか? 原石とはいえダイヤモンドですから、透き通った綺麗な石を想像する人も多いでしょう。 しかし、実際のダイヤモンドの原石は無色透明ではなく、例えるならアルミホイルをくしゃくしゃに丸めたような石です。 少なくと…
強みの定義とは? 強みの正体とは一体何でしょうか。 人によって定義はまちまちで、自分にとって少し得意な分野だったり、子供の頃から好きなことだったりします。 一言で言うと、強みとは常に完璧に近い成果を生み出す能力です。 例えば、世界を代表するプロゴルファー、タイガー・ウッズはウッドやアイアンでのフルスイングが強みです。 世界のトッププロ選手と比べても、タイガー・ウッズの飛距離にかなう選手はいません。 マイクロソフト社の元CEO、ビル・ゲイツも同様で、Windowsの開発者としての強みを最大限に発揮して成功を収めています。 強みを真の強みにするための一貫性 まず、強みは一貫して成果を出すことができ…
真の成功者とは何か スーパーモデル、トップユーチューバー、小説家——それぞれの成功者像に触れつつ、真の成功とは何かを考えてみましょう。 突然ですが、あなたは「成功者」という言葉にどのようなイメージを持っていますか? 成功者の一般的なイメージ タワーマンションの最上階に住んでいる人、高級車に乗っている人、美男美女、医者や弁護士、お金持ちの投資家など、様々なイメージが浮かぶでしょう。 しかし、多くの人が想像する成功者とは、自分よりも贅沢な生活を送っている人かもしれません。 実は、贅沢な生活と人生の成功は必ずしもイコールではありません。 タワーマンションの最上階からの眺めや高級車の乗り心地、オーダー…
みんなが生き生きと働く職場の作り方 突然ですが、あなたの職場で働く人たちはみんなが生き生きと仕事をし、心からやりがいを感じて働いていますか? それぞれが自分に合った才能を生かし、得意な分野で仕事に取り組めているでしょうか? もし、「どうかな?」と首をかしげたなら、ぜひこの記事を最後まで読んでみてください。 きっとあなたの価値観を大きく変えることになるでしょう。 強みを発揮することで職場を変える どうすれば職場のみんなが生き生きと働けるのでしょうか? それは、みんなが自分だけの強みを発揮することで解決できます。 しかし、まずは各自が自分の強みを深く知ることが大切です。 その後、あなたが周囲の人の…
自分の才能に気づく重要性 あなたに質問します。 ビジネス系ユーチューバーが「特別な才能は必要ありません。僕と同じことをするだけでお金が稼げます」と話しているのを聞いたことはありませんか? では、そのノウハウを真似して、本当にお金を稼げたという人はどれほどいるでしょうか? 実際には、とても少数派でしょう。 なぜなら、ビジネス系ユーチューバーの話にはある大切な要素が欠けているからです。 それは、ビジネス系ユーチューバーが持っている才能と、あなたの才能は全く違うということです。 才能について考えるとき、一番に目を向けるべきなのは「自分にはどんな才能があるのか」ということです。 誰にでも必ず自分だけの…
才能を強みにする まず、あなたに質問です。 成功者とはどのような人たちでしょうか? スポーツ界や芸能界で注目を浴びるスーパースターや、ビジネス界で人々から尊敬される成功者たち。 彼らは一目瞭然で、何らかの才能に恵まれています。 そして、その才能を活かして社会に貢献する姿は非常に輝いて見えます。 では、彼ら成功者はただ単に生まれつき優れた才能に恵まれた、運の良い人たちなのでしょうか? 実は、そうではありません。 最近の研究によれば、生まれつきの才能だけでは成功を収めることはできないことが分かっています。 宮本武蔵の言葉「先日の稽古をもって単となし、満日の稽古をもって連となす」の通り、日々の鍛錬が…
あなたは強みのゾーンにいるか 突然ですが、今あなたは仕事についてこんな悩みを抱えていませんか。 とにかく仕事がつまらない 人付き合いが苦手で、同僚とのコミュニケーションを避けてしまう ミスが多く、上司によく怒られる 友人と会ったとき、気づいたら仕事の愚痴ばかりこぼしている 毎月の目標を達成できず、自信をなくしている お得意先より上司の顔色が気になる この中の一つでも当てはまったのなら、あなたは今、強みのゾーンから遠く離れたところにいるのかもしれません。 こんな辛い状況で働いていたら、毎日のように胃が痛くなってしまい、胃薬が手放せなくなりますよね。 人間関係のストレスで精神的にも疲れてしまうでし…
茨の道を選ぶな あなたの生き方を180度変える目から鱗の内容だと思います。 まず質問です。 あなたは本当の自分ではない人になろうとしていませんか? 実は、ほとんどの学習プログラムがあなたに欠点の克服を強要しています。 例えば、数字の才能がまるでなくても数学の勉強に時間を割かなくては進学も卒業もできません。 文字を読むのが苦手でもクラスメイトの前で本の朗読や英語のスピーチをさせられます。 運動神経がゼロでも、体調不良以外で体育の授業を休むことはできません。 少し思い出しただけで、なんて辛い学生時代なのでしょうか。 やっと社会に出ても、共感が苦手な人は人間関係を保つためだけに多大なエネルギーを使わ…
機械に計算をさせると言っても、電子回路によってどう作れば良いのか。 また、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メソッド…
「ブログリーダー」を活用して、まつい@未来エンジニア養成所さんをフォローしませんか?