본문 바로가기

프로그래밍248

[Spring Boot] Spring Boot Actuator, Application을 모니터링 하자 안녕하세요! 연휴 잘보내고 계신가요? 저도 오랜만에 고향에 내려와서 연휴를 즐기고 있습니다. 시스템을 운영하다보면 시스템이 사용하고 있는 Thread, memory, Session 등의 요소에 대해서 모니터링은 필수적인 요소 입니다. 운영되는 시스템은 아무리 잘 만들어 졌다고 할지라도 버그가 있을 수 있습니다. 우리는 이런 상황을 대비하기 위해서 모니터링은 필요한 요소입니다. Spring Boot에서는 Spring Boot Actuator라는 자체모니터링 툴을 제공합니다. 오늘은 해당 모듈에 대해서 알아보도록 하겠습니다. Spring Actuator Spring Boot 공식 Reference에 나와있는 Actuator에대한 간략한 설명입니다. Spring Boot includes a number of .. 2019. 9. 14.
[Spring Boot] Session과 Cache의 기본 저장소 ! 개발기간이 길진 않지만 개발하며 정말 효울적으로 사용했던게 Session과 Cache 였습니다. 데이터를 임시 저장할 때 어떤 서비스를 이용하시나요 ? Database에 저장하려니 너무 개발 코스트가 많이 드는것 같고 파일로 저장하자니 또 꺼림직하고 합니다. 이때 사용할 수 있는것이 바로 휘발성으로 사용할 수 있는 Cache와 Session입니다. Spring에서도 해당 기능을 쉽게 구현 할 수 있도록 제공해주고 있는데요. 요즘은 이런 기능을 Redis를 이용하여 많이 쓴다고 합니다. 그런데 Spring은 별도의 벤더를 지정하지 않아도 기본적으로 내장되어있는 Session과 Cache가 있습니다. 오늘은 이것들에 대해서 알아보는 시간을 가져보겠습니다. Cache cache란? : 속도가 상대적으로 느린 .. 2019. 9. 10.
[java & ethereum] Smart Contract(Lottery 시스템)를 web3j를 통해 통신해보기 - basic [ethereum]Ethereum 설치 및 실행 [ethereum]Smart Contract(Lottery 시스템) 제작 [ethereum]ethereum과 통신해보기 [ethereum]Smart Contract(Lottery 시스템)과 통신해보기 - basic [ethereum]Smart Contract(Lottery 시스템)과 통신해보기 - event & log [ethereum & java]web3j를 통해 ethereum과 통신해보기 [ethereum & java]Smart Contract(Lottery 시스템)과 web3j를 통해 통신해보기 - basic Smart Contract(Lottery 시스템)과 web3j를 통해 통신해보기 - event & log 안녕하세요. 저번시간에 우리는 web.. 2019. 9. 9.
[Spring & Design Pattern] Spring에서 발견한 디자인패턴_Proxy Pattern Spring의 특징이라고 하면 IoC(또는 DI), PSA(Portable Service Architecture) 그리고 AOP(Aspect-Oriented Programming)가 있습니다. 이 개념이 무엇인가? 에 대해서는 이번 포스팅에서 언급하진 않겠습니다. 궁금하신 분은 저의 Spring 카테고리에 하나씩 설명이 되어있으니 해당 포스팅들을 참고 부탁드립니다. 저는 다른부분에 대해서 말해보려고 합니다. AOP는 관점지형 프로그래밍으로 main기능이 아닌 기능(Logging / Transaction)을 묶음으로 하여 Main Function을 잘 구성할 수 있게 해주는 방식입니다. 따라서 비즈니스 로직의 중간에 소스코드를 삽입해야하는데 이를 지원해주는 방식은 일반적으로 3가지로 구현이 가능합니다. S.. 2019. 9. 6.
[Spring & Design Pattern] Spring에서 발견한 디자인패턴_template method pattern Spring Boot로 개발을 하다보니 그 중심이 되는 DispatcherServlet이 궁금해 졌었습니다. 그래서 이전에 DispatcherServlet의 전체적인 프로세스를 간략하게 정리한 [Spring]DispatcherServlet Code로 분석하기 - reqeust & response process 포스팅을 진행 했었습니다. DisaptcherServlet을 분석하던 중 다양한 Design Pattern이 사용됬다는 것을 확인했고 이를 포스팅 하고 싶어졌습니다. 오늘은 DispatcherServlet에서 사용된 디자인 패턴 중 하나인 Template method Pattern에 대해서 알아보도록 하겠습니다. template method pattern 서로 다른 유사한 컴포넌트가 있을때, 공통 .. 2019. 9. 4.
[java & ethereum] web3j를 통해 ethereum과 통신해보기 [ethereum]Ethereum 설치 및 실행 [ethereum]Smart Contract(Lottery 시스템) 제작 [ethereum]ethereum과 통신해보기 [ethereum]Smart Contract(Lottery 시스템)과 통신해보기 - basic [ethereum]Smart Contract(Lottery 시스템)과 통신해보기 - event & log [ethereum & java]web3j를 통해 ethereum과 통신해보기 [ethereum & java]Smart Contract(Lottery 시스템)과 web3j를 통해 통신해보기 - basic Smart Contract(Lottery 시스템)과 web3j를 통해 통신해보기 - event & log 저번시간까지 우리는 POST 통신을 .. 2019. 9. 2.
[Spring]DispatcherServlet Code로 분석하기 - reqeust & response process 안녕하세요. 저는 요즘 회사에서 Java로 Ethereum Client를 만들고 있습니다. 프로젝트를 진행함에 있어 Spring MVC를 사용하였는데요. 서버로 들어올때 url에 따라 분기를 쳐주는 역할을 하는 DispatcherServlet, 원리는 들어보고 알고 있었지만 이게 코드로 어떻게 구현되어 있지? 라는 생각이 들었고, 한번 파헤쳐보기로 했습니다. 오늘은 Spring MVC의 중심이라고 할 수 있는 DispatcherServlet, 그 중에서도 request를 처리하는 방법에 대해서 코드를 따라가며 분석해 보도록 하겠습니다. DispatcherServlet ? spring 공식문서에서는 DispatcherServlet을 아래와 같이 정의하고 있습니다. Spring MVC, as many oth.. 2019. 8. 30.
[ethereum] Smart Contract(Lottery 시스템)과 통신해보기 - event & log [ethereum]Ethereum 설치 및 실행 [ethereum]Smart Contract(Lottery 시스템) 제작 [ethereum]ethereum과 통신해보기 [ethereum]Smart Contract(Lottery 시스템)과 통신해보기 - basic [ethereum]Smart Contract(Lottery 시스템)과 통신해보기 - event & log [ethereum & java]web3j를 통해 ethereum과 통신해보기 [ethereum & java]Smart Contract(Lottery 시스템)과 web3j를 통해 통신해보기 - basic Smart Contract(Lottery 시스템)과 web3j를 통해 통신해보기 - event & log client에서 ehtereum을 통.. 2019. 8. 28.
[Ethereum]Ethereum의 Transaction 처리 Life Cycle 분석 안녕하세요. 많은 분들이 web3를 이용하여 Ethereum과 통신하고 있습니다. web3는 well-made 프로젝트이기 때문에 우리가 그 안에서 어떻게 돌아가는지 까지 알 필요가 없게 잘 만들어져어있습니다. 하지만 그렇기 때문에 web3에 대해서 의존적일 수 밖에 없으며 커스터마이징 하는것도 힘듭니다. 그래서 이번에 어떻게 Ethereum의 smart-conract와 transaction을 주고 받는지, 그리고 그 내용을 분석해보았습니다. Transaction이 발생할 때 보통 본인의 private Key와 Nonce값으로 먼저 Sign을 하는데 이런 부분은 이번 포스트에서는 제외하겠습니다. 궁금하신 분은 아래를 보시면 좋은 참고가 될 것 같습니다. Transaction Flow 기본 Transact.. 2019. 8. 23.
[ethereum] Smart Contract(Lottery 시스템)과 통신해보기 - basic [ethereum]Ethereum 설치 및 실행 [ethereum]Smart Contract(Lottery 시스템) 제작 [ethereum]ethereum과 통신해보기 [ethereum]Smart Contract(Lottery 시스템)과 통신해보기 - basic [ethereum]Smart Contract(Lottery 시스템)과 통신해보기 - event & log [ethereum & java]web3j를 통해 ethereum과 통신해보기 [ethereum & java]Smart Contract(Lottery 시스템)과 web3j를 통해 통신해보기 - basic Smart Contract(Lottery 시스템)과 web3j를 통해 통신해보기 - event & log 안녕하세요. 이번주는 Solidity.. 2019. 8. 21.
[ethereum]ethereum과 통신해보기 [ethereum]Ethereum 설치 및 실행 [ethereum]Smart Contract(Lottery 시스템) 제작 [ethereum]ethereum과 통신해보기 [ethereum]Smart Contract(Lottery 시스템)과 통신해보기 - basic [ethereum]Smart Contract(Lottery 시스템)과 통신해보기 - event & log [ethereum & java]web3j를 통해 ethereum과 통신해보기 [ethereum & java]Smart Contract(Lottery 시스템)과 web3j를 통해 통신해보기 - basic Smart Contract(Lottery 시스템)과 web3j를 통해 통신해보기 - event & log 이번주에는 Java를 이용하여 eth.. 2019. 8. 12.
Smart Contract(Lottery 시스템) 제작 _ 쉽게 수정 예정 안녕하세요. 2주차 진행하도록 하겠습니다. 오늘 진행할 부분은 직접 Smart Contract를 제작해보고 컴파일, 배포해보는 부분입니다. 이부분을 직접 예제를 만들어 배포해 볼까라고 생각해봤었는데요. 결론적으로 이번 프로젝트와 취지가 맞지 않아 다른 레퍼런스를 추천드립니다. Smart Contract가 중심인 프로젝트는 다음 기회에 진행하도록 하겠습니다. ^^ [ethereum]Ethereum 설치 및 실행 [ethereum]Smart Contract(Lottery 시스템) 제작 [ethereum]ethereum과 통신해보기 [ethereum]Smart Contract(Lottery 시스템)과 통신해보기 - basic [ethereum]Smart Contract(Lottery 시스템)과 통신해보기 - .. 2019. 8. 8.