의문
-
c# + sqlite 사용 중 datetime 저장/조회에 발생한 문제프로그래밍/의문 2016. 7. 17. 12:53
문제DateTime time;string id;//...insert into tblTime(ID, EXPDATE) values({0}, {1}) 과 같은 쿼리로 EXPDATE에 DateTime을 저장하려고 했었다. 그러자 DateTime이 string으로 변환되는 중 "오후" 라는 것에서 오류가 났었는데 이는 DateTime이 "2016-07-21 오후 12:00:11" 같은 형식으로 변환 되며 내가 쓰는 버전의 sqlite에서 오후라는 것을 정상적인 포맷으로 인식하지 못하는 듯 하였다.(예외에서도 "오후"라고 되어있는 게 잘못되었다고 빡! 떠주시더라 -_-;) 해결DateTime의 포맷을 "yyyy-MM-dd HH:mm:ss" 로 바꿔서 해결했으며 변환 코드 샘플은 다음과 같다.코드 >>DateTime..
-
c++ 파일 저장 시 로케일로 인한 깨짐 문제프로그래밍/의문 2016. 7. 5. 10:29
std::wofstream을 통해 한글과 영문, 숫자가 섞인 로그를 기록하려고 했다. 코드>> std::wofstream of(L"C:\\Users\\user\\Desktop\\test.txt"); of FileStream fs = File.Open(filename, FileMode.Open, FileAccess.Read);StreamReader sr = new StreamReader(fs, UnicodeEncoding.Unicode); sr.ReadLine() .. ?! 이상한 문자가 읽어지네 위 코드는 StreamReader sr = new StreamReader(fs, UnicodeEncoding.Unicode); 부분을 StreamReader sr = new StreamReader(fs, Unic..
-
InvalidOperationException "No current now" error프로그래밍/의문 2016. 6. 19. 23:42
1234567891011 public Member FindMember(long id) { var reader = ExecuteReader(string.Format("select * from tbMember where ID = {0}", id)); var userID = reader["ID"]; var groupID = reader["GroupID"]; var name = reader["Name"]; var comment = reader["Comment"]; return new Member((long)userID, (long)groupID, (string)name, (string)comment); }Colored by Color Scriptercs SQLite와 C# Winform을 사용하여 프로그램을 만..
-
친구와 각자의 집에서 tcp 연결을 하려는데 연결이 안 되던 문제프로그래밍/의문 2016. 4. 4. 14:03
4월 3일 일요일 밤, 우리는 서로의 컴퓨터에 연결을 하기로 했다.클라이언트는 유니티5로, 서버는 c++로 된 서버였다. 우리 둘은 멀리 떨어져있었고(적어도 같은 동네는 아니다.), 기현은 포트포워딩을 했기에 121.88.185.23:6001로 연결을 요청하면, 연결이 될 거라고 했지만 안 되었다.원인을 찾지 못해 접속 부분까지만 클라이언트를 빌드하고, 기현에게 넘겨줬다.기현은 외부 아이피를 네이버를 통해 확인했다고 하는데 그게 잘못된 건지 의심하고 있다.그리고 우린 일단 피곤해서 잠을 자러 감. --- 다음날 문제는 인증 서버(account)의 ip를(클라이언트 입장에서 최초 접속하는 서버) 외부 아이피로 해서 서버를 열었었는데,사실 내부 아이피로 서버를 열어야 했던 것이었다.그래야 포트포워딩이 되어 ..
-
유니티 클라이언트 수신 처리 건프로그래밍/의문 2016. 3. 30. 14:56
내 생각에는 0. 비동기 수신 등록 1. 수신 콜백에서 패킷이 완성 되었으면 스레드에 안전한 큐에 삽입 (라이브러리 단에서 제공하는 동시성이 고려된 큐던, 뮤텍스로 래핑한 큐던..)2. 메인 스레드에서 큐에 있는 완성된 패킷들을 꺼내서 하나씩 처리 를 하면 될거라 생각하는데, 유니티를 막 배우는 상황이다보니 보통은 어떻게 처리하는지 모르겠다. 검색을 해봐도 제각각으로 하는 느낌이라.. -_-; 송신은 BeginWrite를 통해서 완전 비동기적으로 하고, 수신 처리는 DataAvailable을 검사하고 가져오는 식으로 하면 편할 거 같은데 퍼포먼스 차이가 있을려나?그게 아니라면 스레드 세이프한 큐가 있어야 하는데 유니티 버전의 c#은 System.Collections.Concurrent가 없는 듯 하다. ..
-
국내에서 ipv4 주소를 접하기 어려운 이유프로그래밍/의문 2016. 3. 27. 23:32
미 인터넷 번호 등록 협회(ARIN, American Registry for Internet Numbers)에 의하면, 2015년 9월 24일 ipv4 기반 인터넷 번호가 고갈되었다고 한다. 21세기에 들어 다양한 사물에 ip가 보급되었는데 모두 고유한 ip를 제공하기는 어려워졌다.그럼에도 불구하고 ipv6으로의 전환이 더딘 이유는, 0) 새로운 프로토콜을 사용할 준비가 안 된 사용자들이 꽤 많음(ipv6은 ipv4 기기들과 하위 호환이 불가능) 1) isp나 자체 인터넷 서비스를 하는 기업들의 경우 변화 과정에서 서비스가 지연되거나 웹 접근이 차단되어 버리는 사고가 발생할 수 있음. 등이 있겠다. 결국 당장은 전환에 따른 리스크가 더 크기 때문이라고 할 수 있다. 소비자 입장에선 v4에서 v6으로의 전..
-
ptrdiff_t가 두 포인터 간의 거리를 완벽하게 표현하기엔 적합하지 않은 거 같은데 어떻게 생각하시나요?프로그래밍/의문 2016. 3. 13. 19:53
내가 kldp에 올린 글: https://kldp.org/node/151149 질문 예를 들어 두 포인터가 현 시스템에서 표현 가능한 메모리 주소의 처음과 끝을 가지고 있을 때두 포인터 간 거리를 위해 메모리주소의끝 - 메모리주소의처음을 할 경우에 문제가 생길 수 있기 때문에적절하지 않다고 생각합니다.일반적으로 저런 경우는 없겠지만(64비트 시스템에선 더더욱) 완벽하게 포인터 거리를 표현하기엔 적합하지 않다고 생각하는데 어떻게 생각하시나요? 답변들ptrdiff_t는 포인터 연산을 위한 것이고,글쓴이: xylosper 작성 일시: 일, 2015/02/08 - 5:20오후ptrdiff_t는 포인터 연산을 위한 것이고, 포인터연산은 연속 할당된 배열의 주소끼리의 연산에서만 의미가 있습니다. 모든 주소 공간을 ..