개인 프로젝트

개인/팀으로 진행한 프로젝트들
개인 프로젝트/[2021] 코드악보 공유APP

2. 안드로이드로 DB에 데이터를 저장하는 테스트

webnautes.tistory.com/828 Android PHP MySQL 예제 - 데이터베이스에 데이터 입력하기 안드로이드 앱이 PHP 프로그램을 매개로 하여 MySQL 데이터베이스 서버에 데이터를 저장하는 간단한 예제입니다. 1. Apache2, MySQL, PHP7 설치 2. 데이터베이스 및 테이블 생성 3. 웹브라우저로 PHP 동작 webnautes.tistory.com Do It! 안드로이드 프로그래밍으로 안드로이드를 조금 공부해보고 예제만 따라서 몇번 만들어봤을 뿐, 제대로 앱을 만들어본 적이 아직은 없기 때문에 위 사이트를 참고하여 테스트해보았다. 위 사이트에서는 Apache를 사용했는데, 나는 Nginx를 사용해서 과연 될까 걱정이 되었지만 다행히 작동이 잘 되었다! 위 게시글을 참고하..

개인 프로젝트/[2021] 코드악보 공유APP

1. 어플리케이션 구상과 간단한 기획

코로나로 집에 혼자 있는 경우가 많아지면서 전처럼 혼자 피아노를 연습하는 빈도수가 늘어났다. 나는 피아노로 반주할 때 보통 인터넷에서 코드악보를 보면서 치는 경우가 많다. 그런데 인터넷의 코드악보는 가독성이 좋지 않은 경우가 많았다. 코드 악보가 개인 블로그에 올라와있는 경우가 많다보니 악보마다 위치한 사이트가 달랐다. 그렇다고 악보를 구매하자니, 코드 진행만으로도 충분한데 굳이 악보를 사야하나 싶었다. 그래서 핸드폰으로 코드악보를 모아둔 앱을 찾아보았다. 기타 연주를 위한 코드악보나, 내가 원했던 정말 코드만을 모아둔 앱도 몇개 있었다. 그러나 그 악보는 모두 검색해서 개발자가 작성해둔 코드를 보는 것 밖에 못하는 경우가 대부분이었다. 외국 앱중에 하나 자유롭게 편집해서 공유하는 앱을 찾았으나 정말 빈..

개인 프로젝트/간단한 프로젝트

[개인프로젝트] BOJ 크롤링을 통한 동아리 출석체크 보조 프로그램 제작

겨울 방학동안 연합 알고리즘 스터디 동아리 활동을 하게 됐다. 동아리 활동은 알고리즘 강의를 듣고 BOJ에 올린 연습문제를 푸는 것이다. 연습문제 풀이 여부를 통해 출석체크를 한다. 이번에 나는 동아리 멘토의 역할로 일정 동아리원을 담당하여 출석체크를 하는 역할을 맡게 되었다. 그런데 문제점이 있었다. 현재 스터디 구성원이 총 300명 가까이 되는데, 그 중에 내가 담당한 스터디원은 약 30명이다. 그리고 백준 연습문제는 스코어보드 형식이기 때문에, 먼저 문제를 다 푼 사람 순서대로 정렬된다. 백준 연습문제의 300명치 스코어보드를 보고 내가 담당한 30명을 골라내어 일일히 체크한다..? 사실 30명 정도면 그렇게 많은 사람도 아니고, 실제로 300명이 모두 출석을 다하지는 않기 때문에 생각보다 오래 걸..

개인 프로젝트/[2020] 카카오톡 봇

[카카오톡 봇 만들기] 4. 이야기를 들어주는 봇 만들기(1) : 문장분석(2)

