PPAM 파일 소스를 보는 방법  기타 유용한 파일 

2011.08.12. 15:58

복사http://blog.naver.com/mktoolbox/70115865590

번역하기 전용뷰어 보기

PPAM 파일 소스를 보는 방법

 

1. 오피스 메뉴 PowerPoint 옵션에 보안센터 탭의 보안 센터 설정 단추를 누른 후

VBA 프로젝트 개체 모델에 안전하게 접근할 수 있음을 체크합니다.

 

2. Regedit 통해 HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\PowerPoint\Options 에

DebugAddins, DWORD, 1 추가합니다.

저렇게 하면 2007에서도 소스보기가 가능하네요...

 

1번 작업을 안하시면 2번작업한 후 PPT를 실행시키면 자동으로 DebugAddins 값이 0으로 변경됩니다.

그러니까 1번 작업부터 순서대로 하셔야 할 것 같습니다.

2003에서는 2번 작업만 해도 보이나보네요.


by 개발자가 되자! 2017. 2. 13. 20:55

Regular Expression 들어가기에 앞서


1950년대 Stephen Kleene에 의해서 생각된 개념입니다.


텍스트들 중에서 내가 원하는 부분을 찾는 방법은 키워드로 검색하는 것이 일반적입니다.

키워드 검색의 정확성은 높지만 비슷한 정보들을 찾기는 어렵다는 단점이 있습니다.

이때 이용할 수 있는 방법이 바로 Regular Expression


예시를 들어보겠습니다.

게시판에서 글의 정보를 가져오는 쿼리의 ResultSet을 클래스에 담는 경우를 생각해봅니다.

TITLE, NAME

2개의 컬럼이 있는경우는 간단합니다.



SEQ, TITLE, NAME, DATE, UPDATE_DATE

5개의 컬럼이 있는 경우? 혹은 20개가 있는 경우는 일일이 작성해야 할까요?

위의 field 선언부를 보면 알 수 있지만 여러개를 모두 작성하려니 힘이 듭니다.

이럴때는 정규표현식을 이용하면 굉장히 편리합니다.




Regular Expression 시작하기

가장 많이 사용하는 정보를 위주로 설명드리겠습니다.

정규표현식 테스트사이트로 이동하셔서 테스트 해보시기 바랍니다.


1. meta sequences

어떠한 1글자를 나타내는 키워드

 .

 라인을 변경하는 문자를 제외한 다른 문자 1개

 Matches any character other than newline (or including newline with the /s flag) 

 \s

 공백, Tab, 라인변경

 Matches any space, tab or newline character.

 \S 

 \s를 제외한 나머지 문자

 Matches anything other than a space, tab or newline.

 \d

 숫자

 Matches any decimal digit. Equivalent to [0-9].

 \w

 문자, 숫자, 밑줄(_)

 Matches any letter, number or underscore.

 

 

 

 


2. quantifiers

수량을 나타내는 키워드


 ?

 0 ~ 1

 *

 0 ~ 무한 

 +

 1 ~ 무한 

 {숫자}

 정확히 숫자 갯수 

 {숫자,}

 숫자 갯수 이상 

 {숫자1, 숫자2}

 숫자1 ~ 숫자2 갯수 사이



3. group construct

어려우면서 잘쓰면 좋은 그룹!

...은 찾을 키워드 (다른 키워드들이 들어가거나 문자 숫자 들이 들어갑니다.)

그룹을 찾고 나면 찾은 순서대로 \1, \2, \3 이런식으로 사용이 가능합니다.


 ( ... ) 

 괄호 사이를 찾고 그룹으로 지정합니다.

 (\w)

 ( a | b )

 a 또는 b

 (a|b)

 (?: ... )

 괄호 사이를 찾지만 그룹으로 지정하지 않습니다

 

 (?<name> ... )

 괄호 사이를 찾고 그룹의 이름을 name으로 지정합니다

 

 앞...(?=뒤...)

 Positive lookahead

 앞을 찾되 뒤가 같은 결과만 찾습니다

 abc(?=def)

