Coding Challenge 스터디
2022년 11월부터 2023년 5월까지 대략 6개월 정도 진행했던 스터디에 대한 내용에 대해서 정리하고, Coding Challenges를 소개하기 위하여 작성하였다.
Coding Challenge는 The Coding Train이라는 JavaScript, Simulation, ML 등 다양한 주제에 대해서 비디오 튜토리얼을 만들어 주는 유튜브의 동영상 시리즈 중 하나이다. 필자가 참여하고 있는 스터디 팀에서 [이전 스터디]((/posts/research-rust) 이후에 다음 주제를 탐색하던 중 Wave Function Collapse라는 키워드로 탐색하다 우연히 발견하여 주제로 선정하였다.
대부분의 튜토리얼이 이론에 관해서 설명하며, 설명에 맞추어 예제를 구현하는 방식으로 구성되어 있다. 특히 화면에 직접 렌더링을 해볼 수 있는 예제들이어서 흥미로운 주제들이 많았다. 강의에서는 p5.js라는 도구를 사용해서 진행하기 때문에 캔버스 등에 그래픽스에 대한 이해가 많이 필요하지 않아도 큰 어려움 없이 접근할 수 있게 되어 있다. 다만, 필자는 개인적인 학습 욕구에 맞춰서 p5.js 대신 필자의 사이트에 맞춰서 별도로 구현하는 방식을 택했다.
필자의 스터디에서는 한 주에서 두 주에 걸쳐 스터디원이 관심 있는 주제에 맞춰서 다음과 같은 주제로 구현을 진행하였다.
- Coding Challenge 171: Wave Function Collapse : 구현
- 파생 주제 MarkovJunior : 구현
- Coding Challenge 166: ASCII Text Images : 구현
- Coding Challenge 50.1: Animated Circle Packing - Part 1 : 구현
- Coding Challenge 1: Starfield in Processing : 구현
- Coding Challenge 51.1: A* Pathfinding Algorithm - Part 1 : 구현
- Coding Challenge 124: Flocking Simulation : 구현
- Coding Challenge 98.1: Quadtree - Part 1 : 구현
- Coding Challenge 143: Quicksort Visualization : 구현
- Coding Challenge 145: 2D Raycasting : 구현
- Coding Challenge 59: Steering Behaviors : 구현
진행되었던 주제 모두 관심 있던 내용들을 선정해서 진행했었던 것이었기 때문에 재미있었지만, 특히 Wave Function Collapse나 Markov나 Flock Simulation, Quad Tree 등은 정말 내용도 구현도 재밌게 보았던 것 같다. 필자는 렌더링 엔진을 pixi.js를 사용했기 때문에 p5.js에서 지원해 주는 기능들을 구현하는 재미도 쏠쏠하기도 했었다.
전반적으로 Coding Challenge는 JavaScript를 학습하고 구현해 보고 싶거나, 그래픽스에 대해 학습을 하고자 하는데 마땅한 예제가 없을 때 접근하면 좋은 자료라는 생각이 들어서 이 글을 통해 공유하고 싶었다.