OSX Server에 기본적으로 Apache 웹서버를 제공하기 때문에 처음에는 이전 글 macOS Server의 Apache Virtual Host 설정 방법과 같이 Apache 웹서버의 Virtual Host를 이용하여 블로그 및 여러 서비스들을 Proxy로 구성하여 사용하고 있습니다. 하지만 가볍고 빠르다는 Nginx를 써보고 싶은 마음으로 Nginx를 이용한 설정 방법을 확인하였습니다. Apache 웹서버, nginx 둘 다 설정을 해본 느낌으로는 Nginx가 더 깔끔합니다. 성능의 차이는 개인 서버로 특별히 느낄 수 없지만 Osx Server 구매 내역이 아까워서 일단은 Apache를 사용할 예정입니다. 더보기

객체의 직렬화, 역직렬화에서 가장 선호하는 방법은 JSON(JavaScript Object Notation)입니다. 일단 JSON 포맷의 확장성과 간결함이 좋습니다. 그리고 웬만한 포맷들은 JSON을 지원하여 변환이 가능합니다. 예전에 .NET 기반으로 개발할 때 JSON.NET의 만족도가 매우 높은 이유도 있습니다. 사실 JSON.NET이 너무 좋아서 Java로 넘어오며 매우 아쉬운 점이 많아서 Java에서 가장 많이 활용되는 Json 라이브러리를 비교하였습니다. Jackson vs GSON Guava vs Apache Commons 보다 어려운 고민입니다. 왜냐하면 거의 사용성, 성능은 비슷한 느낌입니다. Jackson 다목적으로 사용 가능한 JSON 처리 라이브러리 Java 세상의 최고 갑인 Spring에서 사용하는 JSON 라이브러리 Mapper 패턴으로 CSV 등 다른 포맷으로도 변환이 용이 더보기

Java 프로젝트를 수행하며 항상 고민하는 라이브러리로 Guava와 Apache Commons가 있습니다. 세분화 된 라이브러리와 다양한 기능은 Apache Commons이 좋지만 결국 한 개, 한 개 추가하다보면 apache-xxx 라이브러리에 대한 많은 의존성이 생깁니다. 굳이 필요없는 기능까지 많이 의존하게 되어 나의 경우는 대부분 Guava를 기본으로 시작합니다. 그리고 Java 프로젝트를 하며 항상 사용하는 라이브러리를 정리하려고 기록합니다. Guava Guava는 Google의 코어 라이브러리입니다. Collection(JDK 버전이 올라가며 많이는 필요 없는), caching, string processing 등 프로젝트 구현 시 공통적으로 필요한 요소들이 구현되어 있습니다. 더보기

맥미니에 macOS Server를 설치해서 웹 서비스 및 개발 서버로 사용합니다. Apache Virtual Host 설정은 블로그 도메인을 Docker로 서비스하는 Ghost로 연결할 때 사용하였습니다. 블로그는 글을 작성할 때 Markdown 사용이 가능한 Ghost를 이용하였습니다. Wordpress, Ghost, Hugo 등 다양한 플랫폼 중 Ghost를 선택한 이유는 웹 상에서 글을 쓰고 관리하기 편리하여 Ghost를 사용하였습니다. Wordpress는 너무 복잡하고 Markdown으로 쓰기에는 불편함이 많아서 제외되었습니다. 현재는 Hugo를 이용하여 블로그를 운영 중입니다. 왜 Apache Virtual Host를 설정할까? Ghost를 Docker를 이용하여 설치하면 기본적으로 http://localhost:2368 로 주소가 할당됩니다. 더보기

Pagination을 구현하며 100만 건이 이하의 자료에 대해서는 기본 Index 생성 외에 최적화를 신경 쓰지 않았습니다. 하지만 이번 프로젝트에서 약 1000만 건이 넘는 Row를 가진 Table을 검색하며 Paging 검색 쿼리의 최적화가 필요하다는 걸 알게 되었습니다. Pagination 최적화는 다음의 방법이 있었습니다. 검색 조건에 대한 Index 생성 sql 최적화 (LIMIT -> JOIN 변경) 위 방법 중 1. 검색 조건에 대한 index 생성은 기본적으로 개발자 & DBA의 도움을 얻어 쉽게 작성을 합니다. 더보기

Go 라는 언어는 참 재미있습니다. 프로그램 언어 중 어린 나이라서 최신 기술과 그 동안의 개발자들의 많은 고민들이 스펙이 들어가있습니다. Go를 공부하면서 겪는 특이한 점들을 몇 개 정리 해보았습니다. 구글에서 Go를 검색할려면? 첫 번째로 부딪힌 가장 재미있는 점은 구글에서 궁금한 점을 찾을 때 키워드가 약간 고민스럽습니다. 단순히 go 라고 검색하면 생뚱맞은 결과들이 나타날 때가 많습니다. 그래서 대부분의 개발자와 질문을 올리는 사람들이 golang이라고 적어서 올립니다. go 이면서 go라고 부르지(아니 검색하지) 못하는 재미있는 언어 대/소문자를 이용한 제한자 대문자 함수는 public, 소문자이면 private 정말 이건 안 익숙해지는 규칙입니다. 더보기

한 때 ‘월간동근방’이란 이름으로 매월 소소함을 만들어보는 프로젝트를 홀로 작업하였습니다. 하지만 이건 엄청 힘들고 무리인 목표였습니다. 그래도 그간 꽤 많은 산출물이 나왔고 배운 것, 남은 것들이 많은 시간이었습니다. 그 때를 회상하며 프로젝트 결과를 정리하여 기록합니다. 처음으로 만들어보는 월간동근방 프로젝트의 그 시작은 이 블로그의 테마를 만드는 것으로 시작하였습니다. 월간동근방 매달 새로운 프로그램을 개발하는 프로젝트 도전 & 기술혼이라는 이름으로 재미삼아 만들어보는 시도 월간동근방 - 2016년 11월 작품 Hugo Hello Programmer Theme 첫 번째로 시작된 월간동근방 프로젝트는 이 블로그의 테마를 만들었습니다. 더보기

페이지 3 / 4
위로