목록Programming (10)
#dokydoky
"mongodb 빠르게 훑기 1 mongodb란" http://dokydoky.tistory.com/432위 링크와 이어지는 글입니다. 1. Replication (복제) Replication은 가용성을 높여준다. 다른 DB서버에 여러 복제본을 만들어놓음으로써 싱글서버에서의 데이터 손실을 방지해준다. 또한, hardware failure나 service interruption에 대해서도 복구해준다. (그림 출처 : http://docs.mongodb.org) Replica set은 mongod 데몬 인스턴스들의 그룹으로 Primary와 Secondary가 있다. Primary는 오직 하나만 존재하며 Client로부터 모든 쓰기 작업을 받는다.(쓰기작업은 Primary만 가능). 읽기 작업은 디폴트로 pr..
0. 들어가며 안녕하세요. 김영성입니다. 이 글은 제가 공부하면서 정리한 글입니다. 부족하지만 mongodb가 뭔지, nodejs에서는 어떻게 사용하는지에 대해 빠르게 훑어보기에 적절할 것 같습니다. mongodb의 활용도, 장단점, 깊은 지식에 관해서는 잘 모르는 관계로 다루지 않습니다. mongodb가 대충뭔지 이해하고 mongodb의 활용에 대해 궁금하다면 아래의 문서를 읽어보는것도 괜찮을 것 같습니다. Hadoop과 MongoDB를 이용한 로그분석시스템 (http://helloworld.naver.com/helloworld/1016)things i wish i knew about mongodb a year ago (http://snmaynard.com/2012/10/17/things-i-wish-..
응용1. 문자열을 반대로 하는 함수와 괄호 검사하는 함수 pop 연산을 사용할 때 리턴값을 StackNode*로 받고 꼭! 메모리 해제해줘야하는것에 주의..! 코딩전에 의사코드로 알고리즘 생각해보는것도 좋을것 같소..
배열로 구현한 스택 연결리스트로 구현한 스택 스택을 구현할 때, 팝/피크 연산의 리턴형을 왜 포인터(StackNode*)로 반환하는지 이해가 안되서 StackNode로 리턴하는 함수로 변형해서 만들어봣다. 물론 동작에는 이상이 없었으나, 예제에서 팝/피크의 연산에 대한 예외처리를 할 수 없다는 단점이 있다. 그래서 아~~~~리턴형을 포인터로하면 NULL값을 반환하는 경우에 예외처리하면되니까 이렇게 구현하는구나!!라고 생각함
5. 두 개의 다항식 A와 B에 대해서 다항식의 뺄셈 A-B를 구하는 함수 polySub()를 구현해 보세요. LinkedList* polySub(LinkedList* pListA, LinkedList* pListB) { LinkedList* pReturn = NULL; ListNode* pNodeA = NULL; ListNode* pNodeB = NULL; if( pListA != NULL && pListB != NULL ) { pReturn = createLinkedList(); if(pReturn == NULL) { printf("메모리 할당 오류 polyAdd()\n"); return NULL; } pNodeA = pListA->headerNode.pLink; pNodeB = pListB->hea..
연결리스트의 추가 적인 함수 3개의 구현 연결리스트를 활용한 다항식의 표현
1. 배열 리스트와 연결 리스트의 장점과 단점을 비교. -> 배열리스트는 구현이 비교적 간단하고 탐색시간(원소에 접근시간)이 빠르나, 배열의 크기가 정해져 있으며 원소의 추가, 삭제시 다른 원소들까지 이동시켜야 한다는 단점이 있다. 이와 반대로, 연결 리스트는 비교적 구현이 복잡하고 탐색시간이 오래걸리지만, 원소의 추가/삭제가 간단하다.(단, 메모리를 좀 더 먹음) 결론적으로, 크기가 정해지지 않고 검색이 적으며, 원소의 추가/삭제가 빈번한 곳에는 연결리스트의 구현이 적당.. 2. 단순연결리스트, 원형 연결리스트, 이중연결리스트의 차이점 -> 세가지 리스트의 차이점은 노드의 링크차이다. 단순 연결리스트는 한쪽으로만 링크가 되어있고 마지막 원소의 링크는 NULL, 원형 연결리스트는 단순연결리스트와 비슷하나..
ArrayList, LinkedList, CircularList, DoublyList 소스는 첨부파일 참고. 학교에서 배울 때는 별로 재미없었는데. . . 지금 해보니까 할만하군뇨! 시간은 걸리더라두 하나씩 구현해보면서 익혀야겠다.
내 경험.. 얼마 전, 프로그래밍을 하다가 오류가 발생했다. 아무리 봐도 오류날 이유가 없었는데, 하나하나 디버깅 해봐도 도저히 모르겠음. 그러다가 free() 함수를 주석처리 해보니 오류가 안나는 거다.. 당시 문제있던 코드를 재현해보면 #include #include int main(){int i;int m, n;char** dp; printf("m, n 입력 : ");scanf("%d %d", &m, &n); dp = (char**)malloc( sizeof(char) * n );if( dp == NULL ){printf("dp 메모리할당 실패 \n");return 1;} for(i=0; i