프로그램을 하나 만들고 싶은데 조언 부탁드립니다.

프로그램을 하나 만들고 싶은데 조언 부탁드립니다.

작성일 2023.02.05댓글 1건
    게시물 수정 , 삭제는 로그인 필요

1. 업무 결과물을 회사 내 서버에 저장
2. 저장된 서버 경로를 팀원들에게 메일을 통해 검토 요청
3. 검토 후 피드백을 구두로 전달받음

현재 이런 시스템인데, 프로그램을 하나 만들어서 개편하고자 합니다. 

원하는 기능
1. 팀원들 중 누가 검토했는지 체크하는 기능
2. 피드백을 댓글형식으로 남길수 있는 기능
3, 결과물이 주로 pdf 파일 형식인데, 미리보기 같은 형식으로 프로그램 안에서 열기 가능
4. 회사 내 서버 사용 가능

생각한 기능은 이 정도인데, 제가 프로그램을 만들어본적이 없습니다. 

할 줄 아는 프로그램 언어는 c언어 하나입니다. 

질문 1.  만약 위 기능들을 가지고 있는 프로그램을 만든다면, 어떤 방식으로 만들어야 할까요 ??

질문 2.  파이썬으로 가능할까요??

질문 3.  그 밖에 여러가지 조언 주시면 감사하겠습니다. 



profile_image 익명 작성일 -

현재의 실력으로 해당 프로그램을 만드는 것은 다소 어려운 일이라고 생각됩니다. 하지만 어려운 프로그램을 완성하고 나면 실력이 쭉쭉 올라가는 것 또한 사실이니 도전할 가치는 있습니다.

반면 해당 프로그램을 만들었을 때 사람들이 잘 쓰게 될지에 대한 근본적 고민이 필요하다고 보입니다.

결국 사용자의 입장에서 현재의 상황을 보면 이메일을 보고, 서버에 들어가서 pdf를 읽어보고 구두로 피드백을 하면 끝인데, 질문자가 생각하는 프로그램을 도입하면 더 많은 프로세스를 거쳐서 피드백을 해야 합니다.

이게 과연 더 편리한걸까요? 물론 피드백을 기록할 수 있는 것이 핵심이고 이는 매우 유용합니다. 그렇지만 상급자들이 해당 프로그램의 필요성을 느끼고 도입을 원하는지에 대해 생각해볼 필요가 있습니다. 또한 조직 내부에서 새로운 프로세스 도입을 환영하는지도 생각해봐야 합니다. 업무 프로세스를 바꾸는 것은 생각보다 굉장히 큰 일입니다.

또한 두번째 고려할 점은 대체 가능한 프로그램에 대한 것입니다. 사실 질문자님의 시나리오를 잘 생각해보면, 슬랙(Slack)이나 마이크로소프트 팀즈(일반인용 말고 오피스 365에 포함되는 회사용 버전) 같은 업무용 메신저로 대체가 가능할 수 있는 내용입니다.

문서 링크 걸고 스레드(글타래?)를 '피드백 바랍니다'로 올린 다음 댓글로 남기면 됩니다. 모바일에서도 검토 가능하고, 프로그램을 짤 필요도 없습니다. 슬랙의 경우에는 일단 무료로 테스트도 가능합니다.

물론 슬랙, 팀즈 같은 것을 쓰는데 비용이 투입됩니다. 1인당 대략 5~8달러 정도가 매달 청구되죠. 다만 프로그래머가 직접 만든다고 해서 비용이 안들어가는 것이 아닙니다. 최소 서버 비용 + 프로그램 유지비용이 투입되는 것이죠.

또한 로컬 서버를 고집할 이유가 있는것인지도 생각해볼 필요가 있습니다. 로컬 서버를 쓰는 경우 '데이터 유출이 염려되기 때문'이라고는 하지만 이 경우에 도리어 보안이 엉망인 경우가 많습니다. 그냥 로컬 서버에 USB꼽고 복사하면 아무 흔적도 남지 않기 때문인데 이걸 방지하기 위해서 매년 수천 만원의 장비 + 소프트웨어를 구입해야 합니다.

팀즈 경우에 대략 6달러 수준의 결제가 필요하지만 회사 이메일, 웹 오피스, 팀 도구, 1TB 웹 하드가 함께 제공되는 것을 생각하면 아주 나쁘진 않습니다. 대신 기능이 많지만 느려터지고 버그 많은 메신저가 고민될 수 있겠네요. 슬랙은 이에 비해 쾌적하지만 별도의 이메일을 가입하는 걸 생각하면 비용이 1인당 12달러 ~ 15달러 수준까지 올라가기 때문에 부담이 커질겁니다.

위의 경우에는 해외 스타일의 업무용 메신저이기 때문에 카카오 아지트나 웍스 같은 서비스를 고민해도 괜찮습니다. 활용하기에 따라서 질문자님의 용도에 맞춰서 기능이 대체적으로 만족하리라 봅니다.

위의 모든 것을 고려해도 내가 만들어야겠다고 생각되면 대략 다음과 같은 접근을 생각해볼 수 있겠군요. 파이썬을 언급하셨으니 가급적 파이썬으로만 구성하는걸 가정합니다.

0. 모든 방식에서 데이터베이스가 필요합니다. 종류가 중요하진 않은데 가장 쉽게 배울 수 있는건 mysql이 아닐까 하는군요. 무료로 그냥 서버에 설치해서 쓰면 됩니다. SQL 언어를 공부하셔야 합니다.

