웹 서핑을 하다보면 현재 보고 있는 페이지를 다시 보고 싶은 경우가 있습니다. 그런때 보통은 북마크를 이용해 페이지를 저장해 놓았다가 다시 보는 방법을 이용하죠. 하지만 한번만 더 보려고 페이지를 북마크에 저장해 놓는 것은 상당히 비효율적입니다. 한번 다시 보고 나면 북마크에서 해당 페이지를 일일히 제거해 주어야 하고 이런 것을 귀찮아 하는 사람일 경우 북마크가 지저분해 지고 말겠죠.

이럴때에 크롬의 TabCloud 확장 프로그램은 상당히 유용하게 사용될 수 있습니다. TabCloud는 크롬에서 현재 열려있는 모든 탭을 저장해 놓았다가 나중에 다시 열어볼 수 있는 기능을 제공합니다. 



사용법은 상당히 간단합니다. 일단 크롬 웹 스토어에서 TabCloud를 찾아 설치해 주면 아래와 같은 구름모양 아이콘이 크롬 부라우져의 상단에 나타나게 됩니다. 이 아이콘을 누르면 현재 크롬 브라우저에 열려진 탭의 목록이 맨 상단에 나오고 그 아래로 기존에 TabCloud에 저장해 놓았던 탭의 목록이 나옵니다.

