| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
- API 토큰
- bootstrap
- typescript react
- react env
- nextjs .env
- API token
- icon
- nextjs
- SCSS
- CSS
- react typescript
- createGlobalStyle
- styled components
- react
- rewrites
- next.js
- npm styled-reset
- github io
- git lab
- getModifierState
- next.js css
- github
- There isn’t anything to compare
- dart 변수
- gitaction
- ngrok실행
- ngrok설치
- Git
- input type=file
- fetch
- Today
- Total
목록전체 글 (147)
꾸준히 성장하는 개발자
SSH만 쓰다가 AWS SSM + MFA로 서버 접속해본 기록여태 서버 배포는 Termius로 IP 넣고 SSH로 붙는 방식만 써왔다. 이번에 새로 맡은 서버는 접속 방식이 달랐다 — public IP도 SSH 포트도 없이 AWS SSM Session Manager로만 붙는 서버였다. 여기에 MFA 강제 정책까지 걸려 있어서, 접속 하나 하는 데 하루의 절반을 썼다. 같은 방식을 처음 만난 사람에게 도움이 되길.1. "IP가 뭐야?" → SSH로 못 들어간다늘 하던 대로 IP를 찾았는데, 서버 문서에 이렇게 적혀 있었다."이 EC2는 public IP·SSH 포트가 없고 SSM Session Manager로 접속한다."즉 public IP 자체가 없다. private IP만 있고 22포트도 안 열려 있다..
이번 프로젝트를 진행하면서 처음으로 PostgreSQL 을 사용하게 됐다.이전까지는 주로 MongoDB 를 사용했어서 관계형 데이터베이스(RDBMS) 구조가 익숙하지 않았는데, 사용하면서 MongoDB와 구조 자체가 꽤 다르다는 걸 느꼈다.헷갈렸던 부분들을 정리할 겸 PostgreSQL + Drizzle ORM 조합에 대해 간단하게 정리해본다.PostgreSQL이란?PostgreSQL은 대표적인 관계형 데이터베이스(RDBMS)다.MongoDB와 가장 큰 차이점은:데이터 구조를 먼저 정의한다는 점이다.MongoDB vs PostgreSQLMongoDBMongoDB는 구조 없이 데이터를 자유롭게 저장할 수 있다.예:{ "name": "홍길동"}다음 데이터는 구조가 달라도 그대로 저장 가능하다.{ "nam..
AI가 코드를 잘 짜게 만드는 4가지 원칙최근 Claude, Copilot 같은 AI 코딩 도구를 사용하는 개발자가 많아졌다.하지만 실제로 사용하다 보면 공통적인 불만이 자주 나온다.요청하지 않은 기능까지 멋대로 추가한다수정하지 말아야 할 코드까지 건드린다모르는 내용도 추측해서 구현해버린다코드가 과하게 복잡해진다OpenAI 공동창업자이자 Tesla AI 전 총괄인 Andrej Karpathy는 이런 문제를 줄이기 위해 Claude용 행동 지침을 직접 정의해서 사용한다고 한다.출처:andrej-karpathy-skills GitHub Repository핵심은 단순하다.적게 만들고, 적게 건드리고, 모르면 물어라.1. 코딩 전에 먼저 생각하라 (Think Before Coding)AI가 가장 많이 하는 실수..
평소에는 AWS EC2 서버에 .pem 키 파일로 접속하는 방식만 사용해왔다.그런데 유지보수 중인 프로젝트에서 배포가 필요했고, 해당 서버는 비밀번호 기반 SSH 접속 방식이었다.배포 스크립트를 자동화하려면 SSH 접속 시 비밀번호를 자동으로 입력해줘야 했고, 이를 해결하는 방법을 찾게 됐다.방법 1. sshpass 설치sshpass는 SSH 접속 시 비밀번호를 자동으로 입력해주는 도구다.스크립트에서는 아래처럼 사용할 수 있다.sshpass -p "비밀번호" ssh user@host "명령어"sshpass -p "비밀번호" scp file.tar.gz user@host:~/path/macOS 설치 방법macOS에서는 기본 brew로 설치가 안 되고 별도 탭을 추가해야 한다.brew install hudo..
운영 중이던 서비스에서 어느 순간부터 모든 사용자에게 동일한 에러가 발생하기 시작했다.특이한 점은 새로 배포한 코드가 전혀 없었다는 것이다.로그인은 정상적으로 되는데, 보호된 페이지로 이동하는 순간 400 Bad Request 가 발생했다. 이번 글은 그 원인을 추적하고 해결한 과정을 정리한 내용이다.사용 스택Next.js 14 (App Router)NextAuth (JWT 전략)AWS EC2 + PM2 + nginx외부 포털 SSOiframe + postMessage 로 토큰 전달1. 증상현상은 단순했다.로그인 성공보호된 페이지 진입 시 즉시 400 Bad Requestnginx 기본 에러 페이지 출력에러 메시지는 다음과 같았다.400 Bad RequestRequest Header Or Cookie T..
GitHub Actions에서는 별도의 설정 없이 ${{ }} 문법만으로 다양한 컨텍스트 변수에 접근할 수 있다. 이 글에서는 실무에서 자주 사용하는 핵심 컨텍스트를 정리하고, 바로 활용 가능한 패턴까지 함께 정리한다.1. github 컨텍스트워크플로우를 트리거한 이벤트와 실행 환경 정보를 담고 있다. 가장 많이 사용하는 핵심 컨텍스트다.주요 변수변수설명예시github.ref_name브랜치 또는 태그 이름main, devgithub.ref전체 ref 경로refs/heads/maingithub.sha커밋 해시 (전체)abc1234ef...github.event_name트리거 이벤트push, pull_requestgithub.actor실행 유저usernamegithub.repository리포지토리 이름org..