プログラミングノート(メモ)の取り方!現役エンジニアおすすめの学習に最適なメモアプリやツール

「 書いたコードの意味をすぐに忘れてしまう… 」

「 プログラミングってどうやって学習すればいいの…? 」

みなさんは普段、どのようにプログラミング作業を進めているでしょうか?

 

今の時代はネットで参考サイトを検索する、書籍を見る、解説動画を探す等、問題解決のために様々な方法を取ることができますね。

では、今まで取り組んできたそれらの思考や技術ノウハウは、今の自分にどれだけ知識として吸収できているでしょうか?

今回は、学んだことをその場限りの使い捨てなものではなく、自分の引き出し・技術として染み込ませる方法として強い効果を発揮する「プログラミングノート(メモ)」について解説をしていきます。

[ 本記事はこんな人におすすめ ]

・これからプログラミングを学びたい

・プログラミングをもっと理解したい

・技術を自分のものとして染み込ませたい

1. プログラミングノート(メモ)とは?

プログラミングノートのススメ 意味と重要性とは?

1-1 大学受験でよく使われるノート作成に近い

 プログラミングノートとは文字通り、紙やメモなどにプログラミング技術やノウハウがまとめられたノートのことを指します。馴染みのあるもので言うと、学校の授業などでノートを取っていましたね。基本的にはプログラミングノートもやっていることは同じです。

 ただし、一つ頭に入れておかなければならない大きなポイントがあります。プログラミングノートを作る目的は、「問題の解決方法(答え)を暗記する」ということではありません。

 テストや試験でいつも素晴らしいパフォーマンスを発揮できる人が、皆さんの周りにもいたと思います。あの人たちは、一度自分の頭の中に内容を吸収(インプット)して、自分なりに噛み砕いたあと、整理してからノートに書き残していく(アウトプット)という知識定着の手法がとても上手です。

 このインプット」「アウトプットの考え方が、プログラミングの学習においても非常に重要な役割を果たします。

1-2 東大合格生のノートは必ず美しい

 日本における受験の最難関として言わずと知れた東大受験に合格するような人達は、まさに知識の定着「インプット」「アウトプット」のプロフェッショナルと言えるでしょう。

そんな東大生も、私たちと同じようにノートを作りながら学習をしています。

「ノートというツール自体、多くの人が内容のインプットにほとんどの意識を向けている。授業などで聞いた内容や人の話を後から見返すためにノートを使っている。」

 上記転載の記事には、このように問題定義されています。しかし、頭のいい人が書くノートには、
いつもどこかに「アウトプット」の意識が仕込まれていて、書き方やまとめ方が全く異なると言われています。

 東大生のノートについて触れられた書籍をご紹介します。学習のプロである東大生のノートの中を覗くことで、あなたのプログラミング学習能力が飛躍的に成長するヒントになると思います。

2. プログラミングノートを作る理由

2-1 インプット ⇨ アウトプットの場所として活用する

 本記事内で何度も念を押している「インプット」と「アウトプット」、特にアウトプットを意識してノートを作ることで、プログラミングの学習は飛躍的な効果が期待できます。

 しかしながら、一口にアウトプットとは言っても、具体的にどういったことを意識すればいいのでしょうか。

 ここで一度、本記事を読んでいるあなたに試してみてほしいことがあります。今、自身が学習していたり、問題解決のためにネット検索したり、調査しているプログラミング技術がありますね?

 その技術内容を、誰かに教えることをイメージしてみてください。相手は誰でも構いません。同じスクールの学習生、プログラミング仲間、もっと身近な友達や家族でもいいでしょう。あなたが今学習しているその技術を、相手が今自分の隣に座っているつもりで、理解できるように教えてみてください。

プログラミングノートのススメ 意味と重要性とは?

 …どうでしょうか、上手く解説できたでしょうか?「あれ、この部分ってどう説明すればいいんだろう…?」といったような不明瞭な部分が、教えようとした途端に出てきたのではないかと思います。この感覚こそが、参考サイトや書籍でのインプットだけでは自分が理解できていなかった技術の要点なのです。

 下記の三角形の図はラーニングピラミッドと呼ばれるものです。図形の下の項目にいくほど、学習定着率は高まっていきます。

学習には大きく分けて二つ、「受動的学習」と「能動的学習」があります。

図の項目でいくと、上部の「講義」「読書」「視聴覚」「デモンストレーション」は、情報を一方的に受け取る受け身の学習、受動的学習ですね。対して、下部の「グループ討論」「実際に体験する」「人に教える」は、能動的学習と言えます。

