Page 104 - 대건고 2022 교지
P. 104

행렬의 로컬 영역에서 가장 절대 편차가 큰 요소를 골라내면 숫자의 윤곽만 남길 수 있었습니
            다. 이 경험은 합성곱의 원리를 공부했기 때문에 문제를 해결할 수 있었습니다.


              2. 프로그램 개발 시 framework와 library를 다루는 것은 필수적인 역량이지만 너무 의존해서
            는 안 된다고 생각합니다. 기본적으로 도구들을 다루는 것은 개발 속도를 매우 빠르게 만들어
            줍니다. 또한 관리 및 생산성에 있어서 큰 이익이 있습니다. 그러나 원리 이해 없이 도구들을 다
            루는 것은 오히려 공부하면서 독이 될 수 있습니다. 도구에만 의존해서는 자신의 진짜 실력을
            기를 수 없으므로 적절한 경계가 필요하다고 생각합니다. 그래서 제가 여러 도구를 사용해 공
            부해본 경험을 소개해드릴까 합니다.



              저는 웹서비스 구조를 이해하기 위해 프록시 서버를 구축해본 경험이 있습니다. Ubuntu플
            랫폼을 사용하였고, Web Server로 Apache2를 이용했습니다. Ubuntu를 사용한 이유는 확장
            성과 비용, 호환성 때문이었고, Apache2를 사용한 이유는 아파치는 웹서버로서 기본적으로
            Multiprocessing을 지원하여 다수의 요청에 대하여 동시처리가 가능하기 때문입니다. WSGI로
            는 mod-wsgi를, Web Application으로는 fastapi를 사용하여 WAS를 지원하였습니다. WAS를
            구축한 이유는 동적인 콘텐츠를 전달해야 하기 때문입니다. 웹서버만 이용한다면 보안, 세션

            관리 및 동적 콘텐츠를 제공하기 힘듭니다. 이렇게 저는 웹서비스 구조를 이해하기 위해 여러
            툴을 사용했습니다. 모든 것을 프로그래밍하는 것은 시간 낭비입니다. 적절한 도구를 적재적소
            에 사용하는 능력을 기르는 것이 중요합니다.


              3. 알고리즘과 자료구조를 공부하는 것은 코드의 수준을 한 단계 업그레이드시켜줄 것입니
            다. 알고리즘과 자료구조를 잘 다루는 것은 컴퓨터를 잘 이해하는 것입니다. 단순히 올림피아
            드 문제를 푸는 것은 알고리즘과 자료구조를 공부하는 것이 아니라 생각합니다. 물론 올림피아
            드 문제를 해결하며 문제해결 능력과 알고리즘 공부를 하는 것이 나쁘다고 말하는 것은 아닙니
            다. 저도 그렇게 공부하며 알고리즘을 공부했기 때문입니다. 그러나 알고리즘을 사용하는 목적

            이 컴퓨터의 연산 과정을 효율적으로 개선하기 위함임을 알게 된다면 알고리즘 공부의 의의는
            실제 프로그램 작성 시 성능개선임을 알 수 있습니다. 제가 알고리즘 공부를 직접 코드에 적용
            해본 경험을 공유해보겠습니다.













            104  2022               63號
   99   100   101   102   103   104   105   106   107   108   109