IT 5분 잡학사전 - 에피소드 06~10

Gata·2023년 11월 12일
0

📘IT 5분 잡학사전

목록 보기
3/10

Today I Learned

2023.11.13

오늘 읽은 범위

에피소드 06. 왜 나만 오류가 자주 생길까?

✅오류를 대응하는 방법

  • 코드를 입력한 건 나 자신이다. 책이나 인터넷을 탓하지 말것
  • 오류에 무작정 달려들지 말고 오류가 '왜' 생겼는지 생각할 것
  • 오류 메세지를 읽을 것

✅프로그래밍 초보자가 하기 쉬운 실수

  • 실수 1. 공부만 하고 실제로 무언가 만들어 보지 않는다.
    프로그래밍 공부는 코드를 시험 준비하듯이 필기하고 암기하는 것이 아니라 나만의 코드로 프로젝트를 완성해보는 것

  • 실수 2. 아직 프로그래밍을 할 준비가 되지 않았다고 스스로를 낮추는 자세.
    뭐든 만들기 시작하면 완성된 결과물이 눈에 보일 것이고, 그 결과물을 보면 뇌는 '난 준비됐다'고 자신을 믿게 될 것이다.

에피소드 07. 파이썬은 왜 이렇게 인기가 많을까?

✅스택오버플로

  • 컴퓨터 프로그래밍에 대한 질문&답변 사이트로 개발자들에 의해, 개발자들을 개발자 커뮤니티
  • 스택오버플로의 매년 가장 인기 있는 언어 순위를 보면 파이썬이 3-4위로 매년 상위권을 차지 한다.

✅파이썬은 왜 인기가 많아?

  • 영어와 비슷하다
  • 활용 범위가 넓다
    • 웹 개발: 장고, 플라스크
    • 인공지능 & 데이터: 케라스, 텐서플로, 판다스
    • 업무 자동화: 엑셀, 메일
    • 이미지 처리
    • 게임
    • GUI
  • 파이썬의 커뮤니티가 어마어마하게 크다
  • 파이썬이 업무 자동화에 완전 찰떡 = 스크립팅(scripting)
    - 지루한 반복 작업을 스르립팅으로 자동화한다.
    • ex) 수백개의 pdf 파일의 이름을 몇 초 만에 변경

에피소드 08. 파이썬이 C언어 보다 느린 이유는?

✅인터프리트 언어

  • 실시간 주절주절 동시 통역 느낌
  • 우리가 파이썬이나 자바스크립트 코드를 치면 동시 통역사인 '인터프리터'가 0과 1로 번역해서 컴퓨터에게 전달.
  • 컴파일 언어보다 느리다.
    - 주절주절 실시간으로 해석하기 때문
    • 오류를 발견하는데 시간이 더 걸린다.
      100줄의 코드 중 98번째 줄에서 오류가 발생하면 97번째 줄까지 실행한 시간은 어쩔..? 98번째 줄에서 갑자기 "나 모르겠어." 시전.
  • 인터프리트 대표 언어: 파이썬, 자바스크립트

✅컴파일 언어

  • 번역가가 원고를 통째로 번역해주는 느낌.
  • 인터프리트 언어보다 빠르다.
    - 완성된 코드를 통번역하니까.
    • 오류를 발견하면 아예 번역을 시작하지 않음. "번역할 수 없는 부분이 발견했어. 완벽히 이해한 다음 나중에 할게."
  • 컴파일 대표 언어: C언어

