html 특수 문자 (> < &) 자바스크립트로 치환하기 개발을 하다보면 특수문자가 HTML 엔티티로 표기되어 치환이 필요한 경우가 있습니다. 아래 처럼 간단하게 Jquery를 사용해서 처리하는 방법이 있는데 이 방법은 XSS공격에 취약해서 다른 방식을 사용해야 합니다. 1. jquery를 이용한 변환 방법 (XSS 공격에 취약함) $('').text('> 특수문자 처리 ([\S\s]*?)/gmi, ''); str = str.replace(/ 개발 2021.04.28
인텔리j 검색 오류(find in path) 해결 방법 인텔리j를 업데이트 or 잘 사용하다가 갑자기 find in path 로 검색이 안되는 현상이 발생할 때가 있습니다. 프로젝트를 가져올 때 file indexing 과정에서 오류가 발생해서 정상적으로 검색을 할 수 없기 때문입니다. 해결 방법은 File > Invalidate Caches > Invalidate and Restart 를 클릭한 후 인텔리j를 다시 실행하면 정상적으로 검색을 할 수 있습니다. 개발 2021.04.20
HikariCP 튜닝하기 (too many connections 오류 해결) HikariCP를 기본 설정으로 넣고 사용 할 경우에는 DB에서 too many connections 에러가 발생할 수 있어 설정 값을 변경해야 합니다. HikariConfig hikariConfig = new HikariConfig(); hikariConfig.setMinimumIdle(10); hikariConfig.setMaximumPoolSize(10); hikariConfig.setConnectionTestQuery("SELECT 1"); hikariConfig.setPoolName(poolName); hikariConfig.setDriverClassName(this.driverClassName); hikariConfig.setJdbcUrl(jdbcUrl); hikariConfig.setUser.. 개발 2021.04.07
apache nginx 전환하기 - 설정 옮기기 apache를 nginx로 전환할 때 설정을 쉽게 옮길 수 있다. 1. 파일 다운로드 wget https://github.com/nhnc-nginx/apache2nginx/zipball/master -O nhnc-nginx-apache2nginx.zip 2. 압축해제 unzip nhnc-nginx-apache2nginx.zip 3. 의존 파일 설치하기 yum -y update yum -y install gcc yum -y install zlib-devel yum -y install make 4. 컴파일 및 설치하기 cd nhnc-nginx-apache2nginx ./configure --prefix=/usr/local/apache2nginx make && make install export PATH=/u.. 개발 2021.02.09
자주 사용하는 도커 명령어 1. 도커 실행 docker run -i -t --name oldcentos centos:7 2. 도커 컨테이너에서 나오기 - 컨테이너 정지하면서 나오기 : exit 또는 Ctrl + D 3. 도커 이미지 내려받기 docker pull 이미지명 4. 도커 이미지 목록 확인하기 docker images 5. 컨테이너 목록 확인하기 docker ps -a 6. 컨테이너 이름 변경하기 docker rename oldCentos newCentos 7. 컨테이너 삭제하기 docker rm -f 컨테이너이름 8. 도커 볼륨 - 생성 : docker volume create --name myvolume - 조회 : docker volume ls - 마운트 : docker run -i -t --name newCento.. 개발 2021.02.09
톰캣 메서드 제한 설정하기 톰캣으로만 웹 서비스를 하는 경우에 아래와 같이 설정을 하면 특정 메서드를 제한할 수 있다. * PUT, DELETE, TRACE 메서드 제한 설정 예 vi /usr/local/tomcat/conf/web.xml Forbidden Forbidden /* PUT DELETE TRACE OPTIONS 설정 후 해당 메서드로 호출하면 제한된 것을 확인할 수 있다. 개발 2020.11.29
자바 파일 업로드 NIO 방식 처리 파일 업로드는 보통 IO방식으로 처리하는데 경우에 따라서 NIO방식을 사용하는 경우가 있다. Nio 방식은 채널방식으로 양방향 입출력이 가능하고 복수 개 단위의 버퍼를 사용해서 입출력 속도가 빠르다. private static void useNormalIO() throws Exception { File file = new File("/home/developer/test.iso"); File oFile = new File("/home/developer/test2"); long time1 = System.currentTimeMillis(); InputStream is = new FileInputStream(file); FileOutputStream fos = new FileOutputStream(oFile).. 개발 2020.11.29
concurrentmodificationException 해결방법 concurrentmodificationException 은 iterator가 돌고 있을 때 데이터 변경이 일어나면서 발생한다. 다음과 같은 코드에서 이 오류가 발생한다. for (IssueUser issueUser : user.getIssueUsers()) { user.removeIssue(issueUser.getIssue()); } public void removeIssue(Issue issue) { Iterator iterator = this.issueUsers.iterator(); while (iterator.hasNext()) { IssueUser issueUser = iterator.next(); if (issue.getId().equals(issueUser.getIssue().getId()).. 개발 2020.11.29
index.html 이 {}으로 표시될때 스프링 프레임워크를 처음 설정할 때 index페이지에 접근해도 {}으로 표시되어 당황할 수 있다. 이런 현상이 발생한 이유는 뷰 설정이 프레임워크에 없기 때문에 발생한다. 설정 클래스에 뷰 설정을 추가하면 정상적으로 index 페이지가 표시된다. @Bean public ViewResolver viewResolver() { // jsp를 처리하는 viewResolver InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); viewResolver.setOrder(1); viewResolver.setPrefix(VIEW_RESOLVER_PREFIX); viewResolver.setSuffix(VIEW_RESOLVER_SU.. 개발 2020.11.29