본문 바로가기

분류 전체보기

(16)
스프링프레임워크 ] 빈+컨테이너, IoC패턴 스프링은 엔터프라이즈 애플리케이션을 개발하기에 적합한 프레임워크로 객체관리를 해주는 빈 컨테이너 프레임워크이다. 웹프로젝트에서의 컨테이너 변화 1. EJB(Enterprise Java Beans) 2. POJO(Plain Old Java Object) -> getter 와 setter 로만 이루어진 클래스 구조 > 프레임워크 의존적이지 않음 1. Bean? 스프링은 자바 프로그램의 제어권을 자신이 갖기 위해(IoC) 자바 객체를 자신만의 형태로 바꾸는데, 그것을 Bean이라고 한다. 즉 스프링 안에서는 "Bean = 객체"라고 생각하면 된다. 이 객체가 Bean으로 등록되는 순간 스프링이 관리하게 되며, DI라던가 AOP라던가 등 여러가지 이점을 맛볼 수 있다. 2. Beans 관련 BeansFactor..
서블릿 생명주기 * 서블릿은 JVM기반에서 웹 개발을 하기위한 API - 자바를 실행하기 위해 JRE(Java Runtime Environment)가 필요한 것 처럼, 서블릿을 실행하기 위해서는 웹 애플리케이션 컨테이너가 필요하다. - 서블릿은 HTTP요청과 응답을 처리하기 위한 내용을 담고 있다(JavaEE에 포함되어있음) 1. 서블릿 설정(Gradle이용) - 그래들은 메이븐, 엔트와 같은 빌드도구로 자바에서 라이브러리를 편리하게 추가할 수 있는 도구라 생각하면 된다. - JAR파일은 build.gradle 파일에 추가하면 사용할 수 있다. 2. 서블릿 생명주기 - 서블릿은 자신만의 생명주기를 갖고있으며 다음과 같다. * 초기화단계 : 로드한 서블릿의 인스턴스를 생성하고 리소스를 로드하는 등, 클래스 생성자의 초기화..
웹 애플리케이션 컨테이너 웹애플리케이션 컨테이너 웹 애플리케이션 컨테이너란 웹 애플리케이션이 배포되는 공간을 뜻한다. 일반적으로 HTML과 같은 정적 파일을 전달해주는 서버를 웹서버라고 하며 PHP,JSP,ASP와 같은 언어를 통해 동적인 페이지를 생성하는 서버를 웹 어플리케이션 서버라고 한다. 일반적으로 줄여서 WAS라고 부르기도 한다. 클래스로더 자바코드를 작성한 후 컴파일하면 해당 코드는 JVM에서 실행가능한 형태가 된다. 이때, JVM이 클래스를 실행하기 위해서는 클래스를 로딩하는 과정이 필요하다. 그 역할을 클래스로더가 담당한다. 클래스로더의 특징 계층적 구조 : 상위클래스로더 -> 하위클래스로더 (최상위 클래스 로더는 부트스트랩클래스 로더) 클래스 로딩의 위임 가시적 규약 : 클래스를 로딩할 때 가능한 범위를 뜻함. ..
우선순위큐]프린터 import java.util.*; class Solution { public int solution(int[] priorities, int location) { int cnt = 0; //우선순위큐 : 작은 수 부터 우선순위가 높음 //Collections.reverseOrder()메소드를 사용해 내림차순 정렬 PriorityQueue pqueue = new PriorityQueue(Collections.reverseOrder()); for(int i : priorities) { pqueue.add(i); } while(!pqueue.isEmpty()) { for(int i=0; i
1] SpringBoot 동작환경 웹브라우저 -> HTTP method -> 스프링컨테이너의 Controller 탐색 -> Return -> HttpMessageConverter -> JsonReturn (웹브라우저) -> 렌더링 * ResponseBody를 사용. HTTP의 BODY에 문자 내용을 직접 반환함. * HttpMessageconverter가 동작
HTTP HTTP : 웹상에서 클라이언트와 웹서버간 통신을 위한 프로토콜 중 하나. * HTTP통신은 기본적으로 요청, 응답으로 이루어져 있음. * 클라이언트가 서버에 요청을 보내면, 그에 맞는 응답결과를 돌려주고, 클라이언트는 사용자에게 서버로부터 받은 결과를 렌더링. * 커넥션이 계속해서 연결되어 있지 않음! * 패킷은 헤더와 바디로 나누어져있음[헤더 : TTL, Destination IP 등, Body : 전하고자하는 실제 메세지] -- HTTP 요청 메시지 형식 HTTP Request Message = Request Header + empty-line + Request Body Header 첫 번째 줄 (start-line) 메서드 + URI + HTTP 프로토콜 버전 GET /test.jpg HTTP/1..
ARX_CsvFile Import, Export package com.company; import org.deidentifier.arx.*; import org.deidentifier.arx.AttributeType.Hierarchy; import org.deidentifier.arx.AttributeType.Hierarchy.DefaultHierarchy; import org.deidentifier.arx.Data.DefaultData; import org.deidentifier.arx.criteria.DistinctLDiversity; import org.deidentifier.arx.criteria.KAnonymity; import org.deidentifier.arx.metric.Metric; import java.io.IOException; ..
데이터 비식별화 _ 이론 비식별화 : 데이터 내에 개인을 식별할 수 있는 정보를 삭제하거나 일부 속성정보로 대체. => 개인 or 개체를 특정화 하지 못하도록 하는 조치 * 비식별화는 각 속성별 level을 갖고 있다. -> 비식별화 수행 중, 데이터 가치와 재식별 위험을 충분히 고려하여 Optimal Level을 선택한다. -> Level이 높아지면서 재식별 가능성은 낮아지나, 데이터의 유용성이 떨어진다. -> 앞서 제시된 그림에서 10대 복지정책에 대한 대상자를 파악할 경우, Level 2까지만 허용된다. * 비식별화의 데이터 속성 분류 : 각 속성을 분류, 데이터에 따라 비식별화의 다양한 기법을 적용한다. 1. 식별자 : 그 자체로 개인을 식별할 수 있는 정보(주민등록번호, 사번 등) => 제거를 하는 것이 일반적이며, 마..