TIL (Today I Learned) 날짜
2024년 03월 17일 일요일
오늘 읽은 범위
EP.06 ~ EP.10
책에서 기억하고 싶은 내용
EP.06 왜 나만 오류가 자주 생길까?
오류 대응 3원칙
1. 문제 발생 시 나 자신을 문제에서 빼지 말 것
2. 오류의 원인을 파악하고 고치기
3. 오류 메시지 꼭꼭 읽을 것
1번은 코드가 정상적으로 작동하지 않는 이유는 내가 잘못입력해서 발생한 일임을 잊지 말자.
2번은 기본. 자주 만나는 오류들은 정리할 필요성이 있다고 생각한다. 원인을 모르면 계속 오류가 발생할 수밖에 없다.
3번은 정말 기본. 오류 메시지를 읽지 않고 오류를 고치려고 한다면 맨땅에 헤딩하는 것과 같다.
솔직히 오류만 잘 찾고 고쳐도 1인분은 할 수 있다고 생각한다.
IT 쿠키상식: 초보자가 하기 쉬운 실수
프로그래밍을 할 준비를 더 해야 한다고 생각하며 공부만 한다.
공부를 멈추고 우선 스스로의 힘으로 무언가를 만들어보는 연습을 하자. (계산기, 웹 스크래퍼, 미니 게임 등등)
나도 만들면서 공부하는 게 가장 실력이 빠르게 느는 길이라고 생각한다.
그럼에도 불구하고 스스로 아는 게 없다는 생각이 들며 계속 공부 단계만 반복하고 있다.
또 항상 모든 코드를 스스로 짜려고 하는 경향이 있다. 나도 안다 안 좋은 습관이다.
알든 모르든 도전해봐야 겠다.
EP.07 파이썬은 왜 이렇게 인기가 많을까?
1. 영어와 비슷하다 => 친숙하다
2. 활용 범위가 매우 넓다. (인공지능, 웹 개발, 업무 자동화, 게임, 이미지 처리 등)
3. 커뮤니티가 크다
4. 업무 자동화에 찰떡!
파이썬이 문법도 간단하고 배우기 쉬운 언어인 거 같다.
자바스크립트와 리액트 등 지금 우선적으로 배워야 할 기술 스택을 배우고 나면 파이썬도 공부해보려고 한다.
특히 코딩테스트 푸는데 파이썬만 한 언어가 없는 것 같아서 두 가지 언어로 코딩테스트를 푸는 연습을 해봐야겠다.
풀다 보면 파이썬에는 간단하게 사용할 수 있게 함수로 제공되는 기능이 자바스크립트는 직접 구현해야 하는 등 두 언어 사이에도 다른 점이 많아서 함께 공부하면 재미있을 거 같다.
EP.08 파이썬이 C언어보다 느린 이유는?
이 질문에 답변을 하기 위해서는 인터프리터 언어와 컴파일 언어에 대해 알아야 한다.
목차를 보니 후에 더 자세하게 공부하는 단원이 있어서 내가 아는 선에서 가볍게 정리해보려고 한다.
인터프리터 언어
- 실시간으로 번역된다.
- 코드 한 줄마다 바로 번역된다.
- 코드가 많을수록 작업 횟수가 증가한다.
- 한 줄씩 읽기 때문에 오류를 파악하기 힘들다
파이썬, 자바스크립트, SQL, Ruby 등이 인터프리터 언어이다.
컴파일 언어
- 코드를 모두 읽고 통번역한다.
- 작업 횟수가 한정적이다.
- 한 번에 읽어 해석하므로 인터프리터 언어보다 속도가 빠르다.
- 플랫폼에 의존적이다. (플랫폼마다 컴파일 과정이 필요하다)
C, C++, C#, 스위프트, Java, Go, 파스칼 등이 컴파일 언어이다.
따라서 인터프리터 언어인 파이썬이 C언어보다 느리다.
EP.09 자바스크립트는 웹 개발에만 쓰는 언어일까?
자바스크립트로 할 수 있는 것
1. 하이브리드 앱, 크로스 플랫폼 앱 개발 가능 => 아이오닉, 리액트 네이티브
2. 데스크톱 소프트웨어 개발 가능 => 일렉트론
3. 게임 개발 가능 (참고: wanderers.io)
4. 3D, 가상현실, 증강 현실 개발 가능 => three.js
5. 머신러닝 가능 => tensorflow.js
파이썬도 그렇고 하나의 영역에서 더 편리한 언어는 존재하겠지만 대부분의 언어가 넓은 영역의 일들을 할 수 있는 거 같다.
리액트 네이티브와 게임 개발 기능, three.js를 공부해 보고 싶다. 특히 three.js 재밌을 거 같다.
텐서플로는 사용해 봤었는데 자바스크립트로 만들어진지는 몰랐다...!!
EP.10 코틀린은 정말로 자바와 100% 호환될까?
학교 다닐 때 안드로이드 개발을 배웠는데 그때는 자바로 개발했다.
따로 책을 사서 코틀린을 봤는데 훨씬 간단하고 사용하기 편했던 기억이 있다.
그 당시에도 코틀린이 자바 기반 언어라 자바와 사용 가능하다고만 알았지 자세하게는 알지 못했다.
코틀린을 자바 가상 머신을 이용해 자바 바이트 코드로 컴파일하면 자바와 마찬가지로 실행에 사용되는 것은 자바 바이트 코드이기 때문에 둘 사이 100% 호환이 가능하다.
결국 코틀린이 돌아가는 가상 환경이 JVM이기 때문에 가능한 것이었다. 코틀린으로 작성된 코드를 JVM을 사용해 자바 바이트 코드로 컴파일하기 때문에 자바와 호환이 될 수밖에 없다.
코틀린 장점
1. null에서 안전한 언어
null이 발생할 것 같으면 미리 알려준다.
2. 코루틴을 지원한다.
코루틴(coroutine) 문법: 많은 일을 한 번에 실행 가능하게 한다.
코틀린이 null 발생을 미리 알려준다니 모르고 있던 사실이다.
코루틴은 들어만 봐서 궁금했던 것 중에 하나다. 나중에 코틀린 공부하게 된다면 제대로 공부해 봐야겠다.
IT 쿠키 상식: 세상에서 가장 난해한 프로그래밍 언어 1, 2
1. Brainfuck
2. ArnoldC
3. Shakespeare
4. LOLCODE
5. emoji-gramming
세상에 진짜 재밌는 언어가 많구나 싶었다.
나도 수달과 해달로만 이루어진 언어 만들어보고 싶다.
나중에 아이스 브레이킹 할 겸 저 언어들 공식문서 구경해 봐야겠다.
특히 마지막 emoji-gramming 이 언어는 궁금하게 생겼다ㅋㅋ
읽은 소감 + 떠오르는 생각
역시 개발 공부는 만들면서 무수히 많은 오류를 만나고 수정해 가는 과정을 거쳐 잘하게 되는 것 같다.
나도 계속 이론만 잡고 있지 말고 todo나 클론코딩 등 하나씩 만들어가면서 공부해야겠다.
함께, 또 혼자 프로젝트도 진행해 보고!!
그럼 오늘도 공부하러 가야겠다.
'💪 Study > 📚 노마드코더 북클럽' 카테고리의 다른 글
IT 5분 잡학사전 Day 07 (0) | 2024.03.21 |
---|---|
IT 5분 잡학사전 Day 06 (1) | 2024.03.20 |
IT 5분 잡학사전 Day 05 (3) | 2024.03.19 |
IT 5분 잡학사전 Day 02 (0) | 2024.03.16 |
IT 5분 잡학사전 Day 01 (0) | 2024.03.15 |