posted by dalnimbest 2021. 9. 5. 10:09

Glide를 이용해서 mp4비디오 파일의 경우는 경로만 넘겨줘도 적당한 시간(?)에 있는 썸네일을 잘 받아온다.

하지만 mkv파일의 경우에는 파일경로만 줘서는 썸네일이 검은화면만 나와서 아래와 같이 RequestOptions에 원하는 시간대의 값을 options.frame에 넣어주면 된다. (본인의 경우 mp4는 options.frame설정을 안해줘도 적당한 시간대의 값을 가져오는데, mkv는 검은화면만 나왔다.)

 

 

    public static void getThumbnailVideoFile(Context context, ImageView imageView, String path) {
        RequestOptions options = new RequestOptions();
        options.frame(1000000); //원하는 시간대를 넣는다. 
        Glide.with(context)
                .load(path)
                .apply(options)
                .into(imageView);
    }

posted by dalnimbest 2017. 1. 8. 13:12


영어문장에서 단어를 찾아내는 솔루션이 필요하여 알아보니 아파치재단에 openNLP라는것이 있다는것을 알게 되었다. 혹시 참고 될 사람이 있을까 싶어서 openNLP사용법을 간단히 적어본다.


홈페이지 : https://opennlp.apache.org/

아파치 설명서 : https://opennlp.apache.org/documentation/1.7.0/manual/opennlp.html

참고한곳 (영어) : http://www.programcreek.com/2012/05/opennlp-tutorial/


관련 라이브러리는 Maven으로 설치하였다. 현재기준으로 1.7이 최신버전이다.

pom.xml에 아래와 같이 적어주면 된다.

<dependency>

<groupId>org.apache.opennlp</groupId>

<artifactId>opennlp-tools</artifactId>

  <version>1.7.0</version>

</dependency>


openNLP는 영어뿐만 아니라 스페인어등 다른 언어도 지원하기 때문에 각 언어별로 단어를 추출하는 로직이 다르므로 각 언어별로 필요한 모델을 다운받아서 사용한다. 모델에는 문장 추출, token(단어, 구둣점등) 추출, 고유명사 추출, POS태깅등이 각각 따로 존재한다.)

openNLP 1.7은 model 1.5를 사용하면 된다. 

다운받는 경로 : http://opennlp.sourceforge.net/models-1.5/



다운 받은 모델을 프로젝트의 리소스에 추가해준다.(아래는 필자의 경로입다.)



String strOri = "Hi. How're you? This is Mike.";

System.out.println("\nSentences : " + strOri);

