반응형

분류 전체보기 277

JSP와 Thymeleaf

JSP(Java Scerver Pages) JSP는 Java Scerver Pages의 약자이며 HTML 코드에서 JAVA코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구이다. JSP가 실행되면 자바 서브릿(Servlet)으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행한다. 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다. Thymeleaf(타임리프) Thymeleaf는 템플릿 엔진 동작원리로 되어있다. MVC패턴 중 View 역할을 담당하고 있다. 표현식 변수 : ${...} 선택 변수 : *{...} 메시지 : #{...} Link URL : @{...} Thymeleaf와 jsp의 차이점 Thymeleaf는 HTML, XML, JavaScript, Css 및 ..

Language/html 2021.11.20

Java String Pool

String String을 만드는데 2가지 방법이 있다. String a = "aa"; String b = "aa"; String c = new String("aa"); String d = new STring("aa"); 첫번째 방법으로는 가장 많이 알고있는 String 변수를 만들어서 사용하는것이다. 두번째 방법으로는 new 연산자를 사용하여 만드는 방법이다. String은 불변성(Immutable)이라는 성질을 가지고 있으며 같은 값의 문자열에 대해서는 단 하나의 문자열 객체만을 생성하도록 설계 되어있다. String은 Heap 메모리에 저장된다. Java String Pool new 연산자로 String 객체를 생성하지 않는 것이 좋다라는 말을 볼 수 있다. Heap 영역 내 "String Cons..

Language/Java 2021.11.20

Nginx 와 Apache