지난 글의 마지막처럼 조사를 추가하여 문장 성분을 분석해보았다. 주어, 목적어, 부사 세가지를 분석할 수 있게 만들었고 조사는 (이/가/께서, 을/를, 에,에서) 를 사용하는 것으로 하였다. const scriptName = "test"; const manager = "커맨드봇"; const master = "이름"; const bot_name = '버듀(가명)'; //const set_msg = require('auto_answer'); //DataBase.setDataBase("dict/"+"words_josa"); //var let test = true; let date; let msg_send; let msg_introduce = "안녕하세요! 저는 "+ master + "님의 봇 '" + bot..

개인 프로젝트/[2020] 카카오톡 봇

[카카오톡 봇 만들기] 4. 이야기를 들어주는 봇 만들기(1) : 문장분석(1)

이제 본격적으로 내가 원하는 "나와 대화할 수 있는 봇" 만들기에 도전해보려고 한다. 제일 먼저 떠오른 대화의 시작 문장은 "야, 뭐해?" 이다. 우선 이 문장을 다음과 같이 분석해보았다. "야," => 독립어(호격) "뭐해?" = "무엇을 해?" => 목적어 + 서술어 "야," 를 독립어로 처리한 후 호격으로 받아들이는 것은 간단하게 아이디어가 떠올랐지만,, 도저히 저 "뭐해?" 를 처리할 방법이 떠오르지 않았다. '뭐' 가 '무엇' 의 준말이니 이걸 복원하는 것은 가능하다고 해도. 뭐가 좋아? 뭐 먹을래? 처럼 "뭐" 는 목적어말고도 다른 위치에 얼마든지 올 수 있었다. 조사가 있다면 조사로 판단하고 싶지만, "뭐를 먹을래?" 같은 문장은 구어체에서 잘 안쓴다. 띄어쓰기로 판단한다는 생각도 해보았지만..

개인 프로젝트/[2020] 카카오톡 봇

[카카오톡 봇 만들기] 3. 카카오링크 전송하기(2) : 코로나 현황 웹 크롤링

전에 학교에서 가볍게 파이썬으로 웹 크롤링하는 무료 강의를 들었던 적이 있다. 당시에는 무슨 말을 하는지도 모른 채 무작정 따라만 했는데, 최근 동아리에서 공부한 HTML에 대한 지식을 바탕으로 Jsoup 모듈을 사용해 웹크롤링을 해보니 전보다는 확실히 이해가 잘 된다. 이번에 크롤링한 사이트는 http://ncov.mohw.go.kr/ 코로나바이러스감염증-19(COVID-19) 코로나바이러스감염증-19 정식 홈페이지로 발생현황, 국내발생현황, 국외발생현황, 시도별발생현황, 대상별 유의사항, 생활 속 거리 두기, 공적마스크 공급현황, 피해지원정책, 홍보자료, FAQ, 관 ncov.mohw.go.kr robots.txt 에는 없으니 따로 크롤링에 제약이 있는 것은 아닌 것 같다. 이번에 가져온 정보는 다음..

개인 프로젝트/[2020] 카카오톡 봇

[카카오톡 봇 만들기] 3. 카카오링크 전송하기(1) : 테스트 & 봇 기능 수정

카톡봇을 실생활에 적용해 테스트하며 몇가지 문제점들을 발견하여 손을 보았다. 우선 특정 시간이 지난 후 자동응답 하는 기능은 없앴다. 그저 똑같은 말밖에 도배하지 못하는 지금의 카톡봇으로는 메세지를 받는 상대방에게 불쾌함을 주기만 할 것 같았다. 두번째로 취침/수업 알림은 한번만 하도록 하였다. 지난 포스팅에서 구현한대로, 5초이내로 추가 메세지가 없을 경우, 답장을 보내는 시스템은 잘 작동했지만, 실제 핸드폰으로 카톡을 하는 경우, 타이핑이 생각보다 느려서 5초로는 부족했다. 그래서 안내메세지를 계속 보내게 되었다. 시간 간격을 늘리자니, 간단한 메세지를 보내고 답장을 받는데 매번 길어진 시간간격을 기다려야 하니 답답했다. 그래서 그냥 한번만 답장하게 만들었다. 단, 저번에 만든 5초동안 추가메세지를 ..

