본문 바로가기

분류 전체보기

(19)
[Javascript] 메서드(Method)와 함수(Function) 함수와 메서드는 미리 정의한 동작을 수행하는 코드 뭉치로 독립성에 따라 구분된다. 함수는 그 자체로 독립적인 기능을 수행하지만 메서드는 자신을 호출한 대상 객체에 관한 동작을 수행한다. 즉, 호출하는 객체가 있으면 메서드 없으면 함수이다. var func = function(x) { console.log(this,x); }; func(1) // 함수로서의 호출 // 출력결과 Window ~~ 1 var obj = { method: func }; obj.method(2); // method로서의 호출 // 출력결과 { method: f } 2
Kubernetes 기본개념 - 구조 오늘은 쿠버네티스 클러스터의 기본 구조에대해서 정리해보려고한다. Master(Control Plane) & Node(Worker Machines) - 쿠버네티스에는 마스터, 노드가 존재한다. - 노드에서는 실제 어플리케이션의 레벨의 서비스들이 동작하고 있는 공간이며 마스터는 이러한 워커 노드들의 상태를 관리하기 위한 공간이라고 생각하면 된다. - 쿠버네티스는 3개(마스터 1개, 워커 2개) 의 노드로 구성을 권장하는데 고가용성 클러스터를 구성하는 경우 여러개의 마스터 노드를 두기도 한다. Master (Control Plane) 전체 클러스터를 관리하는 역할을 하며 kube-api-server, kube-controller-manager, kube-scheduler, cloud-controller-man..
[Java] JVM이란??? Java Virtual Machine JVM이란 Java Virtual Machine의 약자로 자바 가상 머신을 가르키는 말이다. JVM의 역할 자바 어플리케이션을 클래스 로더를 통해 읽어들여 자바 API와 함께 실행 하는것. Java와 OS사이에서 중개 역할을 하여 JAVA가 OS에 구애받지않고 재사용을 가능하게 해주며 메모리관리, Garbage Collection을 수행한다. JVM은 스택기반의 가상머신 JAVA의 실행과정 1. 프로그램이 실행되면 JVM은 OS로부터 프로그램이 필요로하는 메모리를 할당받는다. JVM은 용도에따라 메모리를 여러 영역으로 나누어 관리한다. 2. 자바 컴파일러(javac)가 자바 소스코드를(.java) 읽어 자바 바이트코드로(.class) 변환시킨다. 3. Class lo..
[OOP] 객체지향 프로그래밍이란?? OOP(Object Oriented Programming, 객체지향 프로그래밍) 이란?? 객체지향 프로그래밍은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 초기 컴퓨터 프로그래밍은 절차 지향 프로그래밍으로 어떠한 문제를 해결하는 순서대로 프로그래밍을 했었다. 프로그래밍이 점점 복잡해지고 문제가 발생하여 이를 해결하기 위해 "함수" 를 도입한 기능적 프로그래밍이 나오게되었다. 함수를 사용하여 기능을 구분하여 작게 나뉘어서 구분하기 시작하였다. 하지만 기능적 프로그래밍으로도 모든 문제를 해결할 수 없었고 이를 위해 객체지향 프로그래밍이 대두하게 되었다. 객체지향 프로그래밍은 작은 문제를 해결하도록 하는 객체를 만들고 해당 객체들을 조합하여 큰 문제를 해결하는 방식이다. 객체 객체란 대상을 나타내는 단어이다 예..
DI(의존성 주입) 와 IoC(제어의 역행) 스프링에서의 컨테이너 스프링에서 말하는 컨테이너란 코드의 처리과정을 수행하는 존재이며, 프로그래머가 작성한 코드를 참조하여 스스로 객체를 생성하거나 소멸을 관리한다. DI(Dependency Injection, 의존성 주입) 먼저 DI라는 말을 분석해보자. Dependency 의존성 이라는 뜻이다. -> ? 하나의 객체가 동작하기 위해서는 다른 객체가 필요하다는 뜻이다. A클래스 안에서 B클래스를 사용하게 되는 경우 의존관계가 생김. Injection 주입 이라는 뜻이다 -> 그래서 뭘 주입한다는거야? -> Spring에서 객체를 외부에서 밀어 넣는다는 말이다. 그렇다면 Spring에서 Dependency Injection 이라함은 의존하고있는 필요한 객체를 외부에서 주입한다 라는 뜻이되겠다. 그런데, ..
Container란?? Docker의 가장 기본적인 요소인 Container의 개념에 대해서 정리해보려고한다. Container Host OS상에 가상으로 논리적인 구역을 만들어 어플리케이션을 작동시키기 위해 라이브러리 등을 하나로 모아 별도의 서버인것처럼 사용할 수 있게 만든 것 리눅스에서 프로세스 격리를 위해 사용하던 기술들을 조합하여 발전한 것으로 chroot, namespaces, cgroup을 조합하여 만들어진 LXC(Linux Container)에서 발전되었다.
Cloud Computing이란?? Cloud Computing? 사용자의 직접적인 활발한 관리 없이 특히, 데이터 스토리지(클라우드 리소스)와 컴퓨팅 파워와 같은 컴퓨터 시스템 리소스를 필요 시 바로 제공(on-demand availability)하는 것 출처 : Wikipedia 위키피디아의 Cloud Computing이란 사전적 정의는 위와 같이 나와있는데 좀더 내 방식대로 정리해보려고 한다. 먼저 Cloud란 인터넷 기반의 컴퓨팅, 고유의 기능을 가진 서버를 글로벌 네트워크에 의한 가상화 서비스가 이루어지는 공간이라고 한다. 그렇다면 Cloud Computing이란 클라우드에서 서버,네트워크, 스토리지, 소프트웨어 등 필요한 리소스들을 할당받아서 사용하는 것을 말한다. Cloud Service의 종류 클라우드는 어떤 서비스를 제공하..
CI/CD의 개념 CI ( Continuous Integration) CI를 말로 표현해보면 "지속적인 통합" 이라는 뜻을 가지고 있다. 지속적인 통합이란 어플리케이션 또는 서비스의 코드 및 설정에 새로운 변경사항이 정기적으로 빌드 및 테스트하고 공유 레포지토리에 통합된다는것을 의미한다. CI를 사용해야하는 환경은 다음과 같다. 여러 개발자가 함께 형상관리 툴을 사용하는 통합 개발 환경일 경우 서비스가 업데이트 될때마다 git, svn에 업데이트된 코드를 commit하여 레포지토리에 반영해야한다. 많은 Commit들을 빌드/테스트/병합하기 어렵기 때문에 이런경우 CI를 사용한다. MSA환경 MSA는 Micro Service Architecture의 준말로 기존 모든기능을 포함하여 하나의 서비스로 가지고 있는 Monolit..