분류 전체보기

올해도 어김없이 돌아온 slash 24 그동안 온라인으로만 즐겼는데 드디어 오프라인으로 즐길 기회가 생겼습니다.   2024년 9월 12일 목요일 삼성동 코엑스에서 진행됩니다.     관심있으신 분들은 바로 신청해보세요!https://toss.im/slash-24 토스 개발자 컨퍼런스 SLASH24참가 신청 8.23-9.2 / 본 행사 9.12 COEXtoss.im   저는 벌써 시간표도 다 짜놓았습니다.
(예고 : 결론부터 말하자면 Query DSL에서 LocalDate는 아무 문제 없습니다. ^^ )  역시 오늘도 에러가 터졌습니다.  그냥 지나가는 날이 없는 것 같습니다. ㅎㅎ예예~~    1️⃣ 증상  현재 저희서비스에서는 뉴스레터 보관함은 수 많은 필터가 존재하기에 JPQL로 작성하면 엄청 복잡해지기에 해당 로직은  query dsl을 사용해서 구현했습니다.   여러가지 필터, 읽은 아티클 숨김, 검색등을 한 번에 처리하기에는 query dsl이 좋다고 생각되어 사용하였습니다. 하지만  최근에 문제가 발생하였습니다.  8일전?? 9일전???왜 그러지 where문이 동작을 안하나???? LocalDate가 이상한가?? 혹시 프론트가 표기를 잘 못했나 ?? 일단 서버 로그를 먼저 확인해보았는데  아뿔..
이전에 fe할때는 AWS에서 도메인을 구매하고 route 54과 ACM, ALB을 이용해서 배포 했는데  nginx로 하는 방법을 훑어보니 훨씬 쉬웠다.   뭔가 블로그들이 다 쉬운걸 어렵게 설명한 느낌이 있어서 내가직접 쉽게 할 수 있도록 작성해보자 해서 이렇게 작성중입니다.   만약 이러한 과정이 처음이라면  아래 접은 글을 확인해주세요. 더보기웹 서버 나라에 Nginx라는 친절한 경비병이 살고 있었습니다. Nginx 경비병은 여러 웹사이트 마을을 안전하게 지키는 역할을 맡고 있었어요.어느 날, 웹사이트 마을 사람들은 인터넷 강도들이 가로챌 수 없는 안전한 통신을 원하게 되었습니다. 그래서 마을 사람들은 Nginx 경비병에게 안전한 HTTPS 보호막을 만들어 달라고 요청했습니다.Nginx 경비병은 H..
· 정보
프론트를 할때  미약하게나 해봤지만  자세하게 공부하는 건 이번이 처음이다.  먼저 아래와 같이 구성을 해보았다.  미래에 과금이 되더라도 jenkins를 사용할 예정이지만 아직 공부하는 단계이니 비용이 발생하지 않고 이전에 사용해봐서 익순한 Github Actions를 사용하기로 했다.  장점Docker 기반으로 서비스를 운영할 때 가장 간단하게 구성할 수 있는 인프라 구조단점무중단 배포를 구현하거나 여러 EC2 인스턴스에 배포를 해야하는 상황이라면 직접 Github Actions에 스크립트를 작성해서 구현해야 한다.   1️⃣ EC2 생성 및 세팅 저는 프리티어에 맞게 세팅을 하고 OS는 AWS Linux 2023으로 진행했습니다.  기존에 프리티어이신분들이 많이 사용하는 건 AL2이지만 미래와 효..
· 정보
📢  요약여러분이 위와 같은 에러를 만난다면 여러가지 경우의 수를 확인해보셔야합니다. 1️⃣ Gradle 설정확인  Gradle 설정 파일이 제대로 구성되었는지 확인해주셔야합니다. 2️⃣ Q 클래스 생성 확인Q클래스가 올바르게 생성이 되었는지 확인하셔야합니다.(build/generated/sources/annotationProcessor/java/main 디렉터리에 생성되어있어야 합니다.) 3️⃣ query를 올바르게 작성하였는지  확인해주세요.    📖 오류 회고 1️⃣ Gradle 설정확인   configurations { compileOnly { extendsFrom annotationProcessor }}dependencies { implementation 'com..
· 정보
지라를 처음 쓰는데 commit 할 때마다 JIRA 이슈번호 넣는 건 고역이었습니다.  계속되는 반복작업 이걸 프로젝트 기간 내내 실수 없이 지속하기에는 불가능에 가까워 보였습니다.   이때 사용할 수 있는게 바로 Git Hook 입니다.  📌 Git Hooks란 ?Git Hooks는 특정 Git 이벤트가 발생할 때 자동으로 실행되는 스크립트입니다. 예를 들어, 커밋을 할 때마다 코드 스타일을 검사하거나, 코드가 푸시될 때 자동으로 테스트를 실행하는 등 다양한 작업을 자동화할 수 있습니다. 이 스크립트는 GIt 저장소 내의 .git/hooks 디렉토리에 저장됩니다.  📌 Git Hooks의 종류Git hooks는 크게 클라이언트 사이드와 서버 사이드로 나뉩니다. 1️⃣ 클라이언트 사이드 Hooks클라..
· 정보
❗️ 에러 발생 mysql 세팅을 하는데 계속 에러가 발생했다. cannot resolve class or package 'cj' dependencies도 제대로 설정했는데 왜 안될까??? 계속 찾아보았다.   dependencies { runtimeOnly 'com.mysql:mysql-connector-java'} 🚀 해결법 그러다 발견했다.   바로 네이밍이 변경되었다.... 하..... 이러니 안되징dependencies { runtimeOnly 'com.mysql:mysql-connector-j'}  ❓ 원인 탐색 나는  스프링 부트 3.2.5를 사용한다.  해당 에러는 3.1.0 버전 부터 발생한다. 즉 3.1.0 미만 버전에서는  `mysql-connector-java`로 해도 ..
· 정보
앞에서는 다 재정의하라고 하는데 clone에서는 주의해라?? why? 하지만 그전에 clone이 대체 뭘까? ⭐️ clone clone() 함수는 객체 지향 프로그래밍에서 객체의 복제를 생성하는 데 사용됩니다. 쉽게 말해, clone()을 사용하면 기존 객체의 정확한 복사본을 만들 수 있어요. 이 복사본은 원본 객체와 동일한 값을 가지지만, 메모리 상의 다른 위치에 저장됩니다. 따라서, 복제된 객체를 수정해도 원본 객체에는 영향을 주지 않습니다. 예를 들어, 우리가 어떤 책의 정보를 담고 있는 객체를 가지고 있고, 이 책의 정보를 기반으로 새로운 책의 정보를 만들고 싶지만 일부 정보만 변경하고 싶은 경우, clone()을 사용하여 원본 객체의 복사본을 만든 다음, 필요한 정보만 변경할 수 있습니다. //..
· 정보
왜 toString을 재정의하라고 할까요? Object에서 정의한 toString()을 재정의하고 사용하지 않으면 클래스 이름@16진수로 표시한 해시코드 포맷으로 반환합니다. 사실 16진수를 표시하는 것보다는 실제 데이터를 표시해주는게 훨씬 개발자입장에서는 이해하기 쉽습니다. 또한 toString의 규약에 따르면 ‘간결하면서 사람이 읽기 쉬운 형태의 유익한 정보’를 반환해야 한다. equals나 hashCode처럼 시스템에 오동작을 일으키지는 않지만, item 12 규칙이 주는 개발상 편의는 막대하기 때문에 중요하다. 해당 객체를 사용하기에도, 디버깅하기에도 즐겁습니다. 이제 예제를 통해 알아봅시다. public final class PhoneNumber { private final short areaC..
개발자성장기
'분류 전체보기' 카테고리의 글 목록