Loading...

[GP] C++에서 Map에 대해 알아보자

이 글은 N.K Dev Lab에서 작성된 글입니다. 안녕하세요. 오늘은 C++ STL에 대한 글을 써보려 합니다. 본래 저는 STL과 같은 기본적인 글은 잘 쓰지 않으려 했습니다. 워낙 Documentation도 잘 되어 있는 편이고, 블로그의 글 주제로 쓰기에는 적합하지 않다고 생각했습니다. 하지만 오늘 이 글을 쓰게 된 계기는 제가 알고리즘 풀이를 몇 번 진행하면서 제가 주로 쓰고 있는 Java 언어와 다소 차이가 있는 것으로 확인이 된 자료구조가 몇 있었습니다. 그래서 각 언어에서 비슷한 자료구조의 형태가 STL이나 API로 지원된다하더라도 언어에 따라 사용하는 방법이나 각 함수들에 대한 기능에 대해서는 짚고 넘어가야 할 필요가 있다고 느꼈습니다. What is STL ?STL은 C++에서 제공하는..

2019.07.29 13:25

GraalVM - R과 Java 사이

안녕하세요. 정말 오랜만에 글을 작성합니다. 오늘은 오랜만에 작성한다는 의미를 담아 조금 특별한 개발글을 적어보고자 합니다. 개발을 하다보면, 한 가지 언어가 아닌 여러가지 언어를 사용할 때가 많이 있습니다. 특히 저의 경우는 데이터 처리 하면서 애플리케이션을 개발할 때 이러한 경우를 많이 느끼곤 했었는데요. GraalVM이 무엇이고 이것이 혼용 언어의 개발과 어떠한 연관이 있는지에 대해 알아보도록 하겠습니다. R과 Java 사이 R 언어는 보통 데이터 처리를 할 때 많이 사용하는 언어 중 하나입니다. 하지만 애플리케이션을 만들지 못하는 것은 아닙니다. R에서는 Shiny라는 공식 웹 애플리케이션을 제공하여 이를 이용해서도 R을 이용한 웹 애플리케이션 개발이 가능합니다. 그렇지만 이러한 웹 애플리케이션이..

[GP] R에서 코드를 병렬처리 하는 방법

이 글은 N.K Dev Lab에서 작성된 글입니다. 오늘은 R 코드를 병렬 처리하는 방법에 대해서 알아보겠습니다. 병렬 처리? 많이 들어보셨던 말씀이겠지만 병렬 처리가 일단 무엇인지 먼저 알아보고 진행해보도록 하겠습니다. Parallel Processing병렬 처리 혹은 계산은 컴퓨터를 이용해서 동시에 많은 계산을 하도록 하는 처리 방법 중에 하나입니다. 과거에는 프로세서 성능이 하나당 코어 한 개를 가지고 있기 때문에 병렬 처리라는 것은 사실상 불가능한 것에 가까웠습니다. 하지만 이를 가능하도록 한 것은 멀티태스킹 방식이 있었기 때문이죠. 이 방법은 하나의 계산을 여러 개로 쪼개서 나눠 처리하는 방식으로 동시에 많은 계산을 한꺼번에 처리하는 것이랑은 약간의 차이가 있었습니다. 하지만 현대 프로세서에는 ..

[GP] Spring boot에서 DBMS를 연동하는 방법 JPA 고급편

이 글은 N.K Dev Lab에서 작성된 글입니다. 안녕하세요. Spring 관련 글을 정말 안쓴지가 너무 오래되었네요…ㅠㅠ 요즘 데이터 분야에서 일하다보니 R을 다루면서 백엔드에 대한 포스팅이 많이 밀려있네요.. 앞으로는 Spring을 이용한 오픈 프로젝트에 참여 중이니 다시 재건을 위해서라도 천천히 하나씩 글을 작성해보도록 하겠습니다. 이번에는 지난 글에 이어서 JPA 고급편에 대해 작성해보도록 하겠습니다. 워낙 오래됐음에도 불구하고 고급편에 무엇을 적어야할지 명시가 되어 있네요. 오늘은 그 부분을 다뤄보겠습니다.SQL과 HQLSQL은 Structed Query Language의 약자로 DBMS의 데이터를 조작/제어하는 쿼리 언어 중에 하나입니다. SQL Server에서는 T-SQL을 사용하는 것처럼..

[GP] R에서 데이터베이스(RDBMS)와 연결하는 3가지 방법

이 글은 N.K Dev Lab에서 작성된 글입니다. 안녕하세요. 이제 2018년도 이틀밖에 남지 않았네요. 오늘은 R에서 관계형 데이터베이스 서버와 연결하는 3가지 방법에 대해 설명드리고자 합니다. R을 사용하여 데이터 처리를 할 때는 이를 보관할 보조 기억 장소가 필요합니다. 물론 R에서 제공하는 RDS 포맷의 파일 형식이 있지만 이는 싱글 형태로 사용하거나 혹은 R 내에서만 사용할 수 있는 아주 제한적인 요소를 담고 있습니다. 그에 반해 관계형 데이터베이스에 보관하게 되면 다른 프로그래밍 언어에서도 자유로이 호환이 제공되고 여러 사람이 공유해서 사용할 수가 있죠. 오늘은 R에서 처리한 데이터를 RDBMS에 어떻게 insert하고 read할 수 있는지에 대해 알아보도록 하겠습니다. R에서 제공하는 DB..