개인 프로젝트/[2020] 카카오톡 봇

[카카오톡 봇 만들기] 2. 명령어로 조작하기(3) : 테스트

그동안 카카오톡 봇 관련 글을 쓰면서 이론적인 내용이나 코드만 담았을 뿐 실제 결과물을 사진으로 넣은 적은 없어서, 결과물 스크린샷을 기록하고자 한다. 카카오톡 봇을 개발하다보면 메신저봇 이라는 핸드폰 어플리케이션 안에서 코딩을 하고 디버깅을 해야하는데, 폰코딩이라는 것이 생각보다 쉽지가 않았다. 그래서 핸드폰 화면을 컴퓨터에 띄워두고 컴퓨터로 코딩하는 것을 떠올렸다. 삼성의 경우 samsung flow 라는 앱이 그 기능을 지원해주었다. 근데 이 앱은 정말 말 그대로 핸드폰 화면을 컴퓨터에 그대로 출력해주는 앱이라 모바일에서 화면 사이즈때문에 한번에 볼 수 있는 정보량이 제한된다는 단점이 그대로였다. 그리고나서 알게된 Dex는 정말 최고였다. 역시 삼성.. 핸드폰 환경을 컴퓨터에 맞게 옮겨서 실행시켜주..

개인 프로젝트/[2020] 카카오톡 봇

[카카오톡 봇 만들기] 2. 명령어로 조작하기(2) : 알고리즘 구현(2)

어제 블로그 글을 쓰면서 생각을 정리해보니 내가 뭔가 착각을 하고 있었다는 걸 깨달았다. 제 3자를 경유하려고 한 이유는 일반적인 상황에서 내가 봇과 대화중일 때 봇이 답장을 보내도 봇이 보낸 답장을 알림으로 받지 못하기 때문이다. 봇이 보낸 답장을 알림으로 받지 못하면 스크립트에서 해당 내용을 처리하는 코드가 실행이 안된다. 그런데 듀얼메신저를 사용하면 이야기가 달라진다. 듀얼메신저를 사용하면 내 핸드폰에 카톡이 2개가 깔려있는 셈이된다. 따라서 내가 원래 쓰던 카톡으로 봇과 대화를 하며 메세지를 보내면, 내가 보낸 메세지에 대해 봇카카오톡에서 알림이 뜬다. 그리고 중요한 것은 메신저봇 어플이 봇카카오톡에 대한 알림도 내 원래의 카카오톡 알림과 동일하게 받아들여 인식한다는 것이다. 가령 내 이름이 "김..

개인 프로젝트/[2020] 카카오톡 봇

[카카오톡 봇 만들기] 2. 명령어로 조작하기(2) : 알고리즘 구현(1)

앞서 작성했던 알고리즘을 실제 코드로 구현해보았다. 우선 봇은 "마스터" / "관리(매니저)봇" / "커맨드봇" 으로 구분된다. 마스터봇은 내 원래 계정으로 들어오는 알림을 처리한다. 매니저 봇은 내가 내린 명령어를 받아들이고 커맨드봇은 매니저 봇이 받은 명령을 전달받아 나한테 전송하는 봇이다. 그럼 마스터봇이 커맨드봇에게 받은 명령대로 변수를 조작한다. 마스터봇/커맨드봇 이 두개는 듀얼메신저를 통해 하나의 휴대폰에 들어있다. 따라서 이 두 계정으로 들어온 알림은 모두 하나의 스크립트에 의해 처리된다. const scriptName = "test"; const manager = "관리봇"; const worker1 = "커맨드봇"; const master = "실명"; //var let date; let..

에버듀
'개인 프로젝트' 카테고리의 글 목록 (4 Page)