この能動的学習が、知識の定着において高い効果を発揮すると言われています。

 

Swiftビギナーズ倶楽部 様より引用

 この”相手に教える・伝える”という思考回路そのものが、知識のアウトプットと強く結びついています。相手が理解できるように解説するには、技術の要点を自分の中で理解し、整理できていることが必ず必要になってきます。裏を返せば、相手に教えられる・伝えられるということは、要点を自分の中でしっかり掴めているということです。

ここでCodeCandy小林講師のプログラミングノートの一例をご紹介します。

 プログラミングノートは、技術ノウハウを書き残しておくことが本質ではなく、
ノートをまとめる過程で試行錯誤した思考や、手を動かして作業した体験にこそ価値があります。
ノートに自分の思考を整理してまとめる作業をすると、技術の要点を掴む能力も向上していき、問題にぶち当たった時の解決スピードも上がっていきます。

 また、時には調べても解決できない問題が起きることもあるでしょう。そんな時も、この整理する思考が身についていれば、「何が分からないのか」を明瞭化させることができ、上司や講師・メンターへの質問の質もグッと上がります。

 さあ、プログラミングノートというツールを使って、自分の中に確かな技術を染み込ませていきましょう!

3. ノート作成におすすめのツール

プログラミングノートのススメ 意味と重要性とは?

3-1 便利なデジタルノート3選✏️

 ノートといえば、一般的には紙媒体のものが想像されますね。

 しかし今は非常に便利な時代で、PCの中でノートを作ることができ、デジタルならではの便利な機能が沢山詰まったデジタルノートが存在します。せっかくテクノロジーの世界に身を投じて学習しているのですから、便利な機能はどんどん使って、効率的に学習していきましょう。

 数多あるデジタルメモアプリケーションの中から、よく利用されているサービスを3つご紹介します。

✏️1. Evernote

 Evernote(エバーノート)は世界中で愛されている多機能メモアプリです。

2022年7月時点でのユーザー数は、2億2,500万人にまで上ると発表されています。

 PCとスマホの両方に対応しており、ブラウザベースで利用できるほか、デスクトップ版のアプリ(Mac, Windows)と、スマホ・タブレット専用アプリ(iPhone, iPad, Android)がリリースされているため、異なるデバイス間でデータ同期がされ、どこからでもアクセス可能です。

 有料プランも存在しており、無料プランだとデバイスが二つまでしかアクセスできない等の制限がかかります。

 Evernoteの優れている点として、1枚のノートに画像や表、PDF、動画などを差し込むことができることです。もちろん、テキストのサイズや文字カラーの変更も可能です。

 また、手書き(スケッチ)機能も搭載しており、iPad + Pencilを使用している方はぜひ利用したい機能ですね。

●デスクトップ版(Mac、Windows)

ダウンロード >>


●スマホ・タブレット版(iPhone,iPad等)

[iOS]

ダウンロード >>

[Android]

ダウンロード >>

✏️2. Notion

 Notionは個人使用でのメモ機能に加えて、チームや組織レベルでのデータ管理機能を豊富に備えているドキュメントサービスです。

 基本的な文章の管理に加えて、豊富なデザインテンプレート、企業レベルでのスケジュールやタスクの管理、データベースの管理など、その機能は従来のドキュメントサービスの枠を越えて多岐に渡ります。

 Evernoteと同じく「ウェヴ」「デスクトップ」「モバイル」3種類に対応しています。無料、有料含めていくつかのプランが用意されていますが、Notionでは無料版でも同期端末の制限はありません。

 Notionの大きな特徴の一つとして、複数人で同じページを編集できる同時編集機能が備わっています。Googleドキュメントのようなイメージですね。他のドキュメントサービスには中々無い機能であり、この点からも複数人のデータ管理において強いことが分かります。

 また、外部サービスとの連携も非常に豊富で、GitHub、Slack、trelloなどをはじめとして、数多くの外部サービスとシームレスに連携を取ることができます。


・デスクトップ版(Mac、Windows)

ダウンロード >>

・スマホ・タブレット版(iPhone,iPad等)

[iOS, Android]

ダウンロード >>

✏️3. MacOSのメモ帳

 プログラミング作業にMacを利用している方には、Macに標準搭載されているメモアプリケーションも、個人でプログラミングノートを作成する上では十分な機能を備えています。

