본문 바로가기
728x90

전체 글331

캡슐화와 정보은닉 진짜 객체지향은 정보 은닉에서부터 시작된다. 객체지향 언어를 통해서 얻고자 하는 것이 유연성(기능의 확장, 교체, 변경)이라면 정보 은닉은 그것을 가능하게 하는 전략이다. 객체, 상속, 캡슐화 등은 정보 은닉의 수단에 불과하다. 그리고 좋은 정보 은닉은 잘 된 추상화를 통해 얻어진다. 많은 개발자들이 객체지향에 들어서면서 캡슐화를 정보 은닉이라고 배운다. 몇몇 훌륭한 블로그들을 제외하고는 대부분의 블로그들이 정보 은닉 = 캡슐화로 설명하고 있다. 매우 안타까운 일이다. 정보 은닉을 캡슐화로만 알고 있으면 아직 객체지향 입구에도 못들어 온 것이다. 정보 은닉과 관련하여 인터넷을 검색해 본 결과, 정확하게 정보 은닉을 설명한 것은 아래 글 밖에 없었다. http://egloos.zum.com/aeternum.. 2020. 6. 9.
kubernetes란? Kubernetes, 또는 쿠버네티스, 또는 간단히 "큐브(kube)"는 Linux 컨테이너 작업을 자동화하는 오픈소스 플랫폼입니다. 이 플랫폼에서는 컨테이너화된 애플리케이션을 배포하고 확장하는 데 수동 프로세스가 필요하지 않습니다. 즉, Linux 컨테이너를 실행하는 호스트 그룹을 함께 클러스터링할 수 있으며 쿠버네티스를 통해 이러한 클러스터를 쉽고 효율적으로 관리할 수 있습니다. 클러스터는 퍼블릭 클라우드, 프라이빗 클라우드 또는 하이브리드 클라우드 전체로 호스트를 확장할 수 있습니다. 이러한 이유로 쿠버네티스는 Apache Kafka를 통한 실시간 데이터 스트리밍과 같이 신속한 확장을 요하는 클라우드 네이티브 애플리케이션을 호스팅하는 데 이상적인 플랫폼입니다.쿠버네티스는 원래 Google 엔지니어들.. 2020. 6. 9.
DOCKER 1 도커란? 도커는 컨테이너 기반의 오픈소스 가상화 플랫폼입니다. 컨테이너라 하면 배에 실는 네모난 화물 수송용 박스를 생각할 수 있는데 각각의 컨테이너 안에는 옷, 신발, 전자제품, 술, 과일등 다양한 화물을 넣을 수 있고 규격화되어 컨테이너선이나 트레일러등 다양한 운송수단으로 쉽게 옮길 수 있습니다. 서버에서 이야기하는 컨테이너도 이와 비슷한데 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해줍니다. 백엔드 프로그램, 데이터베이스 서버, 메시지 큐등 어떤 프로그램도 컨테이너로 추상화할 수 있고 조립PC, AWS, Azure, Google cloud등 어디에서든 실행할 수 있습니다. 컨테이너(container) 컨테이너는 격리된 공간에서 .. 2020. 6. 9.
javabeans 와 EJB(Enterprise Java Bean)의 차이점 JavaBean: -자바로 작성된 컴포넌트들을 일반적으로 일컫는 말 -자바는 프로그램 기본단위가 클래스이고, 자바빈은 클래스들이 복합적으로 이루어진 구조 -자바 언어의 프로그램 작성 규칙과 문법을 따름 -자바빈은 자바의 클래스를 만드는 것과 같은 규칙을 갖는다. 클래스의 작성 순서 1.package 패키지명;//없으면 생략 가능 2.import 패키지명을 포함한 클래스의 풀네임;//없으면 생략 가능 3.class 클래스명{//필수 정의, 생략 불가능 } 자바의 클래스 선언 -접근제어자 [키워드] class 클래스명{} ●접근 제어자(access modifier): -public,private,default(접근 제어자가 없는 형태)가 올 수 있는데, 자바빈을 작성할 때는 접근 제어의 강도가 가장 약한 p.. 2020. 6. 9.
jQuery란? DOM(Document Object Model)이란? jQuery란 -현재 가장 많이 사용하는 Ajax 라이브러리로, 이것을 사용하면 웹 애플리케이션 작성이 쉬워지며, 자바스크립트나 Ajax 및 DOM 관련 작업을 간단히 처리해준다. 제공하는 기능 -HTML/DOM작업 -CSS 작업 -HTML 이벤트 처리 -각종 효과 및 애니메이션, Ajax, 각종 유틸리티 다운로드 http://jquery.com/download/ 에서 압축된(compressed) 최신의 버전을 다운받으면된다. DOM이란? -문서 객체 모델(The Document Object Model, DOM) 은 HTML, XML 문서의 프로그래밍 interface이다. -내가 작성한 코드가 브라우저에 의해 파싱되면 DOM이 됩니다. -View Source는 그 페이지를 이루고 있는 HTML을 보여줄.. 2020. 6. 8.
Ajax란? 정의,탄생배경,동작순서, 구성요소 Ajax(Asynchronous JavaScript & XML) 정의 -비동기적인 웹 애플리케이션의 제작을 위해 아래와 같은 조합을 이용하는 웹 개발 기법이다. 탄생 배경 -사용자 인터페이스는 플래시를 사용한 플러그인, 자바 애플릿, 액티브엑스 등 웹 브라우저 자체의 기능이 아닌 추가적인 기능을 사용해서 구현하는 방법밖에 없다고 생각되어져 왔다. 그러나 구글 랩이 공개된 이후 이런 생각들은 바뀌게 되었다. 자바스크립트, DOM, 스타일 시트 등의 웹 브라우저가 기본적으로 가지고 있는 기능들을 사용해도 가능하다는 것을 알게 되었다. 다만 당시에는 이런 기술을 한마디로 정의할 용어가 없어 Ajax로 불리게 되었다. -오래된 새로운 기술(이미 있었던 것을 조합해서 새롭게 발전시킨 기술)로 웹 브라우저가 기본적.. 2020. 6. 8.
동기(synchronous)와 비동기(asynchronous)의 개념과 차이 동기(synchronous : 동시에 일어나는) - 동기는 말 그대로 동시에 일어난다는 뜻입니다. 요청과 그 결과가 동시에 일어난다는 약속인데요. 바로 요청을 하면 시간이 얼마가 걸리던지 요청한 자리에서 결과가 주어져야 합니다. -> 요청과 결과가 한 자리에서 동시에 일어남 -> A노드와 B노드 사이의 작업 처리 단위(transaction)를 동시에 맞추겠다. 비동기(Asynchronous : 동시에 일어나지 않는) - 비동기는 동시에 일어나지 않는다를 의미합니다. 요청과 결과가 동시에 일어나지 않을거라는 약속입니다. -> 요청한 그 자리에서 결과가 주어지지 않음 -> 노드 사이의 작업 처리 단위를 동시에 맞추지 않아도 된다. ** 동기와 비동기는 상황에 따라서 각각의 장단점이 있습니다. 동기방식은 설계.. 2020. 6. 8.
bootstrap이란? BootStrap이란? -Bootstrap은 빠르고 간편한 반응형 웹 디자인(responsive web design)을 위한 open-source front-end framework이다. -HTML, CSS, JavaScript로 만들어진 typography, 입력 양식(forms), 버튼, 테이블, 탭, 내비게이션, 모달, 이미지 캐러셀(image carousel) 등을 제공하며 추가적으로 JavaScript plugin들을 제공한다. -미리 사용될 가능성이 높은 스타일을 미리 작성하여 class화하면 같은 코드를 중복 작성하는 비효율을 줄일 수 있으며 이는 비용 절감과 품질의 향상으로 이어진다. -Bootstrap은 이처럼 미리 선언해 놓은 다양한 class와 자바스크립트 코드로 이루어진 프론트엔드 .. 2020. 6. 8.
JSON이란? JSON (JavaScript Object Notation) JavaScript Object Notation라는 의미의 축약어로 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식 Javascript에서 객체를 만들 때 사용하는 표현식을 의미한다. JSON 표현식은 사람과 기계 모두 이해하기 쉬우며 용량이 작아서, 최근에는 JSON이 XML을 대체해서 데이터 전송 등에 많이 사용한다. JSON은 데이터 포맷일 뿐이며 어떠한 통신 방법도, 프로그래밍 문법도 아닌 단순히 데이터를 표시하는 표현 방법일 뿐이다. JSON 특징 서버와 클라이언트 간의 교류에서 일반적으로 많이 사용된다. 자바스크립트 객체 표기법과 아주 유사하다. 자바스크립트를 이용하여 JSON 형식의 문서를 쉽게 자바스크립트 .. 2020. 6. 7.
728x90