해당 숫자에해당하는 원문자를 반환하는 메서드입니다. 

 

 

/// <summary>

/// 해당 숫자에 해당하는 원문자열을 반환한다.

/// </summary>

/// <param name="number">변환하고자 하는 숫자</param>

/// <returns>변환된 원문자열</returns>

private string ConvertCombinumerals(int number)

{

    char c = ' ';

    if (number == 0)

    {

        c = (char)9450;

    }

    else if (number >= 1 && number <= 20)

    {

        c = (char)(9312 + (number - 1));

    }

    else if (number >= 21 && number <= 35)

    {

        c = (char)(12881 + (number - 21));

    }

    else if (number >= 36 && number <= 50)

    {

        c = (char)(12977 + (number - 36));

    }

    return c.ToString();

}

 

 

 

아래는 원문자에 해당하는 유니코드 값입니다.

 

⓪ 9450
① 9312
② 9313
③ 9314
④ 9315
⑤ 9316
⑥ 9317
⑦ 9318
⑧ 9319
⑨ 9320
⑩ 9321
⑪ 9322
⑫ 9323
⑬ 9324
⑭ 9325
⑮ 9326
⑯ 9327
⑰ 9328
⑱ 9329
⑲ 9330
⑳ 9331
㉑ 12881
㉒ 12882
㉓ 12883
㉔ 12884
㉕ 12885
㉖ 12886
㉗ 12887
㉘ 12888
㉙ 12889
㉚ 12890
㉛ 12891
㉜ 12892
㉝ 12893
㉞ 12894
㉟ 12895
㊱ 12977
㊲ 12978
㊳ 12979
㊴ 12980
㊵ 12981
㊶ 12982
㊷ 12983
㊸ 12984
㊹ 12985
㊺ 12986
㊻ 12987
㊼ 12988
㊽ 12989
㊾ 12990
㊿ 12991

꼭 단골 가게를 만들겠다는 생각으로

결혼하고 자주 치킨을 시켜 먹었어요

 

그 덕분에 날이 갈수록 살들은

주체를 못하고....늘어만 가네요....

 

엉엉

 

 

그래도 치킨은 맛있으니까....ㅋㅋㅋ

 

아직 맛있는 치킨을 찾지 못해서 

내스타일의 치킨을 찾겠다는 굳은 의지로

새로운 곳에 치킨을 주문했어요

 

요리

 

 

이번에 주문한 치킨집 이름은

"내치킨내놔라!"

 

 

 메뉴는 다양한거 같아요~

 

 

 

요건 한마리 치킨 메뉴에요

(메뉴 사진 찍은게 없어서 치킨집 블로그에서 퍼왔어요)

 

 

 

 

요건 두마리 치킨 메뉴에요

(이것도 치킨집 블로그에서 퍼왔어요)

 

두마리 메뉴로 주문하면

7000원 정도 할인되는거 같아요

 

 

내치킨내놔라에는 문어치킨도 있데요

(어디가 원조인지는 잘 모르겠지만..ㅋㅋ)

 

 

저흰 언제나 그랬듯 양념반/후라이드반!!

여기 후라이드는 크리스피래요~

 

저는 크리스피를 좋아하지만

남편은 옛날통닭 스타일이라.. 고민했지만

 

결국 내가 먹고 싶으니까.. 주문!ㅋㅋㅋㅋ

 

 

 날마다 다르겠지만

저희가 주문한 날엔 배달 오기까지

40분 정도 소요됐어요

 

 

 

 

병아리 같은 닭이 있어

더 귀여워 보이는 로고에요 ㅋㅋㅋ

 

 

 

치킨 상자에도 귀여운 로고가 딱!!ㅋㅋㅋ

콜라 + 무 + 치킨

심플한 구성이에요 ㅋㅋㅋㅋ

 

 

 

 

여기의 쿠폰은

10장을 모아야 서비스를 주는

다른 치킨집이랑 약간 달라요~

 

