진짜 짜증이 막나고롬..
리소스도 많이 차지해먹는기 자꾸 소스보기 하면 열리는게 정말 싫었는데..
옵션에도 없고..
결국 레지스트리에서 해결했습니다.

레지스트리 편집기를 열어서..

HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet Explorer
거기서 View Source Editor란 항목을 삭제하면 되네요..

우선 풀백업을 받으시구요..

그후

EXEC sp_detach_db 'pubs', 'true'

로 해당 DB를 잠시 떼어내세요..

그러면 탐색기로 ldf 화일의 삭제가 가능해 집니다.

그후 mdf 화일 하나만 남은 상태에서..

EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:Program FilesMicrosoft SQL ServerMSSQLDatapubs.mdf'

이런 식으로 mdf 화일 하나만으로 복구를 진행 하세요.

그러면? ldf 화일이 최소 크기인 0.5 메가로 재생성 될 겁니다.


참고로 풀백업.. 필수..

출처 : .....
다 아시는 내용이지만 Procedure 사용에서 락 발생 다수 시 조치 사항입니다

1. TEMP 테이블 사용을 제한 - TEMP테이블의 경우 부하가 많은경우 락 발생이 급격하게 늘어나기 때문에 사용은 최소화 한다.

2. 다이나믹 쿼리의 제한 - 차라리 조회 조건에서 select 을 전부 써버리는 것이 더 났습니다.

3. 함수를 사용할 경우 다수의 값을 받아오는 경우에는 함수를 사용하기보다도 JOIN사용이 더 낫습니다.

함수를 사용할 경우 2건 이상인 경우에는 1건 1건씩 리턴값을 주기 때문에 리턴값이 늘어날 경우 점점 더 느려지게 됩니다.

4. 잘 쓰지 않고 건수가 적더라도 테이블에는 반드시 인덱스를 잡는다. 실 예로 8건 밖에 안되는 코드성 테이블에 인덱스 잡는 것으로 전체 시스템 성능이 5-6배가 된 경우도 있습니다.
RFC란? ==>
Request for Comments documents ( RFCs )는 Internet research와 develop-ment community의 작업 note들이 다.
대부분의 RFCs는 종종, 그것들을 구현함에 있어 요구되는 상세한 절차와 Format들을 제공하는 네트 웍 프로토콜들이나 Service들의 서술이다.
필요하다면 E-mail을 통하여 원하는 RFC를 입수할 수 있으며, 직접 특정한Host에 접속하여 FTP로 RFC Document를 가져올 수 있다.
한 Document에 일단 RFC 번호가 부여되고 출판되면, 그 RFC는 영원히 수정되거나 같은 번호가 부여되 는 일은 없다.



RFC 1939 는 POP3 프로토콜에 관련된 기술문서 이다.
이전에 웹메일 시스템 관련해서 자료를 찾아보느라 구했던 자료인데..
아직 제대로 써먹어 본적은 없다. -_-;;;;;;;;;;;;;

영문이라 보기 껄끄럽기는 하겠지만..
이자료를 안보고 메일시스템을 구축한다든지의 말은 조금 어불성설이 아닐까 싶기도 하고..

하긴 요새는 상용컴포넌트들이 워낙 잘나와서리..

그래도 개발자라면 기본에 충실해야 하지 않을까 하는 생각이 든다.





다른 RFC문서 검색하기
‘진짜 인터넷 도사는 마우스 대신 단축키'.

대부분의 사람들은 인터넷을 이용할 때 마우스를 사용한다. 마우스를 사용하면 편리하지만 보다 빠른 작업을 위해서는 단축키를 사용하는 것이 좋다. 인터넷을 사용할 때 단축키를 사용하면 한결 빠르고 편리하게 웹 서핑을 즐길 수 있다. 단축키란 여러 각 키의 조합으로 구성돼 있다. 단축키는 익숙해지면 마우스 보다 훨씬 빠르고 편리하다. 대부분의 단축키는 Alt 키와 Ctrl키를 사용하는 것이 많다. 각각의 기능키 별로 단축키를 살펴보자. 기사에 소개된 기능키는 Window 2000을 중심으로 설명됐고 운영체제에 따라 조금씩 다를 수 있다.



