반응형 분류 전체보기67 Overload, Override overload란 여러 메서드가 같은 이름을 갖고 있으나 매개변수, 자료형이 서로 다른 개념입니다. 오버라이딩을 할 때 개발자의 실수를 방지하기 위해 메서드 위에 @Override 를 관례적으로 적습니다. override란 부모 클래스의 메서드명, 기능을 물려받아 재정의 할때 사용되는 개념입니다. 예제 코드 class Cal{ public int sum(int v1, int v2){ return v1+v2; } // Overloading public int sum(int v1, int v2, int v3){ return v1+v2+v3; } } class Cal3 extends Cal{ public int minus(int v1, int v2){ return v1-v2; } // Overriding pu.. 2024. 3. 5. Call by Reference 란? Call by Reference란 참조 값으로 함수를 호출하는 개념입니다. 함수에서 함수 외부 메모리 공간을 참조할 때 사용하며, 함수 선언시 매개변수에 &를 사용해 변수의 위치를 받도록 하고 함수 내부에서는 위치를 준 변수를 일반 변수처럼 사용합니다. 다른 개념으로는 Call by Value(값에 의한 호출)이 있습니다. -> 외부 변수의 값을 복사해서 사용하기 때문에 안전하지만, 메모리 사용량이 늘어남 Call By Reference를 사용하면 함수 내부에서 외부 변수의 값을 직접 참조하기 때문에 빠르긴 하지만 외부 변수의 값의 변경이 일어납니다. 대표적으로 swap 로직이 있습니다. #include void swap(int &num1, int &num2) { int temp = num1; num1 .. 2024. 3. 5. Redis Cache 적용해서 Tps를 높여보기 ( 이전 글과 이어지는 포스트입니다. ) 구매 서비스에서 재고 동시성 이슈 해결해보기(2) - Redisson '분산락'은 다중 서버 + 분산 DB 환경에서 동시성을 제어하기 위해 사용하는 Lock 기법입니다. 대표적으로 Mysql User Lock, Redis Lettuce, Redis Redisson이 있습니다. 반드시 Redisson을 사용할 필요는 없지만, devsting.tistory.com 이전 시간까지 멀티 쓰레드, 멀티 서버 환경을 고려하여 동시성 문제 해결하기 위해 JPA의 @Lock을 사용해서 해결했고, Redisson 또한 적용해봤습니다. 그럼 이제 수행해야할 과제는 무엇인가.. 당연 서버의 성능, 내가 만든 API의 성능을 측정하는 것이였습니다. 저는 다양한 방법 중 Redis Ca.. 2024. 3. 5. 구매 서비스에서 재고 동시성 이슈 해결해보기(2) - Redisson ( 이전글과 이어지는 포스트입니다. ) 구매 서비스에서 재고 동시성 이슈 해결해보기(1) - JPA LOCK 4주 간 예약 구매 사이드 프로젝트를 진행했습니다. `예약 구매` 서비스는 특정 기념일이나 타임세일과 같이 해당 기간 또는 시간에만 상품을 사용자들에게 노출하고, 판매하는 이미 많은 브랜 devsting.tistory.com '분산락'은 다중 서버 + 분산 DB 환경에서 동시성을 제어하기 위해 사용하는 Lock 기법입니다. 대표적으로 Mysql User Lock, Redis Lettuce, Redis Redisson이 있습니다. 반드시 Redisson을 사용할 필요는 없지만, 기본적으로 디스크를 사용하는 데이터베이스보다 메모리를 사용하는 Redis가 더 빠르게 락을 획득 및 해제할 수 있다는 점,.. 2024. 2. 28. 구매 서비스에서 재고 동시성 이슈 해결해보기(1) - JPA LOCK 4주 간 예약 구매 사이드 프로젝트를 진행했습니다. `예약 구매` 서비스는 특정 기념일이나 타임세일과 같이 해당 기간 또는 시간에만 상품을 사용자들에게 노출하고, 판매하는 이미 많은 브랜드에서 마케팅 전략으로 사용되고 있는 서비스입니다. E-COMMERCE 관련 백엔드 API 개발을 진행하면서 처음으로 멀티 쓰레드 환경에서 테스트를 경험해보았고, 재고 관리 기능을 구현하면서 Race-Condition 문제를 접했습니다. 예약 구매 비지니스 로직의 대한 간단한 이해를 시작으로, 동시성 제어, 적용한 방법의 한계에 대한 내용까지 글을 작성해보려고 합니다. 개발 방법 예약 구매 비즈니스 로직에 대한 간단한 이해 유저가 주문서비스의 주문 API를 호출하면 먼저 유저의 정보와 상품 번호 구입 수량 정보가 주문 내.. 2024. 2. 26. [신입 개발자 기술면접 질문] 데이터 베이스 DBMS에 대해서 설명해보세요 DBMS는 데이터 베이스내에서 데이터에 접근하도록 도와주는 시스템입니다. 크게 질의어 처리기와 저장 시스템으로 이루어져 있습니다. 트랜잭션의 4가지 특징을 설명해보세요 데이터 베이스의 무결성과 일관성을 위해 트랜잭션은 다음과 같은 4가지를 만족해야 합니다. 원자성은 한 트랜잭션에서 실행된 작업은 모두 성공하거나 실패해야합니다. 일관성은 일관성있는 데이터베이스를 유지시키는 것이고, 격리성은 서로 다른 트랜젝션은 서로에게 영향을 끼쳐서는 안되는 특징입니다. 마지막으로 지속성은 완료된 트랜젝션은 영구적으로 저장되어야 한다는 것입니다. NOSQL에 대해서 설명해보세요 Not Only SQL의 약자로 SQL을 보완한다는 의미를 가지고 있습니. NOSQL은 스키마가 없어서 데이터를 조.. 2024. 1. 13. 이전 1 2 3 4 5 6 ··· 12 다음 반응형