전체 글


들어가기 전에데이터 베이스에서 조회 성능을 높일 수 있는 방법 중 하나인 DB Index 에 대해서알아보려고 한다. 간략한 개념부터 실제 실행해본 내용까지 여러 글에 걸쳐서 적을 계획이다.이번에는 인덱스가 무엇인지?인덱스의 장단점에 대해서 적어보고 정리해보자! Index?우선 Index 란 무엇일까?우리가 흔히 Index 라는 단어를 어디에서 볼 수 있는지 생각해보면 책의 목차를 생각할 것이다. 책의 목차의 목적은 책에 어떤 것들이 있는지 알려주고해당 내용이 어느 위치에 알려줄 수 있는지 빠르게 찾기 위해서 사용한다.DB Index 도 마찬가지다. DB Index?DB Index 란데이터 베이스 조회 성능을 높이기 위한 데이터 구조로서 DB Index 를 생성하면 특정 열에 대한 포인터와 정렬된 데이터 ..


Cache 전략Cache 전략이란?캐시를 읽고, 쓰고, 삭제하는 방식이다. 캐시와 DB를 함께 사용하면 같은 데이터를 서로 다른 두 저장소에 저장하게 되므로, 업데이트가 발생할 때 두 곳에 동시에 적용해야 한다. 하지만 네트워크 문제나 시스템 장애 등으로 인해 특정 저장소에만 데이터가 반영된다면, 두 곳의 데이터가 일치하지 않는 데이터 정합성 문제가 발생한다. 이를 방지하며, 성능을 개선 시킬 수 있는 다양한 Cache 전략에 대해서 알아보자Cache 읽기 전략데이터 조회 시, Cache 와 DB 간 조회 방식 및 흐름을 결정하는 방법1. Read-through : 자동 로드 캐시Cache-Miss 일 때, 데이터를 DB로 부터 Cache 로 자동으로 들고 오는 방식 즉, 찾으려는 데이터가 Cache 에..


들어가기 전에Notion 에 정리했던 Cache 에 대해서 다시 정리해보려고 한다. Cache란 무엇인가?Cache자주 사용하는 데이터를 빠르게 불러오기 위해서 사용하는 임시 저장소이다. 어플리케이션 단에서 정의한다면 자주 사용하는 데이터를 메모리에 저장하여 빠르게 제공하는 기술 이다. Cache의 장점1. 데이터를 빠르게 가져올 수 있다.Cache를 사용하는 이유는 자주 사용하는 데이터를 빠르게 가져오기 위함이다. 일반적으로 데이터베이스(DB)는 데이터를 하드디스크(HDD)나 SSD에 저장하며, 디스크에서 데이터를 읽어오는 것은 메모리(RAM)에서 가져오는 것보다 속도가 느리다. 따라서, 자주 조회하는 데이터를 메모리에 캐시를 사용하면 I/O를 줄이고 훨씬 빠르게 데이터를 가져올 수 있다.2. 안정적인..


자바는 왜 쓰는가?제일 좋아하는 언어가 뭐라고 질문을 받았을 때, 자연스럽게 자바라고 대답을 해버렸다. 사실 그나마 할 줄 알고, 설명을 붙일 수 있는게 자바일 뿐인데 말이다. 그래서 Java 를 왜 쓰는지 생각해보자 그러려면 우선 Java 의 장점에 대해서 알아보아야한다.그러면 시작해보자내가 생각하는 자바의 장점1. Write One Read AnyWhere 아무래도 JVM 위에서 돌아가기 때문에 운영체제에 구애받지 않고 작동이 가능하다. 2. 객체지향 언어라서 이해하기 쉽다. 이전에 말했듯이 객체 지향이라는게 현실세계를 컴퓨터로 나타내기 위한 방법 중 하나이며, Java 는 객체지향에 친화적인 언어이기 때문에 이해하기 쉽다. 3. 사용하는 사람이 많다. 사용하는 사람이 많다라는 것은 그만큼 자료..


TDD 를 공부하면서 - 2024년 11월 12일저번 주 목요일 항해99 에서 진행하는 사전 스터디 첫 회의였다.조장인 나보다 더 많은 경력과 경험을 가진 분들 덕분에 스터디의 목적이 방향을 잃지 않고 잘 진행 되었다. 덕분에 테스트 주도 개발 시작하기 - 최범균- 라는 책을 구입하여 공부하게 되었다. 테스트 주도 개발에 대해서 친구와 나눈 말이 있다. "어처피 테스트 만드는 사람이랑 진행하는 사람이랑 같은데 만들어서 뭐하나?"이런 말을 주고 받고 이게 테스트 주도 개발 ( TDD ) 인 줄 알았다. 결론적으로 맞으면서 틀리다.현재 chapter 03 까지 공부하고 실습해본 결과어떤 기능을 완전히 파악하고 특정 규칙에 따라서 테스트 코드를 작성하면간결하고 완고한 기능을 완성할 수 있었다. 테스트 주도 개..


자바 부터 정리를 다시 하는 이유누군가 나에게 제일 잘한다는 언어를 누군가 물어본다면 분명 Java 를 말한텐데, 적어도 Java 가 뭔지는 설명해야 할 정도는 되어야 한다고 생각이 들어, 부트 캠프를 하는 겸 다시 정리하려고 한다.그러면 시작해보자Java - 자바JVM 위에서 동작하여 어느 환경에서도 실행이 가능한 객체지향 언어를 말한다.지금 누군가 나에게 Java 가 뭐냐고 물어보면, 이렇게 말할 수 있을 것 같다.여기서 객체지향이라는 말을 처음 이해하는데 정말 어려웠다.대다수의 유튜버나 학원 강사나 다들 뭐 붕어빵이나, 공장에서 찍어내는 자동차에 비유했다.맞는 말이긴한데, 솔직히 이해가 완전히 가지 않았다. 객체 지향현실에서 사용되는 개념이나 물건 등을 프로그래밍 환경에서 구현하는 방법모델링 → 현..


11월을 시작하고 오늘 있던 일비슷한 나날들을 보내다 11월을 맞이했다. 한 주를 시작하는 월요일이였기 때문에, 누구보다 욕심이 많은 하루였다.잘자고 일어나서, 인강을 보면서 회사 출근했고 비는 시간마다 코드 수정하고점심시간에 JLPT 시험 공부도 하고 이렇게 시간을 보내면서 정신없이 하루를 보냈다.그런 정신없는 하루 중에서도 일하면서 새로운 사실을 배웠다.1.SFDC APEX 생성자의 Parameter 최대 개수는 32개 이다.현재 SAP 와 CRM 인터페이스 부분을 담당하고 있는데, RFC Import Parameter 필드 값이 34개 정도 됐었다.적용 시키려고 하니 최대 32개라는 에러를 콘솔에 찍어내고 있었다. 하긴 누가 생성자 파라미터를 32개 이상 직접넣을 생각을 할까? 덕분에 새롭게 안 사..