ChatGPT는 현대 개발 프로세스에서 다양한 역할을 수행할 수 있는 강력한 도구로 자리 잡고 있습니다. 이러한 인공 지능 모델은 다양한 측면에서 개발자들을 지원하고, 창의성을 끌어올리며, 생산성을 향상시킬 수 있습니다. (챗GPT에게 서론 뽑아달라고 함)
챗 GPT가 코드를 짜는데 도움을 준다. 다만 비즈니스나 프로세스를 이해하고 어떤 코드를 짤 지 까지 고민하는건(분석 및 설계) 아직 우리 몫인듯 함. 실제로 설계와 분석이 오래걸리고 코드를 짜는건 상대적으로 덜 걸리는데, 이부분을 챗 GPT를 통해 더 줄여볼 수 있을것 같다.
😁1. 코드 부터 테스트케이스까지 작성하기
휴대전화번호 체크 정규식에 오류가 있는상황 이고 하이픈(-) 대신 공백을 넣으면 유효성검증을 통과하지 못함
1) 코드작성
챗 GPT에게 자바스크립트로 원하는 정규식을 만들어달라고 요청 했다.
2) 테스트 케이스 작성 요청
만들어진 정규식을 가지고 테스트케이스를 작성해달라고 했다. 그러나 mocha와 chai를 설치해야 한다.
귀찮고 번거로우니 바닐라 자바스크립트로 다시 짜달라고 한다.
🧨3) 그 외에 이런것도 가능하지만 회사 내부 코드를 챗 GPT에 올리는 일⭐(내부 코드 유출)⭐은 없도록 하자
코드 단순화와 복잡한 코드 설명(주석달아주기)
복잡한 코드의 이해를 돕기 위해 주석을 달아주고 단순화 시켜줄 수있다.
대체코드 생성
챗GPT는 다양한 코드로 훈련되어 다양한 프로그래밍 언어와 패턴,알고리즘을 알고 있기 때문에 요청한 코드의 개선사항을 제안할 수 있고, 어떤 부분이 개선되었는지도 함께 알려줌.
에러가 발생하는 부분 찾기 가능
😁2. 문서 작성
1) 위에 나온 mocha와 chai는 무엇일까? 특정 포멧으로 요청해서 문서화 할 수 있다.
이걸 뤼튼(chatGpt 4.0버전을 무료로 사용할 수 있는 사이트)에 물어봤다.
챗 gpt 3.5 버전도 잘 대답해준다.
Mocha
Mocha는 JavaScript에서 사용되는 피처-리치한 테스트 프레임워크입니다. Node.js에서 백엔드 테스트를 위해 사용될 수 있고, 브라우저에서 프론트엔드 테스트를 위해 사용될 수도 있습니다.
주요 기능:
동기와 비동기 테스팅 지원
Test-cases 마다의 Hooks 지원 (setup, teardown 등)
Node.js 디버거와 호환 가능
사용 예제:
describe('Array', function() {
describe('#indexOf()', function() {
it('should return -1 when the value is not present', function() {
assert.equal([1, 2, 3].indexOf(4), -1);
});
});
});
Chai
Chai는 BDD(Behavior Driven Development) / TDD(Test Driven Development) 라이브러리로서 Node.js와 브라우저 모두에서 동작합니다. Chai는 Mocha와 같은 테스트 프레임워크와 함께 사용되어 단언(assertion)을 쉽게 만들 수 있게 해줍니다.
주요 기능:
BDD / TDD 스타일의 단언 지원
다양한 인터페이스 제공 (Expect, Should, Assert)
Plugin 아키텍처를 가지고 있어서 확장성이 좋음
사용 예제:
var expect = chai.expect;
expect(foo).to.be.a('string');
expect(foo).to.equal('bar');
expect(foo).to.have.lengthOf(3);
expect(tea).to.have.property('flavors')
.with.lengthOf(3);
Mocha와 Chai는 자주 함께 사용되며 이를 통해 강력하고 유연한 테스팅 환경을 구축할 수 있습니다.
😁3. 쿼리에 대한 질문도 가능
내가 어떤 쿼리를 작성하고 싶을 때 함수 추천과 함께 사용방법 등을 알려준다.
😁4. 번역 (stackoverflow, 공식영어문서, 의사소통 등에 대한 번역이 가능함)
생각보다 번역 수준이 좋은것 같아 놀랐음.
보통 개발하면서 찾는 자료들은 영어로 된 문서들이 많은데 이제는 읽을 수 있게 됐다.
스택오버플로우도 두렵지 않다.
외국 업체의 문의도 대응이 가능하다.
5. 이제 탭이 쪼그라들만큼의 구글을 끄고 공부는 안해도 될까?
대답은 '아니다'일듯 하다. 내가 써보면서 느꼈던 점은 이렇다.
항상 의심해야한다 Chat Gpt는 정답만 말하는게 아닌것 같다. 하지만 엄청 그럴싸하게 대답한다. 자칫하면 속아넘어갈 수 있기 때문이다.
무엇을 물어볼지를 알아야한다 구체적으로 물어볼수록, 추가 질문을 할 수록 챗지피티의 답변은 정답에 가까워 진다는 사실을 명심하자!