Ctrl키 사용

워드나 인터넷의 정보를 복사하고 싶을 때는 해당 부분을 마우스로 드래그(Drag) 하고 Ctrl 키 버튼을 누르고 알파벳 C를 누르면 ‘복사’가 되고 복사한 내용을 다른 곳에 붙이려면 역시 Ctrl 키 버튼을 누르고 V버튼을 누르면 된다. 선택한 내용을 잘라내고 싶은 때는 Ctrl 키를 누르고 X를 누른다. 실수로 잘못 잘라냈다면 ‘Ctrl + Z’를 사용하면 실행취소 기능이 수행된다. 드래그를 해서 일부를 선택하는 것이 아니라 전체를 선택할 때는 ‘Ctrl + A’를 사용하면 된다.

인터넷을 사용하다가 즐겨찾기 창을 열고 싶으면 'Ctrl + I' 또는 'Ctrl + B'를 누르면 된다. 현재의 창을 그대로 두고 같은 주소의 새로운 창을 열고 싶을 때는 'Ctrl + N'을 사용한다. 'Ctrl + O' 또는 'Ctrl + L'을 사용하면 인터넷 주소 창만 따로 뜨는데 그 창에 주소를 넣으면 가고자 하는 인터넷 홈페이지로 바로 갈 수 있다. 검색을 하고 싶다면 'Ctrl + E’를 누르면 검색 창이 떠 쉽게 검색을 할 수 있다. 현재 화면을 인쇄하고 싶다면 ‘Ctrl + P'를 사용한다. 'Ctrl + W'를 누르면 현재 사용하고 있는 창이 닫히고 윈도우의 시작메뉴를 열고 싶으면 'Ctrl + Esc'를 누르면 된다.

Ctrl키 사용 단축키 정리

Ctrl+C (복사)
Ctrl+V (붙여넣기)
Ctrl+X (잘라내기)
Ctrl+Z (실행 취소)
Ctrl+A (모두 선택)
Ctrl+I 또는 Ctrl+B (즐겨찾기)
Ctrl+N (현재 열려 있는 창과 같은 주소의 새 창 띄우기)
Ctrl+L 또는 Ctrl+O (주소창 만 따로 다른 띄우기)
Ctrl+E (검색 창 열기)
Ctrl+P (인쇄 대화 상자 열기)
Ctrl+W (현재 창 닫기)
Ctrl+Esc (시작 메뉴 표시)


Alt 키 사용

인터넷을 하다가 Alt 키를 누르고 왼쪽 화살표 버튼(<-)을 함께 누르면 이전 페이지로 이동하고 반대로 오른쪽 화살표 버튼(->)을 앞 페이지로 이동한다. ‘Alt + F’ 를 누르면 화면 상단의 메뉴 중 ‘파일’을 실행할 수 있다. ‘Alt + V’는 상단 메뉴 중 ‘보기’를 실행하고 싶을 때 누르면 된다. ‘Alt + F4’ 는 활성화 되어 있는 창을 닫는 기능으로 ‘Ctrl+W’ 기능과 같다. 또한 ‘Alt + Ese’ 를 누르면 컴퓨터 안에서 실행했던 화면이 순서대로 뜬다.

Alt 키 사용 정리

Alt + <- (이전 페이지로)
Alt + -> (다음 페이지로)
Alt+F (파일 메뉴 표시)
Alt+V (보기 메뉴 표시)
Alt+F4 (활성화 된 창 닫기)
Alt+Esc (창을 연 순서화면을 순서대로 띄우기)



Window 키 사용

키보드에 있는 Window 모양의 로고가 있는 버튼을 이용하면 역시 다양한 기능을 마우스 없이 빠르게 실행시킬 수 있다. 일단 Window 버튼을 그냥 누르면 시작메뉴를 바로 실행할 수 있다. ‘Windows+D’ 를 누르면 바탕화면으로 바로 갈 수 있고 ‘Windows+E’를 누르면 ‘내 컴퓨터’ 가 실행된다. 파일이나 폴더 검색을 손쉽게 하려면 ‘Windows+F’ 를 누르면 누르고 ‘Windows+R’ 을 누르면 실행 대화상자가 뜬다.

