소프트웨어 301

JSON javascript 읽기

JSON(Javascript Object Notation)은 경량 데이터 교환 형식이다. 사람이 읽기 쉽고, 쓰기 쉽고, 또 기계에게도 해석과 생성이 용이한 형식이며 JavaScript(ECMAScript)에 근거한 부분집합이다. 즉, 자바스크립트로 객체를 기술하는 방법이다. 예들 들어, 아래와 같이 씁니다. var oj = { "프로퍼티 이름" : "값", "메소드 이름" : function() {alert!('This is method')} } 이것만으로 오브젝트 oj를 만드는 것이 가능하여, oj.프로퍼티이름 으로 값을 얻어 낼 수 있어, oj.메소드이름() 으로 "This is method"라는 대화창을 표시합니다. 또한 Javascript로는 배열도 다음과 같은 꼴로 다룰 수 있는 경우가 자주 ..

JSON API 하이재킹, Ajax Security

1. Ajax어플리케이션 하이재킹자바스크립트가 가진 특성 때문에(동적인 측면) 하이재킹으로 인한 보안 문제가 일어난다. 함수를 선언하고 나서 후에 재정의 할 수 있는 특징 때문이다. ex)  실수로 인한 함수 덮어쓰기 자바스크립트의 특성상 같은 함수 이름이 들어가 있을 경우 나중의 함수가 호출된다.이를 막기 위해 네임스페이스(namespace) 개념을 도입하면 된다. var Utils={};Utils.debug=function(){…}; 하지만,실수로 코드를 덮어쓰는 것을 막기 위해 힘쓰지만 의도적으로 덮어쓰면 자신의 원하지 않게 동작하거나 멈출 수 있다.그림 > 같은 범위의 같은 이름으로 선언되었을 때 마지막에 선언된 함수가 전에 선언된 함수를 덮어쓴다.그림 7-2>분리된 네임스페이스는 자바스크립트 라..

ASP.NET AJAX 와 jquery 의 함께 사용하기 #1

PageMethod 를 직접호출해도 되지만, 번거롭게 jquery 를 사용하는 이유는 뭘까? 왠지 있어보여서 ?jquery에서 호출할 WebMethod를 선언한다. GetServerDate 메서드는 단순 오늘날짜를 반환하는 기능과 주석을 해제하면 아무 이유없이 서버날짜를 반환못하겠다는 에러를 던져버리는 기능. GetServerObject 는 정말정말 단순한 엔티티 클래스 인스턴스를 반환하는 기능을 정의한다. view sourceprint?01.public partial class TestPageMethod : System.Web.UI.Page 02.{ 03.    [WebMethod] 04.    public static string GetServerDate() { 05.        // throw n..

ASP.NET AJAX 와 jquery 의 함께 사용하기 #2

DataSet 을 PageMethod에서 JSON 개체로 반환한다. view sourceprint?01.function Button1_Click() { 02.    $.ajax({ 03.        type: "POST", 04.        url: "TestPageMethodDataSet.aspx/PageMethodDataSet", 05.        data: "{}", 06.        contentType: "application/json; charset=utf-8", 07.        dataType: "json", 08.        success: function(response) {  09.        // response.d.length // Row Count 10.       ..

소수점이하 잘라 버리는 방법

수치 소수점 이하 값을 버리려면 Math클래스의 정적 메소드 Floor를 사용하고 반올림할 경우에는 Ceiling을 사용합니다. 즉, Floor는 마지막 수가 작은 값이면 잘라버리고 Ceiling은 보다 큰 값이면 반올림한다는 것입니다. 사용방법은 아래와 같습니다. Math.Floor(Decimal) Math.Ceiling(Decimal) 파라미터에 Decimal형을 사용하는데 이는 .NET Framework 2.0이후부터 지원하게 되었고 Double형도 사용할 수 있습니다. using System; using System.Collections.Generic; using System.Text; namespace Math1 { class Program { static void Main(string[] ar..

ThreadPool에서 사용 가능한 Thread의 개수는?

ThreadPool에서 사용 가능한 Thread의 개수는? 이번에는 이전에 소개한 ThreadPool에 관한 번외 글(?) 이라고 할 수 있는데요. 혹시 ThreadPool에서 사용 가능한 Thread의 최대 개수가 얼마인지 아시나요? 아마 이 글을 읽는 분들 중에는 “엇! 그거 모르는데~” 또는 “뭐야! 그거 대략 몇 개인데, 사용 환경에 따라 설정할 수 있잖~앗!”라고 말씀하시는 분들도 계실 것입니다. 엇! 벌써 질문에 대한 답이 거의 나왔네요… -_-; 네 맞습니다. ThreadPool에서 사용가능한 Thread의 최대 개수는 사실 개발 환경에 따라 설정이 가능합니다. 하지만 ThreadPool은 기본적으로 25개의 Thread를 생성 할 수 있습니다. 음 그런데, 저 25란 숫자에 대해서 어떻게 ..

외부 라이브러리에서 Javascript 인텔리센스 활성화 하기

외부 라이브러리에서 Javascript 인텔리센스 활성화 하기 Visual Studio 에서 추가된 기능입니다. 기존에 html(aspx) 페이지에서 팁이라면 팁이 되겠네요. Web Resources 의 경우 큰 고민마시고, 파일 경로를 쓰시면 될 것 같습니다. 쩝… 2008-09-03 UPDATE ---------------------------------------------------- 아래 댓글 달아주신 남정현님 말씀처럼 /// 이런 방법이 있었네요^^ 감사합니다. http://blogs.msdn.com/webdevtools/archive/2007/11/06/jscript-intellisense-a-reference-for-the-reference-tag.aspx 근데 잘 되지 않는군요;; 쩝^^..

플래시 결제를 통해 ActiveX를 빠져나가보자. 이니페이 플래시 2.0

전자결제시스템 제공업체인 이니시스가 비 윈도 시스템, 비 IE 웹브라우저를 위한 새로운 전자결제시스템인 이니페이 플래시 2.0(INIPay Flash 2.0)을 내놓았다. 기존의 전자결제시스템인 INIPay나 다른 결제 시스템은 대부분 ActiveX 기반인데 비해 이 INIPay Flash 2.0은 이름 그대로 플래시 기반이다. 이 시스템이 가지는 의미는 무엇일까? 일반적으로 전자금융시스템은 윈도 기반에 IE에서 ActiveX를 이용해서 처리되는 것이 거의 통념으로 작용해왔다. 현재 한국에서 사용되고 있는 결제모듈, 보안모듈은 대부분이 ActiveX 기반이며 이로 인해서 리눅스, 맥 사용자와 IE가 아닌 FF나 사파리, 오페라 사용자들은 제대로 된 금융서비스를 받지 못했다. 하지만 이제는 플래시를 통해서..

소프트웨어 2008.09.13