본문 바로가기

분류 전체보기

(77)
3-3. Node.js를 이용한 웹 페이지 작성(개요) 결론부터 말하자면, 서버를 운용하는데 Node.js를 사용하기로 했다. 초기 계획은, javascript를 이용해 웹페이지를 통해 데이터를 주고받으려고 했으나, 내가 할당받은 서버 내에서 txt 파일을 읽는 것은 성공했지만, 아무리 검색을 해보아도 할당받은 서버에 쓰기는 할 수 없었다. 검색하다가 보안상의 이유로 쓰기는 할 수 없다는 글을 보고 다른 방법을 생각하기에 이르렀다. 바로 Node.js를 이용하는 것이다. 지난 포스팅(3-1. 서버 할당과 웹페이지 작성, taeminator1.tistory.com/4)에서도 살짝 언급했지만, Node.js를 이용하기 위해서는 터미널(또는 명령 프롬프트)창에서 js 파일을 실행시켜야 하고, 켠 상태를 유지해야 해당 웹페이지에 접근할 수 있다. 이 문제를 포함해서..
3-2. 웹 페이지 상태를 유지하는 방법 고찰 계획한 대로 개발을 하기 위해서는, 지난 포스팅(3-1. 서버 할당과 웹페이지 작성, taeminator1.tistory.com/4)에서 언급한 문제 중 하나는 바로 해결해야 할 것 같다. 바로 두 번째 문제로 언급된 웹페이지 내부의 버튼 State에 관한 문제이다. 웹 페이지를 reload 하거나, 다시 열거나 할 때마다 기존의 버튼들이 유지되지 않고 초기화되는 문제가 있었다. 첫 번째로 시도한 방법은, Javascript파일에 전역변수를 선언하여 해당 변수를 사용하는 것이었다. 하지만 웹페이지가 로드될 때마다 javaScript파일을 새로 run 시키는지, 전역 변수도 초기화되어 이 방법은 적절하지 않았다. 두 번째 방법은, javaScript에서 제공하는 Local Storage를 활용하는 것이었다..
3-1. 서버 할당과 웹페이지 작성 이번 프로젝트에서 가장 기본이 되는 것은 웹서버라고 생각해서 웹페이지 작성을 가장 먼저 시작했다. 이전에 HTML과 CSS를 취미 삼아 공부한 적이 있는데, 도움은 많이 되었지만, 이번 프로젝트의 성격을 고려해 볼 때, JavaScript를 공부할 걸 하고 후회하기도 했다. 처음에는 Node.js를 이용해 동적인 웹페이지를 작성하려고 했지만, 아무리 구글링을 해도, 웹페이지 자체에서 Node.js 파일을 실행시키는 방법을 찾을 수 없어서, 단순 JavaScript를 이용하기로 계획을 바꿨다. (사실 Node.js가 JavaScript이긴 하지만,,) 웹페이지를 디자인하기 전에 나만의 서버가 필요했는데, 다행히도 닷홈(www.dothome.co.kr)이라는 사이트에서 무료 호스팅 서비스를 해주고 있었다. ..
0-0.밖에서도 에어컨을 켜기 위한 계획 앞에서 계획했던 다이어그램에 대한 구체적인 계획을 세워야 한다. 동작의 흐름(아이폰 - 웹 - 아두이노 - 에어컨) 순서대로 하나씩 계획을 세워 봤다. 그전에, 이번 프로젝트의 핵심은 각 파트를 잇는 Dash(-) 부분일 것이다. 사실 아이폰 앱을 제작하거나 웹 디자인을 하는 등의 각각의 파트는 크게 어렵지 않을 것이다. (이미 여러 차례 만들어 보기도 했고) 문제는 '각 파트를 어떻게 연결해서 유동적인 흐름을 완성할 것인가'이다. 1. 아이폰(앱) 기존에 Storyboard에서 탈피해, SwiftUI를 통해 제작할 계획이다. 앱을 구성하는 컨트롤은 최소화할 것이다. (출시를 위한 앱을 만들고자 하는 것이 아니기 때문에) 2. 아이폰 - 웹 아이폰에서 하는 동작이 웹페이지를 변경시키도록 할 계획이다. N..
에어컨을 켜기 위한 프로젝트의 시작.. 2020년도 반이 지나갔다. 벌써 7월 중순이다. 장마여서 그런지 지난여름들보다는 덥지 않은 것 같다. 앞으로 얼마나 더워질지 생각만해도 진이 빠진다. 비가 오나 눈이 오나, 꼭 하는 일이 있다. 집을 나서기 전, 창문 열기와 집에 도착하고 창문 닫기.. 작년 4월부터 독립 했으니까, 이 일도 수백 번 했을 것이다. 그렇다. 너무 귀찮다. 누군가는 인류 문명의 발전이 인간의 귀찮음에서 왔다고 하던데,, 밍밍 하우스의 문명도 발전시킬 때가 온 것 같다. 더욱이 지금은 여름이다. 집에 들어오면 창문 닫는 것과 더불어 에어컨 키는 일까지 추가가 되었다. 어떻게 하면 이러한 일들을 손쉽게 처리할 수 있을까?!라는 물음에서 이번 프로젝트를 시작한다. 내가 구상한 방법을 아래 그림으로 간단하게 표현해봤다. 이번 프..