Nomad Coders Book Club Challenge (2 weeks) - Day 3

오늘 TIL 3줄 요약

  • 파이썬은 인공지능, 데이터, 웹개발, 업무자동화, 게임, GUI분 등 여러 분야에서 활용도가 높고, 가독성이 좋아 인기가 많지만 C언어보다는 느리다!
  • 자바스크립트는 대부분의 웹사이트에 사용되는 HyperText Markup으로 웹, 앱, 3D 게임, 머신러닝에서 쓰일 수 있어 다재다능하다.
  • 코틀린은 자바머신을 사용하여 100% 자바와 호환될 수 있는 개발 언어로 null safety하고, Coroutine 문법을 지원하여 한번에 많은 일을 할 수 있게 해준다.

TIL(Today I Learned) 날짜

2024/01/07

오늘 읽은 범위

Episode 6 ~ Episode 10
6. 왜 나만 오류가 자주 생길까?
7. 파이썬은 왜이렇게 인기가 많을까?
8. 파이썬이 C언어보다 느린 이유는?
9. 자바스크립트는 웹개발에만 쓰는 언어일까?
10. 코틀린은 정말로 자바와 100% 호환될까?

책에서 기억하고 싶은 내용을 써보세요.

[EP6]

오류가 생겼을때 현명하게 대응하는 방법 3 가지

  • 인터넷이나 문서에서 본 코드가 문제가 생겼을때, 본인이 작성해서 오류가 생겼을 경우를 배제하지 말아야한다.
  • 오류부터 고치려고 하지않아야하며 원인부터 살펴보고 알아본다.
  • 오류 메시지를 읽고 발생한 위치와 고치는 방법을 습관을 가진다.

프로그래밍 초보자가 해야하는 몇가지 공부법

  • 개발공부를 한 뒤 반드시 나만의 프로젝트를 만들어본다.(간단한것부터 차근차근! 계산기, 웹스크래퍼 등...)
  • 공부, 강의에만 집중하지말고 자신의 성과를 측정할 수있는 결과물을 만들어본다.

[EP7]

2021년 기준 Javascript, Html/CSS, Python이 개발자들에게 가장 인기있는 기술들이다.
파이썬의 인기 이유

  • 파이썬은 영어와 매우 비슷해서 타 언어들보다 직관적으로 코드를 이해하기 쉽다.
  • 파이썬은 인공지능, 데이터, 웹개발, 업무자동화, 게임, GUI분야 등 활용 범위가 매우 넓다.
  • 활용 범위가 넓은 만큼 다양한 분야에서 자신이 만든 프로그램(오픈소스)를 공유하며 활동 하기 때문에 파이썬의 커뮤니티가 거대하다.
  • 파이썬은 업무 자동화(scripting)에 잘맞는 언어이다.
    - 여러파일의 이름을 빠르게 바꾸는등 간단한 반복적인 작업을 자동화 처리하여 작업 시간을 줄여준다.

[EP8]

2가지 방법으로 번역되는 프로그래밍 언어

  • Interpreted Language
  • Compile language

Interpreted Language: 인터프리터 언어는 0과 1로 된 기계어가 아니라 사람이 이해할 수 있는 텍스트 형태의 코드를 사용하여 프로그래밍을 하며, 코드를 실시간으로 읽고 해석하여 실행하는 언어입니다.
대표언어: python, Javascript

Compile Language: 컴파일 언어는 소스 코드를 전체적으로 번역(컴파일)하여 기계어로 변환하는 방식을 사용합니다. 번역 과정에서 코드를 훑어보고 문법 오류 등을 미리 발견할 수 있어 오류를 쉽게 찾을 수 있습니다. 대표언어: C,C++,Java, Go

두 언어의 차이점은 실시간 처리의 여부이다.

따라서, 파이썬은 C언어보다 느리다. 인터프리터 언어(python)는 실시간으로 통역해야해서 작업해야 하는 횟수가 늘어나는데에 반해, 컴파일언어(C)는 한번에 묶어서 번역하기 때문에 중간 과정이 인터프리터 언어에 비해 단순하다.

