분류 전체보기
이 기능 있는줄 나만 몰랐나? - 2편- Intellij CE에서 Spring Boot 돌릴때 쓰기에 좋은 옵션들
이 기능 있는줄 나만 몰랐나? - 2편- Intellij CE에서 Spring Boot 돌릴때 쓰기에 좋은 옵션들
2022.07.06이건 회사에서는 되는 기능이던데... 사이드 프로젝트를 하다보면 회사에서 사용하던 IDE를 사용하지 못하고, CE버젼 즉, 커뮤니티 버젼을 사용해야할 경우가 있다. 커뮤니티 버젼 즉, 무료 버젼은 UE버젼, 얼티밋 버젼에 비해서는 정상적인 기능들을 대부분 제공은 해주긴 하지만... 막상 써보면 뭐가 하나 나사 빠져 있는 상태인 케이스들이 있다. 분명 회사에서는 후다닥 했었던 기능, 당연히 제공 되는 기능이 CE버젼으로 다운그레이드 되면서 "아니... 이 단순한 기능이 뭐길래" 도대체 왜 나를 괴롭히는지 신경이 쓰이는 경우가 왕왕 있다. 물론 당신이 부자라면, Intellij UE버젼을 돈을 왕창 내면서 사용하겠지만, 아마 나도 그렇고, 다른 사람들도 그렇겠지만... 월간 $14.90 정도의 금액이 빠진다..
스프링 롤백 테스트 하는 방식에 대한 생각
스프링 롤백 테스트 하는 방식에 대한 생각
2022.05.01JPA 관련해서 게시물 찾다가 위와 같은 블로그를 발견했어서 무슨 문제인지를 파악해보고 싶어서 해결기와 관련한 글을 작성해보았습니다 https://ttl-blog.tistory.com/523?category=906284 [JPA] 살려주세요 문제 상황을 간단하게 나타내 보도록 하겠습니다.. TestEntity @Getter @Setter @NoArgsConstructor(access = AccessLevel.PROTECTED) @Entity public class TestEntity { @Id @GeneratedValue(strategy = Generat.. ttl-blog.tistory.com TL; DR! 블로그의 질문 사항의 핵심은 롤백 상황을 테스트 환경에서 테스트 가능하도록 만드는것이었다. 블로..
Spring Batch를 활용한 토이프로젝트 - 1. 영화 업체를 가져와보자!
Spring Batch를 활용한 토이프로젝트 - 1. 영화 업체를 가져와보자!
2022.03.13안녕하세요. 2021년도 연말에 회사에서 사내 배치 프로그램을 만들일이 있어서 어떤 툴을 쓸지 고민하던 도중 Spring 공부에도 큰 도움이 되지 않을까 싶어서 Spring Batch를 공부하기 시작했었습니다. 실제로 Spring Batch에 대해서 공부하는데 큰 도움을 줄만한 게 뭐가 있을까 고민해보았는데요. 아무래도 가장 큰 도움을 줄만한 건 딱봐도 토이(파일럿) 프로젝트 같았습니다. 그래서 어떤 프로젝트를 하는게 좋을지 큰 고민을 했었는데 Spring Batch 관련한 토이프로젝트를 만들어주셨던 한 블로그에 글에 큰 도움을 받아 형식은 좀 다르지만, 여러 가지 Batch에 대해서 구현을 해보았습니다. Spring Batch를 공부하시는 분들이라면, 어느 정도의 절차를 바탕으로 진행하면서 점진적으로 ..
2021년 회고 - 새로운 우주를 만난다는 것은...
2021년 회고 - 새로운 우주를 만난다는 것은...
2021.12.31안녕하세요. 매년 그러니까 2019년, 2020년마다 우울함과 미래의 불안함을 가지고 회고를 썼었던 것 같은데, 올해는 일도 많고 회고를 위해서 올해를 돌아보는 시간도 적어져서 과연 이 글을 잘 쓸 수 있는 게 맞는가에 대한 여러 가지 생각이 들었는데요. 그래도 회고를 해본다는 게 결국 한 번쯤은 내가 뭘 했었고, 어쨌든 그 노력들이 모여서 지금의 결과를 만든 게 아닐까라는 생각만 가지고 회고를 작성했어요. 회고를 하기위해서 내가 도대체 뭘 했었는가에 대해서 곰곰이 사진첩, 이메일함, 캘린더와 같은 여러 가지 회고에 도움이 될만한 것들을 뒤적거리다 보니까 상하반기로 한 게 있었기도, 없었기도 했던 한해라서 초반엔 결과가 안 나왔고, 후반에는 내가 부족한 점이 많아 보였었던 한해였던 것 같습니다. 2021..
⌜처음 배우는 네트워크 보안⌟ 서평
⌜처음 배우는 네트워크 보안⌟ 서평
2021.12.26한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다. 보안은 중요해! 보안은 늘 중요하다. 그리고 익명의 사용자를 받아오는 서비스 제공자 입장에서는 보안은 정말정말 중요하다는 걸 많이 깨닿고 있다. 하지만, 이러한 네트워크 보안은 도대체 어디서 부터 시작해야하는 것인지? 그리고 어디까지 보안을 하는게 맞는것인지? 를 파악하는 것이 매우 어려운 주제이다. 처음 배우는 네트워크 보안을 통해서, 보안이라는 것을 첫 설정하기 위해서 어떤 발걸음을 걸어야하는 것에 대해서 알려주는 책이다. 두 보안을 동시에 배운다. 개발자 입장에서는 소프트웨어적인 보안 시스템을 먼저 생각하기 마련인데, 실제로 보안 시스템의 경우 랜선 즉 물리적인 환경까지 고려하는 설계가 필요하다. 여러가지 시스템적인 보안 완성도를 높이기 위..
Spring Batch Partition 병렬 처리 해결기
Spring Batch Partition 병렬 처리 해결기
2021.12.19TL;DR 병렬처리는 아예 ItemReader에 AbstractPagingItemReader 재정의후 페이징 doPageRead() 재정의하면 쉽게 처리가능. ListItemReader에는 InputStreamReader가 없어서 non-thread-safe해서, 아예 병렬처리 없이 싱글 스레드로 돌았던 것. 해결을 위한 여정.. 병렬 처리는 스프링 배치에서 여러가지 방법을 제공해주는데 그중 가장 좋은 방법인 partition방식을 이용해서 해결하려 했다. 문제는 병렬처리는 마음처럼 잘 해결이 안되는 게 문제였는데, 동기식으로 Blocking되는 방식으로 시스템이 돌아갔던것이 가장 큰 문제였다. 배치 개수 배치 방법 시작 시간 종료 시간 총 걸린시간 비고 700개 partition 2021년 12월 10..
Spring boot 버전별 업데이트 사항 정리 - 1. 2.4버전 업데이트
Spring boot 버전별 업데이트 사항 정리 - 1. 2.4버전 업데이트
2021.12.05도대체 왜 그대로 따라서 쳤는데 왜 안되는걸까? 내가 스프링부트를 이용하면서 가장 짜증났었던 부분 중 하나는 버전 업 이슈 사항들이 딱히 전파가 잘 되지 않는다라는 점이었다. Spring boot를 사용하다보면 가끔 내가 쓰고 있는 버전과 블로그나 인터넷에서 제공하는 기능이 정상작동을 하지 않는 경우가 있었는데, 그런 경우에는 버전업에 따른 Deprecated 이슈가 있는 상황이 간혹 있었다. 그리고 전에는 분명히 이렇게 하면 됬는데, https://start.spring.io/에서는 기본 스프링부트의 버전을 거의 최신으로 유지하고 있어서 낮은 버전을 강제할 수도 없는 상황이 많이 생긴다. 즉, 이런 낮은 상황을 강제하려면 Maven, gradle의 도움을 받아서 억지로 낮은 버전을 찾아서 세팅하는 방법..
Java String + 연산은 정말 빠른가?
Java String + 연산은 정말 빠른가?
2021.11.21검증 안된 것에 대해서 당당하게 말하기! ㅋㅋ; 스터디 도중에 페이스북에서 본 기억이 나서 공유했었던 의제이다. +가 StringBuilder보다 빠릅니다! 라고 당당하게 언급했었는데, 막상 스터디 팀원들의 질문 공세에 어버버하며 재대로 대답을 못해드리게 되었다. 그 덕분에 자세히 찾아보게 되었는데, 원글을 읽고 글의 정확성을 한번 확인해보는 과정이 필요했었으며 심지어 더 자세히 아래쪽을 보면 더 정확하게 설명이 있음에도 불구하고 +가 StringBuilder보다 빠릅니다! 더 빠르다는 것에 심취해 있어 잘못된 정보를 전달할뻔 했었다. 그래서 그런 정보를 바로 잡기도하며, 지식 정리도 해보고 싶어서 작성하게 되었다. + 연산이 진짜 빠른가? String 연산은 코딩테스트와 여러 상황에서 + 보다 Stri..
Vue props을 임의로 바꾸면 생기는 일
Vue props을 임의로 바꾸면 생기는 일
2021.11.07뭐야 이게... uetify에서 Dialog를 구성하던 도중 한 페이지에 너무 많은 Dialog가 존재했다. 그로인해 코드가 너무 길어졌는데, 차라리 Component를 분리해서 관리하면 좋겠다고 생각했다. 그래서 일단 분리를 해서 버튼을 누르자 다음 아래와 같은 오류가 발생했다. 그리고 정상적으로 작동을 하지 않았다 딱 한번만 재대로 작동하고 다음번에 버튼을 누르면 작동을 하지 않았다. 🚨 Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. ..
⌜미국 주식으로 시작하는 슬기로운 퀀트투자⌟ 서평
⌜미국 주식으로 시작하는 슬기로운 퀀트투자⌟ 서평
2021.10.25한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다. 미국 주식과 Python 주식은 계속 오르고 올라서 돈을 얼마 벌었는지와 같은 이야기는 늘쌍 내 곁을 매번 머물면서 이야기를 해준다. 누구는 몇배를 벌었으며, 저점에 사서 고점에 팔았다. 와 같은 이야기들은 내 귓속으로 때려박히긴한다. 그런 점에서 한국 주식, 미국 주식과 같은 이야기들은 이제는 프로그래밍의 영역까지 내려왔는데, 최근 프로그래밍 매수, 매도를 도와주는 자동화 프로그램들을 만들 수 도 있으며, 이 책에서 이야기하는 퀀트투자와 같은 분석과 투자를 동시에 가능하게 하는 영역까지 내려왔다. 현시점에 와서는 코딩으로 투자하는 시점까지도 왔으며, 그런 투자를 위해서 여러 종목들의 분석을 하기 위해서 여러가지 전략과 여러가지 오픈소스의 도움이..
포스트맨으로 테스트하던 나에게
포스트맨으로 테스트하던 나에게
2021.10.05이번 인턴을 진행하면서 테스트 코드를 작성해볼일이 있었고, 그것에 대해서 느낀점을 작성하려고 한다. 테스트 코드를 왜 써야하며, 그리고 테스트 코드에 대한 생각을 나눠보겠다. 테스트 코드를 왜 작성해야하나...? 테스트 코드를 작성하기 전에는 코드 작성시 굳이 테스트 코드가 필수적으로 필요한지에 대한 생각을 많이 했었다. 인턴 이전까지만 해도 모든 테스트를 수작업을 통해 작동시켜보기도 했었다. 당시에는 이런 방법이 안정적으로 테스트를 할 수 있는데 큰 도움을 준다고 생각했기 때문에, 테스트 코드의 당위성에 대해서 크게 큰 신경을 쓰지 못했다. PostMan으로 테스트 하면 되는데 왜...? 굳이..? 그리고 그렇다고 해서 확실히 된다고 보장을 할 수는 있나..? 특히, 이 포스트 맨으로 테스트를 구성하는..
⌜처음 시작하는 마이크로서비스⌟ 서평
⌜처음 시작하는 마이크로서비스⌟ 서평
2021.09.22한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다. 최신 트렌드 MSA 최근 여러 플렛폼 기업들이 예전 방식 모놀리틱 서비스에서 마이크로 서비스 아키텍쳐 즉, 여러가지 도메인을 분리해서 관리하는 방식의 MSA를 도입하는 추세이다. 그렇다면 모놀리틱에서 왜 마이크로 서비스로 전환해야하는지..? 그리고 뭐 트랜드인건 알겠으나 도대체 왜 이런 아키텍쳐까지 도달했는지에 대해서 궁금하지 않는가? 아무래도 주니어 입장에서는 모놀리틱한 서비스를 구성할 일이 꽤 많은 편인데, 마이크로 서비스는 너무 막연하고... 특히 생각해보지도 못한 부분에서 여러가지 이슈를 가지고 있는 서비스 구성이기도하다. 이 책에서는 5개 챕터를 통해서 MSA로의 변환 과정 그리고 고려해야하는 점등을 자세히 작성한다. 유용한 마이크로서비..