[Web] SSR vs CSR
2022. 8. 30. 11:29
Computer Science/Web programming
SSR과 CSR? SSR(Server Side Rendering) 서버측에서 렌더링 준비를 마친 채로 클라이언트에게 전달하는 방식 클라이언트가 서버에 페이지 요청 > 서버는 렌더링 가능한 HTML 파일을 생성 > 클라이언트는 서버로부터 렌더링 준비된 HTML 파일을 받게 되고, 즉시 렌더링 > 클라이언트가 Javascript를 다운로드 받음(다운받는 사이에 유저는 페이지를 볼 수는 있지만 조작은 불가능) > 브라우저가 Javascript 실행 > 사용자가 페이지 조작 가능 ⚠ 그림에서 TTV(Time To View)는 화면까지의 도달 시간, TTI(Time To Interactive)는 반응을 하기까지의 시간이다. CSR(Client Side Rendering) 클라이언트측에서 페이지를 렌더링 하는 방식..
Spring 버전별 특징
2022. 8. 19. 16:37
Computer Science/Web programming
회사 멘토님이 Spring 버전별 차이를 알고 있는지, 그동안 어떤 버전을 써왔는지 물어보셨다. 생각 해보니 나는 어떤 버전의 Spring, Spring Boot를 쓰고 있고 버전별 차이점이 무엇인지에 대해 전혀 알지 못하고 있었다. 그래서 공부도 할겸 정리해보았다.Spring 2.xXML 네임스페이스와 AspectJ를 지원한다Spring 3.x 프레임워크 코드베이스 전반에 걸쳐 강력한 Java 5+ 기반과 Java 기반 @Configuration모델과 같은 기능을 도입한다 Bean을 XML 형태로 관리할 수 있다 RestTemplate을 지원한다 JavaConfig 프로젝트의 몇몇 핵심 기능을 스프링 프레임워크에 추가했다 이 말은 다음 어노테이션을 이제 어노테이션을 이용해 DI 를 지원한다는 것이다 @..
[Web] TDD 방법론
2022. 5. 24. 15:46
Computer Science/Web programming
스타트업의 구인공고나 개발 블로그를 보면 TDD라는 단어를 쉽게 접할 수 있다. TDD는 무엇일까? TDD란? Test Driven Development로 '테스트 주도 개발'이라고 한다. 반복적인 테스트를 이용한 소프트웨어 방법론으로, 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현하는 방법론이다. TDD의 개발 주기 일반적인 개발 방식 TDD 요구사항 분석 > 설계 > 코드 개발 > 테스트 > 배포 요구사항 분석 > 설계 > 테스트 코드 작성 > 코드 개발 > 리팩토링 TDD의 개발 주기 1. 테스트 실패 구체적인 하나의 요구사항을 검증하는 하나의 테스트를 추가한다. 추가된 테스트가 실패하는지 확인한다. 실패하는 것을 확인할 수 있어야 테스트 코드가 동작함을 ..
[Web] REST vs RESTful vs REST API(RESTful API)
2021. 12. 31. 00:49
Computer Science/Web programming
REST REpresentational State Transfer 네트워크 상에서 client와 server 사이의 통신 방식 중 하나이다. URI와 HTTP를 이용한 통신 목적의 아키텍처 스타일 아키텍처? (제약조건을 모두 만족하는 시스템) 아키텍처 스타일이므로 아키텍처 제작 시 사용되는 가이드의 의미로 사용되며 명확히 준수해야 하는 표준은 없다! 여기서 REST는 URI와 HTTP를 이용한 통신 목적의 아키텍처 스타일이라고 했는데, 평소에 URI과 URL의 차이를 헷갈리고 있었기 때문에 한번 짚고 넘어가려고 한다! 💡 URI와 URL의 차이점? URI : 특정 리소스를 식별하는 통합 자원 식별자를 의미. 웹 기술에서 사용하는 논리적 또는 물리적 리소스를 식별하는 고유한 문자열 시퀀스 URL : 흔히 ..