はじめに
こちらは鈴鹿高専 Advent Calendar 2021の8日目の記事です。
今年を振り返ると、ネイティブアプリやwebアプリ、サーバー構築、更にはデザイン系と色んな技術について浅く学んでたな~、と
色々学んで来て自分なりの効率の良い習得方法が分かった気がするのでそれを共有したいと思ってこの記事を書きます、役に立つかは(ry
全て個人の感想や意見です、間違ってることもあると思いますが気にしないでください
では順番に説明(?)をしていきます
調べ方
まずは調べ方についてから
「アプリを作りたい!」「サーバーを立てたい!」「premire proを使って動画編集をしたい!」こう思っても初めて挑戦するときはもちろん何も分からないはずです
そこでまずすべきことは、「リファレンスを読む!」「公式チュートリアルを読む!」「ソフトの説明書を読む!」
何を思ってかqi○taとかyh○o知恵袋とか、そこから調べ始めるのはやめましょう(いないとは思うけど某青い鳥で調べ始めるのは論外)
公式が配布しているものというのはとても素晴らしいものです、それなのにqi○taとかyh○o知恵袋とかを始めから読むのは...
英語の資料が多いですがほとんどのリファレンスは簡単な英語です、全部訳せなくても雰囲気でなんとなくの意味は理解できると思うのでぜひまずは英語の公式の資料を読みましょう
え、英語が全く分からない人がいる???まさかそんなわけが
まあそういう人はぜひwebブラウザ上で右クリックをしてみてください、日本語に翻訳とかいうボタンが出てくるのでそれを使いましょう(ただ細かいニュアンスとかを察するには適してないのでできれば単語ごとに調べましょう)
公式資料を見てもわからない...
公式の資料を見ても分からないときはもちろんあると思います、そういうときはまずはgoogleで、英語で検索をしましょう
世界の人口は78億でそのうち英語人口は17.5億人います、さて、日本語人口は...?はい、1億人ですね、ですから日本語で検索をせずに英語で検索をしましょう、単純計算で記事の量は17倍以上です
英語で検索しても分からない…
英語で検索しても分からない時はあると思います
そういう時は検索ワードが適切かを確認しましょう、具体的すぎても抽象的すぎても求めている記事は出てきません
程よく絞ったワードで検索できるよう心がけましょう
それでも分らない…
それでも分らない、そういう時は技術的に不可能だと諦めましょう
どう調べても出てこないのに諦めずに調べ続けるのは時間の無駄です、ですので代替ツールやSDK、ソフトがないかを調べましょう
技術の習得手順・方法
続いては実際に調べながら習得するときの手順・方法について
習得したい技術によっては公式がチュートリアルを用意している場合があります
興味だけで「この技術を学んでみたい!」ということであればチュートリアルをやっておけば良いと思います
しかし作りたいものが定まっていたり、学ぶ目的がハッカソンやコンテストに向けての開発などの時は必要なことを絞って調べましょう
例えば、ReactでuseEffectしか使わないのにuseContextなども学んだり…
学んでおけば後で応用できる可能性もあります、しかし期間が決まっている開発では効率が落ちて間に合わない可能性が出てくるので必要最小限のことを先に学んで実装できるようにしましょう
一番の目標は使うツールをマスターすることではありません、プロダクトを完成させることです(ここ大事)
勘違いしてはいけないのはこれはライブラリやツールに関してだけです、言語を身につけるときには、型・条件式・同期・非同期・関数やクラスの定義などの基本的な部分は最低限マスターしましょう
コピペでも良いのでコードを書いて部分的に実行しながらやると簡単に身につけられると思います、達成感も得られるのでモチベーションも維持しやすいです
習得しようとしているものと似たようなものを既に習得している場合、習得済みのものに置き換えて考えてみると意外とすんなり入ってきます、特に言語仕様を理解する際はこうするとかなり楽です
その他で大切なこと
学んだログを残そう
折角習得した技術です、何かしらでログを残しましょう、後で分からなくなった時に学んでいった過程を思い出せるのでめっちゃ役に立ちます
残し方はなんでも良いです、開発系であれば作ったプロダクトをgitに置いたり、デザイン系であれば作ったものや製作中のソフトのスクリーンショットなどをタグをつけて青い鳥に投稿したり…(不特定多数の人が見れる場所に投稿すると自己顕示欲が満たせるかも???)
gitに置いておくときは、APIkeyなどの公開されてはいけないものが入っていないのであれば、パブリックリポジトリにしておくと他の人もそれを見て学べるのでおすすめです
(大見出しの下に小見出しも書きましたがこれだけです)
まとめ
色々なスキルを身に着けていくことはとても楽しいことだと思います
たとえば開発がメインでも、デザイン系の分野も知っていれば面白いアイデアが湧いてくるかもしれません
視野を広げるためにもぜひ他の分野のスキルも身につけてみませんか?