『アイデアのつくり方』読書メモ     技術職にとっての創造の技術

こんにちは、中島です。
今回は、ジェームス・W・ヤングの名著『アイデアのつくり方』を読んだ感想と内容をまとめました。

この本はたった60ページほどと短く、一見すると軽く読めそうですが、実際には「良いアイデアはどのように生まれるか?」という根本的な問いに、非常に本質的なアプローチで答えてくれています。

この本を読んで「技術職にも通じる考え方だ」と強く感じました。
以下では、その内容と5つのステップ、そして読んで感じたことを詳しくご紹介します。

◆ アイデアとは「既存の要素の新しい組み合わせ」

著者ヤングは、アイデアとはまったくのゼロから生まれるものではなく、「既存の要素」を新しい視点で組み合わせたものだと述べています。

この考え方は、システム開発や設計、コードの改善など、日々何かしらの課題に向き合っているエンジニアにとっても非常に腑に落ちます。
私たちも、技術的な制約やユーザー要件といった“素材”をもとに、最適な組み合わせを探ることが日常的です。

◆ アイデアを生み出す5つのステップ

ヤングは、再現可能な形でアイデアを生み出す手法として、以下の5つのステップを提案しています。
ここではそれぞれのステップを、本の内容に加えて技術職としての視点から解釈しながら紹介します。

1. 【情報収集】あらゆる素材を集める

まずは、課題に関する情報を集めます。ヤングは、一般的な知識と専門的な知識の両方を意識的に集めるべきだとしています。

実務の中で言えば:

  • 過去のプロジェクト事例やベストプラクティスの調査
  • 使用中ライブラリの仕様確認、業務フローの把握、類似プロダクトの機能調査など

情報を幅広く集めておくことは、後の発想に大きく影響します。何か新しい提案を求められたとき、手持ちの知識の広さと深さで対応力が決まってくると実感しています。

2. 【情報の咀嚼】集めた素材を頭の中で整理し、関連づける

次に、集めた情報を「どう組み合わせると面白くなるか?」という視点で検討していきます。

実務との接点:

  • フレームワークの制約をどう機能設計に反映させるかを考える
  • 顧客のニーズと技術的制約をどう両立させるかを検討する
  • 既存の設計と、新しい要件の接続点を探る

この段階では、すぐに答えが出なくても、頭の中でいろんなパターンを試していくような作業になります。メモや図解などを活用しながら、思考を整理することが大切だと感じました。

3. 【孵化】一旦考えるのをやめて、無意識に任せる

情報を咀嚼したあとは、あえてその課題から距離を置きます。
意識的には考えるのをやめ、しばらく別のことをすることで、無意識が働く時間をつくります。

実感としては:

  • 帰り道やお風呂に入ってるときに、突然ひらめいた
  • 他の作業中に、さっきまで悩んでいた課題の糸口が見えてきた

「考え続けるよりも、意識から手放すことで思いつく」という経験は、誰しもあるのではないでしょうか。この“孵化の時間”を怖がらずに取ることも、発想力を鍛えるためには重要だと思いました。

4. 【ひらめき】ふとした瞬間にアイデアが生まれる

十分に準備と孵化の時間を経たあと、ある瞬間に「これだ!」というひらめきが訪れます。

例えば:

  • 設計で悩んでいた構成が、一つのクラス設計案を思いついたことで一気に整理された
  • APIの設計方針が、過去のドキュメントと照らしたときに「こう組み合わせればいい」と気づいた

この「点と点がつながる瞬間」は、何度経験しても気持ちが良いものです。

5. 【検証と具体化】現実に落とし込み、改善していく

最後に、ひらめいたアイデアを実行し、現実的に機能するかを検証します。ここで初めて、アイデアが「使えるもの」になるわけです。

例えば:

  • コードとして動かし、挙動を確認する
  • チームレビューを通して意見をもらい、改善点を見つける
  • プロトタイプで動かして、ユーザーの反応を見る

「良いアイデアかどうか」は、現実に実装・運用できるかどうかで初めてわかる。だからこそ、この最終ステップが非常に重要です。

◆ 読んで感じたこと