=> abcdef abc000

 앞...(?!뒤...)

 Negative lookahead

 앞을 찾되 뒤가 다른 결과만 찾습니다

 abc(?!def)

=> abcdef abc000

 앞...(?<=뒤...)

 Positive lookbehind

 뒤를 찾되 앞이 같은 경우만 찾습니다

 abc(?<=def)

=> abcdef 123def

 앞...(?<!뒤...)

 Negative lookbehind

 뒤를 찾되 앞이 다른 경우만 찾습니다

 abc(?<!def)

=> abcdef 123def

 

 

 

 

 

 




Regular Expression 적용하기


선언부를 이용하여 아래의 결과값을 만들도록 합니다.

원하는 결과값 입니다.

첫줄을 설명하면

int 라는 타입을 찾고 변수명인 SEQ를 찾아서 getter setter를 그대로 이용하도록 하는 코드입니다.


검색

1. 먼저 변수명을 찾으려면 어떻게 해야할지 생각해봅니다

; 문자 앞에 변수명이 오고 있습니다.

[정규표현식]  (\w+);

[설명] \w라는 문자 숫자 밑줄을 한개 / + 갯수(1~무한) / ; 라인이 끝남 / 괄호 (, ) 를 통해서 그룹 설정을 합니다


2. 사이사이에 공백문자가 들어갈 수 있음을 염두해둡니다

[정규표현식]  (\w+)\s*;

[설명] \s 공백문자/ * 갯수(0~무한)



3. 데이터 타입을 찾습니다

[정규표현식]  (\w+)\s+(\w+)\s*;

[설명] 공백이 1개 이상 있으며 그앞에 데이터 타입이 있습니다. / 괄호 (, ) 를 통해서 타입에 대한 그룹 설정을 합니다


4.앞 뒤의 모든 문자들을 포함합니다.

[정규표현식]  .*\s+(\w+)\s+(\w+)\s*;.*

[설명] 데이터 타입 앞에 1개의 공백을 띄우고 / .* 나머지 문자를 앞뒤로 모두 포함합니다.


5. 대소문자 구분을 위해 \w+를 \w{1}\w* 로 변경합니다

[정규표현식]  .*\s+(\w+)\s+(\w+)\s*;.*

[설명] 함수의 대소문자를 맞추기 위해 맨 앞자리를 구분합니다



변경

원하는 부분을 모두 검색했으며, 이젠 그룹을 통해 원하는대로 변경하는 작업이 남았습니다

현재의 그룹 상태

\1 에 들어있는 값 => 데이터 타입의 첫번째 문자

\2 에 들어있는 값 => 데이터 타입의 나머지 문자

\3 에 들어있는 값 => 변수명의 첫번째 문자

\4 에 들어있는 값 => 변수명의 나머지 문자


대문자로 출력하기가 설정되어야 합니다만 텍스트 에디터마다 다른 기능을 통해 지원하고 있습니다.

예를 들어 VIM, Notepad++ 은 \U를 통해 뒤에 나온 내용 전체 대문자화, \u를 통해 뒤에 나온 내용만 대문자화를 지원하고 있습니다. 소문자의 경우는 \L \l 입니다.


article.set\u\3\4\(resultSet\.get\u\1\2\("\3\4"\)\);

Notepad++을 기준으로 설명드리기 전에 먼저 regex101.com을 이용한 결과를 보여드리겠습니다

\u 키워드를 지원하지 않고 있기 때문에 그대로 u라고 출력되었습니다.


Notepad++을 통해 변경작업을 하게 되면 다음과 같습니다.


javascript를 이용하면 결과값에서 대문자화를 추가적으로 진행해야 합니다. stackoverflow 사이트로 이동

var re = /(\b[a-z](?!\s))/g;
var s = "fort collins, croton-on-hudson, harper's ferry, coeur d'alene, o'fallon"; 
s = s.replace(re, function(x){return x.toUpperCase();});
console.log(s); // "Fort Collins, Croton-On-Hudson, Harper's Ferry, Coeur D'Alene, O'Fallon"


