[Spring] SEO 적용하기
·
프레임워크/SpringMVC
SEO 란 Search Engine Optimization 의 약자로 검색엔진 최적화하는 방법입니다. Spring 은 SSR(Server Side Rendering) 방식이기 때문에 간단한 설정으로 SEO 가 가능합니다. 우선 index 페이지에 meta 태그들을 추가해야 합니다.위와 같이 robots follow 를 설정해주고, 알맞은 URL 과 사이트 설명을 작성합니다. 이후 프로젝트 최상위에 robots.txt 파일을 추가합니다.User-agent: *Allow: /위와 같이 설정하면 robot 이 자동으로 수집하여 검색 우선순위를 높여줍니다. 좀 더 자세한 리포트를 보고 싶다면 Naver 의 Search Advisor 를 이용하면 될 것 같습니다.
[윈도우] Window10 chocolatey 설치
·
기타
초콜레티는 윈도에서 사용할 수 있는 패키지 매니저입니다. 명령어를 통해 다양한 프로그램들을 받을 수 있게 해주는 도구입니다. 이 글에서는 설치 방법과 간단한 사용법에 대해 설명하겠습니다.1. Powershell 실행윈도우의 Powershell을 관리자 권한으로 실행합니다.  2. 명령어 입력powershell 창에서 아래 명령어를 입력합니다.'Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient). ..
[Oracle] 오라클 모든 테이블과 컬럼 조회하기
·
데이터베이스/오라클
오라클 DB 에서 찾고자 하는 칼럼명을 사용하고 있는 테이블을 간단하게 조회하는 방법과 테이블 락세션을 확인하는 방법에 대해 알아보겠습니다. 1. 테이블모든 테이블 : ALL_TABLES사용자 테이블 : USER_TABLESDBA 테이블 : DBA_TABLES [관리자 계정]모든 칼럼 조회 : ALL_TAB_COLUMNS 2. 컬럼명으로 테이블 찾기SELECT *FROM ALL_TAB_COLUMNSWHERE COLUMN_NAME = '컬럼'3. 테이블의 모든 칼럼명 가져오기SELECT *FROM ALL_TAB_COLUMNSWHERE TABLE_NAME = '테이블';4. 테이블 락 확인SELECT SID , A.SERIAL# , LAST_CALL_ET , A.USERNAME ..
[Spring] GET 방식 특수문자 처리하기(The valid characters are defined in RFC 7230 and RFC 3986)
·
프레임워크/SpringMVC
GET 방식으로 URL 요청 시, 특수문자를 포함하면 "The valid characters are defined in RFC 7230 and RFC 3986"과 같은 오류가 발생하기도 합니다. 해당 이슈는 특정 버전 이상의 Tomcat을 사용하면 문제 발생하지 않지만 낮은 버전의 Tomcat에서는 종종 발생합니다. 해결 방법은 server.xml relaxedQueryChars 속성을 추가하는 방법입니다.1. Tomcat 에 추가(server.xml) 위와 같이 relaxedQueryChars 속성을 이용해 특수문자를 처리할 수 있습니다. 2. application.yml 파일에 추가server: tomcat: relaxed-query-chars: '[,],{,},(,),^,|,"' rel..
[Java] JVM GC 프로세스
·
프로그래밍 언어/Java
GC(Garbage Collection) 이란 더이상 사용하지 않는 객체를 메모리에서 삭제하는 작업입니다.GC 의 처리과정을 이해하려면 우선 JVM 메모리 구조에 대해 알 필요가 있습니다.  JVM 의 동작 과정은 아래와 같습니다.1. Java Compiler 에 의해 .Java 파일은 Byte Code(.class) 파일로 변환됩니다.2. JVM 의 Class Loader 는 Byte Code(.class) 파일을 JVM 내로 로드하고 Link 작업을 통해 일련의 작업을합니다.3. 이후 실행 엔진을 통해 Byte Code 들을 명령어 단위로 실행시킵니다.  위 구조로 인해 JVM은 OS와 플랫폼 종류에 의존적이지 않고 독립적으로 Java 프로그램이 실행됩니다. 또한 자동으로 메모리 관리를 해주는데 아래..
[Spring] @Value null 확인사항
·
프레임워크/SpringMVC
application.yml 파일에 설정값을 입력하고 @Value 를 통해 데이터를 가져오는 방식에서, 값을 제대로 설정하였음에도 Null 값을 불러오는 경우가 종종 있습니다. 그럴 땐 @Value 를 작성한 Service 를 new 로 호출하지 않았는지 확인할 필요가 있습니다. 기본적으로 Spring 은 DI 컨테이너가 @Autowired 나 @RequiredArgsConstructor 를 통해 인스턴스를 싱글톤으로 유지합니다. Spring 이 실행될 때, @Value 값이 맵핑된 상태로 인스턴스가 유지가 되던중 new 를 만나게 되면 새로운 인스턴스를 생성해 @Value 값이 맵핑된 변수는 Null 이 됩니다. # application.ymlspring: file: profile-path: f..
[Git] 신규파일 Stash 추가
·
도구 및 환경/Git
기본적으로 stash 를 사용하면 새로생성한 파일들은 포함이 되지 않습니다. 아래 명령어를 통해 신규파일도 stash 에 포함시킬 수 있습니다.git stash --include-untracked
[Eclipse&IntelliJ] 단축키 모음
·
도구 및 환경/IDE
유용한 단축키 모음입니다. 계속해서 추가로 작성할 예정입니다.Eclipse메서드 참조 찾기 : Ctrl+Shitf+G미사용 메서드 삭제 : Ctrl+Shitf+O소스 정렬 : Ctrl+Shitf+F소스이동 : Alt+방향키  IntelliJ소스정렬 : Ctrl+Alt+L미사용 메서드 삭제 : Ctrl+Alt+O전체바꾸기 : Ctrl+Shift+R전체검색 : Ctrl+Shift+F메서드 참조 찾기 : Alt+F7소스이동 : Ctrl+Alt+방향키
[Postman] 주석 사용법
·
기타
Postman 을 사용하다보면 Body 에 주석을 달고 싶을때가 있습니다. 그럴땐 Pre-req 탭을 통해 아래 스크립트를 작성하면 됩니다.if (pm?.request?.body?.options?.raw?.language === 'json') { const rawData = pm.request.body.toString(); const strippedData = rawData.replace( /\\"|"(?:\\"|[^"])*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g, (m, g) => g ? "" : m ); pm.request.body.update(JSON.stringify(JSON.parse(strippedData)));}  아래처럼 reque..
[SpringBoot] Mybatis Batch Update
·
프레임워크/SpringBoot
Spring + Mybatis 사용 시, @Mapper를 사용해 Auto Commit을 한다면 1 row를 insert 할 때, 1번의 Transaction 이 발생하게 됩니다. 이는 DB의 과도한 Transaction을 발생시켜 문제를 야기하기도 합니다. 이를 해결하기 위해 1,000건씩 잘라 Update 하는 방법에 대해 간략히 알아보겠습니다. 1. SqlSessionFactory 주입@Autowiredprivate SqlSessionFactory sqlSessionFactory; 2. ExcutorType 작성SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH); 3. 1000건씩 Batch Updateint cursor..
제로빈
'분류 전체보기' 카테고리의 글 목록 (11 Page)