일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 에어텐트
- 개발자면접
- 프로그래머면접
- 면접
- 언어치료
- 캠핑장
- 텐트
- setns
- 반고
- adb logcat
- nft
- 중고텐트
- 캠핑
- 개발자
- threadtime
- 프로그래밍
- 주식선택기준
- android log
- ARM trustzone 내용
- ARM Trustzone
- 아웃웰
- 프로그래머
- ARM Trustzone 설명
- 코딩
- 게임 NFT
- 초캠중고
- arm trustzone 강의
- ARM Trust Zone
- arm trust zone 강의
- 보안강의
- Today
- Total
콩딱일상
컴퓨터 프로그래밍을 공부하는 기초 (1 : 기초지식) 본문
무엇을 어떻게 알려줄것인가? 무엇을 어떠한 대상에게 알려줄것인가? 이 2가지 물음은 교육을 목적으로 글을적는 사람에게 꼭 필요한 질문이라고 생각됩니다. 그래서 내가 프로그래밍 관련 글을 적고 그것이 교육과 관련이 있다면 어떻게 적어볼 것인가에 대해서 고민하게 되었습니다. 사실 프로그래밍 교육관련하여서는 유튜브를 진행해 본적도 있고 개인 과외를 해준적도 있습니다. 하지만 영상, 1:1 과외와 글은 그 느낌이 다른 부분이 존재합니다.
저는 이 글을 미래에 만약에 IT업종에 우리 아들이 뛰어든다는 가정하에 적어 볼려고 합니다.
콩딱은 우리 아들의 태명입니다. 실제 이름은 다르겠죠 ㅎ 하지만 콩딱으로 가정하여 교육을 진행해 볼겠습니다.
저는 사실 아래의 그림처럼 실제로 손으로 적으면서 알려주는 스타일을 선호하지만... 어쩔수 없죠 ㅎ
콩딱아 너가 만약 대략 15년정도 후에 컴퓨터 관련 학과나 아니면 업으로 삼을려고 한다면 이러한 공부 방법도 나쁘지 않을것 같아. 아빠가 너에게 알려줄 수 있는게 몸담고 있는 이쪽 분야뿐이 없네...
기초지식을 확실하게 공부하길 추천한다.
너가 아빠랑 성향이 비슷하다면 기초지식에 대한 흥미를 느끼겠지만 그렇지 않다면 매우 싫어하는 경우일거야 대다수의 사람들은 기초 지식에 대해서 매우 싫어하는 경향이 강하단다.
컴퓨터도 사람들이 현재는 java, java script, python, R 등의 다양한 언어를 사용하고, 주로 업무는 응용쪽을 많이들 하는 추세인것 같다. 응용쪽이라는 말은 기초적인 분야보다 서로 이래저래 섞인 부분에 대해서 주로 일을 하는것을 의미한단다. 이것을 자신의 도메인이라고도 하고, 다른 다양한 이름을 붙이기도 하지만, IT업계에서 자신의 전문 분야라고 표현하는게 더 옳바른 표현일 수도 있겠어.
대다수의 사람들은 응용, 활용에만 신경을 쓰는 세상에 살고있지만, 중요한건 언젠가 응용에 있는 사람들도 기초로 되돌아 온다는 것이란다. 이해하기 어렵겠지만 흔히들 그루라고 표현하는 사람들은 그 응용부터 시작해서 아래로 아래로 내려와서 결국에 기초를 다시 공부하는 사람들도 많이 있단다. 그러니 아직 자신의 주 분야가 정해지지 않은 너에게는 기초적인 공부가 가장 중요할것 같아.
콩딱이도 이제 수학도 할줄 알거잖아. 4칙연산 이라는 기초는 결국 이곳저곳에서 사용된단다. 그런데 IT의 기초는 이곳저곳에서 사용되지 않아. 그래서 사람들이 별반 관심이 없는것 일수도 있네... 그런데 그 기초를 공부하는 과정에서 너가 알게될 지식, 스킬들이 적지 않을것이라고 아빠는 생각한단다.
솔찍히 말하면 아빠도 하지 못했어... 아빠도 못한걸 너에게 하라고 하는게 이상하긴 하지만 그래도 수박의 빨간맛정도는 보지 않았을까 하는게 아빠의 생각이란다.ㅎ
최소한 빨간맛은 아니여도 겉정도는 핱아봐야되지 않겠어?
아빠가 생각하는 기초적인 프로그래밍 지식이라고 하면 이 정도가 될것같은데... 조금 힘들겠지.
그래도 운영체제는 현재 기준으로 대략 3년? 컴파일러도 2~3년? 꾀 오랜시간이 걸리네..ㅎㅎ
- 운영체제
- 컴파일러
- 컴퓨터 아키텍처
그래도 한번 시도해봐 운영체제에 대해서 전부다 알지 못하더라도 운영체제를 공부하고 그 코드를 보기위한 그 공부가 너에게 많은 기초지식들을 제공해 줄꺼야.
컴파일러는 조금 애매하긴하네... 기초지식이라고 알고는 있지만 llvm을 공부해 보기를 추천하는데 너가 보안이나 연구소 기관에 있지 않는이상 사실상 볼일이 거의 없는 지식이긴해... 그래도 대략적으로 어떻게 동작하는지 정도는 알고있으면 도움이 될거라는게 아빠의 생각이야, 그리고 그 과정에서 있는 무수한 알고리즘들은 정말 최적화기법들은 어렵긴 하지만 공부한다면 도움이 많이 될꺼라고 생각해.
마지막으로 컴퓨터 아키텍처 이건 큰 흐름에서는 비슷비슷해 각 아키텍처 별로 특징들 정도 알고있고 대략적인 구조정도 알고 있으면 아는척하기 좋은? 너가 cpu설계 관련된 부분에 일을하거나 하드웨어 관련부분쪽 일을 하지 않는다면... 사실 아빠도 이것과 관련된 일을하는 사람을 보지 못해서, 무엇을 하는 사람들이 이것을 집중적으로 배우는지는 모르겠어.
다음에는 다른 이야기를 해줄께용 ㅎ
'소프트웨어 > 프로그래밍' 카테고리의 다른 글
[linux api] setns 함수 (0) | 2021.11.10 |
---|---|
Android logcat을 이용한 정보의 출력 (0) | 2021.11.09 |
코딩학원에 대한 현직 개발자의 생각 (3) | 2021.09.29 |
코딩을 어떻게 배울지 답답한 당신에게. (0) | 2021.09.28 |