Eclipse의 막강한 Ctrl + h

Programing 2014.10.29 14:09 Posted by 애플자라
자바 파일이 1200개 정도 되는데 그 안에서 net.sf.hibernate로 시작하는 패키지 이름을 org.hibernate로 바꿔줘야 합니다. 일일히 파일 열고 net.sf.hibernate로 검색해서 org.hibernate로 바꿔주는... 노가다는 정말 상상만 해도 끔찍합니다. Eclipse가 없다면 자바 파일 검색을 시작할 폴더와 검색어 두 개를 입력하는 프로그램을 만들어서 할 수도 있겠습니다. 그러나 Eclipse가 있기 때문에 그런 노고마저 하지 않아도 됩니다.

사용자 삽입 이미지

Ctrl + H 를 눌러서 Search 창을 띄우고 File Search 탭을 클릭합니다. Java Search가 아닙니다. 거기에는 Replace 단추가 없습니다.

그리고 첫 번째 칸에는 검색어를 주는데, 여기서 매우 익숙한 와일드 카드 ?와 *를 사용할 수 있어서 매우 편리합니다. 물론 오른쪽에 보이는 Regular expression을 클릭하고 정규 표현식을 사용하셔도 됩니다. (저는 그냥 와일드 카드로도 충분히...)

그리고 파일이름 패턴에서는 Java 파일에서만 변경할테니까, *.java로 입력해 줍니다. 그리고 Search나 Replace를 누르면 검색을 시작하고, 만약에 Replace를 누르셨다면 해당 부분을 대체할 텍스트를 입력할 창이 뜨게 됩니다.

사용자 삽입 이미지

이미 한 번 바꿨기 때문에 검색 된 결과가 없지만 저런 식으로 하면 됩니다.

 

출처 - http://whiteship.tistory.com/1472

[css] 모바일 웹 img 크기 조절 방법

Programing 2014.04.10 11:25 Posted by 애플자라

* 추가

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, minimum-scale=1.0, user-scalable=yes, target-densitydpi=medium-dpi" >

 

모바일페이지에서 이미지 크기를 가변적으로 변경하기

[ex]
브라우저 창 크기 변경시 이미지 사이즈가 줄었다 늘었다하는걸 볼 수 있습니다.
[html]
<div class="visual">
<img src="/m/img/visual.jpg" />
</div>
[css]
.visual { width:100%; margin:0 auto; text-align:center; }
.visual img { max-width:100%; }

 

출처 - http://www.dweb.co.kr/bbs/board.php?bo_table=webstandard&wr_id=20

 

 

 

140410_letter.html

 

 

* 디바이스마다 확인

http://troy.labs.daum.net/ > http://bit.ly/1i3hc19 검색

 

<meta name="viewport" content="width=320, initial-scale=2.3, user-scalable=no">

content : width [number | device-width], height [number | device-height], initial-scale [number], user-scalable [no | yes]

width : default 980, 범위 200 ~10,000 (숫자로 입력) 픽셀로 표시됨

height : width값에 따라 비유로 적용이 됨, 범위 223 ~ 10,000 (숫자로 입력) 픽셀로 표시됨

initial-scale : 웹페이지가 보일 때 최초 한번 적용되어서 보이는 비율, zoom in에 대한 범위를 다음 속성으로 지정할수 있다.

minimum-scale : default 0.25, 범위 0 ~ 10.0

maximun-scale : default 1.6, 범위 0 ~ 10.0

user-scalable : yes | no (no 속성은 스크롤 할때 input box에 enter가 입력 되는 것을 막음.

device-width : 기기 width 픽셀값

device-height : 기기 height 픽셀값

 

[Jsp]HttpServletRequest

Programing 2013.10.18 14:29 Posted by 애플자라

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page import="java.util.*" %>

<script>
 alert(document.cookie);
</script>
<html>
<body>
<%
HttpServletRequest req = (HttpServletRequest) request;
  
  out.println("ServerName - " + request.getServerName() + "<br>");
  out.println("ServerPort - " + request.getServerPort() + "<br>");
  out.println("Protocol - " + request.getProtocol() + "<br>");
  out.println("remoteAddr - " + request.getRemoteAddr() + "<br>");
  out.println("remoteHost - " + request.getRemoteHost() + "<br>");
  out.println("remotePort - " + request.getRemotePort() + "<br>");
  out.println("localName - " + request.getLocalName() + "<br>");
  out.println("localPort - " + request.getLocalPort() + "<br>");
  out.println("localAddr - " + request.getLocalAddr() + "<br>");
  out.println("Scheme - " + request.getScheme() + "<br>");
  

  
  Enumeration header_enum = req.getHeaderNames();
  while (header_enum.hasMoreElements()) {
   String header = (String) header_enum.nextElement();
   String header_value =  req.getHeader(header);
   out.println(header + " --> " + header_value + "<br>");
  }
%>
</body>
</html>

[웹보안]Apache httpd.conf 보안 설정

Programing 2013.10.16 14:47 Posted by 애플자라

아파치 기본 설정 파일인 httpd.conf 파일을 통해 보안을 강화 시킬 수 있다.

물론 웹서버 보안 프로그램을 사용해서 보안화 한다면 더욱 좋겠지만.. 기본적인 보안부터

시작하면 더 좋다고 생각한다.

 

------------------------------------------------------------------------------------

특정 IP 차단하기.. or 특정 IP 만 허용하기

------------------------------------------------------------------------------------

 

특정 IP(대역)를 사용하는 호스트 차단하기

 

# vi /usr/local/apache/conf/httpd.conf

.........

<Directory /usr/local/apache/htdocs>

Order Allow,Deny

Deny from 192.168.1

Allow from all

</Directory>

..........

 

위 설정은 192.168.1.0~254 IP를 사용하는 호스트들은 기본 DocumentRoot인 htdocs 에 접근하지

못한다. 물론.. 그 밑에 까지 몽땅 다 차단된다!!

 

만약 192.168.1.1 IP를 사용하는 호스트가 익스플로러를 사용해 웹서버에 접근을 시도한다면..

창에 이렇게 뜬다.-_-)/

 

 

 

