🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

解決済

12回答

2831閲覧

プログラミング用メモ・ノート等の管理について

fermat

総合スコア183

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

2グッド

9クリップ

投稿2019/11/13 05:57

直接的にスクリプトが分からない等の問題ではなく申し訳ありません。
皆さま、表記の問題をどのように解決されているのかお伺いしたく質問しました。

素人ながらプログラミングを始めて早3年が経ちました。
①テラテイルで教えていただいたことや、ネット・書籍で得た知識
②自分なりにスクリプトを書いている途中で工夫したこと
③プログラミングで発生した問題 などなど
これらをノートに日記のように記録しながら今に至るのですが、
今更ながら、ノート=アナログの時系列記録なので、
冊数が増えるごとに、年数が経つごとに、言語が増えるごとに
非常に使い勝手が悪くなり困っています。

過去に自分が書いたスクリプトを自分で読めない。

どうやって作ったかノートを参照する。

いくつか訂正もあり、日付が飛んでおり、記録が分散している。

結局分からないので、調べなおし、勉強し直し・・・

プログラミングを学んでも覚えきれなくて、こんな事態が増えています。
C++などは、ビルドエラーが出てしまうのでコメントアウトを控えていることもあり、
過去に作りすっかり忘れてしまうともうカオスです。

例えると部屋が汚くごっちゃごちゃのような状態です。
というわけで、リフォームを計画中です。
体系的に今まで得た知識を整理し直したいと思っています。

考えたのは
①wordで目次を作り、ノートを書きなおす。
②オフラインブログなるツールで日記形式を維持しつつ、カテゴリ仕訳する。
③アナログ維持でバインダー形式のノートにして、
C++・R言語・windowsレジストリ…といった具合に仕切り分けする。
④自分用のchmファイルを作る(実際のところchmの作り方はよく分かりませんが)
以上です。

現在、①wordで目次を作り、ノートを書きなおす。という作業を始めてみたのですが
使い勝手が微妙で骨も折れ、どうすべきか悩みの岐路に立っています・・・

皆さまはどのようにプログラミング用メモ・ノート等を管理されていらっしゃいますか?
そんなものは無いという方もいらっしゃるかと思いますが、何かこの状態を解決する手がかりや自分はこうやって学んだことを残していますという実体験等ありましたら、教えていただきたくよろしくお願いします。

set0gut1👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答12

0

記録を残していくこと自体は素晴らしいと思いますし、自分用のオフライン情報であれば他人がとやかく言うことでも無い気はします。

過去に自分が書いたスクリプトを自分で読めない。→ どうやって作ったかノートを参照する。
C++などは、ビルドエラーが出てしまうのでコメントアウトを控えていることもあり、過去に作りすっかり忘れてしまうともうカオスです。

一方で、上記の表現から推測した無責任なアドバイスですが;

  • 過去に自分が書いたプログラムを「読めない」のは何故ですか?なぜそのように実装したのかを思い出せない?適切なコメントが不足していたり、変数名・メソッド名などが不適切だったりしないでしょうか?
  • ソースコードのバージョン管理ツール(gitやsvnなど何でもよいですが)は適切に利用していますか?コミット粒度やコミットメッセージ、機能単位のブランチ管理などは、後から歴史を振り返るのに必要十分でしょうか?
  • 情報をオンラインでオープン(個人ブログでも、Qiitaのようなプラットフォームでも)にして良いなら、検索性の観点からも利便性が向上すると思います。副次的には、誰かの役に立つかもしれませんし、他人からアドバイスがもらえるかもしれません。
  • フロー型情報としての作業記録(文字通りの"ログ")と、設計や考察といったストック型情報の整理を区別していますか?前者は記録それ自体に意義がありますが、後者は後で見返す前提ですから見つけ易いことが重要です。

個人的には、フロー型の作業ログは意識的にはあまり残さない/コミットログで十分かなと思っています。一方でストック型の情報としてはブログやQiitaを利用しています(オープン情報のみですが、個人的なものであればどうせオープンなので…)