プログラミングノートのススメ 意味と重要性とは?

 筆者の私も普段の技術メモはこちらを使っています。普段より馴染みのある使い心地は、本来の目的であるプログラミング学習に集中することができるので、利点と言えますね。Macにデフォルトで入っているアプリのため、ダウンロードは必要ありません。

文字のサイズ変更、画像や写真の挿入、表の作成と、プログラミングノート作成に必要な機能が揃っています。

また、MacOS Montereyからはクイックメモ機能が追加され、Macの画面右下にカーソルを持っていくとピョコッと正方形のブロックが出現し、ブロックをクリックすることですぐにクイックメモにアクセスすることができます。ちょっとした内容をすぐに書き残しておきたい場合に便利な機能ですね。

・デスクトップ版(Mac)

ユーザーガイド >>

・スマホ、タブレット版(iPhone/iPad)

ユーザーガイド >>

 こちらのMac標準メモ帳、デフォルトで大文字補正や文法補正などの機能がオンになっているのですが、使う方によっては少々お節介な機能となる場合があります。

デフォルト補正機能をオフにしたい場合は、こちらの記事が参考になりますのでどうぞ。

Mac標準メモ帳|煩わしい補正機能をオフにする >>

3-2 英語のページは翻訳機能を使って読み解く

 プログラミング技術の学習において、参考となる情報は日本語よりも英語の方が圧倒的に豊富です。どこの国でも、実際に書いているプログラム内容や発生するエラーは万国共通なので、英語圏の人口を考えると当然といえば当然ですね。

 エラーや技術内容によっては、日本語では有益な情報を探すことが難しく、英語の情報を参考にすることも必要になってきます。参考情報として一番信頼すべきである、公式ドキュメントなどの一次情報も、内容は英語である場合が多いでしょう。

 英語が苦手な方にとっては、サイトページにアルファベットが並べられているだけで拒否反応が出てしまうかもしれませんが、安心してください。今は優秀な翻訳機能が多数存在します。プログラミングノートを作っていく過程で、英語の参考情報からインプットすることにも慣れておきましょう。

 よく利用されている翻訳サービス「DeepL翻訳」をご紹介します。

DeepL翻訳

 現在さまざまな翻訳サービスが提供されていますが、特に精度が高く、自然な文章に翻訳できると評価が高いのが「DeepL翻訳」です。

DeepL 公式
DeepL 公式 

ブラウザ

https://www.deepl.com/ja/translator

Mac, Windows,iOS

https://www.deepl.com/ja/app/

android

https://play.google.com/store/apps/details?id=com.deepl.mobiletranslator&hl=ja&gl=US

 Google Chromeで利用できるGoogle翻訳でもある程度の意味を汲み取ることができますが、DeepL翻訳の方がより自然な日本語翻訳ができる印象です。エラー文を適切に読み取る際にも重宝します。


 最近ではSafariの翻訳機能も以前より向上しているようです。いくつか試してみて、自分の肌に合う物を探すと良いでしょう。

・Safari(翻訳)

https://support.apple.com/ja-jp/guide/safari/ibrw646b2ca2/mac

4. ノートにはどんなことを書くか

4-1 エラーの対処方法とその記録

 エラーが発生した際には、様々な方法を駆使して問題解決を試みると思います。そこでプログラミングノートの出番です。

 エラー解決に至るまでの思考や調査内容を、ノートに自分なりの言葉でいいのでまとめてみましょう。発生したエラーの原因はどこだと考えられるか、それに対してどのように調査を行ったか、自身が解決に向けて辿った仮説と検証を言語化し、整理してまとめていきます。

 

 下記は筆者がエラー対処の過程をノートにまとめた一例です。エラーの要点となる部分はスクリーンショットなども活用して貼り付けながら、自分の思考過程と共にノートに書いていきます。

プログラミングノート(メモ)の取り方!現役エンジニアおすすめの学習に最適なメモアプリやツール
プログラミングノート(メモ)の取り方!現役エンジニアおすすめの学習に最適なメモアプリやツール

 この作業を行うことで、発生したエラーの原因と対策が整理され、エラーへの理解が深まります。また、今後同じようなエラーが発生した際に、再び検索と調査の海に繰り出すことなく、自分の頭の引き出しから適切なエラーハンドリングを取ることができるようになってきます。(私自身まだまだです)

 もちろん、エラーハンドリングだけでなく、新しい技術で学んだことをまとめるのも良しです。

 前述でも念を押したように、インプットしたことを書き残しておくことが本質ではなく、思考過程の整理とアウトプットにこそ意味があります。常に意識し、学習の効果を上げていきましょう。

