보관함

csharp 에서 거슬리는 warning

cshap 빌드시에

이 눈에 거슬릴때는 csproj 파일을 열어

이 있는 부분을 찾아 삭제한다.

국제화 개발시 고려할 사항

출처] http://allofsoftware.net/entry/국제화-시-고려해야-할-49가지

번호 항목 설명
1 언어 구분 한 국가에도 언어가 여러가지이기도 하고 하나의 언어가 여러 나라에서 서로 다르게 쓰이기도 한다.
2 지역 구분 지역과 국가가 완전히 일치하지는 않는다. 언어와 지역 정보가 합쳐져서 Locale이 된다. 소프트웨어는 Locale 단위로 지역화(L10N)를 한다.
3 소프트웨어의 인코딩
전략
소프트웨어가 지원해야 할 인코딩은 매우 복잡하다. Multibyte를 지원하냐 Unicode를 지원하냐에 따라서 인코딩이 다르고 Software, File, Database, Network 별로 다른 인코딩 전략을 사용해야 한다.
4 현지 로케일의 인코딩으로 Export 지역에 따라서 특정 인코딩을 선호하기도 하고 Software의 인코딩과 다른 인코딩으로 Export를 하기도 한다.
5 시스템에 따른 인코딩
차이
거의 대부분의 OS는 Unicode를 지원하지만 OS에 따라서 Unicode이 인코딩이 다르다. UTF-16(UCS2) 또는 UTF-32이 그 예이다.
6 로칼 요구사항의 차이 지역화(L10N)시 현재의 요구사항을 반영한다. 하나의 소스코드와 하나의 팩키지로 지역 요구사항을
반영할 수 있도록 한다.
7 메시지 번역 Locale별로 번역을 한다.
8 메시지 번역 프로세스 소스코드에서 메시지를 추출하고 번역하고 제품에 반영한다. 소스코드가 수정되면 수정된 메시지를 쉽게 반영할 수 있는 프로세스가 필요하다. 번역을 제외한 모든 부분은 자동화가 되어야 한다.
9 메시징 기술 메시징 기술은 수도 없이 많지만 여기서 언급한 모든 것을 지원하는 메시징 기술은 별로 없다. 거의 대부분의 회사는 개발툴에서 번들로 제공하는 간단한 메시징 기술을 사용하는데 이 정도로는 아주 간단한 소프트웨어 밖에 제대로
지원하지 못한다.
10 문자 인코딩 변환 소프트웨에서는 여러가지 인코딩을 사용하기 때문에 수시로 변환을 해야 한다.
11 번역에 따른 문자열
길이 변화
메시지를 번역하면 메시지의 길이가 변한다.
12 국제화를 고려한 UI 디자인 메시지의 길이는 지역에 따라서 바뀌기 때문에 이를 고려하여 UI를 디자인 해야 한다.
13 단수, 복수 표현의 차이 단수, 복수가 없는 언어도 있고 영어보다 훨씬 복잡한 단수, 복수를 사용하는 언어도 있다. 대표적인 것이 폴란드어이다. 메시징 기술은 이것을 지원해야
한다.
14 쓰기 방향의 차이
(오른쪽, 왼쪽)
언어 별로 쓰는 방향이 다르다.
15 커서의 이동 방향
(오른쪽, 왼쪽)
오른쪽 화살표를 눌러도 커서가 왼쪽으로 이동하는 언어도 있다.
16 키보드 글자 배치 언어별로 키보드의 글자배치가 다르다.
17 키보드의 단축키 차이 키보드에 따라서 단축키가 서로 다르다.
18 문자입력기(IME)차이 언어별로 문자입력기가 다르다.
19 폰트의 차이 언어별로 사용하는 폰트가 다르다. 서로 다른 폰트를 고려해야 한다.
20 글자의 크기 차이 언어별로 기본 글자의 크기가 다르다. 특히 중국어는 영어보다 크기가 크다.
21 숫자 표기 방법 나라별로 숫자의 표기가 다르다. 콤마(,)와 점(.)를 표시하는 방법이 다르다. 심지어는 콤마(,)대신 공백을 사용하는 나라도 있다.
22 띄어쓰기 사용의 차이 영어와 한글에 띄어쓰기가 있기 때문에 모든 언어에 띄어쓰기가 있을 것 같지만, 띄어쓰기가 아예 없는 언어도 많아서 띄어쓰기를 기준으로 단어를 분리하면 안된다.
23 쉼표, 마침표 사용의 차이 쉼표와 마침표의 사용도 언어마다 다르다.
24 날짜 표기법의 차이 01/02/03을 읽는 방법은 나라마다 다르다. 미국, 한국, 호주가 각각 다르다.
25 타임존 고려 국제화된 소프트웨어를 만들려면 타임존을 고려해야 한다.
26 썸머타임 고려 썸머타임을 고려해야 하는 나라가 있다.
27 대소문자 구분의 차이 언어마다 대소문자가 다르다. 대소문자가 없는 언어도 있다.
28 관사 사용법 차이 언어마다 관사가 다르다. 관사가 없는 나라도 있다.
29 맞춤법 검사 모듈 맞춤법 검사 기능이 있다면 국제화를 고려해야 한다.
30 사전 제공 사전을 제공한다면 국제화를 고려해야 한다.
31 정렬 방법의 차이 문자열의 순서가 언어마다 다르다. 대부분의 소프트웨어는 목록을 정렬해야 한다. 이때 국제화 기술을 적용해야 한다.
32 화폐 단위의 차이 지역별로 화폐의 단위 및 그 표기법이 다르다.
33 길이, 무게, 부피 단위 차이 지역별로 측정 단위가 다르다.
34 종이 크기의 차이 지역별로 인쇄에서 사용하는 용지의 명칭이 다르다.
35 온도 단위 차이 지역별로 사용하는 온도의 단위가 다르다.
36 주소 형식의 차이 지역별로 주소 표시 형식이 다르다.
37 전화번호 등의 현지화 소프트웨어에서 전화번호를 사용한다면 지역별로 다른 형식을 지원해야 한다.
38 이름 표기법의 차이 지역별로 이름 표기법이 다르다. 이름의 구성, 순서가 다르다.
39 현지 법률 및 제도
적용
현지 법률이나 제도와 표준을 지원해야 한다.
40 문화에 따른 아이콘의
차이
동일한 아이콘이라고 하더라도 문화에 따라서 완전히 다르게 인식할 수 있고 금기시 되는 이미지들도 있다.
41 알파벳을 형상화한
아이콘
아이콘 중에는 알파벳을 형상화 한 것들이 있는데 이는 언어에 따라서 바뀌어야 한다.
대표적인 것이 Bold 아이콘인
“B”이다. 언어에 따라서 Bold가 “B”로 시작하지 않는다.
42 텍스트를 포함한 아이콘 아이콘에 텍스트가 포함된 경우가 있다. 이때 텍스트의 길이 폰트의 크기 등을 고려해야 한다.
43 이모콘티 차이 나라별로 이모콘티가 다르고 지역화된 이모콘티도 있다.
44 색상의 의미 차이 나라별로 색상의 의미가 완전히 다르다. 선호 색상도 다르다.
45 O, X 등 기호의 차이 언어별로 기호의 의미는 천차만별이다. 우리에게 X는 틀렸다는 의미지만 영어에서는 Check라는 의미가 있다.
46 유니코드 처리 국제화된 소프트웨어를 개발하려면 유니코드는 기본이다. 누구나 다 아는 것도 유니코드이지만 유니코드를 제대로 알려면 1,2년 가지고는 모자르다.
47 외부 라이브러리의
유니코드 지원 고려
외부라이브러리들이 유니코드를 지원하지 않는 경우가 있다. 이를 고려해야 한다.
48 파일 시스템의 지원
인코딩
OS별로 파일 시스템의 인코딩이 서로 다르다. 이를 고려해야 한다.
49 멀티 Lingual 고려 하나의 소프트웨어로 수많은 언어를 동시에 지원하고 바꿀 수 있어야 한다.