この本を通して、「アイデアの創出もスキルであり、再現性のあるプロセスで身につけられる」ということが、何よりの学びでした。

エンジニアという仕事は、与えられた仕様を実装するだけではなく、設計や提案の場面で「今あるものをどう活かすか」「よりよくするには何を変えるか」といった視点が求められます。

また、定期的にコードレビューやリファクタリングを行う中で、アイデアを出す機会も意外と多い。
そうしたときに、「情報を集め→咀嚼し→一度忘れ→ひらめき→検証」という流れを意識することで、感覚的だった“発想”が技術として扱えるようになると思います。

◆ まとめ

アイデアとは、既存の要素の新しい組み合わせで、それを生み出すには「5つの段階」があるのものだと思いました。

『アイデアのつくり方』は、クリエイティブな職業の人向けの本と思われがちですが、実は論理性と創造性の両方が求められる技術職にも非常に役立つ内容でした。

特に印象に残ったのは、「アイデアは天才のひらめきではなく、再現可能なプロセスで生み出せるものだ」という考え方です。

つまり、”アイデアを生み出す”という行為は、特別な才能がないとできないことではなく、正しいステップを踏めば誰でも実践できるものなのです。

「なんとなく」で考えていた発想も、5つのステップに沿って見直していくことで、もっと確実に、そして効率的に進められる。
そう思わせてくれる、技術職の人にもぜひ読んでほしい1冊です。

今回はここまで
最後までご覧いただきありがとうございました!

新入社員ブログ 松井(第6回)

こんにちは。松井です。
もう3月になってもうすぐ年度が替わりますね!

今回はフォローアップ研修について紹介します。
フォローアップ研修の内容について簡単に説明すると業種に問わず社会人として必要なスキルを習得するための研修で、8月から2月まで月に1回の頻度で参加しました。どれも仕事上に使う内容となっており、就職前でも知っておいたほうがいいという内容でした。

ビジネス基礎研修

8月はビジネス基礎で学ぶことは一人一人が成長するために意識しないといけないことについて学びました。心構えやマナー、コミュニケーションの取り方といった仕事のやり方についての内容でした。特に印象に残ったのは「多くの視点を持つ」ということです。小さな部分だけ見るのではなく、視点を広く見たり長くしたり、時には切り替えることも必要ということです。そのため、様々な視点を持って仕事に取り組めるようになりたいと思いました。仕事への取り組み方について「分からない」といったところがあれば基本的な内容としてこの研修の内容について思い出せるようにしたいと思いました。

報連相研修

10月は報連相研修で仕事上必要な情報が入手したり他の人に情報を渡すときに必要なスキルを学びました。報連相とは「報告」、「連絡」、「相談」の3つを表します。社内の内容であればスピード重視されるため正確性は重視されませんが、社外に対してはその逆でスピードより正確性が重視されます。私の場合、社外に対する連絡の機会が少ないため、まずはスピードを重視するようにして、可能であれば正確性を担保できるようにしたいと思います。そのため、まずは自分が読み手の立場になって「伝わりやすい」報告や相談をかけるようにしています。

ロジカルシンキング研修

11月はロジカルシンキング研修で論理的に考える方法について学びました。ロジカルシンキングとは論理的思考と訳され、誰にでも使いこなせるスキルで、問題解決や仕事促進に使えるスキルです。「研修を通じて直ぐに使えるようになりたい!」と思いましたが、論理的に考えることは直ぐに使えるものではなく、経験を積むことが必要だと思いました。そのため、論理的に話すための練習を積み重ねようと思いました。そのために、何か相談をする際には自分の意見をしっかりと持って上司に説明できるように努力しています。

文章力向上研修

12月は文章力向上研修で分かりやすい文章を書くためのスキルを学びました。報連相研修やロジカルシンキングと重複している内容に似ていますが、「文章を書くためのコツ」について学びました。この研修に参加したことによって、入社前と比べ、報連相といった社内でコミュニケーションをとる際により簡潔かつより分かりやすく説明できるようになったと思いました。

ストレスマネジメント研修

