java 디렉토리(폴더) 생성
File dir = new File(realPath + "report/pdf/"); if(!dir.isDirectory()){ System.out.println("create folder"); dir.mkdirs(); } java 디렉토리(폴더) 생성
키자드에 등록된 총 653개의 포스트를 확인하실 수 있습니다.
File dir = new File(realPath + "report/pdf/"); if(!dir.isDirectory()){ System.out.println("create folder"); dir.mkdirs(); } java 디렉토리(폴더) 생성
equals 메소드는 객체가 가지고 있는 내용이 같은가를 비교하기 위한 메소드이고, ==는 기본 데이터 타입의 변수일 때는 두 변수의 값이 같은가를 비교하며, 레퍼런스 타입의 변수일 때는 두 객체가 같은 객체인가..
<%@ attribute name="변수명" required="true" rtexprvalue="true" %> 1. required : 속성의 옵션 여부 - true를 사용하면 옵션이 아니라는 의미 2. rtexprvalue : true의 의미는 문자열도 도리 수 있고, 표현식도..
1. 이클립스로 프로젝트를 만들 때, 상대경로로 파일을 생성하면 기본 Path인 eclipse 폴더에 파일이 생성된다. 따라서, 상대경로로 파일을 생성해야 한다. 2. spring project에서 WEB-INF폴더에는 외부에서 접근..
select site_id from esm_site_agent group by site_id order by site_id ${rows_site.site_id} select agent_id from esm_site_agent where site_id=? ${rows_site.site_id} ${rows_agent.agent_id}
1. 을 이용한 방법 1.1 태그 호출 1.2 파라미터 사용 &{param.subTitle} * subTitle은 파라미터 이름 2. 태그 속성을 이용한 방법 2.1 사용자 정의 태그를 사용하겠다는 선언 <%@ tabl..
속성 설명 port 포트번호 protocol 프로토콜명(HTTP/1.1, AJP/1.3 ...) acceptCount Request 큐의 길이를 설정한다. HTTP 요청시 IDLE 스레드가 없을 경우 해당 값만큼 요청을 대기한다. 대기 큐에 들..
org.apache.catalina.core.ContainerBase startInternal 심각: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start comp..
1. /etc/init.d/tomcat 파일 생성 # /etc/init.d/tomcat #!/bin/bash # chkconfig: 345 50 50 export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64 export PATH=$PATH:$JAVA_HOME/bin export CATALINA_HOME=/usr/loca..
1. request : 클라이언트의 요청 정보를 저장하고 있는 객체 2. response : 클라이언트의 요청에 대한 응답 정보를 저장하고 있는 객체 3. out : JSP 페이지에 출력할 내용을 가지고 있는 출력 스트림 객체 4. ses..
1. UI 버전의 경우 Java 탭의 Java Options에 아래와 같이 추가 -Xms40m -Xmx512m -XX:MaxPermSize=256M -XX:MaxPermSize=256m 2. UI 버전이 아닐 경우 set CATALINA_OPTS=-server -Xms256m -Xmx1024m -XX:PermSiz..
tomcat7 //US//tomcat7 --JvmMs 512 --JvmMx 2048 JvmMs : 초기 메모리 ( Initial memory pool ) JvmMx : 최대 메모리 ( Maximum memory pool )
import static com.querydsl.core.types.dsl.Expressions.asString; jpaQueryFactory.select(asString("READ").as("type").from(tbUser);
1. URL이 없을 경우 --> Caused by: java.io.FileNotFoundException: http://192.168.0.116:8080/soapServer003/services/TestPort?wsdl 2. targetNamespace가 다를 경우 --> Could not find se..
아래 코드로 하면 정상동작한다. public static void paramToEntity(Map paramMap, Object obj) throws Exception { ConvertUtilsBean convertUtils = new ConvertUtilsBean(); DateTimeConverter dateTimeConvert..
1. /WEB-INF/web.xml ktis.esm.common.abcde ktis.esm.common.abcde 1 2. abcde.java // import 생략 public class abcde extends HttpServlet { public void init(ServletConfig config) { System.out.println("*..
1. request : 클라이언트의 요청 정보를 저장하고 있는 객체 2. response : 클라이언트의 요청에 대한 응답 정보를 저장하고 있는 객체 3. out : JSP 페이지에 출력할 내용을 가지고 있는 출력 스트림 객체 4. ses..
equals 메소드는 객체가 가지고 있는 내용이 같은가를 비교하기 위한 메소드이고, ==는 기본 데이터 타입의 변수일 때는 두 변수의 값이 같은가를 비교하며, 레퍼런스 타입의 변수일 때는 두 객체가 같은 객체인가..
<%@ attribute name="변수명" required="true" rtexprvalue="true" %> 1. required : 속성의 옵션 여부 - true를 사용하면 옵션이 아니라는 의미 2. rtexprvalue : true의 의미는 문자열도 도리 수 있고, 표현식도..
JSP에서 다른 컨텐츠(다른 페이지)를 포함하는 방법은 3가지이다. 두가지는 다른 게시물에 존재하고 나머지 한가지는 JSTL 태그이다. 사용법 : 태그도 가능하지만 와 같이 사용 가능하고 iframe이나 기타..
테두리의 코더값은 아래와 같이 radius값으로 지정해 줄 수 있다. border-radius:값; ex ) border-radius:20px; -webkit-border-radius:20px; -moz-border-radius: 20px; ..
jsp를 사용해서 쪽번호를 사용했을 경우 쪽번호가 자기 마음대로 붙는 (랜덤) 사태가 발생하였다. Thread문제인가 하여 동기화 해본다고 설쳤지만 결국 실패했는데 Page of wkhtmltopdf..
JSP에서는 여러 JSP 페이지에서 공통적으로 포함하는 내용이 있을 때, 이러한 내용을 매번 입력하지 않고 저장해 두었다가 필요한 JSP 페이지 내에 삽입할 수 있는 기능을 제공한다. 이때 공통적으로 포함될 내용..
실제 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 이 코드에서 에러가 나는데, 두가지 경우가 있다고 한다. 1. jstl.jar, standard.jar를 추가시켜 주지 않았거나 2. 이클립스가 jar 파일..
[주의사항] 톰캣 설정파일에서 한글을 사용하지 말자. (주석안의 한글고 사용하면 톰캣이 실행안된다.) TOMCAT_HOME : 톰캣 설치 디렉터리 1. 도메인으로 분류하는 방법 TOMCAT_HOME\conf\server.xml 을 열면 기본..
톰캣을 설치하면 기본적으로 webapps/ROOT 경로가 홈디렉토리가 된다 원하는 경로로 변경하기 위하여 conf/server.xml 을 열어 사이에 아래와 같이 Context부분을 추가해 준후 톰캣을 리스타트 한다.. path 는 htt..
1. 한글이 깨지는 이유 1(HTML, charset, data 포멧 관련) (1) HTML : ANSI, CHARSET : UTF-8, DATA : ANSI - > HTML태그 깨짐, 한글 깨짐 (2) HTML : ANSI, CHARSE..
.pageBreak { page-break-before:always; } 위와 같이 스타일을 지정하면 지정된 부분에 사용하면 페이지가 넘어간다. 즉, html->pdf문서로 변환할 때, 일종의 출력을 하는 것이기 때문에 다음페이지로 넘어가..
Spring이 어떤 빈을 다른 빈에 주입하도록 설정하려면 먼저 두 개의 빈을 설정해야 한다. 하나는 주입할 것이고 다른 하나는 주입을 받을 대상이다. 그렇게 한 다음, 간단히 ref 속성을 대상 빈에 사용하여 주입을..
/* 생략 */ public ConstructorConfusionDemo(String someValue) { System.out.println("string"); } public ConstructorConfusionDemo(int someValue) { System.out.println("int"); } /* 생략 */ 위와같은 생성..
1. 필요한 lib commons-logging.jar ojdbc14.jar postgresql.jdbc3.jar spring.jar tomcat-dbcp.jar 2. 테스트 소스 (1) DataStuff.java (JdbcTemplate를 이용해서 처리) import java.util.List; import javax..
먼저 다음 페이지 이동 특성들을 미리 알아볼 필요가 있습니다 JSP에서는 페이지 이동시 다음 4가지 정도의 방법이 있습니다 ① JavaScript를 이용 window.open, location.href, location.replace 등을 이용할수..
1. bean 생성과 의존관계 설정 스프링은 각 객체를 bean으로 관리한다. 태그는 스프링이 관리할 하나의 객체를 설정하는데 사용된다. 태그의 name속성이 bean의 이름을 의미하고, class속성이 생성될 객체의 클래..
1. 개념 객체 간의 의존 관계를 객체 내부에 선언 또는 정의하지 않고, 외부의 조립기를 이용하여 의존관계를 설명한다는 것 IoC(Inversion of Control)이라고도 함. 2. 예제 1) 직접 선언하는 방법 public class..
- Inversion of Control - 개념 : 객체 간의 의존관계를 객체 내부에 선언 또는 정의하지 않고, 외부의 조립기를 이용하여 의존 관계를 설명<?xml:namespace prefix = o /> - 장점..
Context.xml의 태그 안에 아래 내용 추가 username=”test” password=”test” factory=”org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory” driverClassName=”org.postgresql.Driver” url=”jdbc:postg..
For the past ten years, developers and tech pros have made a game of comparing MySQLand PostgreSQL, with the latter seen by many as technically superior. Those who support PostgreSQL argue that it..
MySQL MySQL은 information_schema가 하나의 데이터베이스로 관리되고 테이블 정보를 담고 있는 "TABLES" 테이블도 실제적인 자세한 정보를 담고 있다. SELECT COUNT(*) cnt FROM information_schema.tables WHER..
sqljdbc4.jar를 다운받은 후 pom.xml에 아래 내용 추가 com.microsoft.sqlserver sqljdbc4 4.0
1. TOMCAT 설치 http://tomcat.apache.org에서 tomcat 다운로드<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> # tar zxvf apache* # mv apache-tomcat-버전(기존 폴더이..
접속 가능한 connection을 의미하는 user connections의 대한 내용은 아래와 같습니다. - 인스턴스 하나 당 설정 가능한 최대값은 32767입니다. - 인스턴스란 CREATE DATABASE 문에 의해 생성된 DB 스키마를 의미..
INSERT INTO TB_USER(USER_NAME) VALUES('young&shin'); 을 실행하면 에러가 발생한다. 이 경우 & 를 || chr(38) || 로 변경하면 된다. INSERT INTO TB_USER(USER_NAME) VALUES('young' || chr(38) || 'shin');
oracle DB 설정 중 아래와 같은 오류 발생. Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 38; 문서 루트 요소 "oraErrorSqlStateSqlExceptionMapping"은(는) DOCTYPE 루트 "null"과(..
create or replace trigger trg_werror_log_history before insert on pc_tb_werror_log_history for each row begin :new.seqid := pc_sq_werror_log_history.nextval; end;
오라클에서는 Long Type이나 CLOB Type 컬럼을 select 할때 getCLOB() 가 구현되지 않았다면서 에러가 난다. 1. jdbc-context.xml ( spring 설정 파일 ) 에 mybatis-config.xml 추가 2. /WEB-INF/spring/mybatis-c..
DB에 youn과 sin 두개의 스키마가 있다. 이 때 youn 스키마의 dept 테이블을 select하기 위해 아래와 같이 쿼리를 했는데 오류가 발생한다. SELECT * FROM youn.dbo.dept; [오류 메시지] sysservers에서 'you..
mybatis에서 parameterType이나 resultType에 VO를 사용하려면 com.abc.project.UserVO 와 같이 경로를 모두 써줘야 해서 불편하다. typeAlias를 이용하여 짧게 변경할 수 있는데 사용법은 크게 2가지가 있다. 1..
오라클에서 트리거를 건 테이블을 UPDATE 할 수 없다. UPDATE를 하기 위해서는 :NEW.컬럼 := '값'; 의 형태가 되어야 한다. 단, 트리거 유형을 AFTER로 하면 안되고 BEFORE로 해야 한다.
1. 오라클 - EE 이상 버전에서 사용가능 - https://docs.oracle.com/cd/E11882_01/license.112/e47877/editions.htm#DBLIC109 2. MariaDB - pk만 파티션으로 분리 가능 ( 날짜단위로 파티션 테이블을 만들려면 pk..
일반적으로 mybatis에서 xml을 mapper하기 위해 아래와 같이 사용한다. 이 경우는 프로젝트 내의 class path를 기본으로 하는 경로이기 때문에 프로젝트 외부를 참조할 수 없다. 프로젝트 외부를 사용하고 싶을 경..
public static SqlSession getSqlSession(String prefix) throws Exception { SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(createSqlMap(prefix)); SqlSession sqlSession = factory.openS..
SELECT 'DROP TABLE ' || object_name || ' CASCADE CONSTRAINTS;' FROM user_objects WHERE object_type = 'TABLE'; 위 쿼리를 해서 나오는 결과를 복사해서 실행
db의 characterSet을 utf-8로 이미 맞춘 상태라면 procedure나 function의 변수에 character set utf8 을 써준다. ex) CREATE FUNCTION foo ( param1 VARCHAR(30) CHARACTER SET utf8 ) RETURNS VARCHAR(30) CHA..
hikaricp(히카리 커넥션풀)은 빠른 속도로 인해 점점 더 주목 받고 있는 커넥션 풀입니다. 공식 홈페이지 : https://github.com/brettwooldridge/HikariCP brettwooldridge/HikariCP 光 HikariCP・A solid, high-..
1. repo 설정 # vi /etc/yum.repos.d/MariaDB.repo [mariadb] name=MariaDB baseurl=http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 2. 설치 # yum i..
Join의 종류와 방식 Join의 종류 ( 논리적 Join ) - INNER Join - OUTER Join - CROSS Join - FULL OUTER Join - SELF Join Join의 방식 ( 물리적 Join ) - Nested Loop Join - 중첩반복 - Merge Join - 정렬병합..
힌트의 사용법 {SELECT | INSERT | UPDATE | DELETE} /*+ hint [text] [hint [text]] ... */ 혹은 {SELECT | INSERT | UPDATE | DELETE} --+ hint [text] [hint [text]] ... - 이러한 힌트의 사용은 SQL 전체가..
[현상 확인] 1. tab_a와 tab_b 테이블로 view를 생성한다. 1 2 3 4 5 6 create view join_tabs as ( select col_x as col_z from tab_a union select col_y as col_z fr..
화장실은 늘 물을 사용하는 공간이기 때문에 항상 습기가 찰 수 밖에 없어요 이 습기를 제때 제대로 제거해 주지 않으면 곰팡이가 금방 생기고 냄새가 진동하기 때문에 화장실 습기 제거가 중요하다고 할 수 있습..
안녕하세요 노루아부지에요! 오늘은 그린웨일 캣폴 후기를 남겨볼까 합니다. 저희집엔 거실에 캣폴이 하나 있지만, 안방에 캣폴을 두면 저희 잘 때 캣폴에 올라가서 저희를 봐주지 않을까? 하는 마음에 구매를 결..
1. archive mode인지 확인 SQL > archive log list; --> database log mode ( 데이터베이스 로그 모드 ) 가 No Archive Mode(아카이브 모드 없음) 인지 확인 2. "Archive Mode" 일 경우 변경방법 2-1. 특정 테이..
개발을 하다 보면 페이징 처리를 위해 아래와 같이 COUNT(*)를 해야 할 때가 있다. SQL) SELECT COUNT(*) FROM [테이블명] WHERE [조건] 이 경우 전체 테이블을 FULL SCAN 할 수도 있고 INDEX SCAN을 할 수도 있..
1. MySQL information_schema가 하나의 데이터베이스로 관리되고 테이블 정보를 담고 있는 "TABLES" 테이블도 실제적인 자세한 정보를 담고 있습니다. 따라서 아래와 같은 쿼리문으로 데이터 존재여부를 알 수 있..
1. 로그를 남기도록 DB 설정을 한다. mysql> SET GLOBAL general_log='ON'; mysql> SET GLOBAL slow_query_log='ON'; mysql> SET GLOBAL log_output='TABLE'; 2. 로그를 확인한다. mysql> SELECT * FROM mysql.gen..
localhost 로 접속하는 경우는 문제가 없지만 IP 로 접속하는 경우에는 DNS 서버의 성능이 떨어지거나 장애가 있는 경우에 DB 연결 시 속도저하가 발생할 수 있습니다. 이 경우 skip-name-resolve를 설정함으로써..
CaseInsensitiveMap (Apache Commons Collections 4.1 API) 으로 리턴
select a.Date from ( select curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a)) DAY as Date from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union al..
일반 SQL 질의의 SELECT 절에의 *는 모든 컬럼을 가지고 오기 때문에 필요한 컬럼만 가지고 오는 SELECT 절에 비해 속도가 느리고 불필요한 자원을 낭비한다는 사실은 모두가 알고 있을 것입니다. 그렇기 때문에..
1. 스케쥴 등록 SET GLOBAL event_scheduler = on; SET @@global.event_scheduler = on; SET GLOBAL event_scheduler = 1; SET @@global.event_scheduler = 1; 또는 my.cnf or my.ini 에 옵션(event_scheduler=On)..
// 아래 스크립트를 실행하면 현재 선택되어있는 줄의 아이디 값을 반환한다 // 만약 선택된줄이 없다면 null을 반환하며 // jqGrid를 만들때 multiselect옵션을 true로 주엇다면 선택된 줄들 중 마지막에 선택된..
1. java List> list = new ArrayList>(); Map tmp = new HashMap(); tmp.put("code1", "A"); tmp.put("desc1", "A"); list.add(tmp); tmp = new HashMap(); tmp.put("code1", "B"); tmp.put("desc1", "B"); list.a..
PURGE BINARY LOGS BEFORE '2009-05-01 00:00:00'; * 1기가 이상의 디렉토리 확인 du -h | grep [0-9]G
CONV(BINARY(CONCAT(setting1, setting2)), 2, 10) oracle = bin_to_num
CREATE DEFINER=`prcsadmin`@`%` FUNCTION `menu_sys_connect_by_path`( `rootId` VARCHAR (50), `langCode` VARCHAR(3) ) RETURNS varchar(1000) CHARSET utf8 LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL SQL..
sever.xml에 JNDI를 사용하게 되면 프로젝트를 서버에 올릴때 마다 server.xml을 수정해줘야 하는 번거로움이 있다. 이럴때 META-INF 폴더를 이용하면 간편하게 JNDI를 이용할수 있다. 1.webapp 폴더 아래 META-IN..
Internet Explorer 8 이하 버전에서 ajax 통신 할 때 No transport라는 에러가 발생 할 경우 $.ajax 윗 줄에 아래와 같은 코드를 추가하면 됩니다. $.support.cors = true;
DELIMITER // CREATE DEFINER=`mcouponbo`@`%` FUNCTION `getMaskPhone`(`v_code` varchar(50)) RETURNS varchar(50) CHARSET utf8 BEGIN declare return_value varchar(50); SET v_code = replace(v_code, '-', '..
DELIMITER // CREATE DEFINER=`mcouponbo`@`%` FUNCTION `getMaskName`(`v_code` varchar(10)) RETURNS varchar(50) CHARSET utf8 BEGIN declare return_value varchar(50); SELECT CASE CHAR_LENGTH(v_code) WHEN..
오라클은 12버전부터 offset과 limit가 추가되었다. 그 이전 버전은 존재하지 않음. 12 이전 버전은 페이징 처리를 직접 해야 함. 1. 12 이전 버전 SELECT * FROM ( SELECT a.*, ROWNUM AS "rnum" FROM ( <사용자..
Use window.location.href As noted in the comments, the line below works but is bugged for Firefox. document.URL 출처 : http://stackoverflow.com/questions/1034621/get-current-url-in-web-browser
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'mes_sys' AND pid <> pg_backend_pid() AND state = 'idle' AND state_change < current_timestamp - INTERVAL '5' ..
1. create ex) ryu / ssf4 mysql> create user 'ryu'@'localhost' identified by 'ssf4'; 2. ryu 유저에게 abc 데이터베이스를 로컬에서만 접속할 수 있게 권한 부여 mysql> GRANT ALL PRIVILEGES ON abc.* TO '..
1. 에러 메시지 /* SQL 오류 (1418): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_..
Ie7에서 append를 사용시 script5022 에러가 발생합니다. ㅡ .html()도 마찬가지.. $("#content")[0].innerHTML = 내용 으로 해결할수있습니다.
1. postgresql.conf listen_address='*' 2. pg_hba.conf host all all 0.0.0.0/0 password 위와 같이 수정했는데 접속이 되지 않는 경우는 # iptables -A INPUT -p tcp --dport 5432 -j ACCEPT 위의 명령어..
출처 : http://voyager.egloos.com/2746558 (8.3.1도 동일한 방법으로 성공하여 업데이트 해둔다) 의외로 간단한 설치방법 같다. 단지 설치할 패스를 미리 지정해주기만 하면 별 무리 없음. 물론 옵션은 여러가지..
1. 해결방법 JDBC 설정에서 defaultStatementTimeout를 삭제합니다. ex) 2. 상세 설명 defaultStatementTimeout 는 모든 JDBC 쿼리에 대한 timeout 시간(초) 지정합니다. 지정하지 않는 경우 timeout 없습니다...
1. mysql 접속 - mysql -u root -p - pw 입력 2. DB change - use mysql; 3. 계정정보 조회 - select host, user, password from user; - 출력결과 +-----------+------+----------------------------..
OS : centos 6.2 DB : postgresql 8.4 1. 현상 postgresql의 data경로를 바꿔서 설치 할 경우에 # service postgresql initdb 를 실행하면 failed(실패)가 떨어지는데 로그가 남지 않아서 원인을 찾을 수 없는 경..
DROP TABLE IF EXISTS server_user; CREATE TABLE server_user ( server_user_id INTEGER NOT NULL AUTO_INCREMENT, server_id INTEGER NOT NULL, customer_user_id INTEGER NOT NULL, reg_date INTEGER NOT NULL,..
2019 런온서울 대회는 월 일, 여의도 공원에서 출발, 도착하는 코스로 운영됩니다. + 는? (숫자만 입력해주세요) 정답은 38 입니다.
출처 : http://www.ehowstuff.com/how-to-fix-an-old-version-of-the-database-format-was-found-while-starting-postgresql/ 아래와 같은 문제가 발생하면 [root@server ~]# service postgresql start An old ve..
-이름 VACUUM 쓰레기 수집기 / 선택적으로 데이터베이스 분석하기 -개요 VACUUM [FULL] [FREEZE] [VERBOSE] [ table] VACUUM [FULL] [FREEZE] [VERBOSE] ANALYZE [ table [ (column [, ...] ) ] ] -설명 VACUUM 은..
1. su - postgres로 들어간다. 2. 경로 : /var/lib/pgsql/data/pg_log로 이동 3. tail -f 파일명 [ex : tail -f postgresql-Mon.log] * 에러가 발생하는 경우만 log가 추가된다.
SELECT schemaname,relname,n_live_tup FROM pg_stat_user_tables ORDER BY n_live_tup DESC; row가 존재하는 table list가 필요하면 where n_live_tup > 0 을 추가한다.