분류 전체보기 178

검색 봇 웹페이지 수집 허용/제한 설정

프로젝트 최상단에 robots.txt 파일을 생성한 후 다음과 같이 설정한다. * 다른 검색 엔진 로봇 수집 거부 / 특정 검색 로봇 (네이버 검색 봇) 수집만 허용하기 User-agent: * Disallow: / User-agent: Yeti Allow: / * 모든 검색 엔진 로봇에 대해 수집 허용하기 User-agent: * Allow: / * 사이트의 루트 페이지만 수집 허용하기 User-agent: * Disallow: / Allow: /$ * 개인 정보 페이지는 검색 허용하지 않기 (/private/ 경로가 개인 정보 페이지 일경우) User-agent: Yeti Disallow: /private*/ * 모든 검색 허용하지 않기 User-agent: * Disallow: /

개발 2020.11.29

mybatis bulk insert 쿼리

mybatis를 사용하다 보면 성능을 위해 bulk insert를 사용할 때가 있다 bulk insert 쿼리는 다음과 같다. INSERT INTO test_table(name, age, register_date, modify_date) VALUES (#{map.name}, #{map.age}, #{map.register_date}, #{map.modify_date}) 저장할 데이터를 List에 담고 foreach를 사용하여 insert문을 만들어 한번에 저장하는 방법이다. 한번에 너무 많은 데이터를 저장하려고 하면 성능상 문제가 생길 수 있으므로 대량으로 insert 할 경우 보통 1,000건 정도로 잘라서 저장한다.

개발 2020.11.29

안드로이드 usb디버깅 크롬으로 확인하기

안드로이드 폰에서 먼저 설정 > 개발자 모드 > usb 디버깅 모드 활성하를 진행해야 한다. usb와 안드로이드 폰을 연결 후 크롬브라우저에 아래 주소를 입력한다. chrome://inspect/#devices 폰이 연결되면 Shared Workers에 핸드폰 기종이 표시된다. 안드로이드 폰에서 어플리케이션을 가동하면 Other 영역에 디버깅을 확인할 수 있는 UI가 표시된다. 만약 어플리케이션에서 디버깅모드가 꺼져있을 경우에는 디버깅을 확인할 수 없다.

개발 2020.11.29

스프링 properties profile 적용하기

개발 환경에 따라 properties 값이 다른 경우 하나의 properties 파일을 사용하기 보다 profile별로 구분하여 사용하는 방식이 좋다. properties파일명 뒤에 profile 명을 다음과 같이 설정한 후 vm options에 다음과 같이 사용할 프로파일을 지정하면 해당 properties를 읽어서 사용할 수 있다. 먼저 @Configuration 어노테이션을 선언한 설정 클래스에서 프로퍼티를 읽을 수 있도록 설정을 추가한다. @Profile("prod") @Bean public static PropertySourcesPlaceholderConfigurer prodProperties() { PropertySourcesPlaceholderConfigurer configurer = new..

개발 2020.11.29

자바 배열 자르기 subList의 문제점과 해결 방법

자바에서 리스트를 담을 때 주로 List를 사용하는데 리스트의 원소를 잘라서 사용해야 할 경우에 subList 함수를 사용한다. 이때 subList를 사용하여 자른 원소를 사용하다 보면 메모리 누수가 발생할 수 있다. List list = Lists.newArrayList(1,2,3,4,5); list.subList(0, 2); ArrayList의 List는 자신이 생성된 부모(parent) 객체 정보를 가지고 있기 때문에 불필요한 메모리를 점유하기 때문이다. 이를 방지 하기 위해서는 Lists.newArrayList 안에 subList한 배열을 넣어서 따로 리스트를 생성하면 된다. List list = Lists.newArrayList(1,2,3,4,5); List newList = Lists.newA..

개발 2020.11.29

인텔리제이 .gitignore 사용하기

인텔리제이에서 git을 사용하다 보면 제외하고 싶은 디렉토리나 파일이 있을 때 gitignore에 추가하면 된다. 아래 내용을 복사한 후 프로젝트 최상단에 .gitignore로 파일명을 추가한다. 그리고 제외하고 싶은 디렉토리를 하단에 추가해주면 끝!! # Created by https://www.gitignore.io/api/windows,intellij,java ### Windows ### # Windows image file caches Thumbs.db ehthumbs.db # Folder config file Desktop.ini # Recycle Bin used on file shares $RECYCLE.BIN/ # Windows Installer files *.cab *.msi *.msm *..

개발 2020.11.29

js/css 파일 캐시 방지 처리

웹 개발을 하다보면 css나 js 파일을 수정할 경우 브라우저 캐싱때문에 바로 적용이 안되는 경우가 있다. 특히 상용에 문제가 생겨서 수정하였는데 바로 수정된 파일이 반영이 안된다면 문제는 점점 더 커진다. 이를 방지 하기 위한 간단한 방법은 css/js 파일 뒤에 파일명을 변경해주는 방법이 있다. css, js 파일 뒤에 ?version=날짜시간 을 텍스트로 추가하여 주면 브라우저 캐싱을 피할 수 있다.

개발 2020.11.29