[##_http://plasticradio.tistory.com/script/powerEditor/pages/1C%7Ccfile9.uf@186ACB4F4F066D73142A19.png%7Cwidth=%22324%22%20height=%22376%22%20alt=%22%22%20filename=%22%EC%9D%B4%EB%AF%B8%EC%A7%80%202.png%22%20filemime=%22image/jpeg%22%7C_##]

여기서 현재 크롬 브라우저의 열려진 탭을 저장하고 싶으면 플로피디스켓 모양의 아이콘을 클릭하면 되고, 기존에 저장해 놓았던 탭 목록을 크롬 브라우저상에 다시 열고 싶으면 +모양의 아이콘을 클릭하면 됩니다. 또한 -모양 아이콘 클릭시 저장해 놓았던 탭 목록을 삭제할 수 있습니다.



TabCloud의 한가지 아쉬운 점은 탭을 개별적으로 저장하거나 열 수 없다는 점입니다. 무조건 현재 열려진 모든 탭을 다 저장하고 이후 저장되었던 탭을 다시 열때도 무조건 저장했던 탭 그대로 열 수밖에 없습니다.

Posted by 플라스틱라디오

Interpolation 수식을 이용하여 프레임 애니메이션을 구현하면 서서히 가속하거나 감속하는 애니메이션을 만들 수 있습니다. Interpolation 수식에는 여러 방식이 있습니다.




부동소수점 연산을 이용한 프레임 의존적인 감속 보간  

부동소수점 연산을 이용하는 경우 Euler 보간법과 달리 지수 함수를 사용하지 않기 때문에 CPU에 부담을 덜 줍니다. 따라서 감속 보간을 구현할 경우 Euler 보간법 보다 부동소수점 연산을 이용하는 것이 더 효율적입니다.

부동소수점 연산을 이용한 프레임 의존적인 감속 보간에 사용되는 수식은 아래와 같습니다.

F(x) = (x_0 * (weight - 1) + x_final) / weight

x_0 : 시작 좌표
x_final : 마지막 좌표
weight : 기울기의 곡선 처리를 부드럽게 적용하기 위한 가중치 상수




위의 수식을 이용해 소스 상에서 감속애니메이션을 구현하는 방법은 아래와 같습니다.
float weight = 8.0f; //가중치 상수
int n = 600;

x_0 = (x_0 * (weight - 1.0f) + x_final) / weight;
interpolation_values[interpolation_index++] = x_0;

for(int i=0; i<n; i++) {
   x_1 = (x_0 * (weight - 1.0f) + x_final) / weight;
   interpolation_values[interpolation_index++] = x_1 - x_0; //x의 변화량을 보간 값으로 저장
   x_0 = x_1;
}




출처 : 나의별
Posted by 플라스틱라디오

커스텀 위젯에 사용자 속성을 정의하려면 아래의 순서를 따라야 합니다.

1. res/value/attrs.xml 에 사용자 속성을 정의
2. xml에서 사용자 속성을 사용하기 위한 namespace를 지정한 후 커스텀 위젯의 속성에 사용자 속성을 정의
3. 커스텀 위젯 소스코드(.java)에서 사용자 속성의 값을 가져와 사용





attrs.xml에 사용자 속성 정의  

아래와 같이 declare-styleable 태그 안에 attr 태그로 사용자 속성을 정의합니다. declare-styleable 태그안의 name 속성은 커스텀 위젯 소스코드(.java)에서 사용자 속성의 값을 가져오기 위해 사용됩니다. 
<?xml version="1.0" encoding="utf-8"?>
<resources>
	<declare-styleable name="DragButton">
	    <attr name="button_src" format="reference"/>
	</declare-styleable>    
</resources>

attr 태그의 format 속성의 값으로는 boolean, integer, float, dimension, reference(id값), string, color(색상코드값), fraction, enum, flag 등이 사용될 수 있습니다.




xml의 커스텀 위젯에 사용자 속성 정의  

커스텀 위젯에 사용자 속성을 정의합니다. 이를 위해서는 먼저 사용자 속성을 사용하기 위한 네임스페이스를 지정해 주어야 합니다. (android 는 안드로이드에서 기본으로 제공하는 속성을 사용하기 위한 네임스페이스입니다.)

네임스페이스의 지정은 루트 태그안에 다음과 같이 명시하면됩니다. 이때 네임스페이스명은 자신이 원하는 이름으로 지정하면 되고, 애플리케이션의 패키지명 또한 정확히 지정해 주어야 합니다. (커스텀 위젯 소스코드의 패키지명이 아니라 애플리케이션의 패키지명임을 주의해야 합니다.)

xmlns:네임스페이스명="http://schemas.android.com/apk/res/애플리케이션의 패키지명"


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:dragbutton="http://schemas.android.com/apk/res/com.plasticradio.footballtvguide"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <TextView 
        android:id="@+id/alarm_tv_test"
        android:layout_alignParentLeft="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <com.plasticradio.widget.DragButton
		android:id="@+id/alarm_dragButton"
		android:layout_below="@id/alarm_tv_test"
		dragbutton:button_src="@drawable/drag_button_normal"
		android:layout_width="fill_parent"
		android:layout_height="fill_parent" />
</RelativeLayout> 




커스텀위젯 소스코드에서 사용자 속성 사용  

커스텀 위젯 소스코드(.java)의 생성자에서 context, attr 파라미터 값을 이용해 TypeArray 객체를 생성한 후 이로 부터 xml에 정의했던 사용자 속성을 가져와 사용합니다.
public DragButton(Context context, AttributeSet attr) {
super(context, attr); //위젯의 Attribute 값을 가져와서 변수에 저장 TypedArray typedArray = context.obtainStyledAttributes(attr, R.styleable.DragButton); int dragBtnId = typedArray.getResourceId(R.styleable.DragButton_button_src, 0); }




참고 : 호군의 "Code 속으로"
Posted by 플라스틱라디오

보통 MySQL에서 like 검색을 쓰는 경우에는 아래와 같이 사용합니다.
SELECT * FROM 테이블명 WHERE 칼럼명 LIKE '%검색어%';



하지만 iBatis에서 like 검색을 쓰려면 concat 메소드를 사용해야 합니다. 
SELECT * FROM 테이블명 WHERE 칼럼명 LIKE CONCAT('%',#검색어#,'%');

'웹프로그래밍 > iBatis' 카테고리의 다른 글

iBatis(MySQL 연동)에서의 LIKE 명령어 사용  (0) 2011.12.29
Posted by 플라스틱라디오
TAG ibatis, like, MySQL

출처 : 랩하는 프로그래머
Posted by 플라스틱라디오

사용중인 포트번호하려면 netstat 명령어를 사용하면 됩니다. netstat 명령어의 세부 옵션에 대한 자세한 사항은 cmd 창에서 netstat ? 를 입력하면 확인할 수 있습니다.

netstat -ano 



특정 포트의 사용 여부를 확인하고 싶으면 아래와 같이 cmd 창에 명령어를 입력하면 됩니다. 

netstat -ano | find "포트번호"



특정 포트를 사용하고 있는 프로세스를 중지하길 원한다면 아래와 같은 명령어를 사용하면 됩니다.

for /f "token=5" %p in ('netstat -ano ^| find ":포트번호" ') do taskkill /f /pid %p



 
Posted by 플라스틱라디오

Key Pressed Javascript Key Code Key Pressed Javascript Key Code
backspace 8 tab 9
enter 13 shift 16
ctrl 17 alt 18
pause/break 19 caps lock 20
escape 27 page up 33
page down 34 end 35
home 36 left arrow 37
up arrow 38 right arrow 39
down arrow 40 insert 45
delete 46 0 48
1 49 2 50
3 51 4 52
5 53 6 54
7 55 8 56
9 57 a 65
b 66 c 67
d 68 e 69
f 70 g 71
h 72 i 73
j 74 k 75
l 76 m 77
n 78 o 79
p 80 q 81
r 82 s 83
t 84 u 85
v 86 w 87
x 88 y 89
z 90 left window key 91
right window key 92 select key 93
numpad 0 96 numpad 1 97
numpad 2 98 numpad 3 99
numpad 4 100 numpad 5 101
numpad 6 102 numpad 7 103
numpad 8 104 numpad 9 105
multiply 106 add 107
subtract 109 decimal point 110
divide 111 f1 112
f2 113 f3 114
f4 115 f5 116
f6 117 f7 118
f8 119 f9 120
f10 121 f11 122
f12 123 num lock 144
scrool lock 145 semi-colon 186
equal sign 187 comma 188
dash 189 period 190
forward slash 191 grave accent 192
open bracket 219 back slash 220
close braket 221 single quote 222
Posted by 플라스틱라디오
외부 CSS 파일을 jsp 페이지에 import하는 방법은 link 태그를 사용하는 것과 style 태그 안에 @import 를 사용하는 것 2가지가 있습니다.

<link rel='stylesheet' href='a.css'> <!-- link 태그 사용 -->
<style>@import url('a.css');</style> <!-- import 사용 -->


둘 중 어느것을 사용해도 괜찮지만 link 태그를 사용하는 것이 @import를 사용하는 것보다 더 안정적입니다. link 태그를 이용하면 모든 브라우저에서 병행 다운로드를 보장하기 때문입니다.

link 태그 사용시와 @import 사용시의 속도 차이에 관한 자세한 내용은 아래의 링크를 참조하시면 됩니다.
seye2 님의 이글루 

'웹프로그래밍 > CSS' 카테고리의 다른 글

외부 CSS 파일 임포트하기  (0) 2011.12.26
div 요소를 브라우저 가운데로 수평 정렬하기  (0) 2011.12.26
CSS 수직 정렬  (0) 2011.12.23
Posted by 플라스틱라디오
TAG CSS
div 요소를 브라우저 화면의 가운데로 수평 정렬하려면 가운데 정렬하기를 원하는 div 태그'margin:0px auto' CSS 속성을 추가하면 됩니다.


<body>
    <div style="margin:0px auto"></div>
</body>

'웹프로그래밍 > CSS' 카테고리의 다른 글

외부 CSS 파일 임포트하기  (0) 2011.12.26
div 요소를 브라우저 가운데로 수평 정렬하기  (0) 2011.12.26
CSS 수직 정렬  (0) 2011.12.23
Posted by 플라스틱라디오
TAG CSS, div
출처 : seye2님의 이글루

'웹프로그래밍 > CSS' 카테고리의 다른 글

외부 CSS 파일 임포트하기  (0) 2011.12.26
div 요소를 브라우저 가운데로 수평 정렬하기  (0) 2011.12.26
CSS 수직 정렬  (0) 2011.12.23
Posted by 플라스틱라디오
TAG CSS


맨 위로