728x90

공부 15

[Spring] 의존성 주입 간단히 알아보자

1. 개념A 객체가 어떤 작업을 수행하기 위해 B 객체를 필요로 하는 경우에 두 객체 사이에 의존성이 존재한다고 표현한다. 이때, A 객체가 아닌 외부의 C 객체가 B를 생성한 뒤에 이를 전달해서 의존성을 해결하는 방법을 의존성 주입(Dependency Injection) 이라고 한다. 유연하고 재사용할 수 있는 설계를 만들기 위해서는 코드의 변경 없이 다양한 실행 구조를 만들 수 있어야 한다. 의존성 주입은 이를 돕는다. 예를 들어, A 객체 내부에서 B를 직접 생성하는 경우에는 B에 대한 결합도가 높아진다. 반면, B에 대한 생성 책임을 C에게 위임하고, C가 A에게 다시 전달해 주는 방식(의존성 주입)을 통해서 A는 B에 대한 결합도를 낮추고 유연한 설계를 만들 수 있다.       2. 의존성 주..

[Spring] 스프링 트랜잭션 전파 속성

1. 트랜잭션 전파란?스프링에서 트랜잭션 전파(Transaction Propagation) 는 트랜잭션의 경계에서 이미 진행 중인 트랜잭션이 있을 때 또는 없을 때 어떻게 동작할 것인가를 결정하는 기능.@Transactional 어노테이션이 존재하는 메서드를 호출했을 때, 기존에 트랜잭션이 존재하면 재사용할지, 예외를 던질지 등 행동을 결정할 수 있다. 트랜잭션 전파 속성에는 REQUIRED, REQUIRED_NEW, MANDATORY, SUPPORTS, NOT_SUPPORTED, NESTED, NEVER가 존재하며, @Transactional 어노테이션의 propagation 속성에 값을 설정할 수 있다.   2. 설명REQUIRED: 트랜잭션이 존재하는 경우 해당 트랜잭션 사용하고, 트랜잭션이 없는 ..

무중단 배포 알아보기

무중단 배포란?무중단 배포(Zero-Downtime Deployment) 는 서비스에 다운 타임이 발생하지 않으면서, 새로운 버전의 애플리케이션을 서버에 배포하는 것을 의미. 무중단 배포 패턴에는 대표적으로 순차적으로 배포하는 롤링 배포, 전체 서버를 통째로 바꾸는 블루/그린 배포, 트래픽을 순차적으로 이동시키는 카나리 배포가 존재한다.         롤링 배포(Roling Deployment) 롤링 배포(Roling Deployment) 는 서버를 한 대씩 순차적으로 업데이트하는 가장 기본적인 방식. 특정 시점에는 두 가지 버전이 공존하기 때문에 새로운 버전은 기존 버전 기능을 지원하는 등 하위 호환성(Backward Compatibility) 에 신경을 써야 한다. 롤링 배포는 새로운 버전을 배포하기..

개발/ETC 2025.03.25

[Dart] Functions

다트의 함수에 대해서 알아보자 !    1. ParametersDart도 객체 지향 언어이기 때문에 함수도 객체이다. JS처럼 함수를 변수에 할당할 수 있고, parameter로 전달할 수 있다. Dart 클래스의 인스턴스를 함수처럼 호출할 수도 있다. 함수는 required 파라미터를 원하는 수만큼 가질 수 있다. - Named parametersNamed parameters는 required 키워드가 표시되지 않는 한 선택 사항. 함수를 정의할 때 {param1, param2, …}를 사용하여 Named parameters를 지정./// Sets the [bold] and [hidden] flags ...void enableFlags({bool? bold, bool? hidden}) {...} 함수를..

[Dart] Built in Types

