블로그 이미지

유효하지않음

,
대문 스크롤의 압박!
일단 그림 뜨는게 시간이 많이 걸릴 겁니다. 숫자가 많아서리...
초고속 인터넷 쓰신다구요? ㅋㅋㅋ 그럼 다행이구요.

-----

요즘은 너나 할 것 없이 A4 한장짜리 문서면 될 것도 프리젠테이션을 만드는 세상입니다. 문제는 그저 곁눈질로, 프리젠테이션하는 것을 어깨너머 배웠을뿐, 정말 잘하려면 시간이 걸린다는 것이죠.

물/론/ 비법도 있습니다.
프리젠테이션이 고수가 되려면... 잡스의 키노트를 보고 따라하면 됩니다.

자, 그럼 왜 잡스의 키노트가 그리 매력적인지 한번 볼까요?

사용자 삽입 이미지


고수들은 화면에 무언가를 띄워놓고 딴소리를 너저분하게 늘어놓지 않습니다.
화면에 나타내면서 그냥 읽어버리던가, 딱딱 시간을 맞추죠.

흔히 하는 오류중 하나가, 슬라이드를 띄워놓고는 전후과정을 설명하느라고 혼자서 떠드는 겁니다. 그새 청중들은 슬라이드를 다 읽고, 막상 슬라이드를 설명할 때면 다 읽은 내용인지라 재미없어 하죠.

잡스는 결코 그렇게 하지 않습니다. :)

사용자 삽입 이미지


장식용으로 사용하는 클립아트의 경우도 쓰려면 제대로 큼직하게 써야 하는게 두번째 요령입니다. 물론 주제와 관련된 것이어야 하지만, 옆에 텍스트를 놓으면, 잘된 디자인의 경우에는 훨씬 호소력이 있습니다.

내년 6월이면... 여기까지는 그림으로, 나머지는 텍스트로.
절제미를 느끼게 하는 게 키포인트지요.

사용자 삽입 이미지


테두리를 두르고, 상단에 슬라이드 제목을 써 놓고, 어느 페이지인지 만드는 식은 벗어버리십시오. 그림만으로 충분히 설명이 가능합니다.

만약 인쇄물을 나누어 주는게 문제라면... 차라리 유인물 모드로 밑에 대사로 정리해서 주세요. 그게 훨씬 효과적이고 직관적입니다.

사용자 삽입 이미지


잡스는 소프트웨어 개발자를 소개할 준비를 하고 있습니다. 맨먼저 그는 설명이 필요 없는 패키지를 보여주며 관객들을 준비시킵니다. 써본 사람은 많지 않지만, 이름은 누구나 들어봤을 매스매티카... 충분한 효과를 지닌 프로덕트이지요.

사용자 삽입 이미지


회사명을 강조하되 회사명과 이름, 직책을 놓은 폰트의 크기 변화와 종류를 주목해서 보십시오. 회사를 강조하려는 의도와 동시에 이름도 분명히 보입니다.

사용자 삽입 이미지


키노트를 보신 분들은 아시겠지만, 무표정해 보이는 가운데의 친구는 말 한마디 없이 관객들의 웃음을 끌어냈습니다. 이런 방식도 나쁘지는 않습니다. 극중극 구성처럼 액자식 프리젠테이션도 잘만 구성한다면 높은 점수를 딸 수 있지요.

사용자 삽입 이미지


물론 이런 장면처럼 손을 주머니에 넣는 건... 한국에서는 상상도 할 수 없는 일이지만, 만약 강의를 하는 거라면 ^^ 가능할 수도 있습니다.

사용자 삽입 이미지


자, 이렇게 대화상자만을 크롭해서 사용하는 방식. 화면이 필요하다면, 인터넷의 무언가를 보여주려면, 이렇게 과감하게 필요한 부분만 잘라서 사용하셔도 좋습니다.

풀 스크린에 잘 보이지도 않는 화면 보다는 훨씬 호소력 있지요.

사용자 삽입 이미지