----------------------------------------------------------------------------------------

 

특정 IP(대역)을 사용하는 호스트만 허용하기

 

# vi /usr/local/apache/conf/httpd.conf

........

<Directory /usr/local/apache/htdocs>

Order Deny,Allow

Allow from 192.168.1

Deny from all

</Directory>

........

위 설정은 192.168.1.0~254 IP를 사용하는 호스트들만 htdocs 디렉토리에 접근할 수 있다.

사내에서만 사용하는 웹서버를 구축한다면 유용할 듯 싶다.

 

참고로 ' Order Deny,Allow ' 의 뜻은 Allow 설정을 먼저 확인하고 그 다음 Deny 설정을 확인한다.

즉.. 뒤에 것이 우선한다는 뜻이다.

 

예를 들자면

 

<Directory /usr/local/apache/htdocs>

Order Allow,Deny

Deny from all

Allow from 192.168.1.1

</Directory>

 

언뜻 보면 192.168.1.1 IP를 사용하는 호스트만 htdocs 디렉토리에 접근할 수 있을 듯 보이지만..

Order 옵션을 보면 Deny가 뒤에 있다. 즉 먼저 Deny 설정을 확인한다는 뜻인데.. Deny 설정은

Deny from all 로 되어있다. 즉 모두 차단하겠다라는 의미를 가진다.

암만 192.168.1.1 이 접근이 허용되있다고 하더라도 Deny 설정에 걸리기 때문에..가차없다-_-

 

다른 예를 한번 들어보면..

 

<Directory /usr/local/apache/htdocs>

Order Deny,Allow

Allow from all

Deny from 192.168.1.1

</Directory>

 

이렇게 설정을 했다면.. 192.168.1.1 을 사용하는 호스트도 htdocs 디렉토리에 접근이 가능하다.

Order 옵션을.. 어떻게 적용하느냐에 따라서 자신이 원하는 것을 이룰지 모르지만 그렇지 않을 경우도 있기때문에.. 잘 생각해보고 적용해야 한다!!

 

--------------------------------------------------------------------------------------

 

서버 사이드 파일 설정

 

서버 사이드란?

간단하게 "웹 서버측에서 하는 작업들"이라고 말할 수 있다. 여기서 말하는 작업이란 구체적으로

웹브라우저(클라이언트)에서 넘어온 자료를 데이터베이스에 저장한다든지 어떤 수학적인 계산을 하여 결과를 만들어 낸다는 것을 의미한다. 이런 작업을 담당하는 것이 웹 프로그램이다.

웹 프로그램의 종류는 PHP, ASP, JSP, Perl 등등.. 이 존재한다.

 

특정 파일에 대해서도 접근을 허용하거나 불허용할 수 있다.

예를 하나 들어보자. 제로보드를 사용하는 유저들이라면 잘 알겠지만.. 관리페이지를 들어가기

위해서는 admin.php 를 통해야 한다. 이 것을 한번 막아보자-_-a

 

# vi /usr/local/apache/conf/httpd.conf

.......

<Files ~ "admin.php">

Order Deny,Allow

Deny from all

Allow from 192.168.1.1

</Files>

.......

 

이렇게 설정하면 192.168.1.1 IP를 사용하는 호스트만 admin.php에 접근할 수 있다.

요것을 잘 응용하면 좋다-_-)b

 

.bak, .old 파일들과 같은 서버사이드 소스파일을 접근 못하게 하는것이 젤 좋다-_-)b