try {

//Resource 있는 Model 파일을 읽기 위한 설정

ClassLoader loader = Thread.currentThread().getContextClassLoader();

//문장으로 분리하기

InputStream is_sentence = loader.getResourceAsStream("en-sent.bin");

SentenceModel modelSentence = new SentenceModel(is_sentence);

SentenceDetectorME sdetector = new SentenceDetectorME(modelSentence);  

String sentences[] = sdetector.sentDetect(strOri);

//POS(Part of Speech) 찾아내기...

InputStream is_POS = loader.getResourceAsStream("en-pos-maxent.bin");

POSModel modelPOS = new POSModel(is_POS);

POSTaggerME tagger = new POSTaggerME(modelPOS);


//token(단어)으로 분리하기 (How're 하나의 token 본다.) 

InputStream is_token = loader.getResourceAsStream("en-token.bin");

TokenizerModel modelToekn = new TokenizerModel(is_token);

TokenizerME tokenizer = new TokenizerME(modelToekn);

//고유명사들 찾기...

//사람 이름 찾아내기

InputStream is_NameOfPeople = loader.getResourceAsStream("en-ner-person.bin");  

TokenNameFinderModel model_NameOfPeople  = new TokenNameFinderModel(is_NameOfPeople);

NameFinderME peopleNameFinder = new NameFinderME(model_NameOfPeople);

//지명 이름 찾아내기 

InputStream is_NameOfLocation = loader.getResourceAsStream("en-ner-location.bin");  

TokenNameFinderModel model_NameOfLocation = new TokenNameFinderModel(is_NameOfLocation);

NameFinderME locationNameFinder = new NameFinderME(model_NameOfLocation);

//조직 이름 찾아내기 

InputStream is_NameOfOrgan = loader.getResourceAsStream("en-ner-organization.bin");  

TokenNameFinderModel model_NameOfOrgan= new TokenNameFinderModel(is_NameOfOrgan);

NameFinderME organNameFinder = new NameFinderME(model_NameOfOrgan);

//날짜 찾아내기 

InputStream is_NameOfDate = loader.getResourceAsStream("en-ner-date.bin");  

TokenNameFinderModel model_NameOfDate= new TokenNameFinderModel(is_NameOfDate);

NameFinderME dateNameFinder = new NameFinderME(model_NameOfDate);

//화폐 이름 찾아내기 

InputStream is_NameOfMoney= loader.getResourceAsStream("en-ner-money.bin");  

TokenNameFinderModel model_NameOfMoney= new TokenNameFinderModel(is_NameOfMoney);

NameFinderME moneyNameFinder = new NameFinderME(model_NameOfMoney);

//입력문장 전체를 문장으로 나눈다.

System.out.println("count of senctences : " + sentences.length);

for(String sentence : sentences){

System.out.println("sentence : " + sentence);

// 문장에서 token단위(단어, 구둣점등) 나눈다.

String[] tokens = tokenizer.tokenize(sentence);

//tokens으로 분리한 토큰들에 대한 POS 가져온다.

String tag[] = tagger.tag(tokens);

System.out.println("\ncount of tokens : " + tokens.length);

for (int i = 0; i < tokens.length; i++) {

String strWord = tokens[i];

String pos = tag[i];

System.out.println(i + " : " + strWord);//+ "  , POS[" + pos + "]");

}

//whitespaceTokens으로 분리한 토큰들에 대한 POS 가져온다.

String whitespaceTokens[] = WhitespaceTokenizer.INSTANCE.tokenize(sentence);

String tagOfWhitespaceTokens[] = tagger.tag(whitespaceTokens);

System.out.println("\ncount of whitespaceTokens : " + whitespaceTokens.length);

for (int i = 0; i < whitespaceTokens.length; i++) {

String strWord = whitespaceTokens[i];

String pos = tagOfWhitespaceTokens[i];

System.out.println(i + " : " + strWord);//+ "  , POS[" + pos + "]");

}


//simpleTokens으로 분리한 토큰들에 대한 POS 가져온다.

String simpleTokens[] = SimpleTokenizer.INSTANCE.tokenize(sentence);

String tagOfSimpleTokens[] = tagger.tag(simpleTokens);

System.out.println("\ncount of simpleTokens : " + simpleTokens.length);

for (int i = 0; i < simpleTokens.length; i++) {

String strWord = simpleTokens[i];

String pos = tagOfSimpleTokens[i];

System.out.println(i + " : " + strWord);//+ "  , POS[" + pos + "]");

}

Span peopleNameSpans[] = peopleNameFinder.find(simpleTokens);  

for(Span name: peopleNameSpans) {

logger.info("people Name : " + name.toString());

}

Span locationNameSpans[] = locationNameFinder.find(simpleTokens);  

for(Span name: locationNameSpans) {

logger.info("location Name : " + name.toString());

}

Span organNameSpans[] = organNameFinder.find(simpleTokens);  

for(Span name: organNameSpans) {

logger.info("organ Name : " + name.toString());

}

Span dateNameSpans[] = dateNameFinder.find(simpleTokens);  

for(Span name: dateNameSpans) {

logger.info("date Name : " + name.toString());

}

Span moneyNameSpans[] = moneyNameFinder.find(simpleTokens);  

for(Span name: moneyNameSpans) {

logger.info("money Name : " + name.toString());

}

}

is_sentence.close();

is_token.close();

is_NameOfPeople.close();

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}



위를 실행하면 나오는 결과는 아래와 같다..

Sentences : Hi. How're you? This is Mike.

count of senctences : 2

sentence : Hi. How're you?


count of tokens : 5

0 : Hi

1 : .

2 : How're

3 : you

4 : ?


count of whitespaceTokens : 3

0 : Hi.

1 : How're

