우체국 등기 우편 보내는 방법!
일반적으로 우체국 등기 우편은 '중요한 서류 등을 멀리 있는 개인/기관에게 보내고자 할 때' 사용합니다. 저는 최근에 소프트웨어 개발 외주를 맡게 되어 하나의 계약을 하게 되었는데요. 해당 발주 업체가 거리상으로 꽤 멀어서 등기 우편으로 계약서를 보내는 방식으로 계약을 진행하기로 하였습니다. 그래서 우체국을 방문하게 되었는데요. 일반적으로 우체국은 금융 업무는 오후 4시 30분까지이나 우체국 택배 발송 서비스는 오후 6시까지 한다는 점에서 다소 시간 제약의 부담을 느끼지 않을 수 있습니다.
사실 저는 이번에 등기 우편을 처음 보내보는 것이었습니다. 그래서 나중에 또 잊어버리지 말자는 의미로 포스팅을 작성합니다. 기본적으로 우체국의 택배 배송 코너에 가보시면 위와 같이 봉투를 판매하는 공간이 있습니다. 봉투의 가격이 굉장히 저렴하기 때문에 당연히 카드 결제는 어렵고, 현금을 동전 통에 넣고 봉투를 가져가시면 됩니다. 혹은 현금이 없으면 나중에 우편비용을 지불할 때 봉투 비용까지 한꺼번에 결제할 수 있습니다.
저는 150원 짜리 등기 우편 봉투를 선택했습니다. 이 봉투가 비싸긴 한데, 안에 들어가는 종이들이 구겨지지도 않고 굉장히 편해요. 그래서 안에 내용을 담은 뒤에 위와 같이 테이프를 붙여주었습니다. 펜, 테이프, 풀 등은 전부 우체국 내에 구비되어 있습니다.
이후에 위와 같이 왼쪽 위에는 보내는 사람의 주소, 이름, 우편 번호를 적으시면 됩니다. 이어서 오른쪽 아래에는 받는 사람의 주소, 이름, 우편 번호를 적으시면 됩니다. 이후에 우편을 발송하러 번호표를 뽑고, 기다리셔서 우편을 보내시면 됩니다. 저는 마감 시간 쯤에 갔는데요, 보니까 번호표를 뽑는 것을 6시까지 하기만 하면 6시가 조금 넘어가더라도 다 처리를 해주는 것 같았습니다.
등기 우편을 보내는 방법은 빠른 등기와 일반 등기가 있는데요, 빠른 등기로 보내면 바로 그 다음 날에 받는 사람에게 도착한다는 장점이 있습니다. 정말 편리하죠. 가격도 그렇게 많이 안 비쌉니다. 저는 위와 같이 빠른 등기로 해서 배송 비용이 2,790원이 들었습니다.
'기타' 카테고리의 다른 글
| 블록체인 이론 학습을 위한 '스마트 교육 콘텐츠' 개발 계획 (0) | 2018.04.08 |
|---|---|
| 자격증 시험 응시자격서류 등기 우편으로 제출하는 방법! (0) | 2018.03.20 |
| 구글 플레이스토어에서 자동 결제 구독 취소하는 방법! (1) | 2018.02.27 |
| 페이팔(Paypal) 은행 계좌 등록, 계좌 인증, 잔액 출금 방법! (0) | 2018.02.22 |
| JSP 호스팅 서비스 이용할 때 특정 폴더에서 파일 입출력 하는 방법 (0) | 2018.02.13 |
구글 플레이스토어에서 자동 결제 구독 취소하는 방법!
요즘 상당수의 안드로이드 어플리케이션이 '구독(Subscribe)'을 이용한 수익 모델을 채택하고 있습니다. 구독이란 말 그대로 특정한 서비스를 주기적으로 이용하겠다는 것을 밝히는 것입니다. 구글 플레이스토어에서는 구독을 하면 자동 결제가 이루어지는 서비스 또한 제공하고 있습니다. 대표적인 사례를 알아보도록 합시다. 저는 핸드폰으로 문서를 찍은 뒤에 이것을 PDF 파일로 변환해주는 캠 스캐너(Cam Scanner) 어플리케이션을 주기적으로 사용합니다. 이 어플리케이션의 무료 버전을 사용할 때는 변환된 PDF 파일에 캠 스캐너로 촬영했다는 워터마크가 남게 됩니다.
그리고 위와 같이 워터마크를 지우기 위해서는 고급 계정으로 업데이트하라고 나옵니다. 기본적으로 7일 동안 무료 체험을 할 수 있다고 하네요. 저는 일단 당장 PDF 변환이 급해서 7일 무료 체험을 하겠다고 클릭했습니다.
그랬더니 위와 같이 일주일 뒤부터 약 5달러의 요금이 청구될 것이라고 하네요. 사실 그렇게 부담스러운 돈은 아니지만 제가 이 어플리케이션을 계속 사용할 지는 모르는 일이므로 7일 무료 체험만 이용하고 구독은 취소하려고 합니다.
일단 구독하기 버튼을 눌렀더니 위와 같이 체험 종료 이후에 자동 구독이 이루어져서 구독을 하지 않으려면 무료 체험 종료 전에 플레이스토어에 가서 구독을 취소하라고 하네요.
저는 한 번 이용한 뒤에 바로 플레이스토어로 가서 구독 취소를 하려고 했습니다. 7일 뒤에 하려고 하면 까먹을 수 있기 때문에 지금 당장 취소를 해놓으려는 거죠. 플레이스토어로 가서 '설정'에 가신 뒤에 위와 같이 '내 구독'에 들어가주세요.
그럼 위와 같이 현재 구독 중인 어플리케이션이 나오는 것을 알 수 있습니다. 여기에서 '관리'를 누릅니다.
이제 위와 같이 '구독 취소' 버튼을 눌러주시기만 하면 끝입니다. 이렇게 해주시면 자동으로 금액이 청구되는 것을 막을 수 있습니다.
'기타' 카테고리의 다른 글
| 자격증 시험 응시자격서류 등기 우편으로 제출하는 방법! (0) | 2018.03.20 |
|---|---|
| 우체국 등기 우편 보내는 방법! (0) | 2018.02.28 |
| 페이팔(Paypal) 은행 계좌 등록, 계좌 인증, 잔액 출금 방법! (0) | 2018.02.22 |
| JSP 호스팅 서비스 이용할 때 특정 폴더에서 파일 입출력 하는 방법 (0) | 2018.02.13 |
| 아톰(Atom) 개발환경에서 깃허브 프로젝트 클론(Clone)하는 방법 (0) | 2018.02.03 |
페이팔(Paypal) 은행 계좌 등록, 계좌 인증, 잔액 출금 방법!
페이팔(Paypal)은 다양한 방법으로 어떠한 물품을 구매하거나 판매할 때 이용할 수 있는 서비스입니다. 일종의 거래 대행 업체로서 안전하게 클라이언트와 판매자가 서로 거래를 할 수 있도록 중개해주는 역할을 수행합니다. 저 또한 유데미(Udemy) 코리아에서 인터넷 강의 활동을 하고 수익을 지급받을 때 페이팔을 이용하여 지급을 받고 있답니다. 페이팔의 사이트 URL은 https://www.paypal.com/입니다. 이 URL에 접속하시고 회원가입 및 로그인 이후에 서비스를 이용하실 수 있습니다.
저는 현재 회원가입을 해 놓은 상태이기 때문에 바로 '로그인'을 해주도록 할게요.
로그인 이후에는 위와 같이 '프로필' 란에 들어갈 수 있습니다. 이후에 '금융 정보' 란에 들어가시면 은행 계좌 정보가 나올 겁니다. 저는 이미 특정한 계좌를 등록 신청한 적이 있답니다. 이제 여기에서 '업데이트'를 누르시면 새로운 계좌를 등록하거나 기존의 계좌를 삭제하는 등의 활동을 할 수 있습니다.
들어가시면 위와 같이 '새 은행 연결' 란이 있을 겁니다. 바로 새 계좌를 연결을 해보도록 할게요.
새로운 계좌를 등록하는 경우는 위와 같이 '추가'를 누르시면 됩니다.
이제 여기에서 은행 정보를 넣으면 됩니다. 자신의 은행임을 입증하기 위해서는 페이팔에서 보내주는 인증 코드를 계좌로 받아서 그에 대한 정보를 넣으시면 됩니다. 제가 사용하고 있는 농협 계좌의 경우 영어로 하면 National Agricultural Cooperative Federation입니다. 따라서 위와 같이 은행 이름에는 'National Agricultural Cooperative Federation'을 넣어주었습니다.
은행 코드 및 은행 이름을 모르시는 경우에는 위와 같이 '은행 코드 보기'를 누르셔서 찾으실 수 있답니다.
저는 위와 같이 제 계좌 번호를 입력했습니다. 이제 '계속' 버튼을 눌러 넘어가보겠습니다.
이후에 위와 같이 확인 메시지가 나오네요. 여기에서 확인을 하시고 넘어가시면 됩니다. 기본적으로 지급 취소 수수료도 존재하기 때문에 정확하게 은행 정보를 확인하여 기입하는 것이 중요합니다.
추가가 완료되면 위와 같이 2 ~ 4일 이내에 페이팔(PayPal)로부터 소액 입금을 통해 인증 코드가 온다고 합니다. 며칠 뒤에 이를 확인하시고 페이팔에서 입금된 금액을 기입하면 정상적으로 인증이 완료될 겁니다.
바로 위와 같이 '프로필'에 들어가셔서 '금융 정보'에 들어가도록 합시다. 이제 여기에서 '확인 안 됨'을 눌러봅시다.
그럼 위와 같이 입금된 두 건의 금액을 입력하라고 할 겁니다. 만약에 6원, 15원이 입금되었다면 6, 15를 입력하시면 될 겁니다. 만약 입금을 해도 처리가 안 된다면 고객센터 02-3483-1131로 전화하여 문의를 주시면 처리를 해 주실 겁니다.
저는 시간이 조금 흐른 뒤에 11원과 3원이 통장에 입금되었습니다. 그래서 위와 같이 입력을 한 뒤에 '확인'을 눌렀습니다.
이제 위와 같이 성공적으로 은행 계좌과 확인된 것을 알 수 있습니다.
(+ 추가 정보)
추가적으로 많은 분들이 잘 모르는 내용에 대해서 말씀드리려고 합니다. 아직 인증이 되지 않은 계좌라고 하더라도 인출은 가능합니다. 다만 그 한계가 500 달러($)로 한정되어있을 뿐이지요. 한 번 제 페이팔 계정에 있는 잔액 중에서 $20을 인출해보도록 하겠습니다.
위와 같이 페이팔 '메인' 페이지로 가보시면 왼쪽 부분에 '자금' 란이 보이고 아래쪽에 '자금 인출' 영역이 보이실 겁니다.
위와 같이 긍액 이체 영역에서 '출금 계좌'와 '입금 계좌'를 선택하시고 인출을 신청하시면 됩니다.
그러면 바로 위와 같이 확인 메시지가 출력됩니다. 한번 '이체' 버튼을 눌러서 이체를 수행해보도록 하겠습니다.
이제 위와 같이 이체 확인 메시지가 뜨면서 성공적으로 이체가 완료된 것을 확인할 수 있습니다.
'기타' 카테고리의 다른 글
| 우체국 등기 우편 보내는 방법! (0) | 2018.02.28 |
|---|---|
| 구글 플레이스토어에서 자동 결제 구독 취소하는 방법! (1) | 2018.02.27 |
| JSP 호스팅 서비스 이용할 때 특정 폴더에서 파일 입출력 하는 방법 (0) | 2018.02.13 |
| 아톰(Atom) 개발환경에서 깃허브 프로젝트 클론(Clone)하는 방법 (0) | 2018.02.03 |
| 노트북 캠 끄기 방법! (0) | 2018.02.01 |
JSP 호스팅 서비스 이용할 때 특정 폴더에서 파일 입출력 하는 방법
흔히 웹 서버 프로그램을 개발할 때 가장 중요한 것은 보안입니다. 저는 개발을 할 때 보안성을 강화하는 모듈화 방법에 대해서 많이 고민합니다. 예를 들어 특정한 소스코드를 깃 허브(Git Hub)에 올리고 있는 상황에서, 데이터베이스 연결 구문 등을 작성하고자 할 때 데이터베이스 연동 구문에는 데이터베이스의 ID와 비밀번호가 그대로 노출이 될 텐데 그걸 그대로 깃 허브로 푸시(Push) 하지는 않겠죠? 이럴 때 사용하는 것이 바로 파일에서부터 데이터베이스 관련 정보를 불러오도록 하는 것입니다.
파일에서부터 데이터베이스 관련 정보를 불러오도록 하면 웹 쉘 업로드 공격이 들어오지 않는 이상 데이터베이스 관련 정보를 노출당할 일이 없고, 데이터베이스 또한 적절하게 권한 분리를 함으로써 웹 서버에서 접근할 수 있는 데이터베이스 영역을 잘 관리한다면 상당히 보안성이 높아집니다. (물론 웹 서버를 Root 권한으로 돌리거나, 데이터베이스 또한 Root 권한으로 접속하도록 개발된 서버라면 웹 쉘 한 방에 초전 박살날 수 있습니다.)
아무튼 카페 24와 같은 호스팅 서비스를 이용할 때 파일에서부터 데이터베이스 관련 정보를 읽어 처리하는 방법에 대해 알려드리고자 합니다.
먼저 위와 같이 현재의 컨텍스트 경로를 출력하도록 하는 JSP 프로그램을 작성해서 호스팅 서버에 올립니다.
실행 결과 위와 같이 리눅스 경로가 출력되는 것을 알 수 있어요. 제 루트 디렉토리는 바로 위와 같다고 할 수 있습니다.
이제 한번 루트 디렉토리의 바로 부모 폴더로 가서 file이라는 폴더를 만들어줍니다. 이제 정상적인 사용자들이 이 경로에 웹 브라우저로 접근할 수 없습니다.
이제 위와 같이 특정한 텍스트 파일에 아이디 값을 적어서 올려볼게요.
이제 바로 위와 같이 아까 확인했던 경로 값을 이용해 해당 파일에서 글자를 읽어 출력하도록 해봅시다.
바로 위와 같이 성공적으로 아이디 값을 읽어온 것을 알 수 있습니다. 그럼 즐거운 시큐어 코딩 되세요!
'기타' 카테고리의 다른 글
| 구글 플레이스토어에서 자동 결제 구독 취소하는 방법! (1) | 2018.02.27 |
|---|---|
| 페이팔(Paypal) 은행 계좌 등록, 계좌 인증, 잔액 출금 방법! (0) | 2018.02.22 |
| 아톰(Atom) 개발환경에서 깃허브 프로젝트 클론(Clone)하는 방법 (0) | 2018.02.03 |
| 노트북 캠 끄기 방법! (0) | 2018.02.01 |
| 아톰(Atom) 개발 환경과 깃허브(GitHub) 연동하는 방법 (2) | 2018.01.31 |
자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ⑤ 클라이언트 GUI 디자인 작업하기
이번 시간에도 지난 시간에 이어서 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램을 개발하도록 합시다. 이번 시간이 마지막 시간입니다. 클라이언트 프로그램의 GUI를 작업하도록 할 것입니다. 서버로 메시지를 전송하고, 서버로부터 메시지를 받는 전반적인 과정이 모두 그래픽 환경에서 출력될 것입니다. 클라이언트 프로그램 또한 프로그램 자체가 작고 디자인 구성요소가 별로 없다는 점에서 자바 소스코드로 간단하게 작성할 수 있을 것입니다.
바로 클라이언트 프로그램을 실질적으로 작동시키는 start() 함수를 작업해보도록 하겠습니다.
소스코드가 조금 긴 감이 있는데요. 클라이언트의 경우에는 UI 요소가 많기 때문에 어쩔 수 없습니다. 보시면 접속을 할 때 clientStart() 메소드를 실행해서 서버에 연결한 이후에 메시지를 전송하게 되면 서버로 send() 메소드를 이용해 통신하게 되는 것을 알 수 있습니다. 실행 결과는 다음과 같습니다.
실제로 상용화를 위해서는 갖가지 예외 처리를 더욱 자세하게 해주어야 합니다. 일단 전반적인 작동이 원활히 이루어지는 것을 확인했으므로 프로젝트를 완료하겠습니다.
'JAVA & JSP' 카테고리의 다른 글
| 이클립스 서버 시작 타임아웃(Timeout) 오류 해결법 (4) | 2018.07.31 |
|---|---|
| 인텔리J (IntelliJ) 학생용 무료로사용하는 방법 (0) | 2018.07.27 |
| 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ④ 클라이언트 기능 모듈 작성하기 (2) | 2018.02.10 |
| 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ③ 서버 GUI 디자인 작업하기 (3) | 2018.02.10 |
| 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ② 서버 기능 모듈 작성하기 (1) | 2018.02.10 |
자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ④ 클라이언트 기능 모듈 작성하기
이번 시간은 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 개발하기의 네 번째 시간입니다. 바로 클라이언트 기능 모듈을 개발하는 것입니다. 일단 클라이언트 프로그램이라고 할 수 있는 Chat Client 프로젝트를 생성해주도록 합시다. 기본적으로 GUI 멀티 채팅 시스템에서 채팅 클라이언트(Chat Client) 프로그램은 서버로 접속하여 서버와 통신하는 구조를 가집니다. 바로 한 번 이클립스에서 JavaFX 프로젝트를 새롭게 생성하여 이름을 Chat Client라고 설정해줍시다. 서버 프로그램을 만들었을 때와 비슷하죠.
바로 프로젝트를 생성해주겠습니다. JavaFX로요.
위와 같이 이름을 Chat Client라고 설정해줍시다.
이제 위와 같이 Main.java 클래스를 살펴보도록 합시다. 다음과 같이 틀을 잡아주세요.
이제 바로 세부 메소드들을 작업해주도록 하겠습니다. 클라이언트 프로그램에서는 쓰레드 풀을 사용할 필요가 없기 때문에 기본적으로 Thread 클래스를 이용해서 쓰레드 모듈을 처리합니다.
먼저 위와 같이 startClient() 메소드를 작업합니다. 클라이언트 프로그램을 동작하게 해주는 메소드입니다.
이후에 서버로부터 메시지를 받거나 보내는 receive() 함수와 send() 함수를 작업해줍니다. 단순하게 InputStream과 OutputStream을 이용해서 서버와 통신하는 모듈이 작성된 것을 알 수 있습니다.
이제 위와 같이 stopClient()를 작업해주시면 끝입니다.
'JAVA & JSP' 카테고리의 다른 글
| 인텔리J (IntelliJ) 학생용 무료로사용하는 방법 (0) | 2018.07.27 |
|---|---|
| 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ⑤ 클라이언트 GUI 디자인 작업하기 (6) | 2018.02.11 |
| 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ③ 서버 GUI 디자인 작업하기 (3) | 2018.02.10 |
| 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ② 서버 기능 모듈 작성하기 (1) | 2018.02.10 |
| 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ① 프로젝트 개요 (1) | 2018.02.10 |
자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ③ 서버 GUI 디자인 작업하기
이번 시간에도 지난 시간에 이어서 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램을 개발하도록 합시다. 지난 시간에는 서버 프로그램의 서버 기능 모듈을 작업하는 시간을 가졌습니다. 이번 시간에는 실제로 GUI 환경에서 해당 서버가 작동하고 있는지의 여부를 출력하도록 해보겠습니다. 자바 FX도 다른 GUI 환경의 프로그램 도구와 흡사하게 작동합니다. 일반적으로 자바 FX는 FXML이라는 별도의 디자인 관련 소스코드를 사용하는데 특별한 GUI가 필요한 건 아니므로 소스코드 상으로 작업해보겠습니다.
바로 실제로 서버 GUI를 작동시키는 start() 프로그램을 작업해보도록 할게요.
위와 같이 작업하면 됩니다. 실행 결과는 다음과 같습니다.
'JAVA & JSP' 카테고리의 다른 글
| 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ⑤ 클라이언트 GUI 디자인 작업하기 (6) | 2018.02.11 |
|---|---|
| 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ④ 클라이언트 기능 모듈 작성하기 (2) | 2018.02.10 |
| 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ② 서버 기능 모듈 작성하기 (1) | 2018.02.10 |
| 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ① 프로젝트 개요 (1) | 2018.02.10 |
| JSP로 강의평가 웹 사이트 개발하기 ⑪ 기초 XSS 시큐어 코딩 (0) | 2018.01.27 |
자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ② 서버 기능 모듈 작성하기
이번 시간은 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 개발하기의 두 번째 시간입니다. 바로 서버 기능 모듈을 개발하는 것입니다. 일단 서버 프로그램이라고 할 수 있는 Chat Server 프로젝트를 생성해주도록 합시다. 기본적으로 GUI 멀티 채팅 시스템에서는 채팅 서버(Chat Server) 프로그램은 클라이언트(Client) 간의 중계자 역할을 수행합니다. 나아가 쓰레드 풀(Thread Pool)을 이용하기 위해서 Executer Service 라이브러리를 사용합니다.
바로 이클립스에서 하나의 프로젝트를 생성해주도록 합시다.
위와 같이 프로젝트 부분에서 마우스 우클릭 -> New -> Other에 들어갑니다.
바로 위와 같이 JavaFX 프로젝트를 하나 생성해줍시다.
프로젝트의 이름은 Chat Server라고 지어줄게요.
처음에 프로젝트를 생성하면 바로 위와 같이 application 패키지가 존재하고 그 안에 Main 클래스가 존재할 겁니다.
가장 먼저 위와 같이 application 패키지 내에 하나의 Client 라는 이름의 클래스를 생성해주겠습니다.
이제 위와 같이 Main 클래스의 틀을 잡아보도록 합시다. 기본적으로 우리 프로젝트에서는 하나의 서버 프로그램은 오직 하나의 서버만 작동시킬 수 있도록 했습니다. 구현을 하고자 한다면 지난 시간에 보여드렸던 다이어그램처럼 하나의 서버 프로그램에서 여러 개의 서버 쓰레드를 작동시킬 수는 있지만 일반적으로는 하나의 서버 프로그램은 하나의 서버 모듈을 구동시킨다는 점에서 이렇게 개발하고자 합니다.
간단히 부가설명을 하자면 ExecutorService는 여러 개의 쓰레드를 효율적으로 관리하기 위한 대표적인 라이브러리입니다. Thread Pool로 쓰레드를 처리하게 되면 기본적인 쓰레드 숫자의 제한을 두기 때문에 갑작스런 Client 폭증에도 쓰레드의 수에는 제한이 있어 서버의 성능 저하를 방지할 수 있습니다. 한정된 자원을 '안정적으로' 관리하기 위한 대비책이죠.
바로 한 번 Client 클래스를 작성해보도록 합시다.
먼저 바로 위와 같이 receive() 함수를 작성할 수 있습니다. 반복적으로 해당 클라이언트로부터 메시지를 전달 받는 메소드입니다. 소름 돋는 부분은 메시지를 전달 받자마자 곧바로 모든 클라이언트에게 그대로 전달해준다는 것입니다.
이후에 send() 함수입니다. 특정한 클라이언트에게 특정 시기에 메시지를 전달하는 메소드입니다. 이제 특정한 클라이언트가 접속하게 되면 바로 위의 receive() 메소드와 send() 메소드를 이용해 메시지를 전달 받고 전달 할 수 있습니다.
이제 위와 같이 serverStart() 함수를 작성합시다.
마지막으로 stopServer() 메소드입니다. 이 메소드는 서버 작동 종료 이후에 전체 자원을 할당 해제해주는 메소드입니다. 사실 이 메소드의 작성 여부가 서버 프로그램의 품질에 큰 영향을 미친다고 할 수 있습니다. 자원 해제는 굉장히 중요합니다.
'JAVA & JSP' 카테고리의 다른 글
| 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ④ 클라이언트 기능 모듈 작성하기 (2) | 2018.02.10 |
|---|---|
| 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ③ 서버 GUI 디자인 작업하기 (3) | 2018.02.10 |
| 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ① 프로젝트 개요 (1) | 2018.02.10 |
| JSP로 강의평가 웹 사이트 개발하기 ⑪ 기초 XSS 시큐어 코딩 (0) | 2018.01.27 |
| JSP로 강의평가 웹 사이트 개발하기 ⑩ 추천 및 삭제 기능 구현하기 (0) | 2018.01.27 |
자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ① 프로젝트 개요
이번에 진행해 볼 미니 프로젝트는 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 개발하기입니다. 자바 FX로 개발 된 프로그램으로는 무엇이 있을까요? 바로 대표적인 것이 이클립스(Eclipse) 개발환경입니다. 우리가 흔히 자바 프로그래밍을 연습하기 위해 사용하는 개발 도구인 이클립스 또한 사실은 자바로 개발되었다는 거죠. 알 바 아니라고요? 바로 시작해보도록 하겠습니다.
기본적으로 서버와 클라이언트를 포함하는 프로그램이 있다면, 응당 서버와 클라이언트는 서로 다른 컴퓨터 환경에서 작동을 한다고 보시면 됩니다. 실제로 프로그램을 구현한 이후에는 서버 프로그램은 실제 서버(Server)에서 작동시키고, 클라이언트는 해당 서버에 접속을 하는 식으로 개발을 해야 하는 겁니다.
또한 하나의 서버 프로그램은 여러 개의 서버를 구동시킬 수 있습니다. 하나의 서버 단위마다 쓰레드를 이용해서 작동시킬 수 있습니다. 이 때는 연결을 받아야 하는 것이므로 특정한 포트 번호를 설정시켜줘야 할 것입니다. 이후에 특정한 서버로 클라이언트가 접속하면 어떻게 처리할 수 있을까요? 바로 다음과 같이 해당 서버 쓰레드에서 단위 쓰레드를 클라이언트의 갯수만큼 만들어주어 클라이언트가 접속할 때마다 쓰레드를 실행하여 작동시킬 수 있습니다.
다만 여기에서 단순하게 쓰레드만 돌리면 상당히 프로그램이 위험한 상태에 처할 수 있습니다. 그래서 일반적으로 쓰레드 풀(Thread Pool) 기법을 사용하여 쓰레드를 관리할 수 있습니다. 다음 시간부터 제대로 개발을 해 볼 건데요. 전체적인 구성은 바로 위와 같습니다. 우리는 서버 프로그램과 클라이언트 프로그램을 모두 개발할 것입니다. 실제로 만약에 이 프로그램을 배포한다면 개발자의 컴퓨터에서는 서버 프로그램을 돌릴 수 있고 다른 컴퓨터에서는 클라이언트 프로그램을 돌리면 됩니다.
필요한 개발 도구는 다음과 같습니다.
▶ 이클립스 개발 환경: http://www.eclipse.org/
▶ JavaFX Scene Builder: http://www.oracle.com/technetwork/java/javafxscenebuilder-1x-archive-2199384.html
▶ 이클립스 JavaFX 플러그 인
'JAVA & JSP' 카테고리의 다른 글
| 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ③ 서버 GUI 디자인 작업하기 (3) | 2018.02.10 |
|---|---|
| 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 ② 서버 기능 모듈 작성하기 (1) | 2018.02.10 |
| JSP로 강의평가 웹 사이트 개발하기 ⑪ 기초 XSS 시큐어 코딩 (0) | 2018.01.27 |
| JSP로 강의평가 웹 사이트 개발하기 ⑩ 추천 및 삭제 기능 구현하기 (0) | 2018.01.27 |
| JSP로 강의평가 웹 사이트 개발하기 ⑨ 평가 검색 및 출력 구현하기 (4) | 2018.01.27 |
아톰(Atom) 개발환경에서 깃허브 프로젝트 클론(Clone)하는 방법
지난 번에는 아톰(Atom) 개발환경에서 깃허브와 연동하여 커밋(Commit) 및 푸시(Push)를 하는 방법에 대해서 알아보는 시간을 가졌습니다. 이번 시간에는 깃허브 프로젝트를 클론해서 우리의 프로젝트에서 다루는 방법에 대해 알아보도록 할게요. 클론이라는 것은 임의의 저장소(Repository)에 저장된 프로젝트를 우리의 로컬 컴퓨터로 옮겨오는 것을 의미해요. 바로 'File' -> 'Settings'에 들어가신 뒤에 'Install' 탭에 들어가시면 특정한 패키지를 검색해서 설치할 수 있어요. git-clone을 검색해서 다음과 같이 설치해봅시다.
설치 이후에는 'Settings'를 누르면 설정 정보를 확인할 수 있어요.
이제 여기에서 프로젝트를 클론(Clone)해서 저장할 경로를 설정해줍시다. 저는 C 드라이브에 cloned라는 이름의 폴더를 만들었어요.
이제 다음과 같이 Settings에 클론할 프로젝트 경로를 넣어주면 되요. 이 경로로 클론이 수행될 겁니다.
이제 한 번 클론 명령어를 입력해 실제로 클론을 수행해보도록 할게요.
'Packages' -> 'Command Palette' -> 'Toggle'에 들어가서 명령어를 입력해보도록 할게요.
바로 Git Clone: Clone을 입력하여 git-clone 패키지를 사용합시다.
이제 한 번 특정한 저장소 경로를 입력해서 다운로드를 받아봅시다.
▶ HTML 이메일 템플릿: https://github.com/leemunroe/responsive-html-email-template
저는 한 번 위 템플릿을 다운로드를 해줄게요.
클론이 수행됩니다.
그럼 이제 C 드라이브의 경로로 가보시면 성공적으로 프로젝트가 다운로드가 되어있네요.
위와 같이 아톰에서도 확인할 수 있습니다.
이제 위와 같이 git-plus를 사용해봅시다. git-plus는 이전 시간에 설치한 적이 있었죠. 클론하는 것 말고 깃을 이용해 Add하고 Commit하고 Push하는 등의 활동을 가능하게 해줍니다. 'Packages' -> 'GitHub' -> 'Toggle Git Tab'에 들어가서 git-plus를 열어볼게요.
위와 같이 특정한 부분의 소스코드를 수정한 뒤에 저장해보시면 오른쪽에 Unstaged Changes에 수정 내용이 기록됩니다. 우클릭 이후에 Stage를 누르시면 Stage Changes에 등록됩니다.
이제 Stage Changes에 기록된 내용은 Commit을 해 줄 수 있습니다. 한 번 커밋 해보도록 할게요.
커밋 이후에는 Push를 시킬 수 있습니다.
다만 해당 저장소에는 제가 푸시할 권한을 가지고 있지 않기 때문에 오류가 나오는 것을 알 수 있습니다. 원한다면 포크(Fork) 이후에 자신의 저장소에서 다양하게 푸시하여 프로젝트를 수정한 이후에 Pull Request를 하는 식으로 오픈소스에 기여할 수는 있겠지요.
'기타' 카테고리의 다른 글
| 페이팔(Paypal) 은행 계좌 등록, 계좌 인증, 잔액 출금 방법! (0) | 2018.02.22 |
|---|---|
| JSP 호스팅 서비스 이용할 때 특정 폴더에서 파일 입출력 하는 방법 (0) | 2018.02.13 |
| 노트북 캠 끄기 방법! (0) | 2018.02.01 |
| 아톰(Atom) 개발 환경과 깃허브(GitHub) 연동하는 방법 (2) | 2018.01.31 |
| 바이오스(BIOS) 부트 옵션에 HDD/SSD가 없을 때 해결 방법! (2) | 2018.01.31 |
