분류 전체보기

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

5. 악보 검색 / 등록 페이지 제작 (3) - DB연동하여 데이터 추가/조회하기

이제 본격적으로 악보를 추가하고, 현재 DB에 존재하는 악보를 조회하는 기능을 추가하고자 한다. 2번째 포스팅에서 테스트했던 내용을 실제 기능으로 옮기는 것으로 볼 수 있다. 우선 데이터를 추가하기 위해 상단 액션바에 검색버튼과 추가 버튼을 넣어주었다. 검색 아이콘과 추가 버튼 아이콘을 어떻게 가져올까 고민하다가 검색의 경우 안드로이드에서 기본으로 제공하는 기능을 쓰기로 했다. 팔레트에 이렇게 'Search Item' 이 있다. 이 아이템을 활용하면 검색 아이콘이 자동으로 만들어지고, 검색 아이콘을 클릭하면 상단바에 검색창이 생성된다. 검색창에 검색어를 입력하고 키보드의 돋보기 아이콘을 누르면 검색이 된다. 상단 액션바의 메뉴 리소스로 들어간 xml 코드이다. 아이콘의 경우 안드로이드에서 기본으로 제공하..

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

4. 악보 검색 / 등록 페이지 제작 (2) - 프래그먼트에 리사이클러 뷰 추가

학교 수업이 끝나고 저녁을 먹고나서부터 5시간을 넘게 씨름한 끝에 첫번째 탭에 프래그먼트를 넣고, 프래그먼트에 리사이클러 뷰를 넣는 것을 성공했다. Do It 안드로이드 프로그래밍의 예제 코드를 거의 베끼다시피해서 만든 앱이지만, 익숙해지면 혼자서도 곧 만들 수 있을 것 같다. 리사이클러 뷰에는 카드뷰를 활용해 앨범아트, 노래제목, 가수 3가지의 정보를 저장하도록 하였다. 나중에는 노래의 원키를 같이 저장하는 것을 고려중이다. 첫번째 악보탭의 xml 코드는 다음과 같이 바뀌었다. 프레임 레이아웃을 틀로하여 프래그먼트를 동적으로 생성하여 넣도록 하였다. 이 코드는 첫번째 탭에 들어가는 리사이클러 뷰의 xml 코드이다. package com.everdu.chordshare; import androidx.an..

Infra/Oracle Cloud

오라클 클라우드(Oracle Cloud)로 SVN 개인서버 만들기

오라클 클라우드로 개인 svn 서버 만드는 방법을 정리해보고자 한다. 다른 여타 클라우드와 사용법은 비슷하다. 오라클 클라우드로 가상 머신을 만드는 방법은 이미 많은 정보글이 올라와있어 정보를 찾는데 큰 어려움은 없었다. 오라클 클라우드로 원격 접속, SVN만들기를 하면서 포트의 개념을 좀 더 몸으로 이해할 수 있었다. 우선 서버에 svn을 설치해야 한다. itlearningcenter.tistory.com/entry/%E3%80%90SVN%E3%80%91%EC%84%9C%EB%B2%84-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%A0%80%EC%9E%A5%EC%86%8C-%EC%84%A4%EC%A0%95?category=846302 【SVN】서버 설치 및 저장소 설정 안녕하세요. 김두규..

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

3. 악보 검색 / 등록 페이지 제작 (1) - 바텀 네비게이션 추가

전에 샀던 Do It 안드로이드 프로그래밍 책 내용과 인터넷을 검색하면서 공부한 내용을 토대로 버텀 네비게이션을 추가하였다. activity_main.xml 파일 코드는 다음과 같이 하였고, 하단 탭은 단순하게 '악보, 그룹, 마이페이지' 3개로 나누었다. 악보 탭에서는 악보의 작성과 검색을 할 수 있도록 만들고 그룹 탭에서는 같은 악보집을 공유할 유저들의 그룹을 만들 수 있고 마이페에지 탭에서는 내 정보와 내가 담은 악보, 나만의 악보집을 관리할 수 있도록 할 예정이다. 그래서 res/menu 폴더에 들어있는 bottom_nav_menu.xml 파일의 코드는 다음과 같다. 아래는 현재까지의 코드를 적용했을 때의 실행결과이다. 하단 탭이 선택되지 않았을 때는 정보를 알 수 없다는 점, 하단 탭에 아이콘이..

