[백준] 5639번 : 이진검색트리 (파이썬)
·
Algorithm/Recursion
재귀 문제https://www.acmicpc.net/problem/5639  풀이코드  (실패, 시간초과)# 무한입력을 위해 try - except 추가# 25%에서 시간초과 코드 import syssys.setrecursionlimit(10**9)class Node: def __init__(self, data): self.data = data self.left = None self.right = Nonedef insert(root, data): if root == None: return Node(data) else: if root.data > data: # 왼쪽 root.left = insert(root..
[백준] 1074번 : Z (파이썬)
·
Algorithm/Recursion
재귀, 분할정복 문제 https://www.acmicpc.net/problem/1074 풀이코드  (실패1, 메모리초과)import sys N, r, c = map(int, sys.stdin.readline().split())arr = [[-1] * 2 ** N for _ in range(2 ** N)]def visit(n, i, j): global cnt, r, c if n == 1: arr[i][j] = cnt cnt += 1 else: if arr[r][c] != -1 : return newSize = n // 2 visit(newSize, i, j) visit(newSize, i, j + newSize) ..
[Java] 중첩 선언과 익명 객체
·
Backend/Java
[중첩 클래스]클래스가 여러 클래스와 관계를 맺는 경우에는 독립적으로 선언하는 것이 좋으나, 특정 클래스에만 관계를 맺을 경우에는 중첩 클래스로 선언하는 것이 유지보수에 도움이 되는 경우가 많다.중첩 클래스 개념중첩 클래스란 클래스 내부에 선언한 클래스로, 중첩 클래스를 사용하면 클래스의 멤버를 쉽게 사용할 수 있고 외부에는 중첩 관계 클래스를 감춤으로써 코드의 복잡성을 줄일 수 있다.중첩 클래스의 분류멤버 클래스 : 클래스의 멤버로서 선언되는 중첩 클래스로컬 클래스 : 메소드 내부에서 선언되는 중첩 클래스중첩 클래스도 하나의 클래스이기 때문에 컴파일하면 바이트코드 파일(.class)이 별도로 생성 [인스턴스 멤버 클래스]인스턴스 멤버 클래스는 다음과 같이 A 클래스의 멤버로 선언된 B 클래스[publi..
[MSA] 마이크로서비스 Service Discovery
·
Backend/Spring Cloud
[Spring Cloud Netflix Eureka][그림 설명]하나의 마이크로서비스가 3가지 인스턴스에 의해 확장돼서 개발되는 경우일종의 로드밸런서 역할을 하는 것처럼 부하 분산 처리가 돼있다고 가정보유하고 있는 노트북/PC가 한 대일 경우에는 여러 개의 서비스를 동시에 실행하기 위해 반드시 포트를 나눠서 실행 → 하나의 IP일 경우에는 포트를 분산시켜 실행가용할 수 있는 IP가 여러개일 경우에는 포트를 분산시킬 필요 XService Discovery란?Spring Cloud Netflix Eureka가 하는 역할 : Service DiscoveryService Discovery란 외부의 서비스들이 마이크로서비스를 검색하기 위해 사용되는 개념으로, 각각의 마이크로서비스가 어디에 저장돼있으며 요청 정보가..
[MSA] Microservice와 Spring Cloud 소개
·
Backend/Spring Cloud
[소프트웨어 아키텍처]2010년대 이후부터 IT 시스템은 Antifragile 혹은 클라우드 네이티브 아키텍처 형태로 발전됨.ANTIFRAGILE다른 개발 시스템이나 환경보단 시스템 변화가 적어 변화에 바로 적응할 수 있다.Antifragile의 특징Auto scaling (자동 확장성)Auto scaling이란 CPU, 메모리, 네트워크, 데이터베이스의 사용량이나 조건에 따라서 자동으로 처리할 수 있는 개념시스템을 구성하는 인스턴스를 하나의 Auto scaling 그룹으로 묶은 다음, 그룹에서 유지돼야 하는 최소 인스턴스를 지정 가능사용량에 따라 자동으로 인스턴스 증가 가능ex) 온라인 쇼핑몰과 같이 특수한 이벤트가 있는 달에는 서버의 운영 갯수를 늘리고, 비수기와 같을 때는 서버의 운영 갯수를 다시 ..
[Spring] DI
·
Backend/Spring Boot
개념DI란 외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴으로, 인터페이스를 사이에 둬서 클래스 레벨에서는 의존 관계가 고정되지 않도록 하고 런타임 시에 관계를 동적으로 주입하여 유연성을 확보하고 결합도를 낮출 수 있게 해준다.DI는 외부에서 객체(빈)들 간의 의존관계를 결정하고 주입하는 것이다. 즉, 객체를 직접 생성하는 것이 아니라 외부에서 생성 후 주입시켜 주는 방식 장점두 객체 간의 관계라는 관심사의 분리두 객체 사이의 의존도/결합도를 낮출 수 있다.유연하고 확장성이 뛰어난 코드 작성이 가능하다.테스트 작성을 용이하게 한다.재사용성이 높은 코드가 된다. 의존성 주입 방식 (DI의 종류)1. 필드 주입 (Field Injection)클래스에 선언된 필드에 생성된 객체를 주입하는 방식필드에 주입..
_은선_
'분류 전체보기' 카테고리의 글 목록 (9 Page)