화려한 그래픽보다는 이렇게...
잘 구성한 화면이 감동을 줄 수 있다는 것.
물론 발표자는 진행방향에 맞춰 서 있는 위치를 바꾸는 정도의 센스가 있어야 합니다.

사용자 삽입 이미지


역시 마찬가지로 화면의 가로를 잘 사용하는 것이 보이지요.
그냥 평범하게 했다면 제목으로 위로 끌어 올리고는 길게 설명했을텐데.. 잡스는 그렇지 않습니다.

에구구구... 괜히 시작했나 보다...
아는 분들은 다 알고, 모르는 분들은 이런 짧은 설명만으로는 부족한 프리젠테이션 잘하기!!!

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지


사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지
블로그 이미지

유효하지않음

,
Flex - SOAP 호출

출처
http://www.ibm.com/developerworks/webservices/library/ws-macroflex/
http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&postId=1821&productId=2
http://livedocs.adobe.com/labs/flex/3/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=data_access_048_3.html
http://flexdocs.kr/docs/flex2/langref/mx/rpc/soap/WebService.html
http://www.mail-archive.com/flexcoders@yahoogroups.com/msg64743.html

▶ SOAP

SOAP(Simple Object Access Protocol)에 대한 설명은 다른 사이트에 잘 나와 있으니 찾아 보세요.
여기에서는 Java로 SOAP 서버를 만들고, Tomcat으로 Web 서비스 하여, 클라이언트는 Delphi로 만들어 보겠습니다.
이와 같은 예가 외국 사이트를 찾아 보아도 별로 없더군요. 그래서 허접한 설명이지만 도움이 될까 해서 올립니다.
(기회가 되면 배열이나, Dataset도 구현 하고 싶지만 시간이 없어서...)

일부 소스와 내용은 에어콘 출판사의 차세대 자바 SOAP AXUS을 참조 했습니다.

▶ 준비물

