# 언어 기본 - int a = b + 10 ![](https://i.imgur.com/bKKOTKt.png) ![](https://i.imgur.com/mQ6AyRQ.png) ![](https://i.imgur.com/4z6dOJS.png) ![](https://i.imgur.com/7BkbDPj.png) # 언어 특징 - C - 최초의 고급언어. 메모리 직접 접근 가능 - Java - JVM 가상머신. JAVA로 컴파일된 프로그램은 OS에 상관없이 실행가능 But 느림 - Javascript - 웹을 위해 구현된 언어. 최근에 Node 라는게 생겨서 웹 외 서버에서도 사용가능 - 느슨한 타입 VS 엄격한 타입 - Type이 정의 안됨 -> 버그 발생할 확률이 높음, 자유로움 사용자가 쓰기위움 - JavaScript -> TypeScript - Type이 정의 됨 -> 버그찾기가 쉬움 - Java(Strict) -> Kotlin - 인터프리터 VS 컴파일러 :+1: - 컴파일러는 전체를 분석해서 수행. 틀린부분이 있으면 다시 처음부터 컴파일 시작 - 인터프리터는 한줄씩 수행. 한줄씩 수행하니 틀린 부분 찾기가 힘듬 - 최근에는 JIT # 코딩 컨벤션 - 각 언어마다 변수명 짓는법이 정해져 있음 (네이밍 컨벤션) - https://hoonesden.tech/posts/namingconvetion/ - 프로젝트 별로 컨벤션이 존재하기도함 - 요새는 규칙을 정의하면 자동으로 검사해주는 프로그램도 존재함 - indent를 텝으로할지 스페이스로 할지. 스페이스면 몇칸으로 할지 ```javascript= if(){ console.log("aaaa") }else{ } if(){ console.log("aaaa") } else{ } if() console.log("aaaa") if() consolo.log("aaaa") ``` - 베스트 셀러 - http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9788966260959 # 백엔드 VS 프론트엔드 - 백엔드 - DB와 통신 + API 구현 - 서버 구조 (데이터 분산, 기타 등등) - DB와 직접 통신? 뚤어주세요 - 스프링 공화국 - 프론트엔드 - API를 가공 - 웹페이지 제작 - 웹 퍼블리셔 - 리액트, Vue # 언어를 안다 - 단순 if,for,while 아는게 X - javascript 기준 - 함수형 언어 (함수를 인자로 주고, 리턴할 수 있다) - Closures 같은 특징을 알 수 있다.