자바·JSP2011. 4. 18. 20:29

 public String callService(DflCallServiceParam param)
 throws InstantiationException, IllegalAccessException, ClassNotFoundException, InvocationTargetException, RemoteException, NoSuchMethodException {
    
  UiServiceImpl obj = new UiServiceImpl();
  String result = "";
  int mc;
  
  Class oClass = obj.getClass();
     Method[] methods = oClass.getDeclaredMethods();
    
        for(int i=0; i < methods.length; i++)
        {
         if(param.getMid().equals(methods[i].getName()));
         {
          mc = i;
         }
        }
       
        Method method = oClass.getDeclaredMethod(param.getMid(), new Class[]{new String().getClass()});
        Ret ret = (Ret)method.invoke(obj, new Object[]{new String("aaa")});

  return result;
 }

Posted by 미랭군
카테고리 없음2011. 2. 15. 11:12

ACL (Access Control List) ; 접근제어목록

ACL[에이씨엘]은 개개의 사용자들이 디렉토리나 파일과 같은 특정 시스템 개체에 접근할 수 있는 권한을 컴퓨터의 운영체계에 알리기 위해 설정해 놓은 표라고 할 수 있다. 각 개체는 접근제어목록을 식별할 수 있는 보안 속성을 가지며, 그 목록은 접근권한을 가진 각 시스템 사용자들을 위한 엔트리를 가진다. 가장 일반적인 권한은 1개의 파일이나 또는 한 개의 디렉토리 안에 있는 모든 파일들을 읽을 수 있고(Read), 기록할 수 있으며(Write), 그리고 만약 그것이 실행가능한 파일이나 프로그램인 경우라면 실행시킬 수 있는(Execute) 권한 등을 포함한다.

ACL을 사용하는 대표적인 운영체계들로는, 윈도우NT, 노벨 네트웨어, 디지털의 OpenVMS, 그리고 유닉스 기반의 시스템들을 들 수 있지만, 각 운영체계마다 이러한 ACL은 각각 다르게 구현된다. 윈도우NT에서 ACL은 각 시스템 개체로 구성되어 있다.

각 ACL은 사용자의 이름이나 사용자 그룹으로 이루어지는 하나 또는 그 이상의 접근통제엔트리(ACE)를 가진다. 사용자는 프로그래머, 테스터 등과 같이 그 역할을 지칭하는 이름이 될 수도 있다. 이렇게, 사용자들이나 그룹 또는 각자의 역할에 따라 액세스 마스크(access mask)라고 불리우는 비트 스트링에 접근권한이 적히게 있다. 일반적으로 시스템관리자나 해당 개체의 소유자가 그 개체에 대한 ACL을 생성한다.

한 예로서, 한명은 프로그래머, 다른 한명은 프로그램 테스터, 그리고 세 번째는 시스템 그 자체로 3명의 사용자를 가지는 운영체계를 가정해 보자. 이때, 주어진 프로그램 개체에 대한 ACL은 다음과 같이 될수 있다.

 
프로그래머
테 스 터
시 스 템 read
read write execute
execute
execute

Posted by 미랭군

package {

  import flash.display.Sprite;
  import flash.events.Event;
  import flash.events.MouseEvent;
  import flash.text.TextField; 

  public class AnagramDragDrop extends Sprite {
    private var dragTarget:Sprite;

    public function AnagramDragDrop() {
      var board:Sprite = new Sprite();
      var letters:Array = new Array("d","i","r","t","y","r","o","o","m")
      var l:String;
      var xPos:uint = 50
      var yPos:uint = 100
      for each (l in letters) {
        var tile:Sprite = new Sprite();
        tile = createLetterTile(l as String) // size, color yellow
        tile.x = xPos;
        tile.y = yPos;
        xPos += 50;
        board.addChild(tile);
        tile.addEventListener(MouseEvent.MOUSE_DOWN, dragStarter, false);
        tile.addEventListener(MouseEvent.MOUSE_UP, dragStopper);
      }
      addChild(board)

      var instructions:TextField = new TextField();
      instructions.text = "Re-order the letters to form another word."
      instructions.x = 20
      instructions.y = 20
      instructions.width = 300;
      addChild(instructions)

    }

    private function dragStarter(event:MouseEvent):void {
      if (event.target is Sprite) {
        dragTarget = event.target as Sprite;
        dragTarget.startDrag();
      }
    }

    private function dragStopper(event:MouseEvent):void {
      dragTarget.stopDrag();
    }
       
    private function createLetterTile(txt:String):Sprite {
      var s:Sprite = new Sprite();
      var letter:TextField = new TextField();
      var tileBackColor:uint = 0xDBD9A6;
      var tileShadowColor:uint = 0x676420;
      var tileBorderColor:uint = 0x000000;
     
      s.graphics.beginFill(tileShadowColor);
      s.graphics.drawRect(-2, 2, 40, 40);
      s.graphics.endFill();
      s.graphics.beginFill(tileBackColor);
      s.graphics.drawRect(0, 0, 40, 40);
      s.graphics.endFill();
      s.graphics.lineStyle(1, tileBorderColor, 100);
      s.graphics.drawRect(0, 0, 40, 40);
   
      letter.text = txt
      letter.selectable = false;
      letter.mouseEnabled = false;
      letter.x = 14
      letter.y = 14
      letter.width = 14
      letter.height = 16
      s.addChild(letter)
 
      return s;
    }
  }
}

Posted by 미랭군