2 : you?


count of simpleTokens : 7

0 : Hi

1 : .

2 : How

3 : '

4 : re

5 : you

6 : ?

sentence : This is Mike.


count of tokens : 4

0 : This

1 : is

2 : Mike

3 : .


count of whitespaceTokens : 3

0 : This

1 : is

2 : Mike.


count of simpleTokens : 4

0 : This

1 : is

2 : Mike

3 : .

posted by dalnimbest 2016. 8. 1. 11:37

JMDict(Japanese-Multilingual Dictionary)는 Jim Breen교수가 만든 EDict를 기반으로 만든 일본어사전이다. 홈페이지


xml로 구성되어 있으며, 이해하기 위해서는 먼저 dtd를 이해해야 한다.

아래는 기본적으로 사용되는 엘리먼트에 대한 설명이다.


<!DOCTYPE JMdict [
 <!-- root element는 JMDict이다. -->
 <!ELEMENT JMdict (entry*)>
  <!-- JMDict엘리먼트는 entry라는 엘리먼트가 0개 또는 여러개가 있다.-->
 <!ELEMENT entry (ent_seq, k_ele*, r_ele+, info?, sense+)>
  <!-- entry엘리먼트는 ent_seq(일련번호), k_ele(kanji elements, 0 또는 여러개),
  r_ele(reading elements, 1개 또는 여러개), info(general information, 0개 또는 1개),
  sense(sense elements, 1개 또는 여러개) 엘리먼트를 순서대로 가진다. 현재까지는 info 엘리먼트는 없는것으로 보인다.-->
 <!ELEMENT ent_seq (#PCDATA)>
  <!-- ent_seq엘리먼트는 각 entry엘리먼트마다 유일한 일련번호를 가지며,
  그 속성은 파싱가능한 문자열로 이루어진다. (PCDATA) -->
 <!ELEMENT k_ele (keb, ke_inf*, ke_pri*)>
  <!-- k_ele(kanji element)는 keb(한개), ke_inf(0개 또는 여러개), ke_pri(0개 또는 여러개)등의 엘리먼트를 순서대로 가진다.  -->
 <!ELEMENT keb (#PCDATA)>
 <!-- keb는 순수가나로만 이루어진 것을 제외한 단어나 구를 말한다. (대부분 한자이나, 영어등 다른 문자일수도 있다.) -->
 <!ELEMENT ke_inf (#PCDATA)>
 <!-- keb의 철자법(orthography)이나, 送り仮名(okurigana, 한자어 옆의 조사등으로 行(い)く의く를 말한다.)
 -->
 <!ELEMENT ke_pri (#PCDATA)>
 <!-- 단어의 중요도나 빈도등을 나타낸다. news1/2는 마이니치신문으로 부터 단어 빈도를 추출한것으로 news1은 처음 12,000단어 news2는 그다음 12,000단어를 나타낸다. nfxx는 500단어씩 끊어서 단어빈도를 나타낸다. -->
 
 <!--                                                                   -->
 <!ELEMENT r_ele (reb, re_nokanji?, re_restr*, re_inf*, re_pri*)>
 <!-- r_ele는 reading element로 re, re_nokanji, re_restr, re_inf, re_pri로 구성된다. -->
 <!ELEMENT reb (#PCDATA)>
 <!-- reb는 가나 또는 장음(chouon), 반복어(kurikaeshi)등을 표시한다. -->
 <!ELEMENT re_nokanji (#PCDATA)>
 <!-- keb에 해당되는 reb가 실제 kanji의 읽는법과 다를때 사용한다. 주로 외국지명등 외래어 표시때 사용한. (한국/중국 한자를 읽을때 인가?) -->
 <!ELEMENT re_restr (#PCDATA)>
 <!-- keb(한자)가 여러개 있을때 해당되는 reb(읽기)의 keb를 다시 보여준다. 주로 reb가 두개 이상있을때 나타나며, 히라가나, 가타가나로 읽는 reb가 있을때 자주 나타난다. -->
 <!ELEMENT re_inf (#PCDATA)>
 <!-- reb에서 특정한 상황에서 읽기를 해야할때 표시함. entity값이 들어감. -->
 <!ELEMENT re_pri (#PCDATA)>
 <!-- ke_pri와 동일하게, 중요도를 나타낸다. -->
 
 <!--                                                                   -->
 <!ELEMENT sense (stagk*, stagr*, pos*, xref*, ant*, field*, misc*, s_inf*, lsource*, dial*, gloss*, example*)>
 <!-- sense는 단어의 뜻 및 관련된 다른정보를 표시한다. 다의어인 경우에는 sense가 여러개 나타난다.--> 
 <!ELEMENT stagr (#PCDATA)>
 <!-- stagr의 속성에 해당되는 keb/reb에 국한되는 sense를 표시함.-->
 <!ELEMENT xref (#PCDATA)*>
 <!-- 다른 entry와 비슷하거나 관계있을때 사용. 속성은 다른 entry의 keb또는 reb이다.-->
 <!ELEMENT ant (#PCDATA)*>
 <!-- ant의 속성은 현재 entry의 반대어를 나타낸다. (예, 악행 - 선행) -->
 <!ELEMENT pos (#PCDATA)>
 <!-- 품사(Part-of-speech)를 나타내며 속성은 entity에 정의 되어 있다. -->
 <!ELEMENT field (#PCDATA)>
 <!-- 단어가 사용되는 분야을 설정한다.(불교계, 과학계용어등)-->
 <!ELEMENT misc (#PCDATA)>
 <!-- 단어에 대한 기타 정보들 -->
 <!ATTLIST lsource xml:lang CDATA "eng">
 <!-- 단어가 외래어일때 해당국가 표시 -->
 <!ATTLIST lsource ls_type CDATA #IMPLIED>
 <!-- 외래어에 대해서 fully 또는 partially로 설명할때를 구분. 생략하면 full이다.-->
 <!ATTLIST lsource ls_wasei CDATA #IMPLIED>
 <!-- 외래어로부터 일본어가 만들어졌지만, 해당 외래어에서는 그런 용어가 없을때 (콩글리쉬)-->
 <!ELEMENT dial (#PCDATA)>
 <!-- 어느지역 사투리인지-->
 <!ELEMENT gloss (#PCDATA | pri)*>
 <!-- 단어의 뜻 영어가 아닌 다른 언어로 뜻을 표시할때는 xml:lang="fr" 처럼 추가 표기해준다.-->

 <!ELEMENT s_inf (#PCDATA)>
 <!-- sense-information 엘리먼트는 단어에 대해서 추가정보를 준다.-->
 
 <!ENTITY abbr "abbreviation"> 
 <!ENTITY Buddh "Buddhist term">
 <!ENTITY chem "chemistry term">

 <!-- chem은 화확용어임.-->
]>

 

아래는 실제xml내용중 일부이다.

<JMdict>
<entry>
<ent_seq>1171270</ent_seq>
<k_ele>
<keb>右翼</keb>
<ke_pri>ichi1</ke_pri>
<ke_pri>news1</ke_pri>
<ke_pri>nf04</ke_pri>
</k_ele>
<r_ele>
<reb>うよく</reb>
<re_pri>ichi1</re_pri>
<re_pri>news1</re_pri>
<re_pri>nf04</re_pri>
</r_ele>
<sense>
<pos>&adj-no;</pos>
<gloss>right-wing</gloss>
<gloss xml:lang="fr">aile droite (oiseau, armée, parti politique, base-ball)</gloss>
<gloss xml:lang="ru">пра́вое крыло́</gloss>
<gloss xml:lang="ru">пра́вый фланг</gloss>
<gloss xml:lang="de">die Rechte</gloss>
<gloss xml:lang="de">rechter Flügel</gloss>
</sense>
<sense>
<pos>&n;</pos>
<gloss>right field (e.g. in sport)</gloss>
<gloss>right flank</gloss>
<gloss>right wing</gloss>
<gloss xml:lang="de">{Sport}</gloss>
<gloss xml:lang="de">rechte Flanke</gloss>
<gloss xml:lang="de">rechter Flügel</gloss>
</sense>
</entry>


posted by dalnimbest 2014. 12. 15. 12:30


아래는 그나라언어로 표시된 외국어 리스트 이다. preferred language codes.


ar      Arabic
cs      čeština
da      Dansk
de      Deutsch
el      Ελληνικά
en      English
es      Español
fi      Suomi
fr      français
he      עברית 
hr      Hrvatski
id      Bahasa Indonesia
it      Italiano
ja      日本語
ko      한국
nb      Norsk (Bokmål)
nl      Nederlands
pl      Polski
pt      Português
ro      Română
ru      Русский<
sk      slovenčina
sv      Svenska
th      ภาษาไทย
tr      Türkçe
uk      українець
zh-Hans 简体中文
zh-Hant 繁體中文

العربية   아랍어
हिन्दी    힌디어
বাংলা   뱅골어
Tiếng Việt    베트남어


posted by dalnimbest 2014. 10. 20. 13:38


기존에 쓰던 um2가 단선이 되어서, 한번 수리 하였는데, 또 되었다. 자꾸 할려니 귀찮고 이 기회에 업글하고자 압구정에 있는 셰에라자드(http://www.schezade.co.kr/)에 가서 청음을 하니, 구관이 명관이라고 westone제품쪽이 끌리는것이다. 그래서 이번에 산제품이 UMPRO 20이다. 약 38만원정도에 컴플라이 폼팁하나 선물로 받았다.




나는 음악을 즐겨 듣는 편이 아니고 영화나 영어공부용으로 pod caster등을 듣는데, 내가 고른 기준은


* 편해야 한다. (다른것에 비해서 웨스톤이 귀에 꼽고 다닐때 편하게 느껴졌다)


이런 일자형보다(참고로 하기 모델은 Final Audio Design 이어폰(FI-BA-SS)로 한 120정도 한다. 필자도 돈이 없어서 일자형을 싫어하는건 꼭 아니다.)




이런 형태가 필자에게는 편하다(음... 보는 사람은 편하진 않겠군... 여자가 껴도 이정도인데...)



* 케이블을 각 굴려도 되는 제품

필자는 이어폰을 접어서(?) 주머니에 넣고 다니는 편인데(um2는 한 6년 접고 다녔더니 단선이 발생했는데, 일반 케이블은 한 3~4달 접고 다니니 단선이...), 트위스터형이 아닌것은 잘 안접히더라.


* 저음 빵빵, 목소리 선명

액션 영화를 볼때 단단한 저음이 강하게 나오면서, 주인공의 영어 대사가 선명하게 들리는것을 찾고 있다. UMPRO20은 저음이 어느정도 단단하면서, 주인공의 영어대사가 다른 제품보다는 좀더 선명하게 들리는것 처럼 느껴졌다. 필자는 영어가 안들리는게 꼭 실력이 딸려서 그런거는 아니라고 생각한다. 좋은 이어폰으로 들으면 영어가 잘들린다. 이건 진짜다...



* 볼륨조절기가 있었으면

주로 아이폰에 이어폰을 꽂아서 사용하는데, 볼륨조절기가 있는 제품을 한번 써보니, 상당히 편함을 느꼈다. 그래서 UE900s(케이블에 볼륨조절기 있음)랑 UMPRO20을 두고 많이 고민했었다. 결국 UE900s는 오래(한 10분정도 테스트) 껴보니 귀가 좀 불편해짐을 느껴서 UMPRO20을 선택했는데, 둘다 케이블이 분리(mmcx사용)되는 모델이고 호환도 된다고 한다. 



이글을 적는 이유는 UE900s 케이블이 국내에서는 7~8만원 한다는데, 로지텍사 홈페이지에서는 29불에 판다고 해서 좌표 까먹을까봐 적어둔다. 다음주에 미국 출장가는데 미국내 출장지로 배송해달라고 하면 쌀려나?

http://buy.logitech.com/store/logib2c/en_US/DisplayCategoryProductListPage/categoryid.60213000?resid=UjngdgrR-QEAABff1IIAAAGO&rests=1379524724893










posted by dalnimbest 2014. 6. 19. 22:19


* WebView등에서 화면의 좌우측에서 손가락으로 쓸어 넘기면 이전/이후 화면으로 가는것


- viewDidLoad에서 UIScreenEdgePanGestureRecognizer를 생성해주고

        UIScreenEdgePanGestureRecognizer *rightEdgeRecognizer = [[UIScreenEdgePanGestureRecognizer alloc] initWithTarget:self action:@selector(swipeForward:)];
        rightEdgeRecognizer.edges = UIRectEdgeRight;
        rightEdgeRecognizer.delegate = self;
        [webViewWeb addGestureRecognizer:rightEdgeRecognizer];


- 손가락으로 화면을 쓸면.... 행동할 함수를 호출한다. 여기서 UIGestureRecognizerStateEnded이걸 구분하는게 없으면... 아래 함수가 여러번 호출될수 있다.

- (void)swipeForward:(UIScreenEdgePanGestureRecognizer*)recognizer {
    if (recognizer.state == UIGestureRecognizerStateEnded) {
           if ([webViewWeb canGoBack]){
                [webViewWeb goBack];

           }
    }
}




posted by dalnimbest 2014. 3. 14. 12:31





S03E09 The Convict


범죄자가 회사에 있다는 얘기를 듣고 흥분한 드와이트가 뒷주머니에 지폐를 넣고 유혹(?)하는 장면이 가장 인상에 남는 episode이다.


"The Convict" is the ninth episode of the third season of the American comedy tv series "The Office".


Michael happens to know the Martin is a former criminal and tells the entire office.



* clink : 쨍그란 소리, 교도소

* gruel : (귀리)죽

* nuisance : 성가신 사람

* prank : 장난

* reformed convict : 모범수

relive : 다시 체험하다.

* romp : 즐겁게 뛰놀다.

* sack : 해고하다, 자러가다.

* stereo type : 고정관념

* watercolor classes : 수채화수업


S) Speaking of Stamford, she brought in a baby. : 스템포드얘기가 나와서 말인데...


S) Good for a romp in the sack. : 침대에서 즐기기 좋다.


S) She's high maintenance. : 한성격 하다.


S) What is she into? : 뭐를 좋아하지?


S) Lead off with that : 그것부터 시작해


S) I had Martin explain to me three times : 마틴에게 세번이나 물어보았다.


S) It's way better than prison.


S) There's no getting around it. : 듣기 좋으라고 하는 말이 아니다.


S) I'm not going for bulk, I'm going for tone.


S) I'm gonna go get my benjoj out of my car :차에가서 내 벤조를 가져올께...


S) held him for ransom :몸값을 요구하다.


S) Nothing but gruel : 죽 밖에 없다.


S) That must have been hard for you to relive that : 생생하게 재현한다고 힘들었겠네요.


S) Martin has had a bad influence. : 마틴이 나쁜 영향을 미치고 있다.


S) Time off for good behavior. : 좋은일을 했으니 쉬어야지.

'영어 > 미드' 카테고리의 다른 글

The Office Season 1  (0) 2014.03.14
posted by dalnimbest 2014. 3. 14. 12:31

어떤 씩으로 영어공부를 할까 하다가, 미드를 보게 되었는데... 미드를 본다고... 딱히 영어가 느는것 같지가 않다. 


열심히 안한것도 있지만, 자막을 안보면... 얘기를 못알아들으니 재미가 없고... 한글자막만 보면... 영어공부는 안하는것 같고...


영어자막만 보면... 뜻을 이해하지 못할때가 많고... 한글자막과 영어자막을 같이 보면... 한글만 보이고...


또... 모르는 단어나 표현이 나오면 당연히 안들리고... 짧은 문장은 어느정도 들리는데... 긴 문장이 나오면... 듣다가... 흐름이 끊기고...



다행히 The Office는 처음에 이게 뭐지? 재밌겠는데... 하면서 보다가... 이게 뭐야? 재미 없네... 라고 하는 시점을 넘기고 지금 시즌 3로 가니까... 드라마 보는데는 탄력이 붙는데... 과연 영어공부에 얼마나 도움이 되는지...



그래서 임시 방편으로 생각한것이... 모르는 단어(너무 어려운거 빼고)나 내 수준에 도움이 될만한 문장들을 블로그에 올리면... 공부에 좀 도움이 되겠지이다.


그리고 진짜 문제는 이렇게 올리는 내용을 어떻게 내껄로 만들까 이다...



S01E01 Pilot


미드는 항상 Pilot라는 제목으로 시작하는거 같다.


* corporate : 본사

* garner : (정보, 지식등을) 얻다, 모으다.



S) Let me show you how it's done : 어떻게 일처리 하는건지 보여줄께...


S) If you want to come through here, so we have the entire floor. : 여기로 들어가면, 우리가 한층을 다 차지하고 있습니다.


S) This is from corporate. : 이건 본사에서 온거잖아.


S) How many times have I told you that ~ : ~를 몇번이나 말해야 되겠어?


