Posted
Filed under 프로그래밍

PHP 소스를 압축한다? ㅋㅋㅋㅋ
PHP소스의 주석과 공백을 제거해주는 펑션도 있다.
역시 PHP는 내장 펑션만으로도 너무 훌륭해.

http://www.php.net/manual/en/function.php-strip-whitespace.php


<?php
// PHP comment here
/*
 * Another PHP comment
 */
echo        php_strip_whitespace(__FILE__);
// Newlines are considered whitespace, and are removed too:
do_nothing();
?> 



<?php
echo php_strip_whitespace(__FILE__); do_nothing(); ?>

2013/02/19 11:34 2013/02/19 11:34
Posted
Filed under 프로그래밍
프로젝트 초반부터 WBS작성을 해야할때가 있다.
근데 WBS가 무슨 약자인지 궁금할때도 있다?

WBS : Work Breakdown Structure, 작업분해

2013/02/19 11:28 2013/02/19 11:28
Posted
Filed under 프로그래밍
뭐 협업하다보면 이런 단어들 많이 사용한다.
기본적인건 알고있어야 한다

Availability : 가용성
Scalability : 확장성
Consistency : 일관성
dependency : 종속성
2013/02/19 11:26 2013/02/19 11:26
Posted
Filed under 프로그래밍/PHP
function __construct(){
생성자
}

function __destruct(){
소멸자
}

class명과 같은 function은 __construct 다음에 실행



<?
class BaseClass {    //부모클래스[BaseClass]
     function __construct()
     {
         print "BaseClass 클래스의 constructor(생성자)\n";
     }
     function __destruct()
     {
         print "BaseClass 클래스의 destructor(소멸자)\n";
     }
}
class SubClass extends BaseClass {  //상속받은 클래스[SubClass]
     function __construct()
     {
         parent::__construct();
         print "SubClass 클래스의 constructor(생성자)\n";
     }
     function __destruct()
     {
         parent::__destruct();
         print "Subclass 클래스의 destructor(소멸자)\n";
     }
}

$obj=new SubClass;  //상속받은 클래스 호출
?>
2013/02/19 11:22 2013/02/19 11:22
Posted
Filed under 프로그래밍

jsonp를 사용하면 된다.
console 메세지는 크롬 디버그 화면 console에서 확인할수 있다.

  var addrStore1 = new Ext.data.JsonStore(
  {
    fields: ["sido","code"],
    proxy: {
     type: 'jsonp',
     url: 'http://x.x.x.x/list',
      reader: {
      type: 'json',
      }
    },
   autoLoad: true,
   listeners: {
    load: function() { 
         console.log(this.first().data.code);
    }
   }
  });

2013/02/19 11:09 2013/02/19 11:09
Posted
Filed under 프로그래밍
다른 Cls들은 style class명을 맘대로 사용할수 있었다.
근데 focusCls이넘만 반영이 안되는것이다. 쩝....
찾아보니 focusCls는 패키지명을 붙여야 하는 버그가 있단다. (버그맞나?)

.x4-field-li-focusClass {
background: #CFF0F5 !important;
border: 1px solid #6AB2BB;
}


이런형태로 클래스를 만들어야 하고
focusCls에는 li-focusClass라고 넣어줘야 한다.

.x4-field- 는 고정이라는 얘기다. (x4는 패키지명)

2013/02/15 09:13 2013/02/15 09:13
Posted
Filed under 프로그래밍
lastSelection 이부분임
raw는 store의 데이타를 part1은 데이타안에 들어있는 컬럼임
Ext.getCmp는 프로젝트를 통틀어서 id를 찾아줌 아주 유용~

     listeners: {
      click: function() {
       console.log(Ext4.getCmp('addrcombo').lastSelection[0].raw.part1+' '+Ext4.getCmp('addrcombo').lastSelection[0].raw.part2);
      },
     }
2013/02/13 17:54 2013/02/13 17:54
Posted
Filed under 프로그래밍/JAVA

퍼온거임

