일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 프로그래머스
- 내일배움캠프
- 알고리즘
- ES
- parametric search
- 백준
- 일정 관리
- Java
- File
- 이분 탐색
- binary search
- SpringBoot
- 객체지향
- programmers
- 계산기 만들기
- Baekjoon
- 완전탐색
- 브루트포스
- 해시
- Elasticsearch
- til
- 구현
- 코딩테스트
- querydsl
- 이분탐색
- Spring
- Generics
- BFS
- 누적합
- Algorithm
- Today
- Total
목록Back-End (16)
개발하는 햄팡이

이전글과 같은 프로젝트 하는 중. 상황 설명현재 구현하려고 하는 기능은 주소 필터링을 하는 것!그래서 공공데이터에서 법정동코드를 가져와서 그 데이터를 액셀로 만지작 해서 갖고 있는 상태이다.데이터는 아래 링크에서 가져왔다.https://www.code.go.kr/stdcode/regCodeL.do 법정동코드목록조회 - 행정표준코드관리시스템정상적으로 로그아웃하지 않았거나, 동일 사용자가 로그인한 상태입니다. 강제로 로그인 하시겠습니까? (강제 로그인 시 다시 로그인을 하셔야 합니다.)www.code.go.kr 우리의 데이터 파일은[법정동 코드, 코드 이름]예를 들면[4413000000,충청남도 천안시]이런 형태로 되어있다.법정동 코드는 앞 두자리가 시도코드, 중간 세자리가 시군구 코드, 그 다음 5자리가..

최근 하고 있는 프로젝트의 mvp가 어느정도 끝나고 이제 전체적인 코드 리팩토링과 추가 기능들을 작업하고 있다.그래서 api명세서도 만들고 뒤늦게 테스트코드도 작성해놓고 하면서 api명세서도 수정하고 그럴려고 하고 있는데Swagger 설정을 하였더니 제목과 같은 오류가 떴다. 원래대로라면 http://localhost:8080/swagger-ui/index.htmldefault설정되어있는 속으로 접속했을때 위 링크로 들어가면 api들이 쭈루룩 떠야하는데아래처럼 오류가 났다. 그리고 콘솔창 ControllerAdviceBean을 못찾는다데요... 나와 같은 문제들을 겪은 사람들이 블로그에 많았는데,SpringBoot를 다운그레이드 하거나 Swagger를 다운그레이드 하는 사람들이 많은 것 같았다.... ..
파일입출력 담당을 맡아 여기저기 찾아보며 이미지 업로드를 구현했는데 제목을 UUID로 설정하고 저장했더니 중복된 이름을 걸러주어 경로를 신경써야하는 문제는 없어졌지만같은 파일을 연달아 업로드 요청을 보냈을 경우 계속 저장되는 문제가 생겼다. 이렇게 되면 저장 공간이 낭비되겠지...같은 파일은 안저장하고 싶다는 생각이 들었다... 그래서 gpt한테 물어본 결과 파일 중복 업로드 방지를 위해선 파일의 내용(바이너리 데이터)을 InputStream으로 읽어서 그 데이터를 SHA-256으로 해싱하여 해시값을 사용하여 저장을 하면 된다고 한다. gpt가 말은 해줬는데 뭐라는건지 모르겠어서 인터넷 여기저기 찾아본 결과 1. 해시값은 파일의 내용을 가지고 만들기 때문에 파일이 같으면 해시값도 같기 때문에 중복 ..

문제 상황 저번주에 2주동안 진행하는 개인 프로젝트를 진행중에 테스트를 위해 h2 콘솔에 접근하려고 하는 상황이었다.원래 따로 설정을 하지 않으면 http://localhost:8080/h2-console 로 접근할 수 있다고 알고 있는데 해당 경로로 접근할 수 없었다.아얘 접속 화면 조차 뜨지 않는 상황.. 시작할때 로그도 해당 경로로 접근하면 된다는 로그를 봤는데... 해당 프로젝트는 내가 처음부터 만든 프로젝트가 아니라 이미 만들어진 프로젝트를 리팩토링 하고 개선하는 프로젝트라서구조를 잘 모르는 상태였다. 해결 과정인터넷에서 검색하여 h2 콘솔 접근 시 whitelabel error를 검색했더니 application.properties에 아래 설정을 입력해주면 된다고 하여 해당 코드도 넣어줬다..

https://github.com/GyeongSe99/team-newsfeed-project GitHub - GyeongSe99/team-newsfeed-project: [ 내일배움캠프 Spring 7기 ] Chapter5. 스프링 팀 프로젝트 - 뉴스피[ 내일배움캠프 Spring 7기 ] Chapter5. 스프링 팀 프로젝트 - 뉴스피드 프로젝트 - GyeongSe99/team-newsfeed-projectgithub.com 이번에 끝난 과제는 첫 팀 프로젝트인 뉴스피드 만들기.이전 과제를 하면서 팀원들이랑 논의했던 부분에서 배운것들이 많아 쭉 정리를 해보려고 한다. 일단 프로젝트에 대해서 간단하게 설명하면 우리는 페이스북을 모티브로해서 와이어프레임을 간단하게 작성하고,깃허브로 협업하는 방식을 익히는..

