본문 바로가기

전체 글17

[Claude Code] Claude Code가 실수를 반복하지 않게 만드는 하네스 엔지니어링 같은 Claude Code를 사용하는데도 결과물의 품질은 사람마다 크게 다릅니다.어떤 개발자는 몇 문장만 입력해도 테스트까지 통과한 코드를 얻지만, 어떤 개발자는 “그게 아니라 다시 수정해줘”라는 요청을 여러 번 반복합니다. 이런 차이가 생기는 이유를 단순히 프롬프트 작성 능력이나 AI 모델의 성능 차이로만 설명하기는 어렵습니다.최근 AI 코딩 분야에서 주목받는 개념이 바로 하네스 엔지니어링(Harness Engineering)입니다.하네스 엔지니어링은 AI에게 더 길고 자세한 명령을 내리는 방법이 아닙니다. AI가 프로젝트를 올바르게 이해하고, 허용된 범위 안에서 작업하며, 자신의 결과를 자동으로 검증할 수 있도록 주변 실행 환경을 설계하는 방법입니다.이번 글에서는 하네스의 개념부터 Claude Cod.. 2026. 8. 3.
Claude AI 사용법 완벽 정리(2026년 8월): 프롬프트 작성법부터 Artifacts, Projects, Claude Code까지 개발 업무에서 AI는 단순히 코드를 대신 작성해 주는 도구를 넘어섰습니다. 요구사항을 정리하고, 오류의 원인을 추적하며, 여러 파일에 걸친 코드를 수정하는 개발 파트너에 가까워지고 있는데요.Anthropic이 개발한 Claude AI는 긴 문서와 코드베이스를 처리하는 능력, 복잡한 추론, 에이전트 기반 코딩 작업에 강점을 가진 AI 서비스입니다.이번 글에서는 Claude AI를 처음 사용하는 분도 쉽게 이해할 수 있도록 모델 선택법, 프롬프트 작성 공식, Artifacts, Projects, Claude Code 활용법을 차례대로 정리해 보겠습니다.1. Claude AI란 무엇인가요?Claude AI는 Anthropic이 개발한 생성형 AI입니다. 일반적인 질문과 답변뿐만 아니라 다음과 같은 개발 업무에.. 2026. 8. 2.
Communications link failure 에러가 떴을 때 (feat. DataGrip) DataGrip에서 DB에 연결할 때 Communications link failure 에러가 뜨는 경우가 있다. 원인을 찾아보니 Amazon Aurora MySQL을 써야 하는데 MySQL로 되어있어서 그랬다. 그랬을 때 DataGrip에서 Driver를 바꾸면 된다. 아래 그림에서 Driver 옆에 파란 글씨를 클릭해서 Amazon Aurora MySQL로 바꿔주고 다시 접속하면 해결! 2022. 8. 26.
서버 reboot 시에 서비스(Rails, sidekiq, pm2) 자동으로 실행되도록 하기(ft. systemd) 서버가 갑자기 죽은 경우를 대비해 서버를 재시작하면 rails를 띄우는 방법을 찾아봤다. 처음에는 crontab을 이용했다. @reboot su - user1 -c "cd /home/user1/helloworld && bundle exec rails s" (user1의 계정으로 서비스 띄우기) 잘 되긴 했는데, 이것보다는 서비스를 등록해서 하는 방법이 더 일반적이라고 해서 찾아봤다. 세팅할 서버는 centos 7이었고, 여기에는 systemd를 사용해서 할 수 있다. 방법 간략히. 1. root 계정으로 /etc/systemd/system에 서비스 파일을 만든다. 2. 서비스를 등록한다. 관련 명령어는 아래와 같다. systemctl enable helloworld.service 등록하기(이것만 해주면 .. 2021. 5. 24.
varmilo 키보드를 mac에 연결하기 바밀로 고래 키보드. 정식 이름은 '해운'으로 알고 있다. 고래와 벚꽃 중에 고민하다가 고래로 겟! 사실 받은지 꽤 오래됐는데 며칠 전에 귀염둥이가 키보드를 막 만지다가 키가 꼬였는지.. 잘 되던 한영키가 제대로 안 먹히기 시작했다. 작업은 해야겠고.. 그래서 맥 키보드와 고래 키보드를 왔다갔다하며.. 작업하다가... 도저히 이건 아니다. 능률이 떨어진다ㅜㅠㅜ 하며 열심히 방법을 찾았다. Command키가 인식 안 될 때 처음 키보드를 받았을 때 내 생각에는 윈도우키로 추정되는 해파리키가 Command에 매핑되어야 하는데 아무리 눌러도 이상하게 작동을 했다. 그래서 그때 해결 방법은 설정 > 키보드 > 키보드 에서 키를 바꾸는 방법이었다. 빠르게 해결할 수 있는 방법이기도 하다. 위에 키보드 선택을 하고.. 2021. 3. 9.
ssh로 쉽고 빠르게 접속하기 $ cd ~/.ssh # .ssh로 이동합니다. $ ssh-keygen # 키를 만듭니다. ssh key를 먼저 만듭니다. 이때 키를 저장하고 싶은 위치를 정할 수 있습니다. 저는 그냥 생략! 비번도 물어보지만 넘어갔습니다. 암호를 비워두면 ssh 키 사용할 때 암호를 안 묻는다고 하네요. 그리고 해당 서버에 접속해서 ~/.ssh/authorizaed_keys에 만든 public key를 추가합니다. $ cd ~/.ssh $ ls authorized_keys known_hosts .. $ vi authorized_keys # 로컬에 있는 id_rsa.pub 내용을 authorized_keys 붙여넣습니다. 그리고 내 컴퓨터의 ~/.ssh/config에 아래와 같이 작성합니다. $ vi ~/.ssh/con.. 2021. 1. 21.
티스토리에서 코드블록 어렵네요 ㅠㅠㅠ 한번 날잡고 세팅하고 기록을 남겨야겠어요 ㅠ 2021. 1. 21.
scp 파일 복사 명령어 scp -i ~/.ssh/maria.pem -P 22 -r root@30.30.30.30:/home/webapp/test/current/log/test1.gz /Users/maria/logs/test 이렇게 하면 파일 복사가 된다. -i와 그 뒤에 파일은 비밀번호 없이 가져오기 위한 방법 2020. 12. 29.
grep grep은 파일에서 원하는 줄을 찾을 수 있도록 도와준다. grep -n 'special' | grep 'select' 이렇게 하면 special 와 select라는 문구가 모두 들어가있는 줄이 줄넘버와 함께 같이 나온다. -n : 라인 넘버와 같이 나온다. 2020. 12. 29.
[ruby]class_eval과 module_eval의 차이 결론부터 말하면 class_eval과 module_eval의 작동 차이는 없다. module_eval의 alias가 class_eval이다. 실제 두 함수를 사용할 때 차이점이 생긴다. class_eval은 객체의 attribute를 다룰 때 사용한다. 예를 들어 객체의 암호화된 필드가 있다면 그 암호화된 필드를 부를 때 자동으로 복호화하는 함수를 만들 수 있다. module_eval은 객체의 method를 만들 때 사용한다. class Thing end #클래스를 만든다. a = %q{def hello() "Hello there!" end} Thing.module_eval(a) # module_eval을 사용해서 hello()라는 함수를 Thing에 추가한다. puts Thing.new.hello() .. 2020. 12. 20.