Peony의 기록 창고 🌼
[Java] HashSet 정의 & 주요 메서드
JAVA 2022. 8. 11. 23:26

HashSet이란? HashSet은 Set 인터페이스에서 지원하는 구현 클래스이다. 그렇기 때문에 Set의 특징을 그대로 상속받는다. Set은 Key의 중복을 허용하지 않고, 키로 null을 허용하지 않는다. 또한, 순서 없이 Key로만 데이터를 저장한다. 만약, 요소의 저장 순서를 유지해야 한다면 JDK1.4부터 제공하는 LinkedHashSet 클래스를 사용하면 된다. Set의 가장 큰 장점은 중복을 자동으로 제거해준다는 점이다. 만약, 어떤 가게에서 오늘 방문한 손님의 총 숫자를 계산할 경우를 보자. 이럴 경우 오늘 하루 동안 가게를 여러 번 방문한 손님은 한 번으로 체크해주어야 정확한 손님의 숫자가 나올 것이다. 이럴 때 Set을 사용하면 된다. Set은 비선형 구조이기 때문에 순서가 없고, 때문..

article thumbnail
Spring Boot와 AWS로 혼자 구현하는 웹서비스 7장

이 글은 이동욱 님의 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' 책 내용을 정리한 것입니다. http://www.yes24.com/Product/Goods/83849117 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - YES24 가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현한다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링 www.yes24.com AWS에 데이터 베이스 환경을 만들어보자 : AWS RDS 웹 서비스의 백엔드를 다룬다고 했을 때 애플리케이션 코드를 작성하는 것 만큼 중요한 것이 데이터 베이스를 다루는 일이다. 규모 있는 회사에서는 데이터베이스를 전문적으로 처리하는 DB..

article thumbnail
Spring Boot와 AWS로 혼자 구현하는 웹서비스 6장

이 글은 이동욱 님의 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' 책 내용을 정리한 것입니다. http://www.yes24.com/Product/Goods/83849117 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - YES24 가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현한다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링 www.yes24.com 외부에서 본인이 만든 서비스에 접근하려면 24시간 작동하는 서버가 필수이다. 24시간동안 작동하는 서버에는 3가지 선택지가 있다. 집에 PC를 24시간동안 구동시킨다. 호스팅 서비스(Cafe24, 코리아호스팅 등)을 이용한다. 클라우드 서비..

article thumbnail
[Java] 다익스트라(Dijkstra) 알고리즘 구현
JAVA 2022. 7. 25. 15:45

다익스트라 개념을 잘 모른다면 아래 포스팅을 읽고 오자. https://myeongju00.tistory.com/52 [Algorithm] Java - 다익스트라(Dijkstra) 알고리즘 다익스트라 알고리즘이란? BFS와 DP를 활용한 최단경로 탐색 알고리즘이다. 즉, 그래프에서 출발점에서 목표점까지의 최단거리를 구할 때 사용하는 알고리즘이다. 이 과정에서 도착 정점 뿐만 아 myeongju00.tistory.com 구현에는 인접 행렬 방식, 우선순위 큐 방식이 있다. 노드의 개수를 V라고 할 때 인접 행렬 방식은 O( V^2 ) 우선순위 큐 방식은 O( V log V ) 의 시간 복잡도를 가진다. 따라서 알고리즘 문제풀이 시 우선순위 큐 방식을 주로 사용한다. 인접 행렬 방식 1..

article thumbnail
[Java] 다익스트라(Dijkstra) 알고리즘
JAVA 2022. 7. 23. 23:44

다익스트라 알고리즘이란? BFS와 DP를 활용한 최단경로 탐색 알고리즘이다. 즉, 그래프에서 출발점에서 목표점까지의 최단거리를 구할 때 사용하는 알고리즘이다. 이 과정에서 도착 정점 뿐만 아니라 모든 다른 정점까지 최단 경로로 방문하며 각 정점까지의 최단 경로를 모두 찾게 된다. 매번 최단 경로의 정점을 선택해 탐색을 반복하는 것이다. ❓왜 다이나믹 프로그래밍일까? 하나의 최단 거리를 구할 때 그 이전까지 구했던 최단 거리 정보를 그대로 사용하기 때문이다. 다익스트라 알고리즘 특징 그래프 내부 하나의 정점(노드, Vertex)에서 다른 모든 정점으로 가는 최단 경로를 알려줌 그래프의 간선(Edge)마다 가중치가 존재할 때 사용 ⇒ BFS를 활용한 최단 경로 구하기와 다른 점 간선의 음의 가중치는 존재하지..

article thumbnail
Spring Boot와 AWS로 혼자 구현하는 웹서비스 5장

이 글은 이동욱 님의 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' 책 내용을 정리한 것입니다. http://www.yes24.com/Product/Goods/83849117 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - YES24 가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현한다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링 www.yes24.com 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 스프링 시큐리티는 막강한 인증과 인가(권한 부여) 기능을 가진 프레임워크이다. 스프링 기반의 애플리케이션에서 보안을 위한 표준이라고 보면 된다. 확장성을 고려한 프레임워크로 다양한..

article thumbnail
[Algorithm] 깊이 우선 탐색(DFS)
Algorithm/Algorithm 기본 2022. 7. 17. 18:20

그래프 탐색이란? : 하나의 정점으로부터 시작하여 차례대로 모든 정점들을 한 번씩 방문하는 것 Ex) 특정 도시에서 다른 도시로 갈 수 있는지 없는지, 전자 회로에서 특정 단자와 단자가 서로 연결되어 있는지 깊이 우선 탐색(DFS, Depth-First Search) 깊이 우선 탐색(DFS)이란? 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘 미로를 탐색할 때 한 방향으로 갈 수 있을 때까지 계속 가다가 더 이상 갈 수 없게 되면 다시 가장 가까운 갈림길로 돌아와서 이곳으로 부터 다른 방향으로 다시 탐색을 진행하는 방법과 유사 ⇒ 넓게(wide) 탐색하기 전에 깊게(deep) 탐색 깊이 우선 탐색(DFS)의 특징 자기 자신을 호출하는 순환 알고리즘의 형태 전위 순회(Pre-Order Traversa..

article thumbnail
Spring Boot와 AWS로 혼자 구현하는 웹서비스 4장

이 글은 이동욱 님의 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' 책 내용을 정리한 것입니다. http://www.yes24.com/Product/Goods/83849117 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - YES24 가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현한다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링 www.yes24.com 1. 템플릿 엔진과 머스테치 템플릿 엔진이란? 지정된 템플릿과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어 서버 템플릿 엔진 vs 클라이언트 템플릿 엔진 공통점 : 지정된 템플릿과 데이터를 이용하여 HTML을 생성 차이점 서버 템플릿..