본문 바로가기
반응형

전체 글253

jsonschema2pojo 사용하기 json데이터를 자바 클래스로 https://api.stackexchange.com/2.2/users?order=desc&sort=reputation&site=stackoverflow json 데이터를 아래 처럼 붙여 놓고 옵션 잘 선택하고 "Preview"를 클릭. 아래 처럼 자바 클래스로 변신~ 복사해서 자바 프로젝트에 class로 사용~ 2022. 5. 16.
나는 공부 중 Reactive Streams 첫 번째 우연히 MSA를 공부하다가 도서관에서 RxJava를 알게됨. RxJava 책을 빌려보다가 Reactive 프로그래밍에 대해 알게 됨. 리액티브 스트리밍, 리액티브 프로그래밍, 함수형 프로그래밍, 비동기, 백 프레셔, 논블록킹 ... 어디선가 지나치듯 들어봤고 Node.js 하면서 비동기 처리도 얼릿 들어보고 대충 이곳저곳 기웃거리며 조금 안다고 생각했는데 현실은 모르고 있었네요. "사건1" 제 기준에서 엄청난 량의 데이터를 뽑는 유저들이 있었습니다. 20만건 정도의 로우인데 컬럼이 50개가 넘고, 쿼리도 꽤 복잡했습니다. 그런데 조회를 하면 10 ~ 30분 정도 넘게 걸리면서 WAS가 먹통이 되더라고요. 모니터링 툴을 보며 돌려보니 힙이 80% 이상 차고 원래대로 돌아가지도 않고... WAS 메모리를 늘.. 2022. 4. 27.
RestTemplate Rest Api 호출해보기 스프링 버전에 따라 조금씩 사용법이 다르다. 최대한 심플하게 서버와 클라이언트를 만들어서 테스트를 해보며 기능을 확장하는 방법이 공부하기 좋다. 1. Rest Server를 하나 만들고. 멤버 VO하나 만들어 20개 정도 자료가 나오도록 만든다. 2. 잘 돌아가는지 확인해보기 크롬 API 툴로 사용해보니 잘나온다. 그러면~~~~ 이제 이클립스로 스프링 프로젝트를 만들어서 테스트 RestTemplate restTemplate = new RestTemplate(); ResponseEntity entity = restTemplate.exchange("http://codev.lgchem.com:8080/member", HttpMethod.GET, null,new ParameterizedTypeReference(.. 2021. 12. 8.
자바 SMTP 메일 송신 기능 구현. 파일 첨부 포함 이번 프로젝트에서는 SMTP 메일 송신 기능 구현이 필요했다. 3년 전 프로젝트에서 PDF를 만들고 그 파일을 메일에 첨부해 송신하는 요구사항이 있어서 구현했었는데 소스를 보관하지 않아 다시 만들어 봤다. 별 특별한 것은 없지만 회사내 개발자 PC와 메일시스템 포트를 막아버려 승인된 서버에서만 SMTP 발송이 가능하게 해놓았으므로 네이버 계정으로 개발을 했다. 구글도 가능하겠지. 프론트에서 Controller를 호출. 메일 발신 기능을 이용할 경우는 파일 첨부 방식이 약간 다를 것이다. 난 서버에 파일을 특정위치에 올려 두고 File 객체를 사용한다. 훗날 타 프로젝트 수행 시 같은 요구사항 들어오면 소스만 복붙해서 끝낼 마음으로 포스팅한다. 웹어플리케이션 서버, 자바버전 마다 mail.jar 문제가 있.. 2021. 7. 18.
메서드 축출 기법(extract method) 책장 구석에 꽃혀 있는 토비의 스프링책을 무심히 쳐다본다. 책을 입수한 후로 열심히 봤는데 안본지 3년은 지난 듯하다. 아무 기대 없이 첫 장을 읽다보니 두장, 세장... 계속 페이지를 넘기게 된다. 첫 번째 예제를 옮겨본다. //변경 전 public class UserDao { public void add(User user) throws ClassNotFoundException, SQLException{ Class.forName("org.mariadb.jdbc.Driver"); Connection c = DriverManager.getConnection( "jdbc:mariadb://127.0.0.1:3306/redmango", "root", "1234"); PreparedStatement ps = c.. 2019. 9. 17.
메이븐 설정 하기 메이븐 웹사이트에서 다운로드 이후 메이븐이 다운받을 jar 폴더 지정 이클립스 설정 끝 2019. 4. 13.
Intelij 스프링 프로젝트 시작하기(초기 셋팅) 정리를 해놔야지 하면서도 잊어버린다. 인텔리J도 버전이 바뀌면서 조금씩 달라지는 것 같다. 예전에는 스프링 프로젝트 템플릿을 사용하면 이클립스 처럼 한방에 내가 원하는 만큼의 구조가 나왔는데 요즘은 메이븐 및 web 구조 등을 만들어야 하는 것 같다. 1. New Project 에서 Maven을 선택한다. 2. 메이븐 pom에 들어갈 groupid, arifactid 등을 입력해준다. 3. 별거 없음 다음 4. 전 단계에서 Finish를 클릭하게 되면 아래 화면이 나오게 된다. Enable Auto Import로 선택한다. 5. Project Structure => Facets 메뉴로 이동해 Web 폴더 관련 패스를 잡는다. 위의 순서대로 클릭을 하게 되면 아래 처럼 폴더 패스를 잡는 화면이 곧 바로 나.. 2019. 2. 10.
이클립스에서 SVN 안붙여질때 수동으로... 아래 주소로 다운 받는다. 1.http://community.polarion.com/projects/subversive/download/eclipse/4.0/update-site/2.http://download.eclipse.org/technology/subversive/4.0/update-site/ 2019. 2. 2.
이클립스 jee(2018-12) 스프링 레가시 프로젝트 생성 방법 얼마 후 프로젝트가 종료 된다. 요즘 여유가 생겨 집에서 스프링을 셋팅해 놓고 평소 관심있던 기능들을 사용해보고 싶어 이클립스 및 메이븐, DB 등을 셋팅 하려 하는데... 스프링 sts 부트만 뜬다. 이거 어찌 된인지... 결국 잔머리를 굴려 혹시....? Help -> insall New Software 메뉴에 들어가 'spring'을 입력하니까 아래 왠지 Resource / Spring IDE를 설치하면 될 듯... 설치를 한 후, File -> New 로 wizard 메뉴를 보니 반가운 메뉴 스프링 레가시 프로젝트 항목이 보인다. 선택 후, Next를 누르니까 Spring Mvc 및 Maven이 보이네...^^* 최근 추세는 스프링 부트로 심플하게 백단을 개발 및 서비스를 하고 View(프론트) .. 2019. 1. 15.
반응형