카테고리

분류 전체보기 (68)
JAVA-기본 (7)
JAVA-AWT (24)
JAVA-클래스의 중요메소드 (23)
JAVA-람다식 (0)
Android Studio (7)
Python (1)
OpenCV (1)
AWS (0)
webrtc (0)
javascript (4)
처리방침 (1)
rss 아이콘 이미지
반응형

24년도 10월 16일에 구글 play스토어를 통해 내 인생의 세번째로 "메모리얼 카메라(MemorialCamera)" 앱을 출시했습니다. 독학으로 안드로이드 스튜디오를 공부를 하고 기획/개발/디자인 등 1인 개발을 진행하였고 매년 어플 1개를 출시를 목표로 하고있습니다. 23년도를 시작으로 24년도에는 2개를 출시하게 되었습니다.

 

매년 1개 출시를 목표였는데, 2개를 출시하게되어 엄청 뿌듯합니다. 이번 출시는 기다림의 시간이 길었습니다. 10월에 개발 완료하였으나 구글의 정책을 모두 처리하는데 많은 시간을 소요하였습니다ㅠㅠ 그래도 또 한번 출시에 성공하였습니다.

 

혹시, 어플에 버그나 개선사항이 있다면 언제든지 블로그 댓글 및 구글 play스토어의 댓글을 부탁드립니다.

많은 다운 부탁드립니다!!!

 

그러면 개발 후기를 시작하기전 어플 소개부터 간단히 표로 정리했습니다.

앱 이름 메모리얼 카메라(MemorialCamera)
앱 소개 갤러리에서 사진을 불러와서 투명도 조절을 통해 현재 Carame Preview의 배경으로 두고 비슷한 사진을 찍어보세요. (과거의 구도와 동일하게 찍을 수 있습니다.)
앱 기능 [기능 설명]
1. "사진 가져오기" - 갤러리에서 사진을 불러와 카메라의 미리보기 화면에 뒷 배경으로 사용할 수 있습니다.
2. "사진 찍기" - 카메라를 찍어 갤러리에 보관합니다.
3. "카메라 전환" - 카메라 전/후면 전환합니다.
4. "사진 회전" - 사진 가져오기를 통해 불러온 사진을 90도 회전합니다.
5. "투명도 조절" - 사진 가져오기를 통해 불러온 사진을 불투명도 조절합니다.
6. "licenseNotice" - 현재 사용된 기술의 라이선스를 표시합니다.
7. "3:4", "9:16", "1:1" - 불러온 사진의 비율을 조절합니다.
다운 받는 곳 <URL 검색>
https://play.google.com/store/apps/details?id=com.memorialCamera.memorialCamera


<구글 플레이 검색>
메모리얼 카메라(MemorialCamera)
관련 이미지
메인
화면

비율선택
화면

기획:

오늘날 스마트폰 카메라는 우리가 일상에서 쉽게 사진을 찍고, 소중한 순간을 기록할 수 있는 강력한 도구입니다. 그런데 때때로, 우리는 과거의 특정 순간을 다시 떠올리고 싶을 때가 있습니다. 예를 들어, 어린 시절의 사진이나 여행 중 찍었던 사진을 그대로 재현해보고 싶을 때, 어떻게 하면 좋을까요? 그런 생각에서 시작된 프로젝트가 바로 이 앱입니다.

 

이 앱은 사용자가 과거에 찍었던 사진을 불러와, 그 사진의 구도와 배경을 그대로 재현할 수 있는 기능을 제공합니다. 즉, 사용자는 과거의 사진을 참조한 후, 그 사진과 똑같은 위치에서 현재 카메라를 사용해 촬영할 수 있습니다. 하지만 이 앱의 가장 큰 차별점은 단순히 사진을 찍는 것을 넘어, 실제로 카메라 화면에 과거의 배경을 반영해 실시간으로 보여준다는 점입니다. 더욱이, 이 배경은 흑백으로 처리되어 과거의 느낌을 더욱 선명하게 전달할 수 있습니다.

 

기획과 기술적 도전

이 아이디어는 처음에는 가능할까?라는 의문에서 시작되었습니다. 안드로이드 카메라에 접근하여, 실시간으로 카메라 미리보기 화면에 배경을 그려야 했고, 그 배경을 흑백으로 처리해야 했기 때문에 기술적으로 상당한 도전이 있었습니다. 또한, 다양한 안드로이드 기기에서 사용될 수 있도록 화면 비율과 해상도 차이를 모두 고려해야 했습니다.

 

세 가지 기술적 과제를 해결하기 위해, 앱의 전반적인 구조와 흐름을 면밀히 분석하였고, 그 결과 이 아이디어는 실현 가능하다는 결론을 내렸습니다. 특히 중요한 점은, 화면 비율이 다른 기기에서도 동일한 경험을 제공할 수 있도록 유연하게 대응해야 한다는 것이었습니다. 이를 해결하기 위해 다양한 화면 비율을 자동으로 감지하고, 사용자에게 최적화된 화면을 제공하는 로직을 구현했습니다.

 

개발과 구현

