노개북 챌린지 3일차 EP.06~EP.10 읽고 TIL 작성하기
2024.01.07 일요일
EP.06 ~ EP.10
오류를 만났을 때 대응하는 3가지 방법
- 문제가 생겼을 때 나 자신을 문제에서 빼지 말 것
코드가 작동하지 않는 이유는? 입력한 나 때문이다.
- 오류부터 고치려고 무작정 달려들지 말 것
오류를 고치기 전에 오류가 왜 생겼는지 알기
원인을 찾고 고쳐야 다음에 반복하지 않을 수 있음
원인을 찾지 않고 오류를 해결하다보니 같은 오류를 무수히 많이 만나는 경험을 할 수 있었다. 지금은 그래도 오류 메시지랑 코드 먼저 읽어보는 중.
- 오류 메시지를 읽을 것
오류 메시지에는 오류가 발생한 위치, 원인, 고치는 방법 적혀있음.
오류 발생하면 항상 구글부터 찾았던 내가 부끄럽다...ㅎ
오류 메시지 잘 읽어보고 해석해야겠다.
공부만 하고 실제로 무언가 만들어 보지 않음...
내 자신의 힘으로만 무언가를 만들어보자. 계산기, 웹 스크래퍼, 미니 게임 등
맞다. 아직도 부족하다고 생각해 자꾸 이론적인 부분에 집착하는 것 같다.
항상 프로그래밍을 할 준비를 더 해야 한다고 생각한다.
자신의 성과를 측정하고 싶다면 뭐든 만들어 볼 것.
만들 때마다 하는 고민이 있는데, 항상 스스로 모든 코드를 짜려고 한다.
안 좋은 습관이다. 우선 내가 모든 문법과 함수를 알고 있지 않고, 이제 배우는 입장인데 어떻게 알고 모든 코드를 처음부터 작성할까. 검색하고 찾아보고 참고하면서 만들어야겠다.
- 영어와 비슷하다 => 친숙하다
- 활용 범위가 매우 넓다. (인공지능, 웹 개발, 업무 자동화, 게임, 이미지 처리 등)
- 커뮤니티가 크다
- 업무 자동화에 찰떡!
진짜 파이썬의 장점은 쉽고 사용 분야가 광활한 점인 것 같다.
- Brainfuck
- ArnoldC
- Shakespeare
- LOLCODE
- emoji-gramming
파이썬과 C언어의 속도를 비교하려면 인터프리터 언어와 컴파일 언어부터 알아야 한다.
인터프리트 언어: 실시간으로 번역, 한 줄마다 바로 번역, 코드가 많을 수록 작업 횟수 증가, 오류를 제때 파악하기 힘들다.
컴파일 언어: 끝나고 번역, 코드를 모두 읽고 통번역, 작업 횟수 한정적, 인터프리트 언어보다 속도가 빠르다, 플랫폼 의존(매 플랫폼마다 컴파일 과정 필요)
파이썬은 인터프리트 언어이고 C언어는 컴파일 언어이다.
따라서 파이썬이 C언어보다 느리다.
자바스크립트로 할 수 있는 것
1. 하이브리드 앱, 크로스 플랫폼 앱 개발 가능 => 아이오닉, 리액트 네이티브
2. 데스크탑 소프트웨어 개발 가능 => 일렉트론
3. 게임 개발 가능 (참고: wanderers.io)
4. 3D, 가상 현실, 증강 현실 개발 가능 => three.js
5. 머신러닝 가능 => tensorflow.js
자바스크립트로 웹 개발, 앱 개발 정도는 알고 있었는데 생각보다 더 다양한 분야에서 사용할 수 있다니 놀라웠다. 특히 게임 개발이 가능하다는게 더 매력적인 것 같다.
(물론 분야별로 특화된 언어를 사용하는 것보다는 어렵겠지만)
파이썬에 버금갈 정도로 다양한 분야에서 사용 가능하다니...
코틀린을 자바 가상 머신을 이용해 자바 바이트 코드로 컴파일하면 자바와 마찬가지로 실행에 사용되는 것은 자바 바이트 코드이기 때문에 둘 사이 100% 호환이 가능하다.
코틀린 사용 이유
1. null에서 안전한 언어
null이 발생할 것 같으면 미리 알려준다.
2. 코루틴을 지원한다.
코루틴(coroutine) 문법: 많은 일을 한 번에 실행 가능하게 한다.