2024/07 6

[IT/Next.js] Next.js의 SSR 구현

위 강의를 참고했습니다. SSR과 CSR에 대해서는 아래 포스트를 참고해주세요. [IT] SSR과 CSR의 차이점프론트엔드 개념 중 많이 헷갈리는 SSR(Server Side Rendering)과 CSR(Client Side Rendering)에 대해 알아보겠습니다. SSR 일반적으로 MPA(Multi Page Application)에서 사용합니다. MPA는 각 페이지마다 파일이 존재하doringri.tistory.com - Next.js에서는 CSR으로도 구현이 가능하지만 SSR을 권장하고 있음.- 퍼포먼스가 더 좋고, SEO에도 좋기 때문. (검색 엔진이나 카카오톡 등에서의 링크 공유 시 내용 표출되는 것)- 마케팅 페이지, 블로그 게시물, 제품 리스트, 도움말 페이지 등에서 사용하면 좋다고 한다. ..

IT/React & Next.js 2024.07.28

[IT/책] Clean Code(클린 코드) - 주석

저는 코드를 짤 때 보통 주석을 쓰지 않습니다. (todo처럼 임시로 달아놓는 주석 제외)이것도 신입 때 받은 교육의 일환인데 주석 없이도 잘 읽히는 코드를 짜란 말을 많이 들어 왔죠.책에서 다루는 내용도 일맥상통하더군요.아무래도 그 때의 상사분도 이 책을 읽으신듯. Clean Code (로버트 C.마틴 지음) 의 4장 내용을 다루고 있습니다. 주석을 써도 좋은 상황- 코드의 저작권 정보- 정보를 제공하는 주석 (ex: 정규표현식이 어떤 형식을 나타내는지)- 의도가 명확하게 드러나지 않는 코드에 의도를 설명하는 주석- 의미를 명료하게 밝히는 주석 (ex: a.compareTo(b) != 0    // a != b) -> 가독성이 좋아짐.- 다른 사람과 작업 시, 경고하는 주석 (ex: 실행하지 마시오)-..

IT/기타 2024.07.25

[IT/책] Clean Code(클린 코드) - 변수와 함수

신입 때 나름 빡세게(?) 교정받아서 코드 짤 때 스타일적으로는 좀 신경쓰는 편인데 평소에 미처 생각하지 못했던 부분만 정리합니다. Clean Code (로버트 C.마틴 지음) 의 2, 3장 내용을 다루고 있습니다. 클린한 작명- 검색하기 쉽도록 변수/함수명 짓기좋은 예) WORK_DAYS_PER_WEEK 이라는 상수 - 타입은 바뀔 수 있으니 변수명에 타입을 적지 말기나쁜 예) memberString 이라는 변수 - 인터페이스와 구현 클래스의 이름은?ShapeFactory, ShapeFactoryImpl 이런 식이 좋다고 합니다... (근데 어떤 사람은 Impl 권장하지 않는다더군요)  클린한 함수- 함수는 작게 만드는 게 대부분의 경우에서 좋다- 함수는 한 가지 역할만 수행하도록 할 것- if문에는 ..

IT/기타 2024.07.24

[IT/Spring] 스프링 개념들 복습 (Servlet, MVC, Model, DAO)

현재 나는 백엔드를 개발할 때 스프링부트와 JPA를 사용하고 있다.문제는 계속 똑같은 것만 쓰다보니까 다른 방법론이나 개념들을 대부분 잊어먹었다.그래서 이참에 다른 것들도 정리해보려고 한다.고전적인 개념들도 포함되어 있지만 복습할 겸 해서 정리한다. 서블릿(Servlet)JSP처럼 서버에서 동적으로 웹 페이지를 생성하는 서버 측 프로그램. test package1.ServletTest test /test/test 라는 URL로 요청하면 매핑을 통해 package1.ServletTest라는 서블릿 클래스가 응답한다.아래 예시 코드를 확인해 보자. package package1;public class ServletTest extends HttpServlet { @Override publ..

[IT/Spring Boot] 스프링부트의 HttpSession에 대해

로그인 기능을 만들 때, 세션 유지를 하기 위해 Redis 등의 외부 저장소를 이용하지 않는다면 보통 브라우저의 로컬 스토리지(Local Storage)나 쿠키(Cookie)에 로그인 정보를 저장합니다. 로컬 스토리지는 로그아웃 등으로 지우기 전까지 영구적으로 남아있으며 쿠키는 만료 기간을 설정할 수 있습니다. 세션 스토리지(Session Storage) 에 저장하기도 하는데 새로고침 시엔 남아 있어도 브라우저가 닫히면 정보가 사라지기에 요즘은 로그인 기능에는 잘 사용하진 않는 추세인 것 같습니다. (일회성 로그인이 필요한 사이트 제외) 어쨌든 이런 것들은 브라우저에 저장되기 때문에 이제까지 관리도 클라이언트 사이드에서 했었는데요, 스프링부트에서 제공하는 HttpSession을 이용하면 서버나 Redis..

[TypeScript] 타입스크립트 기초

회사에서 타입스크립트를 사용한지는 좀 됐지만 정작 문서를 제대로 살펴본 적은 없다는 걸 깨달았습니다.신입 분이 공부하는 걸 보고 제 자신을 되돌아보게 되었습니다. 나는 과연 얼마나 알고 있는 걸까,, 아래 문서를 정리한 포스트입니다. Handbook - The TypeScript HandbookYour first step to learn TypeScriptwww.typescriptlang.org  1. 타입 추론(Types by Inference)변수 정의 시 명시적으로 타입을 지정해주지 않아도 타입스크립트는 알아서 타입을 생성합니다.// 명시적으로 타입 지정let name: string = "doringri";// 이래도 알아서 string 타입으로 사용함let name = "doringri";  2...