[FE/BE] JWT(JSON Web Token), Secret Key(시크릿 키) 완벽 가이드 (개요 및 정의, 알고리즘, 생성 및 관리, 실습)
·
Tech Archive/[FE & BE]
1. 들어가며웹 개발을 하다 보면 jsonwebtoken 라이브러리를 사용해 로그인 기능을 구현하는 튜토리얼을 수백 개는 보게 됩니다. 그리고 그 모든 튜토리얼에는 항상 이런 코드가 등장합니다.const SECRET = "your_super_secret_key";const token = jwt.sign({ userId: 123 }, SECRET);우리는 흔히 이 SECRET을 대수롭지 않게 "아, 그냥 아무 문자열이나 넣으면 되는 거구나"라고 생각하며 비밀번호(password123)나 프로젝트 이름(my_project_key)을 적어 넣곤 합니다. 심지어 이 코드를 그대로 깃허브(GitHub)에 올리기도 하죠.하지만 이 짧은 코드 한 줄에 모든 JWT 시스템의 보안이 걸려 있습니다. 해커가 이 시크릿 키..
[Git] GitHub 100MB 이상 대용량 파일 업로드 완벽 가이드 (Git LFS, 장단점, 실습, 상황별 처리 전략)
·
Tech Archive/[Git]
1. 들어가며: "왜 내 코드는 Push가 안 될까?"머신러닝 모델 가중치 파일(200MB), 게임 개발용 에셋 파일(500MB), 혹은 대용량 데이터셋(1GB). 프로젝트를 진행하다 보면 필연적으로 용량이 큰 파일을 다루게 됩니다. 기분 좋게 코딩을 마치고 git push를 날렸는데, 터미널에 아래와 같은 빨간색 에러 메시지가 뜬 적 있으신가요?remote: error: GH001: Large files detected. You may want to try Git Large File Storage.remote: error: File model.bin is 157.92 MB; this exceeds GitHub's file size limit of 100.00 MBGitHub은 성능 유지를 위해 100M..
[FE/BE] OAuth(Open Authorization) 완벽 가이드 (정의, 구성요소, 특징 및 장단점, GitHub OAuth 구현 방법)
·
Tech Archive/[FE & BE]
1. 들어가며우리가 새로운 웹 서비스나 앱에 가입할 때, "Google로 로그인", "카카오로 로그인" 버튼을 누르는 것은 일상이 되었습니다. 또한, Notion 앱에서 Google 캘린더 일정을 불러오거나, 특정 앱이 내 Facebook에 대신 글을 써주기도 합니다.만약 이 과정에서 우리가 해당 앱에 '우리의 진짜 구글 아이디와 비밀번호'를 넘겨주어야 한다면 어떨까요? 그 앱이 비밀번호를 해킹당하면 내 모든 구글 정보가 유출될 것이고, 앱이 내 맘대로 결제나 이메일을 열어볼 수도 있을 것입니다.이러한 치명적인 보안 문제를 해결하기 위해 등장한 전 세계적인 표준 기술이 바로 OAuth(Open Authorization)입니다. 사용자의 비밀번호를 넘겨주는 대신, "이 앱이 내 프로필 사진만 볼 수 있도록..
[IT_Tips] AX (AI Transformation)란 무엇인가? (정의, 장단점, 핵심 요소, 트랜드, DX와 비교)
·
Tech Archive/[IT_Tips]
1. 들어가며불과 몇 년 전까지만 해도 기업들의 최대 화두는 'DX(디지털 전환, Digital Transformation)'였습니다. 종이 서류를 PDF로 바꾸고, 수기 장부를 ERP 시스템으로 옮기며 업무의 효율을 높였죠.하지만 2022년 말 ChatGPT의 등장과 함께, 세상은 완전히 새로운 국면을 맞이했습니다. 이제 AI는 인간이 시키는 단순 작업을 돕는 '도구'를 넘어, 스스로 데이터를 학습하고 판단하여 의사결정을 내리는 '주체'로 진화했습니다.이렇게 조직의 의사결정 구조와 운영 방식, 일하는 문화 전체를 인공지능(AI) 중심으로 재설계하는 거대한 패러다임의 전환을 'AX(AI Transformation, 인공지능 전환)'이라고 부릅니다. 이번 포스팅에서는 AX가 도대체 무엇인지, DX와는 어떻..
[Linux] 우분투(Ubuntu)에서 구글 드라이브 연동 및 사용 완벽 가이드
·
Tech Archive/[Linux]
1. 들어가며윈도우나 macOS에서는 구글 드라이브를 설치하는 것이 클릭 몇 번으로 끝나는 간단한 일이지만, 리눅스(Ubuntu) 환경에서는 구글 공식 클라이언트가 존재하지 않아 많은 사용자가 당황하곤 합니다. 특히 개발 환경이나 서버 운영에서 클라우드 스토리지를 로컬 디렉토리처럼 활용하는 것은 데이터 백업과 협업의 효율성을 결정짓는 매우 중요한 요소입니다.우분투에서 구글 드라이브를 연동하는 방법은 단순히 파일을 복사하는 '동기화(Sync)'를 넘어, 클라우드를 하드디스크처럼 인식시키는 '마운트(Mount)' 방식까지 다양합니다. 이번 포스팅에서는 가장 강력하고 안정적인 도구인 rclone을 중심으로, 초보자도 따라 할 수 있는 구글 드라이브 연동 및 사용법을 총정리해 드립니다.2. 개요 및 정의http..
[IT_Tips] Linux & macOS에서 alias 만들기 - 개발자를 위한 완벽 가이드
·
Tech Archive/[IT_Tips]
1. 들어가며git status, git commit -m, docker-compose up -d...개발자나 시스템 관리자라면 하루에도 수십, 수백 번씩 반복해서 입력하는 명령어들이 있습니다. "타자 몇 번 더 치는 게 뭐 대수라고?" 생각할 수 있지만, 이는 단순한 시간 낭비의 문제가 아닙니다. 긴 명령어를 오타 없이 치기 위해 신경 쓰는 과정은 개발자의 인지적 마찰(Cognitive Friction)을 유발하고, 가장 중요한 '깊은 사고의 흐름'을 끊어버립니다.이러한 마찰을 제거하는 가장 단순하고도 강력한 무기가 바로 리눅스와 macOS에서 제공하는 'Alias(별칭)' 기능입니다. 매번 입력하기 번거로운 긴 명령어나 자주 사용하는 옵션의 조합을 짧은 단축어 하나로 바꿔치기해 주는 기능이죠.이번 포..
[AI/LLM] Docker + vLLM으로 Gemma4 31B 모델 서빙하기 (정의, 장단점, 구축하는 방법, 비교)
·
AI Study/[LLM]
1. 들어가며기업에서 사내 기밀 데이터나 개인정보가 포함된 문서를 처리할 때, ChatGPT나 Claude 같은 외부 API를 사용하는 것은 보안상 큰 리스크입니다. 결국 '사내 자체 구축(On-Premise) LLM'이 필수적인데, 이때 가장 큰 진입 장벽은 "어떻게 거대한 AI 모델을 안정적이고 빠르게 서빙(Serving)할 것인가?"입니다.현재 오픈소스 생태계에서 성능과 효율의 끝판왕으로 불리는 조합이 있습니다. 바로 구글의 최신 초거대 모델 'Gemma 4 (31B)'와, 메모리 낭비를 극적으로 줄여주는 추론 엔진 'vLLM', 그리고 이 모든 환경을 명령어 한 줄로 깔끔하게 관리해 주는 'Docker Compose'의 만남입니다.이번 포스팅에서는 파라미터가 310억 개에 달하는 Gemma 4 3..
[Git] GitHub Pull Request부터 Merge까지: 코드 리뷰의 모든 것
·
Tech Archive/[Git]
1. 들어가며현대 소프트웨어 개발에서 "코드를 어떻게 짤 것인가"만큼 중요한 것은 "코드를 어떻게 안전하게 합칠 것인가"입니다. 수많은 개발자가 동시에 같은 프로젝트를 수정할 때, 서로의 작업을 방해하지 않으면서 최상의 코드 품질을 유지하는 방법이 바로 GitHub의 Pull Request(PR) 시스템입니다.PR은 내가 작업한 내용을 팀에게 정식으로 제안하고, 동료들의 검토(Review)를 거쳐 메인 코드베이스에 반영하는 일련의 소통 과정입니다. 이 과정을 제대로 이해하면 협업의 효율성이 극대화되고 디버깅 시간이 획기적으로 줄어듭니다.입문자부터 실무자까지 아우르는 GitHub Pull Request부터 Merge까지의 완벽 가이드를 정리해 보았습니다.2. 개요 및 정의 2-1. Pull Request ..
[Git] Git Flow vs GitHub Flow 완전 비교 가이드: 당신의 팀에 맞는 브랜칭 전략은?
·
Tech Archive/[Git]
1. 들어가며개발자 여러 명이 하나의 프로젝트를 동시에 개발할 때, 각자의 코드가 서로 충돌하고 덮어씌워지는 대참사를 막기 위해 우리는 'Git(깃)'이라는 버전 관리 시스템을 사용합니다. 그리고 이 Git을 사용할 때, 메인 코드에서 가지(Branch)를 쳐서 각자 작업한 뒤 다시 합치는 과정을 거치게 됩니다.하지만 자유도가 너무 높은 Git 환경에서 아무런 규칙 없이 각자 마음대로 브랜치를 만들고 합치게 되면 어떻게 될까요? 프로젝트의 릴리스 일정이 꼬이고, 배포 중에 치명적인 버그가 터지는 등 걷잡을 수 없는 혼란에 빠지게 됩니다.그래서 등장한 것이 바로 '브랜치 전략(Branching Strategy)'입니다. 이는 "어떤 브랜치를 만들고, 언제 합치며, 언제 배포할 것인가"에 대한 팀 차원의 약..
[Git] GitHub Actions 완벽 정복 가이드: 코드 푸시부터 자동 배포까지 한 번에!
·
Tech Archive/[Git]
1. 들어가며개발자가 코드를 다 짜고 나면 끝일까요? 아닙니다. 코드가 잘 돌아가는지 테스트(Test)해야 하고, 실행 파일로 빌드(Build)해야 하며, 실제 서비스 중인 서버에 올리는 배포(Deploy) 과정을 거쳐야 합니다. 과거에는 이 모든 과정을 개발자가 수동으로 처리해야 했지만, 이 반복적이고 지루한 작업을 자동으로 해주는 마법 같은 시스템이 등장했습니다. 바로 CI/CD(지속적 통합/지속적 배포)입니다.수많은 CI/CD 도구(Jenkins, Travis CI 등) 중에서도 2018년 출시 이후 전 세계 개발자들을 열광시키며 사실상 업계 표준으로 자리 잡은 서비스가 있습니다. 바로 'GitHub Actions(깃허브 액션)'입니다.GitHub Actions는 우리가 코드를 저장하는 GitHub..