분류 전체보기 183

[Eclipse] 이클립스 JNDI, DBCP 연동 방법(1)

이번 포스팅에서는 이클립스 환경에서 JNDI와 DBCP, DB 연동하는 방법에 대해 기술 ​ # 방법 1. 사용자 요청 2. 요청은 Controller → Model로 전달 3. Model로 넘어간 요청은 JNDI에 등록된 Database 객체(Type:DataSource)를 검색 4. JNDI를 통해 찾은 객체로부터 커넥션을 획득 5. Database 작업이 끝난 뒤 커넥션 반납 ​ # 구성 lib 폴더 – API 관련 jar 파일 설치 /WebContent/WEB-INF/lib : tomcat-dbcp.jar, ojdbc6.jar context.xml – DBCP 정보 설정 /Servers/context.xml web.xml – JNDI 리소스 사용 설정 /WebContent/WEB-INF/lib/w..

TOOL 2021.01.19

DBCP (Database Connection Pool, 커넥션 풀)

이번 포스팅에서는 DBCP 커넥션 풀에 대해서 알아보도록 함 ​ # DBCP (Database Connection Pool, 커넥션 풀) 데이터베이스와 연결된 커넥션을 미리 만들어서 저장해두고 있다가 필요할 때 저장된 공간(pool)에서 가져다 쓰고 반환하는 기법 ​ ​ ​ 커넥션 풀을 이용하면 커넥션을 미리 만들어두고 사용하기 때문에 매번 사용자가 요청할 경우 드라이버를 로드하고, 커넥션 객체를 생성해 연결하고 종료하는 비효율적인 작업을 하지 않아도 됨. ​ 즉, 데이터베이스의 부하를 줄일 수 있고 자원을 효율적으로 관리할 수 있음. ​ 서버는 동시에 사용할 수 있는 사람의 수라는 개념이 존재함. 일반적인 커넥션을 이용하면 동시 접속자 수를 벗어날 경우 에러가 발생할 수 있음 이를 해결하기 위한 방법이..

기타 2021.01.19

[Java] JNDI (Java Naming and Directory Interface)

이번 포스팅에서는 JNDI에 대해서 기술 # JNDI의 정의 디렉토리 서비스에서 제공하는 데이터 및 객체를 발견하고 참고(lookup)하기 위한 자바 API. ​ 쉽게 말하면 외부에 있는 객체를 가져오기 위한 기술. Tomcat와 같은 WAS를 보면 특정 폴더에 필요한 데이터 소스(라이브러리)가 있는데 그것을 우리가 사용하기 위해 JNDI를 이용해서 가져오는 것 ​ Java 프로그래밍 언어로 작성된 응용 프로그램에 이름 지정 및 디렉토리 기능을 제공하는 Java 기술에 지정된 API ​ 특히, Java의 객체 모델을 사용하는 Java 플랫폼용으로 설계. Java 기술을 기반으로 한 응용 프로그램은 JNDI를 사용하여 모든 유형의 명명 된 Java 객체를 저장하고 검색 할 수 있음. 또한 JNDI는 속성을..

LANGUAGE/JAVA 2021.01.19

[기타] 코드 네이밍 규칙

이번 포스팅에서는 코드 작성시 네이밍 규칙에 대해서 기술할 것 # 목적 # Case Naming Convention 개발자들이 성능을 점검하고 협업을 했을 때 보이는 코드 구조의 일관성을 지키기 위해 존재 ​ - Code convention ​ : 일종의 관습으로 많은 개발자들이 사용하는 룰이다. 예를 들면, Class는 대문자로 시작하고, 상수는 대문자로만 작성하고, isArray와 같이 함수는 동사형으로 시작하고, 데이터베이스를 구축할 때 외래키는 ‘테이블명_id’와 같이 일종의 룰들이다. for each문을 사용하기 보다는 for(let i=0; i

기타 2021.01.19

[Java] Java Servlet 서블릿

1. Java Servlet ​ : 자바를 사용하여 웹 페이지를 동적으로 생성하는 서버 측 프로그램 (웹 서버의 성능을 향상시키기 위해 사용되는 자바 클래스의 일종) ​ ​ 1.1. Servlet과 JSP의 차이 - JSP : HTML 문서 안에 자바 코드를 포함 ​ - Servlet : 자바 코드 안에 HTML을 포함 ​ 1.2. Java Servlet과 CGI의 차이 - CGI : 요청이 있을 때마다 새로운 프로세스가 생성되어 응답 ​ - Java Servlet : 외부 요청마다 프로세스보다 가벼운 스레드로써 응답, 가벼움, 자바로 구현 ​ ​ 1.3. Servlet과 ServletContainer ​ - Servlet 웹 서비스를 위한 인터페이스로, 원칙적으로는 javax, servlet, serv..

LANGUAGE/JAVA 2021.01.19

[REACTJS] fontawesome 적용

1. fontawesome npm install 1.1. svg 기반 아이콘 활성화 npm install --save @fortawesome/fontawesome-svg-core 1.2. 아이콘 패키지 설치 npm install --save @fortawesome/free-solid-svg-icons @fortawesome/free-regular-svg-icons @fortawesome/free-brands-svg-icons 1.3. React 컴포넌트 형태로 사용 npm install --save @fortawesome/react-fontawesome 2. import icon import React from "react" import { faCamera } from "@fortawesome/free-..

LANGUAGE/ReactJS 2020.12.07

[Android] .aab to .apk Convert

1. bundletool-all-version.jar install github.com/google/bundletool/releases Releases · google/bundletool Bundletool is a command-line tool to manipulate Android App Bundles - google/bundletool github.com 2. aab 파일이 있는 경로로 이동 > bundletool-all-version.jar 파일 복사 3. 명령 실행 # terminal # 경로는 .aab 파일이 있는 디렉토리 java -jar "bundletool-all-버전.jar" build-apks --bundle="기존파일명.aab" --output="변환할파일명.apks" --mode..

기타 2020.10.26

[Mysql] Group by, Order by 정렬 순서

기본적으로 쿼리 작성 시 order by, group by 순서는 group by -> order by 순서이기 때문에 반대의 경우는 다음과 같이 서브쿼리를 이용해서 작성할 수도 있음 -- 예시 select 별칭1.* from ( select * from 테이블명1 order by 테이블명1.칼럼명1 asc -- 정렬순서 기준 ) as 별칭1 group by 별칭1.칼럼명2 -- 그룹조건 기준 그러나 단일 쿼리 조회가 아니라 서브쿼리 안에 작성하는 경우 결과값이 달라질 수 있음. 이유는 order by가 서브쿼리 안에 존재하는 경우 성능이슈가 발생하므로 DBMS가 자동으로 삭제한다고 함 -- 해결방법 select 별칭1.* from ( select * from 테이블명1 order by 테이블명1.칼럼명..

DB/MYSQL 2020.09.04