이런식으로 Regex를 만들어두고 필요할 때 변경하여 사용하면 화살표 Ctrl+c, Ctrl+v 노가다를 줄일 수 있습니다!

댓글 피드백을 남겨주세요↓



by 개발자가 되자! 2015. 10. 22. 13:58

안녕하세요

오늘은 pastebin.com의 무료로 텍스트를 저장하는 기능을 이용해서 간단한 인증을 구현해볼 예정입니다.

먼저 회원가입을 해야합니다.

http://pastebin.com 으로 이동합니다.


sign up 버튼을 누르시고



가입을 하고나면 이메일로 인증하라는 메일이 옵니다




이메일을 통해 위의 주소를 클릭하면 로그인이 됩니다.




저희가 사용하려고 하는 것은 무료로 인증을 하기를 원하는 것으로 FREE로 제공하는 기능을 이용할 예정입니다.

파일을 바로 올리거나 여러명이 로그인을 하지 못하며 1시간에 약 1개를 올릴 수 있습니다.


따라서 새로운 Paste를 만들기 보다는 기존의 Paste를 읽어와서 수정하는 것으로 작성합니다.



먼저 2가지의 API Key를 받아와야 합니다.

1번. Dev key

http://pastebin.com/api#1




2번. User key

http://pastebin.com/api/api_user_key.html





https://www.itsmods.com/forum/Thread-Tutorial-C-Upload-to-pastebin.html


WebClient client = new WebClient();

            Stream stream = client.OpenRead("http://pastebin.com/raw.php?i=WJB3qEvf");

            StreamReader reader = new StreamReader(stream);

            String content = reader.ReadToEnd();

            return content;


by 개발자가 되자! 2014. 12. 7. 03:20

출처 : 지식in


안녕하세요..

현재 페이지 내의 특정 섹션을 지정하는 용도로 사용합니다.

사용법은 #별칭 이렇게 됩니다.

그런데, action="#" 혹은 href="#" ☜ 이처럼, 지정된 별칭이 존재하지 않기 때문에 문서 페이지의 최상단 섹션으로 이동합니다.

 

보통 #top 이라고 지정하여, 페이지 상단으로 이동하는 용도로 많이 사용하지요..

(물론 보여주신 예제코드는 페이지 이동 없이 자바스크립트의 함수만을 실행하기 위함이지요)

하지만,  Page fragment에 이렇게 예약 되어 있는 단어는 없답니다.

이렇게 사용해야 한다는 규정이 없지만, 모든 웹브라우저에서는 이에 대해서 동일하게 작동합니다.

 

사실 표준이 현실에 부합하지 않을 때는 관례라는 것도 필요합니다.

관례가 보편화 되고 현실에 부합할때 관례가 표준으로 제정되기도 합니다.

 

 

 

덤으로 다른 예제 하나 남겨 드립니다.

  <p><a href="#bottom">클릭하세요..</a></p>
  <br><br><br><br><br><br><br><br><br><br><br><br><br>
  <br><br><br><br><br><br><br><br><br><br><br><br><br>
  <br><br><br><br><br><br><br><br><br><br><br><br><br>
  <br><br><br><br><br><br><br><br><br><br><br><br><br>
  <br><br><br><br><br><br><br><br><br><br><br><br><br>
  <h2 id="bottom">왔어요!!</h2>

 

[예제에 대한 설명]

보통은 앵커태그에 name으로 지정하지만, id속성을 특정 태그내에 지정해서 사용할 수도 있습니다.

이렇게 하게 되면 굳이 앵커(<a>)태그를 쓸 필요가 없어집니다.

코드분량을 줄일 수 있고 잔손도 많이 가지 않는다는 잇점이 있지요...

 

그럼 도움 되셨기를 바랍니다.^^ 

scriptwin
파워 
달신
 
채택 2861 (91.9%)

입력된 URL이 없습니다.

여러분 화이팅~ ^^



출처 : 지식in


by 개발자가 되자! 2013. 3. 7. 02:18
| 1 |