AI가 개발자에게 미치는 영향
패러다임 전환은 한 시대 사람들의 견해나 사고를 근본적으로 규정하고 있는 인식 체계 또는 이론적인 틀이 변화한다는 것을 의미합니다. 10년 주기로 우리가 알아야 할 패러다임의 변화가 다음과 같이 진행해 온 것 같습니다.
- Know How: 1990년대 어떻게 하는 방법을 아는 것
- Know Where: 2000년대 필요한 것이 어디에 있는 지를 아는 것
- Know Who: 2010년대 내가 필요한 것을 누가 알고 있는 지를 아는 것
- Why & Experience: 2020년대 기존 것을 잘 활용하여 필요한 것을 만들 수 있는 것
소프트웨어 개발을 직업으로 살다 보니 IT 에 대한 변화를 직접적으로 느낄 수 있습니다. 요즘은 소프트웨어 개발에 필요한 도구와 환경 그리고 기술들이 상향 평준화가 되어 무언가를 만들게 될 때 처음부터 만드는 게 아니라 레퍼런스를 찾아보는 게 더 좋은 결과가 만들어지는 것 같습니다.
이번에 게시판 예제를 만들면서 많은 오픈소스 들을 활용하며 자동화 된 개발 도구들과 테스트에 필요한 각종 서버들을 즉시 사용 해볼 수 있는 인프라 환경, 예제 코드에 대한 친절한 AI의 도움을 받았습니다. 개발 경험과 생산성이 이전보다 비교할 수 없을 정도로 좋아진 것을 새삼 느낍니다.
그런데 역설적이게도 우리에게 더 많은 일을 요구합니다. 개개인에게 왜 일을 해야 하는 지 이해하고 일에 대한 과정과 결과에 대해 자연스럽게 책임을 지게 만들기 때문에 그 사람만의 대체 불가 한 넓은 시야와 직관과 경험이 필요하게 되니까요. 결국 사람에 따라 납기와 품질이 달라집니다.
"구슬이 서 말이라도 꿰어야 보배"라는 우리나라 속담에 있듯이 아무리 훌륭하고 좋은 것이라도 다듬고 정리해서 쓸모 있게 만들어 놓아야 값 어치가 있습니다.
마이크로소프트의 빌 게이츠는 오래 전부터 문제 해결에 대한 접근 방식으로 "바퀴를 재 발명하지 마세요"라는 개념을 만들었습니다. 시간과 노력을 절약하고, 이미 존재하는 해결책을 활용하여 효과적으로 문제를 해결하는 데 집중해야 한다는 의미일 겁니다.
IT 업계에서는 디지털 전환에 따라 국내외 다양한 No-Code, Low-Code 개발 환경이 등장하여 시장을 만들어가고 있습니다. 솔루션에 따라 다양한 방법으로 해결책을 제시하는데... 기본적으로 비 개발자가 적은 노력으로 어플리케이션을 개발하고 운영을 할 수 있도록 돕습니다.
HandStack 도 Low-Code 개발 환경 분야에 포함되며 일단 개발자와 엔지니어를 대상으로 하는 점에서 출발점이 다릅니다. 판매하려는 제품이 아니라 기술 기반에 가까운 반제품 이니까요. 기존 솔루션 대비 차별화되는 점은 다음과 같습니다.
- 모든 소스와 문서를 무료로 상업적 사용이 가능한 MIT 오픈소스 라이선스로 공개합니다.
- HTML5, ASP.NET Core, Node.js, Docker 기반 표준 기술 스택으로 앱을 개발합니다.
- Windows, Linux, Mac, Cloud, Docker 환경에서 실행 가능한 서버 프로그램을 제공합니다.
- 메모장으로 풀 스택 개발 및 운영 가능합니다.
특정 도구에 의지하지 않고 편집기 만으로 원하는 기능을 개발 할 수 있다는 것은 불편하지만 많은 확장 가능성을 제시합 니다.
게시판 예제는 Microsoft Copilot (ChatGPT v4)를 활용해서 만들었습니다.
게시판 예제는 아마도 기존의 개발 방식과 소스 코드가 생소할 겁니다. 어렵다는게 아니라 "이렇게 어플리케이션을 개발 할 수도 있는거야?" 싶을 정도로 개발 접근법이 조금 다르기 때문입니다.
가볍게 봐주시면 좋겠네요. 자세한 내용은 게시판 프로젝트 시작하기를 참고하세요.
한 주간의 여정 (2024-01-22 ~ 2024-01-26)
- 태넌트 앱에서 제한된 거래 요청 검증 기능 추가
- $textbox english 검증 기능 개선
- $grid button 타입 스타일 class 기능 개선
- $grid checkbox 타입 버그 개선
- 프로젝트 담당자 초대 기능 및 로그인 사용자 표시 개선
- $grid 스크롤 바 표시 버그 visibility 대응 개선
- Contracts 예제 파일 경로 개선
- 게시판 프로젝트 시작하기
- 가이드 문서 샘플 및 syn.js 최신버전 업데이트
- $htmleditor 리소스 로드 기능 개선
- repository storage.json 기본값 변경 및 데이터베이스별 기본 쿼리 추가
- ack 프로그램 시작시 repository storage.json 기본값 변경 대응 개발
- 게시판 프로젝트 시작하기 내용 추가
- monaco, tinymce 등 자체 loader가 필요한 의존성이 없는 라이브러리 로드 방식 개선
- contract, view 화면을 빌드 디렉토리로 복사하는 스크립트 추가
- 파일 업로드/다운로드시 설정 파일 위치에 따라 호스트, 태넌트 파일 경로를 구분하도록 개선
- 프로젝트 참조 패키지 버전 업데이트
- 파일 업로드시 절대 링크 경로 버그 수정
- 참조 프로젝트 목록에서 내가 만든 프로젝트가 아닌 경우만 조회되도록 개선
- 빈 경로에 대한 디렉토리 생성 기능 추가
- syn.js measureSize(text, fontSize) 기능 개선
- 태넌트 앱 요청을 수행하는 서버리스 함수(featureMeta.json, featureMain.cs)에 UserWorkID를 하도록 대응 개발
- 태넌트 앱 UI Assets 디렉토리 조회 기능 개선
- UI Assets 관리 화면 파일 관리 기능 개선