생각했으면 행동한다 GitHub

2025/10 7

cc1.exe: sorry, unimplemented: 64-bit mode not compiled in

Gin 컴파일 오류Go로 간단한 프로젝트를 생성해서 실행해보려는데 동작하지 않고 다음과 같은 오류가 발생했다.cc1.exe: sorry, unimplemented: 64-bit mode not compiled in현재 환경은 Gin(go의 웹 프레임워크)과 Sqlite다.다른 패키지 없이(Orm 포함) 프로젝트를 실행할 때는 아무 문제 없었으나 GORM을 사용한 이후에 갑자기 발생하였다. 알아보니 호환되지 않는 C Compiler를 사용하고 있기 때문이었다.MinGW 32Bit 전용 컴파일러를 사용하고 있는데 아마도 Sqlite를 64버전으로 설치해서 그런 것 같다. 앞으로도 타 실행 프로그램의 아키텍처 버전도 신경써야 덜 골치 아프지 않을까 싶다. 해결기존에 사용하던 컴파일러(MinGW GCC 6.3...

Problems 2025.10.31

DB 백업의 개념

서문DB 백업을 해본 적이 있다. 다만 AWS RDS에서 옵션 설정으로 간단히 다뤄보았을 뿐이다.몇 번의 딸깍으로 가능하니 정말 편하다. 하지만 어디서든 RDS 같은 서버리스 서비스를 사용하진 않는다. 그래서 복제 또는 샤딩으로 손수 백업 전략을 구현해보려고 한다.그러기 전에 DB 백업과 관련된 개념들을 정리하고자 한다. DB 백업이란'보험'의 개념에 가깝다. 평소에는 쓸일이 전혀 없지만 사고가 났을 때는 보험은 정말 많은 도움이 된다.IT에서 사고는 다음과 같다.하드웨어 고장 : 서버의 디스크가 망가지는 경우재난 : 화재나 지진으로 서버가 물리적으로 망가지는 경우인재(人災) : 중요한 데이터를 삭제하거나 테이블 전체를 날리는 경우소프트웨어 오류 : 악의적인 공격이나 오류로 데이터가 엉망이 되는 경우 이..

SQS, Kafka?

고민의 시작프로젝트 진행 중에 변경할 사항이 생겼다.지금까지는 스프링 내에서 In-Memory Queue에 직접 담아두는 방식으로 거래 트랜잭션을 처리했다.이 방법은 속도는 빠를지언정 서버가 다운되는 등의 갑작스러운 상황에 대응할 수 없었다. 특히 kubernetes의 pod는 잦은 스케일링으로 인해 거래 엔진의 갯수가 일정하지 않으므로 트랜잭션 관리에 어려움이 있었다.이 부분을 해결하고자 큐를 외부로 분리해서 중앙집중적으로 관리하는 게 낫다고 판단했다.그렇다면 여기서 또 다른 고민이 생긴다. 어떤 툴을 사용해야 하는가? 위 차트는 설명을 위한 참고일 뿐, 절대 기준으로 삼으시면 안됩니다. SQS, Kafka, RabbitMQ 등등 다양한 선택지가 있었다. 모두 훌륭한 툴이지만 당연히 하나만 골라야 한다..

Insight 2025.10.27

HyperText Transfer Protocol

시작IT 관련 학부생이었다면 네트워크나 프로그래밍 관련 전공수업에서 HTTP는 무조건 들어봤을 것이다. 이번에는 지식을 견고히 하고 확장하는 차원에서 HTTP를 다뤄보려고 한다. HTTP - HyperText Transfer ProtocolHTTP는 클라이언트와 서버가 데이터를 주고 받는 데에 사용되는 통신 규칙(Protocol)이다. 보통 클라이언트는 웹브라우저가, 서버는 웹 서버가 그 역할을 맡는다. 그렇다면 클라이언트와 서버가 주고 받는 데이터란 무엇인가? 명칭에서 알 수 있듯, 하이퍼텍스트(HyperText)다. 하이퍼텍스트란, 문서 안의 다른 문서나 리소스로 연결되는 링크를 포함할 수 있도록 하는 구조화된 텍스트를 의미한다.비선형적 구조 : 일반적인 책이나 문서는 순서에 따라 읽지만 하이퍼텍스트..

CS/네트워크 2025.10.24

이미지 경량화의 여정(2) - Jdeps와 Jlink

다른 도전2025.09.21 - [Container & Orchestration/Docker] - 이미지 경량화의 여정(1) - Distroless에 대하여 이미지 경량화의 여정(1) - Distroless에 대하여개요최근에 컨테이너를 공부하고 있다. 자주 다루는 기술을 단순히 "해봤다"에 그치지 않고 더 깊이 있게 이해하려 한다.오늘 다루는 주제인 컨테이너 이미지 경량화가 그 일환이다.컨테이너 이aitidev.tistory.com 지난 번에는 Distroless 이미지를 사용한 과정과 결과에 대해 포스팅했다.이번에는 또 다른 방법으로 이미지 최적화를 진행해볼 생각이다. 바로 jdeps와 jlink를 이용한 방법이다. Layered Jar를 적용한 기존 이미지에도 이를 사용할 수 있는지 알아보겠다. jd..

AWS 리전 장애, 그리고 벤더 종속

AWS US-EAST-1(버지니아)에서 장애 발생한국 시간으로 10월 20일 오후 4시 경, AWS에서 최초이자 가장 큰 리전인 US-EAST-1에서 장애가 발생했다.AWS에서 제공 중인 다양한 서비스가 먹통이 된 것이다. 이로 인해, 해당 리전에 실행 중인 각종 서비스가 사용불가 상태가 됐다. Canva, 퍼플렉시티, 스냅챗, 로블록스, Docker Hub 등등.현재는 거의 해결되었고 대부분의 서비스도 복구가 되었다. (AWS Config·Redshift·Connect 같은 서비스는 현재도 처리 중에 있다고 한다. 아마 곧 복구 될 것 같다.)하지만 AWS에서 공식적으로 원인을 발표하진 않았다. 일부는 급작스럽게 증가한 AI 컴퓨팅 리소스 때문이라고 한다. 일리 있지만 결국 내부자가 아니라면 절대 모..

Insight 2025.10.21

다중 서버 환경에서 세션 인증 기반 방식의 문제점?

생각거리다중 서버 환경에서 세션 기반 인증 방식을 사용하는 경우 발생할 수 있는 문제점은?요즘 면접에 대비한 다양한 질문을 받고 있다. 그 중에 깊게 생각해볼 질문만 정리해보려 한다. 위의 질문이 그것이다.여기서 다중 서버 환경이라고 한다면 MSA를 의미하는 것이라고 생각한다. 세션 기반 인증은 로그인을 진행할 때 클라이언트에게 받은 민감정보(아이디와 비밀번호)를 DB에 찾아 일치하는 정보가 있다면 세션을 발급한다. 이후에 클라이언트는 인증이 필요한 요청을 할 때마다 세션을 함께 보낸다.정리는 했다. 그러면 어떤 문제가 발생할 수 있을까? 한 10분 가량 쓰면서 생각해봤는데 두 가지 측면에서 나뉜다.성능잦은 세션 발급이 서버의 성능 저하를 유발하고 DB에 과부하를 줄 수 있다. 또한 그만큼 세션이 발급된..

Insight 2025.10.01
반응형