캠핑과 개발

Generate Javadoc 과정중 마지막 단계에서
VM option 란에 다음 줄을 삽입하면 된다.

-encoding UTF-8 -charset UTF-8 -docencoding UTF-8

기본적으로 대부분의 스크립터는 "페이지가 모두 로드 되었다." 라는 전제는

이미지를 포함한 모든 리소스가 로드완료 (즉 하단 상태표시줄에 완료 라고 찍히는 타이밍)을 페이지가 로드 되었다 라고 인식한다.

하지만 실제로(물론 위의 설명이 가장 적합하지만) 스크립트가 실행되는데는 모든 리소스를 전제로 기능을 추가하지만 그렇지 않아야 하는 경우도 있다. 즉. dom만 있으면 되는 경우이다.

(대표적으로 CSS가 그렇다. 이미지도 하나의 엘리먼트로 인식하라. src에 있는 이미지가 다운로드 되는것과 img 엘리먼트가 dom로드되는것은 틀린이야기이다.) 

prototype에서는 이에 대해서 서로 다른 이벤트로드를 지원하는데. 

Event.observe(window,"load",handler)
Event.observe(document,"dom:loaded",handler)

이다.

 

1. 웹페이지의 모든 리소스까지 로드상태

Event.observe(window,"load",handler) 

웹페이지의 모든 리소스를 로드한 상태를 말한다. 이미지 및 플래쉬까지 로드된 상태이다.간혹가다 플래쉬 경로가 맞지 않아서 로드되지 않고 지연되는 경우에는 위의 이벤트는 그 지연이 끝날때까지 기다리게 된다. 

2. 웹페이지의 dom만 로드된상태.

Event.observe(document,"dom:loaded",handler) 

웹페이지의 모든 dom만 로드된 상태이다. body안에 있는 엘리먼트가 구성되었을때의 동작이다.여기에서는 css나 이미지의 다운로드 같은 상태는 포함되지 않는다.



'낙서장' 카테고리의 다른 글

서울 디자인 올림픽 2009  (0) 2009.10.22
주말 저녁  (0) 2009.09.18
윈도우7 작업표시줄 빠른실행 아이콘 되살리기  (0) 2009.05.12
바쁨  (0) 2009.01.30
[Excel] 기본적이고 유용한 단축키  (0) 2008.07.04


ER-Win에서 ERD 작성을 하다보면 기존 DB에서 테이블 정보를 가져와야 할 때가 있다.

Tools > Reverse Engineer


--//SQL Database documentation script
--//Description: T-SQL script to generate the database document for SQL server 2000/2005

Declare @i Int, @maxi Int
Declare @j Int, @maxj Int
Declare @sr int
Declare @Output varchar(4000)
--Declare @tmpOutput varchar(max)
Declare @SqlVersion varchar(5)
Declare @last varchar(155), @current varchar(255), @typ varchar(255), @description varchar(4000)

create Table #Tables  (id int identity(1, 1), Object_id int, Name varchar(155), Type varchar(20), [description] varchar(4000))
create Table #Columns (id int identity(1,1), Name varchar(155), Type Varchar(155), Nullable varchar(2), [description] varchar(4000))
create Table #Fk(id int identity(1,1), Name varchar(155), col Varchar(155), refObj varchar(155), refCol varchar(155))
create Table #Constraint(id int identity(1,1), Name varchar(155), col Varchar(155), definition varchar(1000))
create Table #Indexes(id int identity(1,1), Name varchar(155), Type Varchar(25), cols varchar(1000))

 If (substring(@@VERSION, 1, 25 ) = 'Microsoft SQL Server 2005')
   set @SqlVersion = '2005'
else if (substring(@@VERSION, 1, 26 ) = 'Microsoft SQL Server  2000')
   set @SqlVersion = '2000'
else
   set @SqlVersion = '2005'


Print '<head>'
Print '<title>::' + DB_name() + '::</title>'
Print '<style>'
   
Print '      body {'
Print '      font-family:verdana;'
Print '      font-size:9pt;'
Print '      }'
     
Print '      td {'
Print '      font-family:verdana;'
Print '      font-size:9pt;'
Print '      }'
     
Print '      th {'
Print '      font-family:verdana;'
Print '      font-size:9pt;'
Print '      background:#d3d3d3;'
Print '      }'
Print '      table'
Print '      {'
Print '      background:#d3d3d3;'
Print '      }'
Print '      tr'
Print '      {'
Print '      background:#ffffff;'
Print '      }'
Print '   </style>'
Print '</head>'
Print '<body>'