개인 프로젝트/[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. 어플리케이션 구상과 간단한 기획

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

알고리즘 (PS)/BOJ

[백준][C++] 9935 문자열폭발

대표적인 스택 활용 문제이다. 두시간을 왜 틀렸는지도 모른채 끙끙 앓았다. 결국 대회 테스트 케이스까지 가져다가 일일히 대입해서 반례를 찾기는 했는데, 결과값이 워낙 길다보니 텍스트 비교 사이트를 활용해가며 고민한 결과 문제점을 결국 알아냈다.. 내가 떠올린 풀이법의 큰 틀은 다음과 같다. 1. 폭탄문자열의 각 문자와 그 문자의 인덱스를 맵으로 저장한다. 2. 주어진 문자열에서 한문자씩 반복하여 체크한다. 3-1. 그 문자가 폭탄문자열에 속해있지 않으면 정답 큐에 해당 문자를 넣는다. 3-2. 그 문자가 폭탄문자열에 속해있다면 그 문자의 인덱스를 가져온다. 4-1. 가져온 인덱스가 0이면 묻지도 따지지도 않고 count 스택에 넣는다. 4-2. 가져온 인덱스가 스택 상단의 인덱스보다 1크다면 스택 상단의..

알고리즘 (PS)/BOJ

[백준][C++] 19541 루머

BFS 연습문제로 풀게된 '루머' 문제이다. https://www.acmicpc.net/problem/19538 19538번: 루머 예제 1 0분 : 최초 유포자($1$, $6$번 사람)가 루머를 생성한다. 1분 : $1$번 사람은 $2$, $3$번 사람에게 루머를 퍼뜨린다. $2$번 사람은 주변인 $2$명 중 $1$명이 루머를 믿고 있어 루머를 믿게 된다. $3$ www.acmicpc.net 복잡한 문제지만, 보자마자 BFS를 떠올리는 것은 어렵지 않았다. BFS의 연습문제인 바이러스, 연구소 문제와 닮았다. 중간에 체크해야 하는 조건 하나가 추가되어서 귀찮은 것이 이 문제가 골드인 이유일 것이다. 내가 떠올린 아이디어는 러프하게 이 문제의 풀이과정을 그대로 따라가는 것이었다. 나는 파이썬에서 덱으로 ..

알고리즘 (PS)/BOJ

[백준][Python3] 20500 - Ezreal 여눈부터 가네 ㅈㅈ

https://www.acmicpc.net/problem/20500 20500번: Ezreal 여눈부터 가네 ㅈㅈ 문제의 답을 $1\,000\,000\,007$로 나눈 나머지를 출력한다. www.acmicpc.net 초급 알고리즘 DP 강의를 수강 후 연습문제로 풀게된 문제이다. 문제는 간단하다 1과 5로 이루어진 N자리 수 중 15의 배수를 구하는 문제이다. 어떻게하면 이 문제를 DP를 활용하여 구할 수 있을까? 아무런 아이디어가 떠오르지 않았다. 그래서 그냥 무작정 써봤다. 1자리수 1, 5 0개 2자리수 11, 15, 51, 55 1개 3자리수 111, 115, 151, 155, 511, 515, 551, 555 근데 3자리수를 쓰고보니 15의 배수가 한눈에 안보인다. 일일히 나눠보는 생각을 했지만..

알고리즘 (PS)/BOJ

[백준][Python3] 2878 - 캔디캔디

중급 알고리즘 - 그리디 수강 후 연습 문제로 풀게된 문제이다. https://www.acmicpc.net/problem/2878 2878번: 캔디캔디 첫째 줄에 M(1 ≤ M ≤ 2×109)와 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 친구들이 받고 싶어하는 사탕의 개수가 주어진다. 이 개수는 2×109보다 작으며, 친구들이 받고 싶어하는 www.acmicpc.net 친구들에게 사탕을 나눠줘야하는데 사탕은 반드시 모자라다. 내가 원하는 사탕이 10개인데, 사탕을 5개만 받았다면 그 친구는 못받은 사탕개수의 제곱만큼 분노하게 된다. (분노치 5*5 = 25) 각 친구들의 분노치 합을 최소로 만드는 문제이다. 이제부터 내가 이 문제를 풀기까지 사고한 과정을 정리하고자 한다..

에버듀
'분류 전체보기' 카테고리의 글 목록 (58 Page)