1月はストレスマネジメントではストレスとの向き合い方について学びました。この研修を通じて思ったことはストレスを重ねることがないように前向きな気持ちにしようということです。また、健康管理もストレスを予防するということに関わっていますので、健康管理に気をつけようと改めて思いました。

メンター研修

2月は4月から入ってくる後輩との関わり方について学びました。メンターというのは上司といった育成者とは別の役割をしており、新人にとって「安心できる存在」となります。メンターになるメリットとしては、新人社員といった育成される立場には気づかないことについて学べるということを知りました。研修で学んだことを来年度以降先輩社員として後輩と関わる際に活かせるようにしたいです。


フォローアップ研修で学んだ内容は仕事においてかなり役に立ったと思います。特に報連相研修や文章力向上研修では、困ったことや会議で決まったことなど情報の伝え方についてコツをつかめたと思いました!
最後までお読みいただき、ありがとうございました!

今年度を振り返って… 紙屋06

お疲れ様です!
’23年度入社の紙屋です!

まだ寒い日も続きますね。
私は2月の一時期暖かくなった時から花粉症が出てきました…
今年の花粉症は目がとても痒いです……(泣)
薬の眠たさと闘いつつ、目の痒みとも闘いつつ、日々仕事に取り組んでいます!
早く気候も落ち着いてほしいです!

気づけばもう3月になりましたね。
先日の社内技術者定例会では新年度に向け、新入社員への対応の話も出ていました。
まだまだ新入社員でいたい気持ちもありますが、今年度を振り返って来年度に備えようと思います。


2023年4月は全くこの業界を知らないで入社しました。
入社当初は外部研修に参加させていただき、MySQL、PHP、Laravelを中心に学びました。プログラミングをやってみたい気持ちはありましたが、知れば知るほど難しく、私の固い頭では理解が追い付きませんでした。研修中は「なんで?」が多く、講師の先生へ質問を多く投げていました。今思えば、自分でも調べて質問すればよかったのですが、自分の癖もありよく調べもせずにすぐに人に聞いてしまっていました。嫌な顔をせずなんでも答えてくださった講師の先生にはとても感謝しています。

外部研修を終えて会社に戻ってからは、参考書で勉強し、課題に取り組みました。参考書はSQLドリル、PHP独習、LinuCを一通り勉強しました。研修でも触れたSQLやPHPは前向きに取り組めましたが、案件の前準備として勉強したLinuCはとても苦手意識が強かったです。ですが、案件に入った今ではよく見直してコマンドにはお世話になっています!

10月あたりからOJTでご指導いただきながら実際の案件に入りました。最初は資料の確認からでしたが、少しずつ実際のシステムの保守にも携わらさせていただきました。外部研修から社内での課題は会員登録システムを難易度をあげて取り組むものでしたが、実際の案件は扱うテーブル数もコードもとても多く、フレームワークも違って難易度がぐーんと上がりました。そこで一度「自分には無理かも…」と思ってしまい、苦手意識が生まれてしまいました。分からない点は質問すると答えてくださいますが、自分の聞きたいことがまとまらず、うまくニュアンスも伝えられず、モヤモヤすることも多かったです。

このままではいけないと、取り組む姿勢を見直しました。
それは、
① 質問する前には必ず調べ、自分の考えをしっかりと整理すること
② 活用できるメモをとること
③ アウトプットすること

です。

まずは質問する前には必ず調べ、自分の考えをしっかりと整理することですが、調べないと方向性の違う質問をしてしまったり、返答いただいてもその内容を理解できないことが多かったりしたからです。よくネット検索を活用しますが、調べたいことにたどり着けなかったり、とても時間がかかったりしてしまい、自分の考えを整理するまでに時間を要すので、これはまだまだ取り組みが必要です。

