
readable_code::CMake - FancyにC++ Projectを作成する
captaindev
C ++の最大の障壁は何ですか?私が思ったときはCMakeではないかと思います。初めてC ++を起動したとき、ソースファイルを1つビルドするのも難しくしたCMake…私と一緒に壊したのでしょうか?この講義と一緒なら、あなたもCMake Master!
初級
C++, cmake, software-design
C++ほど開発環境を設定するのが難しい言語がありますか?歩き回る情報に沿って開発環境を設定してみるが、ビルド一度するのがなぜこんなに難しく複雑なのか… この講義を通じてOS、プラットフォームに関係なく、いつでもどこでも簡単にC++開発環境を設定する方法を学びましょう!


学習した受講者のレビュー
5.0
foxrose
良い講義ありがとうございます。
5.0
choiseonmun
VSCodeでC++を始めようとする入門者の方におすすめします。常にWhyを教えてくれるのが良かったです。残念な点は(1)スライドで強調する際、複数の色よりも単一色を使用する方が目にもう少し見やすかったと思われ、(2)Windowsでの設定は見せてくれないという点(WSLに慣れていらっしゃるなら無関係)(3)授業ノートとしてRepoリンクを付けてくれていたら利便性の面でより良かったと思います。
5.0
fain9301
良い講義ありがとうございました。
OSに関係ないC++開発環境の設定
Version Control System(VSC、Github)の設定方法
C++ 開発効率を高めるためのコーディングフォントの設定方法
C++ 開発用の Integrated Development Environment(IDE, Visual Studio Code) の設定方法
スクリプトによる開発環境設定の自動化
C++開発に必要な必須開発環境の設定方法を学びます!
C ++の開発はしたいのですが…環境設定が複雑すぎますか?
インターネットで一箇所集まっている資料はないか探してみてもここが違ってそこが違って...
このレッスンでは、長い時間の現業で開発し、積み重ねたC++開発に必要なすべての内容をお届けします!
Github 一度使ってみたら設定しなければならないのがなぜこんなに多いのか…
簡単にCLIを介してGithub関連の権限を一度に設定してみてください!
C ++を開発しようとしましたが、Windowsで異なり、Ubuntuで異なります...
OSに関係なく適用可能な一括開発環境の設定方法をお知らせします!
OSに関係ないC++開発環境の設定方法(MacOS/Ubuntu)
Version Control System(VSC、Github)の設定方法
開発効率を高めるためのコーディングフォントの設定方法
C++ 開発用の Integrated Development Environment(IDE, Visual Studio Code) の設定方法
スクリプトによる開発環境設定の自動化
開発環境
Compiler
ビルシステム
Version Control System
IDE
Coding Font
Automation Script
オペレーティングシステムとバージョン(OS):macOS、Ubuntu
使用ツール: Clang、CMake、Github、Visual Studio Code (VSCode)
PC仕様:C++ビルド可能なすべてのPC
大学院研究室に初めて入って実装されているソースコードを見ながら聞いた自壊感がまだ覚えています。 「あ…どうしてどんなに見ても理解できない?」当時は私が足りなかったので、そんなことを知っていました。その時から10年以上の時間が経ちました。今は分かりました。私は問題ではなく、コードは問題でした。
多くの開発者がコードという名前のパスワードを作成し、「一度戻る必要があります!」と叫んでいます。しかし、これらのコードはすぐに翡翠はネックラインになって私に戻ります。迅速な実装のためにコンベンションを合わせずに実装したコードと乱発なコメントは、コードを読み取るのに混乱を招き、大きな考えなしに作っておいたインターフェースは、後でどのデータを送受信するためであるかすら薄れます。このように編まれたコードは、時間の経過とともに誤った結果値が発散するように、誰も読み取れないコードになっていきます。さらに、そのコードを書いた本人もコードを見ずに1週間経つと、そのパスワードをデバッグというコードブックを展開して解釈しなければなりません。
私たちはソースコードを言語と呼びます。言語は、ある存在と話すために存在するものです。ここでは、多くの人がその存在をコンピュータだと思います。この勘違いから生じるコードと呼ぶ多くのパスワードが出てくるのでしょう。そのため、ソースコードを作成するのは、書き込みと同じです。その中でも技術文書を書くのと似ています。簡潔で明確に人が理解できるようにコードを書く必要があります。このように書かれたコードは、いつ誰が見ても楽に読んで理解することができます。残念ながら、私が経験した現業では、そんな些細で細かいことを考慮して実装する時間がないそうです。しかし、私が感じたのは「時間がないからできないこと」ではなく、「できないからできないこと」でした。
人が読むのに良いコード( readable_code )は、ほとんどの場合、コンピュータが読むのに最適です。不要な変数、関数、変換、プロセスを実装しないからです。また、コラボレーションとコードメンテナンスのパフォーマンスを飛躍的に向上させます。実際に私は私がいた会社で既存のフレームワークを捨てて新しいフレームワークを設計して実装し、既存のフレームワークで2週間かかっても進行しにくかったコード統合作業を3日で可能に短縮させました。また、既存のフレームワークで3ヶ月ほどかかったモジュール実装が1ヶ月もかからない時間に可能になりました。こうして人が読みにくいコードは実装ができなくて問題なのです。
今までは成熟した開発文化とコラボレーション、人が読むのに良いコードは、多くの場合あれば良いもの、なくても大きな気にしないものくらいに治付される場合が多いようです。しかし、私は人が読書に良いコードの能力を見て、その実際を経験しました。私はこれを知的に私がいる会社やチームに適用できますが、私はそれほど満足したくありません。韓国のSW生産性自体を育てたいです。エンジニアの方々がより良い環境で開発をしたいと思います。良い開発文化が韓国の会社の中にあることを望みます。私はこれから私が持っていた経験、成功と失敗、そしてその過程で知ったすべてのノウハウを皆さんと分かち合おうとします。これらは非常に大切なものであり、あなたが行く途中でしっかりとした基盤になるでしょう。一緒にしますか?(y/n) … -y
Software architectの経験を持つ講師が、現業で動作を検証したソフトウェア内容に基づいて講義する
実際の業務・開発に適用可能な内容
本を読んで知ることができる理論的な内容ではなく、実際の開発経験に基づいて習得したノウハウと概念を伝える
各レッスン間の依存関係を最大限に排除することで、1つのレッスンしか聞こえない理解可能な構造を実装します。
C++で変数と名前空間を記述するときに使用するsnake_case技術で講義名技術
C++で名前空間を使用する方法で講義の階層を分割する
readable_code:: language_name :: xx::yy::zz::該当_講義名-サブタイトル
language_name : どのプログラミング言語の講義か技術(ex. cpp, c, python, etc…)
xx、yy、zz :各講義の詳細階層、講義の属性を表現(ex.設計、検証、etc…)
対応_講義名:最下階層名は講義の見た名前を記述
サブタイトル:講義の説明について
学習対象は
誰でしょう?
開発環境が何であるかを知らない人
C++開発を初めて始める方
PCをフォーマットするたびに開発環境をリセットするのが大変でした
より効率的に開発環境を管理したい人
複数のプラットフォームで一貫した開発環境を構築したい人
C++ 開発プロセスを最適化したい方
キャリア認証
654
受講生
24
受講レビュー
4
回答
4.8
講座評価
2
講座
Robotics Software Architect
9年間ロボティクスソフトウェアを作ってきました。ROBOTISとSTRADVISIONでは、必要なシステムとフレームワークをゼロから設計し、実装しました。
今は私が作った教育プラットフォームHolyGroundを一人で運営しています。実務で使うAI作業オペレーティングシステムと、ロボティクスC++開発システムを教えています。
2023.06 ~
教育プラットフォームHolyGroundを作り、運営しています。1人ビジネスなので、教育の企画や制作、開発、マーケティング、会社運営、サイト制作まで直接担当しています。これらすべての過程でAIを活用しています。
2021.12 ~ 2023.05
何もない状態から自動駐車用のVisual SLAMシステムを設計しました。読みやすいコードの原則を適用し、実務のソフトウェア規格を遵守しました。
機能開発期間 2ヶ月 → 2週間
顧客認証を通過
2019.01 ~ 2021.12
配送ロボットの認識ソフトウェア開発をリードしました。ROSでは必要な性能が出なかったため、コアフレームワークをマルチスレッディングベースでゼロからすべて構築しました。NVIDIA JetsonではCUDA並列処理を最適化しました。
HolyGroundを一人で運営しようとすると、AIを使って仕事をするしかありませんでした。最初はかなりうまくやっているように見えました。しかし、仕事を任せ続けているうちに、成果物がおかしくなり始めました。かといって、AIなしですべての仕事を一人でこなすこともできませんでした。
問題はプロンプト一つではありませんでした。AIが私の情報や基準、仕事の進め方や資料を読み取れる必要があったのです。
散らばった情報を整理しました。AIが必要な時にその内容を読み込み、同じ基準で動くように作業構造を作りました。開発やマーケティング、会社運営、サイト制作に直接使いながら改善を重ねました。そうして作り上げたのが、現在のAI作業オペレーティングシステムです。
ロボティクスの現場で複数の作業を一つのシステムに統合し、運用してきた経験がここにも繋がっています。私がAIを教える内容は、この試行錯誤と運用経験から生まれました。
AIが自分の情報と基準を読み取りながら働くようにする方法
自分の情報や原則、話し方、作業方式、そして資料を一箇所に集めます。そして、AIがその内容を読み取りながら動く「個人作業オペレーティングシステム」を作ります。AIが初めての方は、インストールや基本的な使い方から始めることができます。すでに毎日使っている方は、作業が長引いても基準が崩れない構造を作ることができます。
AIで開発するロボティクスC++
コーディング基準、プロジェクト構造、ビルド構成、品質ゲートとテスト構造を一つのロボティクスC++開発システムとして繋げます。C++の読み書きができ、現在コードベースを扱っているロボティクス・自動運転開発者のためのカリキュラムです。C++の文法を初めて学ぶ講義ではありません。
プログラマーズ自律走行デブコース(DevCourse)1・2・3・5・6期にて、C++開発環境、ビルドシステム、コード品質のメンタリング
SSAFY ポートフォリオ特講
ソウルICTイノベーション特性化高校 Python教育
私が実際に使っているシステムを開いてお見せします。単に成果物を真似して作って終わりではありません。なぜこのような構造が必要だったのか、各自の業務に取り入れる際にどこを変えるべきかまで説明します。講義を終えた後に残るべきなのは、ただ見学したシステムではありません。自分の仕事に最適化されたシステムであるべきです。
全体
28件 ∙ (3時間 33分)
講座資料(こうぎしりょう):
1. readable_code 概要
11:58
2. 講師紹介
06:30
3. 講義説明
06:32
全体
19件
4.8
19件の受講レビュー
受講レビュー 1,049
∙
平均評価 4.9
受講レビュー 14
∙
平均評価 4.6
修正済み
受講レビュー 4
∙
平均評価 4.8
受講レビュー 16
∙
平均評価 4.9
受講レビュー 102
∙
平均評価 4.7
知識共有者の他の講座を見てみましょう!
同じ分野の他の講座を見てみましょう!
無料