디자인2012. 3. 28. 00:31

'디자인' 카테고리의 다른 글

무료 폰트 모음 사이트  (0) 2012.04.22
최신 트렌드 적용한 핫 사이트 모음  (0) 2012.03.28
괜찮은 아이콘 디자인 사이트2  (0) 2012.03.28
Posted by 미랭군
HTML52012. 3. 27. 23:35

 

var poohstore = Ext.getStore("PoohStore");
  
poohstore.getProxy().setExtraParams({
    POOH_PARAM1: value
});

 

//아래와 같은 방법으로도 가능은 하나 비추

//poohstore.getProxy().setUrl(http://~.action?param=xxx);

 

poohstore.load(...);


 

위와 같이 extraParams를 통해서 전달하면 된다.

 

하지만 이걸 쓸 땐 Tomcat Setting을 변경해줘야 한다.

 

테스트해본 결과 type을 json으로 줬는데도 불구하고 GET방식으로 요청을 넘기는 듯 하다.

 

GET은 URI기반으로 parameter를 넘기기 때문에 URI를 encoding해줘야한다.

 

sever.xml에서 connector 콘피그 내에 URIEncoding="UTF-8"로 변경해주면 한글이 깨지지 않는다.

 

받는 쪽에선 request.getParameter("POOH_PARAM1")으로 받아서 쓰면 된다.

 

이상 끗.

 

Posted by 미랭군
기타2012. 3. 12. 20:30

Eclipse에 설치된 plug-in을 삭제하시려면 아래처럼 하시면 됩니다.

- Eclipse 상단의 "Help" 메뉴 선택

- "About Eclipse" 항목 선택
- "Instaallation Details" 버튼 선택
- 제거할 plug-in 선택 후 아래의 "Uninstall.." 버튼 선택

- Eclipse 재시작후 삭제 확인

'기타' 카테고리의 다른 글

SVN(subversion) branches, tags, trunk 에 대한 개념  (0) 2012.11.05
앱 개발 시 유념해야할 내용들..  (0) 2012.11.05
이클립스 한글 폰트 문제  (0) 2012.02.15
SVN 파일 삭제  (0) 2012.02.13
대용량 excel export  (0) 2012.02.09
Posted by 미랭군
데이터베이스2012. 3. 7. 17:26

SELECT u.tablespace_name "tablespace_name",
 u.file_name,
       u.bytes / 1024000 "Size(MB)",
       trunc( (u.bytes - sum(nvl(f.bytes,0))) / u.bytes * 100, 2) "Used(%)"
FROM DBA_FREE_SPACE f, DBA_DATA_FILES u
WHERE f.file_id(+) = u.file_id
GROUP BY u.tablespace_name, u.file_name, u.bytes
ORDER BY u.tablespace_name;
Posted by 미랭군
HTML52012. 3. 2. 15:47

1. 프레임워크 로딩 부분이 변경되었습니다.

2. views, models, stores 구성 옵션
이전 버전에서는 각 컨트롤러에서 views, models, stores 구성 옵션을 정의하였는데, RC 버전에서는 app.js에 모두 정의하도록 변경되었습니다. 물론 컨트롤러에서도 정의할 수 있는데, Sencha Touch 개발 팀에서 각 컨트롤러에 정의하면 컨트롤러가 뷰와 모델에 종속된다고 해서 될 수 있다면 app.js에서 정의하도록 권장하고 있습니다. 또한 getXXXView() 메소드와 getXXXModel() 메소드, getXXXStore() 메소드는 자동적으로 생성되지 않습니다. 컨트롤러의 refs 구성 옵션으로 별도로 정의하셔야 합니다.

3. Controller 참조 얻기
이전 버전에서는 this.getController() 메소드를 사용하였으나, RC 버전에서는 this.getApplication().getController() 메소드를 사용해야 합니다.

4. Controller 클래스 작성시 변경 사항
1) refs 구성 옵션은 더이상 배열([ ])이 아닙니다. 객체({})로 정의해야하며 refName: {...} 구성 옵션들을 가질 수 있습니다. getRefName() 메소드가 생성되는 것은 동일합니다.

5. View 클래스 작성시 변경 사항
1) requires 구성 옵션으로 로딩이 필요한 클래스를 지정합니다.
2) xtype을 반드시 명시하셔야 합니다.
3) 컨트롤러의 refs 속성을 위해 id 가 반드시 있어야 합니다.
4) navigationbar가 titlebar로 변경되었습니다.
Posted by 미랭군
HTML52012. 2. 24. 13:22
요 근래 들어 HTML5가 핫이슈인 것 같긴 하다.