#set ( $a = “Velocity” )
-
## This is a single line comment.
#* This is a single line comment. *#
-
$customer.getAddress()
$purchase.getTotal()
$page.setTitle( “My Home Page” )
$person.setAttribute( [“Strange”, “Weird”, “Excited”] )
-
${mudslinger}
${customer.Address}
${purchase.getTotal()}
-
#set( $monkey = $bill ) ## variable reference
#set( $monkey.Friend = "monica" ) ## string literal
#set( $monkey.Blame = $whitehouse.Leak ) ## property reference
#set( $monkey.Plan = $spindoctor.weave($web) ) ## method reference
#set( $monkey.Number = 123 ) ##number literal
#set( $monkey.Say = ["Not", $my, "fault"] ) ## ArrayList
#set( $monkey.Map = {"banana" : "good", "roast beef" : "bad"}) ## Map
-
ArrayList의 예제인 $monkey.Say는 $monkey.Say.get(0)과 같은 식으로 배열의 바로 필요한 열의 값을 가져올수 있다. Map의 예제인 $monkey.Map은 $monkey.Map.get(“banana”) 혹은 $monkey.Map.banana와 같은 방식으로 값을 가져올 수 있다.
-
#if( $foo < 10 ) <strong>Go North</strong>
#elseif( $foo == 10 ) <strong>Go East</strong>
#elseif( $bar == 6 ) <strong>Go South</strong>
#else <strong>Go West</strong>
#end
-
#foreach( $product in $allProducts )
    <li>$product</li>
#end
“$allProducts”는 Vector, HashTable, Array 의 변수형이 사용될 수 있다.
-
HashTable의 경우 다음과 같은 방법으로 값을 출력할 수 있다.
<ul>
    #foreach( $key in $allProducts.keySet() )
        <li>Key: $key -> Value: $allProducts.get($key)</li>
    #end
</ul>
-
해당 파일 안에 VTL문법이 있더라도 파싱 되지 않고 문자열로 인식하게 된다.
#include( "one.txt" )
#include( "one.gif","two.txt","three.htm" )
#include( "greetings.txt", $seasonalstock )
-
#parse 지시자는 Include와 동일하지만 Velocity Template Engine이 파싱을 하여 그 결과물을 출력한다는 점이 다릅니다
Count down.
#set( $count = 8 )
#parse( "parsefoo.vm" )
All done with dofoo.vm!
-
#stop 지시자는 현재의 줄에서 템플릿 파싱을 중단한다. 디버깅시 유용하게 활용될수 있다.
#stop

 

2013/01/10 11:27 2013/01/10 11:27
Posted
Filed under 프로그래밍/PHP
https://github.com/phpDocumentor/fig-standards/blob/master/proposed/phpdoc.md#7-describing-hashes

Tags

Tags are single words prefixed by a "@" symbol. Tags inform parsers how to present information and modify display of documentation as well as allow the IDE to define variable types. All tags are optional, but if you use a tag, they do have specific requirements to parse properly.

Common tags
Tag Usage Description
@abstract   Documents an abstract class, class variable or method.
@access public, private or protected Documents access control for an element. @access private indicates that documentation of element be prevented.
@author author name <author@email> Documents the author of the current element.
@copyright name date Documents copyright information.
@deprecated version Documents a method as deprecated.
@deprec   Same as @deprecated
@example /path/to/example Documents the location of an external saved example file.
@exception   Documents an exception thrown by a method — also see @throws.
@global type $globalvarname Documents a global variable or its use in a function or method.
@ignore   Prevents the documentation of an element
@internal   Private information for advanced developers
@link URL  
@name global variable name Specifies an alias for a variable. For example, $GLOBALS['myvariable'] becomes $myvariable
@magic   phpdoc.de compatibility "phpDocumentor tags". http://manual.phpdoc.org/HTMLframesConverter/default/phpDocumentor/tutorial_phpDocumentor.howto.pkg.html.
@package name of a package Documents a group of related classes and functions.
@param type [$varname] description  
@return type description This tag should not be used for constructors or methods defined with a void return type.[citation needed]
@see element Documents an association to any element (global variable, include, page, class, function, define, method, variable).
@since version Documents when a method was added to a class.
@static   Documents a static class or method
@staticvar type Documents a static variable's use in a function or class
@subpackage    
@throws   Documents an exception thrown by a method.
@todo   Documents things that need to be done to the code at a later date.
@var type A data type for a class variable
@version   Provides the version number of a class or method.

