MonoDevelop 안녕~!
Visual Studio에서 Unity 프로젝트를 편집하고 디버깅까지 할 수 있는 Add-In이 무료로 풀렸다.
Microsoft가 회사를 사버림ㅇㅇ.
http://blogs.msdn.com/b/visualstudio/archive/2014/07/29/visual-studio-tools-for-unity-1-9.aspx
설치 파일은 .msi 형식으로 제공된다.
Unity 재시작 후
Assets --> Import Packages --> VIsual Studio 20XX Tools
선택해야 Unity에서 .cs 파일 더블 클릭 때 자동으로 Visual Studio가 실행된다.
(위 메뉴가 Unity를 재시작 해야 생성됨)
설치하면서 아래 링크의 configuration 부분을 읽어 보는 게 좋다.
http://unityvs.com/documentation/
Wednesday, July 30, 2014
Sunday, July 27, 2014
[엑셀] 배열 수식 Array Formula
30년 간의 복리 적금의 원리합계(또는 이자)를 계산해 보고 싶었다.
불입은 한 달에 한 번 한다 치고, 연 이율을 12로 나누어 월 이율을 구한 다음
(월 이율)^(개월 수)를 곱한 값들을 더하면 될 것이다.
s = m*Sigma{(1+r)^n}n->360 대략 이런 식?
30년은 360개월이니까 일일이 값을 입력한다면(핸들을 잡고 마우스를 끄는 것도) 꽤 귀찮을 것이다. 한 방에 하는 법을 찾아야 한다.
문제를 좀 더 단순화해서 1부터 10까지 더하는 방법을 생각해 보자. (답은 55)
s = Sigma{n}n->10
ROW()가 행 번호를 반환하는 함수이므로 ROW(A1), ROW(A10) 등을 쓰면 될 것 같다.
그럼 SUM(ROW(A1:A10))?
원래 SUM은 범위를 받는 함수이므로 꼭 될 것 같지만 안 된다. 그냥 '1'이 나오고 만다.
(ROW( 상태에서 범위를 지정하면 제일 작은 행번호-여기서는 1-가 반환된다.)
(프로그래밍 할 줄 아는 사람의 건전한) 상식으로는 ROW(A1:C3) 같은 걸 입력하면, {1, 2, 3}이 나와야 할 거 아닌가?
- 근데 그냥 1이 나오고 끝이라는 것이다.
그러면 SUM(ROW(A1):ROW(A10)) 이건 어떨까?
이건 아예 오류가 난다. ROW(A1), ROW(A10)은 그냥 숫자 값이라서 콜론(:)으로 범위(참조)로 만들 수 없다.
rand() 같은 게 있다는 걸 생각하면 셀에 꼭 값을 채워야 값을 참조할 수 있는 건 아닐 텐데...방법이 없을까?
결론부터 얘기하면 첫 번째 식이 식 자체로는 맞다. 그런데 수식을 입력 후 Enter가 아니라 Ctrl-Shift-Enter를 쳐서 array formula를 만들어야 계산이 된다.
Ctrl-Enter도 아니고 Ctrl-Shift-Enter라니 거 너무 어려운 거 아니오?
SUM(1:10) 같이 간단하면 얼마나 좋아...(당연히 안 됨)
MATLAB 좀 베낄 생각 없음?
1+...+10을 했으면 원리합계 구하기는 그냥 응용하면 된다(...)
이 기능이 Excel 2003에도 이미 있었다고 한다. 진작 알았더라면...
http://office.microsoft.com/en-us/excel-help/introducing-array-formulas-in-excel-HA001087290.aspx
불입은 한 달에 한 번 한다 치고, 연 이율을 12로 나누어 월 이율을 구한 다음
(월 이율)^(개월 수)를 곱한 값들을 더하면 될 것이다.
s = m*Sigma{(1+r)^n}n->360 대략 이런 식?
30년은 360개월이니까 일일이 값을 입력한다면(핸들을 잡고 마우스를 끄는 것도) 꽤 귀찮을 것이다. 한 방에 하는 법을 찾아야 한다.
문제를 좀 더 단순화해서 1부터 10까지 더하는 방법을 생각해 보자. (답은 55)
s = Sigma{n}n->10
ROW()가 행 번호를 반환하는 함수이므로 ROW(A1), ROW(A10) 등을 쓰면 될 것 같다.
그럼 SUM(ROW(A1:A10))?
원래 SUM은 범위를 받는 함수이므로 꼭 될 것 같지만 안 된다. 그냥 '1'이 나오고 만다.
(ROW( 상태에서 범위를 지정하면 제일 작은 행번호-여기서는 1-가 반환된다.)
(프로그래밍 할 줄 아는 사람의 건전한) 상식으로는 ROW(A1:C3) 같은 걸 입력하면, {1, 2, 3}이 나와야 할 거 아닌가?
- 근데 그냥 1이 나오고 끝이라는 것이다.
그러면 SUM(ROW(A1):ROW(A10)) 이건 어떨까?
이건 아예 오류가 난다. ROW(A1), ROW(A10)은 그냥 숫자 값이라서 콜론(:)으로 범위(참조)로 만들 수 없다.
rand() 같은 게 있다는 걸 생각하면 셀에 꼭 값을 채워야 값을 참조할 수 있는 건 아닐 텐데...방법이 없을까?
결론부터 얘기하면 첫 번째 식이 식 자체로는 맞다. 그런데 수식을 입력 후 Enter가 아니라 Ctrl-Shift-Enter를 쳐서 array formula를 만들어야 계산이 된다.
Ctrl-Enter도 아니고 Ctrl-Shift-Enter라니 거 너무 어려운 거 아니오?
SUM(1:10) 같이 간단하면 얼마나 좋아...(당연히 안 됨)
MATLAB 좀 베낄 생각 없음?
1+...+10을 했으면 원리합계 구하기는 그냥 응용하면 된다(...)
이 기능이 Excel 2003에도 이미 있었다고 한다. 진작 알았더라면...
- Introducing array formulas in Excel
http://office.microsoft.com/en-us/excel-help/introducing-array-formulas-in-excel-HA001087290.aspx
Sunday, July 13, 2014
MonoDevelop Indentation & Newline 설정
Tools -> Options 로 대화상자를 연 뒤,
왼쪽 목록에서
Source Code >> Code Formatting >> C# source code
오른쪽 패널에서 C# Format 탭 선택 후,
Edit 버튼을 눌러 다시 열린 Edit Profile 대화상자에서
Category: Braces
Statements: End of line을 Next line으로 바꾸어야
Visual Studio처럼 if/for 등의 다음 줄에 brace({)가 안 되잖아
근데 ok, ok 해봤자 적용이 안 된다.
아오.
Policy를 Visual Studio로 고쳐도 안 되고
MonoDevelop 쓰다 MI 걸리겠다 개같은 Unity.
왼쪽 목록에서
Source Code >> Code Formatting >> C# source code
오른쪽 패널에서 C# Format 탭 선택 후,
Edit 버튼을 눌러 다시 열린 Edit Profile 대화상자에서
Category: Braces
Statements: End of line을 Next line으로 바꾸어야
Visual Studio처럼 if/for 등의 다음 줄에 brace({)가 안 되잖아
근데 ok, ok 해봤자 적용이 안 된다.
아오.
Policy를 Visual Studio로 고쳐도 안 되고
MonoDevelop 쓰다 MI 걸리겠다 개같은 Unity.
마치 될 것처럼 나오지만 안 되는 황당함이라니... |
Monday, July 7, 2014
Iggy Azalea On Lorde's Nirvana Rock Hall Tribute
Iggy Azalea On Lorde's Nirvana Rock Hall Tribute: 'She Is Not Kurt Cobain's Peer'
http://www.billboard.com/articles/news/6113852/iggy-azalea-lorde-nirvana-rock-hall-tribute-kurt-cobain적의 적은 나의 동지이므로...
![]() |
손은 못 생겼지만 아름다우시다! |
Friday, July 4, 2014
네이버 오픈 API 검색 API 버그?
검색 결과까지는 잘 뜨는데, 반환된 XML 속의 링크를 클릭했을 때 나오는 URL이 틀려 있다.
ListView에 XML을 변환해 표시하는 코드. 이건 잘 동작한다.
ListViewItem.SubItems에서 [0]=제목, [1]=설명, [2]=URL이다.
const string key = "x97y9zxc8v9as8fsa8f"; // 발급받은 키
int start = 1; // 시작 번호
int display = 10; // 페이지 당 보일 게시물 수
string query = this.textBox1.Text;
string target = "webkr";
var doc = new XmlDocument();
var url = string.Format(
"http://openapi.naver.com/search?key={0}&query={1}&target={2}&start={3}&display={4}",
key, query, target, start, display);
doc.Load(url);
var rss = doc.SelectSingleNode("rss");
string[] ret = new string[3];
var channel = rss.SelectSingleNode("channel");
foreach (XmlNode item in channel.SelectNodes("item"))
{
string[] result = new string[3];
result[0] = item.SelectSingleNode("title").InnerText;
result[1] = item.SelectSingleNode("description").InnerText;
result[2] = item.SelectSingleNode("link").InnerText;
this.listView1.Items.Add(new ListViewItem(result)
// 이건 기본 브라우저로 링크를 여는 코드.
// 실행은 잘 되는데 URL이 틀려 있다.
private void listView1_DoubleClick(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count > 0)
{
foreach (ListViewItem sel in listView1.SelectedItems)
{
var x = sel.SubItems[2].Text; //정상
Process.Start(x); //여기서 리디렉션 되면서 안 된다.
}
}
}
네이버 open API 검색은 실제 주소가 아니라 그 주소로 redirection하는 링크(위 코드에서 'x')를 받아오는데, Process.Start()가 잘 돼더라도, redirection 주소가 틀렸으면 브라우저가 404 에러를 내게 된다.
어이없게도 http 뒤에 :(콜론)이 빠져 있다. 즉
http://www.naver.com 이게
http//www.naver.com으로 되는 것이다.
내가 잘못 짠 게 아니니 어찌 할 방법이 없다.
오픈 API 나온 지도 오래 됐는데 왜 이런 건지 모르겠다.
'지식인' 검색을 하면 잘 되는 걸 봐서, 이건 그냥 오타에 의한 게 분명하다.
즉 위 코드에서 검색 대상을 웹(webkr)이 아니라 지식인(kin)으로 고치면 잘 동작한다.
string target = "kin";
공식 카페 가서
물어볼랬더니 가입 후 댓글을 5개 달고, 3번 접속해야 질문을 올릴 수 있다.
접속 횟수가 모자라 못 쓰는 중...
뭐 질문해 봤자 답변 안 올라올 거 같기도 하다.
그냥 구글 API 써야지.
ListView에 XML을 변환해 표시하는 코드. 이건 잘 동작한다.
ListViewItem.SubItems에서 [0]=제목, [1]=설명, [2]=URL이다.
const string key = "x97y9zxc8v9as8fsa8f"; // 발급받은 키
int start = 1; // 시작 번호
int display = 10; // 페이지 당 보일 게시물 수
string query = this.textBox1.Text;
string target = "webkr";
var doc = new XmlDocument();
var url = string.Format(
"http://openapi.naver.com/search?key={0}&query={1}&target={2}&start={3}&display={4}",
key, query, target, start, display);
doc.Load(url);
var rss = doc.SelectSingleNode("rss");
string[] ret = new string[3];
var channel = rss.SelectSingleNode("channel");
foreach (XmlNode item in channel.SelectNodes("item"))
{
string[] result = new string[3];
result[0] = item.SelectSingleNode("title").InnerText;
result[1] = item.SelectSingleNode("description").InnerText;
result[2] = item.SelectSingleNode("link").InnerText;
this.listView1.Items.Add(new ListViewItem(result)
// 이건 기본 브라우저로 링크를 여는 코드.
// 실행은 잘 되는데 URL이 틀려 있다.
private void listView1_DoubleClick(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count > 0)
{
foreach (ListViewItem sel in listView1.SelectedItems)
{
var x = sel.SubItems[2].Text; //정상
Process.Start(x); //여기서 리디렉션 되면서 안 된다.
}
}
}
네이버 open API 검색은 실제 주소가 아니라 그 주소로 redirection하는 링크(위 코드에서 'x')를 받아오는데, Process.Start()가 잘 돼더라도, redirection 주소가 틀렸으면 브라우저가 404 에러를 내게 된다.
어이없게도 http 뒤에 :(콜론)이 빠져 있다. 즉
http://www.naver.com 이게
http//www.naver.com으로 되는 것이다.
내가 잘못 짠 게 아니니 어찌 할 방법이 없다.
오픈 API 나온 지도 오래 됐는데 왜 이런 건지 모르겠다.
'지식인' 검색을 하면 잘 되는 걸 봐서, 이건 그냥 오타에 의한 게 분명하다.
즉 위 코드에서 검색 대상을 웹(webkr)이 아니라 지식인(kin)으로 고치면 잘 동작한다.
string target = "kin";
공식 카페 가서
물어볼랬더니 가입 후 댓글을 5개 달고, 3번 접속해야 질문을 올릴 수 있다.
접속 횟수가 모자라 못 쓰는 중...
뭐 질문해 봤자 답변 안 올라올 거 같기도 하다.
그냥 구글 API 써야지.
Subscribe to:
Posts (Atom)
"Gossip Girl" star Michelle Trachtenberg dies at 39
미셸 트랙튼버그 하우스에서 심장 이식 받았던 환자로 나왔는데 현실에서는 간이식을 받았었구나 가십걸이나 버피더뱀파이어슬레이어 이제 정주행해 볼까... 블로그도 다시 살려 볼까 훠훠

-
텍스트박스에서 엔터를 치면 자동으로 입력되게 하려고 keyup 이벤트 핸들러를 등록했다. 잘 동작하는 듯했는데 alert창을 닫아도 닫아도 계속 열리는 것이다. 크롬이어서 다행이지 IE였으면 무한히 열렸을 거야...스페이스바로 눌러보길 잘했...
-
MathJax è Word MS Word 2007부터는 MathML을 문서에 바로 붙여넣을 수 있다. 이 블로그의 거의 대부분의 수식은 MathJax로 작성되어 있는데, 오른쪽 버튼 클릭하고 메뉴에서 MathML 또는 TeX 형식으로 ex...
-
진짜 되는 건 아니고 흉내낼 수는 있다. 새 창을 누르면 아무 것도 안 변한 것 같지만 PowerPoint 창 제목이 바뀌어 있다: 프레젠테이션1:2에서 :2 부분이 같은 파일을 연 창 여러 개 중 2번째라는 뜻이다('프레...