비주얼 스튜디오(Visual Studio) WinForm 에서 폼 디자이너가 나타나지 않을 때

Developer's Story|2025. 3. 20. 15:35
반응형

비주얼 스튜디오로 만든 Winform 프로젝트를 수정할 일이 생겨서 프로젝트를 열었는데 폼 디자이너가 전혀 열리지 않는 현상이 발생했다. 인터넷을 뒤져서 이것저것 찾아 보았지만 해결을 할 수가 없었다. 

 

그러다 우연히 프로젝트가 들어있는 폴더를 밖으로 빼고 다시 불러와 보니 정상적으로 폼 디자이너가 보이기 시작했다. 

원인은 이번에 비주얼 스튜디오가 업그레이드 되면서 프로젝트 파일들이 들어있는 폴더에 ( ) 를 사용했을 경우 문제가 발생한다는 것을 알아냈다. 

 

난 프로그램 버젼을 폴더에 () 안에 표시하는데 그걸 빼고 했더니 정상 동작이 되었다. 이게 오류인지 일부러 그렇게 만든건지 모르겠다. 

하여간 아래 처럼 ( ) 제외해야 폼 디자이너가 정상적으로 나타난다. 

 

기존 폴더 : D:\TestProject(Ver 1.0.0)\   오류

수정 폴더 : D:\TestProject\                    정상

 

 

반응형

댓글()

소프트웨어 개발에 AI(인공지능)의 활용

Developer's Story|2025. 2. 27. 13:46
반응형

최근들어 AI 기술이 발달함에 따라 소프트웨어 개발에도 많이들 AI를 활용하는 방안들에 대한 고민을 하고 있는 것 같다. 

이런 추세에 맞춰서 나 또한 최근에 Chat-GPT 를 많이 활용하기 시작했다. 

 

별도로 사용료를 내지 않는 무료버젼을 사용하는데 가끔 새로운 라이브러리나 알고리즘에 대해 Chat-GPT 에게 물어 보면 상당히 좋은 코드를 뽑아내 준다. 최소 몇시간에서 몇일을 자료 찾아가며 만들어야 할 코드를 질문 몇번으로 깔끔하게 만들어 주는 것을 보면 참 세상 많이 좋아졌구나 하는 생각이 든다. 

 

예전에는 개발자 사이트에 찾아 들어가서 QnA 에 올려 놓고 한정없이 답변달리기만 기다리거나 읽기 힘든 원서로된 레퍼런스 자료들을 읽어 가며 코딩을 했었는데 이제는 한글로 질문 몇번만 하면 코드를 척척 뽑아내 준다. 

 

한 예로 내 경우 제어프로그램을 하다보니 Recipe 관련 코드를 많이 사용하는데 저장파일을 주로 ini 형식을 주로 사용했었다. 그런데 ini 파일에 단점이 항목이 하나 늘어나면 관련해서 수정해야 할 코드가 4~5 군데나 되다 보니 상당히 귀찮아서 yaml 을 이용한 recipe 관리를 하기위해 관련 라이브러리를 설치하고 yaml 라이브러리를 사용하기 위한 코드를 chat-gpt 에게 요청하니 바로 코드를 만들어 주었고 그 코드를 특별히 수정하지 않고 적용해 보니 잘 동작하였다. 

 

또 OpenCV 관련하여 이미지 프로세싱 관련한 코드들도 잘 만들어 주어서 조금만 수정하면 꽤 괞찬은 코드가 생성되기도 했다. 

 

한번은 Aging 관련하여 장비를 납품받은 업체에서 프로그램이 자꾸 다운이 된다는 문의가 왔다. 보통 1000시간 이상 돌아 가는 장비라서 중간에 프로그램이 죽어 버리면 상당한 문제가 되었다. 문제를 찾기 위해 코드를 아무리 뒤져 보아도 문제점을 찾을 수가 없었고 프로그램이 보통 200~300시간 잘 돌아가다가 죽어버리는 상황이었기에 현장에서 디버깅을 걸어 놓아도 그 시간동안 기다릴 수가 없으니 원인을 찾기가 매우 힘들었다. 코드를 아무리 보아도 원인을 찾을 수 없어서 마지막 방법으로 Chat-GPT를 이용하 보기로 하고 그래도 의심이 가는 코드들 넣어서 문제점을 물어 보았지만 역시 문제점이 없었다. 그러다 문득 계측기 업체가 자기들 계측기를 사용하기 위해 제공한 소스코드를 그대로 복붙에서 사용한 부분이 있었는데 처음에는 계측기 업체에서 제공한 코드라서 전혀 의심을 하지 않았기에 혹시나 하고 그 코드를 AI에게 물어 보니 Variant 변수를 설정해서 사용하고는 변수에 대한 메모리 해제를 하지 않아 메모리 오버플로우가 발생한 사실을 찾아 내었다. AI 가 아니었으면 원인 찾는데 꽤 많은 시간을 낭비할 뻔 했다.

 

그런데 이렇게 조금씩 인공지능에 의존하다 보니 왠지 이제는 코드짜는데 머리쓰는것이 너무 너무 귀찮게 생각된다. 

