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)
post-thumbnail

[Project] TO-DO List 만들기 (Spring Boot + Vue.js + MongoDB + Docker)

https://imasoftwareengineer.tistory.com/34?category=772561 위 글을 참조해 TO-DO List project를 만들어 보았습니다. development environment vue.js + javascript + boot

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

SpringBoot - ajax 사용법 및 예제 (+thymeleaf)

배경 스프링 부트 개발 환경에서 ajax 사용법에 대해 공부하면서 만든 예제이다. 💪 먼저 간단히 ajax 의 개념에 대해 설명하고 만든 예제를 설명하려고 한다. Ajax ajax는 JavaScript를 사용한 비동기 통신, 클라이언트와 서버간에 XML 데이터를 주

2021년 2월 6일
·
1개의 댓글
·

 Spring boot 프로젝트에 custom css 파일 추가하기

서론 현재 나는 스프링과 JPA 기반 웹 애플리케이션 개발 강의를 복습 중이다. 복습을 하면서 약간의 스타일링과 기능을 추가적으로 구현하려고 한다. 기존 웹 애플리케이션은 검은색 네비바에 버튼같은 경우는 부트스트랩의 primary 색상을 이용하고 있다. 나는 이번 사

2021년 1월 4일
·
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개의 댓글
·

[Error] Variable ' ' might not have been initialized

Variable 'studyRepository' might not have been initialized@RequiredArgsConstructor 를 붙여주면 된다.

2020년 12월 8일
·
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개의 댓글
·