readable_code::CMake - Create a Fancy C++ Project
What is the biggest obstacle in C++? When I think about it, I think it is CMake. When I first started C++, CMake made it difficult to build even one source file… Let’s break it together. With this lecture, you too can become a CMake Master!
66 learners
Level Basic
Course period Unlimited

News
10 articles
Hello, I'm Yang Eun-seong, the Development Leader.
"How do you develop with C++ in the field?"
"How do you actually build real products, not just toy projects?"I've received this question a lot, so I gave a seminar.
I'm releasing the first part.Seminar Video (First Part Released)
Honestly, I didn't know at first either.
I tried doing things the way I learned in school and failed a lot.
Threw exceptions and the system crashed.
Allocated memory and broke real-time performance.
Created threads and got race conditions.I struggled a lot while making mass-production products at robotics and autonomous driving companies.
I've shared what I learned through experience back then.If you want to learn more in depth
Production C++ Framework Guide
Why you should do it this way, why you shouldn't do it that way.
Organized into 24 topics.Early Bird in Progress (Until January 2nd)
₩129,000 → ₩96,750 (25% off)If you're curious about the actual code
Production Playground for C++
This is code implemented exactly according to the guidelines.
You can run it directly yourself.₩499,000
Based on this implementation, I plan to create a robotics framework and SLAM framework as well.
Don't struggle like I did, just take it.
Community: AI Mastery Open Chat Room
Thank you.
Development Lead Yang Eun-seong
HolyGround Co., Ltd.Hello, I'm Yang Eun-seong, the Development Leader.
I've built production systems by removing ROS and using pure C++.
I've done it twice. Once at a robotics company, once at an autonomous driving company. The first time took 6 months. The second time was much faster. Because I knew what needed to be done.
I've done it twice.
Once at a robotics company, once at an autonomous driving company.
The first one took 6 months.
The second time was much faster.
I've built production systems before. Twice. Once at a robotics company, once at an autonomous driving company. The first one took 6 months. The second was much faster.
Because I knew what needed to be done.
What You Get
From environment setup to CI, you know in advance where you'll struggle
You'll establish standards for error handling, memory management, and concurrency design
When you understand "why it should be done this way," you can apply it even when tools change
It's not about code. Understanding the conditions reduces wasted time.
Early Bird
Regular price: ₩129,000
Discounted Price: ₩96,750 (25% off)
Deadline: Until January 2nd
Go to Production C++ Framework Guide →
Thank you.
From Yang Eun-seong, Development Leader
HolyGround Co., Ltd.
Hello, I'm Yang Eun-seong, the Development Leader.
Have you ever been stuck while trying to prototype with ROS2 and turn it into a product?
I also did that.
Why did we prepare this seminar?
I made an outdoor delivery robot perception system with ROS2.
The prototype worked well.However, when we tried to productize it, problems arose.
I ran out of resources in embedded systems.
Overhead became a bottleneck in real-time processing
I couldn't even use open source due to licensing issues
In the end, I had to remove ROS2 and rebuild it with pure C++.
I've learned things from repeating this kind of trial and error for over 10 years.
They're not in books. You only know when you experience it firsthand.What You'll Learn from the Seminar
Part 1: The Reality of Moving from ROS to Production (30 minutes)
I share the real problems you encounter when going to production with ROS.
Open source projects you can't use due to licensing issues
Resource Issues Exploding in Embedded Systems
Overhead that becomes a bottleneck in real-time processing
Part 2: Production Code Considerations (50 minutes)
When creating production code, this covers the design criteria that should be considered.
Error Handling: Exceptions vs Result, Why Exceptions Shouldn't Be Used in Embedded Systems
Type Safety: How to Catch Unit Mistakes at Compile Time
Memory Management: Why You Shouldn't Call new in Real-time Loops
Multithreaded Concurrency: Patterns for Safe Concurrent Processing Without Deadlocks
Logging/Profiling: Strategies for Finding Root Causes When Issues Occur in Production
Dependency Management: Patterns for Managing External Libraries
Part 3: Selecting Tools and Libraries (20 minutes)
I share production-verified tools and patterns to avoid.
Part 4: Q&A (20 minutes)
Real-time Q&A
Seminar Information
Title: Why We Removed ROS: A 10-Year Architect's Guide to Production Frameworks
Date & Time: Saturday, December 20, 2025, 20:00 - 22:00 (120 minutes)
Location: Online (Zoom)
Participation Fee: 99,000 KRW
Participant Benefits: Guideline summary content provided
Fruit: Production Playground for C++
This is the code that actually implements the guidelines covered in the seminar.
Included Content:
Production-grade Core Library (error handling, unit system, concurrency, memory pool, logger/profiler, etc.)
Scalable Build System (CMake Presets)
Automated Quality Verification System (Formatting, Static Analysis, Testing, Coverage)
CI/CD Pipeline (GitHub Actions)
4-Sensor Real-Time Fusion Demo Application
Price: 499,000 KRW → 399,200 KRW (Early Bird 20% off)
Early Bird Deadline: This Saturday at midnight
Additional Benefit: First 20 purchasers - Free seminar participation
Recommended for
Anyone who has experience getting stuck during productization after creating a prototype with ROS
Someone who needs to create production code in pure C++
Those who develop C++ in embedded or real-time systems
Those curious about production code design standards
Finally
This is a guideline, not implementation code.
What to use and what to avoid.
What to consider to prevent issues in production.Skip 10 years of trial and error with just 2 hours of investment.
If you have any questions, feel free to contact me anytime.
Email:yes@holyground.world
Community:Readable Code Open Chat Room
Thank you.
Development Lead Yang Eun-seong
HolyGround Inc.P.S. When you purchase Fruit, the first 20 people will receive free seminar participation. Please let us know in the open chat room after your purchase!
Hello, I'm Yang Eun-seong, the Development Leader.
Today at 8 PM, we will be conducting a free seminar on AI collaborative development systems.
This is the final announcement.
Why did we prepare this seminar?
I also used to just tell ChatGPT "make this for me" at first.
But it gives different results every time, using React today and Vue tomorrow.
The time spent reviewing takes longer than the actual development time.There's something I realized after struggling for 2 years.
What AI needs is "context."
What the project is, what the code style is, what was done before.
Without this context, they end up coding however they want every time.So I created a system.
What you learn from the seminar
5 Core Principles
1. How to Give Context to AI
Documenting the overall project structure
Even with the same request, always with the same quality
2. How to Increase Expertise by Dividing Roles
26 specialized agents each working only in their respective areas of responsibility
Clear boundaries create predictable results
3. How to Automate Repetitive Tasks
Automated execution from design to verification with a single command
AI completes tasks independently without intervention
4. How to Make AI Perform Quality Verification on Its Own
Run tests so I don't have to check manually
Ensuring objective quality without manual verification
5. How to Create a Consistent Process
Anyone can produce the same quality
Repeatable Success Patterns
Live Demo
I'll develop C++ utility functions in real-time within 10 minutes.
From design to implementation, testing, and verification - everything.
I'll show you how it actually works in action.Reviews from people already using it
"The entire process from design to execution was automatically carried out, completing the work independently without any intervention. The AI read the context, made judgments, and operated like a single developer."
"Managing context with documents seems really great. It's difficult to establish the structure, but once you get the structure right, it can be applied to everything, so productivity really increases."
Before: Having to give instructions every time, needing to stay involved, and getting inconsistent results
After: AI figures it out on its own, understands the context by itself, and always maintains the same quality
Seminar Information
Date: November 15, 2025 (Sat) 20:00 - 22:00 (120 minutes)
Location: Online (Zoom)
Cost: Completely free
Capacity: First 100 applicants
Register:Register Now
Recommended for these people
Those who are tired of getting different results every time they use AI tools
A leader who wants to create an AI collaboration system for the entire team
Freelancers who want to win more projects on their own
Those who want to become competitive developers in the AI era
Finally
You can apply it immediately just by attending the seminar.
I made it so you can use it just by knowing the principles.
Learn a system you can use for a lifetime with just a 2-hour investment.
Then I'll see you at 8 PM this evening.
Thank you.
Development Manager Yang Eun-seong
(Co.) HolyGroundHello,
This is for those who need to learn multithreading in C++.
Are you having these concerns?
"I need to use multithreading but I don't know where to start learning it"
[[CODE_1]]std::thread[[/CODE_1]], [[CODE_2]]mutex[[/CODE_2]] 사용법은 봤는데 실무에 어떻게 적용하지?
Books and lectures only cover theory, and the practical examples are too complicated
I was also at a loss, but learning by implementing practical patterns from zero base made me understand "Ah, this is why it's used this way."
In case it might be helpful I've put together a guide for building ThreadPool, Scheduler, and Pipeline from scratch:
We find answers to questions like "Why do we need condition_variable?" and "How many worker threads should we create?" through direct implementation. This leads to a completely different understanding than just reading API documentation.
If you have any questions or concerns, please feel free to contact us anytime.
Thank you, Development Leader Yang Eun-seong
Hello,
Have you ever experienced not being able to understand code you wrote 3 months ago, or having to work overtime for days just to fix a single bug?
You've experienced this situation a lot, haven't you?
Studied Clean Code and design patterns but feeling overwhelmed about how to apply them in real work
Spending all the time on style arguments during code reviews, and unable to actually review the logic
"I don't know what will break if I touch this" - Fear of legacy code
I also experienced the same difficulty, but I realized that when you write code that's easy to read, everything gets organized.
In case it might be helpful, I'm sharing free learning materials that compress 10 years of practical experience:
→ Readable Programming: A Reading-Centered Development Methodology
Learning 47 principles in a systematic order can achieve 4x productivity, 70% reduction in bug fixing time, and on-time departure from work. With a clear roadmap showing where to start, from automation to architecture.
If you have any questions or concerns, please feel free to contact us anytime.
Thank you, Development Chief
Hello,
Those who do C++ development probably face memory management as one of their most frequent concerns.
I also have memories of receiving emergency calls at dawn and running around the server room because of
segfaultand memory leaks. No matter how much I used smart pointers and was careful, memory bugs would still pop up somewhere... It was really stressful.I recently organized a systematic memory management guide centered around the "Pre-allocation First" strategy that has been validated in real-world practice, and I thought it might be helpful to share it with you. Rather than just explaining syntax:
"When to use the stack and when to use the heap"
"How to determine when a memory pool is needed"
Created based on the same practical judgment criteria.
https://www.holyground.world/marketplace/seed/0bef2272-3377-448f-9fc0-dce02310910c
If you have any questions about memory, feel free to reply anytime. As someone who has gone through the same struggles, I'd like to be of help.
Have a great day!
Development Chief Dream
Hello,
Let me be honest with you.
Looking at the code I wrote 6 months ago
You're thinking "Who wrote this code?", aren't you?
I felt the same way.
The same pattern every time:
1. "What was this variable for again?"
2. "Why did they write this function so complicatedly?"
3. "How many hours will it take to understand this logic?"
4. In the end, the conclusion is that it's faster to rewrite it from scratch...
I've been doing this kind of futile work for over 10 years.
So I made it.
With the mindset of "Let's write code that's really easy to read."
━━━━━━━━━━━━━━━━━━━━━━━━━━━
C++ Readable Programming Guidelines
"It's a complete framework built with the philosophy that readable code is good code."
If you receive it, we'll really give you two:
🎁 Ready-to-use finished product
- A complete development framework validated through 10 years of industry experience
- Guidelines systematically organized into 10 branch documents
- Perfect setup of clang-format and clang-tidy automation tools
- System verified to improve productivity by 3-8x in real projects
🧠 Philosophy you can use for a lifetime
- The core principle that "readable code is good code"
- How to clearly separate the roles of humans, AI, and automation tools
- Know-how to maximize team collaboration with consistent development standards
- The truth that "the code you write is code you'll read again later"
━━━━━━━━━━━━━━━━━━━━━━━━━━━
If you get it now:
✅ Complete guideline document
✅ Automation tool configuration file
✅ Practical Application Guide
✅ How to Build Team Standards
✅ Continuous updates
I wish my code wouldn't look like cryptic code anymore, right?
From the next project onwards, you'll be able to write code that anyone can read.
[Get Now → https://www.holyground.world/marketplace/seed/ad71aec2-2580-47ca-9fa7-fde360b7d48a]
If you have any questions, feel free to reply anytime.
Thank you.

