전체 글
-
Spring 기초개발 2020. 11. 28. 15:30
Spring의 등장 배경 점점 커지는 웹 사이트에서 서비스를 편리하게 하기 위해서 Session Bean에서 Transaction 관리가 용이하다. 로긴, 분산처리, 보안 등 POJO(Plain Old Java Object) 특정 프레임워크나 기술에 의존적이지 않는 자바 객체 = 우리가 일반적으로 사용하는 자바 객체 특정 기술에 종속적이지 않기 때문에 생산성, 이식성 향상 Plain : Component Interface를 상속받지 않는 특징을 가진다. Old : EJB 이전의 Java Class 경량 프레임 워크 EJB가 제공하는 서비스를 지원해 줄 수 있는 프레임워크 ex) Hibernate, JDO, iBatis(Mybatis), Spring POJO + Framework EJB Server와 같은..
-
캐싱?CS 2020. 11. 12. 00:17
캐시(Cache)란? 일시적으로 저장해두는 의미이자 기능이다. 캐시 메모리라 하면 실제 메모리와 CPU 사이에서 빠르게 전달을 위해 미리 데이터를 저장해두는 좀더 빠른 메모리이다. 네트워크에서 캐시는 로컬에 파일을 미리 받아놓고, 그 내용을 보거나 웹서비스에서도 매번 로딩해야 하는 파일들을 미리 로딩해두고 응답을 주기도 한다. 왜 캐시를 사용 하는가? 우리나라 기업용 웹애플리케이션은 대부분 RDBMS를 백엔드 서버로 두고 데이터 트랜잭션 위주로 운영되는 경우가 많다. 규모가 큰 사이트의 경우 성능을 위해 애플리케이션 서버나 데이터베이스 서버를 이중화 한다. 사용자가 많이 몰리면 결국 병목현상(bottleneck)이 발생하고 주로 데이터베이스인 경우가 많다고 한다. 이러한 데이터베이스의 성능을 향상하는 방..
-
Servlet?개발 2020. 10. 23. 01:59
서블릿은 JVM 기반에서 웹 개발을 하기 위한 명세이자 API이다. 서블릿은 자신만의 생명주기(life cycle)을 가지고 있고, 웹 애플리케이션 컨테이너에서 context가 초기화 되면 생명주기가 시작된다. 서블릿의 생명주기는 초기화(initialize), 서비스(service), 소멸(destory)의 3단계로 구성되어 있다. 초기화 단계에서는 로드한 서블릿의 인스턴스를 생성하고, 리소스를 로드하는 등 클래스 생성자의 초기화 작업과 동일한 역할을 수행한다. 서비스 단계에서는 클라이언트의 요청에 따라 호출할 메서드를 결정한다. 소멸 단계에서는 서블릿이 언로드 된다.
-
WAS ?? Class Loader?개발 2020. 10. 23. 01:35
웹 애플리케이션 컨테이너는 웹 애플리케이션이 배포되는 공간을 뜻한다. HTML 같은 정적 파일들을 전달해 주는 역할을 하는 서버를 웹서버 라 칭하고 PHP, JSP, ASP 같은 언어를 사용해 동적인 페이지들을 생성 가능한 서버를 웹 애플리케이션 서버(WAS)라 한다. Class Loader JAVA는 컴파일 하면 class 파일이 생성된다. 이 class 파일은 JVM에서 실행 가능한 상태가 된다. JVM이 class를 실행하기 위해서는 클래스를 로딩하는 과정이 필요하며 이를 위한 것이 Class Loader이다. Class Loader의 4가지 특징 계층적 구조를 가지고 있다. 상위 클래스 로더에서 하위 클래스 로더를 갖는 방식으로, 최상위 클래스 로더는 부트스트랩 클래스 로더이다. 두 번째, 클래스..
-
[Linux] Ununtu에서 MariaDB 설치 하기개발 2020. 10. 21. 14:31
1. 설치 전 repository에 업데이트 패키지가 있는지 확인하고 설치된 패키지를 업데이트를 먼저한다. 2. update가 끝나면 위의 명령어를 통해 mariadb를 설치해준다. 3. 설치후 vi /etc/mysql/mariadb-conf.d/50-server.cnf 를 통해 세팅 환경을 확인할 수 있다. 4. MariaDB 설치후 외부 접속을 위해 다음과 같이 아이디를 하나 생성해서 권한을 주었다. 5. 다음과 같은 과정을 다 수행 후 재시작 해준다. 6. 외부에서 접속하면 끝~
-
그래프 알고리즘Algorithm 2020. 9. 16. 03:07
그래프란? 노드와 간선으로 이루어져있다. 간선은 노드와 노드의 연결을 나타낸다. 서로 다른 개체가 연결되어 있다고 하면 그래프 알고리즘을 떠올려야 한다. 그래프 트리 방향성 방향 그래프 or 무방향 그래프 방향 그래프 순환성 순환 및 비순환 비순환 루트 노드 존재 여부 루트 노드 존재 하지 않음 루트 노드 존재 노드간 관계성 부모와 자식 관계 없음 부모와 자식 관계 모델의 종류 네트워크 모델 계층 모델 그래프의 구현 방법 인접 행렬 : 2차원 배열을 사용하는 방식 인접 리스트 : 리스트를 사용하는 방식 2가지 모두 그래프 알고리즘에서 매우 많이 사용된다. 두 방식은 메모리와 속도 측면에서 구별 된다. 노드의 개수가 V, 간선의 개수가 E인 그래프인 경우 인접 행렬을 이용한 경우 간선 정보를 저장하기 위한..