php를 사용하다 보면 따로 dbconn.php 파일을 생성해서 DB에 접근하는데 중요한 것은..

이 파일 소스안에 DB에 접근할 수 있는 계정, password 가 그대로 존재한다는 것이다.

이것을 백업 좀 하겠다고-_-.. dbconn.bak 이나 dbconn.old로 카피해서 같은 디렉토리에

집어넣었다면 웹에서 직접 소스로 접근이 가능하다-_-.. 겁내 위험한거다;;;

 

<Files ~ ".bak$">
Order allow,deny
Deny from all
</Files>

<Files ~ ".old$">
Order allow,deny
Deny from all
</Files>

 

요렇게 막자^-^)b

 

또는.. 특정확장자를 PHP와 같은 서버사이드 언어로 설정해 웹 서버에 소스를 그대로 보이지 않고 실행하도록 하는 방법이 있다.

 

AddType application/x-httpd-php .php .inc .bak .old .c

 

요 방법두 나쁘지는 않은듯..^^

 

--------------------------------------------------------------------------------------

 

출처 - http://blog.daum.net/9401ymk/7087666

@echo off

:: <- 주석

::파일복사
::xcopy 복사대상경로 "복사위치경로" /d /s /c /y /i
::xcopy \\000.000.000.000\d$\filetest\*.* "d:\test" /d /s /c /y /i

::파일삭제
::forfiles /p 삭제대상경로 /m *.* /d -오늘로 부터 몇일전 /c "cmd /c del @FILE"
::forfiles /p c:\ /m *.* /d -12 /c "cmd /c del @FILE"

::네트웤 드라이브 연결 후 복사
::net use z:\\000.000.000.000\filetest 암호 /user:계정
::xcopy z:\\000.000.000.000\filetest "d:\test" /d /s /c /y /i
::net z: /del /yes

[출처] 윈도우서버 배치파일 파일 복사 및 삭제|작성자 프로

 

@echo off

::p   

xcopy C:\DLP_DB_backup\DefConQuatoss_log_DB_Backup.bak "\\10.100.210.33\it\06_DbBackup\DLP" /Y
xcopy C:\DLP_DB_backup\DefConQuatoss_DB_backup_day.bak "\\10.100.210.33\it\06_DbBackup\DLP" /Y
::exit

한글깨짐

head 에 다음과 같은 처리를 같이 해주면 왠만하면 해결이 된다.

<META HTTP-EQUIVE="CONTENT-TYPE" CONTENT="TEXT/HTML; CHARSET=KSC5601">

or
response.reset(); // response 버퍼를 비우고 respose 값을 세로 세팅

 

출처 - http://v3brs.egloos.com/1868783

[JAVASRIPT]팝업창 닫고 새로운 창 열기

Programing 2013.05.23 14:50 Posted by 애플자라

index.html 이 열리면 popup.html 파일이 열리고, popup.html 안에 있는 이미지를 클릭하면 popup.html 이 닫히고 새로운 타겟 URL을 새창으로 엽니다.

1. 팝업창을 호출하기(index.html)

<body onload="javascript:void(window.open('popup.html','','width=401,height=441,top=0,left=0,status=no,toolbar=no, resizable=no,scrollbars=no'))">

2. 팝업창으로 사용할 이미지를 담은 html 파일을 만들고(popup.html)

<body>
<a href='#' onclick="newwin();""><img src="팝업 이미지" /></a>
</body>

3. 여백 제거를 위해 아래의 스타일 시트를 <head>에 추가(popup.html)

<style>
*{margin:0;padding:0;border:0;width:100%;overflow-x:hidden;overflow-y:hidden;}
</style>

4. <head>에 팝업창이 스스로 닫히며 최종 타겟이 열리게 하는 스크립트 추가(popup.html)

<script language="Javascript">
flag = 1;
function newwin() {
if (flag==1) {
open("최종 타겟 url", "_blank");
self.close();
}
}
</script>

 

출처 - http://1sam-online.blogspot.kr/2011/08/closing-popup-self-and-then-popups-new.html

[아파치] access.log 설정

Programing 2013.04.10 09:18 Posted by 애플자라

access.log를 보면 이미지부터 js, css 모두 출력해주는 것을 볼 수 있다.

그런 파일들이 필요한 사람들도 있겠지만.. 나는 필요 없다.

 

httpd.conf의 IfModule log_config_module부분을 살펴보면 access_log에 출력할 확장자를 필터 할 수 있는 기능이 있다.

분홍색 음영부분이 설정된 부분이다.

 

 

<IfModule log_config_module>
    #
    # The following directives define some format nicknames for use with
    # a CustomLog directive (see below).
    #
    #LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>

    #
    # The location and format of the access logfile (Common Logfile Format).
    # If you do not define any access logfiles within a <VirtualHost>
    # container, they will be logged here.  Contrariwise, if you *do*
    # define per-<VirtualHost> access logfiles, transactions will be
    # logged therein and *not* in this file.
    #
