반응형 전체 글39 로드 밸런싱(Load Balancing)이란? Load Balancing - 로드 밸런싱은 네트워크 또는 서버 리소스의 부하를 분산시켜 서비스의 가용성, 성능, 및 안정성을 향상하기 위한 기술입니다. - 여러 서버 간에 들어오는 요청을 분산하여 각 서버에 동등하게 할당함으로써 네트워크 및 서버 환경을 최적화하여 효율적으로 관리가 가능합니다. - 로드 밸런싱은 웹, 애플리케이션, 데이터베이스 서버 및 다양한 네트워크 서비스와 같이 다양한 서버 및 서비스에서 사용됩니다. 로드 밸런싱이 사용되는 이유 1. 성능 향상: 로드 밸런싱을 통해 트래픽을 분산하면 각 서버의 부하가 분산되므로 더 빠른 응답 시간을 제공 할 수 있다. 2. 고가용성: 로드 밸런서가 여러 서버를 관리하면 하나의 서버가 고장 또는 다운될 때 다른 서버로 트래픽을 자동 전환 가능하다. 3.. 2023. 10. 18. JAVA에서 래퍼 클래스(Wrapper Class)란? 자바에서 래퍼 클래스(Wrapper Class)는 기본 데이터 유형(Primitive Data Type) 값을 객체로 감싸는 클래스를 말합니다. 기본 데이터 유형은 int, double, char, boolean 등과 같은 데이터 유형을 의미하며, 이러한 데이터 유형은 값 자체를 저장하고 연산하는 데 사용됩니다. 래퍼 클래스는 이러한 기본 데이터 유형 값을 객체로 다루기 위해 사용됩니다. 래퍼 클래스는 객체 지향 프로그래밍에서 객체를 다루는 기능과 메서드를 제공하므로, 객체로부터 추가적인 정보나 기능을 얻을 수 있습니다. 각 기본 데이터 유형에 대한 래퍼 클래스가 있으며, 다음은 일부 기본 데이터 유형과 해당 래퍼 클래스의 예입니다: int - Integer: 정수 값을 다루는 클래스.(32비트) lon.. 2023. 10. 10. 타입스크립트 동작 정리 대부분의 언어의 프로그램 실행 과정은 아래와 유사하다. 1. 프로그램이 AST(abstract syntax tree - 추상 문법 트리)로 파싱 2. AST가 바이트코드로 컴파일 3. 런타임이 바이트코드를 평가 타입스크립트는 자바스크립트, 자바와 같은 주요 언어들과 다른 방식으로 작동한다. 타입스크립트 컴파일러는 AST를 만들어 결과 코드를 내놓기 전에 타입 확인을 거친다 - (typechecker) 1. 타입스크립트 소스 -> 타입스크립트 AST 2. 타입 검사기가 AST를 확인 3. 타입스크립트 AST -> 자바스크립트 소스 4. 자바스크립트 소스 -> 자바스크립트 AST 5. AST -> 바이트코드 6. 런타임이 바이트코드를 평가 과정 1~3은 TSC(타입스크립트 컴파일러 - TypeScript C.. 2023. 8. 30. OSI 7계층 요약정리 데이터 통신과 네트워크 프로토콜을 계층별로 구분하여 설명하는 OSI(Open Systems Interconnection) 7계층은 국제표준화기구(ISO)에서 개발한 네트워크 모델입니다. 각 계층은 특정 기능과 역할을 수행하며, 상위 계층과 하위 계층 사이에는 서로 통신을 위한 인터페이스가 정의되어 있습니다. 물리 계층 (Physical Layer): 네트워크의 하드웨어적인 부분을 담당합니다. 데이터를 전송하기 위한 물리적인 매체와 전송 방식에 대한 규격을 정의합니다. 전압, 주파수 등 물리적인 신호를 전송합니다. 통신 단위: 비트 (Bit) 설명: 데이터 전송의 최하위 단계로, 0과 1의 비트를 전기 신호, 광 신호 등으로 변환하여 전송합니다. 데이터 링크 계층 (Data Link Layer): 물리 계.. 2023. 7. 19. 깃 연동시 .git 폴더가 있더라도 git remote -v 가 없다고 인식할경우 위 두 스크린샷처럼 git 연동이 안되고 해당 폴더에 .git 관련 폴더가 있어도 깃 저장소가 아니라고 하는경우에는 해당 깃 폴더가 오류로 인해 인식이 불가능한 경우다. 이같은 경우 해당 폴더를 제거하고 다시 git init을 통해 연동을 하면 다시 연동이 되는걸 확인 가능하다. 2023. 6. 7. 스프링 테스트케이스 유의할 점 스프링 테스트케이스를 만들때 JUnit의 @Test 메서드를 사용하여 단위테스트를 진행할 경우 각각의 테스트 순서는 보장을 안해준다. 모든 테스트는 순서와 상관없이 메서드별로 따로 동작하게 설계해야 한다. (의존적으로 설계X) 위 사진은 store 변수에 들어있는 객체 데이터를 비워주는 메서드 선언 및 호출이다. @AfterEach - 각각의 테스트 메서드가 실행된 후에 실행되어야 하는 작업을 정의하는데 사용된다. afterEach() 메서드는 각각의 테스트가 순서가 보장되지 않은 채로 돌아가도 테스트 조건에 상관없도록 테스트할 데이터를 하나의 테스트가 끝날 때마다 초기화해주는 역할을 한다. 하나의 테스트가 끝날때마다 데이터를 클리어 해주면 다른 테스트케이스의 조건을 방해하지 않고 테스트 진행이 가능하다. 2023. 5. 31. db 쿼리문 모든 테이블에서 PK가 없는 테이블 찾기 select class_name from db_class where class_name not in (select class_name from db_index where is_primary_key = 'YES') and class_name not like 'db%' and class_name not like '_db%' and class_name not in ( select vclass_name from db_vclass); 입력된 년월 또는 두개의 날짜를 이용해 달력 및 주차 구하기 -- 입력된 월 기준 SELECT ADDDATE(A.SETMONTH, LEVEL -1) AS DT, TO_CHAR(ADDDATE(A.SETMONTH, LEVEL -1), 'DAY').. 2019. 12. 19. Clean Code 짜기12 시스템 체계적이고 탄탄한 시스템을 만들고 싶다면 설정 논리는 일반 실행 논리와 분리해야 모듈성이 높아진다. 또한 주요 의존성을 해소하기 위한 방식, 즉 전반적이며 일관적인 방식도 필요하다 Main 분리 시스템 생성과 시스템 사용을 분리하는 방법 생성과 관련한 코드는 모두 main이나 main이 호출하는 묘듈로 옮기고, 나머지 시스템은 모든 객체가 생성되었고 모든 의존성이 연결되었다고 가정한다. 제어 흐름은 main 함수에서 시스템에 필요한 객체를 생성한 후 애플리케이션에 넘긴다. 애플리케이션은 main이나 객체가 생성되는 과정을 모르지만 모든 객체가 적절히 생성되었다고 가정한다. 때로는 객체가 생성되는 시점을 애플리케이션이 결정할 필요도 생긴다. 모든 의존성이 main에서 OrderProcessing 애.. 2019. 11. 12. Clean Code 짜기11 클래스 체계 - 정적(static) , 공개(public) , 상수가 맨 처음에 나오며 다음으로 정적 비공개(private) 변수가 나온다. 이어서 비공개 인스턴스 변수가 나온다. 변수 목록 다음에는 공개 함수가 나온다. 비공개 함수는 자신을 호출하는 공개 함수 직후에 넣는다. => 추상화 단계는 순차적으로 내려간다. 클래스 만들기 규칙 - 클래스의 크기는 작아야 한다. 단일 책임 원칙(Single Responsibility Principle)은 클래스나 모듈을 변경할 이유가 하나뿐이어야 한다는 원칙 큰 클래스 몇 개가 아니라 작은 클래스 여럿으로 이뤄진 시스템이 더 바람직하다. 작은 클래스는 각자 맡은 책임이 하나며, 변경할 이유도 하나며, 다른 작은 클래스와 협력해 시스템에 필요한 동작을 수행한다. .. 2019. 11. 8. 이전 1 2 3 4 5 다음 반응형