전체 글

프로그래밍 정보를 공유합니다
· Spring
Spring boot v3.2.3 & Spring Security 6.2.2 에서 클라이언트의 URL 요청 허용을 정규 표현식으로 허용하는 방법이다. 아래는 정규 표현식을 이용하여 requestMatchers 사용한 예시이다. http .authorizeHttpRequests((authorize) -> authorize .requestMatchers(RegexRequestMatcher.regexMatcher("/resource/[A-Za-z0-9]+")).hasAuthority("USER") .anyRequest().denyAll() ) ✔️ 적용한 전체 코드 예시 [ WebSecurityConfig.java ] @Configuration @EnableWebSecurity public class WebS..
· Spring
@ReqestBody를 사용하는 방법은 알겠다. 문득, 어떻게 DTO와 요청 JSON을 매핑하는지 동작 원리가 궁금했다. 어떻게 @RequestBody는 객체와 JSON을 매핑할까? 조사해본 내용들을 정리 해보려고 한다. ✔️ @RequestBody 란? @RequestBody 는 Spring Framework (Spring MVC)에서 제공되는 어노테이션으로, HTTP 요청의 본문(body)에 있는 데이터를 자바 객체에 매핑할 때 사용된다. 주로 JSON 또는 XML과 같은 형식의 데이터를 Java 객체와 매핑할 때 사용된다. 아래 코드를 참고 해보자. 💬 테스트 해보기 테스트 환경은 Spring boot v3.2.3 이며, JDK17 을 사용했다. Spring MVC 기능 사용을 위해 Depende..
항해99 심화트랙 자료구조 & 알고리즘 3주 차가 거의 마무리되어간다. 이번 주에 공부했던 최소 신장 트리(MST, Minimum Spanning Tree), 이분 탐색(Binary Search)에 대해 정리 해보려고 한다. ✔️ 신장 트리(Spanning Tree), 최소 신장 트리 (Minimum Spanning Tree) 💡 신장 트리 (Spanning Tree) 신장 트리(Spanning Tree)란 주어진 그래프의 모든 정점을 포함하면서 사이클을 형성하지 않는 부분 그래프이다. 여기서 사이클 이란, 한 노드에서 출발하여 간선(Edge)을 따라 다시 출발한 노드로 올 수 있는 상황을 일컫는다. 신장 트리는 모든 정점을 한 번씩 방문하면서, 정확히 하나의 경로를 통해 모든 정점을 연결한다. '신장'..
✔️ 들어가며 이번 주는 심화 자료구조 학습 주차였다. 그래프, DFS, BFS, 트리, 이진 트리에 대한 개념 공부와 알고리즘 공부를 진행하게 되었다. 기본 자료구조 주차에 비해서 난이도가 많이 올라갔다고 느꼈던 한 주였다. 문제를 해결한 방법과, 배운 점 및 알아야 할 점에 관련하여 글을 작성해보려고 한다. ✔️ 그래프 & DFS 활용 [Baekjoon] 2667. 단지 번호 붙이기 - https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net from..
· Spring
이 글은 Spring MVC를 이해하기 위해 직접 MVC 프레임워크를 만들어보는 과정을 담은 글이다. 지난 글에 이어서 Part 2 를 작성해보려고 한다. 이 글은 인프런 김영한님의 스프링 MVC 1편을 참고하여 작성한 글이다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 강의 - 인프런 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원 www.inflearn.com Part 1 글은 아래 링크에서 볼 수 있다. [Spri..
· Spring
이 글은 Spring MVC 구조를 이해하기 위해 직접 MVC 프레임워크를 만들어보는 과정을 담은 글이다. 프로젝트는 Spring boot v3.2.2, JDK 17, JSP, lombok을 이용하여 진행하였고, 인프런 김영한님의 스프링 MVC 1편 강의를 참고하여 작성하였다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 강의 - 인프런 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원 www.inflearn.com ✔️ ..
심화트랙 선택 항해99 본 과정이 시작됐다. 본 과정은 정규트랙과 심화트랙 두 개로 나뉘어 있었고, 둘 중 하나를 선택해서 진행할 수 있었다. 나는 개발 경험도 있었고, 자료구조 및 알고리즘에 시간을 더 투자하고 싶어서 심화트랙을 선택했다. 앞으로 약 3주간 팀을 이뤄 자료구조 및 알고리즘을 공부할 예정이다. 문제는 백준, 리트코드의 문제를 하루에 4~5개 정도 풀게 되었다. 커리큘럼이 Python으로 진행되었는데, 문법이 익숙하지 않아 문제를 풀 때 많이 찾아가면서 풀게 됐다. 문제를 풀면서 느꼈던 점을 중심으로 적어보려고 한다. 시간 복잡도 [Leetcode] 15. 세 수의 합 - https://leetcode.com/problems/3sum/ LeetCode - The World's Leading..
항해99 본 정규과정에 들어가기 앞서, 5명의 팀을 이뤄 약 3일간 진행했던 웹 미니 프로젝트에 관련한 회고를 작성해보려고 합니다. 짧다면 짧은 시간이지만, 느낀점이 많았던 미니 프로젝트 였습니다. 개발 공부가 처음이신가요? 처음이 아니라면, 어느 정도 기간을 가지고 어떻게 학습을 하셨나요? 저는 전공자(학사)이며, 약 2년 정도 백엔드 개발 경력이 있습니다. 프로그래밍 언어는 PHP를 사용했었고, 주력 언어를 Java로 변경하기 위해 공부 중입니다. 퇴사 후 Java, Spring 프레임워크를 6개월 정도 독학하였습니다. 전 배달의민족 CTO '김영한' 님의 인프런 강의를 참고하여 공부하였습니다. 내가 항해99에 참여한 계기는 무엇인가요? 저는 독학을 하면서, 팀 프로젝트를 경험해 보고 싶다는 생각을 ..
· PHP
Windows 10 환경에 PHP를 설치하고 환경변수 설정하는 방법을 정리해보려고 한다. 글을 작성하는 2022년 6월 기준으로 PHP 공식 홈페이지에서 제공하는 최신 버전은 PHP 8.1 (8.1.7) 버전이다. 앞으로 계속 새로운 버전이 릴리즈 될 것이고, 최신 버전에 맞게 다운로드하여 설치하면 될 것 같다. PHP 설치하기 1. 공식 홈페이지에서 다운로드 받고, 압축만 풀어주면 된다. PHP 다운로드 공식 홈페이지 주소에 접속한다. Windows 10 64비트의 기준으로 https://windows.php.net/download 에 접속하여 최신 버전의 VS16 x64 Non Thread Safe의 Zip 파일을 다운로드한다. PHP For Windows: Binaries and sources Re..
꼼상
개발서랍장