책 소개 자바 애플리케이션 성능을 한 단계 높여줄 튜닝 이야기 성능 튜닝은 실험과학이다. 추측과 구전 튜닝에 의존할 일이 아니다. 이 책은 복잡한 기술 스택을 다루는 중/고급 자바 개발자에게 정량적이고 검증 가능한 접근 방식으로 자바 애플리케이션 성능을 튜닝하는 방법을 알려준다. 성능 튜닝은 원하는 결과를 정의하고 결정하는 과정이다. 자바 성능에 관한 대부분 자료는 자바 가상 머신 이론과 내부의 모습을 살펴보는 데 그치지만, 이 책은 레시피, 팁/트릭, 알고리즘 등 다양한 부문을 살펴보며 성능 튜닝의 실용적 측면을 이야기한다. 한빛미디어 제공: http://www.hanbit.co.kr/store/books/look.php?p_code=B7707787549 자바 최적화 성능 튜닝은 실험과학이다. 추측과 ..
스프링 5부터 Spring Webflux를 통해 reactive 개발이 가능하게 됐습니다. 요청당 스레드가 하나씩 차지했던 기존의 패러다임과 달리 Webflux는 non-blocking 시스템이 가능하게 해줍니다. 하지만 non-blocking을 지원하지 않는 blocking persistence API (ex. jdbc)를 쓰는 경우에는 어떻게 해야할까요? non-blocking을 지원하는 nosql 데이터베이스를 사용하거나 r2dbc를 사용하는 것이 방법이 될 수 있겠으나 아직까진 mysql 등의 rdbms는 지원되지 않습니다. 이번 글에서는 Spring Webflux + JDBC 환경에서 어떤식으로 개발을 해야되는지에 대해 살펴보겠습니다. 일반적인 웹 구조인 controller -> service ..
macOS Mojave (10.14 버전)부터 Dark mode가 지원됩니다. (사진 출처: Evernote 공홈 - Evernote에서 다크 모드를 사용하는 방법) 에버노트도 mojave에 맞춰 다크모드를 지원하는 새로운 업데이트를 출시하였습니다. 하지만 글 하이라이팅의 문제로 에버노트만 다크모드를 해제하고 싶었는데요, 저만 이런 생각을 가진건 아니였나 봅니다.에버노트 게시판에 누군가 Can you turn off Dark Mode in Evernote only? 로 질문을 올려놨네요. 에버노트 앱 자체에 라이트 모드 사용 설정이 존재하는데요,환경설정 > 일반 > 노트에 라이트 모드 사용 이 설정은 노트에만 흰색 배경을 보여주는 것이라 꽤나 미려하지 못합니다. 그럼 macOS Mojave 에서 에버노트..
구성 - spring-boot-starter-webflux (2.1.0.RELEASE) - springfox-swagger2 (3.0.0-SNAPSHOT)우선 pom.xml에 관련 dependency들을 추가해 줍니다. org.springframework.boot spring-boot-starter-parent 2.1.0.RELEASE UTF-8 UTF-8 1.8 3.0.0-SNAPSHOT org.springframework.boot spring-boot-starter-webflux io.springfox springfox-swagger2 ${swagger.version} io.springfox springfox-swagger-ui ${swagger.version} io.springfox springfo..
개발 밋업(meetup) 정보 공유 달력입니다. https://meetup4u.com
샤오미에서 크라우드 펀딩을 통해 새로운 전기자전거 HIMO V1을 출시하였습니다. 실물도 매우 예쁘고(실제 첫 테스트 주행 시 몇몇 분께서 어느 제품인지 여쭤보셨습니다), 가격도 저렴하여 전기자전거 장만을 고려하고 계시는 분들께는 좋은 기회인 것 같습니다. 사이즈가 작아 자동차 트렁크에 들어갈 수 있습니다. 반대로 생각해보면 180이상의 장신들이 타시기엔 다소 불편함이 있을 것 같습니다. 우선 스펙을 살펴보면 모터전력: 250w 최대속력: 20km/h (25km/h 으로 변경 가능) 제품무게: 16.7kg 가용하중: 100kg 주행 모드: eco mode(PAS 방식), mid mode(스로틀 방식), high mode(스로틀 방식) 최대 이동거리: eco mode(50km), mid/high mode(..
최근 머신러닝, 딥러닝 등 인공지능 분야에 대한 세상의 관심이 뜨겁습니다. IT관련 종사자가 아닌 일반인들도 알파고 인공지능, 테슬라 자율주행, AI 스피커 등을 접하고 인공지능 분야에 대해 관심을 가질 정도이니 말 다한 셈이죠.하지만 정작 IT 개발자라고 하더라도 인공지능, 인공지능 말만 많이 들어봤지 어떤 개념으로 어떻게 돌아가는지는 모르는 분들이 많을 것입니다.지금까지 해오던 웹, 앱 같은 개발과는 어찌보면 전혀 다른 분야이기 때문이죠.그래서 대세를 따라 인공지능을 배워보고 싶지만 어디서부터 어떻게 시작해야될지 감이 안잡히는 분들도 많으실 겁니다.한빛미디어에서 출판한 "아무것도 모르고 시작하는 인공지능 첫걸음" 책은 제목 그래도 아무것도 모르고 인공지능을 시작하려는 분께 딱인 책인 것 같습니다.책을..
Spring MVC에서 Last-Modified와 If-Modified-Since 헤더를 통한 캐싱방법을 살펴보겠습니다. 웹 캐싱에 대한 이론적인 부분과 종류들은 다른 설명 글들이 많기 때문에 자세한 내용은 생략하도록 하겠습니다 (링크).캐싱의 순서는 다음과 같이 이루어집니다. 브라우저에서 필요한 리소스를 서버에 최초로 요청합니다. 서버에서 응답헤더에 Last-Modified 헤더를 셋팅하여 요청한 리소스와 함께 내려보내면, 브라우저는 해당 리소스의 복사본을 생성하여 저장합니다. 브라우저에서 해당 리소스를 재요청할 경우에는 서버에서 Last-Modified 헤더에 설정한 값을 If-Modified-Since 헤더에 포함시켜 서버에 요청합니다. 서버에서는 If-Modified-Since 헤더 값을 통해 해..