Window 키 사용 정리

Windows 버튼 (시작 메뉴를 표시하거나 숨김)
Windows 버튼+D (바탕 화면 표시)
Windows 버튼+E (내 컴퓨터 열기)
Windows 버튼+F (파일이나 폴더 검색)
Windows 버튼+R (실행 대화 상자)



출처 : 다음
- SiteLink #1 : http://nbloger.com/view_post/vw.asp?bidx=205

필요하신분들이 많으실듯해서 올려드립니다.

사실 크게 어려운 부분은 아닙니다.

아래글은 트랙백의 기본개념보다는 windows + asp 환경에서의 기술적 구현을 위해 간단하게 작성된 소스입니다.
따라서 트랙백의 기본개념을 이해하신후 소스를 보시는것이 도움이 되실것입니다.
또한 보다 확장적인 서비스를 위해서는 아래 소스외에 더 많은 부분을 추가하셔야 합니다.



1. 트랙백 핑 받기

[CODE] <% '변수 처리 bidx = Request("bidx") strTitle = Request("title") strExcerpt = Request("excerpt") strURL = Request("url") '콘텐츠 타입 Response.ContentType = "text/xml" '변수 확인 If strURL="" or strTitle = "" or bidx = "" Then Response.Write "<?xml version=""1.0"" encoding=""iso-8859-1""?>" Response.Write "<response>" Response.Write "<error>1</error>" Response.Write "<message>Not Enough Arguments.</message>" Response.Write "</response>" Response.End End If '내 블로그에 글이 있는지 확인 If 해당글의수 = 0 Then Response.Write "<?xml version=""1.0"" encoding=""iso-8859-1""?>" Response.Write "<response>" Response.Write "<error>1</error>" Response.Write "<message>Not Exist Post.</message>" Response.Write "</response>" Response.End End If set rs = Server.CreateObject("ADODB.Recordset") with rs .Open trackback_table,접근문자열,adOpenStatic,adLockPessimistic,adCmdTable .addnew .fields ("글번호 필드명") = opt_insert_text (bidx) .fields ("주소 필드명") = opt_insert_text (strURL) .fields ("제목 필드명") = opt_insert_text (strTitle) .fields ("내용 필드명") = opt_insert_text (strExcerpt) .fields ("날짜") = now .update .close end with set rs = nothing '정상적으로 완료되었으면 성공했다는 대답을 보내자. Response.Write "<?xml version=""1.0"" encoding=""iso-8859-1""?>" Response.Write "<response>" Response.Write "<error>0</error>" Response.Write "<message>TrackBack Success.</message>" Response.Write "</response>" %> [/CODE]



첫번째로 트랙백은 규정적으로 4개의 변수값을 전송합니다.
글제목(title),글주소(url),글내용(exerpt),블로그명(blog_name) 입니다.
여기서 필수요소는 url 입니다.
위 소스에서는 블로그명을 포함시키지 않았습니다.
그리고 글번호는 해당 글의 존재유무를 확인하기 위해 트랙백 주소에서 GET 형태로 받아옵니다.

두번째로 인코딩되는 xml 중 부분이 가장 중요합니다.
즉, error 값으로 트랙백 핑을 보낸쪽에다 대답을 하는 것입니다.
0이면 성공이?1이면 실패입니다.
그리고 부분은 말그대로 추가설명입니다.
그리고 트랙백 핑은 POST 형태로 값을 받습니다.
받아오는 변수들을 Request.Form 형태로 정의해주는것이 더 좋을듯 하네요.

세번째로 위 소스에서는 간단한 xml 이라 굳이 xmlhttp 같은 xml 관련 서버 컴포넌트를 사용하지 않았습니다.



2. 트랙백 핑 보내기


