Spring, Java 개발자 입니다

개발 공부

좋은 객체 지향 프로그래밍 ①

스프링의 핵심 개념, 컨셉 ??? 스프링은 자바 언어 기반의 프레임워크. 자바 언어의 가장 큰 특징인 객체지향을 담는다. 스프링은 객체 지향 언어가 가진 강력한 특징을 살려내는 프레임워크. 스프링은 좋은 객체 지향 어플리케이션을 개발할 수 있게 도와주는 프레임워크. 기존의 개발 성향은 EJB에 종속이 되서 객체지향의 좋은 특징들을 잃어버리게 됨 → 그것을 탈피하기 위해서 Spring을 개발하여 객체 지향 중심적인 설계를 하도록 함. 좋은 객체 지향 프로그래밍이란? 흔히 아는 객체지향의 정의 말고 key word 로 생각해보자. 객체의 모임, 객체의 메세지, 유연성, 변경의 용이 → 레고 블록을 조립하듯이, 컴퓨터 부품을 갈아 끼우듯이 컴포넌트를 쉽고 유연하게 변경하면서 개발할 수 있는 방법 즉 객체지향의..

개발 공부/오픈소스 와 플랫폼

오픈소스(Open Source)의 이해와 활용/ 플랫폼(Platform)의 개념②

IT 산업군에 있어서 플랫폼이란 제품을 만들기 위한 실행환경과 개발환경을 의미한다다. 즉 환경적 요소를 포함하고 있는 말인데, 여기서 키워드는 제품, 실행환경 그리고 개발환경이다. 물론 여기서 추가적으로 수익을 창출 할 수 있는 환경인 비지니스 모델까지 존재해야지만 더 많은 활성화를 이뤄낼 수 있다. 플랫폼의 개념을 스마트폰으로 설명을 해보면 구글에서 제공해주는 오픈소스 플랫폼인 안드로이드로 생각을 해보면 된다. 스마트폰을 살펴볼때 가장 낮은 층에서부터 플랫폼의 개념을 적용시킬 수 있는데 스마트폰에 포함된 디바이를 관리하는 Device Program층 같은 경우에는 메모리 관리를 수월하게 하기 위해서 c 프로그래밍, 그리고 그 윗 층는 c++ 그리고 그 윗층은 흔히 우리가 알고있는 안드로이드 라는 플랫폼..

개발 공부/오픈소스 와 플랫폼

오픈소스(Open Source)의 이해와 활용/ 플랫폼(Platform)의 개념①

요즘은 방학시즌에 인공지능을 배우느라 한창 바쁘게 보내고 있는 중이다. 인공지능 강연을 듣는 도중 교수님께서 하루동안 특별강연으로 다른 주제를 가지고 수업을 하셨는데 오픈소스와 플랫폼의 이해에 관한 강연이었다. 나도 IT 직군으로 꿈을 펼치기를 희망하고 다른 일반인들보다 IT 지식이 많다고 생각하지만 오픈소스와 플랫폼을 막상 정의내려라 라고 한다면 정확하게 이것이 무엇이다 라고 정의내릴 자신이 없다. 요즘과 같은 모든것이 융합된 시대에 IT 용어를 정의내린다는 것은 너무나 뜬구름을 잡는것과 같이 모호한 개념이기 때문에 어떠한 느낌으로 사용한다는 사실만 알고 있었지 정확한 그 속 의미를 알지는 못했다. 하지만 이번 특강을 통해 오픈소스와 플랫폼의 정확한 이해를 할 수있었다. 교수님께서 말씀해주신 가장 첫번..

개발 공부

OSI 7Layer (OSI 7 Layer)

OSI 7Layer (계층) 어플리케이션 계층 : 응용 프로세스와 직접 관계하여 응용 서비스를 수행하는 계층 프레젠테이션 계층 : 코드간 번역을 담당하는 계층 세션 계층 : 응용 프로세스가 통신을 관리하는 방법을 다루는 계층 전송 계층 : 주 호스트(양 끝단의 사용자) 간의 신뢰성을 보장하는 계층 네트워크 계층 : 데이터의 경로를 찹아주는 계층 데이터 링크 계층 : 두 지점간의 신뢰성을 보장하는 계층 (Mac 주소를 이용) 물리 계층 : 물리적으로 연결된 계층

