반응형
http://allofsoftware.net/entry/문서가-없으면


확실히 살아있는 문서를 관리하는게 상당히 힘든걸 또 다시 깨닫고 있게 됩니다. 그런 이유에서 doxygen과 같이 소스코드를 문서화에 포함하는 게 아닐까 싶기도 하구요 ^^
반응형
반응형
유저가 한번 인증을 받기만 하면, 허가되어 있는 모든 기능을 이용 가능한 시스템

네트워크에 접속 된 단말을 사용하는 경우,
단말의 부팅시 한번,
LAN 접속시 한번,
서버 접속에 한번,
서버 상의 어플리케이션을 작동 시에 한번......
이런식으로 몇번이고 패스워드와 ID를 입력하는 경우도 발생할 수 있다.
이러한 절차를 생략하고, 한번 인정되면 모든 유저인증을 생략 하도록 하는 기능이
 싱글 사인온이다.

  Windows NT나 UNIX에도 이전부터 도입되어 있던 기능이지만,
패스워드를 요구하는 Web사이트의 증가,
네트워크의 대규모화에 따라 최근 그 수요가 늘어나고 있다.

 이러한 기능을 가지고 있는 어플리케이션도 발매되고 있지만,
 어플리케이션이 패스워트 요구화면을 판단하여
등록된 ID와 패스워드를 대리 등록하는 수법이 쓰여지고 있다.
반응형
반응형
윈도우 7에서 인터넷 공유하기 - http://www.connectify.me/
Connectify Your Personal Wi-Fi Hotspot

Wi-Fi Hotspot for Windows

Connectify for Windows

With Connectify you can share expensive airport Wi-Fi with co-workers, create a wireless hotspot in your ethernet-only hotel or dorm room, even extend the range of your home router. Download Connectify Today from CNET's Download.com!

반응형
반응형


디퍼런트 Different (양장)
국내도서>경제경영
저자 : 문영미(Youngme Moon) / 박세연역
출판 : 살림biz 2011.01.25
상세보기


부자 중국 가난한 중국인
국내도서>경제경영
저자 : 랑셴핑 / 이지은역
출판 : 미래의창 2011.02.15
상세보기


사람의 마음을 얻는 법
국내도서>경제경영
저자 : 김상근
출판 : 21세기북스(북이십일) 2011.06.15
상세보기


생각하지 않는 사람들
국내도서>경제경영
저자 : 니콜라스 카(Nicholas Carr) / 최지향역
출판 : 청림출판 2011.02.19
상세보기


전을 범하다
국내도서>인문
저자 : 이정원
출판 : 웅진지식하우스 2010.11.01
상세보기


반응형
반응형
현재의 3세대(3G) 이동통신보다 무선인터넷 속도가 10배 이상 빠른 이동통신 기술. 유선 초고속인터넷과 비슷한 속도로 고화질 동영상 서비스 등을 이용할 수 있다. 올 하반기부터 서울 등 대도시에서 상용 서비스된다.

4G 서비스는 유럽의 통신업체가 주도해 개발한 'LTE(Long Term Evolution)'란 기술이 전 세계 표준으로 자리 잡고 있다. LTE란 3G를 '장기적으로 진화시킨 기술'이라는 뜻에서 붙여진 명칭이다.


반응형
반응형
사용자 정의 플러그인으로 jQeury 확장하기

jQuery를 사용하면 페이지에 특정코드 스타일을 사용하게 되는데, 엘리먼트를 확장 집합의
형태로 표현하고 jQuery 커맨드나 커맨드체인을 확장 집합에 사용하는 코드 스타일을 자주 쓰게 된다. 물론 자신만의 코드를 작성할 때는 마음대로 코드를 작성할 수 있다.

자신만의 코드를 패턴화하여 jQuery 확장으로 만들면 좋은 이유는 사이트 전체에 일관된 코드 스타일을 유지하는데 도움을 주고, 재사용이 가능하며, jQuery 가 제공하는 기반코드를 확용할 수 있다.

플러그인이 다른 jQuery 플러그인이나 자바스크립트 라이브러리와 충돌하지 않고 잘 동작하는지가 확실하게 보장되기 위해 알려진 일반적인 지침을 사용한다.

