본문 바로가기

프로그램 개발40

[PHP] FCM메세지 전송하기 / fcm sendmessage FCM메세지 전송을 위해서는 JSON을 많이 사용하는데 이미 PHP로 개발된 프로그램의 경우에는 어떻게 FCM 메세지를 전송할 수 있을까 여기에서 나오는 것이 curl이다 curl_init() curl_setopt() curl_exec() curl_close() 네가지 순서를 통해서 우리는 PHP에서 JSON형식으로 FCM을 전송할 수 있다 간단하게 예제를 살펴보면 하나의 함수를 만들어서 실행이 편리하게 하였다 send_notification이라는 함수를 통해 토큰과 메세지를 전달받아서 curl함수를 통해 형식을 지정하고 FCM서버로 전송하게 된다 위 내용을 POSTMAN툴을 통해 동일하게 구현해보면 이런 형식과 동일한 구성으로 전송된다 2020. 4. 22.
[리눅스/linux] POST GET 차이점 서버 프로그램을 개발함에 있어 절대 떼어놓고 설명할 수 없는 POST/GET 방식에 대해 알아보자 흔히말하는 HTTP 프로토콜을 통해 서버와 통신을 할 때 POST 방식 GET 방식 이라는 것들이 등장하게 된다 그럼 기본적인 개념은 어떤지 알아보자 먼저 GET방식은 주소 url 에 값이 ?뒤에 쌍으로 이어붙여 보내는 방식 POST 방식은 주소 url 에 값이 표시되지 않고 body라는 몸체에 숨겨서 보내는 방식 즉 실제로 보내지는 url 의 길이는 POST방식이 훨신 짧고 간단한데 그럼 POST방식을 쓰면 되지 않느냐..? 자 이걸 논하기 전에 먼저 이 두가지 방식이 가지는 차이점에 대해 먼저 알아볼 필요가 있다 처음 이 두가지를 접하면 너무도 당황스러운데 그냥 편한대로 쓰면 되지 않느냐 하지만 이러한 .. 2020. 4. 17.
[안드로이드/Android] 뒤로가기버튼(onBackPressed) 처리 안드로이드 개발시에 뒤로가기 버튼에 대한 처리를 해주지 않으면 버튼 한번클릭으로 어플이 종료되버리는 상황이 발생한다 이럴경우 사용자는 실수로 뒤로가기버튼이 스치기만 해도 어플이 종료되게 되는 것이다 이 상황을 Activity에서 제공하는 함수를 통해 방지해보자 기본적으로 onBackPressed라는 함수를 Override하고 구현하면 되는데 Override 방법은 해당 Activity 내에서 Ctrl+O 버튼을 눌러주면 항목이 표시된다 여기에서 onBackPressed 함수를 눌러 추가해주자 이렇게 함수내부에 다이어로그 형식으로 사용자에게 선택권을 부여해주면 뒤로가기 버튼이 눌렸을 경우에 대비할 수 있다 이외에도 함수내에 어떤것을 구현하느냐에 따라 뒤로가기 버튼 클릭시 여러가지 이벤트가 가능하다 2020. 4. 13.
[안드로이드/Android] 핸들러(Handler) 타이머(Timer) 구현 안드로이드 프로그래밍 중에 Handler를 사용한 타이머를 구현해보자 기본적으로 핸들러는 아래와같이 선언하면 된다 내가 원하는 이름의 클래스를 만들고 Handler를 상속한다 우리는 핸들러 메세지를 통해 타이머를 구현해 보겠다 여기에서 말하는 this란 Timer 핸들러 자체를 의미하므로 1초간격으로 0이라는 메세지를 자신에게 계속 보내게 된다 그러면 한번 시작하면 1초간격으로 핸들러가 계속 무한반복 할 것이다 우리는 필요시 타이머를 멈출 필요가 있고 한가지 조건을 넣어주자 바로 Timer_state 라는 bool 변수를 통해 true일 때만 반복하는 것이다 이렇게 해주면 Timer_state 가 True가 아닐때에는 1초뒤에 핸들러가 실행되지 않는다 이렇게 안드로이드에서 간단한 타이머 구현을 할 수 있다 2020. 4. 13.
클라우드서버란? 서버개발을 함에 있어 서버구성은 클라우드서버와 하드웨어적인 물리서버로 나눌 수 있고 우리는 오늘 이 두가지의 차이점에 대해 보고자 한다 일단 물리서버란 소위 말하는 컴퓨터 및 실제적으로 존재하는 물리적 장치에 서버프로그램을 개발하는것을 말하는 것으로 아래와같은 모습을 많이 봤을 것이다 대표적으로 카페24와 같은 업체가 하드웨어적인 장치를 판매하고 관리를 담당해주는 등의 서비스를 제공하고 있다 이러한 물리적인 서버의 문제점으로는 컴퓨터 성능의 한계와 정전등 여러가지 상황을 고려해야되고 관리적인 면이나 서버 확장적인 면에서도 어려움이 많다 그래서 여기에서 등장하는것이 클라우드서버 가상 사설서버이다 클라우드 서버란 말 그대로 하나의 물리적 서버를 나누어 여러개의 가상서버로 사용하는 가상화 방법의 한 형태이다 .. 2020. 4. 13.
[C Program] 인터럽트란? what is interrupt 임베디드 프로그램을 개발하다 보면 인터럽트라는 개념이 등장합니다 인터럽트라는 개념은 임베디드 프로그램에서는 없어서는 안되는 요소 중 하나이죠 그럼 인터럽트라는게 무엇인지 간단하게 알아볼까요 인터럽트란 인터럽트 핸들러 또는 인터럽트 서비스 루틴이라 불리며 프로그램의 인터럽트 접수에 의해 발생되는 인터럽트에 대응하여 특정 기능을 처리하는 기계어 코드 루틴 운영 시스템이나 임베디드 장치 드라이버에서 요구하는 일을 처리하는 기능적 코드 집합으로 콜백 루틴 방식으로 처리 이렇게만 들으면 처음 접하는 분은 그래서 뭔소리야?? 라고 할수 있죠 다음 간단한 예를 들어서 설명해 보겠습니다 한가한 오후 집에서 재미난 책을 독서중입니다 그리고 배가고파서 피자 배달을 시켜 놓았죠 마침 주문한 피자가 오고 피자를 받으러 갑니다.. 2020. 4. 10.