기타 8

쿠키 옵션

쿠키 옵션: HttpOnly, Secure, SameSite 1. HttpOnly설명:HttpOnly 옵션이 설정된 쿠키는 JavaScript로 접근할 수 없도록 설정브라우저는 이 쿠키를 서버로의 HTTP 요청에만 사용하며, 클라이언트 측 스크립트에서는 쿠키를 읽거나 수정할 수 없음주요 목적:XSS(Cross-Site Scripting) 공격 방지:XSS는 악성 스크립트를 통해 클라이언트의 쿠키를 탈취할 수 있는 취약점임HttpOnly 쿠키는 JavaScript에서 접근할 수 없기 때문에 탈취 방지에 효과적설정 예시 (HTTP 응답 헤더):Set-Cookie: sessionId=abc123; HttpOnly2. Secure설명:Secure 옵션이 설정된 쿠키는 HTTPS 프로토콜을 사용하는 경우에만 전송..

기타 2024.12.26

Materialized Path - 계층적 데이터 표현...

"메트리얼라이즈드 패스(Materialized Path)"는 계층적 데이터를 표현하고 관리하는 방법 중 하나로, 데이터베이스에서 트리 구조를 구현할 때 사용됨노드의 경로를 문자열로 저장하여 계층적 구조를 쉽게 표현함메트리얼라이즈드 패스란?계층 구조의 각 노드가 루트에서 자신까지의 경로를 문자열 형태로 저장이 문자열은 일반적으로 특정 구분자를 사용하여 부모-자식 관계 나타냄트리의 각 노드에서 부모를 빠르게 식별할 수 있으며, SQL의 LIKE나 문자열 연산을 사용해 하위 노드를 쉽게 조회재귀의 문제점 극복전통적으로 계층적 데이터를 데이터베이스에서 관리하려면 재귀적 접근(e.g., Adjacency List 방식)으로 트리의 부모-자식 관계를 탐색해야 했습니다. 그러나 이러한 방식은 몇 가지 문제가 있습니다..

기타 2024.12.10

tar와 zip의 차이

tar와 zip 차이를 짐 꾸리기로 비교 1. tar옷과 신발을 그냥 캐리어에 차곡차곡 넣음.부피는 줄이지 않고 단순히 묶어 정리만 한 상태.특정 옷만 꺼내려면 캐리어 전체를 열어야 함.압축은 안 하고, 묶기만 하는 도구.장점:많은 파일을 한 덩어리로 묶어 전송이나 백업에 유용함.묶는 속도가 빠르고 간단함.단점:크기를 줄이지 않음. 공간 절약이 안 됨.압축이 필요하면 별도로 gzip, bzip2 같은 도구를 써야 함.2. zip옷과 신발을 각각 진공팩에 넣어 공기를 빼 부피를 최소화한 뒤 캐리어에 넣음.캐리어 공간이 절약되고, 필요한 옷만 진공팩에서 꺼낼 수 있음.묶는 작업과 압축을 동시에 처리하는 도구.장점:파일 크기를 줄이면서 묶을 수 있어 저장 공간 절약 가능.특정 파일만 개별적으로 꺼낼 수 있음...

기타 2024.12.06

시놀로지 web station - docker 연동

톰캣에 사이트 준비중 페이지 하나 만들어서 넣어놓고 컨테이너 띄우고 포트 맞춰주고 도메인 맞춰주면 홈페이지 싹싹김치로 나올 줄 알았는데.. 도메인에 설정된 80포트는 나스의 web station의 기본 설정이 먹고 있고 중지시켜도 안되고 삭제나 비활성화도 안됨.. 리버스 프록시로 어케 해주려했는데 80포트 이미 쓰고 있으니 80포트 못쓰고..도메인 포트를 수정해야하나.. 하던 와중 ..   난... cli가 익숙하니까 drm의 도커 패키지는 보지도 읽지도 않음...냅다 ssh 때려버렸음...근데... 도커와 web station이 연동이 된다고라고라고라파덕? 컨테이너를 만들 때 저런 옵션이 있었더랬음걍 저거 체크하면  볼륨이랑 뭐뭐 설정해준 뒤에 냅다 이게 나와버림 곧바로 연결시켜줘버리는거심   아무튼 ..

