반응형 분류 전체보기714 redis 저장소를 cache, session 전용으로 분리하기 개요 현재 저의 개인 프로젝트에서는 redis에 캐시, 세션(+rememberme token)을 모두 하나의 redis에 저장하고 있습니다. 최근에 redis의 replica, mysql의 replica를 공부하면서 장애를 대비하는 분산 환경을 잘 구비해야겠다는 사실을 깨닫고 있었던 찰나에, redis에 모든 정보를 관리하고 있다는 것을 발견했습니다. 따라서, 이번에는 너무 하나의 redis에 데이터가 몰리지 않도록 다중 redis 설정을 해보겠습니다. 기존에는 어떻게 redis가 작업을 처리하고 있을까? 현재 하나의 redis에 캐시용, 세션용 데이터가 모두 들어오고 있습니다. 많은 데이터들이 한번에 redis에 저장, 조회되면 대용량의 경우에는 성능에 이슈가 생길 수가 있습니다. 따라서 캐시용과 세션.. 2022. 10. 1. TIL_2022.09.30 1. Facts(사실, 객관) - 나와 팀을 성장시키는 리뷰들 - 코드 리뷰만 리뷰가 아니라니까?(박미정) 글 작성 - 횡설수설하지 않고 정확하게 설명하는 법 글 작성 - git rebase 강의 수강 2. Feelings(느낌, 주관) 묵혀두었던 인프콘을 열심히 둘러봤습니다. 유명하거나 이미 아는 분들이 계셔서 관심을 가지고 봤습니다. 특히 박미정님의 발표를 들으면서 나중에 코드리뷰 뿐 아니라, 전 과정을 서로 리뷰하고 도와주는 문화를 잘 알아야겠다는 생각이 들었습니다. 3. Findings (배운 점) B브랜치 기준으로 git rebase A를 하면 B의 작업 내역이 A로 합쳐진다 B브랜치 기준으로 git merge A를 하면 A를 B의 작업으로 합친다 git rebase를 통해, 작업이력을 깔끔하게.. 2022. 10. 1. 나와 팀을 성장시키는 리뷰들 - 코드 리뷰만 리뷰가 아니라니까?(박미정) 개요 이 글은 인프콘 2022 에서 박미정님이 발표하신 내용입니다. 박미정님은 이전에 백기선님 유투브에도 나오고 퍼블리에서도 글을 연재하셔서 알고 있었습니다. 또한 OKKY에서 하는 세미나도 들었습니다. 세미나에서 그때 개발자가 회의를 하는 것을 시간낭비라고 생각하지 않았으면 좋겠다고 말했던 내용이 인상깊었습니다. 이번 발표도 그때의 발언과 일맥 상통했습니다. 개발자는 단순히 개발만 하는 직업이 아니라 개발의 시작과 끝까지 모든 것을 동료들과 함께 힘을 합쳐서 만들어나가며 고민해야 합니다. 나와 팀을 성장시키는 리뷰들 개발자의 일과 리뷰는 무엇일까? 개발자들은 일을 오해하고 있다. 개발자는 단순히 코드를 짜는 것이 아니라 요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 배포 크게 5가지를 하고 있다.. 2022. 9. 30. 횡설수설하지 않고 정확하게 설명하는 법 야마구치 다쿠로 저/김슬기 역 유노북스 출판사 개요 주어진 회사 업무를 척척박사처럼 잘 해내면 더할 나위 없이 훌륭합니다. 하지만 안타깝게도 그런 사람은 이 세상에 없습니다. 왜냐하면 회사라는 큰 조직에서 오랫동안 내려오는 전통과 새롭게 추가되는 다양한 내용들을 모두 알 수 없고 학습한다고 되는 것도 아니기 때문입니다다. 그래서 어떤 문제 상황이 있으면 그 상황을 이미 겪어보거나 잘 아는 사람들의 도움이 절실히 필요합니다. 또한 인수인계 받은 일이 잘 안풀리면 이전 담당자에게 물어봐야 합니다. 이렇게, 회사 업무를 하면서 수많은 어려운 상황에 부딪혔었고, 길을 많이 돌아가기도 했으며, 많이 해결하기도 했습니다. 어떻게 하면 나의 의사를 조금 더 정확하게 전달 할 수 있을까, 좀 더 효율적으로 소통할 수 .. 2022. 9. 30. TIL_2022.09.29 1. Facts(사실, 객관) - 개인 프로젝트 redis 1개에서 2개로 분기 - redis cache eviction 정책 글 작성 - 홈페이지 수정사항 반영 - TMS 테스트 - 홈페이지 새로운 광고 화면 적용 - git history 관련 사내 블로그 글 작성 - git 머지 강의 2. Feelings(느낌, 주관) 여러가지 일이 많아서 하루종일 바빴습니다. 데이터 뽑아주기, 사진 추가하기, 새로운 광고화면 만들기, 테스트하기 등 난이도가 높다기보다는 일 자체가 많았습니다. 그래서 업무 시작 전에 우선순위를 정해서 끝내고자 하는 일을 모두 잘 끝냈습니다. 항상 하루를 시작할 때 오늘 해야 할 가장 중요한 일들을 우선수위로 잡아서 리스트를 만듭니다. 또한 하루를 마감할 때는 하루를 정리하고, 오늘의.. 2022. 9. 30. TIL_2022.09.28 1. Facts(사실, 객관) - git reference 강의 듣기 - git history 글쓰기 준비 - interview 캐시 추가 - JPA N+1 개선하기 글 쓰기 - 금형관리 데이터 INSERT 2. Feelings(느낌, 주관) 회사에서 우선순위를 정해 일을 하는데, 생각보다 일이 지연되면 어떻게 해야할까? 일을 멈추고 다른 것을 해야할까, 아니면 일을 간단하게 하도록 다른 사람을 시켜야하나, 아니면 그 일을 끝까지 해야하나? 엑셀로 보내 준 데이터를 테이블에 insert하는데 developer tool로 제대로 전달되지 않아서 상당히 오랜시간을 들여 테이블에 INSERT 했습니다. 오늘은 괜찮았지만, 내일부터 있을 새로운 작업을 바로 시작해야하는데, 또 같은 요청이 2차로 오면 어떤 식으.. 2022. 9. 29. Redis eviction 정책은 무엇을 사용해야 할까? 개요 Redis를 통해 캐시하는 작업을 공부했습니다. 그렇다면 자연스럽게 드는 생각은, Redis의 메모리가 다 차면 이후에 어떻게 삭제(eviction)해야할까? 입니다. 삭제에는 다양한 정책이 있으며 이는 Redis의 장점이기도 합니다. 이번 시간에는 다양한 redis의 삭제 전략을 알아보고 최적의 선택을 해보겠습니다. maxmemory 설정하기 maxmemory 설정은 Redis가 사용할 메모리 양의 최대치를 정하는 것입니다. Redis가 캐시로 사용될 때 새로운 데이터가 추가되면 오래된 데이터는 자동으로 삭제되도록 하는 설정이 일반적입니다. (memcached도 이런 방식을 사용합니다.) Redis의 경우에는 다양한 정책을 가질 수 있으므로 종류와 설정법을 알아보겠습니다. maxmemory는 re.. 2022. 9. 28. 페이징에서 JPA N +1 문제 해결하기 개요 JPA는 간편하게 쿼리문을 사용할 수 있는 장점이 있지만 일대다 관계 혹은 EAGER, LAZY 조회 전략에 따라서 N + 1 문제가 발생합니다. 도메인을 그냥 조회하는 법, DTO로 변환해서 조회하는 법 등 다양한 방법들이 있는데, 이번에는 QueryDsl에서 페이징을 할 때 N + 1 문제를 방지하면서 쿼리문을 최소한으로 유지하기 위한 전략을 알아보겠습니다. 문제 상황 페이징을 이용해서 스터디를 100개씩 조회하도록 합니다. 기존에는 Study M : N Account 관계를 가지고 있으므로, 중간 테이블로 StudyLikes 엔티티를 가지며 Study 1 : N StudyLikes의 관계를 가집니다. 스터디를 조회하고 나면, 각 스터디의 스터디 좋아요(StudyLikes)를 순회하며, 내가 좋.. 2022. 9. 28. TIL_2022.09.27 1. Facts(사실, 객관) - 금형관리 PK 변경 - 견적서 화면 배치 수정 및 승인권한 추가 - 큐밍 홈페이지 사진 및 연혁 수정 - github history 강의 2. Feelings(느낌, 주관) 완성되었다고 판단했던 개발 건들이 계속 수정 요청이 들어왔습니다. 견적서의 배치 변경과 날인 도장 추가입니다. 이는 분기를 통해서 요청 팀에 따라 다른 사진을 불러도록 하면 되겠다는 생각을 했습니다. 금형관리의 경우 pk가 바뀌었는데 당황스러웠습니다. 그래서 또다시 설계를 바꿔서 기존에 금형코드를 금형명을 pk로 했습니다. 테이블을 다시 생성하고, SQL 문과 화면을 수정하는 일이 늘어버렸습니다. 하지만, 계속 화면을 보고 있었기에 익숙함에 바로 수정이 가능했었습니다. 다음부터는 기존에 데이터들을 백.. 2022. 9. 28. 이전 1 ··· 9 10 11 12 13 14 15 ··· 80 다음 반응형