본문 바로가기

테크 노트/소소한 개발 팁

spring, aop 특정 조건에서 실행 제외하기 AOP에 대한 자세한 설명은 생략합니다. 아주 간략히 정리하면 특정 조건(어느 패키지, 어느 클래스, 어느 메소드 등) 메소드를 수행할 때 그 메소드의 실행 전, 실행 후, 실행 전 후에 참견하는 기능입니다. (그 특정 조건을 pointcut이라고 합니다.) Spring에서는 AspectJ라는 라이브러리를 이용합니다. 준비물 Spring boot에서 AOP 설정 하는 방법을 간략하게 정리하겠습니다. 포스트 제목의 답을 구하신다면 과감히 스킵해주세요. org.springframework.boot spring-boot-starter-aop pom.xml에 의존성을 추가해봅시다. @Configuration @EnableAspectJAutoProxy // 이 어노테이션으로 활성화 해줍시다 class Spring..
github, 여러 repository에 대해 ssh 설정 하기 github 인증을 http로 하면 별 문제가 없습니다만 ssh 인증으로 사용할 때, 만약 자신의 ssh key를 여러 repository에 등록하려고 하면 어떻게 될까요? 아마도 위와 같은 상황이 연출될 것입니다. 이미 해당 ssh key가 다른 repository에 이미 등록되어 이 키를 재활용 할 수가 없는것이죠. 해결방법 방법은 간단합니다. 특정 repository 마다 ssh key를 각각에 맞게 여러개 만들어서 github repository 설정에서 맞게 등록해주면 됩니다. 우선 ssh-keygen 명령을 통해 필요한 ssh key들을 만들어 봅시다. (참고 https://git-scm.com/book/ko/v2/Git-서버-SSH-공개키-만들기)$ ssh-keygen Generating p..
예쁘게 코드 공유하기 github이라는 훌륭한 코드 저장소가 있습니다만 이런 블로그에서 짧은 코드를 공유하기에 적합한 솔루션이 있어 공유드립니다. 컬러스크립터(https://colorscripter.com/)라는 솔루션입니다. 장점 - 별다른 설치가 필요 없습니다. 내가 필요한 코드만 있으면 됩니다. - 확장성이 뛰어납니다. 기본세팅에 내가 원하는 언어가 없다면 확장프로그램을 적용하면 됩니다. - 따라서 내가 원하는 코드 하이라이팅이 없다면 직접 만들어서 배포하면됩니다. 사용법 컬러스크립터(https://colorscripter.com/)에 접속합니다. 로그인을 하고싶으면 합니다. (왠지 로그인을 해야 확장프로그램 적용이 가능할것 같아서 전 했습니다.) 원하는 코드를 입력합니다. 입력 후 오른쪽 하단의 "클립보드 복사"를 클..
angular, 같은 패스로 또 route할때 강제 새로고침 시키기 전 서버개발자 인데요. 주로 spring을 다룹니다. 그러나 서버개발자라도 프론트를 다룰일이 생깁니다. 바로 운영툴 때문이죠. 원래 운영툴은 대충대충 만듭니다. 그래서 spring에서 자주쓰는 템플릿 엔진을 주로 사용하곤 했습니다. (freemarker, velocity 등등)그러나 운영자의 요구사항이 많아지고, 기능이 점점 추가되다보면 서버 로직과 강하게 결합된 템플릿 엔진의 코드를 보면 한숨이 절로 나오게 됩니다. 그래서 프론트를 제대로 다루기 위한 솔루션 도입을 검토하는데요. 저흰 angular를 도입했습니다.개인적으로 angular는 다른 js 솔루션들 보다 spring mvc에 익숙한 서버개발자들이 오히려 구조를 파악하기에 쉬운 것 같습니다. (물론 풀스펙의 프레임워크다보니 진입 장벽은 있습니다..
java, checked excepton을 아름답게 unchecked exception으로 바꾸기 checked exception과 unchecked exception이 대체 뭐고, 무슨 차이가 있는지에 대한 내용은 과감히 생략합니다. 그냥 RuntimeException으로 감싸면 되는거 아냐? 맞습니다. 1234567public List getSheetValues(String spreadSheetId, String sheetName, String range) { try { return sheets.spreadsheets().values().get(spreadSheetId, sheetName + "!" + range).execute().getValues(); } catch (IOException e) { throw new RuntimeException(e); }}Colored by Color Scri..
java, google api 이용하기 (인증, sheet, youtube 등) (2019 ver) 잊고있던 블로그. 그나마 개발 관련 글은 딱 한 건인데 이게 5년간 조회수가 4천회가 넘었습니다. 개발자들이 많이 찾는 내용인것 같은데 4년전 내용이다보니 업데이트 할 필요가 있다는것을 느끼고 다시 써 봅니다. 준비물 첫번째 준비물, https://console.cloud.google.com/apis/dashboard 에서 어떤 API를 사용할지 세팅 - 앱을 생성하지 않았다면 앱 이름부터 잘 지어서 생성하도록 합시다. - 저의 경우 YouTube Data API v3, Google Sheets API, Google Drive API 이 3개를 지정했습니다. - 참고로 구글스프레드시트를 사용할거면 Google Drive API도 꼭 사용 설정을 해야합니다. 두번째 준비물, https://console.c..
java, google sheet api 이용하기 2019/03/12 - [개발이/개발노트] - java spring boot에서 google api 이용하기 (sheet, youtube 등) (2019 ver)더 최신의 관련 정보를 알고싶으시면 윗 글을 참고해주세요. 1. 프롤로그 서비스를 운영할때, 운영자(혹은 기획자)들이 쉽게 사용할 수 있도록 운영툴 "잘" 만들어주는것은 매우 귀찮은 일중에 하나이다. 그러나 이를 제대로 만들어 주지 않을 때는 기획자들의 요구에 따른 작업을 서버개발자가 항상 도와줘야 하므로 이는 더 큰 귀찮음을 낳게 된다. 따라서 운영툴.. 귀찮지만 더 안귀찮아 지려면 잘 만들놔야 한다. 우리회사의 기획자들은 엑셀에 능숙하다. 문서를 만들때도 엑셀, 일정을 짤 때도 엑셀, 자료 정리도 엑셀.. 내가 운영툴에 부트스트랩으로 아무리 ..