set nocount on
   if @SqlVersion = '2000'
      begin
      insert into #Tables (Object_id, Name, Type, [description])
         --FOR 2000
         select object_id(table_name),  '[' + table_schema + '].[' + table_name + ']', 
         case when table_type = 'BASE TABLE'  then 'Table'   else 'View' end,
         cast(p.value as varchar(4000))
         from information_schema.tables t
         left outer join sysproperties p on p.id = object_id(t.table_name) and smallid = 0 and p.name = 'MS_Description'
         order by table_type, table_schema, table_name
      end
   else if @SqlVersion = '2005'
      begin
      insert into #Tables (Object_id, Name, Type, [description])
      --FOR 2005
      Select o.object_id,  '[' + s.name + '].[' + o.name + ']',
            case when type = 'V' then 'View' when type = 'U' then 'Table' end, 
            cast(p.value as varchar(4000))
            from sys.objects o
               left outer join sys.schemas s on s.schema_id = o.schema_id
               left outer join sys.extended_properties p on p.major_id = o.object_id and minor_id = 0 and p.name = 'MS_Description'
            where type in ('U', 'V')
            order by type, s.name, o.name
      end
Set @maxi = @@rowcount
set @i = 1

print '<table border="0" cellspacing="0" cellpadding="0" width="550px" align="center"><tr><td colspan="3" style="height:50;font-size:14pt;text-align:center;"><a name="index"></a><b>Index</b></td></tr></table>'
print '<table border="0" cellspacing="1" cellpadding="0" width="550px" align="center"><tr><th>Sr</th><th>Object</th><th>Type</th></tr>'
While(@i <= @maxi)
begin
   select @Output =  '<tr><td align="center">' + Cast((@i) as varchar) + '</td><td><a href="#' + Type + ':' + name + '">' + name + '</a></td><td>' + Type + '</td></tr>'
         from #Tables where id = @i
  
   print @Output
   set @i = @i + 1
end
print '</table><br />'

set @i = 1
While(@i <= @maxi)
begin
   --table header
   select @Output =  '<tr><th align="left"><a name="' + Type + ':' + name + '"></a><b>' + Type + ':' + name + '</b></th></tr>',  @description = [description]
         from #Tables where id = @i
  
   print '<br /><br /><br /><table border="0" cellspacing="0" cellpadding="0" width="750px"><tr><td align="right"><a href="#index">Index</a></td></tr>'
   print @Output
   print '</table><br />'
   print '<table border="0" cellspacing="0" cellpadding="0" width="750px"><tr><td><b>Description</b></td></tr><tr><td>' + isnull(@description, '') + '</td></tr></table><br />'

   --table columns
   truncate table #Columns
   if @SqlVersion = '2000'
      begin
      insert into #Columns  (Name, Type, Nullable, [description])
      --FOR 2000
      Select c.name,
               type_name(xtype) + (
               case when (type_name(xtype) = 'varchar' or type_name(xtype) = 'nvarchar' or type_name(xtype) ='char' or type_name(xtype) ='nchar')
                  then '(' + cast(length as varchar) + ')'
                when type_name(xtype) = 'decimal' 
                     then '(' + cast(prec as varchar) + ',' + cast(scale as varchar)   + ')'
               else ''
               end           
               ),
               case when isnullable = 1 then 'Y' else 'N'  end,
               cast(p.value as varchar(8000))
            from syscolumns c
               inner join #Tables t on t.object_id = c.id
               left outer join sysproperties p on p.id = c.id and p.smallid = c.colid and p.name = 'MS_Description'
            where t.id = @i
            order by c.colorder
      end
   else if @SqlVersion = '2005'
      begin
      insert into #Columns  (Name, Type, Nullable, [description])
      --FOR 2005  
      Select c.name,
               type_name(user_type_id) + (
               case when (type_name(user_type_id) = 'varchar' or type_name(user_type_id) = 'nvarchar' or type_name(user_type_id) ='char' or type_name(user_type_id) ='nchar')
                  then '(' + cast(max_length as varchar) + ')'
                when type_name(user_type_id) = 'decimal' 
                     then '(' + cast([precision] as varchar) + ',' + cast(scale as varchar)   + ')'
               else ''
               end           
               ),
               case when is_nullable = 1 then 'Y' else 'N'  end,
               cast(p.value as varchar(4000))
      from sys.columns c
            inner join #Tables t on t.object_id = c.object_id
            left outer join sys.extended_properties p on p.major_id = c.object_id and p.minor_id  = c.column_id and p.name = 'MS_Description'
      where t.id = @i
      order by c.column_id
      end
   Set @maxj =   @@rowcount
   set @j = 1

   print '<table border="0" cellspacing="0" cellpadding="0" width="750px"><tr><td><b>Table Columns</b></td></tr></table>'
   print '<table border="0" cellspacing="1" cellpadding="0" width="750px"><tr><th>Sr.</th><th>Name</th><th>Datatype</th><th>Nullable</th><th>Description</th></tr>'
  
   While(@j <= @maxj)
   begin
      select @Output = '<tr><td width="20px" align="center">' + Cast((@j) as varchar) + '</td><td width="150px">' + isnull(name,'')  + '</td><td width="150px">' +  upper(isnull(Type,'')) + '</td><td width="50px" align="center">' + isnull(Nullable,'N') + '</td><td>' + isnull([description],'') + '</td></tr>'
         from #Columns  where id = @j
     
      print    @Output   
      Set @j = @j + 1;
   end

   print '</table><br />'

   --reference key
   truncate table #FK
   if @SqlVersion = '2000'
      begin
      insert into #FK  (Name, col, refObj, refCol)
   --      FOR 2000
      select object_name(constid), s.name,  object_name(rkeyid) ,  s1.name 
            from sysforeignkeys f
               inner join sysobjects o on o.id = f.constid
               inner join syscolumns s on s.id = f.fkeyid and s.colorder = f.fkey
               inner join syscolumns s1 on s1.id = f.rkeyid and s1.colorder = f.rkey
               inner join #Tables t on t.object_id = f.fkeyid
            where t.id = @i
            order by 1
      end  
   else if @SqlVersion = '2005'
      begin
      insert into #FK  (Name, col, refObj, refCol)
