Script / CSS

G1sUtil.js

G1sBlogger.js

G1sNavigationList.js

G1sCode

G1sTagList

2020년 6월 24일 수요일

[바다데이] 조석, 날씨, 일출/일몰 정보 어플!


개발을 하면서 개인적으로 이것저것 만들어 보고는 블로그에 올리기도 했었는데 처음으로 공개 된 마켓인 안드로이드 플레이 스토어에 내 앱을 올렸네요.
이 포스트는 홍보나 소개의 의미보다는 개발자로서 어플을 만든 배경이나 고민들에 대한 기록의 관점에서 글을 남겨볼까 합니다.


바다데이.
바다의 조석, 날씨, 일출/일몰 등의 정보를 일별 또는 달력으로 볼 수 있는 어플입니다.

그 동안 앱을 만들어야지 하고, 기획도 하고 실제 만들어 보기도 했었는데 제 첫 어플이 바다에 대한 어플일거라고는 생각하지 못했네요. ㅎㅎ

이 어플은 작년에 낚시배 선장이 된 친구의 필요에 의해 또 다른 친구 한명과 둘이서 만들게 되었습니다. 
저는 안드로이드 쪽을 담당하고, 친구는 서버 쪽을 담당해서 퇴근 후 밤 11시부터 새벽 1~2시까지... 또는 주말 시간을 이용해 하다보니 기획부터 개발, 테스트 까지 3개월 정도의 시간이 걸렸네요.

안드로이드는 최근 3년간 웹/서버 개발만 하느라 손을 놓고 있었는데 그 사이에 코틀린 이라는 새로운 언어도 나왔더군요. 
공부도 할 겸 안드로이드는 코틀린으로, 서버는 파이썬으로 작업을 했습니다.


구글 드라이버를 이용해서 나름 기획이라고 문서도 만들 었습니다.
개발자 둘만으로 이루어진 작업이라 기획과 디자인은 나름 그 동안 본것들을 참조해서 했는데 전문분야가 아니다 보니 조잡한 느낌을 지울 수가 없네요...

의견 교환은 구글 드라이버의 문서와 음성/텍스트 채팅을 통해서 온라인으로.. 
그러고 보니 코로나가 겹치기도 해서 그런지 개발을 하는 동안 개발자 둘이 오프라인으로 만난 적은 한번도 없군요.


이 어플이 만들어지게 된 존재이유(?) 인 조석 달력 위젯 입니다.
클라이언트(?)는 배를 끌고 바다에 나가면 인터넷이 되지 않아 위젯에서 정보를 주로 본다고 합니다.

조석은 달(음력)에 크게 좌우 되며, 15일을 주기로 물때가 바껴, 월별로 정보를 보는게 크게 도움이 된다고 합니다.
이 어플을 만들면서 나름 조석에 대한 공부도 했네요...


메인화면은 아무래도 앱을 가장 대표하는 화면이다 보니 출시 전/후로 가장 많은 수정이 이루어졌네요.
상단부터 지역 및 메뉴 아이콘, 현재 날씨 정보, 24시간 동안의 날씨 및 물때 그래프, 조석 및 일출/일몰 정보로 이루어져 있습니다.

다른 어플들은 주로 정보를 하루 단위로 보여주는게 많더군요.
아무래도 해양수산부나 기상청 등에서 내려주는 정보가 일 단위로 주고 있어서 그렇지 않을까 합니다.
저희는 현재시간 기준으로 과거 3시간 미래 24시간의 정보를 보여 주고 있습니다.


지역 목록은 자주 확인하는 지역들을 등록해 놓는 즐겨 찾기 목록입니다.
가까운 지역도 물때가 어느정도 차이가 나서 해루질이나 낚시등을 자주 가시는 분들은 여러 지역을 보는 경우가 많다고 하네요.


관측지 지도 화면은 해양수산부에서 조석정보를 제공하는 120여개의 관측지에 대해 선택할 수 있습니다.
추후 조석정보를 자체적으로 계산하는 것들을 테스트 하여 위치를 더 추가할 예정입니다.


조석 달력은 위젯에서 사용하는 화면과 동일한 기능입니다.


조석 달력 위젯 또는 조석 달력 Activity에서 날짜를 선택 시 나오는 상세 화면은 메인 화면에 비해서 아직 정보들이 부족한 감이 있습니다.

조석정보와 천문정보의 경우 계산을 통해 비교적 정확하게 예측이 가능하여 몇년 후 까지 예측정보가 제공되고 있지만, 날씨 정보 같은 경우는 시간단위 예측은 최대 3일 까지 밖에 제공을 안하고 있어서 해당 정보는 메인에서만 보여주고 있습니다.


클라이언트(?)가 특별히 요구한 기능 두번째는 바로 알림 기능.
알림 설정 팝업은 조석, 일출, 일몰 정보를 기준으로 하여 과거 1시간 미래 1시간 이내에서 원하는 알람 시간을 설정할 수 있습니다.


