내가 만든 프로그램 - 초등학교
내가 만든 프로그램 - 중학교
-
첫 앱 제작 - 가야곡초중학교
2015년 마인크래프트 스크립트로 프로그래밍을 처음 접하고, 초등학교 6학년이던 2017년까지는 스크립트 개발을 이어나갔다. 하지만, 중학생이 되자 휴대폰 마인크래프트에 대한 관심은 서서히 식어갔다. 그러다, 우연히 앱 개발을 접하게 됐고 나의 관심은 마인크래프트 스크립트에서 앱 개발로 옮겨왔다. 무슨 앱을 만들어볼까 고민하다가, 그냥 간단히 학교랑 관련된 앱을 만들어보기로 했다. 맨 처음에는 단순히, 앱을 실행하면 학교 홈페이지로 이동되는 앱을 만들어 구글 플레이스토어에 업로드했었다. 하지만, 학교 홈페이지에 대한 저작권을 내가 가지고 있지 않다는 이유로 내 앱은 거절당했었다. 그렇게 해서, 학교의 급식, 일정 등을 직접 프로그래밍해서 알려주는 앱을 만들게 되었다. 나이스 학생서비스에 접속하면, 학교의..
-
코틀린을 배우다 - 식물 정보 찾기
내가 중학교 2학년 때이던 2019년에는 자바의 대체제로 코틀린이 부상하고 있었다. 기존에는 안드로이드 앱의 대부분을 자바를 사용해 만들고 있었다. 내가 중학교 1학년 때 만든 가야곡초중학교 앱도 자바로 만들었었다. 코틀린은 문법도 간결하고, 생산성도 더 좋아 인기를 얻고 있었다. 나도 새로운 것을 배울 필요가 있다고 판단해서 코틀린으로 새 앱을 만들어보며 공부하기로 했다. 당시에는 내가 식물 키우기에 큰 관심을 갖고 있을 때였다. 내 방에서 천냥금, 개운죽, 괴마옥, 스킨답서스 등의 식물을 키우고 잘 키우는 법도 인터넷으로 열심히 검색했었다. 그러다가 우연히 국가농업기술포털 농사로란 사이트를 보게 됐고, 내가 코틀린으로 만들 앱은 농사로에서 식물 정보를 크롤링해서 보여주는 앱이 되었다. 메인 화면은 랜..
-
Flutter로 다시 만든 앱 - 가야곡초중학교
자바를 사용해 가야곡초중학교 앱을 만든 뒤, 나에게 꾸준히 들려오는 건의가 있었다. 바로, 아이폰에서도 앱을 사용하게 해 달라는 것이었다. 대부분의 경우에는 자바/코틀린을 사용해 안드로이드용 앱을 만들고, swift/objective c를 사용해 ios용 앱을 만든다. 10명도 안 되는 사람을 위해 새로운 언어를 사용해 처음부터 앱을 제작하는 것도 무리가 있었다. 또한, 폐쇄적인 애플의 특성상 ios용 앱을 만들기 위해선 무조건 mac os를 사용해 프로그래밍해야 한다. 그렇게 ios용 앱은 못 만드나 했으나, 우연히 Flutter를 알게 됐다. Flutter는 구글이 밀던 것으로 한 번 프로그래밍하면 안드로이드뿐만 아니라, ios, 웹, 윈도우, 리눅스, mac 등 다양한 운영체제에서 사용할 수 있는 ..
내가 만든 프로그램 - 고등학교
-
고등학교 첫 IT 프로젝트 - 디지털 액자
원래 디지털 액자는 중학교 3학년 때 학교 동아리에서 만들려고 했었다. 하지만, 시간적 여건이 나지 않아 재료만 구비해 두고 완성시키지는 못했었다. 또한, 컴정코C는 고등학교 2학년 위주로 돌아갔기 때문에, 갓 들어온 내가 디지털 액자를 만들자고 할 수는 없었다. 그렇게 1년이 지나고, 고등학교 2학년이 되어 내가 동아리에 중심을 잡고 나서야 중학교 3학년 때 만들려고 했던 디지털 액자를 만들어 볼 수 있었다. 내가 고등학교에서 1년을 지내보면서 느꼈던 것은 두 가지가 있었다. 첫째는, 동아리 활동할 시간이 매우 부족하단 점과 둘째는, 프로그래밍을 할 줄 모르는 친구는 소외된 다는 것이었다. 따라서, 동아리원들과 동아리 시간 외에도 주기적으로 만나 활동을 진행하고, 프로그래밍을 할 줄 모르는 사람도 참여..
-
1등급 인원은 몇 명? - 연무고등학교 챗봇
예전에 간단한 학교용 카카오톡 챗봇을 접한 적이 있었다. 그때, 선빈이한테 '나도 이런 걸 만들어 볼까?'라고 물어보고, 선빈이가 나한테 만들어달라고 했었다. 그때는 말만 할 뿐 실제로는 만들지 않았었는, 2학년 2학기에 갑자기 만들고 싶어 져서 실제로 연무고등학교 챗봇을 만들기 시작했다. 학교의 급식이나 일정은 연무고등학교 앱도 있고, 디지털 액자도 있기 때문에 챗봇에서 또 급식과 일정을 알려줄 필요는 없다고 생각했다. 따라서, 챗봇에서는 과목의 등급별 인원과 자신의 평균 등급을 계산하는 기능만 넣었다. 챗봇은 카카오톡의 챗봇 서비스를 이용했고, node.js를 사용해서 프로그래밍했다. 구글 드라이브에 스프레드시트 파일을 생성한 후, 각 과목의 인원과 단위수를 적었다. 챗봇에서 특정 과목의 등급별 인원..
-
동아리 부스 활동 - 마인크래프트 맵
프로그래밍을 이용한 부스 활동을 진행하면 좋겠다고 예전부터 생각해 왔었다. 그러다가, 2학년 말에 윤이나 선생님께서 동아리 부스 행사를 진행하신다는 말을 듣게됐다. 나는 이게 좋은 기회라고 생각해서 동아리원들과 부스 행사에 참여했다. 1학년 동아리 활동 때, 프로그래밍을 하지 못하는 친구는 활동에 소외됨을 느꼈기 때문에 모든 친구들이 참여할 수 있도록 준비했다. 개인 윤이는 마인크래프트 곡괭이, 준모는 마인크래프트 맵 제작, 석현이는 buzz wire, 종수는 가위바위보 인공지능, 연우는 가위바위보 아두이노를 맡겼다. 우리 동아리에서 가장 자랑할만한 것은 단언컨대, 디지털 액자였다. 따라서, 디지털 액자를 활용하는 방안으로 진행했다. 제작할 디지털 액자를 수정해서 디지털 액자에 마인크래프트, 가위바위보,..