--      FOR 2005
      select f.name, COL_NAME (fc.parent_object_id, fc.parent_column_id) , object_name(fc.referenced_object_id) , COL_NAME (fc.referenced_object_id, fc.referenced_column_id)    
      from sys.foreign_keys f
         inner  join  sys.foreign_key_columns  fc  on f.object_id = fc.constraint_object_id  
         inner join #Tables t on t.object_id = f.parent_object_id
      where t.id = @i
      order by f.name
      end
  
   Set @maxj =   @@rowcount
   set @j = 1
   if (@maxj >0)
   begin

      print '<table border="0" cellspacing="0" cellpadding="0" width="750px"><tr><td><b>Refrence Keys</b></td></tr></table>'
      print '<table border="0" cellspacing="1" cellpadding="0" width="750px"><tr><th>Sr.</th><th>Name</th><th>Column</th><th>Reference To</th></tr>'

      While(@j <= @maxj)
      begin

         select @Output = '<tr><td width="20px" align="center">' + Cast((@j) as varchar) + '</td><td width="150px">' + isnull(name,'')  + '</td><td width="150px">' +  isnull(col,'') + '</td><td>[' + isnull(refObj,'N') + '].[' +  isnull(refCol,'N') + ']</td></tr>'
            from #FK  where id = @j

         print @Output
         Set @j = @j + 1;
      end

      print '</table><br />'
   end

   --Default Constraints
   truncate table #Constraint
   if @SqlVersion = '2000'
      begin
      insert into #Constraint  (Name, col, definition)
      select object_name(c.constid), col_name(c.id, c.colid), s.text
            from sysconstraints c
               inner join #Tables t on t.object_id = c.id
               left outer join syscomments s on s.id = c.constid
            where t.id = @i
            and
            convert(varchar,+ (c.status & 1)/1)
            + convert(varchar,(c.status & 2)/2)
            + convert(varchar,(c.status & 4)/4)
            + convert(varchar,(c.status & 8)/8)
            + convert(varchar,(c.status & 16)/16)
            + convert(varchar,(c.status & 32)/32)
            + convert(varchar,(c.status & 64)/64)
            + convert(varchar,(c.status & 128)/128) = '10101000'
      end
   else if @SqlVersion = '2005'
      begin
      insert into #Constraint  (Name, col, definition)
      select c.name,  col_name(parent_object_id, parent_column_id), c.definition
      from sys.default_constraints c
         inner join #Tables t on t.object_id = c.parent_object_id
      where t.id = @i
      order by c.name
      end
   Set @maxj =   @@rowcount
   set @j = 1
   if (@maxj >0)
   begin

      print '<table border="0" cellspacing="0" cellpadding="0" width="750px"><tr><td><b>Default Constraints</b></td></tr></table>'
      print '<table border="0" cellspacing="1" cellpadding="0" width="750px"><tr><th>Sr.</th><th>Name</th><th>Column</th><th>Value</th></tr>'

      While(@j <= @maxj)
      begin

         select @Output = '<tr><td width="20px" align="center">' + Cast((@j) as varchar) + '</td><td width="250px">' + isnull(name,'')  + '</td><td width="150px">' +  isnull(col,'') + '</td><td>' +  isnull(definition,'') + '</td></tr>'
            from #Constraint  where id = @j

         print @Output
         Set @j = @j + 1;
      end

   print '</table><br />'
   end


   --Check  Constraints
   truncate table #Constraint
   if @SqlVersion = '2000'
      begin
      insert into #Constraint  (Name, col, definition)
         select object_name(c.constid), col_name(c.id, c.colid), s.text
            from sysconstraints c
               inner join #Tables t on t.object_id = c.id
               left outer join syscomments s on s.id = c.constid
            where t.id = @i
            and ( convert(varchar,+ (c.status & 1)/1)
               + convert(varchar,(c.status & 2)/2)
               + convert(varchar,(c.status & 4)/4)
               + convert(varchar,(c.status & 8)/8)
               + convert(varchar,(c.status & 16)/16)
               + convert(varchar,(c.status & 32)/32)
               + convert(varchar,(c.status & 64)/64)
               + convert(varchar,(c.status & 128)/128) = '00101000'
            or convert(varchar,+ (c.status & 1)/1)
               + convert(varchar,(c.status & 2)/2)
               + convert(varchar,(c.status & 4)/4)
               + convert(varchar,(c.status & 8)/8)
               + convert(varchar,(c.status & 16)/16)
               + convert(varchar,(c.status & 32)/32)
               + convert(varchar,(c.status & 64)/64)
               + convert(varchar,(c.status & 128)/128) = '00100100')

      end
   else if @SqlVersion = '2005'
      begin
      insert into #Constraint  (Name, col, definition)
         select c.name,  col_name(parent_object_id, parent_column_id), definition
         from sys.check_constraints c
            inner join #Tables t on t.object_id = c.parent_object_id
         where t.id = @i
         order by c.name
      end
   Set @maxj =   @@rowcount
  
   set @j = 1
   if (@maxj >0)
   begin

      print '<table border="0" cellspacing="0" cellpadding="0" width="750px"><tr><td><b>Check  Constraints</b></td></tr></table>'
      print '<table border="0" cellspacing="1" cellpadding="0" width="750px"><tr><th>Sr.</th><th>Name</th><th>Column</th><th>Definition</th></tr>'

      While(@j <= @maxj)
      begin

         select @Output = '<tr><td width="20px" align="center">' + Cast((@j) as varchar) + '</td><td width="250px">' + isnull(name,'')  + '</td><td width="150px">' +  isnull(col,'') + '</td><td>' +  isnull(definition,'') + '</td></tr>'
            from #Constraint  where id = @j
         print @Output
         Set @j = @j + 1;
      end

      print '</table><br />'
   end


   --Triggers
   truncate table #Constraint
   if @SqlVersion = '2000'
      begin
      insert into #Constraint  (Name)
         select tr.name
         FROM sysobjects tr
            inner join #Tables t on t.object_id = tr.parent_obj
         where t.id = @i and tr.type = 'TR'
         order by tr.name
      end
   else if @SqlVersion = '2005'
      begin
      insert into #Constraint  (Name)
         SELECT tr.name
         FROM sys.triggers tr
            inner join #Tables t on t.object_id = tr.parent_id
         where t.id = @i
         order by tr.name
      end
   Set @maxj =   @@rowcount
  
   set @j = 1
   if (@maxj >0)
   begin

      print '<table border="0" cellspacing="0" cellpadding="0" width="750px"><tr><td><b>Triggers</b></td></tr></table>'
      print '<table border="0" cellspacing="1" cellpadding="0" width="750px"><tr><th>Sr.</th><th>Name</th><th>Description</th></tr>'

      While(@j <= @maxj)
      begin
         select @Output = '<tr><td width="20px" align="center">' + Cast((@j) as varchar) + '</td><td width="150px">' + isnull(name,'')  + '</td><td></td></tr>'
            from #Constraint  where id = @j
         print @Output
         Set @j = @j + 1;
      end

      print '</table><br />'
   end

   --Indexes
   truncate table #Indexes
   if @SqlVersion = '2000'
      begin
      insert into #Indexes  (Name, type, cols)
         select i.name, case when i.indid = 0 then 'Heap' when i.indid = 1 then 'Clustered' else 'Nonclustered' end , c.name
         from sysindexes i
            inner join sysindexkeys k  on k.indid = i.indid  and k.id = i.id
            inner join syscolumns c on c.id = k.id and c.colorder = k.colid
            inner join #Tables t on t.object_id = i.id
         where t.id = @i and i.name not like '_WA%'
         order by i.name, i.keycnt
      end
   else if @SqlVersion = '2005'
      begin
      insert into #Indexes  (Name, type, cols)
         select i.name, case when i.type = 0 then 'Heap' when i.type = 1 then 'Clustered' else 'Nonclustered' end,  col_name(i.object_id, c.column_id)
            from sys.indexes i
               inner join sys.index_columns c on i.index_id = c.index_id and c.object_id = i.object_id
               inner join #Tables t on t.object_id = i.object_id
            where t.id = @i
            order by i.name, c.column_id
      end

   Set @maxj =   @@rowcount
  
   set @j = 1
   set @sr = 1
   if (@maxj >0)
   begin

      print '<table border="0" cellspacing="0" cellpadding="0" width="750px"><tr><td><b>Indexes</b></td></tr></table>'
      print '<table border="0" cellspacing="1" cellpadding="0" width="750px"><tr><th>Sr.</th><th>Name</th><th>Type</th><th>Columns</th></tr>'
      set @Output = ''
      set @last = ''
      set @current = ''
      While(@j <= @maxj)
      begin
         select @current = isnull(name,'') from #Indexes  where id = @j
               
         if @last <> @current  and @last <> ''
            begin  
            print '<tr><td width="20px" align="center">' + Cast((@sr) as varchar) + '</td><td width="150px">' + @last + '</td><td width="150px">' + @typ + '</td><td>' + @Output  + '</td></tr>'
            set @Output  = ''
            set @sr = @sr + 1
            end
        
           
         select @Output = @Output + cols + '<br />' , @typ = type
               from #Indexes  where id = @j
        
         set @last = @current   
         Set @j = @j + 1;
      end
      if @Output <> ''
            begin  
            print '<tr><td width="20px" align="center">' + Cast((@sr) as varchar) + '</td><td width="150px">' + @last + '</td><td width="150px">' + @typ + '</td><td>' + @Output  + '</td></tr>'
            end

      print '</table><br />'
   end

    Set @i = @i + 1;
   --Print @Output