1. 웹 방식 : 가장 간단한 방식입니다. Flask나 Django로 웹 서버를 생성하고 이를 이용하는 것인데 mysql 모듈을 설치하고 웹에서 받은 요청을 Flask / DJango에서 가공해서 데이터베이스에 넣거나, 데이터베이스에 있는 데이터를 HTML로 돌려주도록 만들면 됩니다. 자바스크립트를 중급 이상 구사할 능력이 된다면 Sing Page App으로 만들기 위해서 HTML이 아니라 JSON과 같은 포맷 또는 GraphQL로 데이터를 전달해주면 좋습니다.

별도의 데몬을 구성해서 서버의 파일 시스템을 모니터링하다가 특정 폴더 아래에 파일이 추가되면 자동으로 이메일을 발송하는 시스템 구성도 가능합니다. "XXX님이 XXX.pdf를 업로드 하였습니다. 검토 바랍니다." 검토가 끝나고 나면 파일의 위치를 이동하거나 하는 것도 이런 데몬에서 처리하는게 좋고, 모두 python으로 프로그래밍 가능한 수준입니다.

그러나 완성을 위해서는 Python이외에 CSS, HTML, Javascript의 기초적인 이해가 필요하며 템플릿 사용법을 알아야합니다. 싱글 페이지 앱을 만든다면 좀 더 고도화된 자바스크립트의 이해가 필요합니다. 아직 아무것도 모른다고 가정하면 6개월 이상 열심히 공부할 필요가 있습니다.

2. 전용 클라이언트 방식: 죄송하지만 C언어를 아는 정도로는 하지 않는게 좋습니다. 만들어도 못 쓸 프로그램이 될 가능성이 매우 높습니다. 파이썬으로 짜도 마찬가지입니다. 어느 정도 경험이 필요합니다. 그래도 짜겠다면 Qt나 TkInter같은 모듈로 UI를 구성해서 프로그래밍하는 것을 생각해볼 수 있습니다. 간단해보이는 프로그램이지만 꽤 많은 구조체와 UI가 필요하며 그에 따른 여러가지 예외처리 등이 필요하기 때문에 디자인 패턴에 신경 쓰지 않으면 유지보수가 어렵습니다.

전용 클라이언트를 짜더라도 서버는 필요합니다. 결국 프로그램 두 개를 유지보수 해야 합니다.

길게 답변했는데 사실은 아직 위의 프로그램을 만들 시기가 아니라고 생각합니다. 위의 프로그램은 전자 결재 시스템의 일부분인데 일부라고 해서 조금만 알아도 되는 것은 아니기 때문에 프로그래밍에 대한 경험이 필요합니다. 가장 큰 문제는 위의 것을 만드는 동안 개발에 전념할 환경인가?도 생각해볼 필요가 있습니다.

그렇다고 프로그래밍을 하지 말라는 건 아닙니다. 업무용 프로그램이라면 아주 약간이라도 도움이 되는 선에서 조금씩 만들어보면 더 좋습니다. 완성된 프로그램의 개수가 많아질 수록 자신감이 올라가니까요.

슬랙을 도입하는 경우라도 제법 유용하게 쓸만한 유틸을 만들어볼 수 있습니다. 가령 위에서 이미 언급한 "XXX님이 XXX.pdf를 업로드 하였습니다. 검토 바랍니다." 같은 알림을 자동으로 특정 채널에 올리는 것과 같은 프로그램은 유용하겠죠. 이걸 만들려고 해도 Hook 서버를 만들어야 하는데 처음 짜는 사람에겐 난이도가 있습니다.

질문자님의 의지를 꺽으려는 답변이 아닙니다. 혼자서 조금 더 많은 프로그램을 완성해보세요. 지금은 그 단계인 것 같습니다.

그럼

하나만들고 싶은데 조언 부탁...

... 신용카드가 하나 있지만 저의 아내가 생필품 구매 용으로 사용하고 잇습니다. 그리고... 비상용으로 만들고 싶어서 입니다. 많은 조언 부탁드립니다. 그럼 즐거운 하루 되시길...

제가 응용프로그램을 만들고 싶은데

... 프로그램을 만들고 싶어요 근데 제가 초짜라서 이런 응용프로그램을 만들려면 어떤 프로그래밍 언어를 배워야 될지 모르겠어요;; 고수님들 부탁드립니다 가르켜주세요!!!...

프로그램 조언부탁드립니다

제가 얼굴인식 프로그램을 고등학교 프로젝트로 하나 만들고 싶은데하나의 이미지 데이터를 기반으로 얼굴인식을 하는 프로그램이 아닌, 200~300장 정도 얼굴 데이터를...

사회복지프로그램을 만들고 싶은데

정부지원으로 이른둥이 관련 사회복지프로그램을 만들고 싶은데요... 사회복지프로그램을 만들수 있을까요?? 경험이나 조언 부탁드립니다 안녕하세요! 알짜닷컴입니다!!...

하는 프로그램을 만들고 싶은데 뭘...

... 이런 프로그램을 만들기 위해선 뭘 배워야하는지 답변부탁드립니다. 또 cmd배치파일에대해서도 자세히 공부하고 싶은데 책같은건없고 네이버 블로그 글 뿐이더라구요 .....

안녕하세요 신용카드를 하나만들고싶은데

안녕하세요 신용카드를 하나만들고싶은데... 양해 부탁드립니다. 기본적으로 신용평점및 신용정보도... ⚠️▪️ 불법프로그램을 이용하여 메크로답변(자동답변) 및 특인...