728x90

전체 글 552

Offset Pagination과 Cursor Pagination

Offset Pagination: 동작 방식: 페이지 번호와 페이지당 아이템 수를 기반으로 쿼리에서 OFFSET 및 LIMIT 절을 사용하여 데이터를 검색합니다. 예를 들어, 페이지 크기가 10이고 두 번째 페이지를 가져온다고 가정하면, 쿼리는 OFFSET 10을 사용하여 첫 번째 10개의 아이템을 건너뛰고 다음 10개의 아이템을 반환합니다. 장점: 간단한 구현: 대부분의 데이터베이스에서 OFFSET 및 LIMIT과 함께 제공되므로 구현이 비교적 쉽습니다. 페이지 번호를 통한 직관적인 페이지 네비게이션: 사용자가 페이지 번호를 통해 특정 페이지로 이동할 수 있습니다. 단점: 성능 문제: OFFSET은 매번 쿼리할 때마다 전체 결과 집합을 스캔하고 건너뛰어야 하므로 큰 데이터셋에 대해 비효율적일 수 있습니..

IT/프로그래밍 2024.03.27

국내 미국 ETF 수수료 정리

ETF를 매수 계획을 세울때 보수율을 보고 결정합니다. 하지만 ETF에는 보수율 외에 추가적으로 들어가는 수수료가 있습니다. 아래 표에서 기타비용 ( B ) , 판매수수료 ( C ) , 매매 중계 수수료 ( D )입니다. 따라서 국내 ETF를 매수 하는 경우 A+B+C+D 가 총 수수료 입니다. 다음은 S&P500과 나스닥100 ETF 수수료를 정리한 표 입니다. 연금계좌, 퇴직금 계좌, ISA 등 세제 혜택이 있는 계좌가 아닌 경우에는 일반 계좌에서 해외 지수 ETF를 매매 하는 것이 추가적인 수수료를 부담하지 않습니다. 단, 이경우 양도소득세, 배당세, 절세 효과등을 비교해야 합니다. 예를 들면 우선 연금, 퇴직연금 계좌에서 연 한도내에 매수하고, 추가적으로 필요한 경우 일반계좌에서 매매 하는 경우가..

Spring MVC Model