[GP] R의 다양한 자료구조들

이 글은 N.K Dev Lab에서 작성된 글입니다. 이제 거의 8월 달도 끝나가는군요. 간만에 비오는 주말입니다. 태풍 솔록이 지나가면서부터 드디어 대한민국에 2018년 첫 여름비가 내린 것 같은 느낌이네요. (혹시 정말 첫 여름비일지도 모르겠군요…) Data Structure in R 프로그래밍을 하게 되면 자연스럽게 만날 수 있는 것은 바로 자료구조입니다. 처음 학부시간에 자료구조를 배웠을 때는 ‘왜 이것을 배워야하지?’라는 의문을 잔득 가졌었습니다. 그 때는 프로그래밍에 대해서 관심이 많지도 않았고 대학에서 가르쳐주는 그저 영어 같았습니다. 본론으로 넘어가서 자료구조는 컴퓨터에서 자료를 보관하기 위한 한 방법입니다. 코딩을 하게 되면 우리는 필요한 데이터를 저장해야 합니다. 하지만 그것은 우리가 생..

[GP] R 프로그래밍과 데이터-처리

이 글은 N.K Dev Lab에서 작성된 글입니다. 안녕하세요. 요 몇 개월 간 제 블로그의 포스팅이 없었죠?.. 요즘 데이터와 씨름하느라고 정신이 없었습니다. 이제 프로그래밍을 넘어서 데이터에 대한 작업을 조금씩 배워나가고 있습니다만 SQL 모델링은 조금 해봤으면서도 가장 기초적인 데이터처리 등은 서툴러서 작업을 하는 내내 생각하는 것은 국가에서 제공하는 커리큘럼을 조금 익혀볼까 라는 생각도 많이 하곤 합니다. 저는 은근 My-way 스타일이면서도 가끔씩은 이게 맞나 싶은 고민이 생길 때는 가이드라인을 타곤 합니다. 하지만 그 가이드라인을 보면서도 “비효율적이다”, “내 스타일은 아니다.”, “더 깔끔하게”라는 욕심을 가지게 되는데, 그러다보면 한참을 고민하다가도 진도 진행이 되지 않아서 요즘에는 짜다..

2018.06.30 18:26

GoormEdu Coding Party Season 1 (구름 코딩 파티 시즌1) 후기

안녕하세요. 오늘은 기술 이야기가 아닌 간단한 후기를 적어보고자 합니다. 약 20일 전, 구름EDU와 몇 개의 스타트업, 기업이 주최한 코딩 파티가 있었습니다. 이 행사는 코딩을 하나도 할 줄 모르는 초등학생부터 성인까지를 포함하여 게임으로 즐기는 스케치 코딩과 각 기업에서 실시한 코딩테스트를 미리 체험할 수 있도록 한 텍스트 코딩 모의고사가 있었습니다.꽤 흥미롭고 제 실력이 어느 정도인지를 보고자 텍스트 코딩에 있는 모든 문제들을 가능한한 많이 풀어보는 것을 목표로 하였습니다. 다 풀었으면 좋았겠지만 동미참 예비군 훈련도 존재하였고 면접이나 취업적인 일도 있어서 아쉽게도 다 풀어보지 못한 게 조금 아쉽긴 했었습니다. 문제의 난이도음 대략적인 문제의 난이도는 객관적으로 봤을 때 "그렇게 어렵지 않다"라고..

[GP] Spring boot에서 DBMS를 연동하는 방법 - JPA 기본편

이 글은 N.K Dev Lab에서 작성된 글입니다. 지난 포스트에서 간단한 REST API 개발에 대해서 알 수 있었습니다. 아주 쉽게 GET 메소드에 대한 것만 정의하였고 나머지에 대한 메소드는 다루지 않았는데요. 오늘은 모든 REST API를 사용해보면서 테스트 또한 진행할 것입니다. 그러면 DBMS 연동에 대한 이야기 시작하도록 하겠습니다. DBMS <–> Spring boot PHP, Node.js 등에서 DBMS를 연동하기 위해서는 PDO를 사용하거나 mongoose 등의 라이브러리를 사용하는 방법이 존재합니다. 여기서 mongoose는 Node.js에서 MongoDB를 사용하기 위한 라이브러리이고, PDO는 PHP에서 MySQL 등의 DBMS를 연동하기 위한 객체입니다. Spring boot에..

[GP] Anko를 이용한 Android App Layout 작성

이 글은 N.K Dev Lab에서 작성된 글입니다. 안드로이드 개발을 하면서 Kotlin 언어를 접하게 되었고 이를 써보면서 느끼는 바는 확실히 Java보다 강력하고 안정성 있는 언어라는 것을 많이 느낍니다. 그런데 제가 정말로 안드로이드 개발을 하면서 불편하다고 생각했던 것은 바로 findViewbyId 였습니다. 이 것은 XML에 레이아웃을 작성하여 레리아웃에 있는 컴포넌트를 id 값을 이용하여 자바 코드로 가져오는 방법인데, 실제 팀 프로젝트를 진행할 때 Resource 부분에 골 때리는 면이 없지 않아 있었습니다. 일부는 컴파일이 안되거나 갑자기 다른 곳에서 잘 되는 빌드가 옮겨 타면 안되는 현상이 나타나는 등 여러가지 해괴한 현상을 많이 경험했습니다. 그런 저는 findViewById가 onCr..