본문 바로가기

Web Study124

Next.js로 SNS x.com 클론코딩하기 - 8 서버 사이드 렌더링 적용 기준 넥스트는 기본적으로 서버 사이드 렌더링이 되므로 서버 사이드 렌더링을 사용하지 않게 설정하는 경우가 잦다고 합니다. 그렇다면 서버사이드 렌더링의 적용 기준은 무엇일까요? 검색 페이지에 노출되어야 할 때 적용 즉 SNS 특성상 유저의 프로필에 로그인을 하든 안하든 접근할 수 있게끔 처리해주는 것이 필요하며 없는 계정에 대한 예외처리도 필요합니다. 사실 이 부분은 앞서 설명 드렸던 방식과 디테일만 다르지 거의 유사하므로 따로 설명드릴 부분이 없을 것 같습니다. 강의가 갈수록 앞서 했던 내용의 반복이네요. 따로 정리해둘 건 없지만 반복적으로 코드를 따라치면서 왜 이렇게 하는지 생각하고 공부하게 되는 것 같습니다. 강의에서 진행된 사항으론, 1. 게시글 상세 페이지 2. 각 게시글.. 2024. 2. 7.
데이터베이스 개론 & SQL - 5 SQL에서의 Null 의 의미 unknown: 알 수 없는 경우 unavailable: 이용할 수 없는 경우 not applicable: 해당 사항이 없음, 사용 불가 예를 들자면 birth_date 정보가 null 이면? 생일이 없을리는 없을테니, 생일 정보를 공개하지 않거나 아직 입력하지 않은 경우일 것이다. 그렇다면 birth_date가 null 인 A, B 가 있다면 둘은 생일이 같은 것인가? 당연히 알 수 없다. 같거나 다를 것이다. 그저 입력을 안했거나 생일을 공개하지 않았을 경우가 크다. 그럼 SQL 에서 null 을 비교연산자를 사용한다면? 정확한 결과가 도출되지 않을 것이다. select id from employee where bitrh_date = NULL; (X) select id .. 2024. 2. 5.
데이터베이스 개론 & SQL - 4 서브쿼리 서브쿼리는 복잡한 조회를 위해 쿼리 안에 넣어진 쿼리를 의미한다. select를 포함한 insert, delete, update 에도 사용이 가능하다. 반대로 바깥 쿼리문을 아웃터 쿼리라고 한다. 서브쿼리를 사용할 때 주의할 점은 괄호 안에 써줘야 한다는 점이다. 차근차근히 개념에 접근하자면, id가 13인 사람의 생일보다 빠른 생일을 가진 사람을 조회하고자 한다. 1. id = 13인 사람의 생일을 조회 select birth_date from employee where id = 13; 2. 조회 결과를 토대로 전체 조회를 실시 select id, name, birth_date from employee where (1번 조회 결과) > birth_date; 3. 위의 두 쿼리문을 합쳐, 쿼리문.. 2024. 2. 4.
데이터베이스 개론 & SQL - 3 MySQL 기반으로 강의가 진행되고 있다. 여러 엔진 중 InnoDB를 기준으로 하고 있다고 소개했다. InnoDB란? DB 엔진 중 하나로, DBMS가 데이터베이스에 대해 데이터를 삽입, 추출, 업데이트, 삭제하는 데 사용되는 기본 소프트웨어 컴포넌트이다. MySQL 5.5 버전 이후 사용되는 엔진이며 바이너리에 내장되어 있다. 해당 엔진은 트랜잭션을 지원하므로 트랜잭션 세이프 스토리지 엔진이라 한다. 대용량 데이터 처리나 다수의 사용자의 동시 접속을 가능하게 하며 파일과 파티션으로 구성되어 있는 데이터 테이블과 인덱스 테이블 공간에 저장하므로 성능이 우수하다고 한다. 그밖에 데이터 무결성에 대해 중점을 두어 보장하고 논리적인 장애 복구를 수행할 수 있다는 장점이 있으나, 데드락 발생 가능성이 있으며 .. 2024. 2. 3.