1. org.springframework.ui.Model: 사용 시점: Controller에서 View로 데이터를 전달할 때 사용. 메서드의 매개변수로 선언하여 데이터를 추가하거나 수정할 수 있음. 설명: Controller에서 View로 데이터를 전달하기 위한 인터페이스. addAttribute(String attributeName, Object attributeValue) 메서드를 사용하여 데이터를 추가. 장단점: 장점: 간단하게 데이터를 전달할 때 사용하기 편리. 단점: 유연성이 상대적으로 부족함. @Controller public class MyController { @GetMapping("/example") public String example(Model model) { model.addAtt..

IT/개발자 면접 2023.12.17

Spring Security 암호화 방식

Spring Security는 다양한 암호화 방식을 지원하며, 주요한 몇 가지 방식과 각각의 특징을 살펴보겠습니다. 1. BCrypt (Recommended): 장점: 안전한 해시 함수를 사용하여 보안성이 높음. Salt(솔트) 값을 사용하여 레인보우 테이블 공격에 대비함. 단점: 연산이 높아 시간이 오래 걸릴 수 있음. // Spring Security에서 BCrypt 사용 예제 String password = "user_password"; BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); String hashedPassword = passwordEncoder.encode(password); 2. SHA-256: 장점: 빠른 연산..

IT/개발자 면접 2023.12.16

Redis 란?

Redis는 오픈 소스인 인메모리 키-값 데이터 구조 저장소로, 다양한 사용 사례에 적합한 빠르고 가벼운 솔루션입니다. 주로 캐싱, 세션 관리, 메시지 브로커, 리더보드 등 다양한 용도로 사용됩니다. Redis의 특징: 인메모리 데이터 저장: 데이터를 메모리에 저장하여 빠른 읽기/쓰기 속도를 제공합니다. 다양한 데이터 구조 지원: 문자열, 해시, 리스트, 셋, 정렬된 셋 등 다양한 데이터 구조를 지원합니다. 지속성 옵션: 스냅샷 또는 AOF(append-only file) 파일을 사용하여 지속성을 확보할 수 있습니다. 고성능: 주로 메모리에 데이터를 저장하고 있기 때문에 빠른 응답 속도를 제공합니다. 분산 확장성: 클러스터링을 통해 데이터를 분산하고 확장할 수 있습니다. 사용 사례: 캐싱: 데이터베이스나..

IT/개발자 면접 2023.12.15

마이크로서비스(Microservices)

마이크로서비스(Microservices)는 소프트웨어 개발 및 배포를 위한 아키텍처적인 접근 방식 중 하나입니다. 전통적인 몰리식(Monolithic) 아키텍처와 대비되며, 여러 작은 독립적인 서비스들이 협업하여 전체 시스템을 구성합니다. 이러한 아키텍처는 다음과 같은 특징을 가지고 있습니다: 특징: 독립적인 서비스: 각 마이크로서비스는 독립적으로 배포, 업데이트, 확장이 가능한 작은 서비스 단위로 구성됩니다. 다양한 기술 스택: 각 마이크로서비스는 필요에 따라 다른 언어나 기술 스택을 사용할 수 있습니다. 분산 데이터 관리: 데이터가 각 서비스에 속하며, 데이터 소유 및 관리가 서비스 내부에서 이루어집니다. 분산 개발 및 배포: 각 마이크로서비스는 독립적으로 개발되어 배포되기 때문에 팀 간의 협업이 용..

IT/개발자 면접 2023.12.14

Git Flow 와 GitHub Flow , Branch 전략

Git Flow와 GitHub Flow는 소프트웨어 개발에서 사용되는 브랜칭 전략 중 두 가지 주요한 방식입니다. Git Flow: Master Branch: master 브랜치는 항상 배포 가능한 상태의 코드를 유지합니다. 실제로 배포되는 코드가 저장되는 곳입니다. Develop Branch: develop 브랜치는 다음 버전을 위한 개발이 이루어지는 곳입니다. 새로운 기능 개발이나 버그 수정 등이 이루어집니다. Feature Branches: 새로운 기능을 개발할 때마다 새로운 브랜치를 생성합니다. 각 기능 브랜치는 develop 브랜치에서 분기됩니다. Release Branches: 배포를 위한 버전을 준비할 때 생성하는 브랜치입니다. QA 및 마무리 작업을 수행하고 최종적으로 master와 dev..

IT/개발자 면접 2023.12.13

Java Checked Exception과 Unchecked Exception

Java Checked Exception과 Unchecked Exception의 정의와 차이점: Checked Exception (Compile-time Exception): 정의: 컴파일러에 의해 검사되고 처리가 강제되는 예외. 예시: IOException, SQLException과 같이 입출력이나 데이터베이스와 관련된 예외들. 처리 방법: 반드시 try-catch 블록이나 throws 키워드를 사용하여 예외 처리가 필요. Unchecked Exception (Runtime Exception): 정의: 컴파일러가 검사하지 않고 런타임 시에 발생하는 예외. 예시: NullPointerException, ArrayIndexOutOfBoundsException과 같이 프로그래머의 실수로 발생하는 예외들. 처..

IT/개발자 면접 2023.12.12

서비스 개발 요청을 받았을 때 업무 진행

1. 기획서 이해: 기획서를 자세히 읽고 이해합니다. 필요 시 추가 질문을 기획자나 다른 팀과 협의하여 명확한 이해를 얻습니다. 2. 시스템 아키텍처 및 데이터베이스 설계: 필요한 시스템 구조와 데이터베이스를 설계합니다. 엔터티, 관계, 클래스 다이어그램 등을 작성하여 시스템을 시각화합니다. 3. 기술 스택 및 도구 선택: 프로젝트에 적합한 기술 스택과 도구를 선택합니다. Spring Framework의 어떤 모듈을 사용할지, 데이터베이스는 어떤 것을 사용할지 등을 결정합니다. 4. 개발 환경 구축: 프로젝트를 위한 개발 환경을 구축합니다. 개발 도구, 데이터베이스, 버전 관리 시스템 등을 설정합니다. 5. 코드 작성: 기능에 따라 필요한 클래스와 메서드를 작성합니다. 각 클래스와 메서드에 주석을 달아 ..

IT/개발자 면접 2023.12.12

국내 상장 미국 ETF 총 보수 및 숨겨진 비용

국내에 상장한 ETF에서 공시한 총 보수 외에 숨겨진 비용에 대하여 잘 정리한 뉴스가 있어서 공유합니다. ETF 수수료(보수)를 볼때 공시정보나 종목정보에 있는 보수를 보고 참고하는데요 거기에 포함되지 않은 기타 비용이 있습니다. 때문에 총 보수는 같아도 기타 비용에서 차이가 나서 총수수료율이 많이 차이 나고 있습니다. 국내에 상장한 S&P 500 이나 나스닥 100 ETF를 보유하고 있으시면 아래 표에서 한번 수수료를 확인해보세요. https://www.sisajournal-e.com/news/articleView.html?idxno=300302 미국 ETF, 공시된 총보수와 실질비용 차이 커 ‘논란’ - 시사저널e - 온라인 저널리즘의 미래 [시사저널e=이승용 기자] 국내 자산운용사들이 국내 증시에 ..

728x90