다트의 기본 타입에 대해서 알아보자!!  1. Numbers 다트에서 Numbers는 두 가지이다.- int플랫폼에 따라 64비트 이하의 정수 값을 갖는다. 기본 플랫폼에서 int값은 -2^64에서 2^63 - 1 사이일 수 있다. 웹에서 정수 값은 JavaScript 숫자(소수 부분이 없는 64비트 부동 소수점 값)으로 표시되며 -2^53에서 2^53 - 1일 수 있다.  - doubleIEEE 754 표준에서 지정한 64비트(배정밀도) 부동 소수점 숫자.  int와 double은 모두 num의 하위 타입. num 타입에는 +, -, / 및 *와 같은 기본 연산자가 포함되며 사용할 수 있는 다른 메소드로는 abs(), ceil() 및 floor() 등이 있다. (>>와 같은 비트 연산자는 int 클래스..

[Dart] Dart 언어 가이드 살펴보기

플러터를 이용해 앱개발을 할 수 있는데, 플러터는 dart 언어로 개발해야한다.기초를 알아보자!  1. Basic Dart Programvoid studyPrint(int num) { print('이것은 $num'); // 콘솔 출력}void main() { var num = 111; studyPrint(num);} 다른 언어와 매우매우매우 비슷하다.  void는 return해줄 값이 없는 경우 사용.int는 정수를 나타내는 자료형print는 콘솔에 내용을 출력할 때 사용.main은 앱이 시작되기 위한 최상위 함수이다.var는 자료형을 지정하지 않고 변수를 선언하는 방법이다.  거의 java나 javascript와 유사하다.    2. Keywordsabstract else importshow as..

[Stock] 유나이티드헬스그룹: 이 주식이 왜 투자자들을 미친듯이 끌어당기고 있을까?

유나이티드헬스그룹에 대해서 알아보자 !!  1. 주요 사업 분야 - UnitedHealthcare 건강 보험 부문으로, 개인, 가족, 기업, 정부 등을 대상으로 하는 다양한 건강 보험 상품을 제공한다. 상업적인 그룹 보험, 정부 프로그램(메디케어, 메디케이드 등), 개인 보험 등 다양한 유형의 보험이 있다.  - Optum 의료 서비스 부문으로, 건강 관리 서비스, 약국 관리, 건강 정보 기술 등의 서비스를 제공한다. OptumHealth는 의료 제공과 관련된 다양한 서비스, OptumRx는 약국 서비스, OptumInsight는 데이터 분석 및 기술 솔루션을 담당한다.  - 메디케어 및 메디케이드 유나이티드헬스 그룹은 정부 프로그램인 메디케어와 메디케이드에 대한 관리 서비스를 제공하며, 그 중에서 메디..

경제/Stock 2025.01.22

[Kotlin] 코틀린 + 스프링부트로 단숨에 완성하는 초강력 JWT 인증 시스템!💡 보안과 성능을 모두 잡아라!🔥(2)

지난번에 예외발생 DTO를 생성까지 작성했다. [Kotlin] 코틀린 + 스프링부트로 단숨에 완성하는 초강력 JWT 인증 시스템!💡 보안과 성능을 모두 잡아라!🔥  1. validation 추가컨트롤러를 다시 보면 @RequestBody 옆에 @validated가 있었다. 이는 필요한 값이 안왔을 경우 예외를 발생시킨다. @PostMapping("/signup") fun signup( request: HttpServletRequest, @RequestBody @Validated(SignUpValidation::class) reqAuthDto: ReqAuthDto, result: BindingResult ): ResponseEntity { ..

[Kotlin] 코틀린 + 스프링부트로 단숨에 완성하는 초강력 JWT 인증 시스템!💡 보안과 성능을 모두 잡아라!🔥

코틀린 스프링부트로 JWT구현해봤다. 제목은 어그로 ㅎㅎ GPT가 만들어준..   1. 코틀린으로 프로젝트 생성한다.라이브러리는dependencies { implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-security") implementation("org.springframework.boot:spring-boot-starter-validation") implementati..

[Next] Next.js로 5분 만에 웹 앱 폭주! 이걸 몰랐다면 개발자로서 이미 뒤처진 거다!

제목 어그로 통했나요? GPT의 작품입니다.  간단하게 next & typescript로 프로젝트 생성 알아보겠습니다.   1. 프로젝트 생성 명령어npx create-next-app@latest --ts next-study  이렇게 하면 최신 버전의 nextjs와 typescript를 이용해서 프로젝트가 생성됩니다.    2. 취향 정하기 위 명령어를 입력하면 몇 가지 질문을 합니다.하나씩 알아보면- Would you like to use ESLint? ... No / YesESLint를 사용할거야? - YES! - Would you like to use Tailwind CSS? ... No / YesTailwind CSS 사용할거야? - YES! - Would you like your code ins..

728x90