본문 바로가기

2019/03

(15)
제자 훈련을 해보자 제9편 - 제자훈련에서 어려운점은 과제가 아니야 제자 훈련을 해보자 제9편 - 제자훈련에서 어려운점은 과제가 아니야지난 포스트에서는 매주 쏟아지는 과제에 대해서 썼었다. 9~11가지 과제를 매주 해야 하는 것인데 과제 자체는 그렇게 힘들지 않다. 그냥 해가면 된다. 이건 내 개인적인 생각이라서 처음 과제를 문서로 만들어서 해갈려면 익숙하지 않으니까 부대낄 수는 있는데 한두달 정도 하다보면 적응이 되어서 할만해 질 것이라고 본다. 나는 책쓰고 블로그 포스트 쓰고 하던게 있어서 내 기준으로는 시간을 많이 쓸 뿐이지 스트레스가 엄청나거나 하진 않는다.그런데 나한테 어려운 부분은 4주차를 하면서 새롭게 알게된 제자반의 컨텐츠가 있다는 것이다.그게 뭐냐하면 주변에서 내가 뭐 하는지를 지켜보고 있다가 수시로 피드백을 준다는 거였다.교회를 왔다가 조금 일찍 간다던..
제자 훈련을 해보자 제8편 - 제자훈련 한달이 지났다. 번아웃됨 제자 훈련을 해보자 제8편 - 제자훈련 한달이 지났다. 번아웃됨 제자반을 시작하면 일주일에 9가지 과제를 해야한다. 1. 성경책 66권중 1~2권 4~50절 읽기 1년동안 성경책 한권을 모두 읽는 것을 목표로 한다. 나름 무난하다. 물어보지 않기 때문에 그냥 읽으면 된다. 물어본다고 하면 또 스트레스가 많이 받을텐데 다행히 안물어봄. 2. 큐티(Quiet Time)하기 이 책을 사서 매일 한장씩 큐티(Quiet Time)를 해야한다. 큐티는 콰이엇 타임의 약자로써 조용히 성경책의 한 부분을 꼼꼼히 읽고 생각 해보는 시간을 갖는 것이다. 사랑의 교회 시스템의 핵심이라고 할 수 있다. 요런식으로 질문이 있는데 이거를 또 꼼꼼히 잘 써야 한다. 왜냐하면 교역자님(목사님, 강도사님, 전도사님)께서 보시기 때문...
손 댈 필요 없는 프로그램은 어떻게 만들지? 손 댈 필요 없는 프로그램은 어떻게 만들지? 요즘 고민은 안정적인 서버 프로그램을 어떻게 만들까 하는 것이다. 서버를 한번 올렸으면 안죽게 해야 하는데 수시로 들어가서 재부팅 해줘야 하면 그게 잘만든 프로그램이 아니다. 잘못 만든 프로그램은 내 시간을 자꾸 잡아 먹는다. 일단은 서버가 잘 돌고 있는지 health check하는 방법부터 생각을 해볼 필요가 있을 것 같다. 내가 할 수 있는 수준이 아니라 다른 개발자나 qa 엔지니어가 할 수 있는 수준이면 더욱 좋다. aws같은 경우는 vpc에 집어 넣고 그 안에서 health check 할 방법을 생각해볼 필요가 있다. 서버 상태 판단하기현재 서버가 어떤 상황인지가 모니터링이 되어야 한다. 죽었는지 살았는지, 에러가 나는지 안나는지 이것만 알아도 아주 수..
curl 쓰는 법 curl은 shell에서 get, post등을 날릴 수 있는 명령어이다. get같은 경우는 웹브라우져로 날릴 수 있지만 post를 날리려면 뭔가 깔아야 한다. 그런데 커맨드에서 날릴 수 있기 때문에 curl을 쓴다. curl www.google.com curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello, World!"}' https://hooks.slack.com/services/T4HC5T16H/
java validation(벨리데이션) 로직 java validation(벨리데이션) 로직 벨리데이션은 유효성 검증 기능인데 특정 요청이 유효한지 아닌지 true, false를 리턴 해주고 true, false일때 각각 어떤 제약 조건에 걸렸는지 알려주어야 하는 기능이다. 유효성 검증 등 조건이 여러가지인데 모두 태울 것인지 아니면 중간에 특정 조건에 걸렸을 때 끊을 것인지 true가 나오면 return할 것인지 List -> validate(List) 이렇게 되고 validate()에는 로직을 태운다. @Data public class Result{ public boolean result; public String failId; public String reason; } public Result res(String userId, String cu..
트렐로 쓰는 법 트렐로 쓰는 법 트렐로는 같이 팀작업 할 때 작업이 잘 진행되는지 서로 공유하는 툴이다.무료로 사용하기 시작 할 수 있다. https://trello.com/b/JqqtFJ9p/%EB%B7%B0%ED%8B%B0%ED%92%80%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EB%A7%8C%EB%93%A4%EA%B8%B0 이게 아래 보이는 트렐로 보드의 주소다.위 링크를 누르면 이 보드가 나온다. 나중에 비공개로 바뀌면 안들어가질 수도 있는데 암튼 이런 화면이다. 새로 만들어도 된다. 이 뷰티풀 프로그래밍 사이트를 만들고 학생을 모집해서 수업을 진행하는 프로젝트를 위한 보드이다. http://beautifulprogramming.co.kr/ 뷰티풀 프로그래밍 트렐로는 카..
스프링 부트 @RequiredArgsConstructor 애노테이션 @Slf4j @Controller @RequestMapping("/api/v1/data/invalid_request/") @RequiredArgsConstructor public class InvalidRequestController { private final InvalidRequestService invalidRequestService;필드 DI를 제발좀 쓰지 말라고 하도 뭐라고 해서 컨스트럭터 di로 바꾸고 있는데 final로 선언을 해주면 그 부분을 자동화 해주는 애노테이션이 있다는 것을 알게 되었습니다. 위와 같이 씁니다. 그러면 @Autowired도 안써도 돼고 constractor도 없어도 됩니다. 그런데 final을 꼭 붙여야 합니다. 안그러면 null나와욤
jpa app 운영 배포 전략 jpa app 운영 배포 전략 jpa로 앱을 만들고 백엔드 서버를 운영 할 때 db에 컬럼이 추가 되는 경우가 있습니다. jpa같은 경우는 서버가 뜰 때 db하고 entity하고 매핑을 한 다음에 뜹니다. 예를들면 entity에 phone이라는 필드가 있지만 db에는 없는 경우는 매핑이 되지 않아서 서버가 뜨지 않습니다. 그래서 jpa에는 hibernate.ddl-auto에 update라는 옵션이 있는데 prod에는 보통 update는 해놓지 않고 validate로 해놓습니다. 이 옵션을 update로 해놓고 수정한 서버를 재부팅 하면 entity하고 db의 field와 비교를 해서 db의 field에 alter를 해서 컬럼을 추가합니다. 왠지 이야기만 들어도 문제가 생길 것 같지 않으신가요? 컬럼이 추..