안녕하세요. 오늘은 유닛 테스트에 대한 이야기를 해보고자 합니다. 프로그래밍 하다보면 자신이 작성한 코드가 원하는 형태로 작성되었는지 안되었는지를 테스트해보고 싶을 때가 있습니다. 저는 처음 프로그래밍을 GUI 프로그래밍으로 했다보니 그 결과를 보통 눈으로 확인하곤 했습니다. 하지만 CLI 프로그래밍을 하다보면 원하는 결과가 나오는지 안나오는지 일일이 손으로 입력하고 결과를 본다는 것이 쉽지만은 않습니다. 그럴 때 유닛 테스트를 사용해보세요. What is Unit Test ?그렇다면 유닛 테스트는 무엇인가요? 유닛 테스트는 컴퓨 ...
[STL] C++에서 Map에 대해 알아보자
안녕하세요. 오늘은 C++ STL에 대한 글을 써보려 합니다. 본래 저는 STL과 같은 기본적인 글은 잘 쓰지 않으려 했습니다. 워낙 Documentation도 잘 되어 있는 편이고, 블로그의 글 주제로 쓰기에는 적합하지 않다고 생각했습니다. 하지만 오늘 이 글을 쓰게 된 계기는 제가 알고리즘 풀이를 몇 번 진행하면서 제가 주로 쓰고 있는 Java 언어와 다소 차이가 있는 것으로 확인이 된 자료구조가 몇 있었습니다. 그래서 각 언어에서 비슷한 자료구조의 형태가 STL이나 API로 지원된다하더라도 언어에 따라 사용하는 방법이나 각 ...
R에서 코드를 병렬처리 하는 방법
오늘은 R 코드를 병렬 처리하는 방법에 대해서 알아보겠습니다. 병렬 처리? 많이 들어보셨던 말씀이겠지만 병렬 처리가 일단 무엇인지 먼저 알아보고 진행해보도록 하겠습니다. Parallel Processing병렬 처리 혹은 계산은 컴퓨터를 이용해서 동시에 많은 계산을 하도록 하는 처리 방법 중에 하나입니다. 과거에는 프로세서 성능이 하나당 코어 한 개를 가지고 있기 때문에 병렬 처리라는 것은 사실상 불가능한 것에 가까웠습니다. 하지만 이를 가능하도록 한 것은 멀티태스킹 방식이 있었기 때문이죠. 이 방법은 하나의 계산을 여러 개로 쪼개서 ...
Spring boot에서 DBMS를 연동하는 방법 JPA 고급편
안녕하세요. Spring 관련 글을 정말 안쓴지가 너무 오래되었네요…ㅠㅠ 요즘 데이터 분야에서 일하다보니 R을 다루면서 백엔드에 대한 포스팅이 많이 밀려있네요.. 앞으로는 Spring을 이용한 오픈 프로젝트에 참여 중이니 다시 재건을 위해서라도 천천히 하나씩 글을 작성해보도록 하겠습니다. 이번에는 지난 글에 이어서 JPA 고급편에 대해 작성해보도록 하겠습니다. 워낙 오래됐음에도 불구하고 고급편에 무엇을 적어야할지 명시가 되어 있네요. 오늘은 그 부분을 다뤄보겠습니다. SQL과 HQLSQL은 Structed Query Language ...
R에서 RDBMS와 연결하는 3가지 방법
안녕하세요. 이제 2018년도 이틀밖에 남지 않았네요. 오늘은 R에서 관계형 데이터베이스 서버와 연결하는 3가지 방법에 대해 설명드리고자 합니다. R을 사용하여 데이터 처리를 할 때는 이를 보관할 보조 기억 장소가 필요합니다. 물론 R에서 제공하는 RDS 포맷의 파일 형식이 있지만 이는 싱글 형태로 사용하거나 혹은 R 내에서만 사용할 수 있는 아주 제한적인 요소를 담고 있습니다. 그에 반해 관계형 데이터베이스에 보관하게 되면 다른 프로그래밍 언어에서도 자유로이 호환이 제공되고 여러 사람이 공유해서 사용할 수가 있죠. 오늘은 R에서 ...
R의 다양한 자료구조들
이제 거의 8월 달도 끝나가는군요. 간만에 비오는 주말입니다. 태풍 솔록이 지나가면서부터 드디어 대한민국에 2018년 첫 여름비가 내린 것 같은 느낌이네요. (혹시 정말 첫 여름비일지도 모르겠군요…) Data Structure in R프로그래밍을 하게 되면 자연스럽게 만날 수 있는 것은 바로 자료구조입니다. 처음 학부시간에 자료구조를 배웠을 때는 ‘왜 이것을 배워야하지?’라는 의문을 잔득 가졌었습니다. 그 때는 프로그래밍에 대해서 관심이 많지도 않았고 대학에서 가르쳐주는 그저 영어 같았습니다. 본론으로 넘어가서 자료구조는 컴퓨터에서 ...
R 프로그래밍과 데이터-처리
안녕하세요. 요 몇 개월 간 제 블로그의 포스팅이 없었죠?.. 요즘 데이터와 씨름하느라고 정신이 없었습니다. 이제 프로그래밍을 넘어서 데이터에 대한 작업을 조금씩 배워나가고 있습니다만 SQL 모델링은 조금 해봤으면서도 가장 기초적인 데이터처리 등은 서툴러서 작업을 하는 내내 생각하는 것은 국가에서 제공하는 커리큘럼을 조금 익혀볼까 라는 생각도 많이 하곤 합니다. 저는 은근 My-way 스타일이면서도 가끔씩은 이게 맞나 싶은 고민이 생길 때는 가이드라인을 타곤 합니다. 하지만 그 가이드라인을 보면서도 “비효율적이다”, “내 스타일은 ...
OpenCV Mouse Event 응용 - 이미지에 영역 표시
오늘은 OpenCV 포스트를 써보도록 하겠습니다. 영상처리에 대해서는 제가 프로그래밍 중 가장 자신없어 하는 부분입니다. 물론 텍스트 처리도 처음에는 어려워 했지만 지금은 많이 나아졌죠. 하지만 영상처리는 딱히 사용할만한 프로젝트를 해보지 못해 학부 수업 때 몇 번 끄적거린 이후 다시 만져보는 시간을 가지게 되었는데요. 오늘은 Rect 클래스와 rectangle 함수를 이용해서 불러온 이미지에 마우스 드래그를 이용하여 영역을 표시하는 방법에 대해 적어보겠습니다. RectOpenCV에는 기본적으로 이미지를 불러오기 위한 Mat 클래 ...
Spring boot에서 DBMS를 연동하는 방법 - JPA 기본편
지난 포스트에서 간단한 REST API 개발에 대해서 알 수 있었습니다. 아주 쉽게 GET 메소드에 대한 것만 정의하였고 나머지에 대한 메소드는 다루지 않았는데요. 오늘은 모든 REST API를 사용해보면서 테스트 또한 진행할 것입니다. 그러면 DBMS 연동에 대한 이야기 시작하도록 하겠습니다. DBMS Spring bootPHP, Node.js 등에서 DBMS를 연동하기 위해서는 PDO를 사용하거나 mongoose 등의 라이브러리를 사용하는 방법이 존재합니다. 여기서 mongoose는 Node.js에서 MongoDB를 사용하기 ...
Anko를 이용한 Android App Layout 작성
안드로이드 개발을 하면서 Kotlin 언어를 접하게 되었고 이를 써보면서 느끼는 바는 확실히 Java보다 강력하고 안정성 있는 언어라는 것을 많이 느낍니다. 그런데 제가 정말로 안드로이드 개발을 하면서 불편하다고 생각했던 것은 바로 findViewbyId 였습니다. 이 것은 XML에 레이아웃을 작성하여 레리아웃에 있는 컴포넌트를 id 값을 이용하여 자바 코드로 가져오는 방법인데, 실제 팀 프로젝트를 진행할 때 Resource 부분에 골 때리는 면이 없지 않아 있었습니다. 일부는 컴파일이 안되거나 갑자기 다른 곳에서 잘 되는 빌드가 ...