본문 바로가기
반응형

분류 전체보기714

인덱스 스캔 7가지 종류 개요 오라클에서 인덱스 스캔 방식이 많이 있는데 7가지를 정리해 보겠습니다. 오라클 옵티마이저가 자신이 판단할 때 최선의 선택을 하겠지만, 가끔 비효율적인 인덱스 스캔을 한다면 7가지를 알아두고 적절한 인덱스 스캔을 적용하면 개선할 수 있습니다.  그전에 먼저 인덱스가 적용되기 위한 WHERE 절 가공에 대한 사전 지식을 알아보겠습니다. WHERE절의 좌변을 가공하지 마라인덱스 칼럼이 제대로 적용이 되기 위해서는 WHERE 절의 좌변을 절대로 가공해서는 안됩니다. 우변을 가공해야 합니다.  숫자형 컬럼 인덱스 가공SELECT ename, sal*12 FROM emp WHERE sal * 12 = 36000; (X)-> SELECT ename, sal*12 FROM emp WHERE sal = 36000/.. 2022. 10. 8.
TIL_2022.10.07 1. Facts(사실, 객관) - 나도 내 코드의 문제를 찾고 싶다구요?! - 테스트 할 때 기억할 7가지, 한주승 영상 정리 - 주니어 개발자의 대나무숲 - 강지현, 이민우, 이지환, 한예은 영상 정리 2. Feelings(느낌, 주관) 금요일에는 개발 이외에 시야를 좀 더 넓히기 위해 다양한 영상과 글을 보려고 합니다. 최근에 인프런에서 제공한 인프콘2022에 알찬 강의들이 많아서 열심히 시청중입니다. 먼저 테스트를 잘 할 수 있는 방법을 정리한 영상에서, 단순히 테스트 코드 작성의 방법이 아니라 프로젝트 전반적으로 어떤 식으로 코드를 짜고 테스트를 만들어야 하는지 흐름을 알 수 있어서 좋았습니다. 주니어 개발자 대나무 숲에서는 열정과 패기 넘치는 주니어들이 어떻게 성장해 가는지 볼 수 있어서 좋았습.. 2022. 10. 8.
주니어 개발자의 대나무숲 - 강지현, 이민우, 이지환, 한예은 개요 질문이 여러개 있으며, 주니어 개발자들이(1~4년차) 자신의 경험을 바탕으로 내용을 공유합니다. 커뮤니케이션 잘 하는 방법은? A : context 간극이 개발-비개발에서 발생하는데, 서로를 이해하기 위해서 조금 노력이 필요하다. 답답함을 느끼거나 피로감이 들더라도, 감정표현을 하면 안된다. 이런 감정을 드러내는 것은 프로페셔널하지 못하다. B : 나는 이 일에 익숙한데, 상대방이 익숙하지 않은 경우가 있다. 따라서 내가 설명을 생략해서 소통 비용이 증가 할 수 있다. 소통에 있어서 속도보다는 정확성이 중요하다 C: 적극적인 태도가 중요하다. 기획이나 디자인 부분에도 효율적으로 할 수 있는 부분을 제시한다. D : 정확하게 일의 흐름을 설명해 주는 것이 중요하다. 솔직한 소통. 왜 마감일정까지 마칠.. 2022. 10. 7.
나도 내 코드의 문제를 찾고 싶다구요?! - 테스트 할 때 기억할 7가지, 한주승 개요 이번 발표는 약 34분으로 적지 않은 시간이었는데, 테스트코드를 어떻게 작성해야하는지 방법을 알려주는 것이 아니라, 개발 전반에 걸쳐서 어떻게 좋은 품질의 제품을 문제없이 만들 수 있는지 그 관점에서 테스트를 제시합니다. 테스트할 때 기억해야 할 7가지 테스트할 때 기억해야 할 것으로 총 7가지를 준비했습니다. 1. 테스트 케이스 잘못 정의하면, 비정상이 정상으로 둔갑합니다. 불을 꺼주세요라고 했는데 불이 켜져있다는 것으로 잘못 테스트를 정의하면 실제 문제가 발생했을 때 잡아낼 수 없습니다. 비정상이 정상으로 둔갑하는 상황을 조심해야 합니다. 2. 제품 요구사항 요구사항을 바르게 이해해서 올바른 정의를 내려야 합니다. 이것은 1번 테스트 케이스의 피드백 과정이기도 한데, 제품 요구사항을 바르게 정리.. 2022. 10. 7.
TIL_2022.10.04 1. Facts(사실, 객관) - Describe- Context - It 방식으로 BookController, HomeController 작성 - 현업 부서에 데이터 뽑아주기 - 엑타소프트 e지로 관련 테이블명 만들기 - 각종 기술블로그 링크 정리 2. Feelings(느낌, 주관) 어제에 이어서 Describe - Context - It 테스트 작성을 이어나갔습니다. 모든 Controller 테스트를 완성하면 약 테스트코드 200개가 넘어 갈 것 같습니다 문제는 로그인을 했을 떄와 안했을 때의 테스트 차이인데 @WithMockUser를 활용했습니다. 아무리 비로그인 상태로 화면을 이동한다고 해도 결국에 Authentication은 null이 아니라 ANONYMOUS의 객체로 이동을 합니다. 현업부서에.. 2022. 10. 4.
TIL 2022.10.03 1. Facts(사실, 객관) - Describe- Context - It 방식으로 뷰 포인트 테스트 작성 - DDD 1~3장 읽기 2. Feelings(느낌, 주관) 일반적으로 apiController에서만 테스트를 해야지 생각하고, 화면 전환을 하는 Controller는 테스트 할 생각을 못했습니다. 아무래도 React, Vue등의 API 기반이 아닌 mustache라는 템플릿을 사용하다보니 별로 테스트의 중요성을 느끼지 못했었습니다. 하지만, 여러가지 프로젝트를 탐험하는 와중에도 이런 템플릿 Controller 테스트도 충분히 가능하다는 것을 깨닫고 테스트를 시작했습니다. 이번 테스트에서는 이전에 코드숨에 이종립님께 훈련받은 Context-Describe-It 방식으로 진행했습니다. 상당히 테스트 .. 2022. 10. 4.
TIL_2022.10.01 1. Facts(사실, 객관) - 성공하는 스터디를 만드는 10가지 방법 - 인출 위주의 스터디 여정기, 한윤석글 작성 - redis 저장소를 cache, session 전용으로 분리하기 글 작성 2. Feelings(느낌, 주관) 공부를 할 때 어떻게 공부해야하는가, 꼭 인출을 사용하도록 합니다. 내가 공부하는 내용을 계속 반복해서 보는 것보다, 빈칸 채우기, 질문을 통해 계속 스스로 생각해내고 이끌어내는 인출법이 중요합니다. redis 저장소 분리에 관해 글을 쓰면서, 그림으로 구조나 상황을 표현하는 것이 얼마나 중요하고 이해를 돕는지 다시한번 깨달았습니다. 아무리 글을 잘 풀어 쓴다고 해도, 이미지가 잘 그려지지 않는다면 어려웠을텐대, 차이점을 명확히 보여주는 그림을 통해 내용을 풀어가서 훨씬 이해.. 2022. 10. 2.
성공하는 스터디를 만드는 10가지 방법 - 인출 위주의 스터디 여정기, 한윤석 개요 코드숨 스프링 1기 수강자로서 윤석님, 종립님과 코드리뷰를 했다는 좋은 경험이 있습니다. 심지어 이번에 발표한 내용은 그동안 같이 스터디를 하면서 다양하게 시도했던 방법들을 소개했어서 복습도 되고 좋았습니다. 비하인드 스토리로, 일종의 포트폴리오로 현재 진행하고 있는 코드숨 스터디 구글 시트만 제출하셨다고 했습니다. 그 안에는 각 활동 기록이 있는데, 각 참여자의 질문내용, 배운 것, 알게된 것, 아쉬운 것 등 매 스터디마다 기록되어 있습니다. 인출 위주의 학습법 코드숨을 관통하는 핵심 주제는 인출 위주의 학습법입니다. 인출 학습법이란, "배운 것"을 "인출"하고 "적용"해보고 "피드백"을 받는 것입니다. 입력 위주의 학습은 이해라는 착각을 불러일으키지만, 인출 위주의 스터디를 통해 내가 알고 모르.. 2022. 10. 1.
OSIV 개요 JPA는 구현체를 Hibernate로 가지고 있습니다. QueryDsl 등을 통해서 쿼리문을 만드는 등 여러 추상화 기술을 이용하고 있기 때문에, 성능 상 조심해야 하는 점들이 있습니다. 그 중에 오늘은 OSIV에 대해 알아보겠습니다. 평소에 별로 고려하지 않았던 부분인데 실시간 서비스에서는 성능 상 이슈는 낼 수 있다는 것을 알고 공부하게 됐습니다. OSIV란? OSIV는 Open Session In View 의 약자로, 직역하면 View에서도 계속 Session이 Open 되어 있다는 뜻입니다. 즉, 사용자에게 보여지는 화면에서도 세션이 계속 유지됩니다. 비록 트랜잭션이 끝나도 말입니다. 트랜잭션에 관해서는 아래에서 설명하겠습니다. OSIV을 잘 이해하기 위해서 요청이 들어온 상황을 가정해보겠습.. 2022. 10. 1.
반응형