전체 글 345

[JAVA/Regex] 중복되는 영어 단어 제거

- 중복되는 영단어 제거 정규식"\\b(\\w+)(\\s+\\1\\b)+" \b:단어의 시작이나 끝 (단어의 경계)공백, 구두점 등과 같은 비단어 문자와 단어 문자(영문자, 숫자 등) 를 구분 가능 (\w+):하나 이상의 단어 문자를 찾습니다.\w는 알파벳 대소문자, 숫자,밑줄(_)을 포함+는 하나 이상의 문자로 이루어진 패턴이 부분은 그룹으로 지정 ( 그룹 1 )(\s+\1\b):\s+: 하나 이상의 공백 문자(스페이스, 탭 등) 찾기\1: 그룹 1 의 내용을 참조하는 역할\b: 단어 경계 전체적으로 작동하는 방식:정규식은 먼저 단어 경계에서 시작하고, 그 다음에 단어 문자가 하나 이상 있는지를 확인합니다. 이 문자는 캡처 그룹 (\w+)에 저장  공백이 최소 하나 이상 있는지를 확인하고, 그 다음에 ..

JAVA/Regex 2024.10.24

[JAVA] 가변인자

가변 인자 ( Variable Arguments )란?   - 메서드의 인자를 가변적으로 받을 수 있도록 하는 기능   - 메서드를 호출할 때 인자의 수가 정해져 있지 않는 경우 (몇 개의 인자를 넘길지 모르는 경우) 에 사용 가능   - 가변 인자는 배열 형태로 메서드에 전달되며, 메서드의 선언에서 ...을 사용하여 표시 가변 인자의 장점    - 유연성: 메서드를 호출하는 쪽에서 인자의 수를 조정가능   - 코드의 가독성: 가변 인자를 사용하면 여러 개의 매개변수를 처리하는 메서드에서 오버로딩을 하지 않아도 됨   - 유지보수 용이성: 인자의 수가 바뀌어도 메서드의 인터페이스를 변경할 필요가 없음  예시 코드 class Solution { public static void add(int... n..

JAVA/Language 2024.10.23

[알고리즘] MST

1. MST 란? 최소 신장 트리는 연결 그래프의 부분 그래프로, 그래프의 모든 정점을 포함하면서 간선의 총 가중치가 최소가 되는 트리( 네트워크 설계, 클러스터링, 그래픽스 등 사용 ) 연결 그래프: 모든 정점이 서로 연결되어 있는 그래프트리: 사이클이 없는 그래프신장 트리: 그래프의 모든 정점을 포함하는 트리최소 신장 트리: 신장 트리 중 간선 가중치의 합이 최소인 트리 2. 구현 방법 1. 크루스칼 알고리즘  - 모든 간선을 가중치 기준으로 정렬합니다.   - 가장 작은 가중치의 간선부터 차례대로 선택하여 MST에 추가   - 간선을 추가할 때, 사이클이 발생하지 않도록 유니온-파인드(Union-Find) 자료구조를 사용하여 관리 시간 복잡도: O(E log E), E: 간선의 수장점: 구현이 간단..

etc 2024.10.21

실전 프로젝트

* 2024.04 ~ 2024.05 (6주) 실전 프로젝트 한 것 총 정리 ✅ 실전 프로젝트 개요  이번 프로젝트는 백엔드와 프론트엔드로 나뉘어 각자의 역할에 맞는 기능을 구현하는 실제 서비스팀의 업무와 유사하게 진행되었습니다. 프로젝트는 6주 동안 기획, 설계, 구현, 유저 테스트, 발표를 모두 진행해야 했기 때문에 시간이 많이 부족하였습니다. 그래서 Back-end Leader로서 프로젝트를 성공적으로 완료하고 정해진 일정(6주) 내에 핵심 기능을 모두 구현하기 위해 노력하였습니다. * 팀 구성은 Design 1명, FE 2명, BE 4명으로 구성되었고 BE 개발자는 다음과 같이 역할 분담을 하였습니다. 팀원1 : 여행 후기 CRUD, 이미지 처리, 좋아요, 스크랩, 모니터링 툴 도입(Grafana,..

개발일지 2024.10.21

[최종 결과] 위치 기반 상품 추천 프로젝트

* 2020.01 ~ 2020.02 팀 프로젝트 기록을 옮김. ✅  0. 프로젝트 설명    당시, 배달의 민족 픽업 서비스가 제공되지 않는 점을 이용해 높아지는 배달료를 해결하기 위해 자신의 위치에서 특정 위치(집)으로 이동하는 경로 중에 음식을 주문하고 이동하면서 하나씩 픽업 할 수 있도록 서비스를 구상하였다. 핵심되는 서비스는 픽업 서비스이며 이동 경로 중 더 싼 음식이나 세일하는 물품이 있는경우 추천을 받아서 사용자가 최적의 구매를 도와주는 것을 차별화된 기능으로 설정하였다.  ✅  0. 목차  ✅  1. 요구사항 개발   ✅  2. 요구사항 정의 및 분석  ✅  3. 유즈케이스 분석 및 정의  ✅  4. 화면 설계 ( 프로토 타입 개발 )     ✅  5. DB 설계  ✅  6. 프로젝트 아키텍..

개발일지 2024.10.17