前書き
対象者
プログラミング言語の基礎文法を学び終えた人、学んでいる人
読む前に
この記事では、こんなものがあるよと紹介するに留まります。
紹介したものがどんなものかは自分で調べてみてください。
本文
Git / Github
複数人で開発を行うとき、どのようにコードを共有すれば良いか悩みませんか?
コードを共有する場合のベストプラクティスは間違いなくGitとGithubを使用することです。
GitとGithubを使いこなせるようになると開発の効率がグッと上がります。
また、一人で開発を行うときのコード管理にも役立ちます。
Git入門
Github
リーダブルコード
自分が書いたコードを見返したときに、コードの意味が分からないときはありませんか?
高い品質のコードを書くときに重要となる項目として可読性という概念があります。
可読性とは、コードの読みやすさです。
可読性が低いコードを書くと、少し先の自分や一緒に開発している仲間が困ってしまいます。
可読性が高いコードを書くための手法がリーダブルコードという本に書かれています。
本を買ってみる、もしくはネットの要約記事を探してみてください。
リーダブルコード
リーダブルコード要約
クリーンアーキテクチャ
自分が書いているコードが複雑になっていると感じることはありませんか?
複雑になっている原因として、コードが無作為に書かれていることが大きいです。
クリーンアーキテクチャとは、開発を進めていく上で発生する多くの問題を防ぐための手法です。
書籍やQiita記事が出ているので是非購入するか検索してみてください。
もしクリーンアーキテクチャが難しいと感じたら、先にオニオンアーキテクチャを調べてみたい方が良いかもしれません。
クリーンアーキテクチャ書籍
実装クリーンアーキテクチャ
アルゴリズム
自分が開発したソフトウェアがモッサリしていたことはありませんか?
コンピュータはあらゆる計算を一瞬で終えることが出来る万能器具ではないので、コードによっては処理を終えるまで時間がかかってしまいます。
軽いコードを書くには、計算量を意識したアルゴリズムを組む力が必要になります。
まずは、全探索から検索してみてください。
また、AtCoderなどの競技プログラミングコンテストに参加してみるとアルゴリズム力がグングン伸びていきます。
AtCoder
全探索アルゴリズム入門
セキュリティ
無意識に情報を流出してしまった経験はありませんか?
ソフトウェア開発において、セキュリティは重要視すべき項目です。
セキュリティを知るには、CTFへの参加を推奨します。
CTFとは、実際にハッキングを行い隠された情報(フラグ)を取り合うゲームです。
また、セキュリティの最新技術を調べてみるとより興味が湧いてきます。
ゼロトラストネットワークや仮想通貨あたりがおすすめです。
CpawCTF
終わり
今回は、初心者の私が言語学習では学べない知っておくべき概念をまとめてみました。
深夜に書いたので後から項目を追加するかもしれないです。
もし私の理解が間違っている部分などあれば教えていただけると嬉しいです。
この記事の内容が良いと感じて頂けたらLGTMお願いします。
書いた人
情報系高専生3年かつWebフロントエンジニアをやってます
Twitter: @lockdef
Profile: lockdef's profile