본문 바로가기

Dev.World/개발상식&언어

(46)
[개발상식] 17. ORM ORM(Object Relational Mapping)객체형 데이터(JAVA Object)와 관계형 데이터(RDB의 테이블)사이에서개념적으로 일치하지 않는 부분을 해결하기 위하여 이 둘 사이를 Mapping하는 것을 의미한다.객체형 데이터와 관계형 데이터의 각 속성들을 매핑할 경우, 관계형 데이터를 객체형 데이터처럼 사용가능하다.쉽게 말해, SQL문 작성 없이 간단한 매핑설정으로데이터 베이스의 테이블 데이터를 JAVA 객체로 전달받을 수 있는 것이다.Hibernate, iBatis, Spring JPA 등이 존재한다. 무엇이 좋은가? ORM의 장점생산성 / 유지보수성 향상jsp를 이용해 프로젝트를 할 때, 중복된 jdbc코드를 작성하지 않아도 된다.개발 로직 코드에 집중할 수 있다.독립성ORM은 DBMS..
[개발상식] 16. 웹 서버란? 웹 프로그래밍이란?웹 프로그래밍의 첫번째 특징은 한 대의 컴퓨터에서 처리하지 않는다는 것이다.어떠한 경우에도 반드시 서버와 클라이언트가 존재한다.웹 애플리케이션이란 HTTP/HTTPS라는 프로토콜을 통하여 요구된 기능을 제공하는 것이다.HTTP를 통한 클라이언트의 요청에 대해, 웹 애플리케이션이 반환하는 응답에 의해 제공되는 데이터는크게 두 가지 종류이다.하나는 정적 콘텐츠이고, 다른 하나는 동적 콘텐츠이다.정적 콘텐츠란 누가 언제 요구하더라도 동일한 내용이 반환되는 데이터를 말한다.HTML, JavaScript, CSS가 기술된 것, 이미지, 등이 포함된다.이 데이터들은 해당 웹 페이지 및 웹 서비스의 제공자가 사전에 준비해 둔 서버 측에 배치한 것이다.동적콘텐츠란 누가, 언제, 어떻게 요구했는지에 따..
#JAVA Framework JDBC, myBatis JDBC란?(Java Database Connectivity)데이터베이스에 접근하여 SQL문을 실행하기 위한 자바 라이브러리(API)를 말한다.썬에서 RDBMS에 접근하여 SQL문을 실행하기 위한 자바 라이브러리를 만들어 표준으로 제공한 것이다.구현 클래스가 거의 없고 대부분이 인터페이스로 이루어져 있다.그렇기 때문에 어느 DB를 사용하더라도 동일한 코드를 작성할 수 있고DB를 교체하더라도 코드를 수정하는 작업은 거의 없다. iBatisSQL에 기반한 데이터베이스와 자바, .NET, 루비 등을 연결시켜주는 역할.JDBC를 대체하는 영속성 프레임워크iBatis 개발자들이 구글코드로 이동하고 그 후 버전 이름이 myBatis로 바뀜 myBatisMyBatis는 개발자가 지정한 SQL, 저장프로시저, 그리고 ..
[그들이 쓰는 언어] 10. P2P서비스 P2P 서비스인터넷 상의 정보를 검색엔진을 거쳐 찾아야 하는 기존 방식과는 달리인터넷에 연결된 모든 개인 컴퓨터로부터 직접 정보를 제공받는 검색은 물론 다운로드까지 할 수 있는 서비스이다.이전의 인터넷 검색은 인터넷 사용자들이 검색엔진이라는 전문검색업체에 접속해 주제어를 입력하여 정보를 구했다.등록된 수백만 개의 웹사이트로부터 검색엔진은 가장 적절한 정보를 찾아냈다.찾아낸 정보는 빠르고 편리한 서비스에도 불구하고추출된 정보가 웹사이트에 게재된 내용에 한정되어 있고 웹사이트 접속에 실패하기도 한다.이와 대조적으로 P2P는 인터넷에 접속한 개별 사용자들의 컴퓨터를 검색해서 원하는 파일을 추출해 준다.즉 실시간으로 현재 인터넷상에 접속해 있는 사용자의 컴퓨터내의 파일을 검색하기 때문에원하는 파일이 검색될 경우..
[그들이 쓰는 언어] 9. 웹 2.0 이란 웹2.0단순한 웹 사이트의 집합체가 웹 1.0이었다면웹 애플리케이션을 제공하는 하나의 완전한 플랫폼을 웹 2.0이라고 지칭한다.개방, 창며, 공유가 웹 2.0의 대표적인 키워드 이며 사용자가 정보의 소비자이자 생산자가 되는 인터넷 통합 환경을 의미한다.웹 2.0의 기술적 기반은 복잡하고 여전히 진화 중이나, 여기에는 서버 소프트웨어와 콘텐츠 신디케이션, 메시징 프로토콜, 표준 기반의 브라우저, 다양한 클라이언트 애플리케이션 등을 포함한다. (비표준 브라우저에 대한 플러그인이나 확장은 보통 지양된다) 이와 같이 차별화되지만 상호 보완적인 접근은 기존의 웹사이트에 기대했던 것을 뛰어넘어, 정보의 저장, 창조, 전파의 능력을 갖춘 웹 2.0을 규정한다.-Wiki 웹 2.0의 기본적인 목적은 사람들을 다양하고 ..
[그들이 쓰는 언어] 8. 바인딩 바인딩: 속성과 개체 사이 또는 연산과 기호 사이와 같은 연관이다. 이름을 속성에 연관시키는 과정. 바인딩이 일어나는 시간을 바인딩 시간이라고 부른다.바인딩이란 함수 호출과 실제 함수를 연결하는 방법이다.각종 값들이 확정되어 더 이상 변경할 수 없는 구속(bind)상태가 되는 것.함수를 호출하는 부분에 함수가 위치한 메모리 번지를 연결시켜 주는 것.프로그램 소스에 쓰인 각종 내부요소 혹은 속성(성격)을 확정 짓는 과정을 의미. Ex) 변수의 데이터 형이 무엇인지 결정이 과정이 컴파일 시에 이루어지면 정적 바인딩Ex1) C언어에서는 컴파일 시간에 변수의 데이터 형이 정해지므로 정적 바인딩프로그램 실행 시 이루어지면 동적 바인딩Ex2) 자바스크립트는 실행할 때 값에 따라 변수의 데이터 형이 정해지므로 동적 ..
[개발상식] 15. 클라우드 컴퓨팅이란? 클라우드 컴퓨팅클라우드 컴퓨팅은 서버, 스토리지, 데이터베이스 및 광범위한 애플리케이션 서비스를인터넷을 통해 간단하게 액세스할 수 있는 방법을 제공한다. 전기 공급 및 소비의 패러다임이 과거의 자가발전에서 현재의 중앙발전으로 바뀌었듯이IT 자원의 소비 형태도 이렇게 변환될 것이다.그러한 소비 형태가 바로 클라우드 컴퓨팅이다.IT분야 미래학자 Nicholas Carr - Big Switch 에서 클라우드 컴퓨팅 혁명과 함께 제 2의 디지털 시대가 다가오고 있다. - 빌게이츠 클라우드 컴퓨팅이란쉽게 말해서 서버 가상화 기술가상 라우터를 기반으로 한 네트워크 가상화 기술스토리지 클라우드를 위한 분산 스토리지 및 파일 동기화 기술클라우드 운영관리를 담당하는 stack기술 및 사용자 권한 관리 등을 포괄한다. 클..
[그들이 쓰는 언어] 7.런타임이란? 런타임(runtime)런타임은 프로그램이 실행되고 있는 때 존재하는 곳을 말한다.즉, 컴퓨터 내에서 프로그램이 기동되면, 그것이 바로 그 프로그램의 런타임이다.일부 프로그래밍 언어에서는, 어떠한 재사용 가능한 프로그램들이나 루틴들이 런타임 라이브러리로서하나의 꾸러미로 만들어진다.이러한 루틴들은 어떠한 프로그램이 실행될 때 거기에 연결되어, 그 프로그램에 의해 사용될 수 있다.프로그래머들은 때로 컴파일 할 때 프로그램 내에 삽입된 것과,런타임 때 삽입된 것을 구분하는데,전자를 컴파일타임이라고 부른다. 수년동안, 전문 기고가들은 런타임을 하나의 전문 용어로 인정하지 않았으나, 이 용어는 점차 일반적인 용법에 슬며시 포함되었다. 단순히 말해서 런타임이란프로그래밍 언어가 구동되는 환경이라고 이해를 하면 된다.J..