[CODE] <% b_tb = "핑을 보낼 블로그 게시물의 트랙백 주소" if b_tb <> "" then '만약 트랙백 주소가 입력되었다면 .. ' 여기서 부터 트랙백 처리 ' 핑을 보낼 준비하자 x_Posturl = Server.URLEncode(나의 글의 고유주소) x_BlogName = Server.URLEncode(나의 블로그명) x_Title = Server.URLEncode(나의 글의 제목) x_Excerpt = Server.URLEncode(나의 글의 내용) Str_tb="title="&amp;amp;amp;amp;amp;amp;x_Title&amp;amp;amp;amp;amp;amp;" &amp;amp;amp;amp;amp;amp;url="&amp;amp;amp;amp;amp;amp;x_Posturl &amp;amp;amp;amp;amp;amp;"&amp;amp;amp;amp;amp;amp;excerpt=" &amp;amp;amp;amp;amp;amp;x_Excerpt&amp;amp;amp;amp;amp;amp;" &amp;amp;amp;amp;amp;amp;blog_name="&amp;amp;amp;amp;amp;amp ;x_BlogName ' 트랙백 핑을 보내자 set xml = server.CreateObject("msxml2.xmlhttp") xml.open "POST", "" &amp;amp;amp;amp;amp;amp; b_tb &amp;amp;amp;amp;amp;amp; "", false ' 몇가지 헤더처리 xml.setRequestHeader "Accept-Language","ko" xml.setRequestHeader "Accept-Encoding","gzip, deflate" xml.setRequestHeader "Content-Type","application/x-www-form-urlencoded" xml.setRequestHeader "Connection","Keep-Alive" xml.setRequestHeader "Cache-Control","no-cache" xml.send (Str_tb) ' 트랙백 핑 성공여부 If InStr(1, xml.responseText, "<error>0</error>") Then ' 성공일경우 처리 Else ' 실패일경우 처리 End If Set xml = Nothing end if %> [/CODE]



일반적으로 글의 저장 또는 편집시 사용하실수 있습니다.
그리고 Str_tb 변수 정의 하면서 POST 로 넘기는 변수명은 변경하시면 안됩니다.
또한 위 소스에서는 xmlhttp 컴포넌트를 이용하여 POST 형태로 핑을 전송합니다.
트랙백 핑의 성공여부는 받아온 xml 을 디코딩 하셔도 되지만 그냥 부분만 체크하기 위해 instr 로 처리하였습니다.
추가적으로 부분도 체크하여 성공 또는 실패시의 메시지를 받아오실수도 있습니다.
간혹 핑 전송시 한글이 깨어진다는 질문이 있는데, 이 경우 UrlEncoding 을 시키지 않으셨을때가 가장많습니다.
그외에는 위와 같은 방법으로 무난하게 성공하실것 입니다.
- SiteLink #1 : http://nbloger.com/view_post/vw.asp?bidx=232

꼭 블로그가 아니더라도 XML RSS 는 이제 어느정도 대세가 되어가고 있는 듯합니다. 이제는 언론사나 커뮤니티 등에서도 RSS 가 나옵니다.. 그리고 #Reader나 Xpyder,FreeDemon 등의 RSS 구독기 또한 점차 넓게 사용되고 있습니다. 여기서는 이러한 XML RSS 를 구현하는 방법을 ASP 기반에서 XML 컴포넌트를 이용하여 구현하고자 합니다.



사실 RSS 를 구현할때 사실 단순히 텍스트 파일로 뿌려주고 ContentType 만 xml 로 선언해줘도 가능합니다. 그러나 조금은 다르게 해보고 싶다는 저의 호기심도 있고, 확장성과 향후 유지보수에 조금이라도 더 손쉽게 하기위해서 윈도우즈 2000 에 기본제공되어 있는 XML 관련 컴포넌트를 이용하여 구현해보았습니다. 물론 아래 소스는 지금 제 블로그 RSS 의 원형이 되고 있습니다.



한가지 주의 하실점은 XML 선언전에 어떠한 개행(
) 이나 문자가 들어가서는 안됩니다. PHP 에서의 쿠키과 마찬가지 입니다.