次に、しっかりとメモをすることです。教えていただく中で「前にも伝えたと思いますが」という言葉を耳にします。メモを取ることは新人にとっては当たり前ですが、メモしてもそれを活かせないのであればメモの意味がありません。私はメモを取るときは、必ず日付を書くこと、チケット番号など見出しや題名をつけること、メモの書く場所を注意する、内容によって社内業務なのか、案件のものか、期限付きのものなのかを意識して場所も分けるように書いています。todoリストのように□の枠を書いて目立つようにしたり、レビュー中(画面共有中)はコードの中にコメントとして入力し、指導者へもメモ内容が見えるように意識しています。電子媒体でメモを取りたいなとは思っていますが、まだまだアナログな私は紙媒体でのメモが主流です。技術面で新しいことを教えていただいた時には紙媒体でのメモは後で見返してもよく整理ができないので、教えていただいた後すぐに自分なりの手順書を作っていつでも見返すことができるようにしています。

あとは、アウトプットをすることです。このブログもそのひとつですが、小さな取り組みとしては、なるべく声に出すようにしています。1対1のLINE上のやりとりももちろんあるのですが、文章ではニュアンスも伝えにくく、文章ではうまく伝えられなかったが、通話でやり取りするとそこまで考えが乖離していなかったということが時々ありました。これはこれで文章力を鍛える必要がありますが…(汗)。また朝礼や終礼での報告時も集団の中であえて質問など声にだすことで、自分の考えを知ってもらえれば、その考えがどうなのかを確かめられたり、それを繰り返すことによって自信につながったりすると思っているからです。今はレビューいただいたときは必ず結果の要約や次回までにすべきことを自分の言葉で繰り返して指導者へ伝えるように努力しています。

他にも意識して取り組むべきことはあると思いますが、とりあえずはこれらを意識しています。まだまだ学習やプログラミングに触れる機会を増やす必要があると思っています。
来年度は実際にコードをかくことはもちろんですが、
① 基本情報技術者試験に挑戦!(ITパスポートは無事合格しました!)
② PHPカンファレンスなどの勉強会にも参加する!(2023年度のPHPカンファレンスは近所で開催されていたのに情報収集が足りずに開催直後に気づきました…)
③ 通勤中の時間を使って、ポットキャストで初心者向けのプログラミング番組を聞く!(現在継続チャレンジ中で習慣化へ!)
と思っています!

このブログも使ってこれからの成長した姿もお伝えできればと思います!
今年度の残りも、来年度からもまだ頑張りますので、応援、ご指導よろしくお願いいたします!
では!!

2023年 新入社員ブログ 松井(第4回)

こんにちは。入社1年目の松井です。
前回までの内容は下に貼っておきます!

第1回はこちらです!

第2回はこちらです!

第3回はこちらです!

今回の内容はLaravel演習です。演習の内容の前にLaravelとは何なのかについて簡単に説明します!

Laravelは、多くのWebアプリケーションの開発に使われているPHP言語で開発されたフレームワークです。そもそもフレームワークとは何なのかについて説明すると、プログラミングの作業を毎回0から書く必要がある内容を予め「枠組み」として纏められている仕組みです。その枠組みがあることで、新しいアプリケーションを作るたびに同じ機能を実装させるという手間を無くすことができます。

社内で行われたLaravel演習の内容は前回紹介したPHP演習と大差ないので、もう一度紹介しますね。演習課題はPHPと同じく「会員登録フォームの作成」です。主な実装内容は以下の通りです。

会員登録フォームの内容

  • 会員登録/ログイン機能の実装
  • 会員一覧機能の実装
  • 会員情報変更機能の実装
  • 会員削除機能の実装

PHPで苦労した内容がLaravelで簡単なコードで実現できることを体感することができました。例えばPHPでは、ログイン後のページ一つ一つにセッションをつけないと不正アクセスかどうか判別できませんでした。しかし、Laravelでは、ミドルウェアという機能を使って簡単にログインしているかどうかで処理を振り分けることができます。また、PHP演習で苦労したページネーション機能は一行で書けるようになります。下記にページネーション機能を実装するために書いたコードを抜粋します。

PHPのコード

PHPだと複雑なコードを書かない上に多くの行数を費やしてしまいます。コードを読んだことがない人にとってはコメントが無いと何を書いているのか非常に分かりにくいと思います。

Laravelのコード

このコードはPHPと比較して非常にすっきりとした印象を持てますね。Laravelだと細かい部分はフレームワーク側で処理してくれるからここまで簡単に書けるようになります。