投稿2019/11/13 06:31

編集2019/11/13 07:37
yohhoy

総合スコア6191

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fermat

2019/11/14 03:37

「読めない」のは、ご指摘された点すべてが当てはまります。 詳しい状況としては、昔のスクリプトが下手で…設計や関数を忘れて…などです。 ノートのリフォームに合わせて、変数名の変更やスクリプトの添削も課題になっています。 一人でプログラミングを続けており、gitについて全く無知でした。 こんなにも便利なものがあるなんてと、現在gitについて調べ始めています。 ブランチ管理やコミット機能を知り、個人の作業記録としても有用なのではと期待しています。 フロー型・ストック型という言葉も思考の整理になりました。 まだまだ誤った理解も多く、教える側というより教わる側ですが、ブログへのデビューもいつかは…! 色々教えてくださり、ありがとうございます。
yohhoy

2019/11/14 04:34 編集

バージョン管理システムは個人開発でも有用ですし、イマドキは git が主流ですから慣れておくとよいですね。 オープン情報であれば GitHub を使ってみると良い経験になるかと思います。いろんな方が、ちょっとした個人レベルの便利ツールなどを置いてたりします。(ただし秘密鍵やパスワード、個人情報といったセンシティブ情報の扱いだけは気を付けてください) ブログやGitHubなど何にでも言えますが、自分で決めたあるレベルに到達したら始めるよりも、まずは「ちょっと試してみるか」というスタンスで十分と思います。プログラミングそれ自体も「やってみてる」から始めたはずですよね。
fermat

2019/11/14 11:47

>プログラミングそれ自体も「やってみてる」から始めたはず そうですね、本当にそうです。根性なしなので続くと思っていませんでした。(まぁ成長はとても遅いですが笑)悩むより、試してみることからですね。自作うるう年判定ツールなどを GitHubに設置してみようかと思います。gitも使いこなさねば。頂いたアドバイスのおかげで、この悪循環のプログラミング環境から脱することができそうです(^^)/
guest

0

質問の内容からすると、まずはevernoteを導入するのが好ましいように思いますね。写真も入れられるし、スマホからなら音声入力もできる(最近の音声入力は超ベンリ)。

ただし、重要なのは、ノートには書き込んだ日付を必ず入れておくことです。何かを後から追記したときも、追記するごとにその日付を必ず書き添えておきます。
私の経験から言えば、最後に当てになるのは日付だけです。キーワードでタグ付けとかフォルダに分類とかは、あまり当てにならない。今日の自分が重要と考える事項と一ヶ月後の自分が重要と考える事項はたいてい異なっているからです。日付が残っていれば、「確か夏頃にXXについて悩んでいてノートを残したはず」などと記憶から結構行き着けるものです。

これを「まとめ直す」とすれば、wordよりはやはりHTMLベースがいいでしょう。ソースはmarkdownで作ってもいい。これならマシンを変えたらソフトが使えなくなって読めなくなるなどという懸念もありません。最悪でもgrepできます。他の人と共有できそうだと思ったらQiitaとかに上げればいいと思いますし、数多くの文書を体系化したいなら一人wikiに発展させる手もあります。

投稿2019/11/13 08:00

KojiDoi

総合スコア13692

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fermat

2019/11/14 03:40

日付はやはり必要ですね。日記形式で書き貯めていたため、夏頃に作ったなという記憶やファイルの更新日時を手掛かりにノートの記録を追ったことが何度かあったんです。設計やスクリプトの解説に今まで通り日付は残そうと、ご回答を読んでハッと思い直しました。過去に何度か設計を訂正した箇所があるのですが、日付を残すとその経緯がはっきりしそうです。 markdown→HTMLはマシンを変えたときの懸念が無いって大きなポイントですね。ネット上への公開も視野に使いやすそうです。それとは対照的に、体系化を進めて一人wikiに発展ってこれも何だか面白そうです。evernoteで記録を取り、markdownでまとめてなどの使い方も検討したいと思います。ありがとうございます。
guest

0