S) You get the best out of us : 우리의 능를역 최대한 발휘하게 해주세요.


S) I'm boring myself just talking about this. : 이것에 대해서 이야기 하는것만으로도 지루해지네요.


S) Back to work : 다시 일해.


S) I faxed one over to you this morning. : 오늘 아침에 팩스로 보냈어요.


S) I've told him the same as you. : 당신한테 한거와 똑같이 말했어요.


S) Do you mind if I take it? : 전화 받아도 되나요?


S) Does the carpet match the drapes? : 염색한거 아니고 본 머리색이야?


S) He sent me down to start today? : 오늘부터 일하라고 보냈어요?


S) I'm sort of a student of comedy. : 코메디를 좀 공부하고 있거던..


S) I don't think it's many girls dream to be a receptionist. : 많은 여자애들의 꿈이 접수운은 아니잖아요.


S) We'll see : 두고보자구(?)


S) Bring it  on : 어서 시작하시죠.


S) Every thing is under control : 모든게 잘되고 있다.


S) I deserve a raise : 연봉 인상을 받을만하다.


S) 



'영어 > 미드' 카테고리의 다른 글

The Office Season 3  (0) 2014.03.14
posted by dalnimbest 2014. 3. 1. 08:06


VBA로 작업을 하다 보면 시간이 오래걸리는 경우가 많은데, 개발자들은 Log를 보면서 작업을 하니까 갑갑함을 못느낄수 있지만, VBA로 만든 것을 돌리기만 하는 경우에는 진행상황을 알수 없어서 갑갑함을 느낄수 있다.