Laravelで作成した一覧画面を下に貼っておきます。大まかな構成はPHP演習で作ったものとあまり大差ありません。

今回の内容はPHPで実装するに苦労したものがLaravelでは簡単に作れたという内容でした。
最後まで読んで頂き、誠にありがとうございました!

2023年 新入社員ブログ 松井(第3回)

こんにちは。松井です。
もう11月になって上着を着用してる人が増えてきましたね!

前回までの内容は下に貼っておきます!

第1回はこちら
第2回はこちら

第2回ではSQL演習について紹介しましたが、今回と次回でPHP/Laravel演習について紹介します。今回はPHP側の演習について紹介します。演習内容の前にPHPについて簡単に紹介します!

PHPとはWebページを作ることがサーバサイドのプログラミング言語です。HTMLやJavaScriptと混同されやすいです。HTMLやJavaScriptはブラウザ側(ユーザ側)で動かしていますが、PHPはサーバ側で動かしています。PHPを使う最大の利点はデータベースとの連携を容易に行えるということです。サーバ側で動かしているので、Webサイト上でよく見るデータのやりとりを実現できるということです。

PHP/Laravel演習の課題は「会員登録フォームの作成」です。主な実装内容は以下の通りです。

会員登録フォームの内容

  • 会員登録/ログイン機能の実装
  • 会員一覧機能の実装
  • 会員情報変更機能の実装
  • 会員削除機能の実装

基本的に上記の内容を実装するという内容ですが、ユーザにとって使いやすいように配慮することが大変でした。例えば間違えてページのリロードをしたら入力内容が全て消えてしまうという問題は「値を保持させないといけない」ということや必要です。また、誤って入力した内容が直ぐにデータベースに登録されるのを防ぐために「確認画面を作る」ことや登録したかどうか確認するために「完了画面を作る」機能も必要でした。機能作成の面で特に大変だったことは「ページネーション機能の実装」でした。実装するために多くの行数を書く必要があることやページを遷移することによって入力した値が保持できないといったバグを対処することがとても大変でした。作成した会員一覧ページはこのような感じです。

次回はLaravel演習について書きます。LaravelはPHPと比べ、複雑な機能を簡単に書けるという特徴を持っていますのでPHPとの違いについても紹介していきます!
最後まで読んでくれてありがとうございました!

2023年 新入社員ブログ 松井(第2回)

こんにちは。
入社1年目の松井です。
もう10月になって冷えてきましたね!

前回は外部研修について紹介しました。
「外部研修とは?」と思った方はこちらのURLに書いてありますので気になったら覗いてみてください!

https://blog-s.xchange.jp/archives/date/2023/08/03

内部研修の概要

6月から7月末にかけて内部研修を行いました。
内部研修の内容は以下の2つです。

  • SQL演習(6月中旬まで)
  • PHP/Laravel演習(6月下旬から7月末まで)

SQL演習

SQLの問題集を読み、演習問題を解きました。外部研修中ではなかなか問題を解く機会が少なかったので内部研修を通じてSQLの勉強をしました。内部研修に使った本はこの下にURLを貼っておきますので、気になった人は覗いてみてください!

https://book.impress.co.jp/books/1121101090

SQLでの勉強で難しかったところは副問い合わせでした。副問い合わせとは「他のSQL文の一部分として入っているSELECT文」です。特徴としては「検索結果に基づいて表を操作する」という点です。言葉だけだと分かりづらいので例を挙げます。

例:家計簿というテーブルから最も大きな出費を調べ、その費目と金額を求める

文章で書くと簡単に見えますが、SQLではそうはいきません。SQLでは「最も大きな出費を調べる」、「それを基に費目と金額を求める」の2つのステップが必要です。まずはステップごとのコードを書いてみます。

(1)で調べた値を基に費目と金額を求め、(2)で費目と金額を求めることができました。これだと(1)の値が急に変わったときに調べ直すのが面倒です。そこで、(1)のコードを(2)のコードに書いてある「(1)から書き写した値」に埋め込みます。