개발 공부/블록 체인

블록체인 개념 정리 ③ [블록체인의 헤더와, 체인이 연결되는 과정]

안녕하세요 수달입니다. 이번 시간에는 블록체인의 마지막 시간으로 블록체인의 헤더와 체인이 연결되는 과정에 대해서 포스팅 해보겠습니다. 블록체인의 첫 번째 시간에 블록체인이 연결되는 방식은 해당 블록의 해시값이 이전 블록을 가리키는 형태로 연결되어있다고 얘기 했습니다. 하지만 사실 이전 블록을 가리키는 것이 아니라 이전블록의 헤더를 가리키는 것입니다. 블록의 헤더에는 난스(Nonce), 타임 스탬프, 난이도, 이전 블록헤더의 해시값 그리고 머클트리의 루트가 포함되어 있습니다. 타임 스탬프란 해시 퍼즐 풀이를 시작한 시각을 담고 있는 정보입니다. 타임 스탬프를 제외한 모든 것들은 이전 시간에 다 설명한 내용이기 때문에 추가 설명을 하지 않겠습니다. 여기서 중요한 점은 블록헤더는 다음과 같은 규칙을 준수해야 ..

개발 공부/블록 체인

블록체인 개념 정리 ② [ 블록체인 데이터 머클트리와 암호화 기법을 통한 트랜잭션 검증 ]

안녕하세요 수달입니다. ​ 오늘은 저번시간에 이어서 블록체인의 두번째 시간입니다. 저번시간에는 블록체인의 정확한 정의 그리고 기본적인 구조와 체인이 연결되는 방법, 즉 해시함수를 통한 해시값 도출과정에 대해서 살펴봤습니다. 이번시간에는 데이터 머클트리와 암호화 기법을 통한 트랜잭션 검증 방법에 대해서 살펴보겠습니다. 데이터 머클트리, 암호화 기법 그리고 트랜잭션 까지 모르는 용어가 3가지 등장했지만 어려운 용어는 아닙니다. 가장먼저 알아야 할 용어는 바로 트랜잭션입니다. 트랜잭션 (Transaction)이란 기본적으로는 거래라는 뜻 이며 모든 거래를 기록하기 위해 시스템 내부에서 거래기록의 과정과 결과를 담아놓은 장부를 뜻합니다. 예를들어 금융 시스템에서의 트랜잭션이 의미하는 바는 이동하는 재화의 이체 ..

개발 공부/블록 체인

블록체인 개념 정리 ① [ 블록체인의 구조와 P2P 시스템 , 해시함수와 해시값 도출 ]

안녕하세요 수달입니다. ​ 오늘은 차세대 기술로 각광받고 있는 블록체인에 대해 포스팅하겠습니다. ​ 일단 기본적으로 블록체인이란 것은 블록이 체인 형태로 이루어져 있는 것을 말합니다. 하지만 블록체인을 정확하게 풀어본다면 ​ 블록체인이란 무결성을 확보하고 유지하기 위해 순서에 따라 연결된 블록들의 정보 내용을 암호화 기법과 보안 기술 알고리즘으로 구성한 원장의 순수 분산 P2P 시스템입니다. ​ 무결성이라는 것은 시스템이 정상 방법으로 예정된 기능을 수행할 경우, 고의 또는 부주의로 인한 비인가 조작이 발생하지 않는다는 정보 시스템 속성을 의미하고 (어떠한 이유로든지 오류가 발생하지 않는 상태) 원장이라는 것은 회계상 모든 거래의 발생 내용을 작성한 장부를 말합니다. ​ 블록체인을 정확하게 이해하기 위해..

수달하나
'개발 공부' 카테고리의 글 목록 (2 Page)