공부
-
java 에러_(01)공부/기본 2023. 11. 16. 09:24
예외 처리를 왜 하는지 - 프로그램이 예외 상황에 대처할 수 있게 하기 위해 - 문제 원인 파악 - 데이터 무결성 유지 : db와 같은 외부 시스템과의 작업 중 오류가 발생하면 데이터 일관성이 깨질 수 있다,, try-catch-finally 사용 예시 try { int result = 10 / 0; // 이 코드는 ArithmeticException을 발생시킵니다. } catch (ArithmeticException e) { System.out.println("0으로 나눌 수 없습니다."); } finally { System.out.println("예외 처리가 끝났습니다."); } - throws 키워드 사용 예시 public void readFile(String fileName) throws IOEx..
-
restful url 규칙공부/기본 2023. 11. 10. 10:27
자원의 이름은 명사로 사용 x /getYsers o /users 자원의 계층 관계는 '/'로 표시 ex /user/{userId}/posts/{postId} 자원의 상태는 http 메소드를 통해 표현 post 생성 get 조회 put 수정 delete 삭제 컬렉션과 단일 항목에 대한 url은 복수, 단수로 표현 모든 사용자 /users 특정 사용자 /users/{userId} (여기서 단일 사용자 조회지만 users로 조회하는 이유 : restfui api 는 통일성과 일관성을 중요하게 생각하기 때문) 필터 정보는 쿼리 파라미터를 통해 표현 /users?age=20
-
토큰공부/기본 2023. 11. 9. 17:45
토큰이란 - 사용자 인증 정보를 담은 디지털 자격증명 사용자가 로그인 -> 서버는 사용자 식별 토큰 발급 사용자는 이후 서버에 요청을 보낼때 마다 토큰을 포함하여 보냄 -> 서버는 사용자 -> 서버 로그인 1 사용자 식별 토큰 발급 이후 서버에 요청을 보낼때 마다 토큰을 포함하여 보냄 2 이 토큰을 통해 사용자 식별 요청 작업을 수행할 권한이 있는지 확인 이번 프로젝트에서 사용할 토큰은 아마 2종류일듯 하다 jwt 토큰 리프레시 토큰 jwt 토큰 json web token의 약자, 두 개체 사이에서 정보를 안전하게 전송하기 위한 간결하고 독립적인 방법 디지털서명 가능 : 정보의 시노리성과 무결성을 보장 리프레시 토큰 액세스 토큰이 만료되었을 때 사용자를 재인증하지 않고 새로운 액세스 토큰을 발급받을 수 ..
-
API 문서 형식공부/기본 2023. 11. 3. 09:54
API(application programming interface :응용 프로그램 프로그래밍 인터페이스) - 서로 다른 소프트웨어 또는 하드웨어 간에 상호작용을 가능하게 하는 연결고리 API 문서 - api를 어떻게 사용해야 하는지에 대한 가이드 API에 들어가면 좋은 항목 - 개요 - 엔드포인트 : api에서 제공하는 url들을 명시, 각각의 엔드포인트는 특정 데이터에 접근하거나 특정 작업을 수행하는 데 사용 - 메소드 : 각 엔드포인트에서 사용 가능한 http메소드 ( GET, POST, PUT, DELETE,,)를 명시 - 요청 예제 : 각 엔드포인트와 메소드에 대한 요청 예제를 제공, 개발자들은 실제 요청을 어떻게 구성해야 하는지 이해할 수 있다 - 응답 예제 : API 요청에 대한 예상 응답...
-
@Entity공부/spring 2023. 9. 7. 11:13
이거거 안될때는 build.gradle에서 implementation 'org.springframework.boot:spring-boot-starter-data-jpa' 이거 추가해줘야함 참고로 이 어노테이션은 java persistence api(JPA)에서 사용되는 어노테이션 해당 클래서그 db에서 엔티티로 매핑될 것임을 나타낸다 여기서 엔티티 (Entity)란? - db에서 저장, 검색 및 조작할 수 있는 객체를 의미 그러니깐 이 어노테이션을 사용하면 java 클래스를 db 테이블과 매핑할 수 있다
-
MySQL 데이터베이스를 AWS 클라우드 서비스와 연동공부/aws 2023. 9. 5. 13:13
RDS -> 데이터베이스 -> 데이터베이스 생성 엔진 옵션 : MySQL 템플릿 : 프리 티어 인스턴스 구성 : 버스터블 클래스(t클래스 포함) [db.t2.micro] 퍼블릭 엑세스 기능 : 예 연동 할려면 인바운드 규칙 수정해줘야함 원하는 db들가서 vpc보안그룹 선택 이렇게 수정 여기 보안그룹 저거 복사해서도 넣어주기 명령 프롬프트로 mysql -u [마스터 이름] --host [엔드 포인트 주소] -P 13306(포트 번호) -p ex ) mysql -u admin --host database-2.coocppqxryzy.ap-northeast-2.rds.amazonaws.com -P 3306 -p 이후 show databases; 입력시 초기db 이름 보이면 성공 난 test로 해줘서 이렇게 테스..
-
Github Acion 로 AWS 자동화 배포 (2) - Github 설정,코공부/aws 2023. 9. 1. 17:13
.github/workflows/gradle.yml name: Java CI with Gradle on: push: branches: [ "main" ] permissions: contents: read env: S3_BUCKET_NAME: dreamconsumer jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up JDK 11 uses: actions/setup-java@v3 with: java-version: '11' distribution: 'temurin' - name: Add permission run: chmod +x gradlew - name: Build with Gradle uses: gr..
-
Github Acion 로 AWS 자동화 배포 (1) - AWS 설정공부/aws 2023. 9. 1. 17:05
IAM 사용자 생성 -> 사용자 이름 만들고 AWS 액세스 유형 선택에서 (엑세스 키 - 프로그래밍 방식 엑세스) 선택 다음에는 권한설정 - AmazonEC2FullAccess - AmazonS3FullAccess - AWSCodeDeployFullAccess 추가해주기 ★액세스 키 저장 해주기 ★ 사용자 설정 역할 설정 EC2 IAM 역할은 아까 설정해줬던걸로 하고 나머지 설정은 프리티어로 해준다 키 페어 생성도 해서 저장!! CodeDeploy 로드 밸런서 체크 삭제하기