profile
Step by step goes a long way ✨
태그 목록
전체보기 (618)TIL(260)Spring(162)JavaScript(84)Springboot(79)JPA(77)Java(39)CSS(28)error(28)React(23)git(21)vue.js(18)IntelliJ(15)jquery(14)kotlin(12)bootstrap(10)book(9)PostgreSQL(8)GitLab(6)What I saw today(6)github(6)html(5)linux(5)node.js(5)우아한테크러닝(4)sts(4)Thymeleaf(4)aws(4)ajax(4)apache(4)Angular(3)vscode(3)front end(3)typescript(3)mongodb(3)docker(3)MyBatis(3)centos(2)http(2)mac(2)getJson(2)tomcat(2)eclipse(2)회고(2)xhr(2)jenkins(2)substring(2)API(2)Sprinboot(2)Swagger(2)TechTerms(2)ssh(2)margin(2)gulp(2)https(2)ssl(2)custom(1)React-dropzone(1)서버(1)useEffect(1)python(1)Boostnote(1)js(1)package.json(1)escape(1)padding(1)ModelMapper(1)model(1)백엔드서버(1)ip(1)BigDecimal(1)frontend(1)fragement(1)awscli(1)action(1)SMTP(1)functional programming(1)Querydsl(1)Nginx(1)Node(1)json(1)ie(1)Saga(1)safari(1)facebook(1)filter(1)dirary(1)의존성 배열(1)debugging(1)redmine(1)commit(1)fontawesome(1)TestContainers(1)MonogoDB(1)vite(1)Confluence(1)jackson(1)utf8(1)nvm(1)stringify()(1)grid-system(1)wysiwyg(1)initialized(1)erd(1)overflow(1)tool(1)jq(1)프론트서버(1)NAMING(1)엔진엑스(1)HoF(1)CDN(1)version(1)onload(1)kafka(1)billboard(1)array(1)getter(1)setter(1)word-wrap(1)httpd(1)Guava(1)onClick(1)invalid-feedback(1)express(1)next.js(1)Groovy(1)systemd(1)babel(1)svg(1)Map(1)collapse(1)Token(1)aouth2(1)apexcharts(1)robots(1)vpc(1)redux(1)knex(1)JAP(1)reactjs(1)gatsby(1)session(1)chartjs(1)iconify(1)hover(1)until(1)503(1)코틀린 챕터4(1)md(1)bonobo(1)노마드코더(1)OZ Report(1)tag(1)nextjs(1)object(1)앵귤러(1)moment.js(1)Data Source explorer(1)scp(1)npm(1)warning(1)LomBok(1)runtime(1)cron(1)console.log(1)keystore(1)server(1)ubuntu(1)Thread(1)CodeDeploy(1)IAM(1)S3(1)navlink(1)browser(1)django(1)validation(1)toss(1)toUTCString(1)WSL2(1)PORT(1)톰캣(1)mod_ssl(1)xlsx(1)이직(1)Watching(1)아파치(1)

Spring, Node.js 차이

Spring, Node.js 차이에 관한 질문을 받았다. 하지만 난 섣불리 대답을 하지 못했다. 😓 질문에 대답하지 못한다면 실제 알고 있는 지식이 아니라고 했는데 .. (김민태 이사님의 말씀이 불현듯 떠올랐다ㅎㅎ) 하여튼! 그래서 이 둘의 차이를 알아보려고 한다.

2021년 6월 9일
·
0개의 댓글
·

[Spring] StringUtils

StringUtils라는 추상클래스는 String을 다루는데 편리한 기능을 제공한다. hasLength 메서드는 자료형으로 char 나 String을 받을 수 있게 오버로딩 되어있는데 단순히 파라미터가 null 이거나 "" 비어있는 문자 일경우 false를 반환하고 나

2021년 5월 6일
·
0개의 댓글
·

spring - DAO, DTO(VO)란?

Data Access Object의 약자로, 데이터베이스의 데이터에 접근하기 위해 생성하는 객체이다.데이터베이스에 접근하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용한다.간단하게, DB에 접속하여 데이터의 CRUD(생성, 읽기, 갱신, 삭제) 작업을 시행하는 클래

2021년 1월 20일
·
0개의 댓글
·

spring - @RequestMapping, @PostMapping, @GetMapping 차이

공부를 하다가 다른 어노테이션을 사용해서 동일한 작업을 수행하는 것을 보았다. Spring 4.3부터 Spring MVC 컨트롤러 메소드를 위해 새로운 어노테이션 5개가 추가되었다. https://github.com/spring-projects/spring-f

2021년 1월 18일
·
0개의 댓글
·

배포시 고려할 것

환경(프로필)에 따라 각기 다른 설정 파일 제공하는 방법로깅패키징배포 방법배포 시 주의해야 할 것은 설정파일! 😉여러가지 환경에 따라 각기 다른 설정을 해줘야 하는데 스프링, 스프링 부트에서는 스프링 부트가 제공하는 profile 별 application.proper

2020년 12월 15일
·
0개의 댓글
·
post-thumbnail

에러 핸들러 및 뷰 추가

Spring @ControllerAdvice 어노테이션을 이용한 에러 처리 클라이언트가 잘못된 요청을 보내오는 경우 404 에러 페이지로 보낸다. 잘못된 요청의 예 없는 스터디 페이지 조회 시도 없는 프로필 페이지 조회 시도 무작위 이벤트 조회 시도 허용하지 않는

2020년 12월 15일
·
0개의 댓글
·

로그인 후 첫 페이지

Todo N+1 Select 문제 없이, 쿼리 6개를 사용해서 만들기 계정 조회 (관심 주제, 지역 정보 포함) 참석할 모임 조회 ㅇㅇ 내가 참가 신청을 했고 이게 수락이 된, enrollment를 조회해야 한다. 나의 주요 활동 지역과 관심 주제에 해당하는