(3)では、(2)のWHERE句の中に(1)を埋め込みました。このようにすれば、(1)と(2)の動作を一括に実行でき、(1)で出力されるものが変わっても(2)を書き換える必要がなくなります。(3)のコードに入っている括弧の中身が副問い合わせということです。

このようにしてSQL文の意味や使い方について深く学んでいきました。

SQL演習についての話はここまでです。次回はPHP/Laravel演習について書きます。最後まで読んで頂き、誠にありがとうございました!

2023年 新入社員ブログ 松井真治(第1回)

こんにちは!
2023年4月に入社した松井真治です。

自己紹介


入社する前は工学系の大学でコンピュータについて学んでいました。
プログラミングは勿論、コンピュータに関する幅広い範囲を学んでいました。
卒業研究では、「オセロにおけるDueling Networkを用いたQ-learningの効果検証」をテーマにしました。初めて聞くワードが出てきて困惑している人が多いと思いますが、平たくいうと機械学習に関する研究をやっていました。そんな情報系の出身の私ですが、web系は未経験です。

外部研修

私は、4月中旬から5月末までの間外部研修に行ってきました。研修の間で学んだことは以下の通りです

  • IT基礎
  • Linux
  • プログラミング基礎(HTML,CSS,Javascript)
  • データベース(MySQL)
  • PHPプログラミング
  • Laravel
  • git
  • システム開発演習

IT基礎では、これからITで働くにあたって最低限覚えないといけない(それどころか基礎教養として重要)ことについて学びました。日常でも使う単語が多く、ITに関わっていなかった人たちでもわかるような内容でした。

Linuxでは、私たちが当たり前のようにできているファイルの作成やフォルダーの作成などをコマンドを使って行ったり、ファイルのアクセス権限の変更を行いました。GUIだと面倒なことをコマンドでできるのは便利ですね!

プログラミング基礎では、私たちがよく見るWebサイトの基本的な作り方について学びました。書いたサイトのコードは検証ツールで見れますので、外部に公開するときは注意が必要ですね!

データベースでは、データの検索からテーブル・データベースの操作を行いました。IDやメールアドレスといった重要な情報を入れるので、万が一のことがあったら大惨事です。データが破損したり、誤ってテーブルに入っている情報が全て消してしまったことありましたので、慎重に扱わないといけないことを学びました。

PHPプログラミングでは、PHPを用いて値を次のページに保持させたり、データベースへの干渉を行ったりしました。同じWebに関するプログラミング言語でもJavascriptとの違いをあげるとしたら、PHPはブラウザ側ではなく、サーバ側に干渉する言語であるということですね。また、PHPではデータベースと連携することができますが、非常に難しかったでした。

Laravelでは、Webアプリケーションのフレームワークとは何かから始まり、Webアプリケーションの作成を行いました。よく使われている処理をフレームワークとして統一できれば非常に便利ですね!そんなフレームワークの一例としてLaravelを使いました。例えばデータベースとの連携をLaravelで簡単に実現できるというのは大きなメリットです。しかし、研修の間で全て覚えることは難しく、概念しか覚えることしかできませんでした(笑)

gitでは、複数人で作業を分割して統合していくような際に使うことでバージョンの管理や不具合の発見についてわかりやすくするものといった内容でした。共同でシステム開発をする際に便利ですね!

最後に他社の方々と10日間という短い期間でシステム開発演習を行っていきましたが、私のグループは4人で教科書売買システムのWebアプリケーションを作るといった内容でした。3日間で設計、5日間でWebアプリケーションの作成、2日間で作成したアプリケーションについての発表の準備を行いました。多くのエラーやバグと立ち向かい、講師からの丁寧なアドバイスや解説のおかげもあり、無事Webアプリケーションを作ることができた他、Laravelのコードの書き方やgitの使い方について理解することができました。最終的に問題なく発表を行うことができ、研修を終わらせることができました!

本日はここまでです。
次回は内部研修について書きます。
最後まで読んで頂き、誠にありがとうございました!

新入社員ブログスタート!! 紙屋01

自己紹介とSQLで詰まったこと

はじめまして!
2023年度入社の紙屋です!
これから時々ブログをアップさせていただきますm(_ _)m
よろしくお願いします!

