'Development/Tip' 카테고리의 글 목록
본문 바로가기

Development/Tip

(19)
공부하며 얻은 잡다한 지식들 (2024.09.13 update) 기술적 내용보다는, 개발하면서 뭔가 편리한? 사람마다 다른? 이렇게 구현된 숨은 이야기들? 등 잡다한 것들을 적어놓는 글 입니다.QueryDSL은 주로 READ, JPA는 나머지를 쓰는 편이다.IntelliJ에서 하나의 창에서 여러 Gradle을 추가할 수 있다. 이를 통해 한 번에 여러 패키지 관리가 가능하다.Window는 파일 확장자를 3글자로 맞추는 걸 좋아한다. 그렇다고 application.yaml과 application.yml의 차이는 없다.spring에서 application.properties과 yml는 file encoding이 ISO-8xxx와 UTF-8 차이가 있다.맥북은 터미널에 복사 붙여넣기를 하면 서식까지 복사가 되는 경우가 있어서 '\'로 여러 명령어를 입력할 때 끝에 공백이 ..
[Redis] Redis 기초 Redis는 매우 빠른 성능과 다양한 기능으로 인해 현대적인 애플리케이션 개발에서 중요한 역할을 하고 있습니다. 이 글에서는 Redis가 무엇인지, Redis의 특징과 활용 사례를 살펴보고자 합니다.RedisRedis는 REmote DIctionary Server의 약자로, 데이터를 키-값 쌍으로 저장하는 인메모리 데이터베이스이다. 이는 Java의 Map 인터페이스와 비슷한 방식으로 데이터를 저장하고 조회할 수 있는 기능을 제공한다. Redis는 단순한 키-값 저장소를 넘어서 다양한 데이터 구조를 지원하며, 고성능과 유연한 사용성을 제공하는 것으로 널리 알려져 있다.Redis의 특징인메모리 데이터베이스Redis는 데이터를 메모리(RAM)에 저장하는 인메모리 데이터베이스이다. 이로 인해 디스크 기반 데이터..
이벤트 드라이븐 아키텍처와 메세지 큐 이벤트 드리븐 아키텍처(Event-Driven Architecture, EDA)는 시스템에서 발생하는 이벤트(상태 변화나 행동)를 기반으로 동작하는 소프트웨어 설계 스타일입니다. 이는 비동기적으로 이벤트를 처리하며, 대규모 시스템에서 대용량 트래픽을 효과적으로 처리하고 서비스 간의 느슨한 결합을 통해 독립적으로 동작할 수 있도록 합니다. 이 글에서는 이벤트 드리븐 아키텍처의 주요 개념, 장점과 단점, 그리고 이를 실제로 구현할 때 사용하는 RabbitMQ와 Kafka에 대해 다룹니다.전통적인 요청-응답 모델의 한계동기적 통신:전통적인 아키텍처는 주로 HTTP와 같은 동기적 요청-응답 모델을 사용한다.클라이언트가 요청을 보내면 서버는 요청을 처리한 후 응답을 반환한다. 이 방식은 클라이언트가 응답을 기다리..
[Tip] 소프트웨어 버전 번호 별 의미 소프트웨어 버전 관리에서 버전 번호는 일반적으로 세 자리의 숫자로 구성되며, 각 숫자는 각각 주 버전, 마이너 버전, 패치 버전을 나타냅니다. 버전 번호의 구성형식: 주 버전.마이너 버전.패치 버전 (Major.Minor.Patch)주 버전 (Major)의미: 주 버전의 변경은 대규모 업데이트나 중요한 변경 사항을 나타냅니다. 이는 API의 호환성을 깨트릴 수 있으며, 이전 버전과의 역호환성을 보장하지 않을 수도 있습니다.변경 이유: 완전히 새로운 기능이나 아키텍처 변경, 혹은 기존의 기능을 크게 변경하여 사용자나 다른 소프트웨어가 큰 영향을 받을 수 있는 경우 주 버전이 증가합니다.예시: 1.0.0에서 2.0.0으로의 변경은 소프트웨어가 근본적으로 많이 변했고, 사용자는 코드 수정이 필요할 수 있음을 ..
[Tip] Github README에 내가 작성한 블로그 최신 글 가져오기 나의 Github README에 블로그 최근 글 작성하기 1. 자신을 소개하는 README.md에 블로그 글 목록이 들어갈 자리에 다음 코드 넣기 2. README.md가 위치하는 Repository에 .github 폴더를 만들고, 그 안에다가 또 workflows 라는 폴더 만들기 3. blog-post-workflow.yml 라는 파일에 아래 코드 붙여넣기 name: Latest blog post workflow on: schedule: # Run workflow automatically - cron: '0 * * * *' # Runs every hour, on the hour workflow_dispatch: # Run workflow manually (without waiting for the c..
[Tip] KPT(Keep, Problem, Try) 방식으로 프로젝트 회고하기 회고(retrospective)를 해보자 프로젝트가 끝나면 회고를 하는 것이 중요합니다. 이번에 한 프로젝트의 좋은 점과 고칠 점을 파악하여, 다음 프로젝트에서 더 나은 결과물을 만드는데 도움이 되기 때문입니다. 과거에 발생한 문제를 미래에 대비하기 위해 새로운 방법과 넓은 시야를 얻을 수 있고, 스스로 성장할 기회를 얻을 수 있습니다. 이 글에서는 회고를 하는 방법중 하나인 KPT(Keep, Problem, Try) 회고 방법에 대해서 소개하려 합니다. K-P-T(Keep, Problem, Try) Keep 이 단계에서는 프로젝트를 진행하면서 실용적이거나, 성공적인 성과들을 나열합니다. 긍정적인 요소들, 가치있는 배움들이 포함될 수 있습니다. 예를 들어, 다음 내용이 포함될 수 있습니다. 꾸준히 테스트..
[Tip]테스트 코드를 작성하는 이유, Given When Then, FIRST 속성 테스트 코드 테스트 코드는 우리가 작성한 코드나 비즈니스 로직 자체를 테스트하기 위해 작성된 코드를 의미한다. Agile 방법론 중 하나인 TDD(Test Driven Development)도 등장한 만큼, 테스트 코드를 더 잘 작성하고 활용하기 위해 고민해 볼 필요가 있다. 테스트 코드의 중요성 개발 과정에서 문제를 미리 발견할 수 있다. 문제를 미리 발견함으로써 문제 상황을 실제 서비스 배포 이전에 방지할 수 있다. 문제가 발생할 수 있는 여러 상황에 맞춰 테스트 코드를 작성하는 것이 중요하며, 이를 통해 잠재된 문제를 발견하는 것에 도움이 된다. 일부러 오류가 발생할 수 있는 테스트 코드를 작성하여 예외 처리가 잘 작동하는지를 확인하거나, 정확히 의도한 비즈니스 로직에 맞춰 테스트 코드를 작성해서 ..
유튜브 영상과 논문을 요약해주는 AI, Lilys AI (블로그 글도 써줌 ㄷㄷ;) Lilys AI https://lilys.ai/home 유용한 AI 사이트를 발견해서 작성합니다. Lilys AI인데, 유튜브 영상, PDF를 분석하여 요악 노트를 작성해주거나, 블로그로 작성해주는 기능도 수행합니다. 저는 아래 '쉬운코딩' 채널의 동영상 하나를 넣어보겠습니다. https://www.youtube.com/watch?v=aL0XXc1yGPs&list=PLcXyemr8ZeoREWGhhZi5FZs6cvymjIBVe&index=1 아래와 같이 요약을 해주는데요 ! 동영상의 소리를 분석하여 타임스탬프 별 요악 노트, 스크립트, 블로그 글, 심지어 동영상 내용의 관한 대화까지 가능합니다. 어 잠깐 영상 캡처는 저작권의 이슈가 있지 않나..? https://www.a-ha.io/questions/47..