안경잡이개발자

728x90
반응형

  제가 자주 사용하는 파이썬(Python) 온라인 개발환경을 몇 가지 소개합니다. 사실 간단한 프로그램을 돌리기 위한 목적으로는 굳이 로컬에 파이참(PyCharm) 등을 설치하지 않고, 온라인 개발환경을 이용하는 것이 더 편할 때가 있습니다.

 

  1. 리플릿(https://repl.it/languages/python3)

 

 

  리플릿(Replit)사이트는 제가 느끼기에 개발 환경이 매우 깔끔하고, 기본적인 패키지를 직접 검색해서 설치할 수 있도록 해준다는 점에서 좋다고 느꼈습니다. 물론 리플잇 사이트에서는 기본적으로 numpy를 제공합니다. 거기에 예를 들어 bs4와 같은 패키지를 검색하여 설치할 수 있습니다.

 

  또한 기본적으로 외부 사이트에 접속하여 데이터를 크롤링하는 등의 작업이 가능하기 때문에 유용하게 사용하고 있습니다.

 

  2. 코랩(https://colab.research.google.com/)

 

 

  코랩(Colab)은 구글에서 공식적으로 제공하고 있는 온라인 개발환경입니다. 주피터(Jupyter) 노트북 형태로 제공해준다는 점에서 소스코드를 편하게 작성하고, 관리할 수 있습니다.

 

  더불어 텐서플로우(TensorFlow) 및 파이토치(PyTorch)와 같은 머신러닝 라이브러리가 미리 설치되어 있기 때문에 활용도가 매우 높습니다. 더불어 GPU 연산도 지원한다는 점은 기본적인 머신러닝 예제들을 돌리기에 충분하도록 해줍니다.

728x90
반응형

728x90
반응형

※ 유튜브 수익에 대한 세금은 어떻게 납부해야 되는가? ※

 

  유튜브(YouTube)를 운영하다 보면 광고 수익이 발생하게 됩니다. 다만 이렇게 얻은 광고수익에 대하여 어떻게 세금 납부를 해야 하는지 궁금하실 수 있습니다.

 

  세금의 경우 연 소득이 크게 발생하지 않는다면 굳이 사업자 등록을 하지 않아도 괜찮습니다. 저 또한 유튜브를 통해 얻는 연 소득이 매우 적기 때문에 사실상 세금 부담이 크지 않습니다. 하지만, 일정 규모 이상의 수입이 있다면 사업자 등록을 하는 게 유리하다고 하네요. 일반적으로 수 천만 원대 이상의 수익이 발생하시는 분들이 사업자 등록을 고려하시는 것 같습니다. 저는 수입이 적기 때문에 해당사항이 아닌 것 같습니다.

 

  더불어 MCN과 계약을 하신 분들이라면, MCN 측에서 정보를 알려 줄 것이므로 MCN과 계약을 하지 않은 1인 크리에이터 유튜버를 대상으로 어떻게 세금을 납부해야 하는지 가이드라인을 제시해드리겠습니다.

 

※ 부가가치세와 종합소득세 ※

 

  유튜브를 운영하여 수익을 창출할 때 세금 납부는 크게 두 가지입니다. 바로 부가가치세와 종합소득세인데요. 일반적으로 어떤 분야든 사업자 등록을 해서 물건을 팔면 부가가치세가 10% 붙습니다. 종합소득세는 1년간 번 돈에 대하여 소득세를 납부하는 것이구요!

 

  사업자 등록을 하지 않았다면, 부가세는 납부하지 않아도 됩니다. 또한 사업자 등록을 했다고 해도, 애드센스 수입은 해외에서 국내로 들어오는 금액이기 때문에 영세율 적용 대상이라고 합니다. 다시 말해 0%의 세금, 즉 실질적으로 부가세를 납부하지 않는다고 합니다. 그래도 사업자 등록을 한 상태라면 근거 서류와 함께 0%에 대한 신고를 해야 합니다. 즉, 사업자 등록이 되어 있는 경우에는 납부할 금액이 없다고 하더라도 신고는 해야 하는 것이구요!

 

  또한 종합소득세는 사업자 등록 여부와 상관 없이 필수적으로 납부를 해야 합니다. 종합소득세는 일반적으로 1월에서 12월 사이에 벌어들인 소득을 합산해 다음 해 5월에 신고하는 세금입니다. 소득세 신고를 하지 않으면, 나중에 가산세가 부과되기 때문에 꼭 소득세 신고를 해주셔야 한다고 해요!

 

※ 종합소득세율 ※

 

  그렇다면 얼마의 종합소득세를 신고해야 할까요? 연 단위로 보았을 때,


  과세표준이 12,000,000원 이하라면 세율은 6%
  과세표준이 12,000,000원 초과 ~ 46,000,000원 이하라면 15%라고 합니다.

 

  특히 연 소득이 억대가 넘어가는 경우에는 꼭 세무사를 고용하셔서 도움을 받으시는 게 현명할 것 같습니다. 다만 저 같이 소득이 적은 유튜버들은, 세무사를 고용하는 것이 더 부담스러울 수 있기 때문에 직접 신고를 하는 게 더 나은 것 같아요!

728x90
반응형

728x90
반응형

  이번 포스팅에서는 두 개의 유용한 소프트웨어를 소개하고자 합니다. 하드웨어에 대한 정보를 알려주는 프로그램들입니다. 먼저 HWiNFO는 하드웨어에 대한 정보를 빠르게 수집해서 요약(Summary) 정보를 보여준다는 특징이 있습니다. 드라이버 정보를 포함해 전반적인 하드웨어 관련 정보를 모두 보여줍니다. HWMONITOR는 더 간단한 정보만 요약해서 보여줍니다. 하드웨어 온도(Temperature), 전력 소모량, 각 장치의 이용량(Utilization) 등에 대한 정보를 포함합니다.

 

  ▶ HWiNFO 공식 홈페이지: https://www.hwinfo.com/download/

 

  HWiNFO 공식 홈페이지는 위 URL과 같습니다. 사이트에 접속한 뒤에 [Portable] 버전을 다운로드 하실 수 있는데, 가벼운 버전을 이용해도 기본적인 정보를 모두 확인할 수 있씁니다.

 

 

  다운로드를 하실 때는 설치 프로그램을 받아서 설치하는 방법과, 바로 Portable 프로그램을 받는 방법 등이 있습니다. 저는 바로 [HWiNFO Portable]을 선택하여 다운로드 했습니다.

 

 

  바로 프로그램을 실행하면 됩니다.

 

 

  [Run] 버튼을 누릅니다.

 

 

  실행 후에 약간의 시간이 흐른 뒤에 CPU 및 GPU에 대한 정보부터 Clock에 대한 정보를 알려줍니다. 더불어 메인 보드, 키보드, 오디오 장치, 메인 메모리 등에 대한 정보도 알려줍니다.

 

 

  또한 [Sensors] 버튼을 누르면 현재 각 장치가 얼마나 많은 전력을 소비하고 있는지, Clock 상태는 어떤지, 온도는 어떤지 등에 대한 정보를 알려준답니다.

 

 

  ▶ HWMONITOR 공식 홈페이지: https://www.cpuid.com/softwares/hwmonitor.html

 

  HWMONITOR 공식 홈페이지는 위와 같습니다. 사실 이 프로그램도 기본적인 하드웨어의 상태 정보를 알려주기 때문에 좋습니다. HWiNFO에서 알려주는 센서 정보처럼 간결하게 알려준다는 장점이 있습니다.

728x90
반응형

728x90
반응형

  제가 관심있는 분야는 개발과 보안입니다. 그 중에서 개발은 Web, Game, Data Analysis, Machine Learning 분야를 좋아합니다. 보안은 AI Security, Mobile Security, Ransomware, Social Engineering 분야를 좋아합니다. 사실 컴퓨터 분야면 전부 좋아합니다. 슬프게도 좋아하는 분야는 많지만, 잘 하는 분야는  없습니다.

 

  아무튼 그래서 석사 진학을 결정했습니다. 석박 통합은 자신이 없어서, Only 석사로 지원하여 합격했습니다. 합격 과정에 대한 내용은 다음 포스트에서 확인하실 수 있습니다.

 

https://ndb796.tistory.com/305

 

2019 포항공대(POSTECH) 가을학기 컴퓨터공학과 석사 과정 합격 후기

2019년 포항공대(POSTECH) 가을학기 컴퓨터공학과 석사 과정에 합격 했습니다. 사전에 컨택은 하지 않았고, 대학원 진학 결정도 성급히 한 편이어서 이와 같이 합격까지 순탄하게 이루어질 줄은 몰랐습니다. 영어..

ndb796.tistory.com

  결과적으로 2019년 가을학기로 입학하게 되었습니다. 현재 연구실의 주요 분야는 Security입니다. 사실 분야 자체는 굉장히 다양한데요, 어떤 Category를 딥하게 파볼까... 고민되기도 하고 설레기도 하네요.

 

< 석사 일기 시작 >

 

[2019-05-27]

 

  현재는 포항에 내려가서 수학을 하기 전에 랩 선배님께 읽을 논문들을 소개해달라고 하여, 논문 목록을 받아 공부하는 중입니다.

 

[2019-07-02]

 

  최대한 빨리 연구에 참여하고자, 포항에 내려와 공부하게 되었습니다. 연구실에 출근해서 컴퓨터를 받고, 운영체제를 설치한 뒤에 Git, 문서 프로그램, IDA Pro, FTP 접속 프로그램, Slack, VSC를 설치했습니다. 저희 랩은 Slack를 주 메신저로 사용하고, 각종 문서들은 별도의 서버에서 보관하고 있습니다. Latex는 처음 사용해 보았는데, 쉽지 않은 것 같습니다.

 

  그리고 먼저 내려 온 만큼, 교수님께서 월급도 주시기로 하셨습니다. 기숙사 또한 학교 측에서 사전입사를 제공해주고 있습니다. 고시원에서 살던 저에게는 너무나도 좋은 환경입니다. 공부 열심히 하겠습니다!

 

[2019-07-03]

 

  유랑 생활을 하다가, 개인적인 자리가 생긴 것이 익숙하지 않습니다. 물론 이틀간 정리를 한 끝에 기숙사와 연구실 자리 정리가 어느 정도 완료된 상태입니다. 슬리퍼, 선풍기, 스탠드 등을 구매하여 연구실 자리에 배치했습니다. 

 

  저희 랩장 선배 팔뚝이 엄청나게 굵습니다. 전형적인 Power Lifter의 Physical을 타고 났습니다. 랩장 선배님과는 가능하면 Physically Adversarial한 상황이 발생하지 않아야만 합니다.

 

  밤에는 연구실 회식을 했습니다. 우리 연구실 남자 선배들은 전부 노래를 잘 합니다. (여자 선배님께서 노래를 못 한다는 말은 아닙니다.) 특히 성대 접지와 Mix Voice의 원리를 체득화 하고 계십니다. 제가 분위기를 띄웠어야 했는데... 발라드만 불러서 죄송했습니다.

 

[2019-07-04]

 

  저는 저희 연구실에서 나이가 가장 어립니다. 연구실 선배님께서 '우리 연구실은 네가 압도적 막내구나?'라고 했습니다. 물론 제 피지컬은 이미 나이에 걸맞지 않는 Aging이 발생했으나 생물학적으론 제가 어린게 맞습니다. 선배들은 저보다 나이가 많지만 다들 동안입니다. 선배들한테 배울 점이 정말 많습니다. 사실 대학원에 대해 안 좋은 이야기도 많이 들어서 걱정했는데, 여기에서는 정말 재미있게 공부할 수 있을 것 같습니다. 선배들은 다양한 High-Tier Security Conference의 존재와, 좋은 논문들은 어떤 논문인지에 대해서 간략하게 설명해주셨습니다.

 

  그리고 저는 제가 얼마나 몰랐는지, 무엇을 몰랐는지 서서히 깨닫고 있습니다. 지금까지 아무것도 모르면서 인터넷 공간에 Perturbation을 흩뿌리던 제가 부끄럽게 느껴집니다.

 

  그리고 선배님들은 자차를 가지고 계신데(승용차 혹은 오토바이), 매 번 밥을 먹으러 나갈 때마다 운전을 해서 저를 태워주십니다. 사실 차를 운전하는 건 엄청나게 귀찮은 일입니다. 그럼에도 불구하고 저를 태워주시는 것에 감사합니다. 저는 그래서 태워 주실 때마다 감사하다는 말은 잊지 않고 꼭 하고 있습니다. 저는 노예가 되어도 상관없습니다.

 

[2019-07-05]

 

  우리 연구실의 출퇴근 시간은 자유입니다. 하지만 대부분은 누가 시키지 않아도 10시 가량에 출근해서 저녁을 먹고도 남아서 연구를 진행합니다. 저도 그렇습니다. 어차피 집에 가봤자 컴퓨터 하는데, 이왕 연구실에서 컴퓨터 하는게 나으니까? 그런 것 같습니다. ㅋㅋㅋ

 

  그리고 오늘은 교수님께서 짜장면을 사주셨습니다. 짜장면 집까지는 걸어서 갔는데, 교수님 걸음걸이가 저보다 2배는 빠릅니다. 그래서 자연스럽게 허기가 져서 짜장면을 허겁지겁 먹었습니다. 생각보다 학교 주변엔 맛있는 음식점이 많습니다. 어쩌면 그릇 째로 아그작 아그작 먹을 수 있지 않을까요?

 

  저희 연구실은 신입생이 들어오면, 연구실 적응을 위하여 영어 세미나를 시킨다고 합니다. 지금 저는 Conference 발표 영어 듣기도 겨우 따라가고 있는 수준인데(그마저도 제대로 이해 못 함) 영어 발표를 잘 할 수 있을까요? 저도 잘 할 수 있습니다. 다들 하는 건데, 저도 해야죠!

 

[2019-07-06]

 

  지금까지 제대로 논문을 정독한 적이 없었는데, Paper하나 읽고 Exploit Demo까지 해보는 것은 생각보다 더 많은 시간을 필요로 하는 것 같습니다. 지금까지 다양한 분야의 논문 15개 가량을 속독했지만, 제대로 읽고 구현까지 해 본 것은 없는 수준입니다. 저 같은 폐급이 또 있을까요?

 

  영어 또한 정말 못 하는 편이지만 그래도 읽을 수록 속도가 느는 것 같아서 기분이 좋습니다.

   

  공학 논문에서 하나의 문장을 이해하지 못하겠다면, 그 문장을 이해하기 위해서 또 많은 것들을 DFS로 찾아 공부해야 하는 것 같습니다. 레퍼런스의 레퍼런스의 레퍼런스... 끝나지 않는 재귀지옥... 아무튼 처음에 읽었을 때는 제대로 이해하지 못하고 넘어갔던 부분이, 나중에 다시 읽었을때 본 저자의 의미를 조금이나마 이해하게 되는 것 같습니다.

 

[2019-07-09]

 

  선배들과 개인적으로 보내는 시간이 많아져서, 연구실에 대한 이야기를 더 많이 들을 수 있었습니다. 내가 생각했던 것 보다 더 공부하기 좋은 연구실이라는 생각이 들었고, 더 열심히 해야겠다는 생각이 들었습니다. 저도 좋은 Conference에 논문을 Submit하여 발표하게 될 날이 올까요?

 

[2019-07-20]

 

  박사 선배님이 논문 Summary 과제를 여러 개 내주셨습니다. 저는 Academic Writing이 매우 부족한 편이기 때문에 많은 지적을 받고, 배울 수 있었습니다. (Top-Bottom 방식의 글 쓰기, 능동태 위주로 쓰기, 축약형 쓰지 말기, But/And/So와 같은 접속사 쓰지 말기, 글의 Flow 잘 살펴 보기. Evaluation/Implementation은 Author의 관점에서 서술하기 등) 아주 많은 것들을 배울 수 있었습니다. 신입생 교육 기간에서 다룰 모든 논문에 대하여 Summary를 해보라고 하셔서, 아마 당분간은 영어 공부를 많이 하게 될 것 같습니다.

 

[2019-08-09]

 

  오늘을 마지막으로 신입생 교육 기간이 끝났습니다. 저희 연구실에서는 대학원생 신입생이 입학하면, 4주 간 선배들이 최근에 공부하고 있는 논문을 읽은 뒤에 해당 논문의 내용을 세미나로 발표해야 합니다. 일주일에 하나의 논문을 읽은 뒤에 내용을 정리하여 PPT로 만들고, 영어로 발표해야 하기 때문에 쉽지 않았습니다. 제가 최근에 주제로 잡고 발표한 논문은 Adversarial Example 관련 논문 2개, Fuzzing 관련 논문 1개, Blockchain 관련 논문 1개입니다. 일단 다양한 연구 주제에 대한 기본적인 내용을 이해할 수 있어서 좋았고, PPT 구성 및 논문 내용 발표에 있어서 많은 피드백을 얻을 수 있어서 좋았습니다.

 

[2019-08-14]

 

  실험을 위한 연구용 PC 세팅 작업이 끝났습니다. 그래픽 카드 2장과 파워가 있는 상황에서 CPU, 메인보드, RAM 등을 구매하여 연구용 PC 조립을 했습니다. PC 조립이 끝난 이후에는 Ubuntu 18.04 OS를 설치하고, NVIDIA 그래픽 드라이버를 설치한 뒤에 Cuda 설정까지 마쳤습니다. 다만 제가 Headless한 GPU 서버를 지원하지 않는 메인보드를 구매해버려서, 그래픽 카드의 부착과 부팅 설정 등에서 매우 많은 우여곡절이 있었습니다. 그래서 매뉴얼을 쥐잡듯이 살펴 보며 Error Code를 확인하고, 각종 포럼을 뒤져 가며 문제를 해결해야 했습니다. GPU PC의 전반적인 구성에 대해 많은 내용을 공부할 수 있었습니다.

728x90
반응형

728x90
반응형

  사업자 폐지를 하고 싶을 때는 일반적인 경우 홈택스를 이용해, 인터넷으로 손쉽게 사업자 폐지를 할 수 있습니다. 사업자 폐지를 인터넷으로 하고자 한다면 다음과 같이 홈택스에 방문하면 됩니다.

 

  ▶ 홈택스(Hometax): https://www.hometax.go.kr

 

  방문 이후에는 가장 먼저 로그인을 해주세요.

 

 

  로그인 이후에는 다음과 같이 [신청/제출] 탭으로 이동합니다.

 

 

  이후에 [휴폐업신고] 탭으로 이동하여 폐업 신고를 진행하면 됩니다.

 

 

  폐업 신고를 위해서는 먼저 [공인인증서 인증]을 해야 합니다.

 

 

  인증 이후에는 바로 [폐업신고서]에 체크를 하여 폐업 신고를 진행할 수 있습니다.

 

 

  결과적으로 저는 다음과 같이 작성하여 제출했습니다.

 

 

※ 폐업 신고 이후에 해야 할 일 ※

 

  폐업 신고를 한 뒤에, 폐업일이 속하는 과세기간의 개시일로부터 폐업일까지의 사업실적에 대해 신고(부가가치세)해야 합니다. 이 때 폐업일이 속한 달의 말일로부터 25일 이내에 신고를 해야 한다고 하니 꼭 기억해두세요!

 

  저는 최근 과세기간 동안에 사업 실적이 없기 때문에, 다음과 같이 [부가가치세 신고]에서 무실적 신고를 하게 되었습니다.

 

 

  [무실적 신고] 같은 경우는 신고서를 작성하기가 매우 간편합니다. 사실 실적이 없는 지는 꽤 되었는데, 귀찮아서 사업자 폐지를 안 하고 있었거든요.

 

 

  그냥 그대로 [신고서 입력완료] 버튼을 누르면 신고가 끝납니다.

 

728x90
반응형

728x90
반응형

  흔히 우리가 앱을 개발할 때는 페이스북(Facebook) 회원가입/로그인 기능을 구현하곤 합니다. 소셜 로그인 기능에서 가장 중요한 것은 서버에서 이를 검증하는 것입니다. 이미 페이스북 계정으로 가입이 된 사용자의 로그인을 처리하는 소스코드는 PHP로 다음과 같이 작성할 수 있습니다. 이 때 해당 서버에서는 이메일(Email)을 기준으로 회원을 구분한다고 가정합니다. 다시 말해 Facebook API로부터 Access Token으로 이메일 정보를 받아 와서, 그것으로 서버에서 로그인 처리를 시켜주는 것입니다.

 

  이미 사용자가 앱에서 로그인을 했다고 가정하고, Access Token을 서버로 보냈을 때 이를 처리하는 예제입니다. 다음의 소스코드를 참고하시면 될 것 같습니다.

// 사용자로부터 Facebook 로그인 이후 Access Token을 받습니다.
$access_token = $this->input_check('access_token');
$client = new \GuzzleHttp\Client();
if($access_token == "") {
    $this->output->set_status_header(400); // 입력 값 형식이 바르지 않습니다.
    exit;
}
try {
    // Facebook Graph API를 이용하여 Email 정보를 받아올 수 있습니다.
    $response = $client->request('GET', 'https://graph.facebook.com/me?fields=name,email&access_token='.$access_token);
    $body = $response->getBody();
    if($response->getStatusCode() == 400) {
        $this->output->set_status_header(500);
        exit;
    }
    $json_response = json_decode($body, true);
    // Facebook Graph API로부터 Email 정보를 받아와 출력합니다.
    echo $json_response['email'];
    /*
    // 아래는 로그인 인증 수행을 위한 처리 로직 예제입니다.
    $email_data['member_email'] = $json_response['email'];
    $result = $this->model_login->check_signup_type($email_data);
    if($result) {
        switch($result->signup_type) {
            case '0' :
                $this->output->set_status_header(503); // 일반 회원으로 가입한 계정입니다.
                exit; break;
            default:
                $info = $this->model_login->get_info_by_email($email_data);
                if(empty($info)) {
                    $this->output->set_status_header(501); // 존재하지 않는 계정입니다.
                    exit;
                }
                $token = array(
                    "exp" => time() + (60 * 60 * 24 * 7), // Refresh Token의 유효 기간은 7일입니다.
                    "member_idx" => $info->member_idx,
                    "token_type" => "refresh_token"
                );
                $jwt = JWT::encode($token, $this->jwt_key);
                $response = array("refresh_token" => $jwt);
                echo json_encode($response);
        }
    } else {
        $this->output->set_status_header(501); // 존재하지 않는 계정
        exit;
    }
    */
} catch (Exception $e) {
    // 예외 처리를 진행합니다.
}

 

728x90
반응형

728x90
반응형

  구글 인 앱 결제(IAP)는 특정한 애플리케이션의 사용자가 인 앱 결제를 이용할 수 있도록 해주는 기능입니다. 일반적으로 인 앱 결제 기능을 앱에 넣는 경우, 앱에서 사용자가 특정한 물품을 구매한 뒤에 서버의 결제 완료 API를 호출하게 됩니다. 그러면 서버의 결제 완료 API는 앱 사용자에게 아이템을 지급하는 등의 처리를 하게 됩니다.

 

  하지만 많은 서버 개발자들은, 구글 인 앱 결제(In App Purchasing)검증 로직을 넣지 않습니다. 이는 매우 위험하다고 할 수 있습니다. 인 앱 결제 기능을 이용할 때는 클라이언트가 서버 결제 완료 API를 호출했을 때, 해당 사용자가 진짜로 결제를 했는지 확인해야 합니다. 예를 들어, 특정한 악성 클라이언트는 실제로 결제를 하지 않았음에도 서버 API 주소를 알아내서, 해당 API를 무한정 호출해 부당한 이익을 취할 수 있습니다.

 

  따라서 이번 시간에는 구글 인 앱 결제(IAP) 인증을 위한 구글 개발자 API를 사용하는 방법을 소개합니다.

 

  ▶ Google Cloud Platform API Library: https://console.cloud.google.com/apis/library

 

  구글 라이브러리는 위 링크에서 모두 확인할 수 있습니다.

 

 

  이후에 다음과 같이 [Google Play Android Developer API]를 검색하여 확인할 수 있도록 합니다.

 

 

  이후에 [Google Play Android Developer API]를 사용하겠다고 설정하시면 됩니다.

 

 

  이 때 [프로젝트]가 없는 경우 [프로젝트 만들기]를 진행하고, [새 프로젝트 생성] 이후에 [사용 설정]을 하시면 됩니다. 반면에 이미 구글 플레이 콘솔에 올라가 있는 앱과 연동되어 있는 프로젝트가 있는 경우 해당 프로젝트에서 그대로 확인하시면 됩니다. 우리가 해야 할 일은 바로 [사용자 인증 정보]를 만드는 것입니다. 다시 말해 특정한 안드로이드 앱의 사용자 결제 내역을 확인할 수 있는 권한을 가지고 있는, '사용자 인증 정보'를 생성해야 하는 것입니다.

 

 

  따라서 [사용자 인증 정보]로 이동한 뒤에 [사용자 인증 정보 만들기]를 눌러 [서비스 계정 키] 탭에 들어갑니다.

 

 

  이후에 [새 서비스 계정]을 선택한 뒤에 [서비스 계정 이름]을 설정합니다. 그리고 역할은 [소유자]로 선택할 수 있습니다. 이제 [생성] 버튼을 눌러서 JSON 파일을 생성하시면 됩니다. 생성 이후에는 JSON 파일이 생성되므로, 이 파일을 저장해주세요. 향후 서버에서 이 JSON 파일을 이용하여 구글 인 앱 결제 인증을 수행할 수 있습니다.

 

  이제 구글 플레이 개발자 콘솔에 업로드가 되어 있는 앱을 확인합니다.

 

▶ 구글 플레이 개발자 콘솔: https://play.google.com/apps/publish

 

  다음과 같이 Play Console에서 [설정] 탭에 들어가 [API 액세스]를 확인합니다. 그리고 만들어진 서비스 계정에 [액세스 권한 부여]를 진행하고, [앱 정보 보기] 및 [재무 데이터 보기]만 체크하여 [사용자 추가]를 진행하시면 됩니다.

 

 

  결과적으로 다음과 같이 [재무 데이터 보기] 권한이 있도록 해주시면 되는 것입니다.

 

 

  이제 재무 데이터를 볼 수 있는 권한이 추가되었으므로, 실제로 서버에서 API를 호출하여 인 앱 결제 내역을 확인할 수 있게 되었습니다. 서버 프로그램에서 이를 구현하기 위해서는, API 문서를 읽어 보시면 됩니다.

  

▶ 구글 결제 관련 개발자 API 명세서: https://developers.google.com/android-publisher/api-ref/purchases/products

 

  명세서 내용을 확인하면, 어떠한 방식으로 인 앱 결제 정보를 가져올 수 있는지 나타납니다. 핵심이 되는 내용은 다음과 같습니다.

 

 

  구글 결제 관련 개발자 API 사용 방법은 다음과 같습니다. 저는 PHP를 기준으로 설명했습니다.

 

cd /home/ubuntu
sudo vi composer.json
# Google API 설치 내용 작성하기
{
  "require": {
    "google/apiclient": "^2.0"
  }
}
# Composer로 설치하기
sudo composer install
ls
# 해당 폴더에 설치되어 있는 vendor 이용하기
# 연동을 위해 Google의 API JSON 키 파일을 /home/ubuntu의 위치에 두기
# 이후에 다음과 같이 사용하기 (클라이언트로부터 product_id와 purchase_token을 받도록)
$client = new Google_Client();
$client->setAuthConfig('/home/ubuntu/IAP.json');
$client->addScope('https://www.googleapis.com/auth/androidpublisher');
$service = new Google_Service_AndroidPublisher($client);
$package_name = "패키지 이름";
$purchase = $service->purchases_products->get($package_name, $product_id, $purchase_token);
# 이후에 다음의 Getter 함수로 각 상태 값 확인 가능
$purchase->getPurchaseState()
$purchase->getPurchaseType()

 

  (+추가) PHP 코드에 대한 자세한 내용은 다음의 포스팅에 기록해 놓았습니다.

 

https://ndb796.tistory.com/296

 

PHP 서버에서 안드로이드 인 앱 결제(IAP) 여부를 검증하는 API 개발하는 방법

일반적으로 안드로이드 어플리케이션을 개발할 때에는 인 앱 결제(IAP) 기능을 구현해야 할 때가 많습니다. 다만 이러한 인 앱 결제 기능을 구현할 때 알아 두어야 할 점이 있습니다. 그것은 바로 클라이언트가 제..

ndb796.tistory.com

 

728x90
반응형

728x90
반응형

  흔히 이사를 갈 때 주소 변경을 하는 것은 귀찮은 작업이 될 수 있습니다. 이때 주소 변경을 일괄적으로 도와주는 서비스가 있습니다. 대표적인 서비스로는 KT Moving이 있습니다. 이름은 KT Moving인데 실질적으로는 상당히 많은 카드사 및 통신사와 제휴가 되어 있기 때문에, 이 서비스만 이용해도 상당히 많은 불필요한 과정을 줄일 수 있습니다.

 

※ KT Moving ※

 

  ▶ KT Moving: http://www.ktmoving.com/

 

  KT Moving 서비스를 이용해 봅시다. 참고로 moving이사라는 뜻을 가지고 있습니다. 가장 먼저 변경된 집 주소를 입력한 뒤에 [주소 변경 신청] 버튼을 누릅니다.

 

 

  이후에 약관에 동의하고, 본인 인증을 진행합니다. 필자는 [휴대폰 인증]을 이용했습니다.

 

 

  KT Moving 서비스 제휴사를 선택합니다. 필자는 번거롭게 느껴져서 그냥 전체 선택했습니다.

 

 

  필자는 [자택] 주소가 변경된 것이므로, 전부 자택으로 선택했습니다.

 

 

  이제 신청 정보를 입력합니다. 본인의 휴대폰 번호, 이메일 주소 등을 확인합니다.

 

 

  결과적으로 다음과 같이 신청이 완료되었습니다.

 

 

※ 농협 주소일괄변경서비스 (2021년 기준으로 운영되고 있지 않음)

 

  농협은 [주소일괄변경서비스]를 제공하고 있습니다. 이것을 이용하면 자신이 이용하고 있는 은행/카드 서비스의 주소를 일괄적으로 변경할 수 있습니다. 사실 농협뿐만 아니라 대부분의 은행 서비스가 이를 지원하고 있습니다. 자신이 이용하는 은행의 인터넷 뱅킹 서비스에 접속하셔서, 주소지 일괄 변경 요청을 진행해주세요.

 

  이는 특정한 금융 회사에게 권한을 위임하여, 자신이 이용 중인 모든 카드에 대하여 주소 변경을 일괄적으로 할 수 있도록 해주는 것입니다. 매우 편리한 기능이라고 할 수 있습니다.

 

  ▶ 농협: https://banking.nonghyup.com

 

  농협 사이트로 들어가서 [로그인]을 진행하시면 됩니다.

 

 

  로그인 이후에는[My뱅크] 탭에서 [고객정보관리] 탭으로 이동한 뒤에 [금융거래 주소일괄변경]을 진행하시면 됩니다.

 

 

  이후에 화면에 나오는 대로 지시에 따르시고, 금융회사를 선택하여 일괄적으로 변경 요청을 진행하시면 됩니다.

 

 

※ 구글 애드센스 ※

 

  구글 애드센스와 같이 외국 기업과 관련한 서비스는, 주소를 일일이 변경해주실 필요가 있습니다. 구글 애드센스의 주소를 변경하는 경우 애드센스에 로그인을 하신 뒤에 [지급] 탭으로 이동하시면 됩니다. 이후에 [설정 관리]를 진행합니다.

 

 

  이후에 다음과 같이 [이름 및 주소] 부분을 변경해주시면 됩니다.

 

 

728x90
반응형

728x90
반응형

  일반적으로 특별한 사유가 없이 군대에 지원을 하지 않은 경우, 군대에 오라는 안내 편지가 오게 됩니다. 다시 말해 자동으로 입영 일자가 결정되어, 언제까지 입대를 하라고 통보가 오는 것입니다. 일반적으로 입영 일자 6개월 전에 입영 안내 편지를 받게 됩니다. 이 때 대학원 진학이나 창업 등의 다양한 사유로 인하여 입영 일자를 연기하는 것이 가능합니다.

 

  흔히 대학을 졸업할 때까지 군대를 가지 않은 사람이, 6개월 정도 대학원이나 창업을 준비하고 있는 상태일 수 있습니다. 이 때는 다음과 같이 생긴 [현역병 입영일자 등 안내] 편지를 받을 수 있습니다. 저는 향후 이번년도 9월부터 공대에서 대학원 석사 과정을 진행하게 될 예정인데, 입대하라는 안내를 받은 것이므로 당황스러웠습니다.

 

 

  당연히 병무청 쪽에서는 제가 최근에 어떤 활동을 하고 있는지, 정확히 파악하기 어렵습니다. 그러므로 제가 적절한 서류를 구비하여 합리적인 사유로 연기 신청을 직접 해야 하는 것입니다. 또한 입영 일자 연기는 입영일 5일 전까지 신청이 가능합니다. 다시 말해 안내 편지가 받은 뒤에 입영 연기 사유가 있다면, 서류를 구비하기 위한 시간을 주는 것입니다.

 

  이에 대한 자세한 내용은 [병무청]의 [복무제도] 탭에서 확인할 수 있습니다.

 

  병무청 입영일자 연기 안내: https://www.mma.go.kr/contents.do?mc=mma0000729

 

입영일자 연기 - 현역병,상근예비역 - 복무제도 - 병역이행안내 - 병무청

병역이행안내INFORMATION --> --> 입영일자 연기 입영일자 연기 개요 현역병 입영 대상자로서 질병 등 부득이한 사유로 지정된 입영일자에 입영할 수 없는 사람이 병역이행일 연기신청서를 제출하면 이를 심사하여 입영일자를 연기하는 제도 신청대상 현역병입영 대상자로서 아래 연기사유에 해당되는 사람. 단, 입영일자/입영부대를 본인이 선택한 사람은 입영일자 연기(질병, 직계 존·비속 간호, 천재·지변, 행방불명, 각군지원 사유자는 제외) 처리 제한 신청시

www.mma.go.kr

 

  위 링크에 들어가 보시면 대학원, 창업 말고도 굉장히 다양한 사유로 입영 연기하는 것이 가능합니다. 입영 연기를 하실 때에는 사이트에 직접 방문하셔서, 자신에게 맞는 입영 연기 사유를 찾으신 뒤에 해당 항목으로 입영 연기 신청을 하시면 됩니다.

 

  예를 들어 질병, 검정고시 준비, 취업자, 출산, 창업, 공무원 시험 준비 등의 다양한 사유로 연기를 할 수 있습니다. 또한 일반적인 경우 연기 신청을 하면 1~2년 정도의 연기를 해줍니다. 당연히 어떤 사유로도 무한히 연기를 할 수는 없고, 28세를 넘어가는 경우 입영 연기를 하기 어렵습니다.

 

  저는 확인을 해보니까 [대학원진학 예정자] 항목으로 입영 연기를 할 수 있다고 안내가 됩니다. 저는 실제로 대학원 합격 및 컨택까지 완료가 된 상태이므로, 무난히 입영 연기를 할 수 있습니다.

 

 

  또한 입영 연기를 하실 때 흔히 실수하시는 부분으로는, 잘못된 경로로 들어가는 것입니다. [현역병 입영일자 등 안내] 우편을 받은 경우 올바른 경로에 들어가서 신청을 하셔야 합니다.

 

잘못된 경로: [병무청 홈페이지 → 병무민원포털 → 군지원 → 입영일자 연기 신청]

올바른 경로: [병무청 홈페이지 → 병무민원포털 → 현역, 상근입영 → 입영일자 연기원 신청]

 

  바로 다음과 같이 [병무민원포털]로 이동하여 [현역, 상근입영] 탭으로 이동하세요.

 

 

  이후에 [입영일자 연기원 신청]을 통해 연기 신청을 할 수 있습니다.

 

 

  이후에 다음과 같이 안내사항에 동의를 하고 신청서를 제출하시면 됩니다. 더불어, 보완할 서류 항목이 있다면 유선이나 문자를 통해 다시 안내를 해주신다고 하네요.

 

 

  대학원 진학이 사유인 경우 졸업 증명서를 제출하면 된다고 하네요. 결과적으로 저는 다음과 같이 졸업 증명서를 제출했습니다.

 

 

  신청이 완료되면 다음과 같이 신청 결과 안내 메시지가 출력됩니다.

 

 

 

728x90
반응형

728x90
반응형

  프로세스 익스플로러(Process Explorer)를 이용하면 어떠한 프로그램이 특정한 폴더나 디바이스에 접근하고 있는지 확인할 수 있습니다. 예를 들어 현재 웹 캠(Web Cam)의 불빛이 들어와서 사용 중이라는 신호가 잡히고 있다고 가정합시다. 이 때 실제로 웹 캠 기능을 이용하고 있지 않다면, 누군가 카메라를 이용해 내 모습을 촬영 중이지 않을까 하는 걱정을 하실 수 있습니다. 이 때, 웹 캠 디바이스에 어떤 프로세스가 접근하고 있는지 확인하는 방법이 있습니다.

 

  프로세스 익스플로러를 이용하면 어떠한 프로세스가 돌아가고 있는지에 대한 자세한 정보를 확인할 수 있습니다.

 

  프로세스 익스플로러 다운로드: https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer

 

 

  프로세스 익스플로러를 다운로드 하면, 다음과 같이 실행 파일을 확인할 수 있습니다.

 

 

※ 프로세스의 속성 확인 ※

 

  프로세스의 속성을 확인할 때는 특정 프로세스를 우클릭하여 [Properties...] 버튼을 누르면 됩니다.

 

 

  특히 [Performance] 탭에서는 해당 프로세스의 구체적인 성능 정보를 확인할 수 있습니다. 해당 프로세스가 몇 번째 우선순위를 가지고 동작하고 있는지, 그리고 가상 메모리 공간은 얼마나 차지하고 있는지 등을 확인할 수 있습니다.

 

 

※ 특정 프로세스 강제 종료하기 ※

 

  특정 프로세스를 강제 종료하려면, 우클릭 이후에 [Kill Process] 버튼을 누르면 됩니다.

 

 

※ 특정한 장치를 사용 중인 프로세스 찾기 ※

 

  특정한 장치를 사용 중인 프로세스를 찾을 때는 먼저 [장치 관리자]를 실행합니다. 저는 다음과 같이 웹 캠(Web Cam)의 속성을 확인해 보았습니다. 이 때 [자세히] - [실제 장치 개체 이름] 탭으로 들어가면, 해당 장치의 구체적인 이름을 얻을 수 있습니다.

 

 

  이제 [Find] 탭에서 [Find Handle or DLL...] 버튼을 누릅니다.

 

 

  이후에 관련 장치를 사용 중인 프로세스를 검색하기 위해, 저는 다음과 같이 검색을 해보았습니다. 그랬더니 웹 캠을 현재 사용 중인 프로세스는 찾지 못했습니다.

 

 

728x90
반응형