기타 2024.12.02

font-size

1. px (픽셀)예시: font-size: 16px;장점: 크기 고정이라 일관성 유지 쉬움.단점: 반응형에 적합하지 않음. 화면 바뀌면 폰트 크기 변하지 않아 모바일에선 별로임.2. em예시: font-size: 1.2em;장점: 부모 폰트 크기 기준으로 크기 조절 가능. 유동적이라 반응형에 유리함.단점: 중첩되면 크기 예측 힘듦. 관리 어려움.3. rem예시: font-size: 1.2rem;장점: 사이트 전체에서 일관성 있음. 브라우저 기본 폰트 크기 기반이라 유연하고 안정적임.단점: 특정 요소는 따로 크기 조정 필요할 수 있음.4. vw (뷰포트 너비)예시: font-size: 2vw;장점: 화면 너비에 따라 폰트 크기 유동적임. 반응형에 좋음.단점: 큰 화면에선 너무 커지고 작은 화면에선 너무 ..

기타 2024.11.15

lazyvim

vscode에서 f12도 제대로 안먹고 이래저래 vue하는데 불편함이 많을다 였다.  webStrom도 써봤는데 인텔리제이랑 비슷해서 별로였다. (본인은 프론트는 밝은 테마 vscode, 백은 기본 인텔리제이 썼음. 프론트백 따로따로 단축키도 분리해서 쓰는 게 좋음) 예전에 써보려다가 이번에 입문해봄    Neovim에서 탭마다 버퍼가 독립적으로 존재하지 않음. 모든 탭은 전체 Neovim 인스턴스에서 공유되는 동일한 버퍼 목록을 사용함.요약하자면:버퍼는 파일을 메모리에 로드한 상태이며, Neovim 인스턴스 전체에서 전역적으로 관리됨. 모든 탭이 동일한 버퍼 목록을 공유함.탭은 단지 화면 레이아웃을 관리하는 용도이며, 각 탭은 여러 창(Window) 배치를 독립적으로 구성할 수 있지만 버퍼는 공유됨.예..

기타 2024.11.06

Role과 Privilege

1. Role과 권한(Privilege) 설계Spring Security에서 Role과 Privilege는 사용자의 권한 체계를 설정하는 중요한 개념임  Role과 Privilege의 차이 - Role : 사용자의 특정 역할을 나타내는 고유한 역할 명칭임. ROLE_USER, ROLE_ADMIN처럼 시스템에서 사용자를 구분할 떄 사용함. 동시에 Role은 자체적으로 권한으로 사용할 수 있지만, 보통은 Privilege를 담는 컨테이너 역할을 함 - Privilege : 역할보다 세밀한 권한으로, 개별 기능에 대한 권한을 나타냄. READ_AUTHORITY, WRITE_AUTHORITY처럼 특정 작업에 대한 허용 여부를 나타냄. Privilege는 Role에 의해 그룹화 되어 관리됨.   권한 설계 시기권..

기타 2024.11.01

Git Push 오류 - fatal : the remote end hung up unexpectedly

git push origin main..fatal : the remote end hung up unexpectedly라고 안올라간다.큰 파일이나 많은 양의 변경사항을 푸시할 때 발생할 수 있음. Git이 전송하는 데이터의 크기를 처리하지 못해서 연결이 끊기는 경우  이럴 땐 http.postBuffer 설정 값을 늘려주면 됨git config http.postBuffer 524288000 하고 다시 push하면 올라간다.  Git의 HTTP 버퍼 크기를 500MB로 설정.기본적으로 Git의 http.postBuffer 값은 1MB로 설정되어 있어서, 큰 파일을 푸시할 때 이 값이 부족하면 문제가 발생할 수 있음  변경된 값은 500MB이고,기본값은 1MB로git config http.postBuffer ..

기타 2024.10.28