今回は初投稿ということで、まずは自己紹介から!
名前は紙屋朋幸といいます!
以前は他業種で働いており、プログラミングに関しては超初心者です!
PHPの外部研修を経て目下勉強中です!!
趣味はグルメ巡りで、主にハンバーガー、ラーメン、甘いものなどなど…
「おいしそう!」と思ったものにはなんでも食いつくミーハー気質です(笑)
先日も世界最大のフードスポーツイベントのハンバーガー部門の公式日本予選大会である「JAPAN BURGER CHAMPIONSHIP」に行ってきました!!
また7月から六本木でバーガーイベントがあるので行ってきます!!

プログラミングの話に戻ります。
入社してから3か月が経ちました。
現在はSQLドリルを勉強して、PHPプログラミングを勉強しつつ、登録フォーム課題に取り組んでいます。
プログラミング初心者の私にとって日々「なんだこれ?」「ん?」と思う壁にあたります。そういった疑問について振り返りたいと思います。

SQLドリルを取り組むにあたって、まず「NULL」の扱いについて詰まりました。
プログラミングを経験されている方には基本の「キ」レベルだと思います。
SQLの学習をしたときに簡単なSELECT文の話から始まり、次に算術演算子など、演算子の話があり、私はプログラミングって数学的な感じなんだと思い込んでしまいました。
例えば、SELECT文で選択するカラムに『カラム名 * 100』と条件を付けて値を取得しようとしたり、WHERE句で『カラム名 = NULL』で検索をかけようとしたりすると、エラーが返されます。
「あれ、おかしいな?NULLってゼロってことじゃなかったっけ?」…
そんなことをよくことを考えながらとりあえず自分で考えたコードで実行し、トライ&エラーで試しながらSQL文を考えていました。

NULLについて振り返りたいと思います。

NULLとは?
・そのカラムの値に何も格納されていない、未定義であることを示す。
・数字のゼロや空白文字とも異なる。

NULLは=で判定できない!
・NULLは「=」や「<>」で判定ができない。
・必ずIS NULLやIS NOT NULLを使って条件式をつくること。

「NULL ≠0」とここに書いてありました。めちゃめちゃ見逃していました…(笑)
「値が入っていないなら空白のままでいいじゃん」とも考えましたが、ドリルを進めるうちにNULLにあたる部分を対象に指定したい場合もあるから空白のままでは都合が悪いのですね。
また、NULLは値が入っていないことを表すから空白とまた別物なんですね。ややこしいですが、NULLと空白とを検索かけたいときは

と検索をかけなければいけないのですね。やっかいです…笑…

あとはNULLを含むレコードの集計のときにも「あれ?どっちを使うんだっけ?」と毎度見直しました。それはCOUNT関数です。
他の集計関数は集計時のNULLの扱いは結果に影響を与えませんが、COUNTだけ引数にカラム名を指定するとNULLを無視しますが、全レコードを表す「*」を指定するとNULLも含めて集計します。
ドリルの中にはNULLも0とカウントして集計させる問題もありました。この問題も何度も引っ掛かりました。

SELECT AVG( {カラム名} ) FROM tables;

SELECT AVG( COALESCE( {カラム名} , 0 ) ) FROM tables;

最初はこの2つのコードの違いがよくわかりませんでした。「NULLってゼロじゃなかったっけ?」「このCOALESCEって何?」ということが頭をグルグル…、理解が追い付かず類似問題を解いても引っ掛かり…、プログラミングって難しい…と早くもあきらめモードでした(笑)
ですが、ドリルの巻末問題あたりでやっとCOALESCE関数の働きが分かってきて、平均値は数値の合計をその数値の数で割るという簡単なことも忘れていたことに気づき理解ができました。
気づいた時には「めっちゃ便利じゃん」とあきらめモードからも復帰できました!

プログラミングって難しいですね…。
まとめとうよりはプログラミングを体験した感想となりましたが、指導いただける先輩方は丁寧に教えてくださるのでとてもありがたいです。プログラミングを学んでブログも通じて少しずつoutputしていきたいと思います!
今までも転職して新しい業種にチャレンジして何とか失敗せずやれてきたので、今回もコツコツ地道に経験を積んでまいりたいと思います!
それでは次回のアップまで!!



