반응형

백엔드 (Back-End) 19

<Spring> 백엔드 API 구조

이번 포스팅에서는 스프링의 백엔드 API 구조에 대하여 알아보겠다. 먼저 객체 정보를 알아보겠습니다. 각각은 모두 클래스 들이며 아래와 같이 사용할 예정입니다. 1 Json 프론트와 백엔드 api는 JSON 형식으로 통신한다. 2 Spring Security JWT 인증을 적용하여 인증 & 권한을 확인한다. 3 DTO(Data Transfer Object) JSON으로 입력된 데이터를 JAVA 객체로 변경하고 유효성 체크를 한다. 4 Controller 요청이 들어온 API 에서 어떤 동작을 할지 결정하고 리턴한다. 5 Service 컨트롤러에서 받은 요청을 처리한다. (비지니스 로직) 6 Domain JPA의 Entity입니다. DB의 컬럼과 일치한다. 7 Repository Spring data jp..

<Spring> 로깅 프레임워크 (Log4j, Log4j2, Slf4j, Logback)

로그(Log)는 기록을 남기는 것을 의미한다. 로그를 통해 소프트웨어의 개발이나 운영 시 발생하는 문제점을 파악할 수 있다. 오류가 발생했을때 가장 먼저 확인하는 것이 로그이므로, 로그를 남기는 것은 굉장히 중요하다. Java에서는 Log4j, Log4j2, Slf4j, Logback 등 다양한 로깅 프레임워크가 존재한다. 1.Log4j Apache Log4j 는 다른 로깅 프레임워크에 비해 아파치 재단의 가장 오래된 프레임워크이다. 콘솔 및 파일 출력의 형태로 로그를 남길 수 있으며, xml이나 properties 환경으로 구성할 수 있다. Apache 공식문서에서는 2015년 8월을 끝으로 Log4j는 개발이 중단되었으며, Log4j2로 업그레이드 할 것을 권장한다고 한다. 로그 레벨은 FATAL >..

<JAVA> Map .putIfAbsent()

putIfAbsent - Key 값이 존재하는 경우 Map의 Value의 값을 반환하고, Key값이 존재하지 않는 경우 Key와 Value를 Map에 저장하고 Null을 반환한다. 매개변수 key - 지정된 값이 연관될 키 value - 지정된 키와 연결될 값 반환 값 key 값이 존재하는 경우 > Map의 value 값을 반환한다. key 값이 존재하지 않는 경우 > key와 value를 Map에 저장하고 null을 반환한다. package javaPackage; import java.util.HashMap; public class Main { public static void main(String[] args) { int birth = 1997; String student = "Jaeyoun.choi..

<Java> Integer.parseInt() 란?

Integer.parseInt() 란? 자바에서 문자열을 숫자로 변환시키는 방법으로 Integer.parseInt 메소드를 사용합니다. parseInt 함수는 Integer 클래스의 static 함수입니다. Integer.parseInt(String s) 숫자형의 문자열을 인자 값으로 받으면 해당 값을 10진수의 Integer 형으로 반환 해줍니다. Integer.parseInt("1004") // 1004 문자열을 숫자형으로 //출력: 1004 Integer.parseInt(String s, int radix) 숫자형의 문자열을 첫번째 인자 값으로 받고 변환할 진수값을 입력하면 해당 진수에 맞춰 Integer 형으로 반환하여 줍니다. => Integer.parseInt("2018", 8); //2018..

<Java> Map , HashMap

Java에서 Map 은 키-값 쌍 으로 데이터를 저장하는데 사용되는 인터페이스이다. HashMap 은 Map 인터페이스의 구현 클래스 이다. Java에는 데이터를 키-값 쌍에 저장하기 위해Map인터페이스를 구현하는 여러 클래스 (TreeHashMap,LinkedHashMap)가 있습니다. import java.util.HashMap; import java.util.Map; public class workathomeTest{ public static void main(String[] args) { Map workIn = new HashMap(); workIn.put("One", 1); workIn.put("Two", 2); workIn.put("Three", 3); System.out.println(wor..

<Java> SMTP 오류 메시지

내가 겪은 SMTP 메일 전송 에러에 대해서 살펴 보자 1.에러 org.springframework.mail.MailSendException: Failed messages: com.sun.mail.smtp.SMTPSendFailedException: 451 5.7.3 STARTTLS is required to send mail [SL2PR03CA0022.apcprd03.prod.outlook.com] => 메일을 보내려면 STARTTLS가 필요합니다. 2. 에러 Caused by: javax.mail.AuthenticationFailedException: 535 5.7.139 Authentication unsuccessful, the user credentials were incorrect. => 535..

[JAVA] Object 클래스와 toString()메서드

자바의 Object 클래스는 모든 자바 클래스의 최상위 클래스 입니다. java.lang.Object 이다. VO 또는 DTO를 출력하게 되면 가끔씩 "패키지명@난수"와 같은 형태로 출력되는 것을 볼 수 있다. 이것은 Java Object로 되어 있는 상태를 바로 로그로 찍어보기 때문이다. Object.toString() 은 클래스 이름, @ 기호, 16진수의 해시코드로 구현됩니다. // Object.toString()의 구현코드 public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); } // 로그 찍어보기 log.debug(myObject.toString()); // Result com...

<Spring>REST API 란?

REST API 란? Representational State Transfe라는 용어의 약자이다. 자원을 URI로 표시하고 해당 자원의 상태를 주고 받는 것을 의미한다. REST의 구성 요소 - 자원(Resource): URI - 행위(Verb): HTTP METHOD CRUD = > Create 데이터 생성 (POST) Read 데이터 조회 (GET) Update 데이터 수정 (PUT) Delete 데이터 삭제 (DELETE) - 표현(Representations) Rest는 URI를 통해 자원을 표시하고, HTTP method를 이용하여 해당 자원의 행위를 정해주며 그 결과를 리턴한다. REST API 설계 규칙 1. 소문자만을 사용한다. -> 카멜방식이 아닌 소문자를 사용하여 작성한다. http:/..

[JAVA] .isFile(), .isDirectory(), .exists() Methods

java.io.File 주요 메소드이다. 사용방법 경로.Methods(); boolean exists() // 파일이 실제 존재하는지 판단 boolean isDirectory() // 디렉토리인지 판단 boolean isFile() // 파일인지 판단 boolean canRead() // 파일이 읽기 가능한지 판단 boolean canWrite() // 파일이 쓰기 가능한지 판단 boolean canExecute() // 파일이 실행 가능한지 판단 boolean isHidden() // 파일이 숨김파일인지 판단 int length() // 파일의 길이(byte) 반환 boolean renameTo(File dest) // 경로가 같으면 이름 변경, 경로가 다르면 이름 바뀌면서 해당 경로로 이동됨 bool..

반응형