728x90

O형과 B형의 관계,O형과 B형의 웃긴 관계

O형과 B형의 관계 재밌는 O형과 B형의 관계 사진이네요.
혈액형 O형과 B형은 각각 성격이 정반대이면서 관계는 좋죠.
O형과 B형은 잘 맞는다고 합니다. 관계가 좋은 이유는 따로있는데요.

O형과 B형의 관계




O형과 B형의 관계 사진은 트위터에 올라온 사연입니다.
O형과 B형의 관계가 좋은 이유를 로봇이 설명해주는데 재미있기때문이라고 합니다.
여러분들은 혈액형 성격을 믿으시나요?
혈액형 성격을 믿는 사람들은 왜 O형이 뒤치다꺼리를 하는줄 아실거에요.
사실 남자와 여자 모두 O형 혈액형이 가장 성격이 좋다고 하죠.
물론 그 혈액형을 가진 사람이라고 성격이 안좋은 사람도 많더라구요.
가장 성격이 안좋은것은 당연히 어떤 혈액형인줄알죠.
B형의 뒤치다꺼리를 하지만 워낙 재미있어서 절대로 관계를 끊을수 없다고 합니다.

A형여자 : A형남자 - 안정적 애정

A형여자 : B형남자 - 여자가 힘들다
A형여자 : O형남자 - 이상적 커플
A형여자 : AB형남자 - 남자가 이끌어가는 안정된 만남
B형여자 : A형남자 - 여자와 다툴 우려가 있다
B형여자 : B형남자 - 서로 갈길을 간다
B형여자 : O형남자 - 호흡이 잘 맞는 커플
B형여자 : AB형남자 - 남자는 cool, 여자는 hot
O형여자 : A형남자 - 여자가 조금 더 양보를 해야 한다
O형여자 : B형남자 - 손발이 척척 맞는 커플
O형여자 : O형남자 - 여자가 리드하지만, 외롭다
O형여자 : AB형남자 - 환상적인 커플
AB형여자 : A형남자 - 쉽게 친해지지만 싸울 가능성이 높다
AB형여자 : B형남자 - 상호보완/약간의 트러블
AB형여자 : O형남자 - 최산의 파트너 쉽/돌연 충돌 우려
AB형여자 : AB형남자 - 친구같이 의기투합 하며, 활기찬 커플









 

728x90

'웃음찾기' 카테고리의 다른 글

공부하면 망하는 이유???  (0) 2012.08.13
어느 행자의 명언  (0) 2012.08.10
1126611에 사선을 그으면 사랑해가 된다.  (0) 2012.06.28
이것 또한 지나가리라.  (0) 2011.07.05
토요일,일요일,월요일 표정.  (0) 2011.06.11
728x90

건강의 측면에서 40살의 나이는 중요한 의미를 갖는다. 인체에서 건강을 좌우하는 많은 위험 요소들이 이 시기를 전후해 급증하기 때문이다.

40대는 업무와 양육, 부모 부양 등 감당해야 할 일들이 많은 시기인 만큼 자칫 건강에 소홀하기 쉽지만 건강 장수를 준비해야 할 중요한 시기다.

40살을 전후한 시점에서 보다 건강해지는 8가지 방법을 소개한다.

1. 눈에 신경 써라

40살이 되면 시력이 저하되기 시작하기 때문에 눈에 신경을 써야 한다.

눈의 손상을 최소화하기 위해 우선 선글라스를 착용하는 것이 좋다. 태양에 장시간 노출되면 백내장의 위험이 높아진다. 선글라스는 자외선A(UV-A)와 자외선B(UV-B)의 차단 기능이 있는지 반드시 확인해야 한다.

산화방지제비타민, 미네랄 등을 많이 함유한 과일과 채소를 많이 먹으면 시력의 손실을 늦추는데 도움이 된다.

나이 들어 황반변성으로 시력 장애를 겪는 사람도 많다. 붉은색 과일과 채소에 많은 리코펜과 산화방지제를 많이 섭취하면 시력 손실을 늦출 수 있다.

2. 수치에 유념하라

혈압과 콜레스테롤 수치, 혈당, 몸무게 등 건강과 관련이 있는 수치에 신경을 써야 한다. 이들 건강 관련 수치를 알면 잠재적 질환의 위험 요소들을 미리 파악하는데 도움이 된다. 일례로, 고혈압을 가진 사람은 심장병, 심장발작, 신장질환의 위험이 상대적으로 높다.

3. 가족력을 살펴라

