728x90
지난 10월 진행되었던 아마카이 Edge 2013 컨퍼런스에서 참 중요한 발표가 하나 있었다.
그동안 퍼블릭 인터넷 구간에만 한정되었던 네트워크 퍼포먼스의 최적화를
아카마이가 시스코와 함께 기업 네트워크로 확장할 수 있는 얼라이언스를 발표했기 때문.

참고자료
1. http://www.cisco.com/en/US/solutions/collateral/ns1015/ns1247/white-paper-c11-729752.pdf
2. http://www.akamai.com/cisco



비싼 MPLS 망이나 가속 / QoS 보장이 되지 않는 WAN 구간을 쓸 것이냐?
아니면 Cisco ASR 장비를 기반으로 아카마이의 글로벌 네트워크를 쓸 것이냐?
글로벌화를 꿈꾸는 기업들과 지사/사무소 네트워크 연결이 이슈인 요즘,
아카마이 네트워크와 시스코 어플라이언스의 조합은
엔터프라이즈들에게는 나쁘지 않은 선택이 될거라는 생각이 드네요!

물론 보안부터 시작해서 넘어야 할 산은 참 많지만
검증된 플랫폼에 살짝~ 승선하는 것은 시행착오를 줄이는 최적의 코스..!

- NoPD - 
728x90
728x90
인터넷에 연결되어 있는 컴퓨터에 쉽게 접근하기 위해 우리는 DNS 를 사용합니다. DNS 는 사람이 이해할 수 있는 체계로 된 주소를 네트워크가 이해하기 좋은 주소로 바꿔주는 역할을 합니다. 예를들어 www.naver.com 을 DNS 를 통해 조회를 하게 되면 72.247.151.60 과 같은 네트워크 주소를 돌려주게 됩니다. 이 주소를 얻기까지 많은 과정이 있지만 일단 이 포스팅의 주제는 아니므로 넘어가도록 하겠습니다 ^^

 
위의 스크린 샷처럼 1개의 IP 주소가 리턴되는 경우에는 컴퓨터나 웹 브라우저는 고민할 것 없이 해당 IP 주소를 이용해서 자원에 접근하게 될 겁니다. 그런데 만약, 대규모의 사용자 요청을 처리하기 위해서 여러대의 서버와 IP 를 이용하는 경우에는 어떤 주소값을 사용해야 할까요? 가령 아래와 같은 결과가 리턴된다면 컴퓨터나 브라우저는 어떤 IP 주소를 택하게 될까요?

 
 DNS 조회 결과를 활용하는 방법에 대해서도 RFC 표준이 존재하고 있고 IPv6 의 도입등에 따라 표준도 지속적으로 개정이 되고 있습니다. 이 말은, 운영체제에 따라서 DNS 가 A 레코드를 여러개 리턴했을 경우 활용하는 방법이 달라진다는 것을 의미합니다. 가령 윈도우XP 의 경우 굉장히 오래된 운영체제로 리턴된 여러개의 A 레코드 중에서 가장 먼저 리턴된 값을 이용하게 됩니다.