end


Print '</body>'
Print '</html>'

drop table #Tables
drop table #Columns
drop table #FK
drop table #Constraint
drop table #Indexes
set nocount off

'DEVELOPMENT > Database' 카테고리의 다른 글

동일 칼럼을 가지나, 이름을 달리하는 테이블 만들기  (0) 2009.07.14
ER-Win에서 DB Table 가져오기  (0) 2009.05.13
oracle 시작과 종료  (0) 2009.05.07
Toad 단축키  (0) 2009.04.18
[oracle] decode 함수  (1) 2009.01.16

1. 작업표시줄 우클릭 - Lock the taskbar를 해제
2. 작업표시줄 우클릭 - 도구모음 - 새 도구 모음
3. 폴더라고 되어있는 빈칸에 다음을 복사해서 붙여 넣습니다.
   %userprofile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch

4. Quick Launch에서 우클릭 - 텍스트표시/제목표시 해제, 보기 - 큰 아이콘
5. Quick Launch를 작업표시줄 왼쪽으로 마우스로 끌어 옮긴다.
6. 작업표시줄 우클릭 - Lock the taskbar 설정
없애는 방법: 바탕화면 바로가기 -  도구모음 - Quick Launch 해재

'낙서장' 카테고리의 다른 글

주말 저녁  (0) 2009.09.18
무한도전 춘향전 캐릭터  (0) 2009.05.17
바쁨  (0) 2009.01.30
[Excel] 기본적이고 유용한 단축키  (0) 2008.07.04
JAVA 정석  (0) 2008.04.11

#Oracle start

오라클 시작 명령어

 

기본적으로 오라클 시작시 리스너를 시작함

(모든 과정은 oracle설치 계정으로 진행되어야 함)

 

lsnrctl start --리스너 시작

 

sqlplus "/as sysdba" --sqlplus접속 sysdba로


startup

 

#Oracle stop

오라클 종료 명령어

 

sqlplus상에서

shutdown [normal, transactional, immediate, abort];

 

normal : 더이상의 새로운 접속을 허용하지 않으며 종료를 수행하기전에 

모든 사용자들이 접속(session)을 끊는것을 기다립니다. 

인스턴스를 종료하기전에 데이터베이스를 닫고 dismount합니다. 

다음 시작시에는 인스턴스 복구가 필요치 않습니다. 


transactional : 트랜스 액션 종료는 클라이언트가 작업을 잃어버리지 않도록 

합니다. 특정 인스턴스에서 클라이언트는 새로운 transaction을 시작할 수 없습 

니다. 클라이언트는 진행중인 transaction을 종료할때 접속이 끊어집니다. 

모든 transaction이 끝났을때 즉시 종료되며 다음 시작때 인스턴스 복구가 

필요하지 않습니다. 


immediate : 현재 dbms가 수행하고 있는 sql문은 완료하지 않습니다. 

오라클 서버는 현재 접속중인 사용자가 접속을 끊을때까지 기다리지 않으며 현재 

진행중인 transaction을 rollback하고 모든 사용자의 접속을 끊습니다. 

다음 시작때 인스턴스 복구가 필요하지 않습니다. 


abort : 정상 종료나 즉시 종료가 제대로 동작하지 않는역우 현재의 데이터 

베이스 인스턴스를 중지시킵니다. 

오라클 서버가 수행하고 있는 sql문은 즉시 종료되며 현재 접속중인 사용자들이 

접속을 끊을때까지 기다리지 않습니다. 커밋되지 않은 transaction은 rollback되 

지 않습니다. 파일을 닫지 않은채 인스턴스를 종료합니다. 

다음 시작시 인스턴스 복구를 필요로 합니다.


[출처] [Oracle] 오라클 서버 시작 명령어|작성자 juner84

'DEVELOPMENT > Database' 카테고리의 다른 글

ER-Win에서 DB Table 가져오기  (0) 2009.05.13
MSSQL2000, 2005 테이블 명세서 추출 쿼리문  (0) 2009.05.13
Toad 단축키  (0) 2009.04.18
[oracle] decode 함수  (1) 2009.01.16
[ORACLE] 테이블 관련 정보 쿼리  (0) 2008.07.26


http://ha.ckers.org/xss.html

F1

Toad 도움말 파일의 SQL Editor 부분이 표시됩니다.

F2

전체 화면 Editor Editor/Results 패널 표시 장치 사이를 전환합니다.

<SHIFT>F2

전체 화면 그리드를 전환합니다.

F3

다음으로 일치하는 것을 찾습니다.

<SHIFT>F3

이전에 일치하는 것을 찾습니다.

F4

팝업 창의 테이블, , 프로시저, 함수, 또는 패키지를 설명합니다.

F5

스크립트로 실행합니다.

F6

커서를 Editor Results 패널 사이로 전환합니다.

F7

모든 텍스트를 지웁니다.

F8

이전 SQL 문을 재호출합니다(SQL Statement Recall 창을 불러옵니다).

F9

실행문을 실행합니다.

<CTRL>F9

실행(구문 분석) 없이 실행문을 검사합니다.

<SHIFT>F9

커서 위치에서 현재 실행문을 실행합니다.

F10

오른쪽 클릭 메뉴를 표시합니다.

F11

Script 같은 실행(=F5)

F12

편집기 내용을 지정된 외부 편집기로 전달합니다.

<CTRL>A

모든 텍스트를 선택합니다.

<CTRL>C

복사

<CTRL>D

프로시저 인수를 표시합니다.

<CTRL>E

현재 실행문에서 Explain Plan 실행합니다.

<CTRL>F

텍스트를 찾습니다(Find Text 창을 불러옵니다).

<CTRL>G

