[kata] code kata를 시작하며

- 1 min

kata

kata는 특정 무술을 실전에서 사용하기 전에 연습을 위한 용도로 사용되는 일련의 동작이다.

즉, 태권도의 품새같은거라고 생각하면 된다.


물론 어떠한 무술이든 이러한 연습 과정 자체는 동서양불문 중요하게 생각되긴 하지만,

일본에서는 특히 kata를 중시해서 꽃꽃이, 무술, 가면극 등에도 kata를 적용시켜 전승되고있다고한다.


어쨌든 code kata란 이러한 개념을 프로그래밍에 적용시킨 것으로,

쉽게말해서 kata를 통해 매일 무술 훈련을하듯 코딩을 훈련하는 것이다.


이는 쉬운 문제나 복잡한 문제를 불문하지만, 단순히 정답을 맞추는 것은 큰 의미가 없다.

아무리 단순한 문제를 반복하더라도, 매번 새로운 접근 방식을 시도해 폭넓고 유연한 테크닉을 훈련하는데 의의가 있다.


무술에서의 kata는 완전히 동일한 동작을 익숙해질때까지 수십, 수백번 반복하는 반면,

code kata는 같은 코드를 반복하더라도, 매번 새로운 테크닉이나 언어를 통해 다양한 접근방법을 시도해야 효과가 극대화된다.


물론, 무조건 할때마다 새로운 방식을 사용해야한다는 규칙같은건 없고,

특정 테크닉이 익숙해 졌을때 새로운 것을 시도하는 식으로 유연하게 자신만의 kata 규칙을 정하는게 좋을것이다.


어쨌든 나도 오늘부터 kata를 시작해야겠다고 생각했다.

인터넷 서핑을하다가 백준 알고리즘이라는곳을 알게돼서 몇 가지 문제를 풀어봤다.

매우 간단하다고 생각했던 문제들도 한 번에 잘 돌아가지 않는 코드가 꽤 있었고,

단순히 로직의 적합성 여부를 떠나 시간까지 측정하니 어떤 모듈을 사용해서 구현할지 신중히 선택해야했다.

무엇보다도 다른 사람이 짜놓은 코드를 보니 나름 탄탄하다고 생각했던 기본기도 개선할 부분이 많았고,

나도 이런 코드를 통해 다른 사람들의 유연한 사고방식에 조금이나마 도움이 되었으면 좋겠다고 생각했다.

꾸준히 훈련해보자!




코딩장이

코딩장이

-장이: [접사] ‘그것과 관련된 기술을 가진 사람’의 뜻을 더하는 접미사.

rss facebook twitter github youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora