전체 글
-
추상화CS/추상화란? 2023. 7. 16. 20:17
추상화란? :추상화(Abstraction)는 프로그래밍에서 복잡한 코드나 데이터, 구조를 단순하고 이해하기 쉬운 개념으로 표현하는 과정을 말한다. 추상화는 프로그래밍에서 복잡성을 관리하고 핵심 개념에 집중하기 위해 코드나 데이터, 구조를 단순화하는 과정이다. 추상화를 통해 코드를 구조화하고 중요한 개념만 강조하여 코드의 가독성과 유지보수를 용이하게 만든다. 추상화는 필요한 정보만 남기고 불필요한 세부 사항을 숨기는 것을 포함합니다. 추상화를 사용하면 프로그래머는 핵심 개념에 집중하고 코드를 더 이해하기 쉽게 만들 수 있습니다. 또한 추상화를 통해 코드를 구조화하고 모듈화하여 유지보수성을 향상시킬 수 있습니다. 필요한 정보만을 간결하게 표현함으로써 코드의 가독성을 높이고, 복잡성을 낮추는 역할을 말한다. ..
-
오버로딩과 오버라이딩이란?CS/오버로딩 오버라이딩 2023. 7. 16. 19:46
오버로딩 : 오버로딩은 같은 이름의 메소드,함수를 다른 매개변수로 여러 번 정의 하는 것을 말한다. 오버 로딩을 사용하면서 프로그램의 유연성을 높일수 있고 코드가 깔끔해 지는 효과가 있으며 같은 클래스 내에서 사용 가능하다. class Calculator { add(a, b) { return a + b; } add(a, b, c) { return a + b + c; } } const calc = new Calculator(); console.log(calc.add(2, 3)); // 출력: 5 console.log(calc.add(2, 3, 4)); // 출력: 9 오버라이딩 : 오버라이딩(Overriding)은 부모 클래스에서 이미 정의된 메서드를 자식 클래스에서 동일한 이름으로 다시 재정의하는 것을 ..
-
클래스와 객체와 인스턴스의 차이?CS/클래스 객체 인스턴스의 차이? 2023. 7. 16. 19:01
클래스(Class) :클래스(class)란 객체(object)를 만들기 위한 틀이며 실제 데이터를 가지고 있지는 않고 만들어 낼 객체의 속성과 메서드의 집합을 담아 놓은 것이다. 객체(Object) : 객체는 속성과 메서드를 포함한 데이터 구조 이며 속성(attribute), 동작(method)을 가지고 있다 또한 객체는 개별적이며 독립적인 상태를 가질 수 있고 서로 다른 객체는 동일한 속성이나 동작을 가질 수 있지만 그값이나 동작 결과는 다를 수 있다. 속성은 객체의 특징이나 상태를 나타내는 변수 이고 예를 들면 자동차라는 객체의 속성으로 브랜드,색상 모델등을 의미한다. 동작(Method)는 객체의 기능이나 동작을 나타내는 함수이다 예를 들어 자동차 객체의 동작으로 주행,가속,정지등을 의미한다. 인스턴..
-
CI/CD(Continuous Integration/Delivery & Deployment)CS/CI와CD 2023. 7. 13. 22:52
CI/CD는 지속적인 통합(Continuous Integration)과 지속적인 배포(Continuous Deployment 또는 Continuous Delivery)이다 지속적인 통합(CI) CI는 여러 개발자들이 함께 작업하는 동안 개발한 코드를 지속적으로 통합하는 것을 의미한다. 하나의 예를 들어, 개발자 A와 B가 각각의 기능을 작업하고 완료했을 때, CI는 그들의 코드 변경 사항을 자동으로 가져와서 하나로 통합한다. 그런 다음 빌드 및 테스트를 수행하여 코드의 문제점을 빠르게 찾고 수정할 수 있도록 도와줍니다. 이를 통해 여러명의 개발자와의 충돌을 최소화하고 애플리케이션의 안정성을 높일 수 있다. 지속적인 배포(CD) CD는 애플리케이션의 빌드, 테스트, 배포를 자동화하여 지속적으로 사용자에게 ..
-
클라우드 #3 IaaS와 PassS와 SaaSCS/클라우드 #3. IaaS와 PaaS와 SaaS 2023. 7. 13. 21:22
IaaS(Infrastructure-as-a-Service):하부 인프라 관리를 사용자가 담당 IaaS는 가장 기본적인 클라우드 서비스 모델로, 가상화된 컴퓨팅 인프라를 제공합니다. 이 모델에서는 가상 서버, 스토리지, 네트워크 등의 인프라를 제공받아 필요한 운영체제, 미들웨어, 애플리케이션을 설치하고 관리할 수 있습니다. 개발자나 운영팀은 서버 관리, 운영체제 관리, 네트워크 설정 등과 같은 하부 인프라 관리에 대한 책임을 지게 됩니다. 쉽게 말해 빈방에 필요한 운영체제 등 넣어 관리하는 것이다. PassS(Platform as a Service):일부 인프라는 제공업체 담당 PaaS는 애플리케이션 개발과 배포를 위한 플랫폼형 클라우드 서비스 모델이다. 개발자는 PaaS 환경에서 애플리케이션을 개발하고..
-
클라우드 #2 Off-premise/ On-premiseCS/클라우드 #2. 오프프레미스(off-premise)와 온프레미스(on-p 2023. 7. 13. 20:44
온프레미스(On-Premises)(직접 제어와 보안 및 커스터마이징의 유연함) - 네트워크 및 IT인프라를 조직 또는 개인이 직접 구축하고 운영하는 방식이다 이는 자체 데이터(네이버)센터나 기업내의 서버룸 등 조직의 물리적인 시설에서 IT인프라를 운영하는 의미이다. 데이터와 애플리케이션은 조직의 내부에 위치하며,조직 또는 개인이 직접 하드웨어 , 소프트웨어 보안 등을 관리하고 유지 보수 한다. 오프프레미스(Off-Premises)(외부 서비스 제공 업체 인프라 활용 유연성 확장성 얻지만 책임과 제어의 일부분을 서비스 제공 업체에게 위탁 된다. ) - 조직이 자체적으로 IT인프라를 구축하고 운영하는 대신 외부의 서비스 제공 업체나 클라우드 서비스를 활용하여 IT인프라 및 서비스를 이용하는 방식이다 조직은 ..
-
클라우드 #1가상머신CS/클라우드 #1. 가상머신 2023. 7. 13. 20:34
가상머신은(Virtual Machine,VM)은 소프트웨어를 사용하여 실제 컴퓨터 시스템을 모방한 가상 환경이다. 전통적 배포 - 컴퓨터에 하나의 운영체제(OS)를 설치하고 여러 프로그램을 설치하는 방식이다 이 방식으로 다수의 사용자가 계정을 공유하며 컴퓨터를 사용 할 수 있는데 다른 프로그램을 설치하면 다른 애플리케이션에도 영향을 줄수 있다. 가상화 배포 - 가상머신을 사용한 배포 방식이다 가상머신은 하드웨어를 소프트웨어로 이해 가능하다 또한 가상머신은 하나의 컴퓨터에서 여러 개의 운영체제를 실행 할 수 있다. - 가상화 배포는 한대의 컴퓨터에서 여러개의 독립된 운영체제를 실행할 수 있게 합니다. 이를 통해 각 운영체제는 독립적으로 작동하며, 서로에게 영향을 주지 않는다. - 가상화 배포는 애플리케이션..
-
React(Next.JS)? Node.JS(Nest.JS)?이론공부 2023. 7. 12. 23:21
라이브러리(Library): 재사용 가능한 코드의 집합으로 기능을 수행하기 위한 도구나 함수들의 모음이다. 개발자가 필요한 기능을 가져와서 사용 할 수 있으며, 개발자가 원하면 호출하여 사용 할 수 있다. 개발자가 자유롭게 선택하여 사용할 수 있고 필요한 부분에서 선택적으로 사용 가능하다. 프레임워크(Framwork): 애플리케이션의 구조와 규칙을 제공하여 개발자에게 특정 작업을 수행하는데 필요한 틀과 구조를 제공한다. 개발자에게 제어의 역전(Inversion of Control) 개념을 적용하여 프레임 워크가 개발자의 코드를 호출하고 관리한다. 특정 도메인이나 플랫폼에서 애플리케이션을 개발할 때 주로 사용 된다. 제어의 역전 개발자가 코드를 직접 제어하는 것이 아니라, 외부에서 코드를 호출하고 관리하는..