라인으로 이동합니다(Goto Line 창을 불러옵니다).

<CTRL>L

텍스트를 소문자로 변환합니다.

<CTRL>M

Make Code Statement

<CTRL>N

이름이 지정된 SQL 문을 재호출합니다(SQL Statement Recall 창을 불러옵니다).

<CTRL>O

텍스트 파일을 엽니다.

<CTRL>P

Strip Code Statement

<CTRL>R

검색 바꾸기(Find and Replace Text 창을 불러옵니다)

<CTRL>S

파일을 저장합니다.

<SHIFT><CTRL>S

파일을 다른 이름으로 저장합니다.

<CTRL>T

드롭다운을 표시합니다.

<CTRL>U

텍스트를 대문자로 변환합니다.

<CTRL>V

붙여넣기

<CTRL>X

잘라내기

<SHIFT><CTRL>Z

마지막으로 취소한 작업을 재실행합니다.

<ALT><UP>

이전 실행문을 표시합니다.

<ALT><DOWN>

다음 실행문을 표시합니다(<ALT><UP> 사용한 사용)

<ALT><PgUp>

이전 탭으로 이동

<ALT><PgDn>

다음 탭으로 이동

<CTRL><ALT><PgUp>

이전 결과 패널 탭으로 이동

<CTRL><ALT><PgDn>

다음 결과 패널 탭으로 이동

<CTRL><HOME>

데이터 그리드에서는 위의 레코드셋으로 이동하며, 결과 그리드에서는 커서가 위치한 행의 번째 열로 이동하고, 편집기에서는 텍스트의 번째 열과 번째 행으로 이동합니다.

<CTRL><END>

데이터 그리드에서는 레코드셋의 끝으로 이동하며, 편집기에서는 텍스트의 마지막 열과 마지막 행으로 이동합니다. 단원의 "주의" 참조하십시오.

<CTRL><SPACE>

코드 완성 템플릿을 활성화합니다.

<CTRL><TAB>

MDI Child 창의 콜렉션을 순환합니다.

<CTRL><ENTER>

커서 이치에서 현재 SQL 문을 실행합니다.

<CTRL>. (마침표)

테이블 이름을 자동으로 완성합니다

'DEVELOPMENT > Database' 카테고리의 다른 글

MSSQL2000, 2005 테이블 명세서 추출 쿼리문  (0) 2009.05.13
oracle 시작과 종료  (0) 2009.05.07
[oracle] decode 함수  (1) 2009.01.16
[ORACLE] 테이블 관련 정보 쿼리  (0) 2008.07.26
[MS-SQL] SELECT INTO  (0) 2008.05.20

한달만에 포스팅입니다. 좀 한가해졌다는 뜻이기도 합니다.
또 어떤 바쁜일이 생길지 모르지만 잠깐 동안 한가해진 동안에는 하고싶었던 공부도 하고
중간고사가 얼마 남지 않았기 때문에 너무 바뻐서 책 한번 펴보지 못한 교과서를 한번 펼쳐 봐야겠습니다. F만 나오질 않길 빌면서 말입니다. ^^;;

쓸데 없는 말은 그만하구요 최근 마이크로 소프트사에서 IE8 버전을 출시했는데요.
곧 오픈이 두개가 있는데 새로운 웹브라우저라니 정말 골치아픈 일이네요.
FF3나, 크롬이니 IE8이니 최근 정말 브라우저 전쟁인거 같습니다. 그에 따라서 웹 개발자들도 힘들구요.. 물론 기본에 충실한 개발자는 힘들지 않겠지만 저처럼 어영 부영 기초 빼고 배운 개발자들은 정말이지 너무 힘듭니다. ㅠㅠ

IE8버전이 나오면서 웹표준을 준수율을 극도로 개선을 시켰다는데 기존 IE7버전에서 돌아가던 멀쩡한 브라우저가 IE8에서는 돌아가지 않는 경우도 발생한다고 합니다.  
이게 말이 됩니까. 매번 버전이 바뀔때마다 안되니..기본적으로 하위 버전에도 맞쳐야지 않그렇습니까? 제말이 맞다면 하늘에 대고 "맞습니다." 하고 소리 한번 쳐주세요 ㅡ,.ㅡ^

근데 IE8에서 호환성을 위한 배려를 하지 않은게 아니군요. IE5, IE6, IE7버전의 호환성을 위해 몇가지 방법이 있는데 호환성 문제로 골치거리를 앓고 있는 분들은 한번 적용해보시면 좋은 해결책이 될꺼라 생각합니다.