[EP9]

대부분의 웹사이트는 자바스크립트를 사용하기 때문에 자바스크립트는 현재 세상에서 가장 유명한 프로그래밍(HyperText Markup) 언어이다.

자바스크립트의 여러 활용법

  • 한번의 개발로 아이폰,안드로이드폰에서 사용할 수 있는 하이브리드 앱, 크로스 플랫폼 앱을 만들 수 있다.

    • Ionic을 이용하여 하이브리드 앱을 만들 수 있다.
    • React Native를 이용하여 크로스 플랫폼 앱을 만들수 있다.
  • 윈도우, 맥, 리눅스를 위한 데스크톱 소프트웨어를 만들 수 있다.

    • Electron라는 도구를 사용하여 소프트웨어를 만들 수 있다.
  • 게임을 만들 수 있다.

    • Phaser.js, impact.js를 사용하여 게임을 만들 수 있다.
    • node.js, soket.io와 같은 네트워크 관련 도구를 사용해 멀티플레이 게임도 만들 수 있다. 예: wanderers.io
  • 3D, 가상현실(Virtual Reality), 증강 현실(Augmented Reality) 개발도 가능하다.

    • three.js를 사용한 3D 개발예시: Heraclos, Campo Alle Commete
    • A-Frame, AR.js: 카메라, 각종 센서를 활용 가능하게 하다.
  • 머신러닝(machine Learning)도 가능하다

    • tensorflow.js라는 도구를 사용하여 인공지능을 만들수 있다.

[EP10]

Kotlin은 Java와 100% 호환된다.
100% 호환 이란? 자바 코드에서 코틀린 코드를 부를 수도 있고, 반대로 코틀린 코드에서 바자코드를 부를 수도 있다.(자바 가상 머신을 사용하여!)

자바는 앞서 설명한 Compile언어와 Interpreted언어를 둘 다 사용한다.
자바코드 변환 과정:

  • Java code -> [Compile] -> Java bite code -> [Java Virtual Machine]
    -> Window Machine language / Linux Machine Language / Mac OS Language

따라서, 코틀린을 Java bite code로 컴파일 하면 Java code와 같이 사용된다.

Kotlin의 장점

  • Null safety 언어이다.
  • 많은 일을 한번에 실행할 수 있게 해주는 Coroutine 문법을 사용할 수 있다.

Kotlin의 활용법

  • 안드로이드 앱
  • React.js 나 Node.js: 코틀린 코드를 자바스크립트로 컴파일해서 활용
  • 데이터 과학/ 데이터 시각화

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.

파이썬은 몇 년 전 부터 배우고 싶었지만 자세하게 개념이나 활용도를 이해하지 못해 흐지부지 미뤄두었던 언이이다. 파이썬은 최근에 다시 공부하기 시작했는데, 이전과는 다르게 코드가 깔끔해서 배우는 내내 쉽게 코드를 따라 작성할 수 있어 재미를 느꼈었다. 여러 분야에 사용되는 만큼 이번기회에 나만의 프로젝트를 만들어 실무에서 쓸 수 있는 경험을 만들어봐야겠다. 자바스크립트는 웹개발과 뗄 수 없는 필수 언어로 여러차례 실무에서 사용해보았고, 늘 봐왔었다. 하지만, 아직까지 확실하게 스스로 학습했다고 말할 자신이 없었는데, 여러분야에서 활용이 된다고 하니 올해에는 반드시 파이썬과 함께 마스터해보려고한다!

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

compile language, interpreted language는 은연중에 들어봤던 개념들이었다. 하지만 어떤 언어가 컴파일 언어인지, 인터프리티트 언어인지 구분하지않고 문법만을 외워 닥치는대로 써왔던것같다. 아직도 어떻게 작동하는지도 모르는채 사용하는 언어들이 많다. 각 언어별로, 기본 작동 원리, 개념등 다른 언어와의 차이점 등등 명확한 개념을 가지고 구분할 수 있도록 해야할 필요성을 느꼈다.

Today's Mission

profile
Fresh Start

0개의 댓글