본문 바로가기

전체 글

(107)
[C++/Algorithm] 정렬 알고리즘 이해하고 구현하기 (bubble, insertion, selection) #1 안녕하세요. 이번 포스팅에서는 기본적인 정렬 알고리즘인 버블 정렬 선택 정렬 삽입 정렬 이 세 가지에 대해 이해하고 구현해보는 포스팅을 진행해볼 예정입니다. 우선 정렬 알고리즘이 무엇인가에 대해 한번 짚고 넘어갈게요. 정렬 알고리즘이란? 컴퓨터 과학과 수학에서 정렬 알고리즘(sorting algorithm)이란 원소들을 번호순이나 사전 순서와 같이 일정한 순서대로 열거하는 알고리즘이다. (출처 : https://ko.wikipedia.org/wiki/%EC%A0%95%EB%A0%AC_%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98) 즉 저희가 사용하는 List나 Array 또는 다른 자료구조의 데이터를 저희가 원하는 순서대로 배열하는 알고리즘입니다. 정렬 알고리즘은 데이터의 정규화를 위..
[Spring] Spring, Postman을 통해 Http통신 테스트 Http란? Http(Hyper Text Transfer Protocol)이란 HTML(웹 문서를 만들기 위한 언어)를 만드는데 쓰이는 통신 프로토콜입니다. 통신 프로토콜이란 서로 다른 두 컴퓨터나 통신 장비 사이에 메시지를 주고받는 양식 혹은 규칙의 체계로 이해할 수 있습니다. 즉 Client(user)와 Server간에 주고받는 메시지들을 어떠한 방식으로 요청하고 응답할지에 대한 약속입니다. Http 통신에는 기본적으로 다음 네가지 메소드를 많이 활용합니다. Get Post Put Delete 순서대로 Get method은 순수하게 데이터를 읽어오고 싶을 때 주로 사용됩니다. sql문의 SELECT문을 생각하시면 됩니다. Post method는 데이터를 입력하고 싶을 때 주로 사용됩니다. sql문의 ..
[SpringBoot] 블로그 프로젝트 #0 Github 연동하기 본 포스팅은 https://chanho0912.tistory.com/18 [SpringBoot] SpringBoot와 Mysql 연동 기본적인 세팅을 완료했으면 Mysql연동을 진행해 볼게요. https://chanho0912.tistory.com/4 [Spring/SpringBoot] IntelliJ 소개 및 Gradle 프로젝트 설정 필자는 SpringBoot 개발 환경으로 보통 IntelliJ를 사용.. chanho0912.tistory.com 해당 포스팅까지 완료하여 Mysql 설정까지 완료되었다고 가정하고 블로그 프로젝트 포스팅을 시작하겠습니다. 우선 간단히 저희가 빌드한 Spring Application이 정상적으로 작동하는지 확인해 보겠습니다. 우선 다음과 같이 저희의 메인 Applicati..
[SpringBoot] SpringBoot와 Mysql 연동 기본적인 세팅을 완료했으면 Mysql연동을 진행해 볼게요. https://chanho0912.tistory.com/4 [Spring/SpringBoot] IntelliJ 소개 및 Gradle 프로젝트 설정 필자는 SpringBoot 개발 환경으로 보통 IntelliJ를 사용한다. 아직 개발에 대한 경험이 깊지 않아 eclipse와 다양한 관점에서 비교는 어려울 수 있으나, 필자가 확실하게 느낀 IntelliJ의 강점은 다음과 같 chanho0912.tistory.com 여기까지 완료하신 분이라면 group = 'com.StudyProject' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' repositories { mavenCentral() } depen..
[Spring] PSA란? 이전 포스팅까지 Spring Triangle 중 IOC와 AOP에 대하여 다루어 보았습니다. https://chanho0912.tistory.com/8?category=866707 [SpringBoot] IOC(Inversion Of Control), DI(Dependency Injection)이란? 지난 포스팅까지 SpringBoot의 작동에 핵심적인 역할을 하는 Dispatcher Servlet에 대해 알아보았다. 이번에는 Spring에서 제공하는 핵심적인 기능 중 IOC에 대해 포스팅을 해보려 한다. IOC란? 의존 관계 주 chanho0912.tistory.com https://chanho0912.tistory.com/16 [SpringBoot] AOP란? 본 포스팅은 https://chanho0..
[Spring] AOP란? 본 포스팅은 https://chanho0912.tistory.com/14 [Java] 프록시 패턴이란? 원래 Spring 카테고리에 AOP에 대한 글을 포스팅하고 있었는데, Spring에서 제공하는 AOP를 이해하기 위해서는 기본적인 프록시 패턴에 대한 이해가 필요하기 때문에 프록시 패턴에 대한 포스팅을 먼 chanho0912.tistory.com 해당 포스팅의 내용을 이해하고 있다고 가정하고 작성하겠습니다. AOP란? Aspect Oriented Programming의 약어로 한국어로 직역하면 관점 지향적인 프로그래밍으로 해석된다. 여기서 말하는 관점 지향이란 비즈니스 로직을 기준으로 핵심적인 로직과 부과적인 로직을 분리하여 각각 분리하여 모듈화 하겠다는 의미입니다. 번역이 조금 어렵기 때문에 예제로 ..
[C++/Algorithm] 순열과 조합 구현하기 이번 포스팅에서는 C++로 순열과 조합을 구현해보려 한다. 1. 순열 순열은 '순서'의 개념이 존재하는 조합이다 가령 [1, 2, 3] 중 3개의 원소로 만들 수 있는 모든 순열의 집합은 [1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1] 이렇게 6개의 순열이 나올 수 있고, 간단하게 3!로 그 수를 구할 수 있다. 컴퓨터로 순열을 구현하는 방법에는 몇 가지가 있는데, 가장 기본적으로 DFS 방식, 즉 재귀적으로 방문처리를 이용하여 순열을 구할 수 있다. // Permutation DFS로 구현 #include using namespace std; void Permutation(int visited[3], vector & vec, vecto..
[Java] 프록시 패턴이란? 원래 Spring 카테고리에 AOP에 대한 글을 포스팅하고 있었는데, Spring에서 제공하는 AOP를 이해하기 위해서는 기본적인 프록시 패턴에 대한 이해가 필요하기 때문에 프록시 패턴에 대한 포스팅을 먼저 진행하기로 했다. 우선 본 포스팅을 진행하기에 앞서 프록시 패턴에 대해 잘 설명한 reference가 있어서 참고하였다. https://refactoring.guru/design-patterns/proxy Proxy There are dozens of ways to utilize the Proxy pattern. Let’s go over the most popular uses. Access control (protection proxy). This is when you want only specifi..