김 형준(babokim)http://www.popit.kr

2024-01-12
다시 글쓰기를 새로 시작해보려고 합니다. 잘 정리된 글보다는 개발 중에서 발생하는 이슈 기술적인  이슈 처리 위주로 숏하게 써보려고 합니다. 안하는 것보다는 조금이라도 하는게 좋다라는 생각으로 진행합니다. Spark에서 기존 잘 실행되고 있는 프로그램을 복사해서 몇가지 수정한 후 실행 시 다음과 같은 에러가 발생 하였습니다. 소스 코드 원인 위 에러 메시지는 Spark job 결과를 Text 파일로 저장할 경우 발생할 수 있는 에러 메시지인데 내용은 다음과 같습니다....
2022-08-16
마이크로서비스 아키텍처가 많이 보급 되면서 클라이언트와 서버 간의 인증 상태를 유지하는 기존의 전통적인 서버 세션 방식과는 다른  클라이드 사이드 세션인 JWT(JSON Web Token) 방식이 많이 활용되고 있습니다. 필자도 처음에는 "마이크로 서비스에서는 인증은 주로 JWT를 사용한다" 라는 의견에 공감하면서 그냥 생각없이 사용하고 있었는데 한번은 정리해야 할 필요성을 느껴 정리해볼까 합니다. 이번글에서는 기존의 세션 방식과 JWT Token 방식은 어떤  차이가 있으며 마이크로 서비스에서는 왜 JWT가 사용되는지, 보안적으로는 어떤 고려할 사항들은 어떤 것들이 있는지 알아 보겠습니다....
2021-12-12
최근 log4j의 보안 취약점이 크게 이슈가 되고 있습니다. 많은 개발자나 운영자들이 이 조치를 위해 정신이 없을것 같아 간단하게 글로 남겨 봅니다. log4j는 자바를 사용하는 많은 프로젝트에 사용되기 때문에 직접 개발한 코드 뿐만 아니라 자바 개발된 서버 사이드 솔루션들도 모두 점검을 해봐야 합니다. 일반적으로 가장 많이 사용되는 자바로 개발된 서버 사이드 솔루션은  대략 다음과 같습니다. Tomcat JBoss Jenkins ElasticSearch Hadoop Kafka Spark 등등 방화벽 안쪽에 있는 서버나 포트가 외부에 공개되지 않은 서버라도 모두 취약점의 대상이 될 수 있습니다. 이유는 다음과 같은 취약성 때문입니다....
2020-08-18
데이터를 보는 많은 분들이 특징이 내가 만든 또는 내 PC의 엑셀에 있는 데이터하고 DB와 같이 서버에 있는 데이터하고 같이 볼 수 있는 방법이 없나? 라는 요구사항입니다. 이번 글에서 비슷하게 나마 요구사항을 만족시킬 수 있는 방법을 소개해 드리겠습니다. 최근 지인의 요청으로 AWS 환경을 좀 볼 수 있는 시간을 가졌습니다. 지인의 서비스는 작년 하반기 부터 갑작스럽게 성장하면서 데이터가 많아지고 분석의 요구도 많아지는데 전문적으로 이를 처리할 수 있는 개발 인력이나 조직은 거의 없는 상태였습니다. 물론 AWS의 좋은 서비스 덕분에 그럭저럭 운영은 하고 있었지만 한계에 부딪히고 있었는데 이런 저런 니즈가 서로 부합되어 잠시 도움을 주게 되었습니다. 대략 데이터 발생원으로 부터 정제된 형태의 데이터로 저장하는 데이터 파이프라인을 구성하고 이를 기반으로 SQL 등으로 쉽게 분석할 수 있는 체계를 만드는 작업이었습니다. 이번 글에서는 Google Sheet의 각 파일과 MySQL 또는 HDFS, S3 등에 저장된 데이터와 JOIN을 할 수 있는 방법에 대해 간단하게 소개해 드리겠습니다....
2020-03-31
이번 글은 Nginx proxy 뒤에 다시 Docker 실행된 wordpress에 https 를 적용하면서 겪었던 문제 및 해결 방법을 공유한 글입니다. 이런 구성을 말로만 설명하려니 조금 복잡한데 아래 글에 있는 구성에서 이 서버에 홈페이지를 추가 하기 위해 wordpress docker container를 실행했습니다. 커머스 코드 자산화 개발일지 - 4 출시 실제 구성은 다음과 같이 됩니다. 구성을 보시면 하나의 서버에 다양한 API 서버가 실행되고 있고 각각은 다른 서브 도메인을 사용하고 있습니다. 이들 도메인 간의 proxy 설정을 위해 가장 앞 단에 nginx를 위치하고 있습니다....
2020-03-23
필자가 주로 사용하는  개발 언어는 자바입니다. 실제로 여러 프로젝트에서 성능 튜닝 관련 업무를 수행하였습니다. 최근 몆년 동안에는 일반적인 API 서버 개발 시에는 주로 Go 언어를 사용하고 있습니다. 이유는 간단함과 Docker 패키징하기 쉽고, 부족한 서버 예산으로 메모리, CPU 를 작게 사용하는 언어라고 봤기 때문입니다. 간단하고, 쉬운 Docker 패키징 등은 개발자의 경험으로 확인할 수 있지만 서버의 메모리나 CPU의 사용에 대해서는 "대충 이럴 것이다" 라는 감만 있었지 확실한 테스트를 수행해 보지는 않았습니다. 마침 저와 비슷한 경험을 가진 개발자가 자바와 Go 언어에 대해 서버의 CPU, Memory 사용과, 응답 시간 등 성능에 대한 테스트를 수행한 글이 있어 간단하게 소개해보고자 합니다....
2020-01-29
책만 출판사 사장님께서 보내주신 " IT 개발자의 영어 필살기 " 책을 받고 대충 읽어 본 다음 보내주신 성의를 생각해서 리뷰 [1] 를 쓸까 하다가 오랫동안 묵혀 두었던 주제인 중국어에 대해 정리해 볼까 하는 생각이 들었습니다. 필자는 2017년부터 약 2년 정도 중국 북경에 거주 하면서 일반 중국인과 몇명의 조선족이 있는 조직에서 일을 하였습니다. 이번 글에서는 필자가 겪은 북경에서 회사일, 생활을 하면서 경험 했던 내용 중 언어 부분에 대해 이야기 해볼까 합니다. 원래 이 내용은 중국어가 어느 정도 익숙해지면 쓰려고 했지만 언제 그 정도 수준까지 올라갈지 몰라서 일단 쓰고 봅니다....
2020-01-16
필자는 popit.kr을 운영하기 이전에 지금은 삭제된 개인 블로그에 글을 게재를 했었습니다. 대부분의 글을 popit으로 옮겼다고 생각했는데 지인이 블로터에 있는 이글 링크를 보내왔습니다.  2012년초 빅데이터라는 용어가 막 나타나던 시기에 쓴 글인데 기록할 가치가 있어 다시 게재해 봅니다. 지금에 보는 빅데이터와는 지금 다른 개념도 있기 때문에 읽으시는 분들은 그 시대의 상황을 감안하시고 적절하게 필터링해서 읽어 주셨으면 합니다. 소개한 기술들도 레트로 급이네요. ====================================== 2012년 새해 첫 포스팅입니다. 많은 이슈가 되고 있는 빅데이터에 대해 간단하게 제 의견을 정리해 보았습니다. 본문의 내용은 지극히 개인적인 의견일뿐입니다. 잘못된 부분도 있을 수 있고 왜곡된 부분도 있을 수 있습니다. 태클은 댓글로 남겨주세요....
2020-01-09
그동안 중국 서비스 개발 경험을 기반으로 하여 2019년 하반기에 대략 3개월 정도의 시간을 투입하여 중국 국내 거주 중국인을 대상으로 한국내 생산 또는 판매되는 제품을 직구하는 서비스를 개발하였습니다. 이 서비스 개발에 사용된 주요 구성 및 개발 시 부딪혔던 어려움을 공유해 보려고 합니다. 대략 다음과 같은 선택지나 어려움이 있었습니다. 제한된 개발 인력, 개발 기간내에 iOS, 파편화된 안드로이드 앱을 개발에 하느냐? 다른 대안은? 중국 회사 설립 해야 하나?...
2019-12-18
두 편에 걸쳐 위챗 미니 프로그램 또는 위챗의 개발 플랫폼에 대해 소개 하였습니다. 지금부터는 실제 위챗 미니 프로그램을 어떻게 만들고 배포 하는지에 대해 소개하겠습니다.  위챗 미니프로그램에 대한 개념 및 개발 시 필요한 계정 신청은 다음 글을 참고해주세요. WeChat Mini Program(小程序) 개발 계정 만들기 위챗 개발 플랫폼의 이해 위챗 미니 프로그램 개발하면서 가장 먼저 부딪히는 것이 개발 문서가 부족하다는 것입니다. 실제로는 부족하지 않지만 많은 문서가 중국어로 되어 있고 바이두에서 검색해야 노출되는 경우가 많습니다.  위챗 자체에서 제공하는 개발 관련 문서는 영문으로도 제공하고 있지만 개발 중에 부딪히는 다양한 문제들을 해결하기 위해서는 기본적으로 제공하는 문서 이외에 개발자들의 다양한 삽질기를 살펴봐야 하는데 대부분의 이런 문서는 중국어로 되어 있어 문제를 해결하는데 어려움이 있습니다. 이번 위챗 개발 글 시리즈를 통해 필자가 직접 개발하면서 겪은 문제를 공유해서 위챗 프로그램을 개발하고자 하는 한국 개발자에게 도움이 되었으면 합니다....
더보기