4-2 自分がよく使う手順や注意点をまとめたTips

 Gitでの操作手順や注意したいこと、アプリ開発でポイントになるようなことをメモするといいです。

自分の言葉で「ここは間違えるので注意!」や「ここは本当に重要なところ!!」のような書き方をすると、より理解できるはずです。

プログラミングノート(メモ)の取り方!現役エンジニアおすすめの学習に最適なメモアプリやツール

4-3 技術動画やスライドの文字起こしと解説を自分で作る

 AppleのWWDCでは、重要な技術要素が公開されています。また、勉強会での技術資料やネットでは解説動画がたくさんありますが、それを文字起こししたり、スクリーンショットでメモを書いたりして、整理します。

聞き流すだけでは理解できませんが、整理する作業を実施することで、驚くほど理解ができるようになります。

プログラミングノート(メモ)の取り方!現役エンジニアおすすめの学習に最適なメモアプリやツール
プログラミングノート(メモ)の取り方!現役エンジニアおすすめの学習に最適なメモアプリやツール

4-4 書籍の図を活用したり、自分で図を書く

 書籍にある図やネット検索したフロー図を画像として貼り付けて活用します。さらに自分でコメントを入れたり、追加で図を描くことで、文章が立体的に理解できるようになり、より実践的に開発ができるようになります。

また、このように「図解化する」という能力は、「設計をする」ときにとても重要になります。プログラミング初心者のときから、落書きでもいいので、フロー図のような「図を書く」訓練をしましょう。

プログラミングノート(メモ)の取り方!現役エンジニアおすすめの学習に最適なメモアプリやツール

5. ノート作成時に気をつけること

プログラミングノートのススメ 意味と重要性とは?

5-1 ノートを公開する際の著作権の注意

 作成したプログラミングノートをQiitaやZenn等を、外部が見ることのできる媒体に自分のノートを載せる場合には、著作権の侵害に該当しないか注意しておく必要があります。

 私たちが日々参考にしている情報には、その資料を書いた人物がいて、情報内に記述されている文章、解説図、画像、それらの著作権を執筆した著者が持っています。

❌引用元を明記せずにコピー&ペーストで転記をする行為は、著作権の侵害となり違法に当たります。

 これは、他の人の記事を全く参考にしてはいけないということではありません。

 今、ネットに発信されている情報のほとんどは、さらにどこかの情報を参考にして書かれたものです。ただし、外部へ発信する際にはいくつかのルールが存在するので、しっかり守る必要があるということですね。

 著作権管理センターに記載されている記事を添付しておきます。詳しい注意点については下記の情報を参考にしてみてください。

インターネットを使用するときの著作権 >>

著作物を自由に使える場合とは? >>

まとめ

以上、今回はプログラミングノートについてでした。

要点を改めてまとめておきます。

・インプットだけでなく「アウトプット」を意識する

・便利なツールを使って効率的に学習をまとめる

・ノート公開時には著作権に注意する

初めは難しく感じるかもしれませんが、コツコツとノートにまとめるのを続けることで、高い学習効果を実感できると思います。

じっくり自分のペースで取り組んで、何より楽しんで、プログラミングと付き合っていきましょう!

\  SHARE  /

Twitter
Facebook
Email

✏️ アプリ開発が学べる勉強会を開催中! 

CodeCandyではアプリ開発を学ぶための勉強会を定期開催しています。
学習する習慣を身につけたい、他の参加者と作業したい、アプリ開発の基本をマスターしたい、という方のために無料で学べる勉強会です。
グループにメンバー登録して頂くと、イベント開催時にメールで通知されます。

▶️グループのメンバーとして参加する

徹底した基礎学習からマスターするiPhoneアプリ開発集中オンライン講座開講!

本書「iPhoneアプリ開発集中講座」を執筆している現役エンジニア講師陣が直接に指導!
基礎、課題実習で実践力を鍛えて、オリジナルアプリ公開までチャレンジ!
充実した転職支援もあるので、エンジニアへ転職したい人にもおすすめです!

まずは、現役エンジニアに相談できる無料相談をご利用ください。

\ Official /

By 中川 賢亮

2022年2月よりSwift学習を始め、4月からiOSアプリ開発オンラインスクール「CodeCandy」にてアプリ開発を学ぶ。 2023年10月に個人開発アプリ「unico」をリリース。現在はアプリの機能アップデートをしながら、スクール運営の技術ブログの執筆や、出版書籍の入稿チェック・デバッグにも携わる。