본문 바로가기

분류 전체보기714

개발 노트, rand() 함수의 사용 이 전에 N땡 회사에서 면접을 보면서 rand 함수에 대한 사용법에 대해 질문을 받았었다. 그 때는 rand 함수를 사용할 때 srand 해주지 않으면 동일한 값이 나올 수 있다는 답변을 했었는데 면접관은 그건 당연한거고 그걸 제외하고 당신 후배가 rand 함수를 사용하려 한다면 어떤 조언을 해주겠는가 라고 되물었다. 여기서 말문이 막혔었다. rand()를 잘 써야한다는건 알고 있었지만 왜 그럴까를 깊게 파본적이 없었다. 이번에 회사 업무 중에 또다시 rand() 함수를 사용해야 하는 부분이 있어서 이 부분에 대한 테스트를 해보기로 했다. 우선은 단순하게 rand() 만을 사용한 결과이다. 10만번을 돌린 결과를 보면 모두 같은 확률의 아이템들인데 1~3번째 품목이 확연하게 높은 확률로 당첨이 됐다. 4.. 2015. 9. 3.
[번역연습] PresentationDomainDataLayering - 마틴파울러 원문 : http://martinfowler.com/bliki/PresentationDomainDataLayering.html information-rich 프로그램을 모듈화하는 잘 알려진 방법 중 하나는 세 가지 layer로 분리하는 것이다. : presentation(UI), domain logic(aka business logic), data access. 그래서 http Request들을 처리하는 것과 HTML을 렌더링 하는 것, 검증과 계산을 하는 비지니스 로직, 데이터베이스나 원격 서비스에 잔류하는 데이터들을 관리하기 위한 처리를 하는 data access로 웹 레이어가 나뉘어진 웹 어플리케이션을 종종 보게 될 것이다. 대체로 많은 어플리케이션들을 위한 모듈화의 효과적인 형식을 발견했었고 그것.. 2015. 9. 1.
개발 노트, TCP에서 패킷 수신에 대한 정리 TCP에 대한 작업을 할 때 레이어 간의 역할에 대해 혼동이 자주 온다. transport 레이어에서 하는 일이 application 레이어에서 하는 일로 혼동하기도 하고 그 반대로 생각하기도 해서 이럴 때마다 기본 지식이 많이 부족함을 느낀다. 그래서 대환이형과 얘기를 해보며 잘못된 지식을 바로 잡고 간단히 정리를 해보기로 했다. (주관적인 내용이므로 여기에 또다른 오류가 존재할 수도 있음) 클라이언트에서 패킷 전달하면 라우터나 스위치같은 여러 기기를 거쳐서 서버로 전달이 되는데 이때 각 기기마다 MTU가 다르기 때문에 이 MTU크기에 맞춰서 패킷을 쪼개 보내게되고 각 쪼개진 패킷에는 시퀀스번호가 붙어서 가게 된다. 그리고 수신받는 서버에서는 쪼개진 패킷을 붙이는작업을 transport 레이어에서 하게.. 2015. 8. 27.
[번역연습] SQL Server 제약 중에 PAD_INDEX의 용도는 무엇인가요? 원문 : http://stackoverflow.com/questions/6857007/what-is-the-purpose-of-pad-index-in-this-sql-server-constraint [질문] 제 테이블들 중에서 아래와 같은 제약을 가진 테이블들이 있지만 PAD_INDEX가 무엇을 의미하는지 모르겠어요. 누군가 저를 이해 시켜주실 수 있을까요? CONSTRAINT [PK_Employees] PRIMARY KEY CLUSTERED ( [EmployeeId] ASC ) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY] ^--------------^ this part here [답변 1] SQL Server 에서 인덱스는 B-Tree 입니다... 2015. 8. 24.