본문 바로가기

Server Oriented

(191)
Spring import 패키지 (Annotation) org.springframework.stereotype._____@Controller@Service   org.springframework.web.bind.annotation._____@RestController@RequestMapping,@GetMapping@PostMapping,@PutMapping@PatchMapping@DeleteMapping@PathVariable@RequestBody@ResponseBody   org.springframework.ui._____ Model   org.springframework.beans.factory.annotation._____@Autowired   org.springframework.data.jpa.repository._____Repository ← Cru..
스프링 Controller 에 딸린 메서드의 파라미터와 리턴값 1. 파라미터 컨트롤러 클래스에서 메소드에 파라미터를 사용할 때에는.. form 문에 담긴 컨트롤 값으로 넘어오는 것이면, 해당 클래스를 그대로 기술하면 되지만.. @...Mapping("/...") public foo(ClassA classA) { ... } request url 의 path 에도 파라미터가 넘어온다면, @PathVariable 사용 @...Mapping("/.../{param}") // url 의 path 부분에 변수가 들어오기 때문에 PathVariablepublic bar(@PathVariable ClassB param, ...) { ... } JSON 데이타가 (url 호출시 body에) 파라미터로 넘어온다면, @RequestBody 사용 @...Mapping("/.../{par..
리눅스 히스토리 삭제 cat /dev/null > ~/.bash_historyhistory -c 로그아웃 할 때,버퍼에 담긴 히스토리 내역이 ~/.bash_history 파일에 저장됨.단, 마지막에 실행한 history-c 는 파일에 저장되지 않음. ~/.bash_history 는,로그인 한 사용자의 /home 경로에 있는 .bash_history 파일.
리눅스 awk 원문: https://inpa.tistory.com/entry/LINUX-%F0%9F%93%9A-awk-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%AC%B8%EB%B2%95-%EB%A7%88%EC%8A%A4%ED%84%B0-%F0%9F%92%AF-%EC%B4%9D%EC%A0%95%EB%A6%AC 기본은 awk '패턴 {액션}' 파일명,또는 | awk '패턴 {액션} 패턴이나 액션은 생략 가능하지만, 동시에 생략하지 못함.패턴은 매칭 또는 필터링, 액션은 동작.액션 생략시 {print $0} 과 동일 동작. $0 은 라인 전체,$1 은 라인에서 첫번째 항목,$2 는 라인에서 두번째 항목, ...라인에서 마지막 항목은 $NF,라인에서 마지막 항목으로 부터 첫번째 떨어진 항목은 $(NF -1).
[스프링부트] 인터페이스 구현 클래스가 여럿인 경우, 컨트롤러에서 어떤 것을 사용..? 원문 : https://velog.io/@daelkdev/Spring-bean이-여러-개-일-때-어떻게-의존성을-주입할까1. @Controller 클래스에서 서비스 기술시 @Autowired 를 사용하는 방법   어떠한 이유로든 오류가 발생할 수 있어서 추천되는 방식은 아니네요. ㅠ2. @Service 클래스에 @Primary 로 우선 주입 클래스를 지정하는 방법   (우선 주입된 클래스가 아닌) 다른 클래스를 사용해야 할 수도 있어서 추천되지 않는..3. @Service 클래스에 @Qualifier("클래스 인스턴스명") 를 지정하고,   @Controller 클래스의 생성자에서 (구현한 클래스를) @Qualifier 입혀서 파라미터를 등록하는 방법.  음.. 이 방법이 좋네요.  @Controller..
Whitelabel Error Page 화면과 함께 for checking its last-modified timestamp 로그가 찍히는 경우 브라우저 화면에는 "Whitelabel Error Page" 가 표시되고,로그에는 아래 내용이 찍혔다면.. java.io.FileNotFoundException:URL [file:////.../파일명] cannot be resolved in the file system for checking its last-modified timestamp 이런 경우라면, 별일 아니다..WAS 를 재시작 하면 해당 현상은 더이상 발생하지 않는다. WAS 기동 후 어느 순간에 "URL [file:////.../파일명]" 이 정상 서비스 되었던 흔적이 있지만,해당 경로에 해당 파일명이 "현재"  존재하지 않기 때문에,이런 현상이 발생했던 것.다만, WAS 를 재시작 하기 전에는 해당 로그가 계속 쌓일 수 있음에 유의.
[스프링 부트] OS 가 EUC-KR 인데, 소켓 통신시 UTF-8 데이타가 사용된다면.. 머신의 OS 가 EUC-KR 일 때,이 위에 스프링 부트로 만든 빌드를 java -jar *.jar 와 같이 실행하면..빌드된 프로그램을 프로세스에 할당하면서,JVM 문자셋을 OS 의 문자셋인 EUC-KR 과 동일하게 세팅한다. 소켓 통신 프로그램에 문자셋이 특별하게 설정되지 않는 경우,외부에서 들어오는 데이터의 문자셋이 UTF-8 이므로,소켓 통신의 결과 데이터도 UTF-8 이다. 스프링 부트의 JVM 은 EUC-KR 이고,외부에서 가져온 정보가 UTF-8 이므로스프링 부트의 .java 에서 문자셋을 이렇게 저렇게 아무리 고쳐 봐야,한글을 포함한 n-bytes 문자들이 깨지게 된다. 범용으로 설계된 소켓 프로그램의 문자셋을 변경할 수 없고,OS 의 문자셋도 바꿀 수 없다면..남은 것은 딱 하나.. JV..
@SpringBootTest 에서 HttpServletRequest 나 HttpSession 등을 mock 하는 방법 원문: https://a1010100z.tistory.com/194 org.mockito.* 에서도 기능을 제공하기는 하는데..Spring Frame Work 에도 제공하는 것이 있으니, 스프링 쪽을 사용하기로 합니다.그리고 사용하기에도 훨씬 간편.. ~.~물론, HttpServletResponse 등도 가능.