ChatGPT는 코드 작성에 무서울 정도로 능숙합니다.
모두들 들어봤어 채팅GPT 이 단계에서. 복잡한 질문에 대한 답변을 생성하기 위해 자연어 처리 모델을 사용하는 AI 기반 챗봇입니다. 이러한 답변이 항상 정확할 필요는 없지만 상당히 쉽게 제공되는 답변을 팩트체크할 수 있을 만큼 충분히 상세한 경향이 있습니다. ChatGPT를 사용하여 코드를 작성하려고 하면 어떻게 될까요?
밝혀진 바와 같이, 사용하려는 언어와 그 언어로 달성하려는 목표에 따라 다양한 수준의 성공으로 할 수 있는 일입니다. 다양한 작업을 완료하기 위해 다양한 프로그래밍 언어에서 얼마나 잘 작동하는지 확인하기 위해 테스트했습니다. 또한 ChatGPT가 생성하는 코드를 변경하지 않을 것이며 생성한 코드가 작동하지 않는 경우에만 작동하는 코드를 생성하도록 안내할 것입니다.
ChatGPT를 테스트하기 위해 이미 익숙한 세 가지 언어인 Python, C 및 Java를 사용했습니다. 내가 요청한 작업의 추상적 특성 때문에 Python에서 약간 어려움을 겪었지만 C와 기본 Java를 쉽게 처리했기 때문에 그 결과는 특히 놀라웠습니다. 나는 또한 GitHub 저장소 생성 여기에 있는 모든 코드에 액세스할 수 있으므로 직접 사용해 볼 수 있습니다.
Python에서 자동 페이지 확인
파이썬은 제가 가장 좋아하는 프로그래밍 언어입니다. 파이썬의 강력한 기능과 사용이 간편하기 때문입니다. 나는 과거에 작업 흐름의 일부를 자동화하기 위해 Python으로 많은 도구를 작성했으며 컴퓨터 과학 학사 학위 논문도 전적으로 Python을 통해 수행했습니다. 저는 ChatGPT에게 주기적으로 변경 사항이 있는지 웹 페이지를 스캔할 수 있는 프로그램을 작성해달라고 요청했고 대부분의 트릭을 수행했습니다.
나에게 제공되는 위 코드의 문제는 실제 브라우저를 시뮬레이트하지 않는다는 것입니다. 웹사이트는 "사용자 에이전트"라는 브라우저의 매개변수를 확인하며, 이는 사용 중인 브라우저의 종류 또는 봇인지 여부를 정의합니다. 많은 웹사이트는 사용자 에이전트를 정의하지 않는 연결을 허용하지 않으며 XDA에서 지적했을 때 이 문제를 만났습니다. 실제 브라우저를 시뮬레이트하기 위해 요청에 사용자 정의 헤더를 추가하도록 요청했고 준수했습니다.
위에 제공된 코드는 정적 웹 사이트에서 작동하지만 문제는 온라인에서 읽는 많은 콘텐츠가 동적이라는 것입니다. 예를 들어 페이지 어딘가에서 현재 시간을 반환하는 경우 위의 코드는 페이지를 새로 고칠 때마다 페이지가 변경되었음을 항상 알려줍니다. 이것을 ChatGPT에 지적했을 때 혼란스러워서 문제에 대한 완전히 잘못된 해결책을 제시했습니다.
위의 내용은 해시가 작동하는 방식에 대한 잘못된 설명입니다. 해시의 요점은 두 해시가 기본적으로 비교할 수 없다는 점에서 입력에 대한 사소한 변경으로 인해 해시에 큰 차이가 발생한다는 것입니다. 해시가 변경 사항을 비교하고 스캔하는 가장 좋은 방법이라고 제안하는 것은 잘못된 주장이라고 말했을 때 사과와 함께 답장을 보냈습니다. 했다 일하다.
위의 코드에서 발견한 유일한 문제는 더 큰 웹사이트의 경우 차이를 비교하고 계산하기 위해 자연어 처리를 사용하므로 계산 비용이 많이 듭니다. 그들 사이에. 그래도 변경된 콘텐츠의 5% 임계값은 업데이트를 확인하려는 경우 대부분의 웹 사이트에 충분하며 필요한 경우 임계값을 조정할 수 있습니다. 시간이 좀 걸렸지 만 결국 거기에 도착했습니다.
이 중 하나와 같은 웹 스크레이퍼를 원할 수 있는 많은 이유가 있으며 이를 수행할 수 있는 도구가 있지만 직접 구축하는 것이 좋습니다. 패키지 추적에 사용할 수 있으며 제 경우에는 지역 부동산 사이트에서 임대 중인 새 부동산을 검색하는 데 사용할 수 있습니다.
C의 암호 생성기
최근 보안이 대두되면서 보안 암호를 사용하고 이중 인증도 사용하는 것이 중요합니다. 보안 암호 부분으로 어려움을 겪고 있다면 C로 암호 생성기를 작성하는 것이 매우 쉽습니다. ChatGPT는 그것을 꽤 쉽게 처리했고 내가 발견한 유일한 문제는 암호 생성기를 생성하도록 요청했을 때 String C 라이브러리를 가져오지 않았다는 것입니다. 나는 그것을 말했고 처음에 가져 오기에 추가했습니다.
MAX_LENGTH 전역 변수를 16자가 아닌 32자로 늘렸으며 aW3H0E(&FPQvG8B@4*()+4yRKTKB#U0O. 그것이 효과가 있다고 말하는 것이 안전합니다!
자바 계산기
많은 사람들이 Java에서 경험한 꽤 기본적인 프로그램은 계산기를 만드는 것입니다. 어떤 언어를 먼저 배우든 컴퓨터 과학자들이 프로그래밍 경력에서 직면하게 될 초기 과제 중 하나입니다. 저는 ChatGPT에게 최소 두 개의 클래스를 사용하는 Java로 계산기를 작성해 달라고 요청했고 첫 번째 시도에서 완벽하게 작동했습니다.
다음은 계산기 수업입니다.
이것이 메인 클래스입니다.
내 IDE인 IntelliJ에서 이 두 클래스를 모두 만들고 기본 클래스를 실행하면 완벽하게 작동하는 두 개의 숫자와 덧셈, 뺄셈, 곱셈 또는 연산자를 사용하는 계산기 프로그램 분할.
ChatGPT는 프로그래밍에 적합합니다.
모든 것을 ChatGPT에 의존하지는 않겠지만 프로그램을 만들고 문제가 있을 때 비판을 고려하는 데 꽤 좋은 일을 할 수 있다는 것은 분명합니다. 웹 페이지의 사소한 변경 사항을 식별하는 방법으로 해싱 알고리즘을 제안하는 것을 보고 놀랐지만 그 외에는 더 기본적인 작업과 씨름하지 않았습니다. Python 프로그램의 경우에도 처음부터 올바른 아이디어가 있었고 보다 정적인 페이지에서는 완벽하게 작동했을 것입니다.
물론 ChatGPT가 머지않아 프로그래머를 정확히 대체하지는 않겠지만, 인력에서 아주 좋은 도구가 되는 과정에 있습니다. GitHub의 부조종사예를 들어 다음을 사용합니다. GPT 사람들이 코드를 작성하는 데 도움이 되는 기술이며 시간이 지남에 따라 더욱 발전할 것입니다. 당신이 초보 프로그래머라도 완전히 신뢰할 수 있다면 이런 종류의 도구는 잠재적으로 배우는 데 도움이 될 수 있지만, 우리가 본 것처럼 때때로 이상한 실수를 합니다.
물론 여기에 제공된 예제는 매우 기본적이며 대부분의 프로그래머는 상당히 쉽게 작성할 수 있지만 그게 요점이 아닙니다. 간단한 작업에 대한 솔루션을 구축하는 데 무서울 정도로 뛰어나고 더 복잡한 작업도 적절하게 처리하는 것 같습니다. 우리는 이러한 도구가 미래에 어디로 가고 사람들이 기술을 향상시키는 데 도움이 되는지 보게 되어 기쁩니다.