In addition, some parsers allow two additional inline tags: {@id}, used to allow direct linking to sections in a tutorial, and {@toc}, used to generate a table of contents from {@id}s in the file. Think of {@id} like an <a name="idname"> HTML tag as it serves the same function.

For more in depth discussion of PHPDoc tags, see http://manual.phpdoc.org/HTMLSmartyConverter/PHP/phpDocumentor/tutorial_tags.pkg.html

2012/11/16 18:04 2012/11/16 18:04
Posted
Filed under 프로그래밍

얼마전 구글에서 Maps Tracks API를 발표했군요  
API는 존재하는데 Services에는 API가 없길래 구글에 문의해보니 유료군요
Experimental라서 아직 공개를 안하는건지...흠

https://developers.google.com/maps/documentation/business/tracks/


API문서를 보니 Geofences 라는 항목이 눈에 띄더군요
경계를 정해서 그 안에 들어가거나 나올때 알람을 해주는 기능인데 Tracks API이
선박,항공,자동차,물류... 등으로 관제를 주타켓으로 하고 있네요
그래서 그런지 Entities 생성 예제도 자동차로 되어있고 type항목도
AUTOMOBILE,TRUCK,WATERCRAFT,PERSON 으로 정해져있습니다.

http://en.wikipedia.org/wiki/Geo-fence


한번 사용해 보고 싶었는데 아쉽네요.

2012/11/16 15:15 2012/11/16 15:15
Posted
Filed under 프로그래밍/아이폰

아 진짜...이거 한참 찾았다...어째 아이폰은 업그레이드마다 전에 됐던게 하나씩 안돼냐
ajax로 메세지를 계속 못가지고 오길래 한참을 찾았다....
뭐 자료가 없어 구글에도 거의 없다.

하나씩 다 까서 해봤더니
createRequest.open에서 안돼는건 찾았는데
원인이 뭘까 한참 생각해봤다.
혹시 ios 사파리가 같은걸 계속 호출하면 캐싱같은걸 해서 안가지고 오나?
그래 한번 해보자

createRequest.open(mode,url+'&'+ Date.now(),true);

그렇다 Date.now로 url을 계속 틀리게 했더니 됀다..ㅡㅡ;;
아쒸 처음부터 안되게 하든가..왜 ios6부터 안되게 하는거야!!

var date=new Date;
createRequest.open(mode,url+'&'+ Date.now(),true);



2012/11/03 21:16 2012/11/03 21:16
Posted
Filed under 프로그래밍

weight : 가중치 (default:1)
max_fails : 연결 재시도 횟수 (default:1회)
fail_timeout : 죽은서버 복귀시간 (default:10초)
down : 이서버는 밸런싱에서 제외

backup : 모든 서버가 죽었을때만 사용하는 서버


 ip_hash : 하나의 사용자는 하나의 서버를 호출한다.


http {

  upstream myproject {
    ip_hash;

    server 127.0.0.1:8001
    server 127.0.0.1:8000 weight=3 max_fails=3  fail_timeout=30s;
    server 127.0.0.1:8001 down;
    server 127.0.0.1:8002 max_fails=3  fail_timeout=30s;
    server 127.0.0.1:8003 max_fails=3  fail_timeout=30s;
  }
 
  server {
    listen 80;
    server_name www.domain.com;
    location / {
      proxy_pass http://myproject;
    }
  }
}


http://wiki.nginx.org/HttpUpstreamModule

2012/10/24 13:57 2012/10/24 13:57
Posted
Filed under 프로그래밍
Memcached 에 저장된 정보는 다음의 경우가 발생할때까지 영구 보관됩니다.
 
1.Memcached 셧다운
2.캐쉬 메모리 고갈
3.항목의 만료

2012/09/03 11:36 2012/09/03 11:36