이름을 충돌하지 않도록 만드는 방법은
* 접두어로 jquery. 를 사용한다.
* 이어서 플러그인 이름을 적는다.
* .js 로 파일 이름을 끝맺는다.
예를 들어서 jquery.ngio.js

 그리고, jQuery 대신 $ 를 사용하는 편이 훨씬 편한데, 충돌을 피하기 위해 $ 대신 jQuery를
사용하는 것이다.  하지만 $ 쪽이 훨신 편리하기에 포기하고 싶지 않다.
그래서, $ 라는 매개변수를 정의한 함수에 jQuery를 전달하면  $는 함수 안에서 jQuery의 참조임이 보장된다.
(function($) {
//
//
//  여시에 플러그인을 정의한다.
//
})(jQuery);'

복잡한 매개변수 목록을 단순하게 만들기.
플러그인은 대부분 매개변수를 몇 개만 요구할 정도로 단순하다. 선택적인 매개변수가 생략되면 적절한 기본값이 제공되며,매개변수가 생략되면 매개변수의 순서에 내포된의미도 변경된다.

    function complex(p1,p2,p3,p4,p5){
이 함수는 매개변수가 5개인데, 이 중에 첫 매개변수를 제외한 모든 매개변수가 선택사항일 경우, 선택적인 매개변수가 너무 많다면 매개변수가 생략되었을 때 호출자의 의도를 합리적으로 추측하기가 어려워진다. 이 함수의 호출자가 마지막 매개변수만 생력했다면 마지막 선택적 인수를 null 값으로 확인할수 있기 때문에 문제되지 않지만,
but 호출자가 p5를 명시하고 p2~p4 까지는 기본값으로 지정하고 싶은 경우엔 호출자는 생략된 매개변수 부분에 생략표시를 하고 다음과 같이 작성해야 한다.
     complex(valueA, null, null, null, valueB);

위와 같은 경우 null 과 매개변수의 순서를 주의깊게 봐야하는 단점이 있다.
일반적으로 이러한 문제를 해결하는 데 선택사항의 해기(option hash)를 많이 사용한다.
 선택사항의 해시를 사용하면 선택적인 매개변수 정보를 이름/값 쌍 형식의 프로퍼티로
가지는 자바스크립트의 Object 인스턴스로 전달한다.
    complex( valueA, { p5:valueB } );
  또는
    comlplex( valueA, {
       p3 : valueC,
       p5 : valueD
    } );

위와 같은 방법을 사용하면 null을 사용하여 생략된 매개변수를 표시할 필요가 없고 매개변수의 개수를 세지 않아도 된다.
필수 매개변수 하나와 선택항목을 여섯 개 가진 복잡한 함수 예제를 다시 살펴보자
    complex(p1, options)
함수 내에서 $.extend() 유틸리티 함수를 사용해 기본값에 전달된 옵션을 합칠 수 있다.
    function comlex( p1, options ){
        var settings = $.extend({
            option1: defaultValue1 ,
           option2: defaultValue2 ,
           option3: defaultValue3 ,
           option4: defaultValue4 ,
           option5: defaultValue5 ,
           option6: defaultValue6 
         , options || { } );
         // 함수의 나머지 부분
    }
settings 변수는 페이지 개발자가 options 매개변수로 전달한 값과 기본값을 합친 값을 가진다. 주목할 점은 ||{}를 사용하여 options 객체가 null이거나 undefined 인지를 확인하고 있다는 것이다. 만약 options 변수가 false라면 (null과 undefined는 조건식에서 false이다) 빈 객체가 사용된다.

ex)
 $.say = function(what) { alert( 'I say ' + what ); }

jQuery.say = function(what) { alert( 'I say ' + what ); }

(function($) {
    $.say = function(what) { alert( 'I say ' + what ); }
}) (jQuery);

## 데이터를 조작하는 유틸 함수 만들기
고정폭으로 숫자 값을 표시하려면 숫자 값과 고정폭 필드(폭은 문자의 수로 정의)에 맞는 형식이 필요하다. 대개 이러함 형식은 값을 고정폭 필드에 우측 정렬시키고 값의 길이와 필드의 길이 차이를 조정하기 위해 채움 문자( fill character )로 앞 여백을 채운다.

함수 문법 : $.toFixedWidth
$.toFixedWidth( value, length, fill )
 : 매개변수 - value (Number) 형식화될 값
                   - length (Number) 결과 필드의 길이
                   - fill (String) 앞 단의 값을 채울 채움 문자, 생략하면 0을 사용한다.

(function($){
    $.toFixedWidth = function( value, length, fill ){
        var result = value.toString();
        if( !fill ) fill = 0;
        var padding = length - result.length;
        if( padding < 0 ){
            result = result.substr(-padding);
        }
        else{
            for(var n = 0; n < padding; n++)
                result = fill + result;
        }
        return result;
    };
})(jQuery);






반응형
반응형
소프트웨어 개발? 웹 사이트 구현? 정도(正道)는 무엇인가?

개발자가 자리에 앉아서 근무하는 시간에 비례해서 개발OUTPUT이 잘 나오는걸까?
근무시간에 비례해 성과가 잘 나온다면 공장에서 단순작업하는 것과 다른 것이 무엇인가?
아침일찍 나와서 밤 늦게 들어가야 일한거 같고, 주말에라도 나와서 책상 차지하고 있어야 열심히 하는 것이라고 믿는다면, 그것이 소위 말하는 개발환경이라는 것인가?
개발에 몸담은지 10년이 다되어 가는데 아직도 그런 마인드가 갑/을을 떠나서 만연해있는데,  소위 요즘 말하는 smart 라는 단어를 사용하기 부끄럽지 아니한가?
UX 라는 말을 잘들 사용하지만, 사용자환경이란 실제 완성된 프로그램 혹은 웹사이트를
사용하게 되는 사용자층을 겨냥해야 하는 것이라 생각하는데  그 사용자층이 되어 보려고
노력은 해봤는지 의문스럽다.

고객이 정말 원하는게 무엇인지 유도해내는 것이 최우선이 아닐까? 그 다음에 구현이 있고~
아키텍쳐라는 개념은 아직 자리잡기 어려운 것일지도 모른다.
문서에 문서를 더하면 프로젝트가 완료되는 것이 아닌데, 문서의 노예가 되어가는 갑/을 구조는 참 2011년, 이 시점에서 너무 잘 어울리는 것일지도 모른다.

실용주의를 생각해야 할 것이다. 언제나 그러하듯 필요에 의해서 세상은 바뀌는것이기때문에~

프로젝트에 필요한건 정확한 일정을 예측해서, 체계적인 개발 방법을 유도하고, 합리적으로 일정을 이끌어 가는 것? ㅎㅎㅎ

반응형
반응형

jQuery Alert Dialogs (Alert, Confirm, & Prompt Replacements)

http://abeautifulsite.net/blog/2008/12/jquery-alert-dialogs/

Overview

This jQuery plugin aims to replace the basic functionality provided by the standard JavaScript alert(), confirm(), and prompt() functions. What’s the benefit of using custom methods? Well, a few good reasons, really.

Implementation

Include the following in the <head> section of your HTML document(s):

<!-- Dependencies -->
<script src="/path/to/jquery.js" type="text/javascript"></script>
<script src="/path/to/jquery.ui.draggable.js" type="text/javascript"></script>
<!-- Core files -->
<script src="/path/to/jquery.alerts.js" type="text/javascript"></script>
<link href="/path/to/jquery.alerts.css" rel="stylesheet" type="text/css" media="screen" />

Make sure you update the path to the respective files. If you are already using the jQuery UI Draggable plugin (including the UI core), simply omit the link to jquery.ui.draggable.js.

For IE to display the dialogs properly, you’ll also need to make sure that you’re using Standards Mode.  Just add the appropriate DTD at the very top of your page:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Usage

This plugin utilizes the $.alerts namespace, but there are three built-in shortcut functions that make implementation easier:

  • jAlert(message, [title, callback])
  • jConfirm(message, [title, callback])
  • jPrompt(message, [value, title, callback])

Unlike their native JavaScript counterparts, you can use HTML in the message parameter. To specify a newline, you can use either \n or <br />.

These methods do not return the same values as confirm() and prompt(). You must access the resulting values using a callback function. (See the demo for more details.)

Compatibility

This plugin requires jQuery 1.2.6 or above and has been tested to work in the following browsers:

  • Internet Explorer 6 & 7
  • Firefox 2 & 3
  • Safari 3
  • Chrome
  • Opera 9

Known Issues

  • ENTER and ESC keys (to accept/cancel) don’t work in WebKit browsers
  • The draggable plugin doesn’t currently work in Opera
  • IE6 acts a bit differently as position: fixed isn’t supported.
반응형

+ Recent posts