결장 검사는 일반적으로 50살이 되어 많이 하지만 가족 가운데 결장암을 앓은 사람이 있다면 40살에 검사를 받아 봐야한다. 심장병도 마찬가지다. 칼슘 검사는 동맥 경화가 시작되는지, 또 라이프스타일과 투약이 필요한지를 알아보는데 도움을 준다. 가족 누군가가 걸린 질병은 특히 유념해야 한다.

4. 근육을 강화하라

40살이 되면 해마다 1%의 근육이 손실된다. 매주 유산소운동과 근력 운동을 적절히 배합하는 운동을 하면 도움이 된다. 꼭 헬스장이 아니더라도 가정이나 직장에서 적당한 무게를 느낄 수 있는 일상 도구를 이용해 저항성 운동을 해주면 도움이 된다.

나이가 들수록 유연성이 떨어진다. 요가와 필라티스 등을 하면 유연성과 근력, 균형감 등을 개선하는데 유용하다. 나이가 들어도 근육량과 근력만 유지할 수 있다면 젊었을 때의 활기 넘치는 활동을 그대로 즐길 수 있다.

5. 섬유질을 섭취하라

설탕 등의 섭취를 줄여 칼로리 섭취를 낮추는 대신 섬유질이 많은 음식과 수분의 섭취를 늘려야 한다. 우리 주변에는 살코기, 단백질, 과일과 야채, 저지방 유제품, 통밀, 전곡 등과 같이 고영양 식품들이 많다.

이 제품들은 나이에 관계없이 생존을 위해 언제나 중요하다. 나이가 들어갈수록 필요한 칼로리의 양은 줄어들더라도 이들 고영양 음식을 지속적으로 섭취하는 것이 좋다.

6. 라이프스타일을 생각하라

건강한 라이프스타일은 심장병과 심장 발작을 예방하는데 도움이 된다.

심장병의 위험은 나이가 들수록 높아지고, 노화를 치유하는 근본적인 방법은 없다. 그러나 허리둘레를 줄인다면 심장병과 당뇨, 혈관질환의 위험을 상당히 낮출 수 있다.

규칙적인 신체활동은 스트레스를 줄이고 건강한 체중을 유지할 수 있게 해준다. 과일과 야채, 불포화 지방을 많이 섭취하면 혈관을 건강하게 유지할 수 있고, 이는 심장과 두뇌 건강에 도움이 된다. 뿐만 아니라 복부비만의 예방에도 좋다.

7. 금연

흡연자는 40살이 되면 특히 심각하게 금연을 고민해야 한다. 그리고 수단과 방법을 가리지 않고 금연을 해야 한다. 필요하다면 금연 보조제 등의 도움을 받는 것도 좋다.

결코 쉽지 않지만 금연은 거의 모든 암과 심장, 폐, 신장 등과 관련된 수많은 질병의 위험을 낮춰 준다.

8. 갑상선을 주목하라

기력이 떨어지고, 몸무게가 늘어나며, 머리카락이 줄고, 피부의 탄력이 떨어지면 갑상선 검사를 받아야 한다. 목 부위에 있는 갑상선은 에너지의 양과 호르몬의 조절에 관여하며 40살이 되면 갑상선의 질병이 나타나기 시작한다.

갑상선 기능의 저하는 유전적 요인에 의해 크게 영향을 받지만 적절한 처방에 의해 지연시킬 수 있다.
stephano@cbs.co.kr

728x90

'채식' 카테고리의 다른 글

채식인을 위한 영양 밸런스  (0) 2012.07.14
채식이 좋은 이유  (0) 2012.07.14
한달간의 채식  (0) 2012.07.11
채식관련 사이트  (0) 2012.07.11
728x90

 

복사http://blog.naver.com/pjhpjh5827/60166951893

SQL2008버젼 부터의 로그 축소방법이 공유된 것이 없어 글을 올립니다.

아래의 쿼리로 보통 로그파일의 용량을 축소하지만,
WITH TRUNCATE_ONLY, WITH NO_LOG 옵션은 SQL2008 이후 버젼에서는 지원되지 않습니다.

BACKUP LOG MNET_BIlL_DB WITH TRUNCATE_ONLY 를 실행하면 아래와 같은 에러가 발생합니다.
'TRUNCATE_ONLY'은(는) 인식할 수 없는 BACKUP 옵션입니다.

#기존 사용 방법
-- 트랜잭션로그파일최소의단위로축소
BACKUP LOG MNET_BIlL_DB WITH TRUNCATE_ONLY

