본문 바로가기

전체 글

[리뷰] 애플리케이션 플러스 <클라우드 네이티브 애플리케이션 디자인 패턴> 클라우드 환경에서 애플리케이션이 갖추어야 할 일곱 가지 보통 디자인 패턴 하면 애플리케이션에서 다양한 요구사항에 대응하는 모습을 떠올립니다. 하지만, 이 책에서 말하는 디자인 패턴은 그 대상이 조금 다릅니다. 애플리케이션 기능을 위한 디자인 패턴이 아니라 클라우드 환경에서 운영을 위한 개발 패턴을 얘기합니다. 예를 들어, 익히 알고 있는 디자인 패턴이 집안에 방과 거실, 부엌을 배치하고 동선을 짜고 편의성과 뷰를 위한 고민이었다면, 이 책에서 말하는 디자인 패턴은 아파트 단지에서 동의 배치, 주차 공간과 동선, 세대 간 통신 같은 인프라와 커뮤니케이션 방식을 통해 단지 입주민들이 원활하게 잘 지낼 수 있는 방법을 고민합니다. 클라우드에서 움직일 애플리케이션이 필요로 하는 것들이 들어 있습니다. 애플리케이.. 더보기
[리뷰] 시작하는 이를 붙들어 주는 <소플의 처음 만난 리액트> 리액트가 처음인 사람들을 위한 안내서 저자가 생각하는 대상 독자는 둘인 듯합니다. 하나는 웹 개발을 처음 시작하면서 리액트 쪽으로 방향을 잡은 분들입니다. 다른 하나는 프로그래밍 경험은 있으면서 리액트를 빠르게 알아보고 싶은 분들입니다. 어디에 속하든 리액트가 처음이라면 괜찮은 선택이라고 생각합니다. 너무 무겁지 않으면서 리액트를 알아갈 수 있습니다. 알맞은 분량 미니 프로젝트인 마지막 장을 빼면 15개 장으로 리액트를 알려주고 있습니다. 각 장은 프리뷰, 내용 설명, 실습, 요약으로 이루어져 있습니다. 모든 장이 같은 구성 즉, 패턴을 반복합니다. 읽어갈수록 패턴에 익숙해지는데 이게 새로운 내용을 접하는데 꽤 도움이 됩니다. 모른다는 걱정보다 대략 어떻게 접근할 수 있겠다는 자신감을 가지게 합니다. 내.. 더보기
[tip] HeidiSQL ver 12 한글 깨짐 HeidiSQL 12 버전에서 한글 깨짐 현상 2022년 4월 12일 배포한 12.0 버전에서 발생하는 오류입니다. 확인 날짜는 2022년 5월 30일입니다. 12.0.0.6468 버전을 설치하였거나 업데이트하였으면 나타나는 현상입니다. DB 연결을 위한 세션 관리자에서 적용하는 라이브러리를 바꿔주세요. libmariadb.dll에 문제가 있는 것으로 보입니다. 한글이 깨지는 경우 세션 관리자에서 기본 라이브러리인 libmariadb.dll을 사용하면 테이블에 있는 한글이 깨져 보입니다. 한글이 깨져서 내용을 확인할 수 없습니다. 한글이 보이도록 설정 변경 세션 관리자에서 라이브러리를 libmysql-6.1.dll로 바꿉니다. 이제 한글을 확인할 수 있습니다. 더보기
[리뷰] 어떻게 AI 서비스를 만들어 가는지 보여주는 <쉽게 배우는 AWS AI 서비스> AI 기능을 적용한 서비스를 어떻게 만들어 가는지 보여줍니다. 크지 않은 팀이라면 짧게 잡아도 몇 개월은 걸릴 수 있는 작업을 플랫폼 서비스, AWS를 이용하여 풀어나갑니다. 서비스 아키텍처를 그립니다. 아키텍처가 필요로 하는 기능들을 서비스 단위로 묶어서 만든 아키텍처를 보여줍니다. 여러 가지 기능들을 서비스 단위로 그룹화합니다. 다양하게 묶을 수 있고 많은 조합이 나올 수 있는 경우라 경험과 고민에 따라 여러 가지 모습으로 그려볼 수 있습니다. 저자가 만들고자 하는 서비스의 아키텍처를, 그림을 볼 수 있습니다. 숲을 보여줍니다. 그리고 그 숲을 헤쳐나가는 방법을 하나씩 알려줍니다. 마치 게임에서 퀘스트를 완수하는 것처럼. 책을 그렇게 구성하고 있습니다. 그래서 처음부터 책에서 중간중간 필요한 부분만 .. 더보기
[javascript] html과 javascript로 달력 만들기 이전 달, 다음 달로 달력 바꾸기 html table로 달력 기본 틀 만들기 table 태그를 이용하여 달력 모양을 만듭니다. tbody에 id 값을 지정합니다. 달이 바뀔 때마다 tbody의 내용을 다시 그릴 때 사용합니다. 달력의 한 주인 행은 월의 앞뒤에 있는 빈칸을 고려했을 때 최소 4줄에서 최대 6줄까지 있을 수 있습니다. 셀 개수로는 28개에서 42개입니다. 2022.05 일 월 화 수 목 금 토 1 2 3 4 5 6 7 29 30 31 javascript로 월별 날짜 셀 만들기 주어진 날짜의 이전 달과 다음 달을 구합니다. 현재 달력을 그리기 위해 필요한 셀 개수를 구한 뒤 날짜별로 필요한 정보를 구성합니다. function prevMonth(date) { var target = ne.. 더보기
[리뷰] 먼저 고민했던 이들과 만나는 <도메인 주도 개발 시작하기> 개발을 하면서 많은 요구사항을 만납니다. 다양한 요구사항을 잘 풀어나가기 위해 한번쯤은 고민해 봤을 법한 내용들을 만날 수 있습니다. 요구사항을 처리하기 바빠 당장 변경은 해 놓았는데, 변경하고 난 뒤에 오히려 생각이 많아져 이런저런 아이디어를 적용해 보다가도 다른 요구사항이나 시간에 쫓겨 잊어버렸던 기억이 되살아납니다. 프로세스의 일부를 변경해야 하는데 프로세스가 다루는 변수들 가운데 숫자 값을 가지는 변수가 무엇을 다루는지 모호해서 코드를 뒤적였던 경험, 진행 상태를 바꿔달라는 요청을 받고서 변경하는 메서드를 찾아서 보완해 놓았는데 상태가 안 바뀐다는 피드백을 받아 다시 들여다보니 상태를 바꾸는 코드가 한두 군데가 아니고, 여기저기 흩어져 있어 열 받았던 기억 같은 것들이 떠오를 수 있습니다. 개발을.. 더보기
[리뷰] 상세히 보다 빨리 <가장 빨리 만나는 스벨트> 스벨트가 어떤 프레임워크인지 빠르게 살펴볼 수 있습니다. 각 기능이나 주제마다 알아야 할 내용을 필요한 만큼 설명합니다. 너무 간략하지도 않고 장황하지도 않습니다. 바로 이어서 어떻게 적용하고 작동하는지를 구현한 짧은 코드가 따라옵니다. 설명이 장황해질 것 같으면 그림으로 설명을 보충합니다. 설명이나 코드로도 헷갈릴 수 있는 부분을 그림으로 명쾌하게 풀어나갑니다. 정식 표기와 함께 짧게 줄여 쓰는 표기도 같이 알려줍니다. 다른 사람이 만든 코드를 볼 때 줄여 쓴 표기를 만나면 '이건 뭐지'하며 주춤거릴 수 있는데, 이런 부분은 저자의 배려가 보이는 부분이라 생각합니다. 각 장의 주제를 훑어보는 것만으로도 스벨트가 어떤 기능을 지원하는지 짐작할 수 있습니다. 한 장의 길이도 그렇게 길지 않아 읽어나가는데 .. 더보기
[리뷰] 곁에 두고 수시로 펼쳐 볼 <머신러닝 파워드 애플리케이션> 기존 애플리케이션 개발과 머신 러닝을 적용한 애플리케이션 개발의 차이를 알 수 있습니다. 전통적인 프로그래밍 방식과 다른 머신 러닝이 가지는 속성을 어떻게 애플리케이션에 녹여내고, 반영할 수 있는지 전체 과정을 보여줍니다. 머신러닝이 애플리케이션에서 없어서는 안 되는 무거운 상황을 가정하지 않습니다. 애플리케이션의 기본 기능에 영향을 미치지 않으면서 사용자에게 도움을 줄 수 있는 기능을 목표로 합니다. 마치 쇼핑몰 사이트에서 상품을 조회할 때, 페이지 아래에 나열되는 같이 구매한 상품 기능처럼 사용자에게 부가 정보를 제공하는 기능을 만들어가는 과정으로 진행합니다. 장점 생각보다 코드가 많지 않습니다. 중심을 코딩보다 개발에 두고 있음을 알 수 있습니다. 다양한 이미지를 통해 이해를 돕고 있습니다. 현재 .. 더보기