블로그 이미지
Every unexpected event is a path to learning for you.

카테고리

분류 전체보기 (2327)N
Unity3D (571)N
Programming (472)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (34)
3DS Max (3)
Game (12)
Utility (116)
Etc (92)
Link (31)
Portfolio (19)
Subject (90)
iOS,OSX (38)
Android (13)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (1)
Memories (19)
Interest (37)
Thinking (36)
한글 (26)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (19)
Exercise (3)
나만의 맛집 (2)
냥이 (9)
육아 (9)
Total1,345,498
Today270
Yesterday332
Statistics Graph

달력

« » 2019.12
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        

공지사항

태그목록

예전코드

 

string Pattern = @"^[a-zA-Z0-9가-힣ㄱ-ㅎㅏ-ㅣ]*$";

 한글, 숫자, 영어는 커버가 가능했지만 대만에 퍼블리싱 되면서 대만어 입력을 할 경우 필터링 되어

 

문제가 되었는데 이와 같이 여러 언어로 서비스 하는 경우 각 국가 언어를 예전코드처럼 글자 자체를

 

입력하기에는 무리가 있다.

 

이런 경우 유니코드의 범위를 지정하여 필터링 할 수가 있는데 문제는 각 국가별 유니코드 범위를

 

알아야 한다는 것이었다. 아무리 구글신께 대만어 유니코드 범위를 알려달라 해봐도 그는 고개를

 

저을뿐..

 

 

검색을 이리저리 하다보니 CJK가 계속 눈에 띄어 위키느님께 여쭤보니

 

CJK(Chinese - Japanese - Korean, 중국·일본·한국)는 한국어, 중국어, 일본어를 통틀어 이르는 말로, 소프트웨어 국제화, 언어 지역화 분야에서 쓰인다. 베트남어를 포함해서 CJKV라고 하기도 한다.

으헉.. 한자는 중국과 대만이 다르고 또 한국과 일본이 다르건만 통합을 해놓았다...

 

내부적으로 어떤 경계가 있을법도 한데 어제 반나절을 투자해 검색해본 결과로는 없는것 같았다.

 

아마도 중복되는 한자들이 존재하니 통합하는길 밖에 없었던 것도 같다. 유니코드는 한 문자당 코드가

 

한개씩만 할당되어야 하므로.

 

알아낸 유니코드 범위들은 다음과 같다.

 

@"[\uFF21-\uFF3A]" // A-Z

@"[\uFF41-\uFF5A]"  // a-z
@"[\uFF10-\uFF19]"  // 0-9
@"[\uAC00-\uD7A3]"  // 가-힣
@"[\u1100-\u1112]"  // ㄱ-ㅎ
@"[\u3130-\u3163]"  // ㄱ-ㅎ(Compatible)ㅏ-ㅣ
@"[\u4E00-\u9FFF]" // Unified Hanja (Traditional/Simplify Chinese, Japanese, Korean)
@"[\u3040-\u30FC]" // Japanese 

 

실제 구현부에는 얘네들을 | 연산자로 국가별로 골라서 넣을 수 있도록 구현을 해놓았다.

 

아래 사이트에서 실제 어떤 아이들이 들어가 있는지 볼 수 있다.

http://en.wikibooks.org/wiki/Unicode/Character_reference/0000-0FFF

 

 

[출처] https://m.blog.naver.com/amurorei82/10189119746

 

C#에서의 나라별 정규 표현식 구현

예전코드 string Pattern = @"^[a-zA-Z0-9가-힣ㄱ-ㅎㅏ-ㅣ]*$"; 한글, 숫자, 영어는 커버가 가능했지만 ...

blog.naver.com

 

Posted by blueasa

댓글을 달아 주세요

c# 서버시간 가져오기 (8)

나는 날짜와 시간을 사용하여 얻을 수있다 :

DateTime now = DateTime.Now;

DateTime 형식 자체로 현재 날짜와 시간을 따로 따로 가져올 수 있습니까?