앱 개발 과정에서 다양한 안드로이드 기술을 활용했습니다. 특히 화면 전환, 다중 화면 처리, 커스텀 다이얼로그(Custom Dialog), 그리고 광고 시스템인 AdMob을 적절히 결합하여 매우 효율적이고 빠른 개발을 진행할 수 있었습니다.

하지만 개발 과정에서 가장 큰 어려움은 흑백 처리와 관련된 문제였습니다. 처음에는 외부 모듈을 활용하려 했으나, 그 모듈을 적용한 후에는 예상대로 동작하지 않는 문제가 발생했습니다. 이에 따라 OpenCV를 사용하기로 결정을 내렸고, 이 과정에서 시간이 조금 소요되었지만, 결국 문제가 해결되었고, 앱의 핵심 기능인 실시간 흑백 배경 처리 기능을 성공적으로 구현할 수 있었습니다.

 

앱의 사용자 인터페이스(UI)는 직관적으로 디자인하여, 사용자가 과거의 사진을 손쉽게 불러올 수 있고, 그 사진을 바탕으로 현재의 사진을 찍을 수 있는 흐름을 간편하게 만들었습니다. 또한, 다양한 기능을 제공하여 사진 촬영 후에는 쉽게 비교할 수 있도록 하여, 과거와 현재를 비교하며 추억을 떠올릴 수 있는 소중한 경험을 제공합니다.

 

마치며

이 앱은 단순히 과거의 사진을 불러와 찍는 것 이상의 의미를 담고 있습니다. 우리가 잃어버린 시간, 지나간 순간들을 되돌아보며 그때의 느낌을 현재의 순간에 재현하는 과정에서, 사용자는 더 많은 감동과 추억을 느낄 수 있을 것입니다. 앞으로도 이 앱은 끊임없이 발전하며, 사용자들에게 더욱 많은 즐거움과 편리함을 제공할 것입니다.

 

첫 출시 이후 시간이 많이 지나서 출시 과정을 잊어버리는 등 시간은 소비되었지만 재활용 요소가 많아서 나름 빠르게 진행했습니다. 혹시, 저와 같이 앱을 출시하고 싶고 시작 단계에 있는 개발자분들 정말 포기하지 마시고 좋은 결과있으시길 바랍니다!  앱 개발하시는 분, 시작하시는 분 꼭 기획하신 앱이 있다면 출시하시기 바라며 응원합니다.

다음 출시 때 또 글로 찾아뵐게요. 글 읽어 주셔서 감사합니다!
많이 다운 부탁드립니다!!

자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.

반응형
반응형

24년도 1월 3일에 구글 play스토어를 통해 내 인생의 두번째로 "Math Puzzle(수학 퍼즐)" 어플을 출시했습니다. 독학으로 안드로이드 스튜디오를 공부를 하고 기획/개발/디자인 등 1인 개발을 진행하였고 매년 어플 1개를 출시를 목표로 하고있습니다. 또 이렇게 목표를 이루니 기분이 좋네요!! 개인적으로 일정을 수립하여 개발을 진행했는데 계속 일정이 뒤쳐졌지만, 결국 또 한번 출시에 성공하였습니다. 혹시, 어플에 버그나 개선사항이 있다면 언제든지 블로그 댓글 및 구글 play스토어의 댓글을 부탁드립니다.

많은 다운 부탁드립니다!!!

 

그러면 개발 후기를 시작하기전 어플 소개부터 간단히 표로 정리했습니다.

앱 이름 Math Puzzle(수학 퍼즐)
앱 소개 수학 연산으로 결과값에 맞게 퍼즐을 조합하여 맞춤
- 퍼즐의 가로 세로의 연산을 맞추어 정답을 맞추면 점수를 획득하는데, 이를 위해 타일을 연산에 맞게 움직여야합니다.
앱 기능 정답을 맞출 경우 1점을 획득하고 10점이 되면 level이 증가하고 총 level1~level3까지 존재합니다.
다운 받는 곳 <URL 검색>
https://play.google.com/store/apps/details?id=myapp.mathpuzzle


<구글 플레이 검색>
Math Puzzle(수학 퍼즐)
관련 이미지
레이아웃1
(메인화면)
메인화면: 게임을 start하는 메인 페이지

레이아웃2
(게임화면)
게임화면: 터치하여 타일을 움직이는 게임 페이지
(보라색의 타일의 연산을 맞춰 분홍색 답을 맞추는 게임입니다.)

기획:

일정 관리는 엑셀로 하루 단위로 세분화하여 수립하였고 기획은 많이 걸리지 않았습니다. 예전부터 퍼즐 게임을 만들고 싶었는데 너무 단순해서 아무도 사용하지 않을 것 같아서 아이디어로 연산 기능을 넣게 되었습니다. 교육용으로 좋을 것 같아요. 퍼플 타일을 움직여서 1+2=3 처럼 순서를 맞춰야하는 기획을 진행했습니다. 설명이 부족하여 게임 진행에 힘들이 있을 수도 있으나 사용자께서 개발자의 의도를 잘 파악해주셨으면 합니다 ㅎㅎ

 