이전에 이어서 이제 내가 원하는 API를 구현할 차례이다. 전체 일정 조회를 하는 기능을 추가하려고 하는데 수정일과 작성자Id를 선택으로 받아 null인지 아닌지 체크하여 동적쿼리를 작성해야 한다.나는 일정 페이지에서 -내가 작성한 OO일 일정들-을 보고싶어서 아래 API를 작성한 것이기 때문에 일치 여부를 판단하는 쿼리를 작성할 것이다. 저번에 구현체 클래스에 로직을 작성하면 된다고 했다. 그래서 구현체 클래스에 아래와 같은 쿼리문을 작성했다. package com.sparta.schedule.schedule.repository;import com.querydsl.core.BooleanBuilder;import com.querydsl.jpa.impl.JPAQueryFactory;import com...

저저번주부터 Spring 수업을 시작했는데 과제하랴 정처기 공부하랴 너무 바빠서 블로그 글을 쓰지 못했다...진짜 블로그 꾸준히 쓰는 사람들은 성실성 인정해줘야 함... 뭐 그래서 어찌저찌 Spring 두번째 과제를 시작했는데 JPA와 쿠키/세션을 사용한 간단한 일정 관리 앱 만들기이다.무난하게 User를 만들고 일정을 저장할 Schedule CRUD를 구현중이었는데Schedule List를 가져오는 부분에서 API를 아래처럼 작성했었다. 요청 param에서 선택으로 수정일과 작성자ID를 받을 수 있게 했는데 선택으로 하다보니 null체크도 해줘야하고 Jpa는 말그대로 Simple이라서 동적 쿼리를 제공하지 않는다.그래서 그냥 if-els문으로 다 처리해버릴까..생각하다가 뭐 다음 과제에서 또 써..
3번째 과제는 키오스크 만들기.과제가 생각보다 까다로워서 블로그 포스팅을 아얘 못했다..생각할 것도 너무 많았고 수정할것도 너무 많아서 이 내용을 전부 블로그 글에 쓰기가 힘들었다. 어쨌든 일주일동안 고민해서 완성은 했는데완성하고 제출할려고 보니 SOLID 원칙의 S가 전혀 안지켜지고 있었던 것..S는 Single Responsibility Principle의 줄임말로 단일 책임 원칙이라는 뜻인데, 각 클래스는 하나의 책임을 가져야 한다는 뜻이다. 그런데 내 코드를 보면Kiosk 클래스에 무슨 고봉밥마냥 입출력, 계산, 메뉴 출력 등 각종 기능을 다 때려박은 것 같은 느낌이라서 이를 분리하기위해 추가 작업을 하려고 한다.(+ 내가 잘못한건 알겠는데 정확히 뭘 잘못했는지 모를땐 chatGpt한테 내가 쓴 ..

이전 포스팅https://bitj-bitbox.tistory.com/43 [JAVA][계산기 만들기-4] Lv3. Enum을 활용한 계산기 만들기https://bitj-bitbox.tistory.com/40 [JAVA][계산기 만들기-1] github 라벨 편집, Issue Template 생성, PR Template 생성저번 주에 HTML, CSS, JavaScript를 사용하여 간단한 팀소개 페이지 만들기가 끝나고이번 주 부터는 Javbitj-bitbox.tistory.com 음..제네릭을 활용해서 여러 타입을 받을 수 있게 하라고 되어있는데 나는 연산 메소드를 열거형 OperatorType에 만들어서새로운 계산기를 하나 더 만들어야 할 것 같다.OperatorType 파일을 수정하고 싶지는 않고..

https://bitj-bitbox.tistory.com/40 [JAVA][계산기 만들기-1] github 라벨 편집, Issue Template 생성, PR Template 생성저번 주에 HTML, CSS, JavaScript를 사용하여 간단한 팀소개 페이지 만들기가 끝나고이번 주 부터는 Java 기본 문법에 대해서 공부하면서 콘솔에 입출력을 받는 계산기 프로그램을 만드는 과제를 진행bitj-bitbox.tistory.comhttps://bitj-bitbox.tistory.com/41 [JAVA][계산기 만들기-2] Lv1. 클래스 사용하지 않고 기본 연산 계산기 만들기오늘은 Lv.1 요구사항을 처리할 것이다.그런데 Lv1요구사항이 클래스를 사용하지 않고 기본 연산 계산기 만들기라는 것.클래스 사용하지..