Computer 133

안드로이드 FCM 푸시 알림 사용하기

안드로이드 FCM 푸시 알림 사용하기 FCM (Firebase Cloud Messaging)은 이름답게 알림 메시지를 주고 받을 수 있게 해주는 서비스다.대표적인 푸시 알림 서비스로는 iOS의 APNS, 안드로이드의 FCM이 있는데.FCM은 APNS와 연동해서 iOS에서도 사용하거나, Unity, C++, 웹에서 사용이 가능하다.우선 안드로이드 스튜디오에서 코드를 작성하기 전 파이어베이스 콘솔 (https://console.firebase.google.com/) 에서 프로젝트를 생성해야한다. 프로젝트를 생성했다면, 안드로이드 스튜디오 Tools 메뉴의 Firebase를 클릭하면,위 사진과 같이 Firebase 설정 창이 나온다.Firebase 설정 창에서 Cloud Messaging -> Set up F..

Python으로 웹 서버 제작 - HTTP 헤더

Python으로 웹 서버 제작 - HTTP 헤더 안녕하세요, kentakang 입니다.지금 학교에서 소켓 통신에 대해 배우고 있는데, 저번에는 프로토콜을 제작했었습니다.이번에는 다른 프로토콜을 이해하고, 공부하기 위해 HTTP 프로토콜을 지원하는 웹 서버를 만들어 보려 합니다.이번 게시글에서는 상황에 맞는 HTTP 헤더를 반환하는 것을 해보려고 합니다. 우선 기본적인 소켓 통신의 예제입니다. Github 파이썬의 socket을 통해 localhost:12345를 통해 요청을 받고,받은 데이터를 그대로 다시 클라이언트에게 송신하는 예제입니다.이걸 응용해서 요청을 받고, HTTP 프로토콜 규격에 맞게 다시 전송해주는 서버를 만들어보겠습니다. import socket server_socket = socket...

Computer/Server 2018.09.06

PHP에서 OwnCloud 사용자 추가하기

OwnCloud에서는 사용자 추가등의 기능을 제공하는 Rest API를 제공하고 있다. 이번 글에서는 PHP에서 API를 통해 사용자 추가를 하는 방법을 알아보려고 한다.사용자 추가 API의 주소 형식은 http://adminusername:adminpassword@localhost/owncloud/ocs/v1.php/cloud/users 와 같다.POST 형식으로 받은 아이디와 비밀번호를 이용해 사용자를 추가하는 코드는 아래와 같다.

키 인증 방식으로 ssh 로그인

키 인증 방식으로 ssh 로그인 기본적으로 리눅스 ssh에서는 사용자명과 비밀번호를 통해 로그인합니다. 하지만 이런 비밀번호 인증 방식은 비밀번호가 네트워크로 교환된다는 단점이 있습니다. 해당 문제를 보완하기 위해 공개 키 방식을 통해 ssh에 로그인 하도록 설정해보겠습니다. 공개 키 생성 우선 로그인 할 때 사용하기 위하 공개키를 생성해야 합니다. 저는 MSYS가 설치되어 있어, ssh-keygen을 사용해서 공개키를 생성하겠습니다. 명령어를 실행하면 키 저장 위치와, 키의 비밀번호를 물어봅니다. 키의 비밀번호는 키를 이용해서 로그인 할 때 입력해야 하는 비밀번호로, 설정해 주지 않아도 사용할 수 있지만 혹시 모를 공개 키 유출에 대비해 설정하고 넘어가겠습니다. 이런 식으로 지정한 경로에 파일 두 개가..

Computer/Server 2018.06.24

Python + Selenium을 통해 자바스크립트로 렌더링 된 페이지 파싱하기

요즘은 웹 환경에서 자바스크립트로 렌더링 하는 페이지가 많습니다. 그런 페이지들은 아래 사진과 같이 소스 보기를 통해서는 HTML 소스 확인이 불가능하고 개발자 도구에서만 확인이 가능합니다. 이런 페이지의 경우 자바스크립트를 실행시킬 수 있는 WebDriver가 필요합니다. 게시글과 같이 이미 Selenium을 통해서 WebDriver를 사용하고 계시다면, 아래 코드를 통해 렌더링 된 페이지의 HTML을 가져오실 수 있습니다. from selenium import webdriver from bs4 import BeautifulSoup driver = webdriver.Chrome('./chromedriver.exe') html = driver.execute_script('return document.bo..

JSP + Oracle DB를 통한 로그인 시스템 만들기

JSP + Oracle DB를 통한 로그인 시스템 만들기 안녕하세요, kentakang 입니다.오늘은 전공 과목 수행평가를 준비할 겸 JSP + Oracle DB를 통한 로그인 시스템 제작을 해보려고 합니다.우선 제 개발 환경은 이렇습니다. 개발 환경 Oracle Express Edition Express Edition 11g Release 2Java 10 + Java EE 8Apache Tomcat 9.0.7 데이터베이스 만들기 우선 로그인 시스템에 사용할 데이터베이스를 만들도록 하겠습니다. 우선 테이블을 생성하겠습니다.제 로그인 시스템에 들어갈 정보는 아이디, 비밀번호, 이름, 전화번호, 성별 입니다. CREATE TABLE MEMBER(name varchar2(20), id varchar2(20),..

Daily Algorithm - 부녀회장이 될테야

문제평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다.이 아파트에 거주를 하려면 조건이 있는데, “a 층의 b 호에 살려면 자신의 아래(a-1)층에 1호부터 b 호까지 사람들의 수의 합만큼 사람들을 데려와 살아야한다” 는 계약 조항을 꼭 지키고 들어와야 한다.아파트에 비어있는 집은 없고 모든 거주민들이 이 계약 조건을 지키고 왔다고 가정 했을 때, 주어지는 양의 정수 k와 n에 대해 k층에 n호에는 몇 명이 살고 있나를 출력하라. 단, 아파트에는 0층부터 있고 각층에는 1호부터 있으며, 0층에 i호에는 i명이 산다.입력첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수..

Computer/Algorithm 2018.06.04

Android에서 네이버 검색 API 사용하기

Android에서 네이버 검색 API 사용하기 본 글의 내용은 안드로이드에서 네이버 검색 API를 통해 XML을 받아온 뒤, 해당 내용을 가공해서 출력하는 과정입니다.본 글을 따라서 진행하기 전에 네이버 개발자 센터에서 애플리케이션을 등록하신 뒤, Client ID와 Client Secret을 준비해두셔야 합니다. XML 가져오기 네이버 개발자 센터에 나와있는 Java 예제 코드는 안드로이드에서는 사용이 불가능 한 코드입니다. 안드로이드에서 네트워크 연결을 위해서는 Thread를 별도 생성해서 처리해줘야 합니다.우선 검색어를 입력하면 해당 검색어를 통해 검색한 백과사전 데이터를 String 자료형으로 return 해주는 코드를 작성하겠습니다. public String getNaverSearch(Strin..

Daily Algorithm - ACM 호텔

문제 ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와 줄 프로그램을 작성하고자 한다. 즉 설문조사 결과 대로 호텔 정문으로부터 걷는 거리가 가장 짧도록 방을 배정하는 프로그램을 작성하고자 한다. 문제를 단순화하기 위해서 호텔은 직사각형 모양이라고 가정하자. 각 층에 W 개의 방이 있는 H 층 건물이라고 가정하자 (1 ≤ H, W ≤ 99). 그리고 엘리베이터는 가장 왼쪽에 있다고 가정하자(그림 1 참고). 이런 형태의 호텔을 H × W 형태 호텔이라고 부른다. 호텔 정문은 일층 엘리베이터 바로 앞에 있는데, 정문에서 엘리베이터까지의 거리는 무시한다. 또 모..

Computer/Algorithm 2018.05.31