주식 현황 앱 (보유주식 실시간 보기)

보유 주식의 등락 현황을 한눈에 확인하기 위해 한번 만들어봤습니다. 포털 사이트에서도 가능할 것 같지만, 화면이 복잡한 편이고, 간단하게 진입이 안된다는 문제가 있습니다. 간단한 앱 형태로 원 클릭(탭)에 볼 수 있으면 좋을 것 같아서 제작해봤는데 나름 깔끔하고 보기 괜찮은 것 같아서 혹시나 관심있는 사람이 있을까 싶어 공개해 봅니다. 🙂

기능

  • 보유 주식의 총 자산 확인 가능
  • 종목별로 총 평가 금액 확인 가능
  • 최근 한달 정도의 변동 그래프 제공
    • Daum 사이트에서 가져와서 amCharts로 그림
    • 전체 및 개별 종목 그래프 제공
  • 페이지가 보여지는 중에 실시간 주가 변동 반영하여 보여줌
    • Naver 폴링, 1초

화면

  • 총 자산 현황이 화면 상단에 나오고 개별 종목이 아래에 리스트되어 보여짐
  • 종목 리스트는 [종목명, 보유수량, 현재가, 평가금액(천원단위)] 순으로 보여짐
  • 개별 종목 클릭시 개별 종목 그래프 확인 가능
  • Edit 버튼을 눌러서 보유 종목 수정 가능
stock.secrice.com 메인 화면
stock.secrice.com 종목 수정 화면

사용법

key string 등록은 위 URL에서 key 값을 자신이 사용하려는 값으로 변경하여 접속하면 됩니다. (10글자 이상) 사용하고있지 않은 key로 접속이 되면 해당 키를 생성할 수 있습니다. key를 알면 누구나 화면을 볼 수 있기 때문에 다른 사람이 보는 것이 싫으면 key값을 연상할 수 없는 값으로 사용하는 것을 추천드립니다. 개인정보 일절 필요 없고, 주식 정보만 입력하면 바로 사용 가능합니다.

맥이 잠자기(Sleep)를 유지하지 못하는 현상

언제부터인가 맥이 잠자기를 유지하지 못하는 듯한 느낌이 있어서(HDD가 멈췄다가 돌아가는 소리가 자주 들리는 듯 했다) 분석을 좀 해 보니 가관이었다. 맥이 잠자기를 유지하지 못하고 1분정도 주기로 계속 깨어나고 있었다.

아래 로그를 보면 Network 인터럽트로 인해서 맥이 깨어났다는 것을 확인할 수 있다. 로깅 시간을 보면 거의 1분 마다 한번씩 로그가 나온다. 로그에 보이는 초단위의 시간이 잠자기를 유지한 시간이다. -_-

imac:~ cky$ pmset -g log | grep "Entering Sleep state"
2017-03-24 07:19:53 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 9 secs    
2017-03-24 07:20:47 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 12 secs   
2017-03-24 07:21:45 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 12 secs   
2017-03-24 07:22:43 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 11 secs   
2017-03-24 07:23:40 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 13 secs   
2017-03-24 07:24:39 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 13 secs   
2017-03-24 07:25:38 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 12 secs   
2017-03-24 07:26:36 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 12 secs   
2017-03-24 07:27:34 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 11 secs   
2017-03-24 07:28:31 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 15 secs   
2017-03-24 07:29:32 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 11 secs   
2017-03-24 07:30:29 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 12 secs   
2017-03-24 07:31:26 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 12 secs   
2017-03-24 07:32:24 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 17 secs   
2017-03-24 07:33:27 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 13 secs   
2017-03-24 07:34:26 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 13 secs   
2017-03-24 07:35:25 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 15 secs   
2017-03-24 07:36:25 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 8 secs    
2017-03-24 07:37:19 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 7 secs

먼저 시스템 환경 설정에서 Network 요청에 의한 깨우기를 꺼봤다. 그랬더니 역시나 잠자기가 유지가 된다. 뭔가 Network 패킷에 의해서 깨어나는 것은 확실해 보였다.

시스템 환경 설정 > 에너지 절약

다음으로 tcpdump를 실행해보았다. 그랬더니 이상한 IP로부터 ssh 연결이 끊임없이 들어오고있는 것이 아닌가. ssh 연결을 위한 22번 포트는 내가 외부에서 사용할 목적으로 열어둔 포트다. 그런데 이 포트로 요청이 계속 들어오니 맥은 깨어날 수밖에 없는 것이었다.

IP를 차단할 수 있는지를 타임캡슐에서 살펴보았는데 firewall 기능이 거의 없다시피해서 따로 설정하는 메뉴가 없는 것 같았다. iptime같은 공유기를 쓴다면 IP를 걸러낼 수 있지 않을까 싶다.

도통 패킷이 멈출 기미가 안 보여서 포트를 변경하기로 했다. 외부 포트를 22번이 아닌 다른 것을 쓰고 그 포트를 내부 22번으로 연결시켰다.

Airport 유틸리티 > IPv4 포트 매핑

ssh 연결 요청이 맥에 도착하지 않으니 맥이 잠자기를 잘 유지한다. 로그를 보니 두시간 마다 한번씩 깨는데, 이는 요청시 깨우기 및 Bonjour 잠자기 프록시에 의한 정상적인 동작이다. (https://support.apple.com/ko-kr/HT201960)

아래는 ssh 포트 변경 후 어젯밤 상황을 잡은 로그다. 잠자기가 길게 유지되는 것을 명확히 확인할 수 있다. Idle sleep(아무것도 하지 않아 잠자기에 들어가는 것)으로 잠자기에 진입 후 아침까지 계속 잠자기가 유지되었다. 🙂

imac:~ cky$ pmset -g log | grep "Entering Sleep state"
2017-03-24 17:41:57 +0900 Sleep               	Entering Sleep state due to 'Software Sleep pid=104': Using AC 566 secs  
2017-03-24 18:10:31 +0900 Sleep               	Entering Sleep state due to 'Idle Sleep': Using AC 5446 secs 
2017-03-24 19:42:02 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 5315 secs 
2017-03-24 21:11:23 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 4558 secs 
2017-03-24 23:49:20 +0900 Sleep               	Entering Sleep state due to 'Idle Sleep': Using AC 4793 secs 
2017-03-25 01:09:59 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 6443 secs 
2017-03-25 02:58:08 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 6443 secs 
2017-03-25 04:46:17 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 6443 secs 
2017-03-25 06:34:26 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 6443 secs 
2017-03-25 08:22:35 +0900 Sleep               	Entering Sleep state due to 'Maintenance Sleep': Using AC 5109 secs