분류 전체보기 67

[TypeScript] TypeScript Basic 2 // 25.02.28

TypeScript의 타입 별칭 (Type Aliases) - 타입 별칭은 타입의 새로운 이름을 만드는 것으로 새로운 이름으로 기존의 타입을 참조하는 것을 의미한다. 타입 별칭을 이용하여 타입의 새로운 이름을 만들 때 키워드 type 을 사용하여 작성한다.type MyString = string;let str1: string = 'hello!';// string 타입처럼 사용할 수 있습니다.let str2: MyString = 'hello world!'; type Person = { id: number; name: string; email: string;}//Commentary 인터페이스에서 Person 타입을 참조하고 있습니다.interface Commentary { id: number; co..

카테고리 없음 2025.02.28

[TypeScript] TypeScript Basic 1 // 25.02.27

TypeScript✅ TypeScript(타입스크립트)란? - 마이크로소프트에서 개발한 JavaScript의 상위 집합(Superset) 언어 - JavaScript에 정적타입 검사와 클래스 기반 객체 지향 프로그래밍 등의 기능을 추가하여 개발된 언어로, JavaScript가 발전하면서 생긴 단점을 보완하기 위해 등장했다.  ✅ TypeScript의 등장 배경 - Js는 처음에는 브라우저에서만 동작하는 스크립팅 언어로 만들어졌으나, 시간이 점점 흐르고 JavaScript로 웹 애플리케이션의 상호작용이 증가하면서, 웹 애플리케이션이 필요로 하는 Js 코드의 양이 폭발적으로 늘어났다. - 이로 인해 Js의 한계가 부각되었고 동적 타입이 결정되어 유연하고, 다양한 라이브러리와 프레임워크를 사용할 수 있는 장점..

카테고리 없음 2025.02.28

[Cloud] Cloud Operations Strategy - MSA, API Gateway, AWS Lambda // 25.02.25

마이크로서비스 ( MSA : Micro Service Architecture ) ✅ 마이크로서비스 ( MSA : Micro Service Architecture ) 소프트웨어 아키텍처 디자인 패턴 중 하나로, 큰 애플리케이션을 작은 단위의 독립적인 서비스로 분할하여 구성하는 아키텍처이다. 기존의 모놀리식 아키텍처는 전체 애플리케이션을 하나의 큰 덩어리로 개발하고 배포했지만, MSA에서는 서비스 단위로 개발하고 배포하기 때문에, 개발자들이 더욱 빠르고 유연하게 개발할 수 있다.각 서비스는 독립적인 데이터베이스와 서버를 가지며, 서로간의 통신은 API를 통해 이루어진다. 따라서 개별적인 서비스의 장애가 전체 시스템에 큰 영향을 끼치지 않으며, 서비스 단위로 확장이 가능하다.다양한 프로그래밍 언어와 DB를 혼..

카테고리 없음 2025.02.28

[React] 번들링과 웹팩 // 25.02.27

번들링 ✅ 번들링이란? - 여러 제품이나 코드, 프로그램을 묶어서 패키지로 제공하는 행위 - 프론트엔드에서의 번들이란 : "사용자에게 웹 애플리케이션을 제공하기 위한 파일 묶음" - 압축하는 것과 같음(실행 가능한 파일로 만드는 것) : 실행을 위해 꼭 필요한 파일들만 압축한다. - 사용자가 브라우저를 열고 주소를 입력하면, 해당 주소에서 프론트엔드 개발자가 번들링한 여러 파일을 받는다. 이 파일을 브라우저가 실행하여 웹 애플리케이션을 사용자에게 제공한다. ✅ 번들링의 필요성 - 작성한 HTML ,CSS, JavaScript 파일을 그대로 전송하는 것이 문제가 있는경우두 개의 .js 파일에서 같은 변수를 사용하고 있어서 변수 간 충돌이 일어날 때인터넷 속도가 느린 국가의 모바일 환경에서 사용할 때번들 파..

카테고리 없음 2025.02.27

[Cloud] Cloud Operations Strategy - 개발 프로세스의 발전, DevOps, 서버리스 컴퓨팅(Serverless Computing) // 25.02.24

개발 프로세스의 발전 개발 프로세스(소프트웨어) : 소프트웨어 개발 생명주기를 기반으로 만들어졌다.요구분석 및 시스템 명세 작성 : 기능과 제약조건, 목표 등을 클라이언트와 함께 정확히 정의하는 단계. - 개발하고자 하는 SW의 성격을 정확히 이해하고 이를 토대로 개발 방법과 필요한 자원 및 예산 예측 후 요구명세를 작성한다.설계 : 앞서 정의한 기능을 실제로 수행하기 위한 방법을 논리적으로 결정하는 단계. - 크게 시스템, 프로그램, UI 설계로 나뉘고, 시스템 구조설계는 시스템을 구성하는 내부 프로그램이나 모듈 간 관계와 구조를 설계하고, 프로그램설계는 각 모듈에서의 처리 절차나 알고리즘을 설계한다.구현 : 설계 단계에서 결정한 문제 해결 방법을 프로그래밍언어를 사용하여 실제 프로그램을 작성. - 프..

카테고리 없음 2025.02.24

[CI/CD] Cloud Continuous Deployment