에피소드 09. 자바스크립트는 웹 개발에만 쓰는 언어일까?

  • 자바스크립트는 세상에서 가장 유명한 프로그래밍 언어
  • 하이브리드 앱 (아이오닉Ionic 이용), 크로스 플랫폼 앱 (React Native 이용)을 만들 수 있음. 즉, 한번의 개발로 아이폰, 안드로이드 폰 양쪽에서 사용할 수 있는 모바일 앱을 만들 수 있음
  • 자바스크립트와 일렉트론을 이용해서 윈도우, 맥, 리눅스를 위한 데스크톱 소프트웨어를 만들 수 있음
    - 일렉트론: HTML, CSS, 자바스크립트를 컴파일해서 윈도우, 맥, 리눅스에 설치할 수 있는 소프트웨어를 만들어 주는 도구
  • phaser.js, impact.js라는 도구로 게임을 만들 수 있다.
  • 3D, 가상 현실(VR), 증강 현실(AR) 개발을 할 수 있다. three.js를 이용해서 3D 게임, 인터랙티브 웹사이트를 만들 수 있다.

three.js로 개발한 3D 게임 <헤라클로스>

  • tensorflow.js라는 도구로 인공지능, 머신러닝을 할 수 있다.

참고) HTML

  • 프로그래밍 언어 아님
  • 하이퍼 텍스트 마크업 언어
  • 인터넷에서 사용자와 서버가 정보를 주고받기 위한 일종의 규칙

에피소드 10. 코틀린은 정말로 자바와 100% 호환될까?

  • 코틀린은 자바 개발자에게 꼭 추천되는 언어
  • 구글이 안드로이드 앱 개발에 사용하면 좋은 언어로 추천했음.
  • 코틀린은 자바와 100% 호환됨
    여기서 '100% 호환'은 무슨 의미? 자바 코드에서 코틀린 코드를 부를 수도 있고, 반대로 코틀린 코드에서 자바 코드를 부를 수도 있어야 한다.

✅원리가 뭐야?

컴필레이션(compilation)과 인터프리테이션(interpretation)

  • 컴필레이션: 코드 전체를 받아서 기계어로 통번역 하는 것

  • 인터프리테이션: 코드를 한 줄, 한 줄 실시간으로 기계어로 해석

  • 자바는 컴필레이션과 인터프리테이션을 다 활용한다.
    자바는 컴파일 과정에서 자바 바이트 코드로 변형된 다음, 가바 가상 머신이 해석해서 윈도우, 리눅스, 맥OS용 기계어로 변역한다.

<자바의 원리>

코틀린을 자바 바이트로 컴파일하기만 하면 되기 때문에 코틀린을 자바로 100% 호환할 수 있다.

✅코틀린을 써야하는 이유는?

장점 1. 코틀린은 null safety(널에서 안전한) 언어다.

  • null이 있는 자바 같은 경우에서는 프로그램에서 처리할 값이 없으니 오류가 생길 수 있다. 코틀린은 null이 있을 것 같으면 미리 개발자에게 알려주기 때문에 오류의 발생 가능성을 줄여준다.

장점 2. 코틀린은 코루틴(coroutine)을 지원하는 문법이기 때문에 한 번에 많은 일을 실행할 수 있게 해준다.

장점 3. 코틀린으로 안드로이드 앱을 개발할 수 있다.

장점 4. 코틀린은 자바스크립으로 컴파일해서 React나 Node.js에서 사용할 수 있다.

오늘 TIL 요약

  • 실제 프로젝트를 만들어보는 것이 진정한 프로그래밍 공부다!
  • 인터프리트 언어는 동시 번역이고 컴파일 언어는 원서 통번역이다!
  • 자바스크립트로 크로스 플랫폼 앱과 데스크 톱 앱을 만들 수 있다!
  • 코틀린은 자바와 100% 호환된다!

오늘 읽은 소감 및 떠오르는 생각

장고를 이용한 웹개발과 자바스크립트를 이용한 하이브리드 앱이나 크로스 플랫폼 앱 같은 모바일 앱을 만들어보고 싶다.
그럼 나는 자바스크립트와 파이썬을 배우면 되겠네? 지금 바닐라JS를 배우고 있으니 더욱 이 과정에 집중해야겠다!

슬랙 사용해 보기

profile
개발은 즐거워🪇

0개의 댓글