Chromeでカーソルが点滅?!

福岡の野田です。
久しぶりの投稿です。

Chromeを使っていて、ふと点滅するカーソルが表示されるようになったことに気づきました。これは何だろうと調べてみたところ、「カーソルブラウジング」にたどり着きました。カーソル位置を分かりやすくするため点滅を行うことができる機能となります。対応しているのは他にEdgeなどもあるようです。

設定・解除については、F7キーを押下することで切り替えることができます。最初みたときは、スタイルシートの設定でこのような機能が追加されたのか?とびっくりしましたがそんなことはなくブラウザの機能でした。誤操作を避けるためにキーバインドのカスタマイズでF7から設定を外したほうが良いかもしれません。

何気ない違和感から調べてみると新しい発見があって面白いですね。また何かありましたら報告しようと思います。

新入社員ブログpart3 ~最近あったことの話 ~

こんにちは、新入社員の堀です。暑い日が続いていた中、急激に寒くなりましたね。読んでいる皆様は天候の変化による体への影響は大丈夫でしょうか。執筆中の私の体は変化に悲鳴を上げております。今回は会社や研修のことではなく個人的なお話、最近美味しかったものやお給料で買ったものを書いていこうと思います。

最近美味しかったもの

・バターアイス
一時期SNSで話題になったバターアイス。最初食べた瞬間はただの濃厚な甘いアイス。と思いきや、だんだんバター特有の塩味と風味を感じます。ラクトアイスの滑らかな甘みでバターの良さが引き上げられている気がします。丸かじりもおいしいですが、フレンチトーストに乗せるなどアレンジで普段のスイーツに特別感をもたらします。あなどれない。ちなみにただのバターは齧ってもただのバター。アイスだからこそ美味しいのだと再確認。
・抹茶の砂利チョコアイス
形はパルムなどの丸形アイスに近いです。ざくざくとしたチョココーティングの食感に、抹茶のほろ苦い風味とアイスの甘さに夢中になります。クランチよりも軽いザクザク感で食べやすく、あっという間になくなりました。一番リピートを考えています。このブログを書いている最中に、食べたくなってくるくらいには好きです。
・月見ハンバーガー
秋の味覚、みんな大好き月見ハンバーガー。今年はあらゆるところで対抗勢力が増えておりましたが、私はマ〇クの月見とパイが好きです。在宅勤務の際、お昼に何を食べようか悩むと必ず候補の一つに上がるくらい好物です。ただ、栄養が偏るので毎日食べられないですね。執筆中はまだ販売していますが、公開するころには終わっていると思うと悲しいですね。

お給料で購入してよかったもの

・座椅子
お恥ずかしながら、大学からほとんどローテーブルに座布団、もしくはそのまま座って作業をしていました。いざ購入して使ってみると、厚みのある背もたれや座椅子があることで、背中やお尻への負荷が和らいで良いお買い物ができたなと思います。比較的、机に向かい続けることが苦でなくなった気もします。疲れた時はもたれかかって首を伸ばすといい感じです。
・新しいホームルーター
元からあった、3日間の通信量の合計で通信速度を制限されるものから、通信量無制限のものを買い換えました。3年も使用して新しいものが出てきたのもありますね。リモートワークの導入だけでなく、もともと動画などをよく見るため買い換えてよかったと思います。比較的、通信の混雑しやすい夜の速度も安定しているので、仕事終わりに見るドラマや動画が画質の面でも速度の面でも見やすくなりました。

他にもありますが、長々としてしまうので美味しかったもの3点、購入してよかったもの2点に絞りました。食べておいしかったものはリピートしたいもの、購入してよかったものは生活を少しでも快適にしてくれるものをピックアップしました。

次に購入したいのはローテーブルあたりかと思います。4年以上使ってボロボロなので買い替えたいですね。あとは最近焦げがつきやすくなってきたのでフライパンや鍋も。
また何か買ったら今回のように書いていけたらと思います。今回はここまで!次回の内容は未定ですが、会社での出来事を書けたらと思います。ありがとうございました~。