3장 => 감자튀김

5장 => 치킨반마리

10장 => 크리스피한마리

 

저는 개인적으로

몇장만 모으면 서비스를 받을 수 있는 

이 제도가 마음에 들어요

 

하트3

 

 

이제 본격적으로 치킨을!!

 

 

 

양념 반 / 후라이드(크리스피) 반

 

양념 비쥬얼에

글쓰고 있는 지금도 군침이 도네요..ㅋㅋ

 

 

 

 

둘다 너무 맛있게 생겼죠??

 

먹고 싶은 마음이

사진 찍는 마음보다 커서

대충 찍고 맛을 봤었요 ㅋㅋㅋㅋ

 

 

(이사진은 심지어 흔들렷네요...ㅋㅋ)

 

양념이랑 후라이드 둘다 너무 맛있었어요

하트3

 

 

남편은 크리스피 안좋아하는데도

맛있다고 냠냠쩝쩝!!ㅋㅋㅋ

 

 

요즘 먹어본 배달 치킨 중

최고였던거 같아요~~

 

 

하지만 아쉬운 점은 양이 조금 적어요!

저희는 보통 치킨을 시키면

남아서 내일 또 먹는데

 

이번엔 둘이서 한마리를 뚝딱!

 

그래도 맛있으니

다음에는 간장이랑 매운 양념도

먹어봐야겠어요ㅋㅋㅋ

 

 

- 100% 돈을 지불하고 먹은 후기였습니다. -

 

 

 

 

 

 

닷넷의 SerialPort 클래스를 이용해 통신을 하다보니 문제가 발생하였다.

 

Read 메서드를 이용해 특정 바이트 수만큼 읽는 로직을 작성하였는데,

 

예를들어 4바이트를 Read하면 4바이트 이하여도 Read 메서드의 Blocking이 풀리는 현상이다.

 

사실 버그는 아니고......msdn을 살펴보니 수신 버퍼가 비어있지 않다면 해당  Read 메서드의 인자인  count 이하만큼

 

읽어버리는 것을 알았다.

 

아래와 같이 처리해주면 count만큼 수신할 수 있다.

 

/// <summary>

/// 데이터를 수신한다.

/// </summary>

/// <param name="buf">수신할 버퍼</param>

/// <param name="offset">데이터를 저장할 위치</param>

/// <param name="count">데이터 저장 바이트 수</param>

/// <returns></returns>

public int Receive(byte[] buf, int offset, int count)

{

    if (this.serialPort != null)

    {

        int bytesExpected = count, bytesRead = 0;

        while (bytesExpected > 0 && (bytesRead = serialPort.Read(buf, offset, bytesExpected)) > 0)

        {

            offset += bytesRead;

            bytesExpected -= bytesRead;

        }

        return count;

    }

    else

        return 0;

} 

 

닷넷프레임워크 4.5의 라이브러리 xml이 영어로 변경되버린 버그가 있었다.

 

아래의 경로의 xml파일들이 모두 영문으로 구성되어 VS의 인텔리센스에서 영문으로 표시되었다.

 

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\ko

 

임시방편으로 닷넷프레임워크 4.5.1의 한글 xml파일을 덮어씌워서 해결하였다.

 

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\ko

 

 

 

 

 

 

'VisualStudio' 카테고리의 다른 글

Visual Studio 2010 C#, C++ 단축키  (0) 2013.04.15

RockMargin 확장툴은 테스트해보니 적용되었습니다.

 

RockMargin 테스트

 

1. VS2013 확장파일을 다운로드 받습니다.

2. Lardite.RefAssistant.11.0.vxix 파일의 확장자를 *.ZIP 으로 변경합니다.

3. 압축을 풀어서 extension.vsixmanifest 파일을 에디트창으로 엽니다.

4. SupportedProducts 노드에 아래의 VS2015 내용을 추가합니다.

<VisualStudio Version="14.0">
    <Edition>IntegratedShell</Edition>
   </VisualStudio>