알림 목록은 위에서 설정한 알림 정보를 조회 및 수정할 수 있는 목록 화면입니다.


설정 화면은 현재는 위젯 테마를 설정하는 기능밖에는 없네요.
테마는 블랙/화이트 테마에 배경을 투명 및 불투명으로 설정 할 수 있도록 하여, 사용자의 배경화면에 맞게 선택을 할 수 있도록 했습니다.

여기까지... 인트로까지 총 9개의 Activity와 1개의 팝업, 1개의 위젯으로 이루어진 간단한 어플이군요.

정보는 해양수산부에서 조석정보와 수온정보를 받고 있고, 천문전산융합센터에서 일출/일몰 정보를 그 밖에 날씨정보는 기상청에서 받고 있습니다.

2020년 6월 20일 토요일

[자전거따라] (구)경춘선 철도길을 따라 달리는 자전거길


해가 갈수록 자전거를 타는 횟수가 줄어드는 것이 느껴지네요.
토요일 인 오늘은 오랜만에 친구와 함께 자전거를 타고 집을 나서봅니다.

이전부터 한번은 가봐야지 했던 경춘선 자전거길.
(구) 경춘선 철도길을 이용해 만들어진 자전거길을 따라 페달을 밟아 봅니다.



코스는 대성리역부터 시작해서 마석역, 천마산역 등을 거쳐가는 경춘선을 따라가다가 왕숙천을 타고 내려와 구리를 지나 한강으로 이어지는 코스입니다.
목표는 여의도 아래 신길에 있는 집까지 도착해 고기를 구워먹고 헤어지는 것을 목표로 했지만....
결과는 이미 위에 나와 있군요. ㅎㅎ



끝나지 않는 코로나19의 영향으로 마스크를 쓴채 자전거를 끌고 지하철로 향합니다.
KF-94 마스크는 확실히 숨을 쉬는데 불편함이 있네요.
사람이 많은 곳에서는 항상 쓰고다니지만 자전거를 타다보면 숨이 가빠와서 쓰고 있을 수가 없군요. 
다행히 자전거는 자연스레 사람간의 거리를 두게 되는데다 야외에서 타는 만큼 큰 고민없이 마스크를 벗어둡니다.


대성역에 도착.
자전거를 타기 전 배를 채우기 위해 들른 닭갈비집.

오랜만에 닭갈비가 생각나 자전거를 타는김에 찾아본 집입니다.
철판 닭갈비와 거기에 볶아 먹는 볶음밥을 좋아하는 편인데, 요즘은 철판 닭갈비가 많이 보이지는 않는 듯 하네요.



메뉴는 역시 닭갈비. 다른 테이블을 보니 막국수도 많이 드시는 것 같군요.
우리는 계획대로 닭갈비를 먹은 후 볶음밥으로 마무리를 했습니다.


식사 후 드디어 자전거를 타고 출발.
북한강을 따라 내려가다 마석역을 향해 경춘선을 타고 올라갑니다.

대체적으로 완만히 올라가는 오르막길.
자전거길이 잘 만들어져 있어 크게 힘들지는 않네요.


오랜만에 타서인지 날씨가 무더워서 인지 체력이 많이 떨어져 가는게 느껴지네요.

마석역에서 1차 휴식.
아이스크림을 먹으며, 휴식을 취한 후 다시 자전거에 오릅니다.


천마산역 까지도 역시 오르막길.
사진은 자전거를 타며 한손으로 운전을 하며 찍는 편이라 평지가 아닌 오르막이나 내리막길에서는 사진을 찍기가 쉽지는 않네요.

이번에도 역시 잠시 휴식 후..
다음은 내리막길이 이어지리라 기대를 하며 다시 자전거에 오릅니다.


경춘선역 자전거길 곳곳에 보이는 터널.
(구) 전철역을 따라 달리다 보니 터널을 자주 이용하는 편입니다.


뜨거운 날씨 속에서는 에어컨보다 더한 시원함을 느낄 수 있습니다.

천마산을 지나 터널을 넘어서니 이어지는 것은 길고 긴 내리막길.
천마산까지 오르막을 올라온 것 보다 내려가는 길이 더 긴 것 같군요.


신나게 내리막을 내려오다 보니 어느덧 왕숙천에 도착했군요.


구리타워를 지나면 바로 한강이 나옵니다.

어느덧 시간은 5시가 다가오는 군요.
초반 오르막길부터 날이 더워 쉬면서 오다보니 어느덧 시간이 이렇게 흘렀군요.
처음 목표로 했던 것처럼 집까지 완주는 못했지만 경춘선 자전거길을 통해 한강까지 도착하는 작은 목표를 이룬 것에 위안을 얻으며 여기서 마무리를 합니다.

초여름부터 날씨가 더우니 아마도 한동안은 또 자전거를 타지 못할 것 같은....
다음 라이딩은 가을이나 할 수 있겠다는 예상속에서도 기회만 된다면 뜨거운 여름 중에도 한번 자전거를 타고 나올 수 있기를 기대해 봅니다.