오라클에서 BETWEEN A AND B 을 사용하여 날짜 검색을 하던 중 B의 날짜에 저장한 데이터가 검색되지 않는 문제 발생예를 들어 2025/06/27 부터 2025/06/30 까지의 데이터를 검색하고 싶은데, 2025/06/29 까지의 데이터가 검색된다.BETWEEN A AND B👉 WHERE 문에서 사용되는 구문으로, A 이상 B 이하의 범위를 뜻한다.[컬럼명] BETWEEN [값1] AND [값2]해당 구문을 부등호로 표현 할 수 있다.[컬럼명] >= [값1] AND [컬럼명] DATE 타입 검색하는 경우 생기는 문제SELECT * FROM FREEBOARD WHERE NUM BETWEEN 200 AND 203;SELECT * FROM FREEBOARD WHERE NUM >= 200..
데이터와 데이터베이스데이터란 쉽게 말해 자료를 말한다. 예를 들어, 쿠팡에서 데이터는 상품의 이름, 가격, 재고 등이 데이터에 해당한다.데이터 베이스(Database)는 이러한 데이터를 체계적으로 저장하고 관리할 수 있도록 만든 저장소이다. 즉, 데이터의 집합이라고 할 수 있다. 데이터베이스의 기능1. 저장데이터를 데이터 베이스에 저장할 수 있다. 이때, 데이터의 형식이나 제한을 설정 할 수 있다. 예를 들어, 상품의 가격을 저장할 때 100원, 100₩ 등 각각의 데이터들의 형식이 일정하지 않는 경우 100 으로 정돈된 형식으로 저장하게 설정할 수 있다. 2. 수정 및 삭제저장된 데이터를 수정하거나 삭제 할 수 있다. 예를 들어, 상품의 재고가 10개가 있었는데 3개를 누군가가 구매했을 경우 재고를 ..
캠프 수업을 들으면서 레포지토리를 막 생성하다보니 너무 지저분하게 많아져서, 레포지토리를 조금씩 지웠는데... 잔디가 없어지는게 아까워서 관련 레포지토리를 subtree 를 사용하여 하나로 모으기로 결정 했다. subtree 에는 add / pull / push / split 크게 4가지가 있다.이번에는 add를 사용하여 합칠 예정이다. 1. 부모(Parents) 레포지토리 생성* 이 단계에서 README 파일을 만들어 주는 것도 좋다. 부모 레포지토리가 github에 제대로 생성이 되어있지 않은 경우 에러가 발생하는데 README 파일을 생성하는 것으로 해결할 수 있기 때문이다 . (출처: https://olrlobt.tistory.com/47) 2. 로컬 저장소에 해당 레포지토리 Clonegit cl..
PostgreSQL을 Docker-compose로 띄우고, 해당 프로젝트에 DB를 연결을 하는데 오류가 발생했다.unable to obtain isolated JDBC connection [FATAL: role "team" does not exist]team 이라는 이름의 role이 존재하지 않는다는 오류 메세지이다. role 이란?PostgreSQL은 role이라는 개념을 사용하여 데이터베이스 엑세스 권한을 관리한다. 쉽게 말하자면 사용자라고 생각하면 된다.https://postgresql.kr/docs/9.5/user-manag.html 나는 분명 Docker로 띄웠는데 왜 저런 오류가 발생했을까? (결론부터 말하자면 포트번호 충돌 때문이다.) 1. 도커에 PostgreSQL이 컨테이너로 띄워졌는지 ..
⚙️ default 브랜치 바꾸는 방법기본적으로 main 브랜치가 default 로 설정되어 있다. 이를 다른 브랜치로 변경해보자. 1. 해당 레포지토리의 Setting -> General -> Default branch 로 이동한다2. Default branch의 ✏️ 모양을 누르고 -> default로 설정하고자 하는 브랜치로 변경 -> Update3. 위에서 설정한 브랜치가 default로 변경되었는 것을 확인할 수 있다. 🔎 default 브랜치를 main이 아닌 develop 브랜치로 바꾸는 이유?이는 각 브랜치 별로 역할이 다르기 때문이라고 할 수 있다.main : 실제 서비스 배포 용도로 사용되며, 안정적인 상태를 유지develop : 여러 기능들을 통합하는 브랜치feature : 기능을..
내부 API조직 내 내부 시스템, 서비스 또는 애플리케이션 간의 통신을 위해 설계되었다내부 사용자 및 시스템으로만 제한되며, 외부에 노출되지 않는다특징보안 : 외부에 노출되지 않아 상대적으로 보안이 강화된다속도 : 내부 네트워크 환경에서 작동하므로 속도가 빠르다변경 자유도 : 외부 의존성이 없기 때문에 자유롭게 수정 가능하다예시 : MSA 아키텍처에서 서비스 간 통신 (예: 예약 서비스 ↔ 유저 서비스)외부 API외부 사용자(고객, 파트너 등)가 기능/데이터에 접근할 수 있도록 설계되었다특징보안 및 인증 필수: OAuth, API Key 등의 보안 조치가 필요하다버전 관리 중요 : 외부에 영향을 주므로 신중하게 변경해야 한다문서화 필수 : Swagger, Postman, OpenAPI 등으로 문서 제공한..
웹 서버(Web Server)클리이언트로 부터 HTTP 요청을 받아 정적 컨텐츠(HTML, CSS, JavaScript 등)를 제공하는 서버, 프로그램을 말한다. 정적 컨텐츠(Static Content)?서버에서 별다른 처리 없이 그대로 클라이언트로 전달되는 콘텐츠를 말한다예를 들어 HTML, CSS, JavaScript, 이미지 파일 등이 해당된다다른 로직이나 데이터베이스 처리 없이 바로 응답되기 때문에 로딩 속도가 빠르다모든 접속자에게 동일한 모습을 반환한다 웹 서버의 주요 기능1. 정적 컨텐츠 제공 - HTML, CSS, JavaScript 등 변경되지 않는 리소스를 그대로 반환한다 - WAS를 거치지 않고 바로 자원 제공한다 - ex) Hello.html 파일을 브라우저에 그대로 보여줌2...
기본 규칙1️⃣ 변수 이름은 영문자, 숫자, 알파벳, $, _ 로 구성한다.하지만 보통 $, _ 로 시작하지는 않는다.// OString userName; // 영문자String name1234; // 영문자 + 숫자String user_name; // 언더바String name$; // $ 기호// XString user-name; // 하이픈String name&; // & 기호 2️⃣ 영문자로 시작해야 하며, 숫자로 시작할 수 없다.// OString age123;// XString 123age; // 숫자 시작 3️⃣ 대소문자를 구분한다.// OStirng userId; // 카멜케이스 (권장)String userid; // 권장되지는 않지만 틀리지는 않음String UserId; // 권장되지는..
인스턴스 변수의 생명주기는 객체를 쓰지 않을 때 라고 한다. '객체를 쓰지 않을 때' 란 언제고, 이를 확인할 수 는 없을까? 객체를 쓰지 않을 때아직 그 객체를 가리키고 있는 참조변수가 있는지 없는지로 판단을 한다.만약 누군가 그 객체를 가리키고 있으면 '사용중' 인거고, 아무도 안 가리키면 '안 쓰는 객체' 로 GC(가비지 컬렉터) 정리 대상이 된다. 인스턴스 변수 생명주기 확인하기public class InstanceLifeCycle { int instanceVar; public InstanceLifeCycle() { // 생성자 instanceVar = 10; System.out.println("인스턴스 변수 생성됨: " + instanceVar); } @Override pro..