ASP.net ( C# )에서 DateTime picker 대화 상자를 사용하지 않습니다.


 

음, Today 속성을 사용하여 Today DateTime  DateTime 으로 가져올 수 있습니다.

DateTime today = DateTime.Today;

또는 더 일반적으로 Date 속성을 사용할 수 있습니다. 예를 들어, UTC 날짜를 원할 경우 다음을 사용할 수 있습니다.

DateTime dateTime = DateTime.UtcNow.Date;

그게 당신이 필요로하는 것이 든 없는지는 분명하지 않습니다 ... 단지 날짜를 인쇄 하기를 원하면 다음을 사용할 수 있습니다 :

Console.WriteLine(dateTime.ToString("d"));

또는 명시 적 형식을 사용하십시오.

Console.WriteLine(dateTime.ToString("dd/MM/yyyy"));

standard  custom 날짜 / 시간 형식 문자열에 대해 자세히 알아보십시오. 상황에 따라 문화를 지정하고 싶을 수도 있습니다.

시간과 별도로 날짜에 대해 이야기 할 수있는보다 표현력있는 날짜 / 시간 API를 원한다면, 시작한 Noda Time 프로젝트를 살펴볼 수 있습니다. 아직 제작 준비가되지 않았지만, 우리는 당신이 그걸로하고 싶은 것을 듣고 싶습니다 ...


 

현재 시간 :

DateTime.Now.ToString("HH:mm:ss");

현재 날짜 :

DateTime.Today.ToString("dd-MM-yyyy");


 

Today 속성을 사용하십시오. DateTime.Now 날짜 구성 요소를 반환합니다. DateTime.Now.Date 와 같습니다.


 

여기에서 형식 문자열을 전달하여 날짜 만 가져올 수 있습니다. 현재 날짜에 대한 요구 사항에 따라 다른 날짜 형식을 사용할 수 있습니다.

DateTime.Now.ToString("M/d/yyyy");

결과 : '2010 년 9 월 1 일 '

DateTime.Now.ToString("M-d-yyyy");

결과 : '9-1-2015'

DateTime.Now.ToString("yyyy-MM-dd");

결과 : "2015-09-01"

DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");

결과 : "2015-09-01 09:20:10"

자세한 내용 custom


 

용도

txtdate.Text = DateTime.Today.ToString("dd-MM-yyyy");


 

for month DateTime.Now.ToString("MM"); for Date DateTime.Now.ToString("dd"); for year DateTime.Now.ToString("yyyy");


 

string now = Convert.ToString(DateTime.Now.ToShortDateString()); Console.WriteLine(now); Console.ReadLine();


 

.NET에는 내장 된 날짜 전용 유형이 없습니다.

규칙은 자정으로 설정된 시간 부분과 함께 DateTime 을 사용하는 것입니다.

정적 Today 속성은 오늘 날짜를 알려줍니다.

 

[출처] https://code-examples.net/ko/q/6805f2

 

어제날짜 현재 날짜 만 C#으로 가져 오기

나는 날짜와 시간을 사용하여 얻을 수있다:DateTime now=DateTime.Now; DateTime 형식 자체로 현재 날짜와 시간을 따로 따로 가져올 수 있습니까? ASP.net(C#)에서 DateTime picker 대화 상자를 사용하지 않습니다.

code-examples.net

 

Posted by blueasa

댓글을 달아 주세요

SQLite에서 데이터베이스에 입력 가능한 자료형은 다음과 같다.

 

 자료형

설명

예제 

 INTEGER

 부호를 갖는 정수형 데이터 

 -1234, -1, 0, 1234

 REAL(FLOAT, DOUBLE)

 부호를 갖는 부동소수점 데이터

 3.14, 123000000.0,

 1.23E8, 0.0032132, 1.2342E-4

 TEXT

 문자열 데이터

 'SQLite'

 'SQLite 자료형'

 BLOB

 바이너리 데이터

 (Binary Large Object)

 x'0101', x'0fac',

 x'0F0FAC', x'01234532'

 NULL

 값이 정의되지 않거나 존재하지 않음

 NULL

 

INTEGER는 부호가 있는 정수형 데이터를, REAL은 부호가 있는 부동소수점 데이터를 저장할 수 있다.

REAL은 다른 데이터베이스와의 SQL 구문 호환을 위해 'FLOAT', 'DOUBLE'로도 선언해서 사용 가능하다.

 

TEXT는 문자열 데이터를 저장하며, 문자열로 표현하려면 문자열을 따옴표('')나 쌍따옴표("")로 묶어야 한다.

 

BLOB은 바이너리 파일을 데이터베이스에 저장할 수 있드며, 일반적으로 이미지, 비디오, MP3와 같은 대형 멀티미디어 파일을 데이터베이스에 직접 저장하는 용도로 사용된다.

 

NULL은 '값이 정의되지 않았거나 존재하지 않음'을 의미하며, 0이나 빈 문자열('')과는 다르다.



출처: https://lovedb.tistory.com/348 [More haste, less speed]

 

참조: https://www.sqlite.org/draft/datatype3.html

Posted by blueasa

댓글을 달아 주세요

[링크]

https://m.blog.naver.com/PostView.nhn?blogId=mnpshino&logNo=221541025516&proxyReferer=http%3A%2F%2Fm.facebook.com

 

붕괴3 방식의 카툰렌더링 구현하기

안녕하세요 마둠파입니다. 간만의 게시글이네요. 한동안 NDC준비하느라고 정신없었고 끝나고나선 여행도...

blog.naver.com

 

'Programming > Shader' 카테고리의 다른 글

[링크] 붕괴3 방식의 카툰렌더링 구현하기  (0) 2019.05.20
HLSL 내장함수  (0) 2012.06.25
쉐이더(Shader) 2.0 3.0 차이  (0) 2012.06.25
Posted by blueasa

댓글을 달아 주세요

[링크] https://hongjinhyeon.tistory.com/92

 

[C#] Using 사용

사용 용도는 2가지가 있습니다. 1.지시문(Directive) 다른 네임스페이스에 정의된 타입을 Import 하거나, 네임스페이스에 대한 별칭을 만들때 사용한다. 1 2 using System.Text; //코드 상단에 네임스페이스 정의..

hongjinhyeon.tistory.com

 

Posted by blueasa

댓글을 달아 주세요

(http://link2me.tistory.com 에서 발췌)

기타 : split를 string문자열로 자를때 word_1.Split(new string[] {"\\"}, StringSplitOptions.None) C# Split함수의 경우 직접 문자열을 구분자로 줄수 없다.

Split 은 기본적으로 문자를 입력 받도록 되어 있다. 문자열을 char[]형식으로 변경 후 사용 가능하다.

 

string str = "서울시/서초구/양재동";
string[] result = str.Split(new char[] { '/' });  // /   열 result  라.
for (int i = 0; i < result.Length ; i++)  // 은 0  며,   
{
    MessageBox.Show(i + "번째 배열 ==> " + result[i]);
}

 

string str = "jsk005@naver.com";
char[] sp ="@".ToCharArray();
string[] result = str.Split(sp);
for (int i = 0; i < result.Length; i++)
{
    MessageBox.Show(i + "번째 배열 ==> " + result[i]);
}

 

string str = "홍 길 동";
string[] result = str.Split(new char[] {' '});  // new char[] {}  도 공백으로 나눈다는 의미
for (int i = 0; i < result.Length; i++)
{
    MessageBox.Show(i + "번째 배열 ==> " + result[i]);
}

 

위의 예제와 아래 예제의 차이점을 보면 split  자(char)  열(string)이다. 

string 으로 할 경우에는 반드시 StringSplitOptions.None 또는 StringSplitOptions.RemoveEmptyEntries 까지 추가해줘야만 에러가 발생하지 않는다. 물론 위의 것도 StringSplitOptions 를 추가해줘도 된다.

 

string str = "홍길동~~~이순신~~~강감찬~~~을지문덕";
string[] result = str.Split(new string[] {"~~~"}, StringSplitOptions.None);
for (int i = 0; i < result.Length; i++)
{
    MessageBox.Show(i + "번째 배열 ==> " + result[i]);
}

string[] separator = new string[1] { "\r\n\r\n" };  //분리할 기준 문자열
string[] strResult = s.Split(separator, StringSplitOptions.RemoveEmptyEntries);

  

* StringSplitOptions.None  //     

* StringSplitOptions.RemoveEmptyEntries  // 반환값에 빈 부분 문자열 포함 안됨

 

foreach (string strValue in strResult)
{
    
}

또는 

for (var i =0 ; i < strResult.Length ; i++) 

{

}

 

//구     

string str = "[stop]ONE[stop][stop]TWO[stop][stop][stop]THREE[stop][stop]";
string[] stringSeparators = new string[] { "[stop]" };
string[] result = str.Split(stringSeparators, StringSplitOptions.None);

for (int i = 0; i < result.Length; i++)
{
    if (String.IsNullOrEmpty(result[i]))  //  null  
    {
        MessageBox.Show("null" + result[i]);
    }
    else
    {
        MessageBox.Show(i + "번째 배열 ==> " + result[i]);
    }                
} 

 

아래와 같이StringSplitOptions.RemoveEmptyEntries 으로 수정하면 결과가 어떻게 나올까?

string str = "[stop]ONE[stop][stop]TWO[stop][stop][stop]THREE[stop][stop]";
string[] stringSeparators = new string[] { "[stop]" };
string[] result = str.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries);  

// 반환값에 빈 부분 문자열 포함 안됨
for (int i = 0; i < result.Length; i++)
{
    if (String.IsNullOrEmpty(result[i]))
    {
        MessageBox.Show("null" + result[i]);
    }
    else
    {
        MessageBox.Show(i + "번째 배열 ==> " + result[i]);
    }                
} 

결과는 null 이나 공백은 무시되므로 배열은 0, 1, 2 만 추출된다.



   

System.Text.RegularExpressions.Regex.Split(자를 문자열, 정규식 문자열)

using System;
using System.Text.RegularExpressions;

 

string str = "cat\r\ndog\r\nanimal\r\nperson";
string[] result = Regex.Split(str, "\r\n");
for (int i = 0; i < result.Length; i++)
{
    MessageBox.Show(i + "번째 배열 ==> " + result[i]);
} 



포함된 문자열의 개수 구하기
int
 count = source.Split('/').Length - 1;

 

[출처] http://hunq.blogspot.com/2016/09/c-split.html

Posted by blueasa

댓글을 달아 주세요

[Link] https://github.com/Yortw/Yort.Ntp

Posted by blueasa

댓글을 달아 주세요


[링크] https://xtasy.tistory.com/665

Posted by blueasa

댓글을 달아 주세요

C# WinForm "인증서 저장소에서 매니페스트 서명 인증서를 찾을 수 없습니다."

예전에 작업 했던 소스를 불러오면 에러 한두개 쯤은 당연하게 뜬다.
이번에는 "인증서 저장소에서 매니페스트 서명 인증서를 찾을 수 없습니다." ... 가 뜬다.


이건 찾아보니 그냥 ClickOnce 설정만 지워주면 된다고 한다.

"프로젝트" > "속성" 에서....


"서명" 탭의 "ClickOnce 매니페스트 서명" 의 체크를 해제 한다.


나의 경우는 이것만 해도 해결이 되었지만...
"보안" 탭에도 "ClickOnce 보안 설정 사용" 이라는 항목이 있는데, 이것도 해제해 주자.


이렇게 하면 일단 잘 실행이 된다.



[출처] http://son10001.blogspot.com/2015/03/c-winform_26.html

Posted by blueasa

댓글을 달아 주세요


[링크] http://lux.cuenet.kr/94

Posted by blueasa

댓글을 달아 주세요