본문 바로가기
반응형

프로그래밍/Java-토이프로젝트6

서버 상태 확인 시각화 툴(vmstat,sar와 같은 명령어의 결과 차트화)-1【전체구조와 설계】 1. 문제 인식 요즘에는 서버의 상태를 모니터링하는 툴이 잘되어있어서 한눈에 실시간으로 버서의 부하를 확인하는 것도 가능합니다. 하지만 때때로 서버에 직접 접속해서 상태확인 커맨드를 통해 서버의 상태를 확인해야하는 경우도 있습니다. 서버 모니터링 툴을 도입하지 못하는 소규모의 기업 또한 서버의 상태확인 커맨드를 통해서 서버의 상태를 확인합니다. 이제부터 이야기할 사례는 회사에서 맡은 업무중 특정 API를 신규서버에 마이그레이션할때 일어난 일입니다. API를 배포한 후 기능테스트에서 결합테스트까지 마치고나니 부하테스트라는 한가지 과제가 남아 있었습니다. 부하테스트는 Jmeter라는 툴을 사용해서 API에 리퀘스트를 많이 보내서 부하를 주었고, 부하를 주는 타이밍의 서버상태를 확인하면 되는 작업이었습니다. .. 2021. 7. 12.
데이터 출력(DB -> json,xml등) 프로그램-3【XML출력】 지난 포스트에 이어서 이 포스트에서는 XML 데이터를 출력하는 기능에 대해 정리하겠습니다. 1. 실행결과 2. 구현 방법 이 토이 프로젝트에서는 특정 테이블의 데이터를 XML로 그대로 옮기는 것 만을 생각했기에 1) DB 테이블의 데이터를 XML로 옮기는 기능을 구현한 추상 클래스를 만들었고, 2) Item테이블의 정보가 담긴 XML에서 Item객체로 , Item객체에서 Item의 정보가 담긴 XML로 변환하게 해주는 클래스를 1) 추상클래스를 상속하여 만들었습니다. 이 토이 프로젝트에서는 파싱에 관련된 기능은 없지만 구상하고 있는 토이프로젝트 중 대용량의 XML 파싱 기능이 필요한 경우가 있으므로 겸사겸사 SAX방식으로 XML를 파싱 하는 기능도 만들어 두었습니다. ※ 아래의 코드가 XML을 다루기 위.. 2021. 5. 23.
데이터 출력(DB -> json,xml등) 프로그램-2【JSON출력】 지난 포스트에 이어서 이 포스트에서는 JSON 데이터를 출력하는 기능에 대해 정리하겠습니다. 1. 실행결과 2. 구현방법 이 토이 프로젝트에서 JSON 데이터를 출력할 때는 Jackson라이브러리를 사용했습니다. JSON을 다루는 Java라이브러리 중에서 실무에서 다루어 본 것은 Jackson, GSON이 있는데, JSON을 파싱 할 때 대용량 데이터를 다루게 될 경우 Jackson이 GSON에 비해서 빠르기 때문입니다. 라이브러리 별 파싱 속도는 아래 링크된 블로그의 글에서 잘 정리된 것 같으니 참고하시면 좋을 것 같습니다. http://www.yunsobi.com/blog/entry/java-json-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC-%EB%B3%84-.. 2021. 5. 23.
데이터 출력(DB -> json,xml등) 프로그램-1【전체구조】 1. 문제 인식 제가 개발자로 일하면서 구현한 프로그램 중의 대부분은 회사 내부 API 또는 타사 API와의 데이터 통신이 필요했습니다. 모든 API가 같은 방식의 데이터를 사용한다면 좋겠지만 오래된 API는 xml로 데이터를 주고받거나, 신규 API는 json으로 주고받는 등 다양한 방식의 데이터를 주고받는 게 일반적입니다. 실무에서 어떤 데이터를 출력의 요건에도 대응할 수 있도록 이 토이프로젝트에서 데이터 출력에 대해 정리해보려 합니다. ※ 이번 토이프로젝트에서 말하는 데이터 통신은? 다양한 방식의 데이터(JSON, XML, csv 등)를 HTTP 통신을 사용해서 원하는 곳 (특정 API, DB 서버, 사용자의 화면)으로, 원하는 방식의 데이터로 보내주며, 지정한 API등으로 부터 다양한 방식의 데이.. 2021. 5. 22.
파일 인코딩 변환 프로그램 1. 문제 인식 대학교 시절 그리고 현재 일본의 IT기업에서 일을 하는 지금까지도 일본어 또는 한국어로 된 문서를 열 때 문자가 깨지는 경험을 자주 했습니다. 문자가 깨지는 이 현상을 일본어로는 文字化け라고 합니다. 문자 깨짐 현상은 일본에서 IT 쪽 업무를 보시게 된다면 어떤 방식으로든 경험하시게 될 것이라고 생각합니다. 저의 경우 타사 API와 통신을 하는 API를 구현할 때 타사 API의 응답의 값의 인코딩이 우리 회사에서 자주 쓰던 방식이 아니라던지, 운영부서 사람들이 제대로 된 인코딩 방식으로 파일을 열지 못해서 분석용 데이터를 활용하지 못해서 문자 깨짐 현상의 해결 방법에 대해 질문이 들어오는 등의 경험을 했습니다. 해결방법은 제대로 된 방식의 인코딩으로 파일을 열면 파일의 내용을 보는데 지장.. 2021. 5. 14.
계산기 (계산식을 입력 받아 처리) 1. 서비스 개요 サービス概要 - 입력받은 계산식의 결과를 출력하는 프로그램. -入力された計算式の結果を出力する プログラム。 ※ 실행 결과 実行結果 2. 요구 조건 要求条件 - 사칙연산 기능 四足演算機能。 - 혼합 연산 기능 混合演算機能。 - 계산 결과는 표준 출력으로 표시 計算結果は標準出力にて表示。 - 계산 결과를 파일로 기록 가능 計算結果はファイルで記録可能。 개발환경 開発環境 OS : Windows 10 사용언어 : Java; AdoptOpenJDK 11 운영환경 運営環境 OS : Amazon Linux (EC2) 사용언어 : Java; AdoptOpenJDK 11 3. 상세 사양 詳細仕様 1) 값 입력 値の入力 - 입력값은 1줄의 문자열로 입력할 것. 入力値は1行の文字列を入力すること。 - 입력 문자열.. 2021. 5. 9.
반응형