기간 : 10/6~10/10 특기 상세 정보 화면에는 해당 특기에 대한 자세한 설명이 들어가 있다. 이 설명에 대한 데이터들을 어떻게 통일된 구조의 공간에 저장할 수 있을까? 이것이 이 당시 내가 했던 고민이다. 이 당시 내가 나름대로 고민해서 저장했던 특기 상세 데이터베이스이다. 이렇게 특기 요약, 주요 업무, 지원 자격 등 내용 구성을 미리 정해두고 각 섹션 별로 데이터를 저장했었다. 그런데 만약 특기마다 적고 싶은 내용이 다를 경우, 이 구성은 유연성이 매우 떨어지는 저장방법이라 각 특기들의 독특한 특징들을 효과적으로 보여줄 수 없다는 문제가 있었다. 이게 특기 상세페이지를 구현할 때 만났던 첫번째 문제이다. 그리고 '표를 어떻게 보여줄 것인가' 에 대한 문제에 부딪혔다. (두번째 문제) 근데 각 ..
기간 : 10/3~10/5 프론트에서 특기 자세히 화면의 탭 부분 UI 구현이 완료되었다. 스샷을 찍어두진 않았지만 비록 UI 를 클릭했을 때 데이터가 없어서 빈화면이 보이지만 내가 피그마로 그렸던 것과 정말 똑같이 구현해주셨다ㅋㅋㅋ 10/4 해당 부분 데이터는 나중에 만들어서 추가하기로 하고 다음엔 군지원 기능을 만들기로 했다. 군지원 기능에 대해 서로의 의견을 확인하고 프론트 구현이 시작되었다. + 로그인 화면도 구현이 완료되었다. 진짜 내가 예상한 것보다 너무너무 깔끔하고 멋있는 화면이라 엄청 놀랐다. 디자인에 재능이 있으신걸까.. 이제 로그인 화면도 만들어졌겠다. 로그인 기능이 작동하도록 구현하는 것도 부탁드렸다. 그리고 모군 플랫폼의 로고 디자인도 고민을 하기 시작했다. 참고로 팀원분이 알려주신..
기간 : 9/29~10/2 팀원분이 내가 PPT로 간단하게 만들었던 레이아웃을 참고해서 PPT로 레이아웃을 잡아주셨다. 결과물을 보고 생각을 하다가 서로 디자인까지는 같이 하기로 이야기를 했다. 해커톤하면서 느낀점이 백엔드가 필요없는 건 아닌데, 단기간에 결과물을 보여줄 필요가 있는 해커톤 특성상 프론트와 디자인의 역할이 정말 중요하다고 느꼈다. (해커톤 하실 분들 참고하세용..) 그리고 초기에 프론트가 무에서 유를 창조하는 동안 나는 제이슨 데이터만 넘겨줄 API만 딱 만들면 되서 상대적으로 시간적 여유가 있었던 것도 사실이다. 이후로는 우선 특기 상세 페이지에 어떤 내용이 들어가면 좋을지 의논했다. 그러다가 새로운 기능 추가에 대한 의견이 생겨서 이것도 논의 했다. 중간에 서로 에러가 다르게 나오는 ..
기간 : 9/27~9/28 9월 27일부터는 백엔드와 프론트의 연동작업이 시작되었다. 그리고 어찌 저찌 연결을 성공했다. 그런데 프로젝트 구조가 내가 생각한 것과 달라서 조금 놀랐다. 팀원 분께서 위에 사진에 있는 블로그 글을 참고해서 연동하셨는데 백엔드 서버에서 리액트가 빌드한 index.html를 직접 파일 경로로 바라보도록 연동한 것이다. 내가 생각한 것은 백엔드와 프론트를 완전 분리해서 백엔드가 꺼지더라도 프론트는 살아있을 수 있게 하는 구조를 생각했었는데 팀원 분께서 한 방식대로 하면 백엔드가 죽었을 때 프론트도 같이 죽는 구조라 뭔가 불편함이 느껴졌다. 그래서 내가 생각했던 것들을 팀원분과 의논해보았다. 이때 당시에는 하나의 서버가 하나의 역할만 했으면 좋겠다는 생각이 강했어서 속으로 불편함이..
기간 : 9/22~9/26 프론트에서 초기 화면 디자인이 나왔다. 마우스를 가져다 대면 화면이 양 옆으로 넓어지면서 군종을 선택할 수 있게 된다. 그런데 여기에서 우리의 첫 동상이몽이 나왔다. 내가 생각한 화면은 첫 화면에 모든 군종의 특기 리스트가 촤라락 나오고 그 안에서 우리가 필터를 거는 식으로 골라서 보는 걸 생각했기 때문이다. 팀원분도 바로 이해를 해주셨고 바로 수정을 하기로 했다. 이렇게 내가 생각한 아이디어를 공유하고 팀원분도 이것 저것 참고 사이트를 제시하시면서 아이디어를 공유했다. 지금 돌아보면 나도 이렇게 이미지를 이용해서 내 아이디어를 설명했다면 더 좋았겠다는 생각을 했다. 내 그림실력이 엄청나게 좋은 편이 아니니까..ㅎ 그렇게 첫 화면 레이아웃을 대충 확정지었다. 그 밖에 이런 세부..
원래는 9월 18일까지 팀빌딩을 완료해야했다. 사실 솔직하게 말하면, 원래는 해커톤에 그렇게 마음을 두고 있지는 않았다. 그냥 되든지 말든지 한번 해보면 어떨까 하는 마음으로 가볍게 신청했고, 해커톤에 참가자로 선정되었을 때도 나의 개발 계획서를 토대로 팀원을 모집하기 보다 다른 팀에 참가하려고 했다. 근데 해커톤 신경을 안쓰다가 나중에 팀빌딩을 하려고 보니 이미 다들 짤 팀은 다 팀을 짜둔 상태였다. 그래서 해커톤 주최측에서 해주는 팀원 매칭 시스템을 이용해 같은 웹 분야에서 한 분을 소개받아 매칭받았다. 그렇게 20일 매칭받은 팀원분과 팀을 결성했다ㅎㅎ 처음이라 엄청 딱딱한 대화지만..? 팀원분께서 분위기를 잘 풀어주신 덕분에 대화가 잘 이어질 수 있었다. 그렇게 각자 사용가능한 기술을 확인하고 각자..
tkinter를 이제 결합해보려고 합니다. https://076923.github.io/posts/Python-tkinter-19/ Python tkinter 강좌 : 제 19강 - LabelFrame | 076923 LabelFrame(라벨 프레임) 076923.github.io tkinter 와 관련된 강좌글은 이 게시글을 참고하여 작성했습니다. 설명을 정말 친절하면서도, 자세하고, 이해하기 쉽게 잘 해주셨더라구요ㅎㅎ 프로그래밍 과정은 사실 이것보다 더 복잡하게 수많은 디버깅을 거치며 진행했지만, 현재까지의 결과물을 토대로 간단하게 과정을 적어보고자 합니다. cpu_try = list() cpu_num = [0] answer_cmp = set() layout = list() 우선 변수를 선언해주었습니..
교수님께 기존 아이디어에 대해 피드백을 드렸더니 브루트포스 알고리즘은 너무 비효율적이고 재미가 없다고 하셨습니다 그래서 다른 알고리즘을 고민해보다가 한가지를 떠올렸습니다. 기존 아이디어가 가능한 모든 답에서 답이 될 수 없는 것들을 지워나가면서 답을 추론했다면 이번엔 거꾸로 제시된 결과를 토대로 가능한 정답군 집합을 만들어버리는 것입니다. 정답군 리스트에서 랜덤하게 수를 하나 제시하면 다시 결과를 알려줄 것이고 그렇다면 그 결과를 토대로 다시 정답군 집합을 또하나 만듭니다. 그리고 그 둘의 교집합을 구하면 되는 것이죠. 이 알고리즘의 단점은 두번째 정답군을 만드는 과정에서 굳이 필요없는 여집합이 될 요소들까지 카운트하게 된다는 점입니다. 이 부분에 대한 개선은 우선 추후에 고민하기로 하고, 앞서 생각한 ..
팀원분과 한번 만나서 상의를 해보면서 기본적인 프로그램 틀을 짠 것 같습니다. 우선 기본세팅에 대해 대전이 가능한 인공지능을 구현해보았습니다. https://m.blog.naver.com/PostView.nhn?blogId=bluesune&logNo=66599203&proxyReferer=https:%2F%2Fwww.google.com%2F [C 언어] 1인용 인공지능 숫자야구게임 + 알고리즘 인공지능 야구게임 수를 입력하면, 컴퓨터가 맞추는 게임. 알고 있는 거의 모든 인공지능 야구게임중가장 ... blog.naver.com 알고리즘은 이 분의 알고리즘을 그대로 파이썬으로 구현해보았습니다. 보통 4번정도만에 정답을 맞추더라구요 소스코드는 다음과 같이 짜보았습니다. from random import * ..
학교에서 팀플로 프로젝트를 하게 되었습니다. 자유로운 주제로 파이썬을 이용한 프로그램 개발입니다. 1달도 안 되는 짧은 기간 동안의 프로젝트가 될 것 같습니다. 1. 주제 구상 우선 생각한 주제는 인공지능 숫자야구 전에 있던 대학교에서 C언어로 숫자야구 게임을 만들어봤던 기억이 나서 이 주제를 떠올렸습니다. 다만 그때는 컴퓨터가 만든 숫자를 사람이 맞추는 방법이라 그 반대로도 해본다면 어떨까 하는 마음으로 구상했습니다. 사용할 예정인 모듈은 GUI를 위한 tkinter 모듈과 난수 생성을 위한 랜덤 모듈 두 가지입니다. 구체적으로 들어가면 사람 vs 사람 / 사람 vs 컴퓨터 이 두 가지 모드를 고르는 것이 우선입니다. (이렇게 쓰고 보니 컴퓨터 vs 컴퓨터로 해서 누가 이길지로 배팅하는 것도 재밌어 보..