일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 도커 #docker #docker-compose.yml #도커컴포즈 #배포 #spring #mysql #docker-compose
- 도커 #Docker #배포 #Spring #MySQL #백엔드배포
- /
- Today
- Total
목록전체 글 (98)
개발자 데뷔!
CORS 개발자가 CORS에러를 만나는 경우 PostMan, 스프링 등에선 URI요청이 정상적으로 보내진다. 웹사이트(크롬, 엣지, 사파리)등 브라우저(Front End)에서 발생 보안상의 이유로 JavaScript에서는, 오류의 상세정보에 접근 불가 상세정보는 브라우저의 콘솔에서 확인해야함 CORS :Cross-Origin Resource Sharing (교차 출처 리소스 공유) 브라우저-서버 간 안전한 교차출처 요청과 데이터 전송을 지원하는 체제 웹 애플리케이션은 자신, 또는 다른 출처(도메인, 프로토콜,포트)에서 리소스를 요청한다. 외부 출처의 자원에 접근할 때, 교차 출처 HTTP요청을 실행한다. ‘교차 출처 HTTP요청’은 외부 출처의 자원에 접근할 수 있는 권한을 부여하며, 이를 추가 HTTP..
Redis 💡 키-값 구조의 비정형 데이터 전용 DBMS (NoSQL) 인메모리 데이터 저장소 (속도↑) Key-Value 구조 (쿼리 사용할 필요 X) 다양한 자료구조 지원 Single Thread 사용 DB / 캐시 / 메시지브로커로 사용 오픈소스 DB서버 VS 캐시서버 기존의 DB서버 소규모 서비스(WEB-WAS-DB 구조) 데이터를 물리 디스크에 직접 접근해 write 서버가 다운되도 데이터 손실 x DB부하 큼 기존의 캐시서버 한번 읽어온 데이터를 임의의 공간에 저장해, read시 빠르게 결과값 받음 같은 요청이 여러번 들어올 경우, DB까지 가지 않아도 캐시서버 단에서 저장된 결과값 반환 서버가 다운되면 데이터 손실 DB부하 적음 캐시 서버의 두가지 패턴 클라이언트가 데이터 요청 웹서버: ca..
Lombok Lombok은 자바 개발을 편리하게 해주는 라이브러리입니다. Lombok을 사용하면 일반적으로 반복적이고 번거로운 작업을 자동화할 수 있습니다. 주요 기능은 다음과 같습니다: Getter 및 Setter: Lombok을 사용하면 자동으로 필드에 대한 Getter 및 Setter 메서드를 생성할 수 있습니다. 이를 통해 코드를 간결하게 유지하면서도 필드에 접근할 수 있습니다. 생성자: Lombok은 생성자를 자동으로 생성할 수 있습니다. @AllArgsConstructor 애너테이션을 사용하면 모든 필드를 인수로 받는 생성자를 생성할 수 있습니다. 불변 클래스: @Value 애너테이션을 사용하면 불변 클래스를 쉽게 생성할 수 있습니다. Lombok은 필드에 대한 Getter 메서드뿐만 아니라 ..
Hibernate Hibernate는 자바 기반의 객체-관계 매핑(ORM) 프레임워크입니다. 객체와 데이터베이스 간의 매핑을 자동으로 처리하여 개발자가 SQL 쿼리를 직접 작성하지 않고도 데이터베이스에 접근할 수 있습니다. Hibernate는 객체 지향적인 프로그래밍 모델을 사용하므로, 개발자는 객체를 조작하고 이를 데이터베이스에 자동으로 반영할 수 있습니다. Hibernate는 데이터베이스의 특정 플랫폼에 종속되지 않고, 다양한 데이터베이스 시스템과 호환됩니다. JPA (Java Persistence API) JPA는 자바의 ORM 기술 표준입니다. JPA는 데이터베이스와의 상호작용을 위한 인터페이스를 제공하며, Hibernate와 같은 구현체를 사용하여 실제로 동작합니다. JPA는 객체와 데이터베이스..
웹 개발 과정 요구사항 분석 프론트엔드 개발 백엔드 개발 통합 테스트 배포 및 운영 프론트엔드 구성 HTML, CSS, JavaScript를 사용하여 사용자 인터페이스 개발 프레임워크: React.js, Angular, Vue.js 등 패키지 관리자: npm, Yarn 빌드 도구: Webpack, Parcel 테스트 도구: Jest, Enzyme 백엔드 구성 언어: Java 프레임워크: Spring Boot 데이터베이스: MySQL ORM(Object-Relational Mapping): Hibernate API 문서화: Swagger 보안: Spring Security 로깅 및 디버깅: Lombok 테스트 도구: JUnit, Mockito 배포: AWS, Jenkins 시스템 구성도 graph LR A..
아래 google - Cloud Shell 에서 실습진행 - https://shell.cloud.google.com 개발환경 확인 uname -a// 현재 사용 HW 정보 표출 cat /etc/*release// 현재 사용 OS 정보 표출 docker -v// docker 버전 확인 컨테이너 실행 docker container run {도커이미지명:버전명} {리눅스 명령어} 예시) docker container run docker/whalesay cosway hello-world! docker container run centos// 라이브러리 docker container run -d centos sleep 100// 백그라운드 100동안 유지 docker container run -d --name n..
자료형 알아보기 // 라이브러리 #include // 사용 cout char char 문자열 // 라이브러리 포함 #include // strcmp 함수 strcmp(a,b) * char 한글자는 == 으로 비교 ! string 함수 // erase str.erase(시작위치, 크기) str.erase(str.begin() + 2)// 특정위치의 문자 지우기 (char pointer 이용해) str.erase(str.begin(), str.begin()+2)// 특정범위의 문자지우기 // insert str.insert(시작위치, 추가할 문자열) // append str.append(추가할 문자열)// 제일 뒤에 따라붙음 // char 안되고 string 만됨 SubString, Parsing strin..
구현, 시뮬레이션 삽질한 부분 1. 전개도를 그렸을 때, 옆면, 뒷면 등의 상세 index를 모두 종이의 위-아래에 맞춰 [123,456,789]로 하려 했으나, 후에 각 면을 쳐다보았을 때의 위-아래를 기준으로 index배치를 바꿈. [147,258,369] 등으로 2. 큐빙을 cube[6][3][3] 으로 하려 했으나, 필요성을 못느껴 i) 6가지 면은, 각각 U[3][3], D[3][3], B[3][3], F[3][3], R[3][3], L[3][3] 인 2차원 배열로 바꾸고, ii) 각 2차원 배열의 필요성도 못느껴, U[10] 인 1차원 배열로 펴버렸다. 왜냐하면, tmp 할 때 매번 tmp[0] = U[2][1] 등으로 바꿔야 함. (복잡) 3. 나는 빡구현으로 했다. TIL 1. TC 별로 ..