일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- @async
- spring multi thread
- AWS 키페어
- Optional 사용법
- AWS S3
- AWS EC2
- java Optional
- AWS 프로젝트
- CI/CD
- AWS 프로젝트 올리기
- 창업
- 자바 스트림
- github CI/CD
- spring async
- java null 처리
- ssh
- 창업 마인드
- 창업형인간되기
- 스트림 예제
- java stream
- 마인드
- 라이프해킹스쿨
- dockerfile
- vscode
- Visual Studio Code
- 비주얼 스튜디오 코드
- optional
- AWS
- AWS ssh
- 창업형인간
- Today
- Total
Wookim
윈도우에서 작업한 리액트 프로젝트를 github에 올리고 우분투인 노트북에서 clone 하여 실행했더니 실행되지 않았다. node와 npm를 삭제하고 다시 깔아보기를 여러번... 에러내용은 조금씩 바뀌나 실행까지는 되지 않았다. 최종적인 에러 내용으로 검색하니 vscode의 문제로 보여진다고 하는 github내용을 찾았다. 에러 내용은 다음과 같다. Error: ENOSPC: System limit for number of file watchers reached, watch 만약 vscode 터미널에서 위와 같은 에러내용이 있다면 echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p vscode 터미..
해당 태그에 명시된 프로젝트의 자식 프로젝트임을 명시 예제 {부모 그룹 아이디} {부모 아티펙트 아이디} {부모 버전} {부모 그룹 아이디}.{부모 아티펙트 아이디}> {해당 프로젝트 아티펙트 아이디} {해당 프로젝트 버전} 위 태그들 중 자기 자신의 를 잘 볼것. "부모 그룹아이디 + . + 부모 아티펙트 아이디" 로 구성했다. 이렇게 하면 nexus에 jar를 배포할 때 트리구조로 예쁘게 배포된다. 자식 프로젝트들을 명시 = 자식 프로젝트들의 부모임을 명시 에제 common core module1 위 태그들에 명시된 common, core, module1은 현재 프로젝트들의 자식(sub module) 프로젝트 들이다. 패키지 되는 형식을 지정하는 태그 예제 ex 1). jar ex 2). pom 1)..
회사에서 작업하던 java 프로젝트를 maven 프로젝트로 변환하는 업무를 맡았다. 생 java 프로젝트라 lib들을 파일로 관리하고 있어서... 회사 내 nexus와 maven으로 lib를 관리하기로 결정했다. 상황은 core가 되는 프로젝트와 core에 jar로 말려들어가는 plugin들의 구조를 바로 잡아야 하는 것. 문제가 되는게 core와 plugin들이 서로 circular dependency(상호 의존) 관계였던것.. (때문에 mavne build 과정 중 애를 많이 먹었다.) 해당 프로젝트들을 하나로 통합하고 mavne multi module 프로젝트로 변환하기로 결정했다. 구조는 다음과 같다. template (껍데기) pom.xml ---- common ---- pom.xml ---- ..
들어가기전에 레거시 spring 프로젝트는 bean객체를 등록하는 방법으로 xml 파일에 하나하나 등록하는 방법을 사용한다. 해보면 안다. 매우 귀찮다. 관리하기도 어렵고.. 신입 입장으로 히스토리를 모르면 서비스 빈객체 등록하는 것도 힘들다. 그래서 빈객체를 관리하는 방법 중 어노테이션과 컨피그레이션에 대해 소개하겠다. @Configuration 위 어노테이션은 spring 웹프로젝트의 설정 파일에 옵션을 추가해주는 역할을 한다고 이해하면 됨. 즉 설정파일을 수정하지 않고 java코드로 설정을 관리할 수 있도록 해준다. @ComponentScan 위 어노테이션은 지정한 위치의 자바 코드드를 스캔하여 빈객체로 자동 등록한다. 예로 @Component 계열 어노테이션이 붙은 소스코드가 있다면 빈객체로 자동..
실제 접속 정보와 Mybatis 파일의 분리 mybatis의 설정 정보를 저장하는 config.xml 파일에 DB의 실제 접속정보를 저장하면 욕먹는다. 형상관리 시스템에 해당 파일이 올라가면 접속정보가 노출되기 때문이다. 따라서 config.xml 파일에 민감한 정보를 직접 기입하지 않고 .properties파일을 이용하는 방법에 대해 설명한다. 방식은 다음과 같다 프로퍼티 파일 → mybatis config 파일 프로퍼티 파일에 실제 접속정보를 변수에 저장한다. mybatis config파일은 위 프로파티 파일의 변수를 사용한다. 사용 예제 위 그림처럼 소스가 구성되어 있을 떄, conf 라는 폴더에 properties파일이 저장되어 있다고 가정하자. 반드시 클래스패스에 properies 파일을 위치시..
프론트에서 데이터를 가공하여 서버로 데이터를 보낼 때, 문제를 겪었다. 자바스크립트에서는 데이터를 자유자재로 다루다가, 막상 서버에서 데이터를 다루려 하니 막막해진것... 프론트에서 단순한 { } 객체를 보낼 때는 서버에서 단순히 Map으로 받으면 알아서 파싱을 잘 해주지만 (설정이 되어있다는 전제하에) { a: b, b : [ 1, 2, [3, 4] ] c : { e: 2, f: 5} } 이런 식의 데이터를 받고나서 사용할 때 문제가 된다. 위 상황에서 @RequestBody Map params 이런식으로 파라미터를 받을 수 있지만, 막상 꺼내 쓸려면 캐스팅 하는데 머리를 굴려야 한다. 아래 예제를 보자. javascript 프론트의 데이터는 아래와 같다. // 데이터 형식 var dataMap = {..
프로그래머를 괴롭히는 2가지 문제 개발하면서 발생하는 문제를 크게 2가지라 볼수있다. error 코드 문제가 아닌 하드웨어나 외부요인으로 인한 프로그램 먹통 현상. 프로그래머가 관리할 문제가 아니라 볼 수 있다. exception 프로세스 실행 중에 발생한 예외를 의미함. 이로 인해 프로세스가 중지될 수 있지만, 예외 처리를 통해 이를 막을 수 있다. 프로그래머가 반드시 관리해야 할 문제다. Exception (예외) 코딩을 하다보면 예외처리가 필수적이다. 이유는 runtime exception을 처리하기 위해서이다. 이를 하지 않는 실수를 한다면, 프로세스가 실행중에 죽을 수 있다. 이를 해결하기 위한 작업이 예외처리이다. 하지만. 이곳 저곳에서 예외처리를 해놨다면, 불필요한 예외처리 구문에 의해 성능..
vscode SSH 사용하기 환경 vscode 최신버전 window10 ms 공식 ssh 익스텐션 설치 순서 vscode 실행 마켓플레이스 열기. (ctrl + shift + X) 마켓플레이스에서 remote ssh 검색 microsoft의 Remote - SSH 설치 아래 그림처럼 모니터 아이콘이 생긴것을 확인 해당 아이콘 버튼 클릭 위 그림처럼 connections 부분에 아무것도 없을 것이다. (필자는 사용 중 이므로 server라는 접속정보가 존재) connections 에 마우르스를 올려놓으면 톱니바퀴 모양의 설정 아이콘이 출력된다. 해당 버튼을 클릭한다. 아래 그림처럼 환경 설정 창이 출력된다. 당황하지 않고 Settings를 눌러준다 위 그림처럼 Config File를 저장할 위치를 지정해야..