2014. 3. 6. 09:27 COMPUTER/JAVASCRIPT, JQUERY
[CSS] 커스텀 체크박스 스타일시트 예제, 모바일용, ✔

누군가 만들어놓은 커스텀 체크박스 스타일 시트 입니다.

사용법은 <input type="checkbox" class="custom-check"........

처럼 쓰면 됩니다.





input[type=checkbox].custom-check{ 
    position: absolute; overflow:hidden; width:1px;height:1px; 
    clip:rect(0 0 0 0);margin:-1px;padding:0;border:0; 
} 

input[type=checkbox].custom-check + label.custom-check{ 
    display:inline-block; 
    padding-left:1em; 
} 

input[type=checkbox].custom-check:checked + label.custom-check:before{ 
    position:absolute;margin-left:-1em; 
    content:'✔'; 
}


2014. 1. 23. 00:30 DEV ENVIRONMENT
[ECLIPSE/SVN] 이클립스에서 SVN으로 프로젝트 공유하기, SVN Share Project on Eclipse
최초로 프로젝트를 SVN에 등록하는 방법입니다.

1. 프로젝트명에 오른쪽 > Team > Share Project를 선택하세요.



2. repository type(저장소 타입)을 SVN을 선택하세요.



3. svn 서버의 주소, 사용자 계정, 암호를 입력하세요. 지속적으로 사용할거라면 Save authentication을 체크하세요.



4. 이제 커밋할 소스들이 출력됩니다. Ok버튼을 클릭하면 완료.


2014. 1. 13. 11:43 DEV ENVIRONMENT
[ECLIPSE/SECURITY] 이클립스 자바 소스 보안 취약점 스캐너 Lapse Plus 설치, 사용법

랩스 플러스는 이클립스에 플러그인으로 작동하는 툴 입니다.

자바 프로젝트의 보안 취약점을 스캔할 수 있습니다.

어떻게 처리해야하는지는 알려주는 기능은 없습니다.


다운로드:

http://code.google.com/p/lapse-plus/downloads/list



다운받은 파일을 eclipse > plugins 폴더에 복사합니다.



이클립스를 재시작 하면,

Windows > Show View > Lapse+ (VERSION) 에

Provenance Tracker, Vulnerability Sinks, Vulnerability Sources 뷰가 추가되었습니다.



추가된 뷰의 모습입니다.

뷰 안에서 마우스 오른쪽 > Find Sinks 를 선택하면 스캔을 시작합니다.


2013. 6. 18. 13:10 COMPUTER/JAVASCRIPT, JQUERY
[JS/IE7] 인터넷 익스플로어 7 용 JSON 라이브러리 파일

JSON.parse(), JSON.stringify(), JSON.encode()



json2.js


JSON 오브젝트를 생성하거나 스트링형태로 변환하거나 등등등 할때 쓰는 JSON.method들이 있습니다.

다른 브라우저들은 잘 되는데 IE7같은 고물 브라우저에서는 에러가 납니다.


<script type="text/javascript" src="json2.js" ></script>

처럼 첨부해주면 IE7에서도 JSON을 사용할 수 있습니다.


2012. 6. 5. 14:42 WINDOWS
Telnet HTTP Request, 텔넷으로 브라우저처럼 요청하기

텔넷으로,

브라우저에서 요청해서 받아온 소스를 (브라우저처럼 요청)

확인하는 방법입니다.

 

창고로 윈도우7은 텔넷이 없습니다.

추가/삭제에서 직접 설치하거나 다른 프로그램을 이용해야 합니다.

 

 

콘솔창에서 입력

cmd

telnet domain.com 80

 

 

텔넷에서 입력 (빠르게 입력안하면 요청 타임아웃 걸립니까 붙여넣기 해야 합니다.)

GET / HTTP/1.1
Host: kAUdo
User-Agent: Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 5.1)

 

첫줄의 겟과 HTTP사이의 슬래쉬에 원하는 주소를 입력하세요.

 

GET /index.jsp HTTP/1.1

GET /images/logo.gif HTTP/1.1

GET /common/function.js HTTP/1.1

이런식으로 입력하면 됩니다.

2012. 1. 3. 10:04 PROGRAMMING
[JAVA] 자바 달력 날짜 사용법, 현재날짜, 현재시간, 24시 java.util.Calendar
년, 월, 일, 시, 분, 초, 24시, 밀리초, 요일 구하기

소스 
import java.util.Calendar;

