Joon
지금까지 올라온 글들
-
[디자인패턴] 팩토리 메서드 패턴
[디자인패턴] 팩토리 메서드 패턴
2023.10.22안녕하세요. 이번 글에서는 팩토리 메서드 패턴을 정리해보고자 합니다. 저는 현재 NEXTSTEP 플레이그라운드의 과제를 스터디로 진행하고 있습니다. 진행하고 있는 미션에서 팩토리 메서드 패턴을 사용하여 구현하라는 과제가 있어서 디자인 패턴을 구글링 하고, 명확히 이해해 보고자 헤드퍼스트 디자인 패턴이라는 책을 읽게 되었는데 책에서 나오는 코드 예시가 굉장히 이해하기 쉽고 단계별로 코드를 작성하며 디자인패턴을 적용하다 보니 왜 이 디자인패턴을 적용해야 하며, 적용하면서 얻는 장점들을 명확히 이해할 수 있었습니다. 또 이를 오래 기억하고자 블로그에 정리하게 되었습니다. (정리 내용도 단계별로 코드를 수정하며 팩토리 메서드 패턴을 적용하는 방식으로 정리해보고자 합니다.) 팩토리 메서드 패턴을 이해하기 위한 .. -
[JAVA] PriorityQueue 우선순위 큐 사용법
[JAVA] PriorityQueue 우선순위 큐 사용법
2023.02.031. PriorityQueue 란?일반적인 큐는 먼저 들어간 데이터가 먼저 나가는 구조인 FIFO 형식의 자료구조입니다. 반면에 우선순위 큐의 경우 들어가는 순서와는 상관없이 우선순위가 높은 데이터가 먼저 나가는 자료구조입니다. 우선순위 큐의 경우 힙 자료구조를 통해서 구현될 수 있습니다. ( 또한 다른 자료구조를 통해서 구현될 수 있음 ) 2. PriorityQueue 선언 방법// 기본형: 우선순위가 낮은 숫자가 먼저 나옴 (작은 숫자)PriorityQueue pQ = new PriorityQueue();// 우선순위가 높은 숫자가 먼저 나옴 (큰 숫자)PriorityQueue pQ = new PriorityQueue(Collections.reverseOrder()); 3. 기본적인 메소드add(.. -
[BOJ 16945번] 매직 스퀘어로 변경하기
[BOJ 16945번] 매직 스퀘어로 변경하기
2023.01.29[BOJ 16945번] 매직 스퀘어로 변경하기 https://www.acmicpc.net/problem/16945 16945번: 매직 스퀘어로 변경하기 1부터 N2까지의 수가 하나씩 채워져 있는 크기가 N×N인 배열이 있고, 이 배열의 모든 행, 열, 길이가 N인 대각선의 합이 모두 같을 때, 매직 스퀘어라고 한다. 크기가 3×3인 배열 A가 주어졌을 때, www.acmicpc.net 위의 문제는 3x3 배열 매직 스퀘어의 각 행의 합, 각 열의 합, 대각선의 합이 15라는 사실을 알고 풀어야 하는 문제입니다. 문제에 연결된 매직 스퀘어의 링크(위키백과) 설명을 제대로 읽지 못해 조건을 잘못 걸어 여러 번의 제출에도 해결하지 못하여 쓸데없는 시간을 소요하였습니다. 내가 생각한 풀이 - 1 우선 문제에 주.. -
HTTP vs WebSocket 차이점
HTTP vs WebSocket 차이점
2021.11.29HTTP vs WebSocket 차이점 오늘은 HTTP와 WebSocket의 차이점에 대해서 정리해보고자 합니다. 앞으로 진행할 파이널 프로젝트에 채팅 기능을 넣어보고자 공부를 진행함에 있어서 평소에도 사용하고 들어 봤던 용어임에도 정확히 개념 파악도 안 된 상태에서 써왔던 것에 대해서 굉장히 불편한 마음을 느꼈습니다. 이번 기회를 통해서 확실히 알아보겠습니다. 우선 HTTP 와 WebSocket에 대해서 간략하게 그림을 통해서 살펴보겠습니다. 첫 번째로 HTTP(HyperText Transfer Protocol) 에 대해서 알아보겠습니다. 이는 Front, Backend를 공부했다면 지겹게 들어봤을 개념이다. 클라이언트인 웹브라우저와 웹 서버가 서로 간 소통하기 위한 프로토콜이다. 예를 들어 클라이언트.. -
[ Spring ] IOC 수업 정리 - (2)
[ Spring ] IOC 수업 정리 - (2)
2021.11.20[ Spring ] IOC 수업 정리 - (2) 본 글은 KOSTA에서 교육을 들으면서 배웠던 내용을 복습해보고자 블로그에 올리는 글입니다. 지난 수업 정리 - (1)에 이어서 조금 다른 예제로 IOC에 대한 필요성과 이해를 느껴 보고자 합니다. 추가로 DI에 대해서 맛보기로 예제를 살펴보겠습니다. 우선 IOC를 사용하지 않는 방식에 대해서 먼저 살펴보겠습니다. 1. 기존 제어방식 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 package model; class AsianaTicketService { public void asianaTicketing() { System.out.println("아시아나 티케팅하다"); } } class KalT.. -
[Spring] IOC 수업정리 - (1)
[Spring] IOC 수업정리 - (1)
2021.11.19[ Spring ] IOC 수업 정리 - (1) 본 글은 KOSTA에서 교육을 들으면서 배웠던 내용을 복습해보고자 블로그에 올리는 글입니다. 어느덧 교육을 수강한 지 3개월이 넘어가는데요.. 드디어 웹 개발의 꽃 스프링! 과정까지 오게 되었습니다. 스프링을 잘 배우고 파이널 프로젝트까지 잘 마무리하고 싶다는 생각이 가장 큽니다. 스프링에 대해서 아주 맛보기 정도로 학습을 하였지만 느낀 점은 앞서서 배웠던 JSP, Servlet과는 다르게 구조 자체가 굉장히 어색하고 개발자들이 굉장히 효율적인 방법을 추구하는구나라는 생각이 들었습니다. 개인적인 이야기는 나중에 하고 수업내용을 정리해보도록 하겠습니다. 1. 기존 제어방식 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ..