OneK-2
article thumbnail
AWS 인스턴스 유형 비교
AWS 2024. 4. 5. 09:41

공통 환경OS: Ubuntu 22.04 LTS스토리지: 16gb, gp3비교스펙 t2.microt2.smallt2.mediumt2.largevCPU1(1코어)1(1코어)2(2코어)2(2코어)아키텍처i386, x86_64i386, x86_64i386, x86_64x86_64메모리(GiB)1248  t3.microt3.smallt3.mediumt3.largevCPU2(1코어)2(1코어)2(1코어)2(1코어)아키텍처x86_64x86_64x86_64x86_64메모리(GiB)1248  c5.largec5.xlarger5.larger5.xlargevCPU2(1코어)4(2코어)2(1코어)4(2코어)아키텍처x86_64x86_64x86_64x86_64메모리(GiB)481632  c6g.mediumc6g.larger6g...

article thumbnail
시간복잡도와 공간복잡도
알고리즘 2023. 7. 19. 09:29

시간복잡도(Time Complexity) 주어진 문제를 해결하기 위한 연산 횟수. 일반적으로 수행 시간은 1억 번의 연산을 1초의 시간으로 간주하여 예측한다. 시간 복잡도 유형 빅-오메가(Ω(n)): bset case의 연산 횟수를 나타낸 표기법 빅-세타(θ(n)): average case의 연산 횟수를 나타낸 표기법 빅-오(O(n)): worst case의 연산 횟수를 나타낸 표기법 시간 복잡도 계산 일반적으로 최악의 경우인 빅오 표기법을 사용한다 최고차항을 제외한 모든 항과 계수를 무시한다. T(n) = 3n^2 + 2n + 1 -> O(n^2) 시간복잡도 표기 O(1) - 상수 시간 O(logN) - 로그 시간 for(int i=0; i

article thumbnail
오버로딩(Overloading) vs 오버라이딩(Overriding)
JAVA 2023. 7. 19. 09:14

오버로딩(Overloading) 오버로딩이란? 메서드도 변수와 마찬가지로 같은 클래스 내에서 서로 구별될 수 있어야 하기 때문에 각기 다른 이름을 가져야 한다. 그러나 자바에서는 같은 이름을 가진 메서드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있다. 이처럼, 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을 '메서드 오버로딩(Method Overloading)' 또는 '오버로딩(Overloading)' 이라고 한다. 오버로딩의 규칙 메서드의 이름이 같아야 한다. 매개변수의 개수 또는 타입이 달라야 한다. * 반환 타입은 오버로딩을 구현하는데 영향을 주지 못한다. class A{ public void a(){} // 기준 메서드 public st..

article thumbnail
[스프링 입문] AOP
Spring 2023. 1. 21. 20:56

AOP AOP( Aspect-Oriented Programming )는 프로그램 구조에 대한 또 다른 사고 방식을 제공하여 OOP(Object-Oriented Programming)를 보완한다. OOP에서 모듈성의 핵심 단위는 클래스인 반면 AOP에서는 모듈성의 단위가 aspect 이다. Aspect는 여러 유형과 개체를 가로지르는 트랜잭션 관리와 같은 문제의 모듈화를 가능하게 한다. Spring AOP Spring AOP는 순수한 Java로 구현되며, 특별한 컴파일 과정이 필요하지 않다. AOP에 대한 Spring AOP의 접근 방식은 대부분의 다른 AOP 프레임워크와 다르다. 가장 완벽한 AOP 구현을 제공하는 것이 아니라, AOP 구현과 Spring IoC 간의 긴밀한 통합을 제공하여 엔터프라이즈 ..

article thumbnail
[스프링 입문] JPA
Spring 2023. 1. 21. 16:57

JPA JPA(Java Persistence API)는 자바 진영의 ORM 기술 표준이다. (ORM(Object-relational mapping)은 객체와 RDB를 매핑해주는 것을 말한다. 객체는 객체대로 설계하고 RDB는 RDB대로 설계 한 뒤 ORM 프레임워크가 중간에서 매핑해준다.) JPA를 사용하면, SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환을 할 수 있고, 개발 생산성을 크게 높일 수 있다. JPA는 애플리케이션과 JDBC 사이에서 동작한다. JPA로 구현한 Member @Entity public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private S..

article thumbnail
[스프링 입문] 스프링 빈과 의존관계
Spring 2023. 1. 21. 16:32

Spring Bean Spring에서 애플리케이션의 백본을 형성하고 Spring IoC 컨테이너에 의해 관리되는 객체를 Bean 이라고 한다. 빈(bean)은 인스턴스화되고, 조립되며, Spring IoC 컨테이너에 의해 관리되는 객체이다. 그렇지 않으면 빈은 응용 프로그램의 여러 객체 중 하나일 뿐이다. 스프링 빈을 등록하는 2가지 방법 컴포넌트 스캔과 자동 의존관계 설정 ※ 컴포넌트 스캔 원리 @Component 애노테이션이 있으면 스프링 빈으로 자동 등록된다. @Controller 컨트롤러가 스프링 빈으로 자동 등록된 이유도 컴포넌트 스캔 때문이다. @Component 를 포함하는 다음 애노테이션도 스프링 빈으로 자동 등록된다. @Controller @Service @Repository @Contr..

article thumbnail
[스프링 입문] API
Spring 2023. 1. 18. 17:06

API API는 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 매커니즘이다. API를 사용하면 구현 방식을 알지 못하는 제품 또는 서비스와도 통신할 수 있으며 애플리케이션 개발을 간소화하여 시간과 비용을 절약할 수 있다. 최근 서버는 브라우저나 모바일에서 필요한 순수한 데이터만을 전달하는 API 서버의 형태로 변화하고 있다. 대부분 JSON형식으로 데이터를 전송한다. API와 REST에 관한 게시글은 추후에 자세히 작성할 예정. @ResponseBody 문자 반환 @Controller public class HelloController { @GetMapping("hello-string") @ResponseBody public String helloString(@R..

article thumbnail
[스프링 입문] MVC와 템플릿 엔진
Spring 2023. 1. 18. 16:26

MVC MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴이다. MVC 에 기반을 둔 몇 가지 다른 디자인 패턴으로 MVVM (모델-뷰-뷰모델), MVP (모델-뷰-프리젠터), MVW (모델-뷰-왓에버)가 있다. MVC 소프트웨어 디자인 패턴의 세 가지 부분은 다음과 같이 설명할 수 있다. 모델: 데이터와 비즈니스 로직을 관리. 뷰: 레이아웃과 화면을 처리. 컨트롤러: 명령을 모델과 뷰 부분으로 라우팅. 템플릿 엔진(Template Engine) 템플릿 엔진은 템플릿 양식과 특정 데이터 모델에 따른 입력 자료를 합성하여 결과 문서를 출력하는 소프트웨어 또는 소프트웨어 컴포넌트를 말한다. 템플릿 엔진을 사용하면 응용프로그램에서 정적 템..

검색 태그