본문 바로가기

Work/개발 노트92

[오류 해결] 종속되어 있는 파일이나 어셈블리 중 하나를 로드할 수 없습니다 회사에서 툴 작업을 하면서 기존에 사용되고 있던 dll을 가져다 쓰게 됐었다. 그런데 dll을 사용하는 함수를 호출할 떄 오류가 발생해서 하루 종일 헤맸었다. 내부 디버깅을 해볼 수 도 없어서 오류 내용만으로 찾으려니 엄청 삽질을 해야했다. 오류 내용파일이나 어셈블리 'dll명, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' 또는 여기에 종속되어 있는 파일이나 어셈블리 중 하나를 로드할 수 없습니다. 지정된 파일을 찾을 수 없습니다.=== 미리 바인딩된 상태 정보 ===로그: 사용자 = yongho로그: DisplayName = dll명, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null (Fully-spe.. 2015. 10. 9.
개발 노트, rand() 함수의 사용 이 전에 N땡 회사에서 면접을 보면서 rand 함수에 대한 사용법에 대해 질문을 받았었다. 그 때는 rand 함수를 사용할 때 srand 해주지 않으면 동일한 값이 나올 수 있다는 답변을 했었는데 면접관은 그건 당연한거고 그걸 제외하고 당신 후배가 rand 함수를 사용하려 한다면 어떤 조언을 해주겠는가 라고 되물었다. 여기서 말문이 막혔었다. rand()를 잘 써야한다는건 알고 있었지만 왜 그럴까를 깊게 파본적이 없었다. 이번에 회사 업무 중에 또다시 rand() 함수를 사용해야 하는 부분이 있어서 이 부분에 대한 테스트를 해보기로 했다. 우선은 단순하게 rand() 만을 사용한 결과이다. 10만번을 돌린 결과를 보면 모두 같은 확률의 아이템들인데 1~3번째 품목이 확연하게 높은 확률로 당첨이 됐다. 4.. 2015. 9. 3.
개발 노트, TCP에서 패킷 수신에 대한 정리 TCP에 대한 작업을 할 때 레이어 간의 역할에 대해 혼동이 자주 온다. transport 레이어에서 하는 일이 application 레이어에서 하는 일로 혼동하기도 하고 그 반대로 생각하기도 해서 이럴 때마다 기본 지식이 많이 부족함을 느낀다. 그래서 대환이형과 얘기를 해보며 잘못된 지식을 바로 잡고 간단히 정리를 해보기로 했다. (주관적인 내용이므로 여기에 또다른 오류가 존재할 수도 있음) 클라이언트에서 패킷 전달하면 라우터나 스위치같은 여러 기기를 거쳐서 서버로 전달이 되는데 이때 각 기기마다 MTU가 다르기 때문에 이 MTU크기에 맞춰서 패킷을 쪼개 보내게되고 각 쪼개진 패킷에는 시퀀스번호가 붙어서 가게 된다. 그리고 수신받는 서버에서는 쪼개진 패킷을 붙이는작업을 transport 레이어에서 하게.. 2015. 8. 27.
MSA를 이용해 구현하는 고가용/고확장 서비스 정리 MSA를 이용해 구현하는 고가용/고확장 서비스 MSA 등장 배경비즈니스는 갈 수록 복잡해지고(요구사항이 많아짐) 기술 수명은 점점 짧아지며, 이러한 이유로 신/구(레거시) 기술이 공존하는 상황이다. 이러한 상황에서 성능이 가장 큰 문제점으로 부상하게 되는데 반도체 기술이 한계에 부딪혀서 인스턴스를 늘리는 방식(클라우드, 람다 아키텍처)이 각광 받고 있다. 이러한 인스턴스 늘리는 방식 중 최근 대두되고 있는 것이 마이크로 서비스이다. 마이크로서비스(MSA)란 독립적이고 단순한 서비스로 전체 서비스를 구성할 수 있게하는 아키텍처이다. 참고 : 마이크로 서비스의 아홉가지 특징http://martinfowler.com/articles/microservices.html 마이크로서.. 2015. 1. 23.