public class Calendar{
	public static void main(String args[]){
		Calendar calendar=Calendar.getInstance( );
		System.out.println("YEAR "+calendar.get(Calendar.YEAR));
		System.out.println("MONTH "+calendar.get(Calendar.MONTH)+1);
		System.out.println("DAY OF MONTH "+calendar.get(Calendar.DAY_OF_MONTH));
		System.out.println("HOUR OF DAY "+calendar.get(Calendar.HOUR_OF_DAY)); // 24시간
		System.out.println("MINUTE "+calendar.get(Calendar.MINUTE));
		System.out.println("SECOND "+calendar.get(Calendar.SECOND));
		System.out.print("HOUR AM/PM "+calendar.get(Calendar.HOUR));
		if (calendar.get(Calendar.AM_PM)==0) System.out.println("AM");
		else System.out.println("PM");

		System.out.println("MILLISECOND "+calendar.get(Calendar.MILLISECOND));
		System.out.println("DAY OF WEEK "+calendar.get(Calendar.DAY_OF_WEEK)); // 일요일= 1
		System.out.println("DAY OF YEAR "+calendar.get(Calendar.DAY_OF_YEAR)); // 1월1일=1
		System.out.println("WEEK OF YEAR "+calendar.get(Calendar.WEEK_OF_YEAR)); // 1월1일=1
		System.out.println("WEEK OF MONTH "+calendar.get(Calendar.WEEK_OF_MONTH)); // 첫째주=1
	}
}


결과
YEAR 2012
MONTH 01
DAY OF MONTH 3
HOUR OF DAY 10
MINUTE 0
SECOND 31
HOUR AM/PM 10AM
MILLISECOND 852
DAY OF WEEK 3
DAY OF YEAR 3
WEEK OF YEAR 1
WEEK OF MONTH 1

2011. 2. 25. 17:53 PROGRAMMING
[JAVA] 이미지 리사이즈용 소스, 썸네일 만들기, THUMBNAIL, IMAGE, RESIZE

사용법은 패스~

import [패키지];

