본문 바로가기
반응형

전체글623

Spring Batch와 QuerydslItemReader 아래 글은 사내 기술 블로그에 동일하게 공유된 글입니다. 안녕하세요 우아한형제들 정산시스템팀 이동욱입니다. 올해는 무슨 글을 기술 블로그에 쓸까 고민하다가, 1월초까지 생각했던 것은 팀에 관련된 주제였습니다. 결팀소: 결제시스템팀을 소개합니다와 같은 "정팀소: 정산시스템팀을 소개합니다" 혹은 "정개추: 정산에서개발을추구하면안되는걸까" (던만추 컨셉) 등이였죠. (던만추) 팀에 관련된 이야기라면 뭐니뭐니해도 팀장님 얘기가 빠질수가 없는데, 주제를 정하자마자 조직개편으로 팀장님이 다른 팀으로 발령났습니다. 정권이 교체되었으니 라인 환승도 해야하고, 우아한테크코스 졸업생 분이 신입 개발자로 합류도 하셔서 팀 이야기는 좀 더 뒤로 미룰수 밖에 없었습니다.(레진코믹스의 레바툰-191화) 그래서 비 기술적인 주제 .. 2020. 2. 5.
Linux에서 crontab 실행시 명령어 찾지 못할때 crontab의 기본 PATH는 /usr/bin 밖에 없습니다. 즉, /usr/local/bin 등 다른 경로에 있는 command에 대해서는 crontab 이 인식하지 못하는데요. 만약 aws cli를 pip로 설치했다면 그 경로는 /usr/local/bin/aws가 되기 때문에 crontab으로 명령어를 등록해고 제대로 실행이 되지 않습니다. 예를 들어 아래와 같이 aws 커맨드를 실행하는 sh파일을 #!/bin/bash aws help crontab으로 실행한다면 * * * * * my_command.sh some_args 다음과 같은 에러가 발생합니다. /bin/sh aws command not found 해결책 해결책은 아래처럼 crontab에 직접 PATH를 등록 하는 것입니다. PATH=/u.. 2020. 1. 29.
2019 하반기 회고 (소라의 날개 33권 130p)현재 속한 회사에서 가장 많은 변화가 있었던 2019년 하반기이다. 회사 자체의 변화가 아니다. 내 주변의 변화가 지난 3년중 가장 컸다. 그래서 평소 회고 보다 훨씬 스크롤 압박이 있다.1. 회사상반기 회고에도 작성했지만, 7월 1일부터 팀이 분리되어 내 역할이 변경 되었다. 크게 2가지 역할인데, 개발 파트 리드와 온프레미스 인프라 관리였다.1-1. 팀 분리와 역활변경개발 파트 리드를 하면서 그간 팀장님들이 이런 저런 결정들을 왜 하게 되었는지 조금이나마 이해할 수 있었다. (속썩여서 정말 죄송한 마음도..)계속 매니저 역할을 하다보니, 직접적으로 프로젝트에 관련된 개발은 좀 등한시 하고 코드 리뷰만 진행했었다. 그러다보니 코드 리뷰에선 보이지 않는 개발 환경 / QA .. 2020. 1. 4.
Spring Boot에서 JSON API에 XSS Filter 적용하기 일반적인 웹 애플리케이션에서 기본적으로 해야할 보안으로 XSS 방지가 있습니다. 기존에 많이들 알고 계시는 lucy filter의 단점은 이미 오명운 님께서 잘 정리해주셨기 때문에 한번쯤 읽어 보셔도 좋을것 같습니다. homoefficio.github.io - Spring에서 JSON에 XSS 방지 처리 하기 요약하자면, lucy 필터는 form data 전송 방식엔 유효하지만, @RequestBody로 전달되는 JSON 요청은 처리해주지 않는다 정말 친절하게 설명해주셨기 때문에 꼭 읽어보시길 추천드립니다. 다만 WebMvcConfigurerAdapter 가 스프링 부트 버전이 올라가면서 Deprecated가 되었습니다.그래서 다른 방법으로 해결해보겠습니다. 이 방식은 오명운님께서 작성해주신 방법을 응용.. 2019. 12. 29.
Xtrabackup으로 DB 복구하기 Xtrabackup으로 백업된 데이터를 DB에 복구 시키는 과정을 진행해보겠습니다. 이 과정은 2대의 DB 서버가 있다는 가정하에 진행합니다. 1번 DB는 실제 운영 DB이며, 매일매일 Xtrabackup으로 백업 파일을 생성합니다. 2번 DB는 운영 DB가 장애나서 급하게 공수한 서버이며, MariaDB만 설치된 상태입니다. 즉, 깡통 상태입니다. 깡통 서버에서 MariaDB를 설치하는 방법은 이전 포스팅을 참고해주세요. 아래부터 실행되는 모든 명령은 root 계정으로 실행합니다. 즉, ec2-user, centos 등의 계정에서 root 계정으로 전환합니다. sudo su - root 그럼 차례로 진행해보겠습니다. 1. 백업 파일 다운로드 먼저 백업 파일을 저장할 백업 디렉토리로 이동합니다. 저는 /.. 2019. 12. 28.
웹 JS 애플리케이션 개발시 IntelliJ 디버거 사용하기 Vue 혹은 React로 개발시 Webstorm (혹은 IntelliJ Ultimate) 라이센스가 있으신 분들도 VS Code로 개발하시는 경우를 종종 봅니다. 백엔드 개발자 분들이라면 아무래도 IntelliJ가 더 익숙하실텐데요. Chrome + VS Code로 디버깅 하는게 아무래도 어색하고, 굳이 이렇게 많은 도구를 배워야하나라는 생각이 드신다면 한번 이번 포스팅을 참고해보시면 좋을것 같습니다. 이번 포스팅에서는 IntelliJ 디버거로 웹 애플리케이션 디버깅하는 방법입니다. 여기서 웹 애플리케이션이란 Vue, React 등 모던 JS 스택으로 개발하고 있는 프론트엔드 프로젝트를 이야기합니다. IntelliJ의 강력한 디버거를 모던 웹 프론트 개발시에도 사용해보고 싶으신 분들이라면 참고하셔도 좋을.. 2019. 12. 24.

728x90
반응형