-- 트랜잭션로그파일을삭제

BACKUP log MNET_BIlL_DB WITH NO_LOG

-- 트랜잭션로그파일을10메가로생성

DBCC SHRINKFILE (MNET_BIlL_DB_log, 10)

SQL2008 이후 버젼부터는 아래의 방법으로 해결하시면 됩니다.
-- 복구모델을 SIMPLE로 변경 후 SHRINKFILE을 이용해 로그를 삭제 후 다시 복구모델을 FULL로 변경

EX)
EXEC sp_helpdb MNET_BIlL_DB
go

--namesize

--MNET_BIlL_DB667904 KB

--MNET_BIlL_DB_log770752 KB

-- 복구모델을변경

ALTER DATABASE MNET_BIlL_DB SET RECOVERY SIMPLE

go

-- 로그를잘라낸다.

DBCC SHRINKFILE(MNET_BIlL_DB_log)

go

EXEC sp_helpdb MNET_BIlL_DB

go

-- 축소되었다.

--namesize

--MNET_BIlL_DB667904 KB

--MNET_BIlL_DB_log 576 KB

-- 복구모델을변경

ALTER DATABASE MNET_BIlL_DB SET RECOVERY FULL

go


아래는 트랜잭션 로그 축소 참고 링크입니다.
http://www.sqler.com/index.php?_filter=search&mid=bColumn&search_target=title&search_keyword=2008&document_srl=347242
http://www.sqler.com/index.php?_filter=search&mid=bColumn&search_target=title&search_keyword=%ED%8A%B8%EB%9E%9C%EC%9E%AD%EC%85%98&document_srl=366033
http://www.sqler.com/index.php?_filter=search&mid=bColumn&search_target=title&search_keyword=%EB%A1%9C%EA%B7%B8&document_srl=105214
http://www.sqler.com/index.php?_filter=search&mid=bColumn&search_target=title&search_keyword=%EB%A1%9C%EA%B7%B8&document_srl=129640

728x90

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

Session 관리 ( Inproc,StateServer,SQL Server )  (0) 2013.06.14
mssql 2008 로그 축소  (0) 2013.04.29
MS SQL 버전 확인 법  (0) 2012.10.19
MSSQL 2008 로그 축소 방법  (0) 2012.09.11
MS SQL 외래키 지정  (0) 2012.09.10
728x90

다정다감한 사람이 되도록 노력하자.

사람의 감정을 상하게 하는 것은 한 순간인 듯 싶다.

누구에게 상처를 준 것은 아닌지?

상처 받는 말을 한 것은 아닌지.

사는 동안 발생하는 많은 순간 속에서,

사는 동안 마주쳤던 많은 스침 속에서,

난, 나는 어떤 존재였을까?

예전 모든 기억들을 잃어버리고,

저만치 멀리 서 있는 내 자신을 바라 보곤 한다.

저만치 멀어지더라도 너무 집착하지는 말자.

아름답게 살아가는 순간까지의 순간을 글로 기록하고,

삶이 마감되어져 가는 순간 하나씩 펼쳐 보도록 하자.

되도록 좋은 기억들만,

아름다운 순간들만 기록하겠지만,

스침 속에서 서운하게 했던 사람이 있었다면

마음 깊이 사과하며

그 사람으로 인해 느꼈을 고마운 감정들을 기록하도록 하자.

무엇인지.

내 앞을 서성거리는 환한 빛줄기,

그 빛줄기가 이 세상 끝나

저 만치 멀리있는 또 다른 시공으로 나를 안내해 줄 거다.

시간이 이만치 흘러 버렸네.

또 얼마나 가야 다른 것들이 보여 질런지.

이 순간의 감정,

그 느낌,

세상 가장 아름다운 장소가 있다한 들

이 순간의 감정 만큼이야 하겠으랴.

728x90

'에세이' 카테고리의 다른 글

오년 후에는  (0) 2013.03.13
어느 봄날 진한 커피향  (0) 2013.03.08
10월 25일 가을 어느날  (0) 2012.10.25
사랑의 엇갈림  (0) 2012.07.16
장맛비  (0) 2012.07.15
728x90


if( navigator.appName.indexOf("Microsoft") > -1 ) // IE?

{

if( navigator.appVersion.indexOf("MSIE 6") > -1) // IE6?

{

// code

}

else if( navigator.appVersion.indexOf("MSIE 7") > -1) // IE7?

{

// code

}

}


출처 - http://www.dezrare.com/604


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


