전체 글 107

[Java] Java에서 외부 jar 실행 후 출력되는 결과 가져오기

외부 jar를 실행할 때 실행한 jar에서 Console에 출력하는 결과를 가져와야 할 때가 있다. Process 객체가 제공하는 InputStream을 이용해 해당 결과를출력할 수 있다. Code public class MyProcessTest { public static void main(String[] args) { try { Runtime r = Runtime.getRuntime(); Process p = r.exec("java -jar TestJar.jar"); InputStream is = p.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); while (true) { String s = b..

Back-End/Java 2022.02.15

[프로그래머스] 완주하지 못한 선수

문제 https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 오랜만에 공부 시작할 겸 가벼운 문제 풀어봄 주의할 점은 완주한 사람(completion)을 기준으로 해시를 만들고 참여한 사람(participant)을찾는 방식이 아니라, 참여한 사람을 기준으로 해시를 만들고 완주한 사람을 찾아야 한다는 것. 그리고 이름이 중복되는 사람이 여러 사람일 수 있으므로 각 사람의 이름을 count 한 후 ..

Algorithms 2022.02.13

[Java] 외부 jar 실행 후 pid(process id) 가져오기(Java 8)

In Java9 java 9 버전부터 Process Class가 pid 라는 메서드를 제공하므로 쉽게 얻을 수 있다 pid public long pid​() Returns the native process ID of the process. The native process ID is an identification number that the operating system assigns to the process. Implementation Requirements: The implementation of this method returns the process id as: toHandle().pid(). Returns: the native process id of the process Throws: Un..

Back-End/Java 2022.02.11

[Kafka] Kafka Broker 설정(server.properties) 꼼꼼히 들여다보기

0. server.properties 원본더보기...############################# Server Basics ############################## The id of the broker. This must be set to a unique integer for each broker.broker.id=0############################# Socket Server Settings ############################## The address the socket server listens on. It will get the value returned from# java.net.InetAddress.getCanonicalHostName() i..

Back-End/Kafka 2022.02.04

[Spring] Annotation을 이용한 DI (2) @AutoWired와 @Qualifier

❑ @Autowired 의존성 주입 규칙1: Type Client 객체: Car package com.test.ui; @Component // @Component("carBean") // id를 직접 입력할 때 public class Car { private PowerUnit powerUnit; // Dependency @Autowired public Car(PowerUnit powerUnit) { this.powerUnit = powerUnit; // 생성자를 통한 외부 주입(Injection) } } 의존 객체: ElectricMotor @Component // @Component("electricMotorBean") // id를 직접 명시 할때 public class ElectricMotor imp..

Back-End/Spring 2022.02.02

[React, Spring] 서버에 MultipartFile 업로드(Axios POST 사용)

[Front-End Side] Axios POST를 이용해 File 업로드 요청 1. 파일을 주고받을 때는 Multipart/form-data 타입을 이용한다. 1.1. HTTP Headers에 타입 추가 아래와 같이 headers에 'multipart/form-data'를 추가한다. axios({ ... headers: { 'Content-Type': 'multipart/form-data', }, }); 1.2. JavaScript의 FormData 객체를 생성해 데이터로 전달한다. FormData 인터페이스는 Key/Value 쌍으로 데이터를 쉽게 생성/삭제할 수 있는 방법을 제공한다. ★중요★ 하나의 Key에 Value를 'List 형태'로 여러 개를 보내고 싶을땐 동일한 Key에다 계속 appen..

Back-End/Spring 2022.01.26

[Spring] Annotation을 이용한 DI (1) @Component, @AutoWired

❑ @Component, @Autowired를 이용한 DI 최근에는 Spring Bean Configuration(DI 지시서)를 xml로 작성하는 경우는 거의 없다. 본 포스팅에서는 @Component, @Autowired 등 어노테이션을 각 객체에 직접 이용해 의존성 주입(DI) 하는 방법을 알아본다. 참고로, java class 형식으로 Spring Bean Configuration을 작성해 의존 관계를 정의할 수도 있다. 해당 내용은 추후 포스팅할 예정이다. 1) 어노테이션(Annotation)을 이용할 때의 장점 어노테이션을 사용하면 xml을 변경하지 않고 @Component, @Autowired, @Qualifier 등의 어노테이션만을 추가해서 DI를 바꿔줄 수 있다. 즉, 소스코드도 변경이 ..

Back-End/Spring 2022.01.17

[React] Page 랜딩 시, Axios로 받은 데이터 '1회만' state에 set하기 (useEffect 활용)

❑ Situation: 최초 Page 랜딩 시 서버로부터 받은 데이터를 state에 초기화하고 싶다 네이버 웹 페이지에 가면 내가 접속한 그 때 웹 페이지에 보여줄 데이터들을 서버로부터 받아 보여준다. 내가 원하는 것도 최초 Page 오픈 시 Axios를 이용해 서버로부터 데이터를 받아 state에 초기화하고, 해당 state를 화면에 보여주는 것이다. 참고로, Problem1에서 살펴 보겠지만 Axios를 이용해 서버로부터 받은 결과는 Promise다. 따라서 본 포스팅은 최초 Page 랜딩 시 Promise의 데이터를 state에 초기화하는 방법(useEffect를 활용)으로 이해해도 좋다. [Basic knowledge] 함수형 컴포넌트의 state의 초기화 방법 기본적으로 함수형 컴포넌트의 sta..

Front-End/React 2022.01.16

[React] React Router 경로와 웹서버 요청 URI가 동일할 경우

Question1 상황 아래와 같이 React Router를 이용해 "/path"로 이동하도록 작성한 버튼1을 클릭하면 웹브라우저의 URI에 /path가 추가되며 해당 페이지(컴포넌트)로 이동한다. 여기서 궁금한 점, 그림2처럼 동일한 경로(/path)로 웹서버에 요청하는 버튼을 만들면 될까? Path Page로 이동할까? 아니면 웹 서버에 요청하게 될까? 각 버튼에 작성된 코드 버튼1: React Router를 이용해 "/path" 경로의 페이지로 이동 버튼2: 웹서버 Nginx에게 "/path" 경로로 요청 정답 버튼 1을 클릭할 경우: "/path" 경로의 페이지(컴포넌트)로 이동한다 버튼 2를 클릭할 경우: "/path" 경로(URI)로 웹서버(Nginx)에게 요청한다 어떻게 같은 경로(/path..

Front-End/React 2022.01.13

[React] React App을 Nginx에 배포하기(EC2 Amazon Linux2 환경)

React App Build 1. 개발 PC에서 Build 1.1. React App Build create-react-app으로 생성한 React 프로젝트는 webpack 번들러로 빌드 결과물을 생성한다. 터미널에서 React 프로젝트 디렉토리로 이동 후 아래 명령어를 입력한다 npm run build 1.2. Build 확인 build가 완료되면 프로젝트 디렉토리에 build가 추가된다. index.html을 보면 들여쓰기와 띄어쓰기가 전혀 되어 있지 않은데, 웹 브라우저는 들여쓰기와 띄어쓰기가 없어도 구분할 수 있기 때문에 용량 최소화를 위해 전부 제거된 상태인 것이다. 1.3. Git Push React App을 Build하는 곳을 Server PC에서 할 수 있다. 그렇게 하려면 npm을 설치해..

Front-End/React 2022.01.11