반면 윈도우Vista 라던가 윈도우7과 같은 비교적 근래에 출시된 운영체제들은 개정된 RFC 표준에 맞추어 IP 주소를 선택하게 됩니다. RFC 3484 (http://www.ietf.org/rfc/rfc3484.txt, Default Address Selection for IPv6) 는 IPv6 환경에서 주소를 선택하는 방법에 대한 가이드이지만 많은 운영체제 개발사들은 IPv4 환경에서도 이런 룰을 적용하고 있어서 한 번 읽어볼 필요가 있습니다

 
영어로 가득한 내용이라 울렁울렁 하겠습니다만, 친절한 NoPD 의 요약에 따르면 "프리픽스 부분이 가장 긴 주소를 선택한다" 라고 합니다. 왜 이런 로직을 적용하게 되었는지는 RFC 문서를 직접 읽어보시고 공유해 주시면 감사하겠습니다 ;;; 여튼, 우리가 알아야 할 중요한 내용은 근래의 운영체제들은 이 로직을 대부분 따르고 있다는 사실입니다. 마이크로소프트 테크넷 블로그에 등록된 아래 글이 그 내용을 잘 요약해 주고 있습니다. 역시 친절한 NoPD 의 발췌본을 읽어보시겠습니다 (http://blogs.technet.com/b/networking/archive/2009/04/17/dns-round-robin-and-destination-ip-address-selection.aspx)

 
특정한 도메인에 대하여 5개의 A 레코드가 리턴됐다고 했을때, 사용자의 IP 주소와 비교하여 NetMask 를 몇 비트를 사용해야 하는가가 핵심입니다. 예제는 무척 간단한 상황을 가정해서 쉽게 계산이 됩니다만 실제 상황에서는 조금 더 복잡할 수 있겠죠? IP 주소를 하나 선택하는데 있어서도 영향을 주는 것들이 무척 많습니다. DNS 관련된 이슈를 트러블 슈팅 하실 때 이런 내용도 알고 계시면 도움이 많이 될 것 같아서 공유해 봅니다. 아래의 주소들을 방문해서 보다 자세한 내용을 확인해 보시기 바랍니다.

 
728x90
728x90

정규표현식은 복잡한 조건 비교문 없이
패턴 단위로 문자열을 검증할 수 있어서 무척 유용하...지만...-_-;;
자주 사용하지 않으면 할 때마다 헷갈린다는 단점이 있다.

자바스크립트만 이용해서 사용자 입력값을 검증하는 것은
무조건 문제가 생길 수 있기 때문에 서버측 검증을 꼭 해야만 한다.
물론 서버측에서는 여러가지 다른 수단 (가령, 스토어드 프로시저 파라메터의 데이터 타입) 이 있기 때문에
자바스크립트에서 정규표현식 검증을 하고
서버단에서는 별도 Validation 을 하는 것도 좋은 방법이다

각설하고,

사용자 계정 생성시 자주 사용하게 되는 룰이 영문, 숫자만 허용하는 것인데
이를 자바스크립트 정규표현식을 사용하면 무척 간단하게 표현이 가능하다

var regType1 = /^[A-Za-z0-9]+$/;
혹은
var regType1 = /^[A-Za-z0-9]*$/;

 
영어는 대문자 소문자가 있기 때문에 두가지를 모두 식에 표현해 주어야 한다

var regType1 =/^[A-Za-z0-9]+$/;

혹은
var regType1 = /^[A-Za-z0-9]*$/; 

숫자도 0-9 라는 조건을 통해 필터링 할 수 있다

var regType1 = /^[A-Za-z0-9]+$/; 
혹은
var regType1 = /^[A-Za-z0-9]*$/; 

+ 는 대/소 영문자, 숫자가 한번 이상 나온다는 의미이며 
꺽쇠 바깥쪽의 별표(아스타리스크,*)는 꺽쇠 안의 조건이 0번 이상 반복된다는 의미이다
+와 *는 미묘하게 차이가 있지만 위의 목적으로는 어느것을 사용해도 무방하다

만약, 문자열 길이를 제한하고 싶으면 어떻게 하면 될까?
그 때는 브레이스({,})로 문자열 갯수를 지정해 주면 된다.

var regType1 = /^[A-Za-z0-9]{4,12}$/; 

위와 같은 식을 이용하면 4자 이상, 12자 이하의 문자열 필터링이 가능하다.
완성된 코드는 아래와 같다.

var regType1 = /^[A-Za-z0-9+]*$/;
if (regType1.test(document.getElementById('userid').value)) { alert('아이디가 조건에 맞지 않습니다'); }

참고로 정규표현식 관련된 책들중 얇고 부담 없지만 탄탄한 책은
한빛미디어에서 출간된 "처음 시작하는 정규표현식 Regular Expression" 을 추천한다 

[자세히보기]


- NoPD -

 

쿠팡 파트너스 활동을 통해 소정의 수수료를 지급받을 수 있습니다

 

728x90
728x90
가끔 리눅스나 Mac OS 환경에서 배치파일을 만들어야 할 때가 있다.
자주 쓰면 잊어버리지 않을텐데, 가끔 쓰다보니 할때마다 자꾸 찾는거 같다.

chmod a+x [파일명]


chmod 옵션중 a 는 모든 유저를 나타내며
x 옵션이 Execute 를 나타내는 옵션이다.
까먹지 말고 적어두자 ^^


참고 : 
Unix Executable File / Linux Executable File / Mac Executable File

- NoPD -
 
728x90

+ Recent posts