해결
-
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를(클라이언트 입장에서 최초 접속하는 서버) 외부 아이피로 해서 서버를 열었었는데,사실 내부 아이피로 서버를 열어야 했던 것이었다.그래야 포트포워딩이 되어 ..
-
유니티 json(JsonUtility) 송신 => c++서버 json 수신프로그래밍/의문 2016. 3. 29. 14:33
Json Utility는 유니티 5.3 버전에서의 추가된 사항으로, 유니티에서 직접 제공하는 json 라이브러리입니다.외부 라이브러리를 사용하지 않고도 json 작성을 가능하게 합니다. 이전 버전에서 json을 사용하려면 외부 라이브러리를 썼다고 하는데 기기에 따라 호환이 안 되는 경우가 많아,게임 하나에 json 라이브러리만 2개 이상인 경우도 많았다고 합니다. #클라이언트 사이드- 유니티 5.3버전 JsonUtility 사용 #서버 사이드- boost/property_tree/json_parser 사용 #유니티 클라이언트 코드 0) 프로토콜 정의12345678 namespace Json { public class ReqLogin { public string id; public string pw; } ..
-
국내에서 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으로의 전..
-
[c++] static 변수의 초기화 시점프로그래밍/의문 2016. 2. 22. 09:09
함수의 정의된 static 객체 => 함수가 처음 호출되는 시점에 인스턴싱 123456static any_class& get(){ static any_class instance; return instance;} cs 클래스에 정의된 static 객체 => 명확한 스펙이 없음 12345class any_class{//... static any_value value;};cs 따라서 정적 메모리에 존재하는 변수들의 초기화 시점을 제제하는 유일한 방법은 모든 정적 메모리 변수를 하나의 변환 단위에 넣어주며, 헤더에 모두 extern 키워드를 사용하는 방법이 최선이다. 출저 more effective c++ http://en.cppreference.com/w/cpp/language/initialization