배포 자동화는 CI/CD를 모두 품고 있는것. 지속적 배포  - 애플리케이션 개발 및 배포 과정에서 사용되는 방식 중 하나. - 코드 변경사항이 발생하면 자동으로 애플리케이션을 빌드하고 테스트한 후, 운영 환경에 배포하는 것을 의미한다. - 개발 및 운영팀 간 소통 및 협업을 더욱 향상, 요구사항에 더욱 빠르게 대응  - 지속적 배포 방식은 애플리케이션의 배포 주기를 단축하고, 버그를 빠르게 발견하고 수정할 수 있도록 도와주지만 일부 조직에서는 보안과 안정성에 대한 우려가 있을 수 있다. - 이를 위해 보안과 안정성을 고려한 개발 및 배포 프로세스를 구성하고, 지속적인 모니터링과 피드백을 통해 개선할 수 있다.  배포 자동화  ✅ 배포 자동화 배포 자동화는 애플리케이션 배포할 때 일어나는 반복적이고 수동..

카테고리 없음 2025.02.24

[CI/CD] CI - Cloud Continuous Integration

지속적 통합 빌드(Build) : 소프트웨어 개발에서 빌드(build)란, 소스 코드 파일들을 컴퓨터가 이해할 수 있는 실행 가능한 소프트웨어 산출물로 변환하는 과정을 말합니다. 이 산출물은 일반적으로 아티팩트(Artifact)라고 부르며 바이너리 파일, 라이브러리, 패키지 등의 형태로 제공됩니다. 빌드 과정에서는 소스 코드 파일들을 컴파일하고, 링크하고, 패키징하고, 배포할 수 있는 형태로 변환합니다. 빌드 도구의 필요성 - 빌드 과정은 매우 복잡하고 번거로운 일이며, 수동으로 이루어지면 매우 오래 걸리고 실수할 가능성이 높습니다. 또한 프로젝트가 커지면 커질수록 빌드 과정에서 필요한 작업들이 복잡해지고, 빌드 도구 없이는 이를 관리하기가 매우 어렵습니다. 따라서 빌드 도구를 사용하여 빌드 과정을 자동..

카테고리 없음 2025.02.24

[Kubernetes] 쿠버네티스

쿠버네티스(Kubernetes, k8s) 쿠버네티스란?컨테이너 오케스트레이션(orchestration) 도구로, 대규모 분산 애플리케이션의 배포, 관리, 확장을 자동화하는 오픈 소스 플랫폼 - 대규모 분산 애플리케이션 : MSA구글에서 개발한 쿠버네티스는 컨테이너화된 애플리케이션을 효율적으로 실행하기 위한 다양한 기능과 도구를 제공도커가 나타나면서 다양한 컨테이너 오케스트레이션 도구가 등장컨테이너 기술인 도커(Docker)와 같은 컨테이너 런타임을 기반으로 동작도커는 애플리케이션을 컨테이너로 패키징하여 이식성과 확장성을 갖도록 해주는 기술이며, 쿠버네티스는 이러한 도커 컨테이너를 관리하고 조율하여 클러스터 내에서 효율적으로 운영할 수 있도록 해준다.컨테이너화된 애플리케이션을 자동으로 배포, 스케일링하는 ..

카테고리 없음 2025.02.24

[Cloud] AWS

클라우드 서비스 대부분의 클라우드 서비스 장점신속한 인프라 구축유연한 인프라 관리예상치 못한 트래픽 폭주 대응손쉬운 글로벌 서비스강력한 보안과 장애 없는 서비스합리적인 요금제   On-Demand, On-Premises온디멘드(On-Demand)정의온디멘드는 필요할 때마다 즉시 사용할 수 있도록 제공되는 IT 서비스 또는 소프트웨어를 의미합니다. 주로 클라우드 컴퓨팅 환경에서 사용됩니다.사용자는 필요한 자원이나 서비스를 즉시 요청하고 사용할 수 있으며, 일반적으로 사용한 만큼 비용을 지불합니다.특징유연성: 사용자가 필요할 때마다 자원을 추가하거나 제거할 수 있어 매우 유연합니다.비용 효율성: 사용한 만큼만 비용을 지불하므로 초기 투자 비용이 적습니다.빠른 배포: 신규 서비스나 자원을 빠르게 배포할 수 있..

카테고리 없음 2025.02.19

[Spring Security] OAuth2

Credential : 자격 증명을 위한 정보(비밀번호) 지금까지는 크리덴셜을 우리 DB에 저장하고 관리했지만 OAuth2는 외부에서 관리한다.       - 제 3사의 크리덴셜을 우리 서버에 보관하는 것은 위험함. OAuth2 는 특정 애플리케이션에서 사용자의 인증을 직접 처리하는 것이 아니라 사용자 정보를 보유하고 있는 신뢰할 만한 써드 파티 애플리케이션에서 사용자의 인증을 대신 처리해 주고 Resource에 대한 자격 증명용 토큰을 발급한 후, Client가 해당 토큰을 이용해 써드 파티 애플리케이션의 서비스를 사용하게 해주는 방식이다.  서비스 애플리케이션에 구글의 크리덴셜이 직접적으로 제공되지 않기 때문에 서비스 애플리케이션에서 사용하는 크리덴셜 저장소에 저장될 필요가 없으므로 크리덴셜을 이중으..

공부기록/Spring 2025.02.10