| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- 안드로이드 Sunflower 스터디
- 막내의막무가내
- 주엽역 생활맥주
- flutter network call
- 막내의 막무가내 알고리즘
- 막내의 막무가내
- 막내의막무가내 안드로이드 에러 해결
- Fragment
- 막내의막무가내 코볼 COBOL
- 막내의막무가내 코틀린
- 막내의막무가내 플러터 flutter
- 막내의막무가내 알고리즘
- 막내의막무가내 프로그래밍
- 부스트코스
- 안드로이드 sunflower
- 막내의막무가내 SQL
- 부스트코스에이스
- 막내의막무가내 안드로이드 코틀린
- 프로그래머스 알고리즘
- 막내의막무가내 코틀린 안드로이드
- 막내의막무가내 목표 및 회고
- 안드로이드
- 막내의막무가내 rxjava
- 2022년 6월 일상
- 막내의막무가내 안드로이드
- 막무가내
- 막내의막무가내 일상
- 프래그먼트
- 막내의막무가내 회고 및 목표
- 막내의막무가내 플러터
- Today
- Total
목록2019/12/18 (5)
막내의 막무가내 프로그래밍 & 일상
TCP socket을 이용한 Phillps Hue제어 HTTP Server 만들어보았다. 요약하면 다음과 같다. 1. 서버로 Docker를 사용한다. 2. 전구를 제어할 수 있는 post방식의 form을 담고 있는 Web UI 제작 (html) 한다. 3. 클라이언트에서 GET 요청을 하면 내가 2에서 만든 Web UI 반환해준다. 4. 웹페이지로 POST 요청을 보내고 서버에서는 해당 값을 받아 데이터를 파 싱 및 가공하여 브릿지 통신을 하여 Phillps Hue(전구)를 제어한다. 위는 전구를 제어하는 웹페이지인 hueController.html 파일이다. (실수로 head태그에 다 작성했다) form 태그는 post 방식으로 하였고 전원 on/off, 밝기 그리고 x, y 컬러값을 설정할 수 있다...
테스트를 위해 Locust라는 서버 테스트 도구를 사용하도록 한다. 그리고 도커 컨테이너 안에 서버를 두도록 한다. 서버는 단일 프로세스, 멀티 프로세스, 멀티 스레드 소켓 서버가 있다. python 코드로 구현하였다. 각 소 켓 서버의 성능을 테스트하고 차이점을 알아보았다. 가장 먼저 도커 안에 단일 프로세스, 멀티 프로세스, 멀티 스레드 소켓 서버를 만들고 클라이언트에서 locust를 사용해서 도커의 서버에 접속했다. 테스트환 경은 내 노트북 윈도우의 vmware 리눅스 안에 도커 서버를 두고 같은 와이 파이 환경인 친구의 맥북을 클라이언트로 사용하였다. 도커에서는 포트 8000번을 열고 외부에서는 1234 포트로 접속하면 된다. (포 트 포워딩) 참고로 locust 는 다운받고 locust 테스트할..
안드로이드 소켓 통신을 공부하면서 예시로 간단한 채팅을 구현해봤다. 폰 하나는 서버 다른 폰 하나는 클라이언트를 맡고 소켓 통신을 하는 결과를 구현했고 프로젝트는 서버와 클라이언트 두 개 로 나눠서 만들었다. [서버] 위의 getLoacalAddress() 메소드를 통해서 현재 내 휴대폰의 ip를 알 수 있고 TextView에 set해준다. 클라이언트에서 서버 ip를 알아야 접속이 가능하므로 필요하다. ServerSocketOpen()은 Open Server 버튼을 누르면 동작할 온클릭 메소드이다. [62~78라인]: 소켓을 생성할려면 포트번호가 필요하다. 그러므로 포트번호를 editText에서 입력했는지 검사 후 서버 소켓을 생성한다. 안드로이드에서는 소켓 통신을(네트워크 통신) 할 때 스레드가 필수적..
도커를 서버로 두고 다른 컴퓨터를 클라이언트로 두어 소켓 통신을 사용해 웹페이지 서빙을 해보았다. [선 결론] TCP 소켓을 사용해서 HTTP 서버를 만들었다. 클라이언트와 서버 소캣 파이썬 코드를 각각 만들어 통신을 해보고, cURL, Telnet, Web browser를 통해서도 소켓 서버에 요청과 응답을 받아봤다. 또한 브라우저로 접속했을때 내가 만든 웹사이트를 띄워주도록 하였다. 마지막으로 wireshark를 통해서 packet capture를 하여 tcp소켓 통신을 어떻게 하는지 볼 수 있었다. 먼저 서버가될 docker 컨테이너 서버 소캣의 ip를 설정해주기 위해 docker 컨테이너내에서 ifconfig로 확인한 결과이다 도커 로컬 ip가 172.17.0.2임을 알 수 있다. 그래서 http..
도커내에서 웹 프레임워크를 활용해서 웹 페이지를 서빙해봤다. 이를 위해 nginx, uwsgi, django를 사용한다. uwsgi는(Web Server Gateway Interface) 웹서버와 웹 애플리케이션의 인터페이스를 위한 파이선 프레임워크다. nginx(서버)가 보낸 요청을 django가 알아들을 수 없다. 즉 둘은 직접 연동이 안된다. 그래서 uwsgi를 사용해서 nginx 보낸 요청을 파이썬으로 해석해서 django와 연동되게 해주고 알맞게 웹페이지를 불러오게 해준다.(간단히 말하면 uwsgu가 인터페이스 역할을 한다.) 또한 nginx는 정적인 웹만 지원하므로 동적 웹, 데이터베이스 연동을 위해 웹 어플리케이션인 django가 필요하다. Client – Server(nginx) – Soc..