1. 브라우저 헤더정보

<script language="javascript">

function userAgent()
{
var browserType = "";
if(navigator.userAgent.indexOf("MSIE") != -1)
{
browser = "IE";
return browserType;
}
if(navigator.userAgent.indexOf("Firefox") != -1)
{
browser = "FF";
return browserType;
}
if(navigator.userAgent.indexOf("Mozilla") != -1)
{
browser = "MZ";
return browserType;
}
if(navigator.userAgent.indexOf("Opera") != -1)
{
browser = "OP";
return browserType;
}
if(navigator.userAgent.indexOf("Safari") != -1)
{
browser = "SF";
return browserType;
}
if(navigator.userAgent.indexOf("Mac") != -1)
{
browser = "MC";
return browserType;
}

browser = "NG";
return browserType;
}
</script>

2. 객체존재여부
<script language="javascript">
function userAgent()
{
if(window.ActiveXobject){
browser = "IE";
return browserType;
}
else {
browser = "NG";
return browserType;
}
}
</script>


출처: http://blog.naver.com/cowboy0626/30007053474

728x90

'프로그래밍 > 자바스크립트' 카테고리의 다른 글

정규 표현식 요약  (0) 2013.10.02
quick menu 바  (0) 2013.07.19
자주 쓰이는 JQuery Ajax 예제  (0) 2011.08.02
jQuery 요약  (0) 2011.08.02
자바스크립트 실수 모음  (0) 2011.05.20
728x90

Session은 사용자와 컴퓨터 또는 두 대의 컴퓨터간의 활성화된 접속을 의미하며, 이런 세션에 관한 모든 것을 처리하는 것이 바로 Session 객체입니다. 이전 강좌에서 살펴본 Application 객체가 응용 프로그램(웹 사이트)의 전체를 지배하며, Application 변수는 누

 

▶ 세션 관리

성공적인 웹 응용 프로그램 개발에 있어 어려운 과제 중 하나는 사용자가 응용 프로그램의 여러 페이지 간을 이동할 때 방문, 또는 세션에 대한 사용자 정보를 유지 관리하는 것입니다. HTTP는 상태를 구별하지 않는 프로토콜이며 이것은 웹 서버가 페이지에 대한 각 HTTP 요청을 독립 요청으로 취급한다는 의미입니다. 즉, 이전 요청이 발생한 지불과 몇 초 후에 현재 요청이 발생하더라도 서버에는 이전 요청에 대한 정보가 남지 않습니다. 이전 요청을 기억하지 못하는 것은 온라인 카탈로그와 같이 사용자가 카탈로그의 여러 페이지 간을 이동하는 동안 선택한 카탈로그 항목을 추적할 필
요가 있는 응용 프로그램을 쓰기 어렵다는 것을 의미합니다.

ASP는 세션 정보 관리 문제에 대한 유일한 솔루션을 제공합니다. 서버에 의해 생성된 특정 사용자 ID와 ASP Session 개체를 사용하여 방문한 각 사용자를 식별하는 지능적인 응용 프로그램을 만들고 정보를 수집하면 응용 프로그램은 이러한 정보를 사용하여 사용자 기본 설정과 선택을 추적할 수 있습니다.

▶ 중요

ASP는 사용자 브라우저에 저장된 작은 파일인 HTTP 쿠키를 사용하여 사용자 ID를 할당합니다. 따라서 쿠키를 지원하지 않는 브라우저용 응용 프로그램을 만들거나 고객이 쿠키를 거부하도록 브라우저를 설정한다면 APS의 세션 관리 기능을 사용하지 말아야 합니다.

위의 설명대로 비연결 지향적인 HTTP 프로토콜의 ASP 기반 애플리케이션에서도 Session 객체를 사용하면 특정 사용자 세션에 필요한 정보를 저장할 수 있습니다.
또한, 이렇게 Session 객체에 저장된 변수는 사용자가 응용 프로그램(웹 사이트)에서 페이지 사이를 이동할 때 버려지지 않는 특징이 있습니다. 즉, 이들 Session 객체는 사용자가 웹 서버와 연결이 지속되는 동안 계속 유지됩니다.
일반적으로 세션은 응용 프로그램에서 아직 세션을 가지고 있지 않은 사용자가 웹 페이지를 요청하면 웹 서버는 자동으로 Session 객체를 작성하며, 서버에서 세션이 만료되거나 중단될 때 Session 객체를 없앱니다.
주의할 점은 사용자가 브라우저를 닫는다고 해서 Session이 끝나는 것이 아닙니다. 현재의 브라우저를 종료하고 다른 브라우저를 실행한 경우에만 세션이 종료됩니다. 세션종료에 대해서는 다시 살펴보도록 하겠습니다.

