전체 글 (142) 썸네일형 리스트형 [Java] OpenJDK 1. JDK (Java Development Kit)의 종류와 성격 Java 자체는 무료 언어이며 이를 실행할 수 있는 환경으로 만들어주는 JRE(Java Runtime Environment)에 개발 및 기타도구들이 포함된 것이 JDK이다. 따라서 Java로 구현된 class파일들을 단순히 실행만 할 것이라면 JRE만 있으면 되며 개발까지 하려면 JDK가 필요하게 된다. JCP(JAva Community Process) 라는 곳에서 Java 플랫폼에 추가될 기술 및 표준을 정의하고 이를 기준으로 생성되는 것이 OpenJDK이며 이것을 기반으로 추가적으로 보안이슈를 수정하거나 기능을 추가하여 각 단체 또는 회사에서 자기들만의 JDK버전을 배포하게 되는데, Oracle JDK도 이중의 하나인 것이다. Fre.. [WEB기초] DI(Dependency Injection) - 의존성 주입 DI(Dependency Injection) 스프링이 다른 프레임워크와 차별화되어 제공하는 의존관계 주입 기능으로, 객체를 직접 생성하는 게 아니라 외부에서 생성한 후 주입 시켜주는 방식이다. 객체 자체가 아니라 Framework에 의해 객체의 의존성이 주입되는 설계 패턴. DI를 통해서 모듈 간의 결합도가 낮아지고 유연성이 높아진다. Framework에 의해 동적으로 주입되므로 여러 객체간의 결합이 줄어든다. Dependency Injection은 Spring Framework에서 지원하는 IoC의 형태 설정에 명시된대로 Container가 1) bean 객체를 생성하고 2) 종속된 주입을 수행한다. Dependency Injection(의존성 주입)과 Inversion Of Control(제어의 역전.. [토비의 스프링] Spring 1. 스프링이란 무엇인가? 스프링은 자바 엔터프라이즈 애플리케이션 개발에 사용되는 애플리케이션 프레임워크 이다. 2. 애플리케이션의 기본 틀 - 스프링 컨테이너 스프링은 스프링 컨테이너 또는 애플리케이션 컨텍스트라고 불리는 스프링 런타임 엔진을 제공한다. 스프링 컨테이너는 설정정보를 참고로 해서 애플리케이션을 구성하는 오브젝트를 생성하고 관리한다. 스프링 컨테이너는 독립적으로 동작할 수도 있지만 보통 웹 모듈에서 동작하는 서비스나 서블릿으로 등록해서 사용한다. 3. 공통 프로그래밍 모델 - IoC/DI, 서비스 추상화, AOP 프레임워크는 애플리케이션을 구성하는 오브젝트가 생성되고 동작하는 방식에 대한 틀을 제공해줄 뿐만 아니라, 애플리케이션 코드가 어떻게 작성돼야 하는지에 대한 기준도 제시해준다. 이런.. [WEB기초] web.xml Web Application Structure(웹 서비스 기본 설정 구조) 1. src 개발자가 작성한 Servlet 코드가 저장된다. 2. Libraries Servlet이나 JSP에서 추가로 사용하는 라이브러리 또는 드라이버 jar로 압축한 파일 3. Web Content Deploy할 때 Web Content 디렉터리 전체가 .war로 묶어서 보내진다. WEB-INF lib 추가한 모든 라이브러리 또는 드라이버가 이곳에 모두 저장된다. classes 작성한 Java Servlet 파일이 나중에 .class로 이곳에 모두 저장된다. web.xml SUN에서 정해놓은 규칙에 맞게 작성해야 하며 모든 WAS에 대하여 작성 방법이 동일하다. .html 파일들 관련된 HTML 소스를 저장한다. Ex. Web.. [WEB기초] Servlet이란 Web Service의 기본적인 동작 과정 HTML Form -> Servlet -> HTML Page 사용자가 웹 페이지 form(HTML Form)을 통해 자신의 정보를 입력한다.(Input) Servlet의 doGet()또는 doPost()메서드는 입력한 form data에 맞게 DB 또는 다른 소스에서 관련된 정보를 검색한다. 이 정보를 이용하여 사용자의 요청에 맞게 적절한 동적 컨텐츠(HTML Page)를 만들어서 제공한다.(Output) 1. HTML Form input elements(Ex. 텍스트 상자)가 포함된 웹 페이지의 한부분(section) 사용자가 입력한 정보(form contents)를 웹 서버로 전송하기 위한 submit element(Ex. 버튼)가 존재한다. action에는.. [WEB기초] 로드 밸런서(Load Balancer) 1. 왜 Load Balancer가 필요한가? Client가 한 두명인 경우에는 Server가 여유롭게 사용자가 원하는 결과를 응답해 줄 수 있다. 2. Client가 한 두명이 아닌 수천만명이라면? Server는 모든 사람들의 응답을 해주려고 하지만 결국 동작을 멈추게 될 것이다. 3. 문제해결을 위한 방법 Scale-up : Server가 더 빠르게 동작하기 위해 하드웨어 성능을 올리는 방법. Scale-out : 하나의 Server보다는 여러대의 Server가 나눠서 일을 하는 방법. 1) Scale-Up(스케일 업) - 데이터의 양이 늘어나거나, CPU 사용율이 높아지거나, 메모리가 부족할 때, ... 서버의 크기(용량)을 증가(고성능 장비로 대체하는 것) - 프로그램 코드를 재작성하거나, 시스템.. [WEB기초] 소켓, 서킷, 패킷, TCP/IP 통신 1. 소켓(Socket) 소프트웨어로 작성된 추상적인 개념의 통신 접속점이라고 할수 있으며, 네트워크 응용 프로그램은 소켓을 통하여 통신망으로 데이터를 송수신하게 된다. 응용 프로그램에서 TCP/IP를 이용하는 창구 역할을 하며 응용 프로그램과 소켓 사이의 인터페이스 역할을 하고 있다. 두 프로그램이 네트워크를 통해 서로 통신을 수행할 수 있도록 양쪽에 생성되는 링크의 단자이다. 두 소켓이 연결되면 서로 다른 프로세스끼리 데이터를 전달할 수 있다. 소켓은 통신을 위한 일종의 통로리며, 소켓은 상대방에게 데이터를 보내거나 받는 역할을 한다. 연결을 수동적으로 기다리느냐, 능동적으로 연결하느냐로 서버, 클라이언트도 구분할 수 있다. 2. 서킷, 패킷 인터넷이 생기기 전까지 통신을 위해서는 양 쪽에서 연결이 .. [WEB기초] DNS DNS : Domain Name System의 약자로 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발되었다. 네트워크에서 도메인이나 호스트 이름을 숫자로 된 IP주소로 해석해주는 TCP/IP 네트워크 서비스이다. 이전 1 ··· 11 12 13 14 15 16 17 18 다음