본문 바로가기
반응형

Develop237

[Linux] jdk 버전 여러개 사용하기 개요 가상 컴퓨터(Ubuntu)에서 java 8 버전을 사용하다가 이번에 11 버전도 설치하게 되었다. 다만, 여러 버전을 설치한 경우 환경 변수가 자동으로 바뀌진 않는지, 기존 프로그램들에는 영향이 없을지 등이 마음에 걸려서 찾아보게 되었다. 목차 현재 JAVA 버전 jdk 설치 방법 Alternatives 1. 현재 JAVA 버전 다음 명령어를 통해 현재 JAVA 버전을 확인할 수 있다. $JAVA_HOME의 경우, 엄밀히 말하자면 버전을 확인하는 명령어는 아니고 "JAVA_HOME"이라는 환경 변수에 어떤 값이 들어가있는지 확인할 수 있다. $ java -version //자바 버전 확인 $ $JAVA_HOME // 환경변수 확인 2. jdk 설치 방법 일단 현재 설치되어있는 java 목록부터 알아.. 2021. 4. 14.
[Servlet] HttpServletRequest 이용하기 HttpServletRequest => HTTP 요청 메시지를 편리하게 조회할 수 있게 하는 객체 HTTP 요청 메시지 START LINE - HTTP 메소드, URL, 쿼리 스트링, 스키마, 프로토콜 HEADER - 헤더 조회 BODY - form 파라미터 형식 조회, msg body 데이터 직접 조회 HttpServletRequest 객체의 여러 기능 임시 저장소: 해당 HTTP 요청이 시작 ~ 끝까지 유지 세션 관리 기본 사용 방법 src/main/java/hello/servlet/basic/request에 RequestHeaderServlet.java를 생성했다. @WebServlet(name = "requestHeaderServlet", urlPatterns = "/request-header").. 2021. 4. 9.
[Servlet] 서블릿 프로젝트 프로젝트를 시작하기 앞서 다음 글을 읽어보고 시작했으면 좋겠다. ☞ yeonyeon.tistory.com/80 목차 1. 프로젝트 생성 2. hello servlet 생성 3. html 파일 생성 1. 프로젝트 생성 서블릿을 이용하기 위해서는 Spring이 필요없다. 하지만 내장 톰캣 덕분에 설정하기 편하니까!!! Spring Initializr를 이용해 프로젝트를 생성하겠다. 패키징 형태만 war로 선택하고 나머지 설정은 달라도 상관없다. (나중에 사용해볼 JSP를 위해서는 war 형태를 이용해야 한다고 한다.) Spring Initializr 옵션에 대해 더 자세히 알고 싶다면? ☞ yeonyeon.tistory.com/67 ServletApplication.java를 실행시켜 Spring이 정상적으.. 2021. 4. 9.
[Jenkins] JUnit과 연동 이 포스팅은 다음 가정 하에 작성한다. Jenkins와 프로젝트가 연동되어 있다. (빌드가 가능하다) 프로젝트에 JUnit을 이용한 테스트 코드가 존재한다. 1. JUnit Plugin 설치 먼저 Jenkins에 접속해 Plugin Manager에서 JUnit Plugin을 설치한다. 나는 설치 가능에서 검색하니 안나오길래 설치된 플러그인 목록에 있었다. (젠킨스 설치 세팅에 따라 기본적으로 설치되어있는 듯 하다.) 플러그인을 새로 설치한 경우, Jenkins를 꼭 재시작 해주자. 프로젝트에 JUnit을 이용한 테스트 코드가 존재한다면 1번 과정만으로도 연동이 완료된다. 오류 #1 package org.junit does not exist -> junit 관련 jar 파일을 찾지 못했다. build 파일.. 2021. 4. 6.
[Java] Invalid character found in method name. HTTP method names must be tokens 에러 Invalid character found in method name. HTTP method names must be tokens 에러 에러 발생 상황 : 사내 프로젝트를 로컬로 가져와서 DB 연결 부분은 제거하고 Postman으로 POST 방식의 HTTP 통신 확인 에러 원인 : https가 활성화되지 않았는데 https에 요청을 하는 경우 에러 해결 - HTTP 통신 시 https://~~~를 http://~~~로 수정 사내 프로젝트는 정식적으로 서비스 되다보니 postman에서도 당연히 https로 통신을 했었다. 이걸 로컬로 가져온 뒤에 로컬 톰캣이랑 연동해서 테스트를 시도했었고, 로컬에는 ssh 설정 같은건 한 적이 없으니 당연하게도!! 오류가 떴다ㅠㅠ 이외에도 포트번호를 내가 설정한 것이 아닌.. 2021. 4. 6.
[Jenkins] Sonarqube와 연동 들어가기 전에... Jenkins, SonarQube, Git, Ant Project를 사용하고 있다. Maven, Gradle Project을 다루고 있는 사용자는 3번 과정을 생략하고 마지막의 Jenkins에 프로퍼티를 추가하는 방법을 사용하면 된다. (3번이 빌드 파일을 수정해야하는 부분인데 빌드 파일을 다루는 방법이 모두 다르기 때문.) 물론 Maven이나 Gradle도 빌드파일을 수정하는 방법을 이용할 수 있으나, 본 포스팅에서는 다루지 않는다. 기존에 Jenkins와 GitHub 연동한 것은 다음과 같다. GitHub에 소스코드 commit & push 소스 코드의 변화 감지 후 Jenkins로 Webhook 발생 소스 pull -> build -> deploy 이제 SonarQube를 연동해.. 2021. 4. 5.
테스트 종류와 도구 여태껏 Jenkins를 이용해 빌드, 배포하는 방법에 대해 스터디했다. 이제는 다른 테스트 도구를 연동해 테스트 후에 빌드, 배포하도록 설정하려고 한다. 그 전에 테스트는 어떤 종류가 있는지, 자주 쓰는 도구는 무엇인지 알 필요가 있어 정리한다. 테스트 방법은 크게 두 가지로 나뉜다. 정적 분석: 소스 코드를 실행하지 않고 분석 동적 분석: 소스 코드를 실행하며 분석 정적 분석 도구에는 대표적으로 pmd, SonarQube, cppcheck, checkstyle 등이 있다. (이후에 Jenkins랑 연동은 pmd와 SonarQube를 이용해보겠다.) 소스 코드를 실행시키지 않고 코딩 표준 준수 여부, 코딩 스타일 적정 여부 등을 판단한다. 정적 분석 도구 종류 ▼ 더보기 PMD 미사용 변수, 비어있는 코.. 2021. 3. 31.
웹 어플리케이션에 대해 Spring MVC는 백엔드 개발에 필요한 수많은 기능을 제공하고 있으나, 기능이 너무 많아서 학습이 어렵다. 이를 다 이해하고 활용하려면 웹 어플리케이션이 어떠한 과정으로 발전해왔는지 이해할 필요가 있다. 웹은 HTTP 기반으로 통신한다. HTTP란 무엇일까? 거의 모든 형태의 데이터를 주고 받을 수 있는 프로토콜 (JSON, XML, 이미지, 파일, 영상, 텍스트, ...) 서버간 데이터를 주고 받을 때도 사용 웹 시스템의 구성 WAS, DB: WAS가 너무 많은 역할을 함. WAS에 장애나면 오류 화면조차 못봄 WAS, Web server, DB: 정적 리소스는 웹이, 중요한 로직 처리는 WAS가 전담. -> 효율적! WAS 장애 나도 오류 화면 출력이 가능해진다. Web server와 WAS는 개.. 2021. 3. 25.
[Java] MessageFormat 로직을 살펴보고 있었는데 MessageFormat.format() 통해서 url 주소에 자꾸 무슨 작업을 한다. 이게 대체 뭔 뜻인가 찾아봤더니 여러 데이터를 하나의 양식으로 통일시킬때 많이 사용한다고 한다. (내가 본 작업 ex: yeonyeon.tistory.com/73에서 yeonyeon.tistory.com은 공통이지만 73이라는 게시글 번호는 고유하다. 게시글 번호 외에도 다른 데이터들을 한꺼번에 url에 넣어줘야 할 때, format()을 이용하면 편리하다.) MessageFormat 데이터를 정해진 양식에 맞게 출력할 수 있는 클래스 예제 코드 public class FormatTest { public static void main(String[] args) { String pattern =.. 2021. 3. 22.
반응형