DTD가 없는 웹 사이트 대응 방법

기본적으로 DTD가 없는 페이지는 아무런 대응을 할 필요가 없습니다.
IE8은 DTD가 없는 페이지는 기본적으로 Quirks Mode로 렌더링 하기 때문에 웹사이트가 깨지지 않습니다. Quicks Mode란 DTD를 표준에 따라 인식하지 못했던 예전 IE5브라우저의 렌더링을 그대로 표현하는 모드입니다. 표준을 따르지 않고 기존 하위 버전에 맞게 맞춰 렌더링을 한다는 말이죠.


DTD가 있는 웹사이트 대응 방법

DTD가 있는 웹사이트인 경우 최적화 된 브라우저의 버전에 따라서 대응 방법이 달라집니다.
첫째 : IE5에 최적화 된 페이지 대응법
둘째 : IE6에 최적화 된 페이지 대응법
셋째 : IE7에 최적화 된 페이지 대응법

MS는 낡은 웹 브라우저에 최적화된 페이지를 깨지지 않게 하기 위해서 <meta> 태그를 이용한 호환 유도 기법을 제공합니다.

DTD가 있고 IE5에 최적화 된 페이지 기법

<head>
<meta http-equiv="X-UA-Compatible" content="IE=5" />
</head>


<head></head> 사이에 다음과 같은 <meta> 태그를 사용하게 되면 IE5 렌더링을 흉내내는 Quirks Mode로 렌더링을 하게 된다.

DTD가 있고 IE6에 최적화 된 페이지 대응 방법

IE6에 최적화된 페이지는 개편을 해야한다. IE7로 최적를 해야 하는데 IE8에는 IE6 렌더링 엔진이 없기 때문인데 IE6에서 IE7버전과의 차이는 크지 않기 때문에 IE7로 렌더링 한 후에 다음 코드로 대응 한다.

<head>
<meta http-equiv="X-UA-Compatible" content="IE=7" />
</head>



DTD가 혼재되어 있는 웹  사이트 대응법

DTD가 혼재 되어 있는 웹 사이트는 DTD가 없는 페이지와 DTD가 있는 페이지를 구분하여 각각 다른 방법으로 적용해야 한다. 하지만 이런 호환 유도 코드를 DTD가 있는 페이지만 별도로 적용하는 것이 어렵다면 DTD가 있는 페이지만 IE7로 최적화 한 후 모든 페이지에 다음과 같은 코드를 작성한다.

<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
</head>


DTD가 없는 페이지는 여전히 Quirks Mode로, DTD가 있는 페이지는 IE7로 표준 모드로 렌더링 할것이다. 따라서 DTD가 있는지 없는지 없는지 여부에 관계없이 IE7로 렌더링 하는 'IE=7' 보다 DTD가 있고 없음에 따라 자동으로 렌더링 모드를 전환해 주는 'IE=EmulateIE7' 코드를 더욱 권장한다.

위의 방법은 각 페이지에 IE에 적용하는 각 페이지에 <meta>를 삽을을 해줘야만 했다.
하지만 이 방법은 모든 페이지에 적용을 해야 하므로 페이지 본수가 늘어날수록 정말 많은 일이 아닐수가 없다. 이 방법을 해결하기 위해서 서버측 응답 헤더에 호환 유도 코드를 삽입 할 수도 있는데 그 내용을 알아보겠다.

호환 유도 코드를 서버측 응답 헤더에 적용하는 방법

IIS에 적용 할 코드

<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <system.webServer>
  <httpProtocol>
   <customHeaders>
    <clear />
    <add name="X-UA-Compatible" value="IE=EmulateIE7" />
   </customHeaders>
  </httpProtocol>
 </system.webServer>
</configuration>


Apache에 적용 할 코드

X-UA-Compatible:IE=EmulateIE7

 

'DEVELOPMENT > Javascript' 카테고리의 다른 글

HTML 특수문자코드표  (0) 2009.07.22
[Event] observe 에서의 onload와 dom:loaded 의 차이  (0) 2009.05.21
[javascript] select box  (0) 2009.02.16
[HTML] 제어 문자  (0) 2009.01.16
[HTML 팁] HTML 소스 정렬 사이트  (0) 2008.12.27