이러다가는 머리가 썩어서 기본적인 코드도 못짜게 되는게 아닌지 한편으로는 걱정도 된다. 

 

계산기를 사용하고 부터는 기초적인 사칙연산도 귀찮고 어렵게 느껴지는 것처럼 이제 코딩도 너무 귀찮게 생각되고 말로 몇마디 하면 그냥 프로그램 뚝딱 만들어 줘 버리는 세상이 되면 나같은 개발자들은 다 없어질지도 모르겠다.  

반응형

댓글()

제어 소프트웨어 엔지니어에 대한 생각.

Developer's Story|2023. 3. 30. 00:39
반응형

다른 분야도 그렇겠지만 소프트웨어도 참 다양한 개발 분야가 있습니다. 
최근 급격히 뜨고 있는 모바일 개발 분야를 비롯해 웹앱, 게임, 백엔드, 프론트엔드, 팩키지, 또 저같은 제어 등등해서 참 다양하게 많습니다. 
그 중에서 혹시나 기계제어나 계측에 관심이 있는 분들을 위해 몇자 적어 보려 합니다.

1. 어떤 언어를 배우는게 좋을까?
  일단 제어에 관심이 있는 분들이라면 저는 C계열의 언어를 공부하라고 제안을 드립니다. 물론 제어 분야에서도 다양한 언어(파스칼, Visual Basic 등)을 사용하기도 하지만 그래도 가장 많이 사용하는 언어는 C++ 언어가 아닐까 생각됩니다. 제 경우 기본적으로 C언어로 마이컴 펌웨어 개발과 핸드폰 UI 개발을 경험하고 이후 C++언어를 통해 제어 계측 쪽으로 분야를 옮긴 경우 입니다. 
일단 기계 제어를 하기위해서는 각종 카드들의 드라이버나 통신을 통한 제어를 많이 하게 되는데 이것들을 제어하기위한 라이브러리 들이 기본적으로 C나 C++ 로 되어 있습니다.  
요즘은 C# 도 많이 사용이 됩니다. 저도 얼마전부터는 C#으로 변경했는데 라이브러리 사용성 면에서나 화면 GUI 설계에 시간을 많이 절약할 수 있기 때문에 최근 급격히 사용이 늘어나지 않나 생각이 듭니다. 

2. 기계에 대한 지식이 전혀 없는데 괜찮을까?
  이쪽 분야가 제 생각에 소프트웨어 기술적으로만 본다면 난이도가 그다지 높은 분야는 아니라고 생각됩니다. 
언어 하나를 잘 다룰줄 알고 절차적인 흐름에 대한 이해도만 있다면 누구나 어렵지 않게 접근 가능한 분야입니다. 물론 잡다한 지식이 필요할 때도 있습니다. 제어와 계측을 같이 해야하는 프로그램을 할 경우에는 소프트웨어 지식뿐 아니라 실제 계측 데이타나 생산되는 제품의 특성, 성질등의 이론적 지식도 필요할 때가 있기는 합니다. 
제 경우는 광반도체 분야의 장비를 주로 개발하다보니 Laser Diode 의 물리적 특성이나 데이타 특성등도 알아야 문제가 발생했을 때 장비를 사용하는 업체 담당자와 이야기 하면서 문제를 해결할 수 있습니다.
하지만 그런것도 결국은 프로그램 하면서 자연적으로 다 배우게 됩니다. 

3. 꼼꼼함은 생명이다. 
  소프트웨어 분야에서 조그마한 실수가 대형 사고를 칠 수 있는 분야가 금융 플랫폼 개발과 이 장비 개발 분야가 아닌가 생각이 듭니다. 물론 다른 분야에서도 조그마한 실수가 큰 사고를 낼 수 있겠지만 장비분야는 특히 심각합니다. 
조그마한 작동 오류로 수억짜리 장비를 부셔버릴 수도 있고 생산라인에서 장비가 멈춰버리면 이건 그야말로 대형사고 입니다. 그러다 보니 제어 엔지니어는 장비를 실제 돌리면서 디버깅 하기전에 코드를 보며 수십번도 더 머리속에서 장비를 돌려보고 디버깅도 코드 한줄 한줄 스텝 스텝 디버깅을 합니다. 
순간 방심하고 몇줄의 코드를 한번에 돌렸다간 순식간에 장비 날아가는 수가 있습니다. 

함수 하나 잘못 실행하면 수천만원 짜리 로보트 팔 날라가는 수가 있습니다. ( 너무 겁을 줬나요??)


4, 그래도 재미는 있다.
  정말 그래도 내가 짠 코드로 기계가 돌아가는 거 보고 있으면 정말 재미는 있습니다. 다른 분야 소프트웨어는 기껏해야 모니터 화면에 보여주는게 전부이겠지만 제어는 그야말로 기계가 움직이고 공장이 움직입니다.
내가 타이핑한 코드대로 무언가 움직인다는게 정말 때로는 짜릿하기도 하고 뿌듯함이 몰려 오면 힘들었던 순간이 눈녹듯이 녹습니다,   

 

반응형

댓글()