svn 에러 E155010 is scheduled for addition, but is missing

svn 업데이트를 하니 특정 디렉토리가 삭제가 되었는데 충돌이 나서 수동으로 지웠음. 이 후 커밋을 하려니 위와 같은 에러가 발생. 이런 경우 –force라는 플래그를 사용하여 강제적으로 없애준다. 위에 삭제된 디렉토리가 test1 이라고 하면 svn delete --force test1
더 읽기

golang - 랜덤 seed 설정하기

출처: https://qiita.com/makiuchi-d/items/9c4af327bc8502cdcdce 시간을 seed로 설정하기 time.Now().UnixNano()를 사용한다. package main import ( "fmt" "math/rand" "time" ) func main() { rand.Seed(time.Now().UnixNano()) fmt.Println(rand.Int63()) } 보안성이 높은 seed 사용하기 crypto/rand 패키지를 사용한다. package main import ( crand "crypto/rand" "fmt" "math" "math/big" "math/rand" ) func...
더 읽기

C# - 예외 출력 helper 클래스

출처: https://teratail.com/questions/24669 public static class ExceptionHelper { public static string ExtractException(this Exception ex, int indent = 2) { var indentStr = new String(' ',indent); StringBuilder traceLog = new StringBuilder(); StackTrace trace = new StackTrace(ex, true); foreach (var frame in trace.GetFrames())...
더 읽기

C++ - Delegate 라이브러리

상호 참조를 할 경우, 상호 참조 되는 클래스 중 둘 중 하나가 변경될 경우 상호 컴파일이 일어난다 -> 작은 프로젝트라면 모르겠지만 대규모 프로젝트에서는 작은 소스 수정 하나가 큰 짐이 될 수 있다 그리고 설계 상 상호 참조를 하고 있다는 것은...
더 읽기

C# - C++과 연동

꼭 봐야 될 것 http://sj21.wo.to/tt/483 http://sj21.wo.to/tt/484 http://blogs.msdn.com/junfeng/archive/2006/05/20/599434.aspx How to: Marshal Structures Using C++ Interop How to: Marshal Embedded Pointers Using C++ Interop C++ #include <msclr\marshal.h> using namespace System; using namespace msclr::interop; int main(int argc, char** argv) { const char* x...
더 읽기

C++ - CAtlMap에서 KEY 값을 두 개 사용하고 싶을 때

예제 코드 #include <atlcoll.h> #include <boost/functional/hash.hpp> // hash를 만들기 위해 사용 // KEY가 될 유저 정의형 struct FRIENDKEY { union { struct KEY { INT32 MyID; INT32 FriendID; }; KEY Key; INT64 nValue; }; FRIENDKEY() : nValue(0) {} FRIENDKEY(INT64 _value)...
더 읽기

C#의 클래스를 byte[]로 변환하는 방법

패킷 헤더 클래스 [StructLayout(LayoutKind.Sequential)]//[StructLayout(LayoutKind.Sequential, Pack=1)] public class HEADER { public ushort a1; public ushort a2; public ushort a3; public ushort a4; } 로그인 요청 클래스 // GetBuffer을 부모 클래스에서 정의하고 여기서는 상속 받지 않은 이유는 그렇게 하면 클래스의 // 데이타를...
더 읽기

golang - 에코 서버 예제코드

클라이언트 관리를 채널 별로 나누어서 처리. distribute 라는 함수를 고루틴으로 동작시키고, 내부에서 채널을 통해서 메시지를 받는다. 클라이언트 접속, 클라이언트 접속 해제, 클라이언트에게 메시지 보내기 채널을 나눈다. 고루틴은 handle, distribute(메시지 보내기 채널을 호출하는 고루틴이 있음) 서버 package main import ( "bufio"...
더 읽기

golang - 05) TCP Server 만들기

출처 Graceful Shutdown main.go package main import ( "context" "log" "os" "os/signal" "syscall" "github.com/dmmlabo/tcpserver_go/tcp5/server" ) func main() { chSig := make(chan os.Signal, 1) // Ignore all signals signal.Ignore() signal.Notify(chSig, syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT, syscall.SIGHUP) host := loadConf() svr := server.NewServer(context.Background(), host)...
더 읽기