FLEX를 주력으로 했으나..확실히 글로벌 트랜드라는 큰 흐름에는 어쩔 수 없는 듯하여..

요새 나도 조금씩 HTML5에 손대고 있는 중이다.

뭐 크게 달라진 것은 없는 듯 하다..

Flash에서 stage에 Sprite객체를 addchild해서 ActionScript3로 된  graphics객체로 그림을 그리는 거나..

HTML5에서 canvas 태그에 js에서 확장된 api로 그림을 그리는 거나..

허나 AS3를 접한 상태서 js를 다시 하려니 뭔가 기술적 퇴보가 느껴지는 건 어쩔 수 없는 부분이다..

 <!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title> HTML5 Document </title>
  <script type="text/javascript">
   window.addEventListener("load", eventWindowLoaded, false);

   var Debugger = function() {};

   Debugger.log = function(message) {
    try{
     console.log(message);
    }catch(exception){
     return;
    }
   }

   function eventWindowLoaded()
   {
    canvasApp();
   }
   
   var theCanvas;

   function canvasApp()
   {
    theCanvas = document.getElementById("canvasOne");

    if(!theCanvas || !theCanvas.getContext){
     return;
    }

    drawScreen();
   }

   var canvasWidth = 200;
   var canvasHeight = 267;
   var width = 125;
   var height = 105;
   var padding = 25;
   var lineWidth = 8;
   var innerBorder = 5;
   var primaryColor = "#ffc821";
   var secondaryColor = "#faf100";
   var tertiaryColor = "#dcaa09";

   function drawScreen()
   {
    var context = theCanvas.getContext("2d");

    var width = 125;
    var height = 100;
    var padding = 20;

    // Create a triangluar path
    context.beginPath();
    context.moveTo(padding + width/2, padding);
    context.lineTo(padding + width, height + padding);
    context.lineTo(padding, height + padding);
    context.closePath();

    // Create fill gradient
    var gradient = context.createLinearGradient(0,0,0,height);
    gradient.addColorStop(0, primaryColor);
    gradient.addColorStop(1, secondaryColor);
     
    // Add a shadow around the object
    context.shadowBlur = 10;
    context.shadowColor = "black";
     
    // Stroke the outer outline
    context.lineWidth = lineWidth * 2;
    context.lineJoin = "round"; 
    context.strokeStyle = gradient;
    context.stroke();
     
    // Turn off the shadow, or all future fills will have shadows
    context.shadowColor = "transparent";
     
    // Fill the path
    context.fillStyle = gradient;
    context.fill();
    
    // Add a horizon reflection with a gradient to transparent
    gradient=context.createLinearGradient(0,padding,0,padding+height);
    gradient.addColorStop(0, "transparent");
    gradient.addColorStop(0.5, "transparent");
    gradient.addColorStop(0.5, tertiaryColor);
    gradient.addColorStop(1, secondaryColor);
    
    context.fillStyle = gradient;
    context.fill();
     
    // Stroke the inner outline
    context.lineWidth = lineWidth;
    context.lineJoin = "round"; 
    context.strokeStyle = "#333";
    context.stroke();
    
    // Draw the text exclamation point
    context.textAlign = "center";
    context.textBaseline = "middle";
    context.font = "bold 60px 'Times New Roman', Times, serif";
    context.fillStyle = "#333";

    try{
     context.fillText("!", padding + width/2, padding + height/1.5);
    }catch(ex){}
   }
  </script>
 </head>
 <body>
  <canvas id="canvasOne" width="165" height="165">
   Your browser does not support HTML5 Canvas
  </canvas>
 </body>
</html>


Posted by 미랭군
HTML52012. 2. 22. 13:17


Server Side Javascript - node.js
  link1: http://kimddochi.tistory.com/entry/nodejs-nodeJs란-hello-world
  link2: http://blog.outsider.ne.kr/category/node.js

HTML5 IDE - Adobe Edge, Aptana studio 3 or Eclipse plug-in, Appspresso

M/M Grid - SlickGrid
  link1: http://jquerystyle.com/2010/09/02/slickgrid
  link2: http://nextgensim.info/grids

