빅아이의 기록장

개발 공부 본문

개발

개발 공부

기록하는_새싹개발자 2019. 5. 5. 21:18

개발공부 팁

어떤 언어건, 백엔드건 프론트엔드건, 어떤 프레임워크든 라이브러리든 공부하건간에, 사용하는 기본 개념은 동일하다.

그 개념들을 어떻게 이용하고 구현하는지 정도만 빠르게 파악할 수 있으면 해당 툴을 배우는데 큰 시간을 들이지 않아도 된다.

구현방법은 결국 언어, 라이브러리, 프레임워크의 "문법"이므로, 문법의 존재와 사용법만 알면 기본적인 개발 및 사용, 운용, 유지보수가 가능하다.

다만 언어, 라이브러리, 프레임워크마다 각자의 철학을 가지고 있기 때문에, 공부하다 보면 난생 처음보는 종류의 문법 및 흐름이 있는데 그것을 이해하는데는 어느정도 시간이 필요하다.

 

결국 특정한 언어/라이브러리/프레임워크의 전문가가 된다는 뜻은,

1. 로직을 생각할 때, 생각하는 로직이 문법으로 즉시 생각날 정도로 숙련된 상태. 문법과 API에 통달한 상태.

2. 철학에 맞는 흐름으로 코딩하는 것.

이 두가지가 만족되어야 진정 전문가라고 할 수 있다.

추가적으로 라이브러리나 프레임워크마다 파일 구조가 필요없는 것도 있고, 강제되는 것도 있다. 파일구조가 강제되는 경우엔 어떤 파일 구조에서 어떤 종류의 파일들이 들어가는지도 익혀야 한다.

 

로직이 곧 문법으로 떠오르려면

1번이 될 정도로 통달하기 위해선 일단 해당 언어/라이브러리/프레임워크가 제공하는 문법 및 API 문서를 많이 읽는 수밖에 없다.

무엇보다, 공식사이트에서 제공하는 정보야말로 가장 신뢰할 수 있다. (물론 영어로 읽어야한다.)

공식 사이트는 구글에 검색하면 손쉽게 나오지만서도, 일단 즐겨찾기에 등록해두자.

어떤 라이브러리/프레임워크든 기본적으로 공식사이트에만 가도 Getting Started라고 기본적인 튜토리얼을 제공하며 이를 따라가기만 해도 기본은 충실할 수 있고, 공식문서가 튜토리얼이 없다면 아래 사이트에서 대신 배울수도 있다.

https://www.tutorialspoint.com/

 

철학에 맞는 흐름으로 코딩하려면

2번은 배운다기보다 기존의 사고방식을 내려놓고, 새로운 철학을 이해하고 해당 철학 방식으로 사고할때까지 받아들이는 수밖에 없다.

그런데 이게 정말 난감한게, 기존에 자전거 타는 방법을 숙련했는데, 핸들이 반대로 돌아가는 자전거 타는 방법을 다시 배우는 것과 비슷한 느낌이다.(나만 그렇게 느낄수도 있다)

특정 방식으로 사고하기 시작하면, 다른 사고방식으로 생각하기가 어렵다. (철학에 따라 방법이 다르고, 철학은 상호배타적이므로.)

심지어 그날그날의 컨디션에 따라 사고력 수준은 크게 달라지므로, 하나의 사고방식을 가지는 것도 쉽지많은 않은데

전혀 다른 방식의 사고력을 습득하고 자유자재로 사고하기 위해선... 어떻게 수련해야할지 아직 난감한 부분이다.

사실 철학이라는게, 다른 철학을 무시하고 배타적으로 바라보는 특징이 있다. (세상에선 이게 가장 중요해! 다른건 쳐다보지마! 이런 느낌)

어떤 철학이 생산성을 중요시한다면, 어떤 철학은 실행 속도를 중요시하고, 어떤 철학은 안정성을 중요시하며, 심지어 어떤 철학은 러닝커브를 중요시한다.

각자 철학이 다른만큼 장단점도 명확해서, 어떤 장점을 선택한다면 그에 따라오는 단점까지도 받아들이는 수밖에 없다.

그래서, 언어/라이브러리/프레임워크의 철학을 받아들일때는, 오직 장점, 단점으로만 받아들여서 각 부분을 현명하게 이용할 생각을 해야한다.

주의해야 할 점은, 철학을 신념으로 받아들이지 않는 것이다. 이 철학이 최고라고 생각하고 받아들이면, 다른 철학을 받아들일때 거부반응이 일어난다. 

특정 철학이 가지는 이점이 무엇인지 이해하고, 장점만 취득해 사용하는것이 가장 현명한 방법일 것이다.

 

 

문법과 API

문법은 기본적으로 변수, 함수를 다루는 방법들이 있다. 철학에 따라서 자료구조(변수, 배열)의 형태나 사용방법이 다르다.

자료형과 배열, 조건문, 분기문, 반복문과 foreach을 알아야 하고, 자료형 배열을 함수로 어떻게 전달하고 사용하는지 이해해야 한다. 

API는 그 존재여부를 알고 사용하는게 거의 전부이므로, 시간을 내서 문서를 정독하는게 답이다.

 

함수를 다루는 방법

함수를 호출하는 방법은 크게 두가지가 있다.

1. 함수를 직접 호출하는 방법

2. 이벤트를 발생시켜, 콜백함수를 부르는 방법 

+ 함수를 변수로 전달하는 방법

1번이야 기초적인 부분이니, 이것보다 변수를 함수로 넘길때 어떻게 넘기고 어떻게 사용하는지를 익히는게 좋다.

2번은 이벤트를 발생시키고, 사용하는 방법을 익혀야한다.

백엔드에선 메세지큐를 사용할수도 있다. 메세지큐도 라이브러리가 다 다른데 한번씩은 사용해봐야할 것이고

프론트엔드에선 자바스크립트의 콜백이벤트와 함수를 정의하고 사용하는게 기본이라, 그냥 익히는수밖에.

 

'개발' 카테고리의 다른 글

JPA 연관관계  (0) 2019.05.29
Firebase  (0) 2019.05.26
리액트  (0) 2019.05.05