MS Outlook Email 관리 AddIn - 3

ManageTaskPeneRibbon 메뉴로 I/F는 XML로 XML은 Web프로젝트 얼른 하나 만들어서 거기서 대충 관리하는 식으로 만들었습니다..


MS Outlook Email 관리 AddIn - 2

이런식으로..새 전자 메일 작성시 우측에 트리구조로…넣습니다..
벼..별거 아닌듯 보입니다 ㅠㅠ


MS Outlook Email 관리 AddIn - 1
  1. 목적
    • 나의 삽질 능력 테스트
  2. 사용대상
    • 일반 회사원중 아웃룩을 다시깔때 깊은 빡침을 느끼는자
  3. 개발환경
    • VS2015
    • VSTO Tools for Office 2015
  4. 예상
    • 아웃룩에 메뉴를 추가
    • 기타 웹 등에서 관리된 메일을 불러와서 사용
  5. 되..될까..??

ASP.Net MVC4 BundleConfig에서 min.js 혹은 사용자 지정 css 등이 적용되지 않을 때
BundleConfig class
1
2
3
4
5
6
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/Scripts/jquery")
.Include("~/Scripts/jquery-1.8.0.js")
.Include("~/Scripts/jquery.tmpl.min.js"));
}
html 코드
1
2
3
4
5
<html>
<head>
@Scripts.Render("~/Scripts/jquery")
</head><body>test</body>
</html>
html 랜더링 후
1
2
3
4
5
6
<html>
<head>
<script src="/Scripts/jquery-1.8.0.js"></script>
</head>
<body>test</body>
</html>

이렇게 BundleConfig에서 지정한 local이나 외부 js나 css파일이 렌더링 면서 동작을 안 하는 듯한?? 모습이 보일때가 있더라고요..

이거 debug모드 혹은 localhost에서는..이런 버그가 있답니다…
참고하세요


MSSQL-CTE 재귀쿼리 - MSSQL2005 이상

트리구조 등을 표현하려고 사용하다가, 메뉴나 코드관리에서 자주 사용했던 쿼리이며 List<>형태를 가져오기 위해 써먹었던놈입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
WITH 지정이름CTE(menuCode, menuName, isPopup, menuURL, sortNo, menuLevel)
AS
(
SELECT menuCode, menuName, isPopup, menuURL, sortNo, 1 AS menuLevel
FROM 테이블명 WITH(NOLOCK)
WHERE 조건

UNION ALL

SELECT A.menuCode, A.menuName, A.isPopup, A.menuURL, A.sortNo, menuLevel + 1 AS menuLevel
FROM 테이블명 A WITH(NOLOCK) INNER JOIN
지정이름CTE B ON A.menuParentCode = B.menuCode
WHERE 조건
)
SELECT menuCode, menuName, isPopup, menuURL, sortNo, menuLevel
FROM 지정이름CTE WITH(NOLOCK)
ORDER BY sortNo
OPTION (MAXRECURSION 10)

첫번째 호출되는 결과집합(UNION ALL)을 만들고 하단 결과집합이 빈 집합이 될때까지 반복하는 원리입니다.


MSSQL Bulk Insert
참고링크
1
2
3
4
5
6
7
8
9
10
11
12
13
BEGIN TRAN
BULK INSERT 디비명.소유자.테이블명 FROM '경로를 포함한 파일명'
WITH (
DATAFILETYPE = 'char', --이건 텍스트 형태로 한다는거입니다.
FIELDTERMINATOR = '\t', --필드 구분자가 TAB으로 분리되어있는 형식입니다.
ROWTERMINATOR = '\r\n', --행 구분자가 케리지 리턴으로 되어있는 형태입니다.
FIRSTROW = 2 --여긴 첫번째 행은 해당 필드명이 넘어오기때문에 2번째부터 읽자 머 이런의미로 넣은겁니다
--KEEPNULLS
)
IF(@@ERROR <> 0)
ROLLBACK TRAN
ELSE
COMMIT TRAN

사용법은 간단합니다.
270만건 기준 15초 평균 정도가 소요되네요.


ASP RSS 읽어오기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Dim xmlHttp
Set xmlHttp = Server.CreateObject("MSXML2.XMLHTTP.3.0")
xmlHttp.Open "Get", RSS주소(받아들일), false
xmlHttp.Send()
'받아서 저장 ( 이게 요즘은 익숙하져? ㅋㅋ )
Dim RSSXML
RSSXML = xmlHttp.ResponseText
'분할을 위해 DOM객채로 저장합니다 ( 안그래도 상관없는데... 이게더 좋은거 같습니다 )
Dim xmlDOM
Set xmlDOM = Server.CreateObject("MSXML2.DomDocument.3.0")
xmlDOM.async = false
xmlDOM.LoadXml(RSSXML)
'요건 센스 ㅋㅋ
Set xmlHttp = Nothing
'DOM으로 저장한 객체중 item 노드로 뽑아내고 생성했던 객체는 소멸합니다.
Dim RSSItems
Set RSSItems = xmlDOM.getElementsByTagName("item")
Set xmlDOM = Nothing
'이 이후에 이제 배열의 갯수 - 1개로 돌려서

'items(i,0) : title
'items(i,1) : link
'items(i,2) : description
'items(i,3) : category
'items(i,4) : author
'items(i,5) : guid
'items(i,6) : comments
'items(i,7) : pubdate

Google AdSense 수입!

요즘 들어 수입이 영..;;-_- 역시 홈페이지 뻑적지근하게 다시 만들어 봐야겠구나 ㅠㅠ
언제 만들어서 언제 다 정리해서 언제 다 옮기냐~! ㅠㅠ


ASP RSS 만들기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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 = "이미지 세로 사이즈"

'여기서부터 내용
'우선 데이터를 읽어오자
objconn = "Provider=SQLOLEDB; Data Source=DB주소; Initial Catalog=DB명; User ID=아이디; Password=비밀번호;"
SQL = "select top 50 필드1, 필드2 … "
SQL = SQL & " , 필드x, 필드y …"
SQL = SQL & " from 테이블명 "
SQL = SQL & " where 조건 "
SQL = SQL & " order by 어쩌구 desc "
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL,objconn,3
'여기서 부터 루프를 돌리자.
Do until rs.EOF
'이 부분에서 데이터 가공 및 함수호출을 이용한 정보 가공을 하면 된다
'ex) Name = rs(1) 이런식으로 ㅋㅋㅋ
'<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 = "1개의 포스트(게시글)의 제목" '제목
item.childnodes(1).text = "고유 주소" '브라우저 주소입력창에 쳤을때 바로 그 페이지가 나오게끔 하는 주소
item.childnodes(2).text = "본문내용" '내용 필드
item.childnodes(3).text = "등록일" '날짜 필드
item.childnodes(4).text = "카테고리 혹은 분류할 수 있는 테그명 등…" '분류 필드
rs.movenext
loop
'마지막으로 최종적으로 뿌려주자.
Response.Write xmlPars.xml
rs.close
set rs = nothing
Set xmlPars = nothing