golang

· Project
서버를 개발하다 보면 데이터를 csv 형태로 내보내는 기능을 구현해야할 때가 있다.특히 통계 데이터나 리포트를 제공하는 서비스에서는 필수적인 기능이다. 이번 포스트에서는 실제 프로덕션 코드를 기반으로 golang에서 csv 다운로드 API를 구현하는 방법을 자세히 살펴보자.CSV 파일이란?CSV(Comma Separated Values) 파일은 각각의 데이터 값을 콤마(,)로 구분하는 파일의 형식이다.이 파일은 데이터 레코드로 구성되며, 각 레코드가 테이블의 단일 행에 해당하고, 각 필드는 쉼표로 구분한다.각 열에 어떤 정보가 저장되어 있는지 설명하는 열 머리글은 파일의 첫 줄에 자주 표시한다. JSON Response vs CSV Response일반적으로 API를 개발할 때 우리는 JSON 형태의 응답..
(최초 작성일: 2024.12 ...ㅎ...)프로젝트를 진행하면서 전체 코드 마무리를 내가 맡았는데, 데이터를 꼼꼼히 다시 재검토하면서 데이터가 기존과 상이한 것을 발견했다.대충 코드를 훑어보면 아무 문제가 없어 보였기 때문에 대체 왜!!! 왜!!! 데이터가 제대로 쌓이지 않는지 내 소중하 머리털을 쥐어 뜯으며 삽질에 삽질을 더했다.다른 이슈들도 병행했기 때문에 원인 발견에만 이틀 정도가 소요되었다!! 해결하지 못하면 어떡하지 싶은 아찔한 기분도 느꼈었다.원인을 알아내니 다행히 해결은 차근차근 빠르게 진행할 수 있었다. 나는 이 에러들을 'Go 서버의 악마들'이라고 감히 말하고 싶다!평소에는 Go 언어의 장점으로 개발자들에게 편의성을 제공하는걸로 알려져 있지만 잘못 사용하게 된다면 그야말로 악마로 탈변하..
이 글을 3월 9일에 쓰기 시작했는데 현생이 바빠서 6월에 완성..ㅎ..얼기설기 끼워 맞추기QA 테스트 기간 전까지 남은 개발 기간은 단 2-3일 밖에 없었다. 그래서 나는 시니어 개발자분의 원래 설계를 그대로 따르되 예외 처리와 추가 개발을 통해 현재 차트 오류를 해결하고자 했다. 첫 번째 시도: 동시성 제어를 위한 Race Condition 해결우선적으로 잡아야한다고 생각한 부분은 base chart generator와 event handler 간의 race condition이었다. base chart가 먼저 기본 차트 틀을 만들기 전에 event handler가 데이터를 업데이트하고, 그 이후에 base chart가 또 데이터를 업데이트하니, 차트 데이터가 엉망이 되었던 것이다. 가장 단순하게 생각..
블록체인 업계에서 핫했던 '밈 코인 발행 플랫폼'을 우리 회사에서도 개발하게 되었다.개요 '밈 코인 발행 플랫폼'이란 사용자가 쉽게 자신만의 토큰을 생성하고 거래할 수 있는 서비스로, ERC-20이나 SPL 토큰 표준을 활용해 복잡한 스마트 컨트랙트 지식 없이도 누구나 토큰을 발행하고 이를 AMM(Automated Market Maker) 기반 DEX(Decentralized Exchange)에 자동으로 상장시킬 수 있는 생태계를 제공한다. 밈 코인 플랫폼이 업계에서 핫해진 이유는 Web3의 접근성 문제를 해결하며 진입 장벽을 낮춤으로써 일반 사용자들도 쉽게 토큰 이코노미에 참여할 수 있게 되었기 때문이다. 또한 밈 문화와 블록체인의 결합은 커뮤니티 기반의 강력한 네트워크 효과를 만들어내며, 토큰 발행자..
빵빵0
'golang' 태그의 글 목록