File fileSource=new File("C:\ORIGINAL\","SOURCE.JPG");
File fileThumb=new File("C:\TEST\","AHNDOORI.JPG");  
ImageUtil.resizeImage(fileSource,fileThumb,128,96);

 

package [패키지];

import java.io.File;
import java.io.IOException;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.awt.image.PixelGrabber;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;

public class ImageUtil{
 public static final int RATIO=0;
 public static final int SAME=-1;

 // 소스파일, 타겟파일, 최대값
 public static void resizeImage(File src,File dest,int boxsize) throws IOException{
  int width=0;
  int height=0;
  Image srcImg=setImage(src);
  int srcWidth=srcImg.getWidth(null);
  int srcHeight=srcImg.getHeight(null);

  if(srcWidth>srcHeight){
   width=boxsize;
   height=(int) ((double) boxsize/(double) srcWidth);
  }else if(srcWidth<srcHeight){
   width=(int) ((double) boxsize/(double) srcHeight);
   height=boxsize;
  }else {
   width=boxsize;
   height=boxsize;
  }

  try{
   if(srcWidth<=boxsize && srcHeight<=boxsize) resizeImage(src, dest, -1, -1);
   else resizeImage(src, dest, width, height);
  }catch(IOException e){
   throw e;
  }
 }

 // 소스파일, 타겟파일, 넓이, 높이
 public static void resizeImage(File src,File dest,int width,int height) throws IOException{
  Image srcImg=setImage(src);

  int srcWidth=srcImg.getWidth(null);
  int srcHeight=srcImg.getHeight(null);
  int destWidth=-1, destHeight=-1;

  if(width==SAME) destWidth=srcWidth;
  else if(width>0) destWidth=width;

  if(height==SAME) destHeight=srcHeight;
  else if(height>0) destHeight=height;

  if(width==RATIO && height==RATIO){
   destWidth=srcWidth;
   destHeight=srcHeight;
  }else if(width==RATIO){
   double ratio=((double) destHeight)/((double) srcHeight);
   destWidth=(int) ((double) srcWidth*ratio)-1;
  }else if(height==RATIO){
   double ratio=((double) destWidth)/((double) srcWidth);
   destHeight=(int) ((double) srcHeight*ratio)-1;
  }

  Image imgTarget=srcImg.getScaledInstance(destWidth,destHeight,Image.SCALE_SMOOTH);
  int pixels[]=new int[destWidth*destHeight];
  PixelGrabber pg=new PixelGrabber(imgTarget, 0, 0, destWidth, destHeight, pixels, 0, destWidth);
  try{
   pg.grabPixels();
  }catch(InterruptedException e){
   throw new IOException(e.getMessage());
  }
  BufferedImage destImg=new BufferedImage(destWidth, destHeight, BufferedImage.TYPE_INT_RGB);
  destImg.setRGB(0, 0, destWidth, destHeight, pixels, 0, destWidth);
  ImageIO.write(destImg, "jpg", dest);
 }

 private static Image setImage(File src) throws IOException{
  Image srcImg=null;
  String suffix=src.getName().substring(src.getName().lastIndexOf('.')+1).toLowerCase();
  if(suffix.equals("bmp")) srcImg=ImageIO.read(src);
  else srcImg=new ImageIcon(src.toURI().toURL()).getImage();
  return srcImg;
 }

}

2011. 2. 1. 15:19 COMPUTER/JAVA, JSP
[JAVA/JSP] 쌩 JSP, 레알 초간단 파일 다운로드 소스

인터넷에 떠도는 '초간단 파일다운로드 소스'는 IBboard라는 라이브러리가 필요합니다.
그 소스는 개초보는 사용할 수 없습니다.
당신이 개초보라면 이 소스를 사용하는것이 정신건강에 좋습니다.

1. 소스에 '절대경로'를 실제 다운로드 받을 파일이 있는 위치로 수정하세요.
    윈도우라면 (C:\디렉토리\...), 리눅스라면 (/디렉토리/디렉토리/...)
2. 수정한 내용을 서버 루트에 'download.jsp'로 저장하십시요. (물론 이렇게 안해도 좋습니다.)
3. 브라우저를 키고 'http://서버주소/download.jsp?file=파일명' 으로 테스트하면 됩니다.
* 파일명은 서버에 존재해야합니다.

<%@ page contentType="application;" %>
<%@ page import="java.util.*,java.io.*,java.sql.*,java.text.*"%>
<%
String strFilename=java.net.URLDecoder.decode(request.getParameter("file"));
String strFilenameOutput=new String(strFilename.getBytes("euc-kr"),"8859_1");
File file=new File("절대경로"+strFilename);
byte b[]=new byte[(int)file.length()];
response.setHeader("Content-Disposition","attachment;filename="+strFilenameOutput);
response.setHeader("Content-Length",String.valueOf(file.length()));
if(file.isFile()){
 BufferedInputStream fin=new BufferedInputStream(new FileInputStream(file));
 BufferedOutputStream outs=new BufferedOutputStream(response.getOutputStream());
 int read=0;
 while((read=fin.read(b))!=-1){outs.write(b,0,read);}
 outs.close();
 fin.close();
}
%>

이것도 안되면,
아래 댓글창에 질문을 올리거나,
머리를 쥐어뜯어버리세요.
2010. 10. 11. 10:01 COMPUTER/JAVASCRIPT, JQUERY
[AJAX] 기본 예제, httpRequest Sample

ajax의 가장 기본이자 핵심인 httpRequest,
함수로 만들어서 쓰면 코드를 줄일 수 있습니다.

var httpRequest=null;

function getXMLHttpRequest(){
 if (window.ActiveXObject){
  try{
   return new ActiveXObject("Msxml2.XMLHTTP");
  }catch(e){
   try{
    return new ActiveXObject("Microsoft.XMLHTTP");
   }catch(e1){ return null; }
  }
 }else if (window.XMLHttpRequest) return new XMLHttpRequest();
 else return null;
}

function sendRequest(url,params,callback,method){
 httpRequest=getXMLHttpRequest();
 var httpMethod=method ? method : 'GET';
 if(httpMethod!='GET' && httpMethod!='POST') httpMethod='GET';
 var httpParams=(params==null || params=='') ? null : params;
 var httpUrl=url;
 if (httpMethod=='GET' && httpParams != null) httpUrl=httpUrl+"?"+httpParams;
 httpRequest.open(httpMethod,httpUrl,true);
 httpRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
 httpRequest.onreadystatechange=callback;
 httpRequest.send(httpMethod=='POST' ? httpParams : null);
}


사용법

sendRequest("test.jsp", "attr=10&value=안두리", funcReceived, "POST");

function funcReceived() {
 if (httpRequest.readyState == 4) {
  if (httpRequest.status == 200) {
   alert(httpRequest.responseText);
  }
 }
}

최근에 올라온 글

최근에 달린 댓글