분류 전체보기
-
🌈 SPA(싱글 페이지 애플리케이션)React 2020. 7. 26. 19:03
✌ 라운드 트립 애플리케이션(round-trip) 오랫동안 웹 앱은 라운드 트립 모델을 따랐다. 먼저 브라우저는 첫 HTML 페이지를 서버에 요청하고 수신하고 링크 클릭이나 폼 제출 등 사용자의 행위가 일어나면, 브라우저는 다시 완전히 새로운 HTML 콘텐츠를 요청하고 수신한다. 이런 방식은 애플리케이션에서 브라우저는 본질적으로 HTML 콘텐츠의 렌더링 엔진일 뿐이며, 모든 애플리케이션 로직과 데이터는 서버에 존재한다. 브라우저는 일련의 stateless(무상태) HTTP 요청을 보내고 서버는 그에 따라 HTML 문서를 동적으로 생성해 처리하는 식이다. 웹 브라우저의 사용률이 낮은 대신 다양한 종류의 클라이언트를 지원할 때 라운드 트립 방식의 웹 개발을 많이 채택한다. ❗ 라운드 트립 애플리케이션의 단점..
-
[JavaScript] 정규표현식(regular expression)JavaScript 2020. 7. 11. 16:28
🌈 정규 표현식 정의 자바스크립트에서 정규 표현식은 RegExp 객체로 표현된다. 정규 표현식 리터럴은 한 쌍의 슬래시(/) 문자 사이에 위치한다. // s로 끝나는 모든 문자열과 매치된다. const pattern = /s$/; // 문자열 리터럴 const pattern = new RegExp('s$'); // RegExp() 생성자를 사용하여 정의 🎈 리터럴 문자 모든 영문자와 숫자는 그 문자 그대로 정규 표현식에서 매치된다. 특정한 비-알파벳 문자들은 역슬래시(\)로 시작하는 이스케이프 문자열을 통해 지원한다. 구두점 문자(?,!,.,등등)를 일반 문자로 취급할려면 반드시 \를 문자 앞에 붙여야 한다. // 역슬래시를 포함하는 모든 문자열과 매치된다. const pattern = /\\/; 이스케..
-
[React] 함수형 컴포넌트의 React hooksReact 2020. 6. 23. 20:17
🌈 Hook의 개요 Hook가 React 버전 16.8에 새롭게 추가되었다. Hook를 이용하여 Class를 작성할 필요 없이 상태 값과 여러 React의 기능을 사용할 수 있다. 🔸 Hook를 만들게 된 동기 컴포넌트 사이에서 상태와 관련된 로직을 재사용하기 어렵다. 복잡한 컴포넌트들은 이해하기 어렵다. Class은 사람과 기계를 혼동시킨다. 📌 자세한 내용 참조 🌈 Hook의 규칙 Hook을 사용할 때는 두 가지 규칙을 준수해야 한다. 이러한 규칙을 자동으로 지켜주는 linter 플러그인이 있다. 위 ESLint 플러그인은 create react app에 기본적으로 포함하고 있다. 1. 최상위에서만 Hook을 호출해야 한다. 반복문, 조건문 혹은 중첩된 함수 내에서 Hook을 호출하지 않는다. 2. ..
-
[JavaScript ES6/ ecmascript 2015] 문법 정리JavaScript 2020. 6. 19. 15:51
✔ ES2015+ ✒ const, let const와 let은 블록 스코프이다. if(true){ var x = 3; } console.log(x); // 3 if(true){ const y = 3; } console.log(y) // Uncaught ReferenceError : y is not defined if(true){ let z = 3; } console.log(z); // Uncaught ReferenceError: z is not defined for(var i=0; i { return x + y; } const add3 = (x,y) => x + y; 🔸 this 바인드 방식 일반 함수의 자신을 호출하는 객체를 가리키는 dynamic this였다. var relationship1 = { ..
-
JAVA 직렬화(Serializable)란?JAVA&SPRING 2020. 6. 17. 14:07
우리가 SPRING 개발을 하다 보면 클래스에 implements Serializable 되어있는 VO(Value Object)가 많이 보았을 것이다. 그냥 남들이 쓰니까 써야 한다고 생각하고 쓰는 개발자도 있을 것이고 나 또한 그랬는데 Serializable를 왜 쓰느냐라는 얘기를 듣고 대답할 수 없어서 직렬화에 대해서 공부를 했다. ✔ 직렬화 자바 시스템 내부에서 사용되는 Object 또는 Data를 외부의 자바 시스템에서도 사용할 수 있도록 바이트 형태로 데이터를 변환하는 기술로써, JVM의 메모리에 상주되어 있는 객체 데이터를 바이트 형태로 변환하는 기술이다. 다차원의 자료를 파일로 저장하거나 네트워크로 보내기에 알맞게 일차원으로 펼치고 다시 원래대로 되돌리는 것을 직렬화(serialization..
-
JAVA Spring의 @SuppressWarnings 어노테이션JAVA&SPRING 2020. 6. 16. 18:16
✔ @SuppressWarnings 이란? @SuppressWarnings 어노테이션은 컴파일 경고를 사용하지 않도록 설정해주는 것으로 한마디로 이클립스에서 노란색 표시줄이 나타내는 것 즉, 경고를 제외시킬 때 사용한다. 또한, 두 가지의 종류를 같이 사용할 때는 @SuppressWarnings({"unused", "unchecked"})처럼 객체 형식으로 묶어서 사용한다. 🔶 @SuppressWarnings("unused") 사용하지 않는 코드 또는 불필요한 코드가 있을 경우 경고를 억제시켜준다. @SuppressWarnings("unused") private final Logger logger = LoggerFactory.getLogger(getClass()); 🔶 @SuppressWarnings("..