Default js lib - JQuery Mobile, Sencha Touch and JQTouch
 
  * SVG lib Sencha에 포함됨
  link1: http://raphaeljs.com/icons/#feed
  * 전자정부 모바일 프레임웍
  link2: http://www.egovframe.go.kr/html/egovframework/mbl/mguide/mguide.html
  * Flex개발자를 위한 Sencha Guide
  link3: http://pages.sencha.com/flex-to-sencha.html
  * JQuery - 심플하면서도 가벼움 plug-in 방식
  link4: http://jquery.com/
 * JQTouch는 위에 두 lib에 비해 뒤쳐짐
  link5: http://www.jqtouch.com/

Brower별 HTML5 호환성 정보
  link1: http://www.findmebyip.com/litmus

자체 결론

Native App 개발 시 Sencha Touch 유리
Mobile 개발 시 JQuery Mobile 유리

Posted by 미랭군
기타2012. 2. 15. 11:50

플래시빌더4.6으로 업그레이드하면서

이클립스를 인디고로 바꿨는데..

이건... 한글이 너무 작게 나오네요..


주석에 적었지만 딱 보기에도 한글과 영문, 숫자의 크기가 확 다르죠..

주석만이 아니라 실제로 코드에서도 동일합니다..

이 문제가 폰트 때문에 그러는데요..

문제를 안다면 고쳐야죠..

상단 메뉴에 Window > Preferences 를 실행하세요..


해당 화면이 뜬다면 위처럼...

General > Appearance > Colors and Fonts를 선택하시면 오른쪽의 화면이 뜹니다..

Basic 선택하시면 하단에 Text Font가 있습니다..

클릭하세요..

오른쪽 Edit 버튼이 활성화 되죠.. Edit도 클릭


폰트가 Consolas라는 폰트로 되어 있는데요...


다른 폰트로 바꾸셔도 되지만 전 맑은 고딕으로 선택하겠습니다.


해당 폰트로 바꾸시면 동일한 글이 이렇게 바뀝니다..

보기 편해졌죠??

Posted by 미랭군
기타2012. 2. 13. 11:05

소스 형상 관리를 위하여 윈도우즈에서 TortoiseSVN을 이용하고 있는데..
더이상 SVN으로 관리할 필요가 없는 프로젝트를 백업 받거나 전달하려다 보면

불필요한 .svn 디렉토리가 포함되어 용량만 차지하고 파일수도 많아 오히려 불편합니다.
일일이 모두 찾아 삭제해줘도 되지만... 아래 레지스트리 명령을 실행하면 간편하게 삭제할 수 있습니다.

아래와 같은 내용을 DeleteSVN.reg 파일로 만들어서 병합(실행)하면,

탐색기(Explorer)에 "Delete SVN Folders" 라는 메뉴가 추가되고 마우스 우클릭시 컨텍스트 메뉴에도 나타납니다.

추가된 메뉴를 선택하면 cmd 창이 하나 나타나면서 .svn 폴더를 모두 삭제합니다.

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@="Delete SVN Folders"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""


DeleteSVN.reg

레지스트리에 추가된 메뉴 삭제하려면 아래와 같은 내용을 RemoveDeleteSVN.reg 파일로 만들어서 병합(실행)하시면 됩니다.

Windows Registry Editor Version 5.00
;Remove Delete SVN Folders
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]

RemoveDeleteSVN.reg

유닉스 환경일 경우 아래 쉘 명령으로 삭제할 수 있습니다.

find . -type d -name .svn -print0 | xargs -0 rm -rf

또는

find . -name ".svn" -exec rm -rf {} \;


Posted by 미랭군
기타2012. 2. 9. 14:32


import java.io.FileOutputStream;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellReference;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;

public class POITest {
 
    public static void main(String[] args) throws Throwable {
     
        Workbook wb = new SXSSFWorkbook(100); // keep 100 rows in memory, exceeding rows will be flushed to disk
        Sheet sh = wb.createSheet();
       
        for(int rownum = 0; rownum < 1000000; rownum++) {
         
            Row row = sh.createRow(rownum);
            for(int cellnum = 0; cellnum < 10; cellnum++) {
             
                Cell cell = row.createCell(cellnum);
               
                String address = new CellReference(cell).formatAsString();
               
                cell.setCellValue(address);
               
            }

        }

        FileOutputStream out = new FileOutputStream("/temp/sxssf.xlsx");
        wb.write(out);
        out.close();
    }

}


주석에 있는 설명대로 100 row가 넘어가면 자동으로 메모리에서 디스크로 flush된다.

테스트에 쓰인 버젼은 3.8 beta5다.

Posted by 미랭군