프로그램언어 썸네일형 리스트형 [ Refactoring] Inline Method 메소드 몸체가 메소드의 이름만큼이나 명확할때는 호출하는 곳에 메소드의 몸체를 넣고, 메소드를 삭제하라 int getRating() { return (moreThanFiveLateDeliveries()) ? 2 : 1; } boolean moreThanFiveLateDeliveries() { return _numberOfLateDeliveries > 5; } int getRating() { return (_numberOfLateDeliveries > 5) ? 2 : 1; } 동기 이럴때는 메소드를 제거한다. 때로는 메소드의 몸체가 메소드의 이름만큼이나 명확할때가 있다. 메소드의 몸체를 메소드의 이름만큼이나 명확하게 리팩토링 할수도 있다. 필요없는 인디렉션은 짜증나게 한다 메소드가 잘못 나뉘어졌을때 메소드를.. 더보기 [Refactoring] Extract Method 그룹으로 함께 묶을 수 있는 코드 조각이 있으면 코드의 목적이 잘 드러나도록 메소드의 이름을 지어 별도의 메소드로 뽑아낸다. void printOwing(double amount) { printBanner(); //print details System.out.println ("name:" + _name); System.out.println ("amount" + amount); } void printOwing(double amount) { printBanner(); printDetails(amount); } void printDetails (double amount) { System.out.println ("name:" + _name); System.out.println ("amount" + amount).. 더보기 시스템 정보 얻기. 프로그램을 짜다가 보면은 가끔은 호환성을 높이기 위해서 로컬에 있는 정보를 얻어 오는 경우가 종종 있습니다. 그렇기 때문에 자신에 정보를 얻어 출력 또는 어떠한 정보를 출력할 때 유용하게 사용할 수 있습니다. 움마나 이상하게 소스코드를 넣으려니깐 이상하게 나올때가 있눼요..ㅠㅠ /* * main.cpp * * Created on: 2010. 4. 19. * Author: tingcobell */ #include #include using namespace std; int main() { struct utsname sys_info; uname(&sys_info); cout 더보기 Socket 정보.( read / send / write / recv / open / connect http://publib.boulder.ibm.com/iseries/v5r1/ic2924/index.htm?info/rzab6/rzab6connectionor.htm?notoc 소켓에 대한 정보를 쉽게 찾아 볼 수 있습니다. 클라이언트 연결-객체에 대한 그림과 함과 설명이 손쉽게 되어 있는 것을 알 수 있습니다. 더보기 Socket Read function 이름 read - 파일 기술자(file descriptor)를 통해서 읽어들인다. 사용법 #include ssize_t read(int fd, void *buf, size_t count); 설명 read()는 파일 기술자 fd에서 buf로 시작하는 버퍼에 count 바이트까지 읽기를 시도한다. 만일 count가 0이라면 read()는 0을 반환하며 다른 결과는 가지지 않는다. 만일 count가 SSIZE_MAX보다 크다면, 결과는 예측할 수 없다. 반환값 성공시, 읽은 바이트 수를 반환하며(0은 파일의 끝을 나타낸다.) 파일 포인터의 위치는 읽은 수만큼 이동된다. 만일 이 수가 요구된 바이트의 수보다 작더라도 에러는 아니다; 이것은 실제로 즉시 이용할 수 있는 바이트가 거의 없기 때문이거나 (아마도 이것.. 더보기 bit field( 비트 필드) 을 이용한 간단한 예. 비트 필드를 이용한 예를 사용하여 예제를 작성하기로 하였습니다. 어떠한 데이터 조합을 이용하여 옵션값 또는 제약사항을 제어할때 유용하게 사용할 수 있습니다. 제약조건 또는 옵션체크등 다양한 방면에서 사용할 수 있습니다. enum { OPTION1 = 1, OPTION2, OPTION3, . . . } 1. 사용금지 2. 버리기 금지 3. 삭제 금지 4. .... 어떠한 아이템에 각각의 제어를 사용할때 또는 조합을 이용하여 제어할때 사용할 때 유용합니다. 1, 사용금지 + 3. 삭제 금지 2. 버리기 금지 + 3. 삭제 금지 1. 사용금지 + 2. 버리기 금지 조합에 따른 제어도 가능합니다. #include class BitTestRun { public: BitTestRun() : value( 0 ) { .. 더보기 PacketRelay Server 모형도. 이번에 구현한 내용중에 PacketRelay 서버를 구현하였습니다. 대충 서버 구성 흐름도는 위 그림과 같이 했습니다. 자 여기서 질문 왜 PacketRelay 서버를 구현해야 할까요? ㅋ 자 머리싸메고 고민좀 하면 쉽게 답을 찾을 수 있습니다. 여러가지 쓰임세가 있죠. 검색을 생활화하자.. 답은 쉽게 찾을 수 있습니다. 대충 흐름만 파악하고 그 안에 무엇을 찾아서 넣어야 할지 이건 개발자의 목이라 할 수 있습니다. 무엇을 할것인지 먼저 목적을 찾으세요.! 그리고 구현하고 테스트 하는 것입니다. 아마 생각지 못한 결과도 나올 수 있구 이로 인하여 한단계 내공이 쌓일 수 있는 좋은 바탕이 될 수 있습니다. 더보기 눈속임 반올림 처리. 기본적으로 프로그램을 응용하다 보면 가끔씩은 악이 아니던 그러던 눈속임을 사용하는 경우가 많습니다. 항상은 아니지만 필요에 의해 많이 사용하는 방법이 아닐까 합니다. 보통 서비스하고 있는 시스템에 유저 수를 뻥티기 하는 경우에 사용이 많이 되는데요. 요일별 / 주말별 / 특정 요일에 대해서 사용이 될 수 있겠습니다. 첫 번째 주제는 뻥티기라 정의하고 어떻게 뻥티기를 사용하는지에 대해서 논의하겠습니다. 먼저 계획을 수립하겠죠. 첫 번째 계획. 자 여러분 필요에 의해 서비스하고 있는 것을 조금 부풀려 이야기를 해볼까 합니다. 일단 주중과 주말 모두 뻥티기를 할껀데 주말에는 조금 많게 2배정도 뻥티기 하고 평일에는 조금만 합시다. 두 번째 계획. 자 여러분 저는 요일별 뻥티기를 사용하고 싶습니다. 월/화/수/.. 더보기 이전 1 ··· 4 5 6 7 8 9 10 ··· 20 다음