수달의 IT 세상

Apache MINA와 WebSocket으로 통신하기 포스트 Teaser

Apache MINA와 WebSocket으로 통신하기

카테고리:

2 분 소요

Apache MINA의 구조 Apache MINA는 아래와 같은 구조를 띄고 있다. IoService와 IoHandler사이에 IoFliter들을 추가하여 원하는 스타일의 소켓 통신을 할 수 있다. WebSocket같은 경우에도 HandShake과정과 같은 구현을 IoFliter를 추가함으로서 쉽게 해결할 수 있다. 하지만, 기본적인 Protocol들은 자체 Fliter로서 구현이 되어 있지만, WebSocket은 자체적으로 구현이 되어 있지 않다. 또한, https://tools.ietf.org/html/rfc6455에 모든 내용이 기록되어 있다. https://github.com/syudal/Apache-Mina-IoFilter-WebSocket Apache MINA와 연동하기 Apac

[PHP]  cURL을 사용하여 file_get_contents 사용하기 포스트 Teaser

[PHP] cURL을 사용하여 file_get_contents 사용하기

카테고리:

1 분 소요

PHP에서 웹상 파일 읽기 php로 웹상(원격)에 있는 파일을 읽는 방법으로는 보통 아래와 같은 방법을 사용하여 파일을 읽는다. fopen() 함수 사용 file_get_contents() 함수 사용 curl 사용 하지만, 대부분의 웹 호스팅에서는 file_get_contents()을 지원하지 않는다. 물론 curl을 지원하지 않는 웹 호스팅도 있지만, 많은 호스팅에선 아직 지원하므로 curl을 이용하여 php에서 웹 상 파일을 읽어오는 file_get_contents 함수를 curl로 구현했다. 소스 코드 <?php function file_get_contents_curl($url) { $ch = curl_init(); curl_setopt($ch, CURLO

[html] iframe을 사용하지 말아야 할 이유. (단점) 포스트 Teaser

[html] iframe을 사용하지 말아야 할 이유. (단점)

카테고리:

3 분 소요

이유 1. 보안 위험을 유발함 iframe을 사용하여 구성 요소를 구현하면 사이트 간 공격(XSS)에 취약해집니다. 사용자의 개인 데이터를 피싱하여 제출할 수있는 악의적 인 웹 양식을 얻을 수 있습니다. 악의적인 사용자가 플러그인을 실행할 수 있습니다. 악의적인 사용자가 원본 사이트 URL을 변경할 수 있습니다. 악의적인 사용자가 사용자의 클릭을 도용 할 수 있습니다. 악의적인 사용자가 사용자의 키 입력을 가로챌 수 있습니다. 이유 2. 사용성 문제를 일으킴 iframe 태그는 사용성 문제를 자주 일으킵니다. 브라우저의 “뒤로가기”버튼을 간헐적으로 작동되지 않게 합니다. 새로운 브라우저 창에서 갑자기 iframe으로 다른 콘텐츠를 로드하여 사용자를 혼란스럽게 만듭니다.

[PHP] IE 브라우저 접속 검출하기 포스트 Teaser

[PHP] IE 브라우저 접속 검출하기

카테고리:

1 분 소요

IE IE(Internet Explorer)는 윈도우에 기본 탑재되어 편리한 웹 생활을 담당해주었던 인터넷 브라우저의 일종이다. 하지만 윈도우 10이 발표되고 Edge Browser(엣지 브라우저)가 발표됨에 따라 IE의 지원은 끊겼다. 따라서 IE에 탑재된 Trident엔진은 CSS를 정확히 지원을 못하고, 예상치 못한 오류들을 보여주고 있다. 소스 코드 php에서 IE로 접속했는지 검출하려면 ‘$_SERVER[‘HTTP_USER_AGENT’]‘을 사용하면 된다. 아래는 $_SERVER [‘HTTP_USER_AGENT’]를 사용하여 짠 함수다. <?php function getBrowser() { $broswerList = array('MSIE', 'Chrom

[한글] 보기 표 만들기 포스트 Teaser

[한글] 보기 표 만들기

카테고리:

1 분 소요

보기 표 한글로 문서를 만들다 보면 아래와 같은 표를 만들어야 할 때가 있다. 보기 표를 만드는 방법은 생각외로 간단하다. 보기 표 만드는 순서 1. 표를 3*3으로 생성한다. 단축키(ctrl + n → t) 2. 셀들을 선택한 후, ‘셀 테두리/배경’ → ‘각 셀 마다 적용’을 클릭한다. 3. 모두 → 선 없음 → 설정 4. 5번과 8번을 선택하고 셀을 병합하고 ‘'를 적은 후 텍스트를 중앙 정렬한다. 5. ‘'를 적은 셀을 하나만 선택한다. (ctrl+왼클릭), ctrl+방향키를 이용하여 셀 크기를 최대한 줄인다. 6. ‘'의 양쪽에 테두리를 다시 입힌다. 각각 대칭이 되게 진행한다. (ctrl + 클릭)으로 셀을 선택한다. 7. ‘&

Apache MINA를 이용한 Echo서버 구현하기 포스트 Teaser

Apache MINA를 이용한 Echo서버 구현하기

카테고리:

4 분 소요

Apache MINA 자바(Java)를 이용해서 서버를 구축하는 방법에는 여러가지가 있겠지만, 아파치 미나(Apache MINA)의 구현 방법인 Nio Socket과 스레드(Thread)를 이용하여 비동기-스레드(Asynchronous-Thread)방식의 서버를 구현할 수 있다. https://mina.apache.org/downloads-mina_2_1.html 다운로드 가능한 공식 주소는 위와 같다. 위의 주소에서 .zip을 다운받아 apache-mina-버전명-bin.zip을 압축을 풀게 되면 dist폴더에 위와 같은 파일들이 나타는데, 우리가 필요한 내용은 mina-core-버전명.jar이다. 또한, 위의 lib폴더에서 slf4j-api-버전명.jar또한 복사하여 자신이 사용하는 I

메이플스토리 주간 퀘스트(헤이븐 + 야영지) 난이도 정리 포스트 Teaser

메이플스토리 주간 퀘스트(헤이븐 + 야영지) 난이도 정리

카테고리:

6 분 소요

알림 RISE업데이트로 변경된 갯수를 수정하였습니다. Ctrl + F로 찾으시면 됩니다. 헤이븐 위치 퀘스트 요구조건 난이도 헤이븐 물건 수집 1 안테나 조각 레드 30개 중 물건 수집 2 빨간색 칩셋 조각 50개 하 물건 수집 3 녹색 칩셋 조각 50개 중 물건 수집 4 파란색 칩셋 조각 20개 상 긴급 지원 1 사냥개 로봇 레드 200마리 중 긴급 지원 2 수리로봇 300마리 최하 긴급 지원 3 강화된 외부 경비 로봇 300마리 하 긴급 지원 4 강화된 내부 경비 로봇 200마리 중 기계무덤 적 로봇 처치 1 추적자 안드로이드 레드 300마리 하 적 로봇 처치 2 추적자 안드로이드 블루 200마리 중 적 로봇 처치 3 사냥개 로봇 블루 150마리 중

[Windows Desktop] 삼성 바이오스 업데이트 PHLASHNT.SYS 드라이버 로드 오류 포스트 Teaser

[Windows Desktop] 삼성 바이오스 업데이트 PHLASHNT.SYS 드라이버 로드 오류

카테고리:

1 분 소요

문제 상황 오래전 사용하던 데스크탑을 NAS + PLEX용도로 사용하고자 사양을 살펴보던 중 누락된 바이오스 펌웨어가 존재했다는 사실을 알았다. 현재 NAS + PLEX로 사용하는 데스크탑의 운영체제는 Windows10 64bit 삼성 지원에 보면 Win XP/Vista/Windows 7를 지원한다고 하니 그동안 해왔던 것 처럼 다운로드하고 설치를 실행했다. 하지만 이게 웬일인가. 바이오스를 플래싱하는 Samsung Flash Utility가 3가지를 힌트를 주며 오류 코드 : 1275를 내뱉더니 종료되었다. PHLASHNT.SYS 드라이버를 로드할 수 없습니다. 계정을 확인하십시오. 관리자 권한이 없는 경우에는 다시 로그인 하십시오! 이 드라이버가 차단되었기 때문에 로드할 수 없