JDK 1.4.x 이상 (http://java.sun.com)
Tomcat 4.1.36 (http://tomcat.apache.org/)
AXIS 1.4 (http://ws.apache.org/axis/)

▶ SOAP Web 서비스 설치

여기에서 JDK, Tomcat의 설치는 따로 하지 않겠습니다. 이것도 다른 사이트를 참조하세요.

1. axis-bin-1_4.zip 압축 풀기

Apache에서 받은 axis-bin-1_4.zip을 압축을 특정 폴더에 풀어 주세요. 저는 C:\SOAP\axis-1_4 에 풀었습니다.
앞으로 설명은 C:\SOAP\axis-1_4 으로 하겠습니다.

2. %tomcat_home%\conf\server.xml

아래 내용을 추가해서 AXIS 가상 경로를 추가 Tomcat을 다시 실행 시켜주세요.
<!-- Tomcat SOAP Context -->
<Context path="/axis" docBase="C:\SOAP\axis-1_4\webapps\axis" debug="0"
         reloadable="true" crossContext="true">
</Context>

▶ Java로 SOAP 서버 만들기

아래와 내용과 같이 HelloWorld.java을 만들고, 이 파일을 C:\SOAP\axis-1_4\webapps\axis 디렉토리에 확장자가 .jws로 수정 HelloWorld.jws을 C:\SOAP\axis-1_4\webapps\axis 복사해주세요.

HelloWorld.java 파일

public class HelloWorld {

  public HelloWorld() {
  }
 
  public String getHelloWorldMessage(String name) {
    return "Hello World to " + name;
  }
}

확인하기

지금까지 잘 하셨다면 브라우저에서 http://localhost:8080/axis/HelloWorld.jws 주소로 보시면 아래와 같이 나올 것입니다.

사용자 삽입 이미지








 

 

 

 

 

▶ Flex 에서 SOAP 호출하기

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
 <mx:Script>
  <![CDATA[
    import mx.rpc.soap.WebService;
    import mx.rpc.events.ResultEvent;
    import mx.rpc.events.FaultEvent;
    import mx.rpc.soap.LoadEvent;
   
    private function on_ButtonClick(event:Event):void {
      // WebService 객체 생성
      var webService:WebService = new WebService();
      webService.useProxy = false;
      // 응답결과를 받는 Event 메소드 등록
      webService.getHelloWorldMessage.addEventListener(ResultEvent.RESULT, resultListener);
      webService.getHelloWorldMessage.resultFormat = 'e4x';
      // SOAP 호출 실패 Event 메소드 등록
      webService.addEventListener(FaultEvent.FAULT, faultHandler);
//      webService.wsdl = "http://localhost:8080/axis/HelloWorld.jws?wsdl";
      // WSDL 로딩
      webService.loadWSDL("http://localhost:8080/axis/HelloWorld.jws?wsdl");
      // SOAP 호출
      webService.getHelloWorldMessage(Text1.text);
    }
   
    public function resultListener(event:ResultEvent):void {
      var xmlDoc:XML = new XML(event.result.getHelloWorldMessageReturn);
//      mx.controls.Alert.show(xmlDoc.text());
      Text2.text = xmlDoc.text();
    }
   
    public function faultHandler(event:FaultEvent):void {
      //deal with event.fault.faultString, etc
      mx.controls.Alert.show(event.fault.faultString);
    }       
   ]]>
  </mx:Script>

 <mx:Button x="178" y="13" label="Call SOAP" click="on_ButtonClick(event)" id="Button1" />
 <mx:TextArea x="10" y="10" id="Text1" fontSize="14" text="AXIS" height="25"/>
 <mx:TextArea x="56" y="43" id="Text2" height="21" width="204"/>
 <mx:Label x="10" y="44" text="Result :"/>
 
</mx:Application>

▶ 실행 결과

사용자 삽입 이미지

블로그 이미지

유효하지않음

,

SSO FlowChart

WebService 2008. 5. 23. 05:44
사용자 삽입 이미지
블로그 이미지

유효하지않음

,

iptables -A INPUT -p tcp --dport 80 -m recent --update --seconds 1 --hitcount 10 --name HTTP -j DROP

- 1초동안 80포트에 똑같은 IP가 10번 이상의 SYN가 들어오면 드랍시킨다.
   이는 정상적인 요청이 아닌 공격으로 간주한다.


iptables -m connlimit -h

# iptables -A FORWARD -m recent --name badguy --rcheck --seconds 300 -j DROP
# iptables -A FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 30 -m recent
--name badguy --set -j DROP
# iptables -A FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 30 -j DROP
위의 3 줄을 실행하면 가능한데,단순히3번째 룰인
# iptables -A FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 30 -j DROP
만 실행하게 되면,한 IP에서의 동시접속이 30회만 접속을 허용할 뿐 그 이상 접속을 하지
못하지만, 위의 두 룰을 함께 사용하게 되면 동시접속이 30회 이상 초과하는 IP를 dynamic
하게 300초(5분)동안 자동 차단하게 된다. 동시접속수(30) 제한이나 차단시간(5분)은 각자
의 환경에 따라 적절히 설정하면 된다.
이때 과다접속으로 차단된 IP에 대한 정보는 다음과 같이 실시간으로 확인할 수 있다.
# cat /proc/net/ipt_recent/badguy

블로그 이미지

유효하지않음

,

단계별 relay 테스트

OS/Linux 2008. 4. 23. 18:18
telnet relay-test.mail-abuse.org

telnet work-rss.mail-abuse.org
블로그 이미지

유효하지않음

,

alter system set "_optimizer_connect_by_cost_based" = false scope=both;

ORA-00600: 내부 오류 코드, 인수 : [qkacon:FJfsrwo], [5], [], [], [], [], [], []..

bug number : Bug 5254539

A SQL statement involving a hierarchical query (CONNECT BY)
using cursor statements in the select list may fail with
ORA-600 [qkacon:FJfsrwo]

===================================================================================================

alter system set "_optimizer_cost_based_transformation" = off scope=both;

===================================================================================================
The information in this article applies to:
Oracle Server - Enterprise Edition - Version: 9.2.0.3 - 10.2
This problem can occur on any platform.

Errors ORA 600 internal error code, arguments: [qctcte1],[0],[%s], [%s], [%s],

Symptoms
ORA-00600 [qctcte1] is encountered while performing a nested select which might include functions like distinct or have an order by clause.


Example:


Sql> CREATE OR REPLACE TYPE int_list IS VARRAY(200) OF INTEGER;

Sql> CREATE TABLE test (id INTEGER);

Sql> SELECT id FROM ( SELECT rp.id FROM (SELECT DISTINCT column_value ID FROM
TABLE(int_list(1,1,2))) rp, test p WHERE p.id = 1 ORDER BY p.id DESC)


ERROR at line 2:
ORA-00600: internal error code, arguments: [qctcte1], [0], [], [], [], [], [], []

 

Cause
An inconsistent datatype is reported during typechecking when parsing a query. This is bug 3557906.
Fix
There are several Workarounds :

1> Remove the desc from the order by clause

Sql > SELECT id FROM ( SELECT rp.id FROM (SELECT DISTINCT column_value ID
FROM TABLE(int_list(1,1,2))) rp, test p WHERE p.id = 1 ORDER BY p.id )


2> Alter session set "_complex_view_merging"=false;


3> Remove the distinct clause

Sql > SELECT id FROM ( SELECT rp.id FROM (SELECT column_value ID FROM TABLE(int_list
(1,1,2))) rp, test p WHERE p.id = 1 ORDER BY p.id DESC)

4> Remove the order by clause

Sql > SELECT id FROM ( SELECT rp.id FROM
(SELECT column_value ID FROM TABLE(int_list(1,1,2))) rp, test p WHERE p.id = 1 )

5> _pred_move_around = false

This is fixed in 10.2 and will be fixed in the 9206 patchset.
References
<Bug:3557906> ORA-600: INTERNAL ERROR CODE, ARGUMENTS: [QCTCTE1], [0],



쿼리문에 흰트를 사용해도 되네요..
 /*+ NO_CONNECT_BY_COST_BASED */ 
  or
/*+ OPT_PARAM('_optimizer_connect_by_cost_based', 'false') */


블로그 이미지

유효하지않음

,

$telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 localhost ESMTP
helo localhost
250 localhost
auth login
334 UGFzc3dvcmQ6
dXNlcm5hbWU=
334 UGFzc3dvcmQ6
cGFzc3dvcmQ=
235 Authentication successful
mail from:"xxxx" <park17@domain.co.kr>
250 ok
rcpt to:"xxxx" <dewyplus@domain.co.kr>
250 ok
data
354 go ahead
from:"xxxx" <park17@domain.co.kr>
to:"xxxx" <dewyplus@domain.co.kr>
subject:This is a Subject

mail body.....
mail body....
.
250 ok 1259827087 qp 5294
quit
221 localhost
Connection closed by foreign host.

1. telnet 25 를 입력 합니다.
( 예 : telnet smtp.xxx.com 25 )

다음과 비슷한 출력이 표시됩니다.
220 computername.microsoft.com ESMTP Server (Microsoft Exchange Internet Mail Service 5.5.2651.58) ready
                    
2. helo me를 입력하고 Enter 키를 누릅니다.
다음과 비슷한 출력이 표시됩니다.
250 OK

3. mail from:email@domain.com을 입력하고 Enter 키를 누릅니다. 다음과 비슷한 출력이 표시됩니다.
250 OK - mail from
                    
4. rcpt to:youremail@yourdomain.com을 입력하고 Enter 키를 누릅니다. 다음과 비슷한 출력이 표시됩니다.
250 OK - Recipient

5. Data를 입력하고 Enter 키를 누릅니다. 다음과 비슷한 출력이 표시됩니다.
354 Send data. End with CRLF.CRLF

6. Subject:This is a test를 입력하고 Enter 키를 두 번 누릅니다.

7. Testing을 입력하고 Enter 키를 누릅니다.

8. Enter 키를 누르고 마침표(.)를 입력한 후 Enter 키를 누릅니다. 다음과 비슷한 출력이 표시됩니다.
250 OK

10. quit를 입력하고 Enter 키를 누릅니다. 다음과 비슷한 출력이 표시됩니다.
221 Closing Port / Mail queued for delivery

블로그 이미지

유효하지않음

,