이때 간단하게 현재 진행현황을 보여줄려면 Application.StatusBar를 쓰면 된다.


MSDN도움말


Public Sub VBA작업()

Dim oldStatusBar As string


'이전 메시지를 기억한다.

oldStatusBar = Application.DisplayStatusBar Application.DisplayStatusBar = True 


'순환문내에서 아래 진행상황을 표시한다. Application.StatusBar = i & "/" & allCount & " Please be patient..."


'끝나기전에 초기상태로 뒤돌린다. Application.StatusBar = False Application.DisplayStatusBar = oldStatusBar


End Sub


'IT > VBA' 카테고리의 다른 글

cell내의 색상 선택하기  (0) 2014.02.28
오랜만에 다시 VBA를 할때 까먹기 쉬운거  (0) 2014.02.10
posted by dalnimbest 2014. 2. 28. 06:40


cell에 색상을 입히고 싶으면 range의 interior에 ColorIndex를 설정해주면 된다.

예) rangeOfCell.Interior.ColorIndex = 6


그런데 칼러가 숫자로만 표현되니(상수로 정해두었을거 같은데... 못찾았다.) 무슨색을 나타내는지 알기 어려워서 찾아보니 아래의 표가 있다. 



interiorfontHTMLbgcolor=Red<GreenBlueColor
Black[Color 1]#000000#000000000[Black]
White[Color 2]#FFFFFF#FFFFFF255255255[White]
Red[Color 3]#FF0000#FF000025500[Red]
Green[Color 4]#00FF00#00FF0002550[Green]
Blue[Color 5]#0000FF#0000FF00255[Blue]
Yellow[Color 6]#FFFF00#FFFF002552550[Yellow]
Magenta[Color 7]#FF00FF#FF00FF2550255[Magenta]
Cyan[Color 8]#00FFFF#00FFFF0255255[Cyan]
[Color 9][Color 9]#800000#80000012800[Color 9]
[Color 10][Color 10]#008000#00800001280[Color 10]
[Color 11][Color 11]#000080#00008000128[Color 11]
[Color 12][Color 12]#808000#8080001281280[Color 12]
[Color 13][Color 13]#800080#8000801280128[Color 13]
[Color 14][Color 14]#008080#0080800128128[Color 14]
[Color 15][Color 15]#C0C0C0#C0C0C0192192192[Color 15]
[Color 16][Color 16]#808080#808080128128128[Color 16]
[Color 17][Color 17]#9999FF#9999FF153153255[Color 17]
[Color 18][Color 18]#993366#99336615351102[Color 18]
[Color 19][Color 19]#FFFFCC#FFFFCC255255204[Color 19]
[Color 20][Color 20]#CCFFFF#CCFFFF204255255[Color 20]
[Color 21][Color 21]#660066#6600661020102[Color 21]
[Color 22][Color 22]#FF8080#FF8080255128128[Color 22]
[Color 23][Color 23]#0066CC#0066CC0102204[Color 23]
[Color 24][Color 24]#CCCCFF#CCCCFF204204255[Color 24]
[Color 25][Color 25]#000080#00008000128[Color 25]
[Color 26][Color 26]#FF00FF#FF00FF2550255[Color 26]
[Color 27][Color 27]#FFFF00#FFFF002552550[Color 27]
[Color 28][Color 28]#00FFFF#00FFFF0255255[Color 28]
[Color 29][Color 29]#800080#8000801280128[Color 29]
[Color 30][Color 30]#800000#80000012800[Color 30]
[Color 31][Color 31]#008080#0080800128128[Color 31]
[Color 32][Color 32]#0000FF#0000FF00255[Color 32]
[Color 33][Color 33]#00CCFF#00CCFF0204255[Color 33]
[Color 34][Color 34]#CCFFFF#CCFFFF204255255[Color 34]
[Color 35][Color 35]#CCFFCC#CCFFCC204255204[Color 35]
[Color 36][Color 36]#FFFF99#FFFF99255255153[Color 36]
[Color 37][Color 37]#99CCFF#99CCFF153204255[Color 37]
[Color 38][Color 38]#FF99CC#FF99CC255153204[Color 38]
[Color 39][Color 39]#CC99FF#CC99FF204153255[Color 39]
[Color 40][Color 40]#FFCC99#FFCC99255204153[Color 40]
[Color 41][Color 41]#3366FF#3366FF51102255[Color 41]
[Color 42][Color 42]#33CCCC#33CCCC51204204[Color 42]
[Color 43][Color 43]#99CC00#99CC001532040[Color 43]
[Color 44][Color 44]#FFCC00#FFCC002552040[Color 44]
[Color 45][Color 45]#FF9900#FF99002551530[Color 45]
[Color 46][Color 46]#FF6600#FF66002551020[Color 46]
[Color 47][Color 47]#666699#666699102102153[Color 47]
[Color 48][Color 48]#969696#969696150150150[Color 48]
[Color 49][Color 49]#003366#003366051102[Color 49]
[Color 50][Color 50]#339966#33996651153102[Color 50]
[Color 51][Color 51]#003300#0033000510[Color 51]
[Color 52][Color 52]#333300#33330051510[Color 52]
[Color 53][Color 53]#993300#993300153510[Color 53]
[Color 54][Color 54]#993366#99336615351102[Color 54]
[Color 55][Color 55]#333399#3333995151153[Color 55]
[Color 56][Color 56]#333333#333333515151[Color 56]
Excel only recognizes names for Color 1 through 8 (Black, White, Red, Green, Blue, Yellow, Magenta, and Cyan).  The colors 1-16 are widely understood color names from the VGA color palette.  Of the 56 colors only 40 colors appear on the palette.  The 40 colors names indicated on the Excel color palette (see below) are for descriptive purposes only. 


'IT > VBA' 카테고리의 다른 글

진행상황을 WorkSheet에서 알기  (0) 2014.03.01
오랜만에 다시 VBA를 할때 까먹기 쉬운거  (0) 2014.02.10