여러분들은 ChatGPT를 적극적으로 활용하고 계신가요?``

윈폼만 조금 만지작거리다가 UI를 사용자 요구에 맞춰서 좀 더 유연성 있게 대응하고 싶어서 WPF를 튜토리얼 따라가면서 배우고 있습니다.

그러다가 문득 WPF에서 UI 이벤트와 관련된 테스트는 어떻게 작성하는지 궁금해서 ChatGPT에게 물어봤습니다.

아래와 같은 코드를 던져 주더라구요!

[TestMethod]
public void TestButtonChangesLabelContent()
{
    // Create an instance of your WPF window:
    MainWindow window = new MainWindow();

    // Find the button and label in the window:
    Button button = (Button)window.FindName("MyButton");
    Label label = (Label)window.FindName("MyLabel");

    // Simulate a button click:
    button.RaiseEvent(new RoutedEventArgs(Button.ClickEvent, button));

    // Check that the label's content has been updated:
    Assert.AreEqual("Button clicked!", label.Content);
}

어? 그런데 실행이 안 됩니다. 다음과 같은 오류가 발생했습니다.

System.InvalidOperationException: 많은 UI 구성 요소에서 호출 스레드가 필요하므로 해당 스레드는 STA여야 합니다.

그래서 또 물어봤죠! 그랬더니 STA Thread에서 실행시켜야 한다는군요. 이때 윈폼에서 보던 [STAThread] 태그가 무엇인지 알게됐죠. 다음은 ChatGPT가 던져준 코드입니다.

Thread staThread = new Thread(() =>
{
  // your code...
});
staThread.SetApartmentState(ApartmentState.STA);
staThread.Start();

와우… 바로 문제가 해결됐습니다. 물론 저 위의 대답을 얻기까지 조금은 돌아가긴 했지만, 저는 개인적으로 다음과 같은 생각을 하게 됐습니다.

개인 학습에 있어서 ChatGPT를 적극적으로 활용하면 공부할 때 막히는 게 있을 때 원활하게 해결할 수 있겠구나.

원래는 맨날 SO 접속해서 영어로 힘겹게 질문하고 나면, 중복이야! 제대로 질문해! 이런 말을 듣기 일쑤였는데요 ㅠㅜ

올바른 방식으로만 질문한다면, 보다 빠르게 효율적으로 답을 얻을 수 있어서 행복하네요.
무료 버전 이용하고 있는데도 만족스럽습니다. 나중에 무료가 사라진다고 하더라도 월에 3만 원 정도라도 지불할 의향이 생길 거 같네요 ㅎㅎ

거기다가 영어로 질문하면 더 정확하게 답변을 받으니까 영어 공부하는 동기도 부여해줘서 베스트!

다들 어떻게들 사용하고 계신가요? 저는 올해 가을부터 회사에서 일을 시작할 거 같은데 실무에서 뛰고 있는 여러분들의 생각이 궁금합니다!

7개의 좋아요

개인적으로 ChatGPT가 업무의 효율성을 올려주는 면에서는 굉장한 강점이 있다고 생각합니다. 그런데 잘 생각해보면 분명한 한계점도 있는데요, 결국 ChatGPT가 원하는 답을 알려줄 수 있는 근간은 기존에 나와있는 정보를 학습했기 때문에 가능한 것입니다.

만약 들어오는 학습 데이터 자체가 잘못되있거나 편향되어있다면, GIGO (Garbage-In Garbage-Out) 문제를 만나게 됩니다. ChatGPT 스스로가 자정 능력이 있다기 보다, 다양한 교정과 보정 메커니즘을 내장하고 있고, ChatGPT를 관리하는 OpenAI 엔지니어들의 노력이 뒷받침된 결과에 가까운 것이라고 생각합니다.

그래서 어느정도 참고하기 좋은 시작점이 될 수 있고, Kickstart에는 유리할지 몰라도 말씀하신 "동기부여의 원천"으로 Generative AI의 출력물을 100% 신뢰하는 것은 큰 리스크를 동반한다고 생각합니다.

정리하면, 스스로의 공학 윤리에 입각해서 학습을 할 때 얼마나 적절하게 차용하고, 일할 때 얼마나 적절하게 활용할 것인지 신중하고 심각하게 고민을 한 뒤에 효용성을 확인하고 활용한다면 나쁘지 않을 것이라는 생각이 있습니다. :slight_smile:

6개의 좋아요

확실히! 말씀해주신 대로 GIGIO 문제는 인지하고 사용하면 좋겠군요. 좋은 의견 감사드립니다. 앞으로는 그 부분을 기억하면서 써보겠습니다 : D