[CODE] <?xml version="1.0" encoding="EUC-KR" ?> <% Response.ContentType = "text/xml" Set xmlPars = Server.CreateObject("Msxml2.DOMDocument") ' 여기서 부터 rss 정보를 담는다. Set rss = xmlPars.CreateElement("rss") rss.setAttribute "version", "2.0" rss.setAttribute "xmlns:dc", "http://purl.org/dc/elements/1.1/" rss.setAttribute "xmlns:sy", "http://purl.org/rss/1.0/modules/syndication/" rss.setAttribute "xmlns:admin", "http://webns.net/mvcb/" rss.setAttribute "xmlns:rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlPars.AppendChild(rss) '<channel> 시작 Set Channel = xmlPars.CreateElement("channel") rss.AppendChild(Channel) '<title>정보 Set title = xmlPars.CreateElement("title") Channel.AppendChild(title) Channel.childnodes(0).text = "블로그 제목" '<link>정보 Set channel_link = xmlPars.CreateElement("link") Channel.AppendChild(channel_link) Channel.childnodes(1).text = "블로그 주소" '<description>정보 Set description = xmlPars.CreateElement("description") Channel.AppendChild(description) Channel.childnodes(2).text = "블로그 설명" '<dc:language>정보 Set language = xmlPars.CreateElement("dc:language") Channel.AppendChild(language) Channel.childnodes(3).text = "ko" '<image>정보 Set image = xmlPars.CreateElement("image") Channel.AppendChild(image) '이미지 정보에 들어갈 것들 set i_title = xmlPars.CreateElement("title") set i_url = xmlPars.CreateElement("url") set i_width = xmlPars.CreateElement("width") set i_height = xmlPars.CreateElement("height") image.AppendChild(i_title) image.AppendChild(i_url) image.AppendChild(i_width) image.AppendChild(i_height) image.childnodes(0).text = "이미지 제목" image.childnodes(1).text = "이미지 경로" image.childnodes(2).text = "이미지 가로 사이즈" image.childnodes(3).text = "이미지 세로 사이즈" ' 여기서 부터는 포스트에 대해서 출력 ' 우선 데이터를 읽어오자 SQL = "해당되는 포스트에 대한 쿼리문" set rs = Server.CreateObject("ADODB.Recordset") rs.Open SQL,접근문자열,adOpenForwardOnly,adLockPessimistic,adCmdText ' 여기서 부터 루프를 돌리자. Do until rs.EOF '<item> 이라는 노드를 추가 Set item = xmlPars.CreateElement("item") Channel.AppendChild(item) ' 여기서부터 해당 포스트의 세부 정보를 출력 set title = xmlPars.CreateElement("title") ' set link = xmlPars.CreateElement("link") set description = xmlPars.CreateElement("description") set dcdate = xmlPars.CreateElement("dc:date") set dcsubject = xmlPars.CreateElement("dc:subject") item.AppendChild(title) item.AppendChild(link) item.AppendChild(description) item.AppendChild(dcdate) item.AppendChild(dcsubject) item.childnodes(0).text = rs("제목필드") item.childnodes(1).text = rs("포스트 고유 url 필드") item.childnodes(2).text = rs("내용 필드") item.childnodes(3).text = rs("날짜") item.childnodes(4).text = rs("포스트의 분류") rs.movenext loop ' 마지막으로 최종적으로 뿌려주자. Response.Write xmlPars.xml '마무리 ^^; rs.close set rs = nothing Set xmlPars = nothing %> [/CODE]
아는데로 참고만 하세요.
모르면 걍 스킵하시구요.. ㅋㅋㅋ
프로그래밍 하면서 INI파일 이용하는데 편리하긴 하더군요.
초보들만 보시면 될듯..
영어 잘 읽어보면 언제 누가 맹글었다고 다있네요. ㅎㅎㅎ