그리고, 위의 설명에서도 [중요] 표시가 되어 있지만, 세션은 쿠키의 일종이며, ASP에서는 클라이언트 브라우저에 저장된 작은 쿠키를 사용하여 그 사용자에게 고유한 Session ID를 할당하기 때문에 쿠키를 지원하지 않는 브라우저인 경우 또는, 클라이언트가 쿠키를 거부하도록 브라우저를 설정한 경우라면 ASP의 세션기능을 사용할 수 없습니다.

단, 세션값은 서버에 저장이 되어지는 반면, 쿠키는 클라이언트에 저장되는 차이가 있다는 점에 염두해 두어야 합니다.


이제 Session 객체에서 제공하는 컬렉션, 메소드, 이벤트 들을 하나하나 알아보도록 하지요.


종 류

설 명

컬렉션

Contents

스크립트 명령을 통해 Session에 추가된 모든 항목을 포함

StaticObjects

<OBJECT> 태그와 지정된 세션 영역으로 작성된 개체를 포함

속 성

CodePage

기호 매핑에 사용되는 코드 페이지

LCID

로케일 식별자

SessionID

사용자에 대한 세션 ID를 반환

Timeout

응용 프로그램의 세션 상태에 대한 시간 제한 값(분으로 표시)

메서드
Abandon Session 개체를 없애고 리소스를 해제
Contents.Remove Contents 컬렉션에서 항목을 삭제
Contents.RemoveAll Contents 컬렉션에서 모든 항목을 삭제
이벤트
Session_OnStart

이벤트용 스크립트는 Global.asa 파일에서 선언,
이들 이벤트와 Global.asa 파일에 대한 내용은 [Global.asa 파일 참조] 강좌 참고

Session_OnEnd

세션의 시작과 종료

Session이 시작될 경우는 Application에 접속하는 순간 즉, 브라우저가 웹 서버에 처음 페이지를 요구했을 때 입니다. 이렇게 세션이 시작되는 순간 ASP는 global.asa에 있는 Session_OnStart 이벤트에 있는 스크립트를 시작합니다. 만약 정의된 스크립트가 없다면 아무것도 실행하지 않습니다.

종료는 다음과 같은 경우에 해당합니다.

  • 다른 페이지로의 이동없이 한 페이지에만 머물러 Session.Timeout(디폴드로 20분)이 초과한 경우
  • Session.Abandon 메서드가 호출된 경우
  • 사용자가 브라우저를 닫고 다른 브라우저를 실행한 경우
  • Global.asa 파일을 편집한 후 저장했을 경우
  • Web Server가 종료된 경우

참고로, 세션 시간 제한이 너무 길어지면 세션을 너무 많이 열게 되어 서버의 메모리 리소스가 낭비될 수 있다고 IIS 5.0 설명서에 기술되어 있더군요.

Session 개체에서 데이터 저장 및 제거

각각의 사용자 세션에서 사용해야 할 값들은 대개 Session 변수로 저장해 두고 이용합니다. 즉, 사용자마다의 고유한 값을 Session 객체에 저장할 수 있습니다. 이렇게 Session 객체에 저장된 정보는 세션 전체에서 사용할 수 있으며 세션 영역을 가집니다. 다음은 두 종류의 변수 저장 예를 보여 줍니다.

<%
Session("FirstName") = "Jeff"
Session("LastName") = "Smith"
%>


또한, 객체 인스턴스를 Session 객체에 저장할 수 있습니다. IIS 5.0 설명서에는 다음과 같이 기술되어 있습니다.

개체를 Session 개체에 저장하고 기본 스크립트 언어로 VBScript를 사용하는 경우에는 Set 키워드를 사용해야 합니다. 다음 스크립트를 참고하십시오.

<% Set Session("Obj1") = Server.CreateObject("MyComponent.class1") %>

후속 웹 페이지에서 MyComponent.class1에 의해 제공된 메서드와 속성을 호출하기 위해 다음 명령을 사용합니다.

<% Session("Obj1").MyMethod %>

또는 개체의 로컬 사본을 추출하는 다음과 같은 명령을 사용합니다.

<%
Set MyLocalObj1 = Session("Obj1")
MyLocalObj1.MyObjMethod
%>