こんにちは。

知識を記録する際には、全文検索できると大変有用です。多少管理がいい加減でもキーワードさえ思い出せれば目標の情報へ辿り着けますから。
フォルダー毎にある程度分類して当該資料をメンテナンスしやすいようには心がけているのですが、資料の数が増えてくると結局どこにしまったか思い出せなくなるので全文検索だよりです。

ツールが対応しなくなるとアウトなので、私は(恐らく永遠に使えるだろう)生テキスト・ファイルで管理しています。秀丸エディタアウトライン機能で目次を付けています。

投稿2019/11/13 06:58

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pepperleaf

2019/11/13 13:50

> ツールが対応しなくなるとアウト 実は、プレーンテキストという概念がすでに怪しくなっているとか。 でも、書くという事は、記憶を強化する側面もあるとか。 凝った事をしてもその内、行方不明という事で、ここに+1 しときます。
fermat

2019/11/14 03:38

「全文検索」「ツールが対応しなくなるとアウト」重要なことを教えてくださり、ありがとうございます。 今までノートの日付やページでこの辺りに書いてあるはず…などど記憶検索していたので、デジタルに書き直すと今までの探し方ができなくなるため抵抗がありましたが、全文検索できれば大丈夫と移行する決意が固まりました。 wordは2010Ver.で古いので開けなくなると困るなと、環境が変わっても残る形式でと考えを改めました。時代の変化が目まぐるしいときほど簡明なものが光ったりしますね。秀丸にアウトライン機能があるなんて、地味だけど便利で使ってみようと思います。作業中にサッとメモを残したいことが多く、そのシンプルさが生きそうです。(というかChironian先生が使っているものを真似したい←)
fermat

2019/11/14 04:00

「凝った事をしてもその内、行方不明」って自覚ありのワードですね。気をつけねば・・・
guest

0

学んだ事はboostnoteでメモするようにしています。

ところで、質問文に気になる部分があります。

C++などは、ビルドエラーが出てしまうのでコメントアウトを控えていることもあり、

たまに、日本語に対応していないコンパイラがないわけじゃないですが
ビルドエラーになってしまうのはC++文法に対する理解が甘いのではないでしょうか?

私は長く残るコードを書く時は1週間後の自分がコードを読んだ時にやっている事を理解できる程度にコメントを入れる事を考えています。

投稿2019/11/13 13:46

asm

総合スコア15149

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fermat

2019/11/14 03:41

markdownの次はmarkdownエディター探しだとVSCodeやAtomをあたっていましたが、 boostnoteって何だろうと教えてくださったものを調べ始めました。 ローカルに対応していて、起動が速くて、進捗プログレスバーがあって…良すぎな機能が多くて気になっています。 おっしゃる通り、C++への理解が甘いです。。 独学なので…と理由になりませんが、気づかない・諦めざるを得ない部分もあって、 ネットの皆さまのおかげでここまで頑張って来れましたが、一人で学ぶことに限界も感じているこの頃です。 コメントアウトでビルドエラーが出た際、しっかり原因を見極めようと思います。 気にかけてくださって、、すみません。 1週間後の自分っていう視点もとても勉強になりました。 コメントは、書きすぎても後々読み辛くなったり、無いと調べ直しでそれが手間なのですが、 こういった心がけで程よく残していきたいです。ありがとうございます。
guest

0

メモとかであればevernoteとかそういうアプリ・サービスでよいのではないでしょうか。
プログラム書く必要は出るだろうし、手書きよりも良いかと思います。

図とかは手書きして写真取るなりスキャンするなりで貼り付ければいいですし、
カテゴライズも柔軟性があるアプリやサービスは多いです。

投稿2019/11/13 06:21

dice142

総合スコア5158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fermat

2019/11/14 03:35

evernote、世の中に随分浸透しているようですが、疎くてこれも初めて耳にしました。 ノートは、フローチャートで設計していたり、図でプログラミングの仕組みを説明している部分もあるので、写真を取り込める点がとても良いなと思いました。これから実際使ってみて検討しようと思います。ありがとうございます。
dice142

