일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩애플자바스크립트
- 프론트엔드웹개발의모든것초격차패키지Online
- 딥 다이브
- 엘리스트랙 프리트랙
- 노마드코더 #북클럽
- 패스트캠퍼스 강의 패키지
- 노마드북챌리닞
- 문자열과 불변성
- 프론트엔드웹개발의모든것초격차패키지
- 강의 패키지
- 유사배열
- 패스트캠퍼스
- 한화시스템 부트캠프 5기
- 프론트엔드 강의
- 모던 딥다이브
- 코딩애플 자바스크립트
- 자바스크립트
- 노마드코더 #개발자북클럽
- 프론트엔드 강의 패키지
- deep dive
- 리액트JSX문법
- 자바스크립트 연산자
- 패스트캠퍼스이벤트
- 프론트엔드강의
- 코딩애플
- 한화시스템 5기
- 원시값
- JSX문법
- 패스트캠퍼스 프론트엔드
- 한화시스템 부트캠프
- Today
- Total
개발자 연쨘
TIL2. EP6 ~ EP10 본문
오늘 TIL 3줄 요약
- 오류를 만났을때 구글링 하기보다는 오류내용을 확인해보자
- 자바와 코틀린은 100%호환되는 프로그래밍언어이다.
- 자바스크립트의 활용도는 무궁무진하다.
TIL (Today I Learned) 날짜
2023. 10. 08
오늘 읽은 범위
에피소드06 왜 나만 오류가 자주 생길까?
에피소드07 파이썬은 왜 이렇게 인기가 많을까?
에피소드08 파이썬이 C 언어보다 느린 이유는?
에피소드09 자바스크립트는 웹 개발에만 쓰는 언어일까?
에피소드10 코틀린은 정말로 자바와 100% 호환될까?
책에서 기억하고 싶은 내용을 써보세요.
오류를 만났을 때
방법1 문제가 생겼을 때 나 자신을 문제에서 빼지 말 것
코드가 작동하지 않는 이유는 '코드를 입력한 나 자신 때문이다'
-> 이렇게 생각하면 시야를 더 넓게 가질 수 있음
방법2 오류부터 고치려고 무작정 달려들지 말 것
오류를 고치기 전에 오류가 왜 생겼는지 알아야함.
방법3 오류 메시지를 읽을 것
초보가 절대 안하는 것은 오류 메시지를 안읽는건데 꼭 읽어봐여함
코드로 돌아가서 확인하지말고 일단 오류 메시지부터 읽는 습관이 중요함
☺️ 공부만 하고 실제로 무언가 만들어 보지 않으면 안돼:
프로그래밍은 직접 손으로 해야해. 프로그램은 동사야!
프로그래밍 공부한다면 나만의 코드로 프로젝트를 완성하는 것을 목표로 해야함.
초보자에게는 현실적인 목표를 세우는게 중요해 (예를 들면 계산기 만들기, 미니게임 등)
무언가를 만들고 창조해야 실력이 늘음
☺️ 항상 프로그래밍을 할 준비를 더 해야 한다고 생각하면 안돼:
수업을 하나 더 들어야 한다, 책을 더 봐야한다 이런건 다 핑계야
이렇게 자신을 과도하게 낮추는건 정말 좋지 않음.
이런 상황에서 벗어나려면 바로 프로그래밍을 시작하면돼
뭐든지 만들기 시작하면 결과물은 나올것이고 그 결과물엔 내가 공부한게 다 들어있음.
그 결과물을 보는 순간 나 자신을 믿게 될 것.
나를 측정하기 위해 무엇이든 만들어보기.
파이썬이 인기가 많은 이유
스택오버플로에서 보면 파이썬이 인기가 많은걸 알 수 있음
*스택오버플로 : 개발자의 성지, 개발자가 가장 많이 질문하고 답변하는 커뮤
● 파이썬은 영어와 매우 비슷해서 친숙하다
영어와 닮아서 언어를 모르더라도 파이썬에 대한 거부감이 덜함
● 파이썬은 활용 범위가 넓다
파이썬은 특정 분야에서 쓰이는 언어가 아니라 만능 도구.
이것저것 다 해보고 싶은 사람에게 파이썬 추천!
● 파이썬의 커뮤니티는 어마어마하게 크다
파이썬은 활용 범위가 넓어서 개발자도 다양한 분야에서 모이기 쉬움.
다른 언어에 비해 정보를 쉽게 찾을 수 있다는 말.
● 파이썬의 업무 자동화에 완전 좋음
수백 개가 넘는 파일의 이름을 바꿔야 할 때 파이썬으로 스크립팅을 할 줄 안다면
몇 시간이 걸릴 일을 몇 초 만에 할 수 있음. 이런 스크립팅 배우는것도 쉬움
파이썬이 C 언어보다 느린 이유?
파이썬은 C언어보다 느리다는거지 느린언어라고 착각하진 말기!
프로그래밍 언어는 반드시 0, 1로 해석해 주는 과정을 거쳐야함 -> 여기에 프로그래밍 언어 속도가 결정됨
● 2가지 방법으로 번역되는 프로그래밍 언어
인터프리트 언어 : 동시 통역사처럼 해석함
중간에 동시 통역사 역할을 해주는 언어임.
0과 1을 사용해서 프로그래밍 언어를 실시간으로 번역해줌
인터프리트 언어의 대표적인 프로그래밍언어는 파이썬과 자바스크립트 !
컴파일 언어 : 도서 번역가처럼 해석함
번역가가 원고를 읽고 통째로 번역한다음 우리에게 전달해주는 느낌
이렇듯 인터프리트 언어와 컴파일 언어의 차이는 실시간 여부에 달려 있음
그리고 이러한 이유로 프로그래밍 언어에 속도 차이가 생기는것
그래서 왜 파이썬과 C언아 프로그래밍 언어에 속도 차이가 나는건데?
파이썬은 인터프리트 언어이고 C언어는 컴파일 언어임!
여기서 파이썬은 실시간으로 통역해주고 코드가 길어질수록 작업해야 하는 횟수가 늘어남
하지만 C언어는 완성된 코드를 한꺼번에 묶어서 통역번역하므로 작업횟수가 한정되어있음!
중간과정이 단순하기 때문에 C언어가 더 빨라!
# 인터프리트 언어는 오류를 제때 알기가 힘들음
인터프리트는 실시간으로 번역하다가
"이게 무슨 말이야?" 이렇게 해서 대화가 막힐 수 있어.
이 상황이 개발자에게는 치명적임
100줄을 번역해야하는데 97번까지 잘 실행되다가
98번에서 오류가 생기면 그전에 실행한 시간은
다 버리는거니까...
반면 컴파일 언어는 다 번역할 때까지 대화를 시작하지 않음.
번역되지 않는 지점을 발견하면 "여기를 완벽하게 이해한 다음에 대화를 시작해야할것 같다"고
알려줌.
자바스크립트는 웹 개발에만 쓰는 언어일까?
현재 세상에서 가장 유명한 프로그래밍 언어는 자바스크립트.
자바스크립트를 쓰는 활용법
● 하이브리드 앱, 크로스 플랫폼 앱을 만들 수 있음
*하이브리드 앱 :한번의 개발로 아이폰, 안드로이드폰에서 사용할수 있음
● 윈도우, 맥, 리눅스를 위한 데스크톱 스포트웨어를 만들 수 있음
일렉트론을 활용하면 가능!
*일렉트론: HTML, CSS, 자바스크립트를 가져다 컴파일해서 윈도우, 맥, 리눅스에
설치할 수 있는 소프트웨어를 만들어주는 도구
● 게임 만들 수 있음
phaser.js, impact.js라는 도구를 사용하면 게임 만들 수 있음 (물리엔진이 포함 되있는 도구)
● 3D, 가상 현실, 증강 현실 개발도 가능
three.js로 제작 가능
A-Frame과 AR.js를 활용하면 카메라와 각종 센서를 활용한 웹 사이트를 만들 수 있음
● 머신러닝 가능
tensorflow.js라는 도구를 사용하면 인공지능을 만들 수 있음
코틀린은 정말로 자바와 100% 호환이 될까?
자바로 만들어진 시스템 유지, 보수 할 때 뭔가를 바꾸거나 하지 않아도 코틀린으로도 가능함.
● 자바 코드에서 코틀린 코드를 부를 수도 있고 반대로 코틀린 코드에서 자바 코드를 부를 수 있음.
이것이 가능한 이유는 자바 가상 머신 때문 !
● 자바는 인터프리테이션과 컴필레이션을 다 활용함.
여기서 컴파일해서 얻은건 기계어가 아님. 자바 바이트 코드임.
그리고 이 자바 바이트 코드는 다시 윈도우용, 리눅스용, 맥OS에서 실행될 때
자바 가상 머신에서 해석해서 각각의 기계어로 번역해줌
코틀린을 자바 바이트 코드로 컴파일하기만 하면 되기 때문에 호환 100% 되는것.
결국 실행에 쓰이는 것은 자바 바이트 코드기때문에 가능한것
자바 말고 코틀린을 써야하는 이유
● 코틀린은 null에서 안전함
프로그램에서 null이 있으면 프로그램으로서는 처리할 값이 없으니
오류가 발생하는데 코틀린은 null을 허용하기는 하나 자바와 달리
null발생의 가능성을 미리 검사해줌
● 코틀린은 코루틴을 지원하는 언어
코루틴 문법은 많은 일을 한번에 실행 할 수 있게 해줌.
● 코틀린을 사용하면
-안드로이드 앱 개발 가능
-코루틴 문법으로 인해 한번에 많은 일을 할 수 있게 해줌
-자바스크립트로 컴파일될 수 있어서,
코틀린으로 작성한 코드를 자바스크립트로 컴파일해서 리액트나 노드제이에스에 활용 가능
-데이터 과학에 사용 가능
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
오류를 만났을때 구글링부터 했었어서 오늘 읽은 내용은
약간 찔리는 내용이 많았다. 이제는 구글링부터 하기보다는 오류내용을 확인해보아야겠다.
그리고 자바스크립트는 단순히 웹페이지를 동적으로 꾸며준다고 알고있었는데
생각했던것보다 더 다양한것을 할 수 있다는것을 알았고, 자바스크립트에 대한 배움의 열정이 더 커졌다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
● 컴파일은 플랫폼에 의존하고 코드가 실행될 환경이 달라지면 그때마다 컴파일 과정을 한번씩 실행해줘야함
(운영체제마다 각각 서로 다른 기계어를 쓰기때문)
이부분에 대해 이해가 아직 완벽히 가지 않아서 다시 읽어봐야할것 같다.
오늘 읽은 다른사람의 TIL
'스터디 > IT 5분 잡학사전 도서 챌린지' 카테고리의 다른 글
TIL4. EP16 ~ EP21 (0) | 2023.10.12 |
---|---|
TIL 3. EP 11~EP15 (0) | 2023.10.11 |
TIL 1 5분 잡학사전 EP.1 ~ EP.5 (0) | 2023.10.08 |
IT 5분 잡학사전 챌린지 (0) | 2023.10.06 |