목록Java (18)
지석이의 일기

처음부터 이클립스를 쓰면 된다는 말에 이때까지 이클립스 무료툴을 써왔다. 이번에 일이 있어서 1년치를 받았다. 이제부터 이클립스 대신에 인텔리를 써보자. 각 툴의 장단점은 아래와 같다. Eclipse 장점 오픈 소스: 무료임. 플러그인 시스템: 다양한 플러그인을 설치 및 기능을 확장가능. 넓은 언어 지원: Java 외에도 C, C++, Python 등 여러 언어 지원. 산업 표준: 장기간 업계를 독주한 탓에 대부분의 기업이 그냥 이클립스 씀. 단점 UI/UX: 인터페이스가 낡았다는 평가를 받기도 하며, 때때로 비직관적일 수 있음. 성능 문제: 큰 프로젝트에서는 성능 저하가 발생할수있음. IntelliJ IDEA 장점 직관적인 인터페이스: 깔끔하고 직관적인 UI/UX를 제공. 스마트 코드 완성 및 리팩토링..
요즘 mybatis외에 다른 tool을 사용해서 DB작업을 한다고하여 JPA를 사용해보기로 하자. 결론적으로 말하자면, CRUD 쿼리 없이 메소드명으로 쿼리를 예상(?)하여 api통신을 한다고 보면 된다. mybatis에 특화 되어있고, 쿼리작성에 능숙하면 솔직히 mybatis가 더 편하기도 하다... 또한 복잡한 통계나 계산 쿼리에는 오히려 성능이 떨어질수도 있다. 1. JPA(Java Persistence API)란 반복적으로 수행되는 CRUD 기능 처리에 특화되어있다. 자바 개발자들이 데이터베이스를 더 쉽게 다룰 수 있도록 도와주는 자바 기반의 ORM(Object-Relational Mapping) 기술 ORM은 개체(객체)와 관계형 데이터베이스 간의 매핑을 처리하는 기술로, 개발자가 SQL 쿼리를..

로그백은 왜 하는걸까? 로깅을 통해 개발자는 개발 과정 혹은 개발 후에 발생할 수 있는 예상치 못한 애플리케이션의 문제를 진단할 수 있고, 다양한 정보를 수집할 수 있다. 사용자들의 이동 분석도 할 수있다. 또한 각 단계별로 위험도 등급을 나누어 파일로 적재할수도있다. 하지만 무분별하게 로깅을 난발하면 과유불급이다. 일단 로깅을 설치하고 어디 어디에 로깅 파일을 넣어야하는지 확인해보자. 이번 시간에는 SLF4J 의 구현체 Logback 을 사용해서 로깅을 구현해보겠다. 로그백 초간단 사용 스프링부트에서는 기본적으로 내장이 되어있고, 구현체이다 보니 그냥 별도의 초기화 없이 바로 사용이 가능하다. 이런식으로 클래스 전역 변수로 전언하고, @Controller public class HomeControlle..

지난 시간에 DB 연결을 공부해봤다. 이번에는 DB를 연동뒤, DB에서 데이터를 조회하여, 화면에 뿌리는 과정까지 공부해보자. 1. Back단 생성 기본적으로 트랜잭션을 만들 컨트롤러를 생성하자. 컨트롤러단 @autowired 로 서비스와 연결하자. 매개변수에 Model클래스를 넣어주자. 기본적으로 해당 메소드에 저걸 넣지 않는다고 해도 해당 클래스로 뷰로 데이터를 끌고 간다. Model 클래스에 addAttribute 메소드로, ("변수명",데이터) 로 화면단에 데이터를 보낼수있다. 서비스단 @autowired로 맵퍼를 설정하자. 서비스 클래스는 단순히 중간 연결책이지만, 서비스 클래스에서 데이터를 정재한다. 맵퍼단 interface 맵퍼 생성한다. 인터페이스인 만큼 아무것도없다. mybatis밑에 맵..

저번에 만든 SpringBoot 프로젝트와 MysqlDB를 서로 연결해보자. 1. 의존성 주입 의존성 주입을 위해 pom.xml을 수정해준다. mysql 외에 mybatis를 사용하기위에 2개를 넣어준다. https://mvnrepository.com/ 에서 검색하여, 제일 사용량이 많은걸로 해준다. org.mybatis.spring.boot mybatis-spring-boot-starter 2.3.0 com.mysql mysql-connector-j runtime 위 두개 의 dependency를 pom.xml에 넣어준다. mysql-connector-java = JAVA 가 MySQL과 통신할 수 있게하는 드라이버 mybatis-spring-boot-starter = Spring Boot 용 Myba..

1. 파일 다운 및 설치 서버에 먼저 mysql을 설치한다. mysql 홈페이지에서 rpm파일을 서버에 직접 다운 받자 url : https://dev.mysql.com/downloads/repo/yum/ 필자는 리눅스버전 6으로 진행했다. 리눅스 버전에 맞게 선택한뒤 하단의 다운로드 버튼의 url을 기억하자. wget 명령어로 해당 다운로드 버튼 url 을 입력해준다. $ wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm 해당 파일이 현재의 커서위로 다운로드 되는데, 다운 받은 rpm파일을 yum localinstall "패키지"를 통해 설치한다. $ sudo yum localinstall mysql80-community..

지난 시간에 서버에 프로젝트를 올려 프로젝트를 구동하는 글을 상세히 작성했는데 수정 저장중에 티스토리 에러인지 뭔지 저장후에 데이터가 전부다 날아가버렸다... 서버 내에 java 버전을 확인해보자 일반적으로 내가 이전에 설치한적이 없다면 상관없지만 한번 체크하고 넘어 가도로고 하자. 1. java -version 을 타이핑 하여 현재 상황을 확인하자. java가 설치되어있지 않다면 java라는 용어가 무엇인지도 모르는데 해당 현상이 정상이므로 다음 단계를 진행하자. 2. yum을 통해 설치 할수있는 java버전을 확인한다. yum list | grep java 를 타이핑 하여 현재 설치가 가능한 패키지를 검색하자. 이중에 openjdk 1.8버전을 설치하자. 이름을보면 java-1.8.0-openjdk...

서버를 할당받고 뭔가 작업을 해도 서버에 올릴 내용물이 필요하다. 이번엔 1. JAVA언어를 사용하여 Spring boot 프레임워크를 사용하여 프로젝트를 사용하고 2. 해당 프로젝트를 WAR로 압축후, 다음단계를 볼까 1. Spring boot 프레임워크를 사용하여 프로젝트 생성. Tool은 이클립스를 사용하였다. 일단 프로젝트를 생성하자. 프로젝트중 우클릭 -> new -> other 이후, spring을 검색 하여 spring 프로젝트를 생성해보자. 추후에 프로젝트는 war로 압축할것이므로 packing은 war로 설정하고 혹시 모르니 web 의존성주입을 하고 가자. 그다음은 쭉 next로 넘어가자. 다음과 같은 구조로 되어있는데. 프로젝트를 구동하기 위해 임의적으로 테스트 컨트롤러를 만들고 테스트..