5. 저장하고 다시 압축을 하고 확장자를 *.vsix로 변경하고 더블클릭하여 설치합니다

 

보네이도 에어서큘레이터 633W 70주년 이벤트에 응모해서 겨우 구매 성공했습니다.

 

70%의 가격으로 38,400원에 구매했습니다. ㅎㅎㅎㅎㅎ

 

배송오면 후기 올리겠습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

VisualStudio에서 컨트롤 배치 할때와 같이 도구상자에서 드래그&드롭하여 배치하는 예제이다.

 

개발 내용 :

1. 디자인 모드일때 투명한 패널을 앞에두어서 Button,TextBox와 같이 클릭에 반응하는 컨트롤들이 반응하지 않게두었다.

2. Painted 이벤트를 두어서 자식 컨트롤 최상단에 Graphics 개체를 이용해 Drawing을 할수있게 하였다.

 

 

컨트롤드래그앤드랍추가및크기조절.zip

 

결혼하고 머리 자른거 말고는

처음으로 머리하러 가는 길이였어요~~

 

 

그동안 머리도 자라서

뿌리염색도 해야하고..

 

결혼할때 염색을 2번 했더니

많이 상하기도 하고..

그래서 걱정을 많이 않고

산본역에서 가까운 헤어왕에 찾아갔어용

 

 

저위에 보이시나요??ㅋㅋㅋㅋ

삼통치킨 건물 4층에 있어요...

 

사진을 너무 못 찍었네요..ㅜㅜ

 

 

 

1층엔 삼통치킨 ㅋㅋ

4층엔 헤어왕 ㅋㅋㅋㅋㅋㅋ

 

 

 

 

4층에 내리면 바로

헤어왕 입구에요 ㅋㅋㅋ

 

깔끔하면서 이쁘네요 ㅋㅋ

 

 

 

 

눌러주세요를 누르고 들어가면

 

 

 

 

이렇게 깔끔한 미용실이 나와요 ㅋㅋㅋ

 

제가 흰&검을 좋아해서 그런지

인테리어가 정말 맘에 들었어요

 

 

 

의자 옆으로 들어가면

머리하는 곳이에요 ㅋㅋ

 

 

 

 

머리를 하기 전

상담 받는 곳이에요 ㅋㅋㅋ

 

 

 

 

제가 막 사진 찍고 있으니 ㅋㅋ

허민 점장님이 포즈를~

사진 찍는거 좋아한다고 막찍어 달라는..ㅋㅋㅋㅋㅋ

 

 

 

이제 본격적으로

헤어 상담을 받을꺼에용 ㅋㅋ

 

 

 

 

뿌염을 하러 간건데..

제 머리를 보시더니

머리 손상이 심하다고..ㅠㅠ

 

염색하면 손상이 더심해진다고...

말리시더라구용,.

 

 

 

 

제 머리를 만져보고

물뿌려 보고 ..ㅋㅋㅋㅋ

 

꼼꼼이 확인하시고

염색은 안되겠다고..ㅋㅋㅋ

 

 

 

결국 펌하기로 했습니당>.<

 

염색도 하고 싶고 펌도 하고 싶고...ㅋㅋ

 

고민 엄청 했거든요 ㅋㅋㅋㅋ

 

시간이 늦어서 펌은 다음주에 와야겠다고 하셔서

예약하고 왔습니당.ㅋㅋㅋㅋ

 

펌하고 후기 또 올릴게용 ㅋㅋ

 

 

 

위드블로그

소스

 

string src = "abcd";

string dest = "ABCD";

int maxIter = 10000;

int matchCount = 0;

 

Stopwatch sw = Stopwatch.StartNew();

matchCount = 0;

for (int i = 0; i < maxIter; i++)

{

    if (src.ToLower() == dest.ToLower())

        matchCount++;

}

sw.Stop();

if (matchCount != maxIter)

    return;