2019/11/14 03:59

あ、誤解がないように補足しておきますが、 全てevernoteで良くないですか?という回答ではないです。 evernote以外にも便利なアプリやサービスがあるので、併用してデータ管理した方が良さそうという回答です。 頭に残りやすいのは手書きですが、振り返りやすいのはデータだと思っているので 状況に合わせて適切な方を、あるいはいろいろ併用することをおすすめします。
fermat

2019/11/14 04:11

使う場面によって色々なアプリやサービスを併用する方向で行こうかと、私もそのように検討しています。 つい24時間前まで、wordかchmかなどと迷っていたのが嘘のようです笑 教えていただいたことを生かして、自分に合ったアプリも探してみようと思います(^^)
guest

0

なぜアナログで管理しようとしたのでしょうか・・・
ノートなんていちいち持って歩いてられないですよね。

Googleのスプレッドシートにまとめようとかは考えませんでしたか?
スプレッドシートならばネットにつながる環境ならば携帯でも閲覧可能ですし、
コードもコピペで使えますし、シートで言語ごとに分けられたりして便利です。

人との共有機能もあるので、現場の皆で共有して知識袋としても使えます。

wordはノートにまとめているのと変わらないと思います。
時間の無駄でしょう。

投稿2019/11/13 06:11

azuapricot

総合スコア2341

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fermat

2019/11/14 03:34

何故アナログを選んだ…と過去の自分自身に尋ねたいです涙 Googleのスプレッドシートは、スマホでも読めるので、外出中に気になったら読み直せるなど生活に溶け込んでいきそうですね。他の方も良くないっておっしゃっていますが、やはりwordはやめようと思います。ありがとうございます。
guest

0

①wordで目次を作り、ノートを書きなおす。
②オフラインブログなるツールで日記形式を維持しつつ、カテゴリ仕訳する。
③アナログ維持でバインダー形式のノートにして、
C++・R言語・windowsレジストリ…といった具合に仕切り分けする。

そんなことをするぐらいなら**「OneNote」**をお勧めします。同様のツールには「Evernote」がありますが、OneNoteはWindows10なら標準で付いているのですぐに試せます。機能的にもたぶん大差ないと思いますので、Windows使いなら標準のOneNoteで事足りるでしょう。
スマホにはスマホ版を入れています。書いた内容はPCと共有されるので、日常的なメモでもよく使っています。

コードの類はそれと判るようなプロジェクト名にして、所定のフォルダーにまとめてバックアップも兼ねてGit(以前はSubversion)で管理しています。Tips的なものとかHowTo的なものとか。コメントは1年後に見ても思い出せるように書いていますね。

投稿2019/11/13 15:52

catsforepaw

総合スコア5944

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fermat

2019/11/14 03:42

OneNoteとEvernoteって似ているんですね。windows使いなのに、こんなに便利そうなソフトを使ったことがほとんどありませんでした。今までのメモ・ノートを実際に書き込んで、OneNoteの使い方を覚えようと思います。 gitってチーム用のサーバー?ぐらいの認識でしたが、こうして実際に使用しているお話を伺い、理解が深まりつつあります。今までのコードの類をまとめてバックアップって必要な機能だなと思いました。大幅に書き直した後で、やっぱり昔の方がよかった、すぐ戻せない…と時間のロスもあったので、こういったソフトも使い方を学んで、自分のプログラミング環境を修正していきたいです。ありがとうございます。
guest

0

物と用途によって違いますけど基本的には

  • OneNote ( Windows版, iOS版 )
  • Type ( iOS版 )
  • メモ ( iOS版 )

ですかね

投稿2019/11/13 12:46

kyoya0819

総合スコア10429

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fermat

2019/11/14 03:41

OSがwindowsなのでOneNoteって少し知ってます。直感的でアナログとデジタルの掛け合わせのように記録を残せるので便利ですよね。文書に下線を引いてコメントを残せるOneNoteの機能は、デジタル移行で中々捨てがたいものになっています。ご回答で便利なソフトを思い出せました。ありがとうございます。
guest