개발:

첫 어플( "칭찬 전화" ) 출시 때  안드로이드 화면전환, 다중화면, custom dialog, admob 등을 많이 활용하여 정말 빠르게 앱 개발을 진행했습니다. 처음이 정말 어려웠지 두번째는 그래도 속도가 조금 향상된 느낌이네요. 첫 출시 이후 시간이 많이 지나서 출시 과정을 잊어버리는 등 시간은 소비되었지만 재활용 요소가 많아서 나름 빠르게 진행했습니다.
혹시, 저와 같이 앱을 출시하고 싶고 시작 단계에 있는 개발자분들 정말 포기하지 마시고 좋은 결과있으시길 바랍니다! 

 

디자인:

피그마를 기본적으로 사용하였습니다. 먼저, 개발을 프로토타입으로 진행했어요. 개발자분들은 아실거에요....디자인은 미적 감각을 타고 나지않으면...망....... 아닙니다. 할수있어요! 피그마와 함께라면요. 피그마로 디자인을 먼저하고 안드로이드 스튜디오의 xml을 하나씩 수정하여 디자인을 많이 수정했어요. 지금도 디자인을 보면 눈물나네요ㅠㅠ 이뿌게 만들고 싶었는데 흑.. 다음에는 더욱 더 노력해야겠어요 ㅎㅎ

 

앱 개발하시는 분, 시작하시는 분 꼭 기획하신 앱이 있다면 출시하시기 바라며 응원합니다.

다음 출시 때 또 글로 찾아뵐게요. 글 읽어 주셔서 감사합니다!
많이 다운 부탁드립니다!!

자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.

 

 
반응형
반응형

yfinance는 파이썬에서 사용할 수 있는 금융 데이터 수집 라이브러리 중 하나입니다. 이 라이브러리를 사용하면 주식, 지수, 환율 등 다양한 금융 데이터를 쉽게 가져올 수 있습니다. yfinance는 Yahoo Finance에서 제공하는 데이터에 액세스할 수 있는 간단하고 편리한 방법을 제공합니다. 일반적으로 yfinance를 사용하여 특정 주식의 가격, 거래량, 주가지수 등을 가져오거나, 특정 기간 동안의 주식 차트를 생성하는 데 사용됩니다. 

 

 

아래 코드는 애플(AAPL) 주식의 2022년 데이터를 가져와 출력합니다. yfinance를 사용하면 여러 가지 옵션을 통해 데이터를 원하는 형식으로 가져올 수 있습니다. yfinance는 주로 금융 분석 및 데이터 시각화를 위해 사용되며, 데이터 분석, 머신러닝 등 다양한 응용 분야에서 활용될 수 있습니다.

 

<소스코드>

AAPL이라는 애플의 주식 코드를 가지고 와서 시작일 2023.10-01 부터 끝나는 지점 2023-11-27 까지 데이터를 가져오는 코드입니다.

import mplfinance as mpf
import yfinance as yf
from pandas_datareader import data as pdr
import yfinance as yf

yf.pdr_override()

data = pdr.get_data_yahoo("AAPL", start="2023-10-01", end="2023-12-31")
print(data)
# mpf.plot(data, type= "candle")   # mpf.plot(data, type= [line, candle])
mc = mpf.make_marketcolors(up="r", down="b")
s = mpf.make_mpf_style(base_mpf_style='starsandstripes', marketcolors=mc)
mpf.plot(data, type='candle', style=s, volume=True, mav=(5,10,60))

 

<결과값>

 

그렇다면 국내 주식의 코드를 살펴보도록 하겠습니다. 구글 금융이나 네이버 증권을 들어가서 국내 주식의 코드를 가져오겠습니다. 예를 들어 삼성전자의 경우 코드는 " 005930" 가 되고 위의 파이썬 코드에 국내이므로 "AAPL" 대신에 "005930.KS" 을 입력합니다.

 

https://www.google.com/finance/quote/005930:KRX?sa=X&ved=2ahUKEwiJw7OKk7uDAxVec_UHHU-nCTwQ3ecFegQIVhAX

 

<소스코드>
코드만 변경하였습니다. 005930.KS 

import mplfinance as mpf
import yfinance as yf
from pandas_datareader import data as pdr
import yfinance as yf

yf.pdr_override()

data = pdr.get_data_yahoo("005930.KS", start="2023-10-01", end="2023-12-31")
print(data)
# mpf.plot(data, type= "candle")   # mpf.plot(data, type= [line, candle])
mc = mpf.make_marketcolors(up="r", down="b")
s = mpf.make_mpf_style(base_mpf_style='starsandstripes', marketcolors=mc)
mpf.plot(data, type='candle', style=s, volume=True, mav=(5,10,60))

 

<결과값>

 

그러면 이제 국내 주식의 코드를 알기 위해 상장법인목록 파일에서 종목을 찾아서 코드+KS를 입력하여 주식차트를 그릴 수 있습니다. 종목코드를 확인하고 코드를 이용해 주식 차트를 그려보시기 바랍니다.

상장법인목록.xls
0.31MB

 

자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.

 

 

 

반응형