[알고리즘] 시간 복잡도와 Big-O 대해서 간단한 예제
2022. 8. 18. 22:08
몰아 넣기
알고리즘이란? 어떤 문제의 해결을 위하여, 입력된 자료를 토대로 하여 원하는 출력을 유도하여 내는 규칙의 집합. 여러 단계의 유한 집합으로 구성되는데, 각 단계는 하나 또는 그 이상의 연산을 필요로 한다. [표준국어대사전] 즉, 어떤 문제가 있을때, 그것을 해결하기 위한 여러 동작들의 모임입니다. 점근 표기법이란? 알고리즘의 성능을 수학적으로 표기하는 방법입니다. 알고리즘의 “효율성”을 평가하는 방법입니다. 점근 표기법의 종류에는 빅오(Big-O)표기법, 빅 오메가(Big-Ω) 표기법이 있습니다. 빅오(Big-O)표기법 빅오 표기법은 최악의 성능이 나올 때 어느 정도의 연산량이 걸릴 것에 대한 표기법 빅 오메가(Big-Ω) 표기법 빅오메가 표기법은 최선의 성능이 나올 때 어느 정도의 연산량이 걸릴것인지에..
[Collection] HashMap의 특징, 사용법
2022. 8. 16. 10:03
몰아 넣기
Map이란? Map은 리스트나 배열처럼 순차적으로(sequential) 해당 요소 값을 구하지 않고 key를 통해 value를 얻는다. 맵(Map)의 가장 큰 특징이라면 key로 value를 얻어낸다는 점이다. List와 달리, Map에는 순서가 없다. HashMap이란? HashMap은 Map을 구현한다. key와 value를 묶어 하나의 entry로 저장한다는 특징을 갖는다. 해시 알고리즘(hash algorithm)을 사용하여 많은 양의 데이터를 검색하는데 검색 속도가 매우 빠르다. key, value의 쌍으로 관리하므로, Iteration 객체를 사용하지 않고 해당 key에서 데이터의 값을 바로 추출할 수 있다. value에 null값도 사용 가능하다.(즉, null 을 가지는 key 는 2개일 ..
[JUnit5] JUnit5 개념 및 간단한 사용법
2022. 8. 13. 23:03
몰아 넣기
JUnit 5 공식 가이드 문서 PDF 다운로드 JUnit 5 User Guide Although the JUnit Jupiter programming model and extension model do not support JUnit 4 features such as Rules and Runners natively, it is not expected that source code maintainers will need to update all of their existing tests, test extensions, and custo junit.org JUnit5란? 자바 개발자가 많이 사용하는 테스팅 기반 프레임워크를 말합니다.JUnit 5는 런타임에 Java 8(또는 그 이상)이 필요하며, JUni..
[Java/Spring] Spring Boot 메일 발송하기(Google SMTP With thymeleaf)
2022. 7. 18. 20:19
몰아 넣기
구글 보안 및 Gamil 설정하기 구글 설정 계정관리에 들어간다. 보안에서 2단계 인증을 on 해준다. 이 후 바로 아래의 앱 비밀번호를 생성해주면 된다. 기기용 앱 비밀번호를 기억해 둔다. gradle 추가 spring-start-mail //mail implementation group: 'org.springframework.boot', name: 'spring-boot-starter-mail', version: '2.6.3' Thymeleaf5 //타임리프 implementation group: 'org.thymeleaf', name: 'thymeleaf-spring5', version: '3.0.11.RELEASE' properties 추가 spring.mail.password=[복사한 비밀번호]..
[java8] 자바 Stream의 foreach 와 for-loop에 대해서
2022. 7. 14. 18:20
몰아 넣기
Stream (Java Platform SE 8 ) A sequence of elements supporting sequential and parallel aggregate operations. The following example illustrates an aggregate operation using Stream and IntStream: int sum = widgets.stream() .filter(w -> w.getColor() == RED) .mapToInt(w -> w.getWeight()) docs.oracle.com 들어가는 말 나는 전 프로젝트에서 사수가 stream을 너무 좋아했다. 그래서 단순 for-loop도 stream의 foreach로 프로그래밍을 했다. 나도 stream이 적..
[Spring/AWS] S3 저장소와 스프링부트(Spring Boot) 연동하기 및 사용법
2022. 7. 12. 19:42
몰아 넣기
# S3 만드는 방법 및 IAM 설정 방법 예제를 쓰기 전 밑 설정들이 다 되어있어야 가능합니다. [AWS] AWS S3 저장소 사용해보기 # AWS 로그인 하기 클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services 개발자, 데이터 사이언티스트, 솔루션스 아키텍트 또는 AWS에서 구축하는 방법을 배우는 데 관심이 있는 모든 사용자 whitewise95.tistory.com [AWS] AWS S3, IAM 설정하기 # IAM 메뉴 찾기 # IAM이란? 👉 IAM 메인에 보이듯이 Identity and Access Management의 약자인 거 아시겠죠!! IAM은 간단히 사용자, 역할을 관리하는 서비스라고 보시면 됩니다. # 프로그램 연동을 위한 계정.. whitewise95...
[java/spring] Enum변수를 json으로 변환하여 Enum 값 전달하기
2022. 7. 10. 20:39
몰아 넣기
enum을 만들어 Json으로 값을 넘기려할 때 ALL 이라고 넘기지 않으면 바인딩이 안되는 형상이 일어났다. 나는 전체 또는 all 이라는 값을 넘겨주고 싶었기 때문에 검색을 해보니 @JsonProperty() 라는 어노테이션을 사용하면 간단하게 가능했다. package com.hanghae99.finalproject.util.resultType; import com.fasterxml.jackson.annotation.*; import lombok.*; @Getter @NoArgsConstructor public enum CategoryType { @JsonProperty("전체") ALL("전체") private String name; CategoryType(String name) { this.nam..
[java/spring] JPA timeStamp format 예제
2022. 7. 10. 20:34
몰아 넣기
@Getter @MappedSuperclass @EntityListeners(AuditingEntityListener.class) public class TimeStamp { @CreatedDate @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy.MM.dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy.MM.dd HH:mm:ss") private LocalDateTime createdDate; @LastModifiedDate @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy.MM.dd HH:mm:ss") @DateTimeFormat(pattern = "yy..