JS
자바스크립트
- 바닐라 스크립트(구형 방식)
- 모던 자바스크립트(구형 방식)
- 이크마스크립트(ECMAScript)
표준
- W3C : 웹 표준
- ECMA : 자바스크립트 협회 표준
자바스크립트 반복문
- for : 일반적인 반복문
- for in : 객체
- for of : 배열
html과 JS 연결
내부, 외부, 인라인
자바 스크립트 출력
- 콘솔: console.log();
-> 크롬 개발자 모드에서 console창에서 확인가능
- 웹문서: document.write();
자바스크립트 데이터
- 문자열
- 숫자(정수/실수를 구분하지 않음)
- 불린
실수 계산시 주의점
부동소수점 방식으로 실수를 표현하는 프로그래밍 언어이므로 실수계산이 정확하지 않다.
키워드 enum
js에는 없음 타입스크립트에는 있음
확장자
js 와 ts
ts는 좀더 명확하게 형을 지정하여 실수를 줄인다.
let a:number =5
a= '5' <- 허용하지 않음
let a = 5
a= '5' <- 허용
a= '문자' <- 허용
키워드 async, await
- 콜백지옥을 벗어나기위해서는? -> promise로 ES6에는 해결 -> 최근 ES7에는 async/ await
- 콜백지옥: 자바스크립트에서 비동기 작업(순서 없이 동시에 시작)을 순차로 처리할 때 콜백 함수(callback function)를 사용한다. 콜백 함수를 중첩해서 사용하면 코드의 가독성이 나빠지고 유지보수도 어려워지는 문제가 발생할 수 있습니다.
- ES7에서 추가된 기능
catch, throw
예외처리
finally
백틱(" ` ")
jsp EL 문자와 유사
jsp에서는 db에 있는 것을 웹에 뿌리기위해 EL 문자들을 사용
JSTL : EL문자를 제어(for문등)
실습시
JAVA
MVC2 구조
html/jsp
Controller - Service - DAO(Repository) -VO(@lombok)
1. 자바로 짜면 servlet
ORM
- OLE -> 데이터를 다른 프로그램과 공유(엑셀 표 <-> 파워포인트 표등)
- ORM -> 데이터 베이스를 SQL 문이 아닌 다른 프로그램으로 작성
1) XML : MyBatis(iBatis)
2) Java : JPA(Hibernate)
- OOP: 객체지향
- AOP: SpringFramework 에서 제공, 관점지향
랜더링사이드
리액트 이후로 CSR , SSR, SEO로 구분하게 되었다.
let 변수 키워드
- 변수 중복 불가능
- 호이스팅 되지 않음
스코프가 맨위로 올라가지 않음
- 참조 스코프의 범위가 다름(지역, 전역 구분)
V8 엔진
Google이 개발한 오픈소스로 가장 대중적인 자바스크립트 엔진. js가 독립된 언어인 이유는 v8일 대중적으로 쓰였기 때문.
'use strict'
const 상수키워드
식별자 명명 규칙
카멜, 언더스코어(스네이크), 파스칼
정규표현식
java 언어 뿐 아니라 다른 언어에서도 공통사용
https://cafe.naver.com/hamminglab/18745
기타
- 하이퍼바이저 : vmWare, VirtualBox
- devops : 관리와 개발부서가 하나로
- 모놀리식, 마이크로 서비스
- 버전
- java 버전별
java 8/11 -> 톰캣9 -> 스프링5 -> 스프링부트2.x
java 17 ->톰캣6 -> 스프링6 -> 스프링부트3.x
- mysql 8, maria db 10 을 사용 -> mysql 5.7로 세팅시 한글깨짐등을 전부 세팅해줘야함
- CSS3 / js ES6(2015) > js ES7(2016)
언어 변환
- 컴파일러(기계어로 변환)
- 인터프리터
- 어셈블러
- 바이트 변환 -> java, C#
- 트랜스 파일러 -> Babel
ESLint, Prettier
react에서 공부
KRNIC
한국 DNS
redHat linux
개발툴
Oracle - developer
MySQL - Workbench
mariaDB - Heidisql
- DBeaver
mvn repository
spring 사용시 자주 사용. maven -> 최근에는 gradle
react, node.js 라이브러리 사이트
https://www.npmjs.com/
천재
-> java 11, xml, maven 사용
(ORM -> 데이터 베이스를 SQL 문이 아닌 다른 프로그램으로 작성
1) XML : MyBatis(iBatis))
mysql 쓰지만 유료버전. 그래서 학습시는 mariaDB
과제
개인과제 java : driver, connecter 연결은 복붙하기
mysql로 개인과제시 아래 파일 참조
https://cafe.naver.com/hamminglab/20788
defer 이해하기
드림코딩 js에서 확인.
jsp Lazy와 차이 확인
<script src="./script.js" defer></script>
<script src="javascript/script.js" defer="defer" type="text/javascript"></script>
https://cafe.naver.com/hamminglab/18378
https://cafe.naver.com/hamminglab/19564
Lazy 이해하기
https://cafe.naver.com/hamminglab/19720