완벽한 블로그 포스트 작성법

페이스북(socialtriggers)에서 시선을 잡아 끈 정보 하나. ‘The PERFECT blog post’라는 도발적인 이미지다.

완벽한 블로그 포스트를 만들기 위해 어떻게 글을 작성하는가에 대한 지침이다.

  1. 제목 : 제목이 가장 많이 읽히는 만큼 가장 중요한 항목. 제목의 목적은 단 한가지 – 독자의 주의를 끌어서 글을 읽게 만드는 것이다.
  2. 서두 : 대개 서두의 서너줄을 읽은 뒤 전체 글을 읽을 것인지 말 것인지가 결정된다는 것이 상식. 강렬한 인상을 던지는 것이 필요하다.
  3. 절반크기 이미지 : 백문이불여일견. 열마디 말보다 한장의 이미지를 통해 독자들을 유혹하라.
  4. 부제목 : 부제목의 목적은 본문을 읽도록 유도하는 것. 전체 글을 읽었을 때 독자에게 어떤 이득이 있을 것인지에 대해 밝힌다.
  5. 본문 : 본문의 첫 문단은 감성적으로 다가가는 것이 중요. 그로인해 독자의 주목을 끌 수 있으며 공유, 추천 등의 액션으로 이어질 가능성이 높아진다.
  6. 클릭액션1 : 트위터 리트윗 기능 등 공유버튼 항목을 배치한다. 단순 리트윗이나 ‘좋아요’보다는 독자가 참여할 수 있도록 인용 리트윗(quote retweet)이나 페이스북 댓글을 달 수 있도록 하는 것이 좋다.
  7. 부제목 : 이미 독자가 본문을 읽고 있는 상태이기 때문에 공유, 추천 등의 액션을 할 수 있도록 유도하는 내용을 담는다.
  8. 본문 : 결론을 제시한다. 독자의 기억에 남을 수 있도록 명확하고 강렬한 결론이면 더 좋다.
  9. 클릭액션2 : 본문 내용에 따라 구매(Buy Now) 버튼이나 구독(RSS나 뉴스레터) 버튼을 먼저 배치한 후 댓글 영역으로 유도한다.