2020년 12월 15일
·
0개의 댓글
·

로그인 전 첫 페이지

최근 9개의 스터디를 조회해서 화면에 보여줄 것. (공개했고, 아직 종료하지 않은 스터디중에서)페이징 X, List로 조회쿼리 만들지 말고, 스프링 데이터 JPA 쿼리 메소드로 만들어 볼 것.뷰 코드는 최대한 재사용 할 것.😙😙 재사용하기!!!!!출처 : 인프런 백

2020년 12월 14일
·
0개의 댓글
·
post-thumbnail

검색 뷰 개선

부트스트랩 https://getbootstrap.com/docs/4.4/components/pagination/ 정렬 조건 추가 스터디 공개 일시 멤버수 키워드 하이라이팅 mark.js https://markjs.io/ 출처 : 인프런 백기선님의 스프링과 JPA 기반

2020년 12월 10일
·
0개의 댓글
·
post-thumbnail

페이징 적용

고전적인 방식의 페이징 SQL의 limit과 offset 사용하기 스프링 데이터 JPA가 제공하는 Pageable 사용하기 page와 size sort도 지원한다. 기본값 설정하는 방법 @PageableDefault 이전에 emtpy 콜렉션을 Model에 넣을 때 발생

2020년 12월 10일
·
0개의 댓글
·

✅ N+1 Select 문제 해결

스터디 목록 조회하는 쿼리 발생 스터디 마다 쿼리가 3개씩 태그 조회, 지역조회, 멤버 조회 3n+1 스터디가 9개가 있으면 3*9+1 = 28 개 JPA를 쓰면서 성능이 느려지는 이슈중 하나이다. left (outer) join + fetchJoin + dist

2020년 12월 10일
·
0개의 댓글
·

✅ 검색 기능 구현

GET “/search/study” keyword 입력 받아서 스터디 검색 스터디 제목, 태그 이름, 도시 로컬 이름에 해당하는 키워드를 가지고 있는 공개된 스터디 조회 페이징 없이 정렬 조건 없이 로그인 없이도 사용 가능 보여줄 내용 검색 키워드와 결과 개수, 없으면

2020년 12월 9일
·
0개의 댓글
·
post-thumbnail

모임 관련 알림

새 모임 추가모임 변경모임 취소참가 신청 수락참가 신청 거절EnrollmentEvent 를 만들고 아래와 같은 방법을 취함! 출처 : 인프런 백기선님의 스프링과 JPA 기반 웹 애플리케이션 개발

2020년 12월 8일
·
0개의 댓글
·
post-thumbnail

관심있는 스터디 변경 알림

스터디 소개를 수정 했을 때스터디 종료시스터디 팀원 모집 시작 / 중지StudyService.javaeventPublisher 를 통해 event 를 던짐! 4개의 이벤트를 4곳에서 StudyUpdateEvent를 던지도록 하였음, 그리고 이에 대한 처리로 Study

2020년 12월 8일
·
0개의 댓글
·
post-thumbnail

알림 목록 조회 및 삭제

읽지 않은 알림 메시지만 보여준다.알림 메시지를 카테고리 별로 나눠서 Model에 담아주고 뷰에서 보여준다.모든 읽지 않은 알림 메시지를 읽은 메시지로 수정한다.읽은 알림 메시지를 보여준다.읽은 알림 메시지를 삭제한다.deleteByAccountAndChecked ,

2020년 12월 8일
·
0개의 댓글
·

✅ 알림 아이콘 변경

핸들러 처리 이후, 뷰 랜더링 전에 스프링 웹 MVC HandlerInterceptor로 읽지 않은메시지가 있는지 Model에 담아준다. (뷰를 렌더링하기 전에 model에다가 데이터를 하나 더 넣어준다. 현재 읽지 않는 노티가 있느냐 없느냐를 넣어준다. https&#

2020년 12월 8일
·
0개의 댓글
·
post-thumbnail

✅ 스터디 개설 알림

스터디를 만들때가 아니라 공개할 때 알림 알림 받을 사람: 스터디 주제와 지역에 매칭이 되는 Account 알림 제목: 스터디 이름 알림 메시지: 스터디 짧은 소개 QueryDSL 설정 http://www.querydsl.com/ 타입 세이프하게 JPA 쿼리를 작성할

2020년 12월 7일
·
0개의 댓글
·
post-thumbnail

✅ 알림 인프라 설정

스터디가 만들어지거나 스터디에 대한 정보가 바뀌거나 참가 신청했던 것에 대한 변경이 생길 시 추가적인 알람을 보내는 것이다. 알림을 받을 때 웹, 이메일 등으로 받을 수 있다. 근데 이 일 자체가 부가적인 일이고, 메인 로직에 영향을 주고싶지 않다. 응답 시간에도 영향

2020년 12월 4일
·
0개의 댓글
·

알림 도메인

제목링크짧은 메시지확인 여부누구에게 (Account)언제알림 타입 (새 스터디, 참여중인 스터디, 모임 참가 신청 결과)출처 : 인프런 백기선님의 스프링과 JPA 기반 웹 애플리케이션 개발

2020년 12월 4일
·
0개의 댓글
·

테스트 DB를 PostgreSQL로 전환

테스트 DB를 운영용 DB와 같은 유형으로 바꾸자. JPA 또는 하이버네이트가 만들어주는 쿼리가 각 DB밴더에 따라 다르다. 하지만 테스트용 DB를 운영하는 것은 번거롭다. CI 환경은? 그래서 TestContainers를 사용한다. https://www.testcon

2020년 12월 3일
·
0개의 댓글
·