Console.WriteLine("Lower Equal " + sw.Elapsed.ToString());

 

sw = Stopwatch.StartNew();

matchCount = 0;

for (int i = 0; i < maxIter; i++)

{

    if (src.ToUpper() == dest.ToUpper())

        matchCount++;

}

sw.Stop();

if (matchCount != maxIter)

    return;

Console.WriteLine("Upper Equal " + sw.Elapsed.ToString());

 

sw = Stopwatch.StartNew();

matchCount = 0;

for (int i = 0; i < maxIter; i++)

{

    if (src.Equals(dest, StringComparison.InvariantCultureIgnoreCase))

        matchCount++;

}

sw.Stop();

if (matchCount != maxIter)

    return;

Console.WriteLine("StringComparison.Ordinal InvariantCultureIgnoreCase " + sw.Elapsed.ToString());

 

sw = Stopwatch.StartNew();

matchCount = 0;

for (int i = 0; i < maxIter; i++)

{

    if (src.Equals(dest, StringComparison.CurrentCultureIgnoreCase))

        matchCount++;

}

sw.Stop();

if (matchCount != maxIter)

    return;

Console.WriteLine("StringComparison.Ordinal CurrentCultureIgnoreCase " + sw.Elapsed.ToString());

 

sw = Stopwatch.StartNew();

matchCount = 0;

for (int i = 0; i < maxIter; i++)

{

    if (src.Equals(dest, StringComparison.OrdinalIgnoreCase))

        matchCount++;

}

 

sw.Stop();

if (matchCount != maxIter)

    return;

Console.WriteLine("StringComparison.Ordinal OrdinalIgnoreCase " + sw.Elapsed.ToString());

 

sw = Stopwatch.StartNew();

matchCount = 0;

for (int i = 0; i < maxIter; i++)

{

    if (string.Compare(src, dest, true) == 0)

        matchCount++;

}

sw.Stop();

if (matchCount != maxIter)

    return;

Console.WriteLine("string.Compare Ignore " + sw.Elapsed.ToString());

 

sw = Stopwatch.StartNew();

matchCount = 0;

for (int i = 0; i < maxIter; i++)

{

    if (string.CompareOrdinal(src.ToLower(), dest.ToLower()) == 0)

        matchCount++;

}

sw.Stop();

if (matchCount != maxIter)

    return;

Console.WriteLine("string.CompareOrdinal ToLower " + sw.Elapsed.ToString());

 

sw = Stopwatch.StartNew();

matchCount = 0;

for (int i = 0; i < maxIter; i++)

{

    if (string.CompareOrdinal(src.ToUpper(), dest.ToUpper()) == 0)

        matchCount++;

}

sw.Stop();

if (matchCount != maxIter)

    return;

Console.WriteLine("string.CompareOrdinal ToUpper " + sw.Elapsed.ToString());

 

 

 

결과

 

string.CompareOrdinal ToUpper 00:00:00.0020907
Upper Equal 00:00:00.0016855
StringComparison.Ordinal InvariantCultureIgnoreCase 00:00:00.0011733
StringComparison.Ordinal CurrentCultureIgnoreCase 00:00:00.0017487
StringComparison.Ordinal OrdinalIgnoreCase 00:00:00.0002009
string.Compare Ignore 00:00:00.0017312
string.CompareOrdinal ToLower 00:00:00.0017755
string.CompareOrdinal ToUpper 00:00:00.0020907 

 

 

VS2013으로 C# 프로젝트 개발 후 배포를 하려고 Setup 프로젝트를 생성하려고 하였는데........

 

웬 InstallShield Limited Edition 사용......?ㅠㅠ

 

그래서 기존의 설치 프로젝트 확장을 찾았다.

 

아래의 링크를 타면 "Microsoft Visual Studio 2013 Installer Projects" 확장 프로그램을 받을 수 있다.

 

https://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d

 

 

 

 

 

 

 

 

+ Recent posts