#    CustomLog "logs/access.log" common

SetEnvIf Request_URI \.gif img-nosave
SetEnvIf Request_URI \.jpg img-nosave
SetEnvIf Request_URI \.png img-nosave
SetEnvIf Request_URI \.css img-nosave
SetEnvIf Request_URI \.js img-nosave

    CustomLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/access.log.%Y%m%d 86400" combined env=!img-nosave

    #
    # If you prefer a logfile with access, agent, and referer information
    # (Combined Logfile Format) you can use the following directive.
    #
    #CustomLog "logs/access.log" combined
</IfModule>

<IfModule log_config_module>
    #
    # The following directives define some format nicknames for use with
    # a CustomLog directive (see below).
    #
    #LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>

    #
    # The location and format of the access logfile (Common Logfile Format).
    # If you do not define any access logfiles within a <VirtualHost>
    # container, they will be logged here.  Contrariwise, if you *do*
    # define per-<VirtualHost> access logfiles, transactions will be
    # logged therein and *not* in this file.
    #
#    CustomLog "logs/access.log" common

SetEnvIf Request_URI \.gif img-nosave
SetEnvIf Request_URI \.jpg img-nosave
SetEnvIf Request_URI \.png img-nosave
SetEnvIf Request_URI \.css img-nosave
SetEnvIf Request_URI \.js img-nosave

    CustomLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/access.log.%Y%m%d 86400" combined env=!img-nosave

    #
    # If you prefer a logfile with access, agent, and referer information
    # (Combined Logfile Format) you can use the following directive.
    #
    #CustomLog "logs/access.log" combined
</IfModule>

 출처 - http://cipleme.tistory.com/entry/아파치-accesslog-설정

IE 호환성 보기 버튼 없애기

Programing 2013.01.09 17:35 Posted by 애플자라

IE 호환성 보기 버튼이란???

kr.yahoo.com(2011.10.07)

아직 야후코리아는 호환성 보기에 대한 조치를 하지 않았군요~
이미 오래전부터 자취를 감추기 시작한 이 버튼은 이제 찾기 드물어 졌지만, 간혹 이렇게 보이는 사이트가 있습니다.
Internet Explorer 8이나 9버전을 쓰시는 분들이 해당 사이트에 접속했을 때, 6이나 7버전으로 제작된 사이트가 깨져 이는 경우가 있습니다.
이 때 이 버튼을 누르게 되면 6~7을 렌더링 하던 방식으로 화면을 표시합니다. 깨져 보이는 것을 방지하는 방법인거죠~

 

결국 이 버튼은 옛날 방식으로 제작된 사이트에만 필요한 것 아닌가???

맞습니다. IE8, 9버전에 맞게 제작된 사이트에서는 더 이상 이 버튼이 필요하지 않죠~
오히려 사용자가 저 버튼을 무심코 누르게 되면, 최신 버전에 맞게 제작된 사이트가 뒤틀어져 보이는 역효과를 낳게 될 수도 있습니다.

 

해결책은?

메타 태그로 렌더링 방식을 지정해 줄 수 있습니다.
여기서 렌더링 방식을 바꾸는 법은 DOCTYPE으로 하는 방법도 있는데, 이건 버튼을 없애주진 않으니 패스~
그저 헤드 부분에 <meta http-equiv="X-UA-Compatible" content="IE=Edge"/>라고 넣어주시면 됩니다.

여기서 Edge는 지금 사용하는 브라우저가 지원하는 최고 버전의 렌더링 방식으로 표현하라는 의미입니다.
저 자리에 Edge대신, '5', '7', '8' 과 같은 식으로 넣어주면 해당 버전에 맞게 렌더링이 됩니다.

한동안 'Edge'대신 '8'을 넣은 태그가 돌아서 많은 분들이 그걸로 적용하셨을 수 있겠는데요~
그런 경우 IE9를 쓰더라도 CSS3가 제대로 적용되지 않는 문제가 생길 수 있으니, Edge로 수정하는 것이 바람직하다고 봅니다~

 

출처 - http://sjpison.tistory.com/145

[HTML]테이블이 긴글로 깨질때

Programing 2012.11.01 15:54 Posted by 애플자라

고정( 게시판의 width의 고정, 줄의 자동 줄바꿈)을 하시려면..

스타일을 이용하셔야 합니다.

 

스타일 내용은 두가지가 있습니다.

 

1 :::   style="TABLE-LAYOUT:fixed;"

2 :::   style="word-break:break-all"

 

1번은 가로폭을 고정하고 넘어가는 글자는 짤려서 안보입니다.

2번은 가로폭을 고정하고 글을 줄바꿈을 해줍니다.

 

사용법은 td나 table 안에 넣어 주시면 됩니다.