0

未だに模索中ですけど、いくつかのツールを併用しています。

・Evernote(記事クリップ)
Markdown Preview Enhanced を使用してドキュメントを作り、適当なディレクトリで整理(設計系が多い。手順書とかも)
・検証用コードの一部は github と heroku を連携
・Qiita の下書き

等々

まとめたいですねぇw

投稿2019/11/13 07:52

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fermat

2019/11/14 03:39

私の何千倍もプログラミングに詳しいであろう方もメモに模索中って、もはやそのメモは出版できるレベルと違うんだろうかとふと思いました。 Evernoteは記事クリップ用って、便利そうで同じように使ってみたいです。 markdownもMarkdown Preview Enhancedを使ってプレビューすると良いと勉強になり、これも同じように環境を整えなくてはと思っています。設計・手順は、まさにまとめたいものなので、先人の知恵を借りmarkdownが最有力になりました。 色々とツールを使い分けていらっしゃるとのことで、4つの例を教えてくださり、ありがとうございます。
guest

0

全て記憶に任せます。
メモを取ればゴミになるし、そもそもどこにあるのか分からなくなります。
記録に残せば更新できずに、誰のためにもなりません。

しかし、他の皆様が熱心に記録されたものがWeb中にあります。
確からしい順位でググれてしまいます。
新しい知識もサッと手に入るし、一石二鳥!
自分の記録の手間も整理も更新からも自由になれます!

ただし、ほんとすぐ忘れますし、理解した内容があまり整理されません。

投稿2019/11/13 06:59

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fermat

2019/11/14 03:38

おお、いらっしゃいましたね、全て記憶派の方がw しかしながら、ネットに頼るばかりとは言え、新しい知識が手に入るというのは大きいです。便利なソフトがアップデートされていたり、ライブラリが書き換えられて謎のエラー問題が解決していたり、日進月歩を感じます。自分が書き残すという手間からも解放されますし、これもまた良いなと思います。ありがとうございます。
退会済みユーザー

退会済みユーザー

2019/11/14 03:43

コメントありがとうございます! 冗談で書いてるので気になさらず笑
fermat

2019/11/14 11:27

いえいえ、こちらも長々とした質問に目を止めて下さって感謝です~
guest

0

やること多いのでまとめるの大変ですよね。自分は

  • コード: GitHub上に置いておき、試行錯誤の履歴はcommit logかPull Requestのコメントに残す
  • コード以外のナレッジ: ブログとかに書いて公開しておき、必要になったときに自分の記事をググる

としています。

投稿2019/11/13 06:22

set0gut1

総合スコア2413

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fermat

2019/11/14 03:36

GitHubにブログとオンライン派ですか。全てネット環境で情報の出し入れができると作業効率も良さそうです。いつもお世話になってばかりのGitHub・ブログなので、これらを立ち上げてるって凄いなと思いました。 commit logかPull Requestのコメントに試行錯誤を残せるのは良いですね。スクリプトを消して後悔してゴミ箱を探すこともあるので、私にはGitHubって敷居が高いけどチャレンジしてみたいです。ありがとうございます。
guest

0

ベストアンサー

ちょっとした作業時のメモとかは
昔はchmを作ってましたが,その時に使ってたフリーソフトがWin7とかで動かなかったのを契機にやめました.
今はmarkdownで書いて,pandocというソフトでhtmlに変換してます.

投稿2019/11/13 06:14

fana

総合スコア11990

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fermat

2019/11/14 03:35

候補にchmが上がっていましたが、ご回答を受けてこれは無しかなと考え直しました。 markdown・pandocを少しですが調べると、長く使えそうで機能が揃っていて、今困っていることが解決に向かいそうです。 markdownって今のところ全く使い方が分かりませんがhtmlに変換して使うんですね。 使用感は、テラテイルで質問を書くときのエディタみたいなのかな?と想像しています。少しmarkdownを触ってみて、様子を見てみようと思います。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問