[CODE] =============================================================================== Attribute VB_Name = "INIFILES" '**************************************************** '* INIFILES.BAS Version 2.0 Date: 02/01/95 * '* VB Tips & Tricks * '* 8430-D Summerdale Road San Diego CA 92126-5415 * '* Compuserve: 74227,1557 * '* America On-LineS: DPMCS * '* InterNet: DPMCS@AOL.COM * '**************************************************** Option Explicit 'Global PlayPath As String #If Win16 Then Declare Function WritePrivateProfileString Lib "KERNEL" (ByVal AppName$, ByVal KeyName$, ByVal keydefault$, ByVal FileName$) As Integer Declare Function GetPrivateProfileString Lib "KERNEL" (ByVal AppName$, ByVal KeyName$, ByVal keydefault$, ByVal ReturnString$, ByVal NumBytes As Integer, ByVal FileName$) As Integer #Else Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal AppName$, ByVal KeyName$, ByVal keydefault$, ByVal FileName$) As Long Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal AppName$, ByVal KeyName$, ByVal keydefault$, ByVal ReturnString$, ByVal NumBytes As Long, ByVal FileName$) As Long #End If Function GetINI(Division As String, KeyName As String, INIPath As String) As String Dim ii As Integer Dim kk As Integer Dim sRet As String If INIPath = "" Then MsgBox "환경 설정 화일이 업습니다." GetINI = "" End If sRet = String(255, Chr(0)) ii = GetPrivateProfileString(Division, KeyName, "", sRet, Len(sRet), INIPath) kk = InStr(sRet, Right(sRet, 1)) GetINI = Left(sRet, kk% - 1) End Function '******************************************************* '* Procedure Name: sReadINI * '*Returns a string from an INI file. To use, call the * '*functions and pass it the AppName, KeyName and INI * '*File Name, [sReg=sReadINI(App1,Key1,INIFile)]. If you * '*need the returned value to be a integer then use the * '*val command. * '******************************************************* Function ReadINI(KeyName As String) As String Dim ii As Integer Dim kk As Integer Dim sRet As String Dim FileName As String Dim AppName As String AppName = "PlayPath" FileName = "C:mt.ini" sRet = String(255, Chr(0)) ii = GetPrivateProfileString(AppName, KeyName, "", sRet, Len(sRet), FileName) kk = InStr(sRet, Right(sRet, 1)) ReadINI = Mid(sRet, 1, kk% - 1) End Function '******************************************************* '* Procedure Name: WriteINI * '*-----------------------------------------------------* '* Created: 2/10/94 By: David McCarter * '* Modified: By: * '*=====================================================* '*Writes a string to an INI file. To use, call the * '*function and pass it the sAppname, sKeyName, the New * '*String and the INI File Name, * '*[R=WriteINI(App1,Key1,sReg,INIFile)]. Returns a 1 if * '*there were no errors and a 0 if there were errors. * '******************************************************* Sub WriteINI(Division As String, KeyName As String, NewString As String, INIPath As String) Dim R As Integer If INIPath = "" Then INIPath = App.Path & "line.ini" End If R = WritePrivateProfileString(Division, KeyName, NewString, INIPath) End Sub [/CODE]
코딩을 하다보면 쿼리스트링으로 & 문자열을 넘겨야 할 경우가 있다.

예를 들어서

test.asp?a=1&b

이런경우이다.

즉, a 라는 변수명으로 1&b 라는 값을 넘겨야하는 경우이다.
이럴때 고지식하게 위와같이 해주면 절대 안넘어간다.
넘어가는 것은 1 뿐이 없다.

해결책은 URLEncode 를 이용한다.

예)
[CODE]<a href="test.asp?a=<%=Server.URLEncode("1&amp;amp;b")%>">클릭</a>[/CODE]


위와 같이 코딩한 상태에서 클릭을 누르고..
test.asp에서 a 라는 변수를 찍어보면 1&b가 넘어오는 것을 확인할수 있다.
참고만 하세요.

일단 빈 엑셀 화일을 여시구요.
거기다가 아무 데이타나 넣구 셀서식을 알고 싶은 셀서식으로 지정합니다.
저같은 경우는 yyyy-mm-dd 형식이였죠..

그런다음에 메뉴에 보면 웹페이지 미리보기 라는 것을 선택하시면 브라우져에서 엑셀파일이 열리는데요.
그걸 소스보기 해서 style을 찾아보시면..
mso-number-format:'Short Date'
이런식으로 해당하는 style이 나옵니다.

이 스타일을 엑셀파일로 다운로드 하는 프로그램 소스 상에 Style적용 해주면 됩니다.

+ Recent posts