세션 영역을 가진 개체를 만드는 다른 방법은 Global.asa 파일에서 <OBJECT> 태그를 사용하는 것입니다. 그러나 Session 개체에 기본 제공 개체를 저장할 수는 없습니다. 예를 들어, 아래의 각 줄은 오류를 반환합니다.

<%
Set Session("var1") = Session
Set Session("var2") = Request
Set Session("var3") = Response
Set Session("var4") = Server
Set Session("var5") = Application
%>


예제
아래 코드는 세션 변수 name에 문자열 MyName을, 세션 변수 year에 값을, myObj 변수에 some.Obj 구성 요소의 인스턴스를 할당합니다.


<%
Session("name") = "MyName"
Session("year") = 96
Set Session("myObj" = Server.CreateObject("someObj")
%>


위에서 살펴보았듯이 Session 객체에 개체 인스턴스를 저장할 수도 있지만 이렇게 하면 서버 성능이 저하됩니다.

참고로, Session 객체에서 사용자의 기본 설정을 저장한 다음, 이 기본 설정에 의해 사용자에게 반환할 페이지를 결정할 수 있습니다. 예를 들어, 사용자가 웹 사이트의 첫 번째 페이지에 있는 내용의 텍스트 버전만 지정한 다음, 이 사이트에서 해당 사용자가 방문한 모든 다른 페이지에 이 선택 사항을 적용하도록 할 수 있습니다.

<% If Session("Page") = "Low" Then %>
이것은 페이지의 텍스트 버전입니다.
<% Else %>
이것은 페이지의 멀티미디어 버전입니다.
<% End If %>



지금까지 Session 객체에 특정 값을 저장할 수 있음을 살펴보았습니다. 이제 이렇게 값을 저장할 수도 있는 반면에 저장된 항목을 삭제하는 방법에 대해 알아보도록 하죠. IIS 5.0 설명서에는 다음과 같이 기술되어 있습니다.


예를 들어, 온라인 상점을 방문하는 사용자가 마음을 바꾼다든지, 구입한 물건 목록을 취소한다든지, 완전히 다른 제품을 선택하기로 결정하는 일은 자주 발생하는 일입니다. 이러한 경우에 적절하지 않은 값을 삭제하면 Session 개체를 쉽게 업데이트할 수 있습니다.

Session 개체의 Contents 컬렉션에는 세션에 대해서 저장된(HTML <OBJECT> 태그를 사용하지 않고 저장된) 모든 변수가 포함되어 있습니다. Contents 컬렉션의 Remove 메서드를 사용하면 세션 상태에 추가된 변수에 대한 참조를 선택적으로 제거할 수 있습니다. 다음 스크립트는 Remove 메서드를 사용하여 항목을 제거하는 방법, 즉 이 경우에는 Session 개체에서 사용자 할인 정보
를 제거하는 방법을 보여 줍니다.


<%
If Session.Contents("Purchamnt") <= 75 then
Session.Contents.Remove("Discount")
End If
%>


또한, Contents 컬렉션의 RemoveAll 메서드를 사용하여 세션에 저장된 모든 변수를 완전히 제거할 수도 있습니다.

<% Session.Content.RemoveAll() %>



Timeout Property & Abandon Method

세션 연결을 끊는 방법에는 두 가지가 있습니다. Timeout 프로퍼티를 사용할 수 있으며, Abandon 메소드를 호출해서 세션 연결을 끊을 수도 있습니다. 먼저, Timeout 프로퍼티에 대해 알아보죠. Timeout 프로퍼티는 Session 객체에 지정된 제한 시간을 분 단위로 지정합니다. 사용자가 이렇게 지정한 제한 시간 내에 페이지를 새로 고치거나 요청하지 않으면 세션은 끝납니다.

<% Session.Timeout = 20 %>

위에 예에서는 서버가 자동으로 종료되기 전에 세션이 상태로 남아 있을 수 있는 시간(분)으로 20분을 지정하였습니다. Abandon 메소드는 Session 객체에 저장된 모든 객체를 삭제하고 리소스를 해제합니다. 이 Abandon 메서드를 명시적으로 호출하지 않으면 세션이 시간 초과될 때 서버가 이들 객체를 삭제합니다.

<% Session.Abondon %>

Abondon 메소드에는 한가지 주의할 점이 있습니다. 다음에 기술되어 있는 IIS 5.0 설명서의 내용을 살펴보죠.
Abandon 메소드를 호출하면 현재 페이지의 모든 스크립트 명령이 처리될 때까지는 실제로 삭제되지 않습니다. 즉, Abandon 메소드를 호출한 페이지에서는 Session 개체에 저장된 변수에 액세스할 수는 있지만 후속 웹 페이지에 있는 이 변수에는 액세스할 수 없다는 의미입니다.

예를 들면 다음 스크립트에서 세 번째 줄은 Mary 값을 인쇄합니다. 그 이유는 서버가 스크립트 처리를 끝낼 때까지는 Session 객체가 없어지지 않기 때문입니다.


<%
Session.Abandon
Session("MyName") = "Mary"
Reponse.Write(Session("MyName"))
%>


만일 후속 웹 페이지에서 MyName 변수에 액세스하면 이 변수는 비어 있습니다. 그 이유는 위 예제가 포함된 페이지가 다 처리되었을 때 MyName이 이전 Session 개체와 함께 없어졌기 때문입니다. 참고로, 한 세션을 취소한 후에 다음 웹 페이지를 열면 서버는 Session 객체를 새로 작성합니다. 이렇게 새로 작성된 Session 객체에 변수와 객체를 저장할 수 있습니다.

 

728x90

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

res://ieframe.dll/preview.js 오류 제거  (0) 2015.06.22
batch 파일 만들기  (0) 2015.04.24
asp 날짜 함수 정리  (0) 2012.10.23
ASP 정규 표현식 사용법  (0) 2012.10.04
[ASP] 날짜 형식 함수 FormatDateTime  (0) 2012.08.17
728x90

IE Conditional Comments 필터링

2007.08.27 , 오후 01:45 접근성,코드 7 comments »

W3C의 규격에 의거하여 CSS 코드를 작성하더라도, 각각의 웹 브라우저마다 웹 페이지가 다르게 출력되는 문제가 있습니다. 이러한 문제는 브라우저들이 CSS 규격을 조금씩 서로 다르게 해석하고 출력할 뿐더러, 몇몇 규격은 전혀 출력하지 못하기 때문에 발생합니다.

이처럼 브라우저가 CSS W3C 규격과 다르게 출력하거나, 전혀 출력하지 못하는 문제를 CSS 출력 버그(CSS Rendering Bug)라고 합니다. CSS 출력 버그는 표준을 준수하여 웹 페이지를 제작할 때 가장 큰 걸림돌이 됩니다. W3C 규격 외에도 각각의 웹 브라우저들의 CSS 출력 현황에 대해서도 이해해야 하며, 이러한 버그들을 잡는 방법까지 파악해야 하기 때문입니다.

IE7, FF1~2, Opera9, Safari처럼 최근에 출시된(morden) 웹 브라우저들은 W3C 규격에 맞춰서 CSS를 출력합니다. 문제는 IE6, NN7 이하의 오래된 브라우저들이죠. 특히 높은 브라우저 시장 점유율을 기록중인 IE6 브라우저의 CSS 출력 버그들이 큰 문제입니다.

이러한 CSS 출력 버그들을 CSS Hack Filtering으로 대처할 수 있습니다. 예전에는 CSS Hack을 많이 사용했으나, IE7이 출시된 이후로는 CSS Filtering을 주로 사용합니다. 특히 사용이 간단하고 MS에서 추천하는 방법인 IE Conditional Comments Filtering(IE CC-필터링)을 가장 많이 사용합니다.

IE CC-필터링 소개

IE Conditional Comments MS에서 제시한 방법으로 MS IE5 이상의 브라우저에서 사용할 수 있습니다. 이 방법을 이용하면 IE 버전에 따라 HTML 코드를 숨기거나 보일 수 있습니다. 사용자의 IE 버전 별 조건(Condition)HTML의 주석(comments)의 구조로 필터링하는 방법기에 IE-CC 필터링이라고 하며, 간단하게 IE-CCF라고 합니다.

아래의 코드를 이용하면 ie7only.css IE7에서만 사용할 수 있습니다.

<!--[if IE 7]>

<link rel="stylesheet" type="text/css" href="ie7only.css">

<![endif]-->

IE CC-필터링을 사용하는 이유

IE6 이하의 브라우저는 CSS 선택자(selector)에 접근하지 못하는 문제가 있습니다. 이 점을 이용해서 IE6 이하의 브라우저에 특정한 CSS를 추가하거나 숨기는 방법이 바로 CSS Hack입니다. 하지만 CSS2 규격에 정의된 대부분의 선택자를 이용할 수 있는 IE7이 출시되면서, 기존에 사용해왔던 대부분의 CSS Hack들 사용할 수 없게 됐습니다. 이 때문에 최근엔 대부분 웹 개발자와 디자이너들이 브라우저의 CSS 출력 버그를 대처하기 위해서 CSS Filer를 사용합니다.

물론, IE CC-필터링은 HTML에 문법에 맞지 않고 불필요한 코드를 추가하는 문제점이 있습니다. 이에 어떤 개발자는 JS를 이용해서 브라우저의 종류와 버전을 판별하는 방법을 이용하기도 합니다. 하지만 JS를 이용한 방법은 IE CC-필터링보다 코드가 길고 복잡할 뿐더러, DOM으로 접근하기엔 브라우저 파싱 순서가 늦어서 출력되는데 문제가 발생합니다. , CSS 출력 버그를 처리하는데 IE CC-필터링이 최선은 아니지만, 현재로써 가장 확실한 차선책입니다.

IE CC-필터링 사용법

IE Conditional Comments HTML 주석 구조에, IE의 조건문을 포함합니다. IE 조건문은 IE의 버전과 상하관계, 부정조건 등을 사용할 수 있습니다.

<!--[if 조건]>HTML 코드<![endif]-->

조건문에 사용할 있는 요소

Item

Example

Comment

IE

[if IE]

The only currently supported feature is the string "IE", corresponding to Internet Explorer.

value

[if IE 7]

An integer or floating point numeral corresponding to the version of the browser. Returns a Boolean value of true if the version number matches the browser version. For more information, see Version Vectors.

!

[if !IE]

The NOT operator. This is placed immediately in front of the feature, operator, or expression to reverse the Boolean meaning of the expression.

lt

[if lt IE 5.5]

The less-than operator. Returns true if the first argument is less than the second argument.

lte

[if lte IE 6]

The less-than or equal operator. Returns true if the first argument is less than or equal to the second argument.

gt

[if gt IE 5]

The greater-than operator. Returns true if the first argument is greater than the second argument.

gte

[if gte IE 7]

The greater-than or equal operator. Returns true if the first argument is greater than or equal to the second argument.

( )

[if (IE 7)]

Subexpression operators. Used in conjunction with boolean operators to create more complex expressions.

&

[if (gt IE 5)&(lt IE 7)]

The AND operator. Returns true if all subexpressions evaluate to true

|

[if (IE 6)|(IE 7)]

The OR operator. Returns true if any of the subexpressions evaluates to true.

true

[if true]

Always evaluates to true.

false

[if false]

Always evaluates to false.

IE CC-필터링 예제

IE7일 경우 ie7only.css를 사용

<!--[if IE 7]>

  <link rel="stylesheet" type="text/css"  href="ie7only.css">

<![endif]-->

IE이 아닐 경우 non-IE.css를 사용

<![if !IE]>

  <link rel="stylesheet" type="text/css"  href="non-ie.css">

<![endif]>

IE7 이하일 경우 ieOld.css를 사용

<!--[if lt IE7]>

  <link rel="stylesheet" type="text/css" href="ieOld.css">

<![endif]-->

IE일 경우 IE.js를 사용하고, IE7 이하일 경우 IE-old.css를 사용

<![if IE]>

        <script type="text/JavaScript" src="http://hooney.net/js/ie.js"></script>

        <!--[if lt IE7]>

               <link rel="stylesheet" type="text/css" href="ie-old.css">

        <![endif]-->

<![endif]-->

위에서 소개한 IE CC-필터링 외에도, 다양한 방법의 필터링 방법이 있습니다. Communis에서 CSS만을 이용하거나, HTML을 함께 이용하거나, 또는 JS를 이용하여 필터링하는 방법을 확인할 수 있습니다.

참고 URI

또 다른 읽을거리

Related Post

 

참조 사이트 - 웹쟁이 조훈의 후니넷 (http://hooney.net)

728x90
728x90

시들어가는 나뭇잎새 사이로

황금빛 햇살이 나리면,

하늘로 흐르는 구름도

하늘로 흐르는 바람도 모두 스며들어 황금빛 빛을 낸다.

728x90

'에세이' 카테고리의 다른 글

어느 봄날 진한 커피향  (0) 2013.03.08
한 순간의 마음, 너무나 아름다웠다.  (0) 2012.11.24
사랑의 엇갈림  (0) 2012.07.16
장맛비  (0) 2012.07.15
사랑이 빗줄기를 타고 내려오면  (0) 2012.07.11

+ Recent posts