의존성 주입(Dependency Injection) 스프링의 핵심 프로그래밍 모델중 하나로 Ioc라고도 불리기도 한다 객체의 의존성을 객체 내부에서 정의해주는 대신에 외부에서 객체를 미리 정의하고 생성해서 넣어주는 개념을 말한다. 스프링 컨테이너 스프링은 스프링 컨테이너를 이용해서 내부의 Bean의 생명주기를 관리한다 Bean의 생성, 관리. 제거 역활을 가지고 있다. 의존성을 주입하기 위해 스프링 컨테이너를 통해 객체를 생성하고 관리하고 있다. 컨테이너를 만들기 위해서는 XML 또는 애너테이션 기반의 자바 설정 클래스로 만들수가 있다. 왜 스프링 컨테이너를 사용했을까 일단 이유를 한마디로 표현하자면 객체간의 의존성을 낮추기 위해 만들어졌다고 볼 수 있다. 애플리케이션을 설계하고 개발하게 되면서 수많은 ..
스프링 프레임워크 스프링 프레임워크는 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로 웹 사이트 개발을 위해 사용된다. 현재는 자바 기반의 웹 애플리케이션을 개발하기 위한 표준으로 사용되고 있다. 기업용 엔터프라이즈 시스템에 있어서 자바 스프링은 개발의 생산성과 유지보수의 이점 그리고 방대한 라이브러리를 통해 강력한 이점을 발휘하고 있다. 그전에... 프레임워크? 그리고 라이브러리? 우리는 흔히들 다양한 프레임워크에 대해서 듣고 그리고 내가 다루던 자바에서도 라이브러리라는 이름을 많이들 들었다 일단 결론적으로 축약하자면. 애플리케이션의 제어권이 개발자에게 있다면 라이브러리 애플리케이션에 있다면 프레임워크 라고 할 수 있다. 이러한 사항은 우리가 스프링을 공부하게 되면서 배우게 되는 스프링의 핵심개..
데이터베이스 데이터베이스는 여러사람이 공유해 사용할 목적으로 치계화해서 통합 관리하는 데이터들의 집합 즉 데이터를 관리하는 정보의 집합이다 실질적인 데이터베이스 구현을 위하여 개념화된 논리적 데이터 모델이 여러가지 있는데 그중 관계 데이터 모델이 제일 보편적이다. 현실세계를 객체관계 즉 다이어그램으로 표현하고 사각과 선으로 그렸다. DBMS 데이터베이스가 데이터들의 집합이면 그 데이터를 관리하고 운영하기 위한 소프트웨어를 DBMS라고 한다 대표적인 예시로 은행의 예금계좌를 예시로 들 수 있다 보편적으로 쓰이는 소프트웨어는 Mysql, MariaDB, MSSQL 등이 있다. 관계형 데이터베이스 대부분의 DBMS가 사용하는 형태로 데이터베이스가 하나의 테이블이라는 최소 단위로 구성되고 테이블은 최소 하나 이..
웹 애플리케이션 통칭 웹앱은 인터넷 브라우저를 통해 이용할 수 있는 응용 소프트웨어를 말한다. 기존 애플리케이션에 비해 인터넷만 있고 설치가 필요없다는 관점에서 많은 인기를 누리고 있는데 웹메일/전자상거래 인터넷 게시판, 블로그 등등에 다양한 기능의 형태로 운영되고 있다. 웹 애플리케이션이란? 동적인 기능을 가지고 있는 웹 웹 브라우저를 통해서 사용이 가능 설치가 필요없다. 사용자와 상호작용을 통해 다양한 기능을 제공하고 있고 또한 사용할 수 있음 네트워크 컴퓨터가 인터넷에 연결되기 위해서는 네트워크 기술을 통해 인터넷 공급업체(feat SK, KT, LG U+)에서 제공하는 ISP/라우터를 통해서 연결이 되어 있어야지 사용이 가능하다 그리고 이 짧은 범위 내의 인터넷이 LAN이고 이것들이 수백 수천개 ..
알고리즘 알고리즘은 문제를 해결하기 위한 절차나 방법을 의미하는 단어로 페르시아의 수학자인 알-콰리즈미의 이름에서 유래되었다고 한다. 정확한 의미는 알고리즘은 어떠한 행동을 하기 위해 만들어진 명령어들의 유한 집합 이라고도 한다. 컴퓨터 프로그램은 정교한 알고리즘의 집합으로 수학 또는 컴퓨터 과학에서 말하는 알고리즘은 반복되는 문제의 풀기위한 작은 진행 절차를 의미하고 있기도 하다. 의사 코드 간단하게 설명하자면 프로그램 코드를 작성하기 전 작성자가 알고 있는 일상 언어를 통해서 프로그램의 작동 논리를 단순하게 풀어쓰는 것을 의미한다. 의사 코드를 통해 먼저 논리적으로 풀고 코드를 작성한다면 개발 시간에 있어서 유용한 효과를 볼 수 있다. 의사 코드의 장점으로는 시간 단축: 방대한 코드를 작성하는 경우 ..