Apache Apache 나오기전 유닉스 기반으로 만들어진 웹 서버 NCSA HTTPD을 사용했다. 하지만 버그가 너무 많아서 개발자들이 사용하기에는 불편했고 이를 해결하기 위하여 몇몇 개발자들이 나서서 만든것이 Apache이다. Client에서 요청을 받으면 MPM (Multi Processing Module: 다중처리모듈)이라는 방식으로 처리를 하는데 대표적으로는 Prefork와 Worker 방식이 있다. MPM 방식 처리( Multi Processing Module : 다중처리모듈) Prefork MPM (다중 프로세스) 1. 하나의 자식 프로세스가 하나나의 스레드를 갖는 구조로, 자식 프로세스는 최대 1024개까지 가능하다 2. 스레드간 메모리 공유를 하지 않는다 ( 독립적이지만 메모리를 많이 사..

Web 2021.11.13

그래프(Graph) 과 DFS, BFS 구현

그래프란? 그래프는 노드와 그 노드를 연결하는 간선을 하나로 모아 놓은 것 그래프에는 방향성이 있을수도 있고 없을수도 있다. 트리는 그래프의 한 종류이다. 모든 그래프가 트리는 아니다. 트리는 사이클이 없는 하나의 연결 그래프 그래프 종류 무방향 그래프 방향 그래프 완전 그래프 그래프에서 사용하는 용어 정점(vertice) : 노드(node)라고도 하며 정점에는 데이터가 저장된다. (0, 1, 2, 3) 간선(edge): 링크(arcs)라고도 하며 노드간의 관계를 나타낸다.. 인접 정점(adjacent vertex) : 간선에 의해 연결된 정점으로 위에서 (정점0과 정점1은 인접 정점) 단순 경로(simple-path): 경로 중 반복되는 정점이 없는것, 같은 간선을 자나가지 않는 경로 차수(degree..

RDBMS와 NoSQL의 차이점

DataBase란? 구조화된 정보 또는 데이터의 체계적인 집합을 의미 데이터를 저장하고 관리하는 곳 DBMS 사용자와 DB 사이에서 사용자의 요구에 따라 정보를 생성해주고 DB를 관리해주는 SW SQL Structured Query Language의 약자로써, 관계형 데이터베이스 관리 시스템에 저장된 데이터를 관리하기 위해 설계된 프로그래밍 언어 스키마란? 데이터베이스를 구성하는 개체(Entity), 속성(Attribute), 관계(Relationship) 및 제약 조건 등에 관해 전반적으로 정의한 메타데이터의 집합 RDBMS DBMS는 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어이다. 또한 기존의 RDBMS에서의 저장 방식은 SQL에 의해 저..

DB 2021.11.13

인코딩 디코딩

인코딩(Encoding) 컴퓨터는 0과 1로 기계만 읽을수 있게 되어있다. 사람이 읽을수 있도록 숫자을 문자로 변환하거나 문자를 숫자로 변환 하여 컴퓨터가 읽을수 있도록 해주어야한다. 사람이 인지하지 못하고 컴퓨터가 이해할 수 있도록 바꿔주는 것을 의미한다. 각각 컴퓨터가 이해할 수 있는 언어로 바꿔주기 때문에 어떤 것을 중심으로 인코딩을 해야하는 지 명확하게 이해한 후 인코딩을 진행해야 한다. 디코딩(Decoding) 디코딩은 인코딩의 반대로서 사람이 이해 할 수 있도록 바꿔주는 것을 의미한다 바이트형식을 문자로 변환이다 총정리 인코딩 / 디코딩은 정보의 형태나 형식을 변환하는 처리에 대해 표준화하고 보안, 처리 속도 향상, 저장 공간 절약 등으로 목적으로 사용한다 한글을 2바이트 코드로 표현. 최상위..

Web 2021.11.09

[주말 스터디]toString과 valueOf 차이

두 메소드 모두 Object의 값을 String으로 변환하지만 변경하고자 하는Object가 null인 경우 다르다. toString()과 같은 경우 Null PointerException(NPE)을 발생시키지만 valueOf는 "null"이라는 문자열로 처리한다. 즉 비교해서 정리하자면 String.valueOf() - 파라미터가 null이면 문자열 "null"을 만들어서 반환한다. toString() - 대상 값이 null이면 NPE를 발생시키고 Object에 담긴 값이 String이 아니여도 출력한다. toString 메서드는 객체가 가지고 있는 정보나 값들을 문자열로 만들어 리턴하는 메소드 indexOf indexOf() 는 특정 문자나 문자열이 앞에서부터 처음 발견되는 인덱스를 반환하며 만약 찾지..

Language/Java 2021.11.06

DataBase

엔티티 Entity 엔티티는 현실 세계에 존재하는 것을 데이터베이스 상에서 표현하기 위해 사용하는 추상적인 개념이다. 일종의 비유라고 할 수 있다. 릴레이션(relation) 데이터베이스에서 정보를 구분하여 저장하는 기본 단위이다. 엔티티에 관한 데이터를 데이터베이스는 릴레이션 하나에 담아서 관리한다. 즉 릴레이션은 하나의 테이블 이라고 생각하면 된다. 필드와 레코드 필드 Field는 열 (column)에 해당하는 가장 작은 단위의 데이터를 의미한다. 레코드 (Record)는 논리적으로 연관된 필드의 집합을 의미하며, 엑셀의 행(row)에 해당한다. 스키마 Schema 데이터베이스의 골격 구조를 나타내는 일종의 도면이다. 어떤 타입의 데이터가 어느 위치에 적재되어야 하는지, 다른 테이블이나 엔티티와 어떠..

DB/Mysql 2021.11.06

Maven vs Gradle

Maven 자바용 프로젝트 관리 도구이다 아파치 앤트의 대안으로 만들어 졌다. 아파치 앤트는 자바 프로그래밍 언어에서 사용하는 자동화된 소프트웨어 빌드 도구이다 쉽게 말해 프로젝트를 진행하면서 사용할 수있는 많은 라이브러리들을 관리해두는 도구이다. 메이븐은 네트워크를 통해서 연관된 라이브러리 까지 같이 업데이트를 해주기 때문에 과거에 일일히 수동으로 다 업데이트 혹은 견결 시켜주던 것을 자동으로 해준다는 편리함이 있다. Gradle Gradle은 작업 의존성 그래프를 기반으로하는 반면 Maven은 고정적이고 선형적인 단계의 모델을 기반으로한다고 한다. 성능 측면에서는 둘 다 다중 모듈 빌드를 병렬로 실행할 수 있지만, Gradle은 어떤 task가 업데이트되었고 안되었는지를 체크하기 때문에 increme..

Spring 2021.11.05

DB Connection Pool

DB Connection Pool 사용 이유 Connection pool(연결 풀) 사용 목적은 DB Connection 정보를 캐시(메모리 영역)에 저장/관리하여 애플리케이션 단에서 DB Connection 정보가 필요할 때마다 Connection pool에서 연결 정보를 가지고 와 사용하도록 하는 것이다. Connection pool에서 Connection 정보를 관리하기 때문에 DB에 연결하기 위한 연결 정보 생성 시간이 없어 DB Connection을 위한 시간이 월등히 줄어든다 DB Connection Pool 특징 Pool 속에 미리 Connection이 생성되어 있기 때문에 Connection을 생성하는 데 드는 연결 시간이 소비되지 않는다. Connection을 계속해서 재사용하기 때문에 ..

Web 2021.11.05
반응형