본문 바로가기
728x90

전체 글232

Redis(valkey)에 직접 커맨드를 추가해보자. Redis(Remote Dictionary Server)는 In memory Key-Value NoSQL 로 다양한 자료구조를 제공하는것이 특징입니다.이번 포스팅에서는 Redis에 새로운 명령어를 추가하는 과정을 수행하며 Redis 서버에 새로운 명령어를 등록하는 과정을 이해해보겠습니다. 목표echo 명령어처럼 문자열을 그대로 반환하는 echo_haward 명령어 추가실습은 오픈소스 valkey 저장소를 clone해서 사용합니다.Valkey란 무언인가?이걸 알기 위해선 Redis의 오픈소스 라이선스에 대해서 알아야합니다.최초의 Redis의 라이센스는 BSDv3 라이센스 였습니다.이 라이센스는 수정하면 수정했다고 명시만 해두면 어떻게 사용하더라도 문제가 없는 라이선스여서 많은 사람들이 Redis를 사용하게.. 2025. 5. 17.
Git 동작 원리 — Git init → add → commit → checkout → merge 완전 추적기 0. 프롤로그그동안 Git을 많이 사용했지만 내부 원리는 정확히 몰랐다. Git에 대한 개요를 설명하고 원리부터 명령 흐름까지 Git 전 과정( init → add → commit → checkout → merge )과 .git/index, .git/objects 구조를 단계별로 확인해보겠다. 1. 탄생 배경과 설계 목표Linux 커널은 1991년부터 2002년까지 패치와 tarball로만 관리됐다. 2002년에는 BitKeeper라는 상용 DVCS를 도입했지만 2005년에 무료 라이선스가 철회됐고, 그때 Linus Torvalds가 직접 만든 도구가 Git이다. Git은 아래 다섯 가지 목표를 세웠다.고성능수 초 내에 수만 개 파일 히스토리 탐색단순성변경 이력 = 스냅샷 체인완전 분산모든 클라이언트가 .. 2025. 5. 2.
2018 카카오 블라인드 코테 1차 캐시 문제https://school.programmers.co.kr/learn/courses/30/lessons/17680# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr정답 코드#include #include #include #include #include using namespace std;int solution(int cacheSize, vector cities) { int answer = 0; //list를 사용해서 매번 전체 순회 -> 30 * 100,000 개 시간 복잡도 OK list cache; for(int i=0; i 문제 풀이의 흐름간단하다 직접 캐시에 넣고 빼고 할.. 2025. 3. 12.
[PCCP 기출문제] 2번 / 퍼즐 게임 챌린지 문제https://school.programmers.co.kr/learn/courses/30/lessons/340212 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr정답 코드#include #include using namespace std;// 레벨과 난이도를 넣으면 소요 시간을 계산long long calcTime(int lv, int diff, int prev_time, int work_time){ long long t = work_time; if (diff > lv) t += (diff - lv) * (prev_time + work_time); return t;}//.. 2025. 3. 11.
데보션 전문가를 만나다) 커리어, 기술, 그리고 성장의 비결 안녕하세요, 데보션영 3기 Techwave Team 신중은입니다.얼마 전, DEVOCEAN YOUNG 활동 중 SK 전문가님과 인터뷰를 진행할 기회를 얻었습니다! 현업에서 활약 중인 전문가님의 진솔한 이야기와 깊이 있는 조언을 들으며, 커리어와 기술에 대한 많은 인사이트를 얻을 수 있었는데요, 이를 여러분과 나누고자 합니다. 이번 인터뷰는 약 3시간 동안 진행되었으며, 커리어 설계, 기술 습득 방법, 성장의 비결에 대한 다양한 이야기를 나눴습니다. 인터뷰 개요일시: 저녁 7시장소: SKT 타워 지하 2층참여자: 신중은, 이강희, 조자영, 황서아진행 방식: 대면 인터뷰소요 시간: 약 3시간Q1. 간단한 자기소개 부탁드립니다."저는 배기도라고 합니다. 2002년에 커리어를 시작해서 23년 동안 개발자로 일하.. 2024. 11. 25.
[도커 사용법 세미나] Docker를 활용한 효율적 개발 및 보안 전략(데보션 테크세미나) 시작하며안녕하세요! 저는 데보션영 3기 Techwave팀의 신중은입니다! 오늘은 지난 실용주의 글쓰기 세미나를 이어서 9월 26일에 열린 37차 테크 세미나의 리뷰를 작성하겠습니다. 이번 세미나는 Docker Captain인 염근철님의 발표로 진행되었습니다. 세미나 주제는 "Docker를 활용한 효율적 개발 및 보안전략"이었으며, Docker의 핵심 기능들을 보다 효율적으로 활용하는 방법과 최신 기능에 대한 소개를 하는 것이 세미나의 주요한 내용입니다.발표자 소개발표자는 도커캡틴으로 활동하고 계씬 염근철님이었습니다.- 현) 당근 SRE팀 소속- Docker Captain 🐳- 프로젝트    - SKHynix: 사내 머신러닝 대회 플랫폼 (If-Kaggle) 개발    - 우리은행: AI 서비스 허브 개.. 2024. 11. 23.
Aws Ec2에 무료로 spring 서버 올리기 0. 시작하며이 글에서 aws 회원가입까지는 다루진 않겠다.ssh 연결부터, spring 서버에 CI/CD를 하는 방법에 대해서 다루겠다.생각하는 구조는 다음과 같다.Ec2에 spring을 띄우고 Rds를 띄우고 redis를 띄우고 각각을 연동하는 방법을 알려주겠다.우리는 가난하기 때문에 무료로 모든 걸 세팅하는 방법에 대해서 다루겠다.1. Ec2 만들기인스턴스를 다음 그림처럼 만들어준다.1.1 운영체제 정하기여기서 운영체제를 amazon Linux로 만들어도 되고, ubuntu로 만들어도 된다.사실 두개 다 상관없지만 이 게시물에서는 ubuntu로 만들어준다. 명령어가 더 익숙하기 때문이다. 만약 amazon Linux 명령어가 더 편하거나 다른 이유가 있다면 amazon Linux를 사용해도 된다. .. 2024. 10. 10.
Aws SQS Spring 스캐줄러를 사용한 Listener 관리하기 이전에 SQS를 이용해서 리스너를 켜고 끄는 것 까지 진행해보았다. SQS의 설정이 궁금하다면 이 게시물을 참고하고 https://haward.tistory.com/246 sqs spring boot 사용법한국어로 된 블로그 중에 공식문서대로 설정한 사람이 거의 없는 것 같고 버전이 많이 달라져서 최신화된 글을 위해 작성합니다.이 글은 2024-8월에 동작이 확인된 글 입니다. SQS설정build.gradle//sqhaward.tistory.com 만약 리스너를 켜고 끄는 법을 알고 싶다면 이 게시물을 참고하자. https://haward.tistory.com/247 Aws SQS Spring으로 Listener Stop Start하기이 글을 읽고 기본 SQS세팅은 하고 진행하시길 바랍니다.https:/.. 2024. 10. 6.
[spring swagger로 에러문서화하기] 에러를 문서로 만들기 (2/2) 일단 이전에 에러를 어떻게 만들었고 global handler를 어떻게 만들었는지를 이전 게시물을 통해 확인하고 이 글을 읽도록 하자.https://haward.tistory.com/250 [spring swagger로 에러문서화하기] 에러 형식 정의 및 handler 정의 (1/2)시작하며공용 에러를 정의하고 스웨거를 통해 에러에 대해서 문서화를 하는 방법에 대해서 이야기 하도록 하겠다.이 게시물은 공통으로 사용할 에러의 형식을 만들어서 설정하는 부분을 먼저haward.tistory.com 이전 두 게시물에서 API의 에러를 처리하는 방법과 공통 에러 형식을 정의하는 방법을 다루었다. 이제는 Swagger를 이용해서 정의된 에러를 문서화하는 방법에 대해 알아보겠다. 0. 스웨거를 커스텀 하려면스웨거를 .. 2024. 9. 28.
728x90