1개의 좋아요

대중적인 유행의 파급력은 상당히 클 것 같습니다.
특히 죽어가는 개발 커뮤니티에 쐐기를 박지 않을까 우려 됩니다.
개발자 관점에서 질의하고 문제 해결 및 답을 찾는 과정에서 성장한다고 생각하는데
AI에 의존성이 높아지면 복잡한 문제의 벽을 넘기 힘들듯 합니다.
검색하고 스스로 판단하여 최적의 답을 찾는 것 보다 ChatGPT로 바로 물어 보는 게 편하긴 하겠죠
아직은 문제를 이해하고 답변하는 게 아니라 전 관망 중이네요(사실 쓸 일이 그닥 없습니다)

5개의 좋아요

확실히 ai 챗봇이 상용화가 많이 된다면, 개발자 커뮤니티의 축소성을 느낄 수밖에 없는 거 같습니다. 당장 모르는 거 생기면 ChatGPT 쓰면 되니까… 안 그래도 소규모인 커뮤니티는 더 위험할 수도 있겠네요

2개의 좋아요

저도 이미 유료가 한국에 결제가 가능해진 뒤 몇시간 후에 바로 결제를 해서 사용하고 있지만, 깊은 질문은 여전히 헛소리를 하고 있습니다.

입문자의 입장에선 gpt가 좋은 선생님이 될 순 있지만 중간급이상에겐 도움되는 부분은 상당히 적은 것 같습니다. 어떻게 해결할 수 있는지는 알려주지만 그렇게 해결이 가능한 원리는 잘 설명을 못하네요.

물론 기술쪽말고도 다른 질의응답이 가능한 것도 있으니 결제를 해서 효과보는 것도 있고 예전 같았으면 검색을 해서 좋은 답을 얻는 시간을 찾은만큼 그 글을 북마크로 저장하고 돌려봤고 그 시간을 많이 아껴준 것은 사실인 것 같습니다.

gpt가 더욱 발전하려면 여러 기술포스팅같은 양질의 글이 계속해야할 것 같고, 사람의 입장에서 초보적인 질문을 경력자들이 되풀이해서 반복해주는 것에 대해 기계가 해소해주는 것은 좋은 거 같네요.

커뮤니티와 gpt가 함께 발전해 나가야할 거 같습니다.
저희 회사에서도 초보자나 비개발자들이 업무에 도입해서 쓰는 사례가 꽤 나오고 있어서 코딩장벽을 허무는데는 좋을 거 같아요. (중간급 이상에선 여전히 도움은 잘 안되는 걸로…)

6개의 좋아요

아하! 확실히 무슨 느낌인지 알 거 같습니다.

2개의 좋아요

질문할 때 예를 들어 WPF .NET6로 구현해줘 하면, .NET6에 맞게 구현을 해주더군요. C# 사용하는 프레임워크 버전도 입력해주면 좀 더 정확한 코드를 받을 수 있습니다.

4개의 좋아요

사실, 저도 chat-gpt 나오고 테스트 코드 짤때 도움을 받을 수 있겠다라는 생각은 하고 있었는데, 실제로 시도해 보셨네요. 향후 지속적으로 적용하시면, github 에 올려서 공유도 해주세요.

1개의 좋아요

오늘 Bing 채팅도 사용가능하기에 테스트 해봤는데, ChatGpt와는 다르게 답변을 참고한 주소가 나와서 나름 좋은것 같습니다.

[Bing 답변]
image

[ChatGpt 답변]
image

3개의 좋아요

그래도 어느정도 제한된 코드인것 같고 copilot를 고려중입니다
한달에 2만원 가량의 부사수라

2개의 좋아요

전체적인 제 의견은 @Vincent 님께서 작성해주신 덧글과 비슷한 것 같습니다.

저는 제가 장난 칠 때 말고 진지하게 물어본 질문 중
체감상 70%가 쓰레기 답변만 뱉은 것 같았는데요,
괜히 인터넷 커뮤니티에서 허풍떠는 GPT 라는 걸로 캡쳐가 도는게 아니겠지요.

그나마, bing chat 은 '내가 보고 있는 사이트’를 기반으로 검색해줘서 그런가
답변들이 약간 덜 짜증나긴 하더라구요.
참조 하는 링크도 알려줘서 팩트체크 하기에 편했습니다.

전 오히려 걱정 되는 부분이…
질문답변글에 GPT 내용만 긁어와서 붙여넣는걸 보니 썩 좋은 현상은 아닌 것 같더라구요.

4개의 좋아요