일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- react-native
- 가스요금폭탄
- Node
- nodejs
- Raspberry Pi
- todoist
- 가스비절약
- 온도센서
- xcode11
- anydo
- 네모안
- 기름보일러
- EditText
- __attribute__
- 나비엔
- REACT
- 라온익스
- evernote
- 온도조절기
- node.js
- 난방비절약
- 경동
- ReactNative
- 린나이온도조절기
- 에버노트
- Swipes
- npm moment
- debounce
- rasppi3
- IOT
- Today
- Total
목록개발 (81)
어허
출처: http://hayanmail.com/jsy CRC(Cyclic Redundancy Check)는 시리얼 전송에서 데이타의 신뢰성을 검증하기 위한 에러 검출 방법의 일종이다. 간 단한 에러 검출방법으로는 parity 비트에 의한 방법과 check-sum에 의한 에러 검출 방법이 있지만 parity 비트에 의한 방법은 데이타 중에 한꺼번에 2비트나 4비트가 변하게 되면 검출을 할 수 없고, check-sum에 의한 방법은 한 바이트에서 +1, 다른 바이트에서는 -1로 에러가 생기는 경우만 해도 에러는 검출 되지 않는다. 즉, 이들 방법으로는 에러를 검출해 낼 수 있는 확률이 대단히 낮다. CRC에 의한 방법은 높은 신뢰도를 확보하며 에러 검출을 위한 오버헤드가 적고, 랜덤 에러나 버스트 에러를 포함..
리눅스 c 에서는 atoi는 있지만 itoa 는 제공되지 않는다 ! 도스나 윈도우환경의 c 에는 제공된다고 한다 char *ltoa(int val, int base) { static char buf[32] = {0}; int i = 30; for(; val && i ; --i, val /= base) buf[i] = "0123456789abcdef"[val % base]; return &buf[i+1]; } 어딘가에서 퍼온 것
정확한 원인은 모르겟지만 나의 경우 server-client 통신간에 서버가 먼저 미정상 종료가 되었을때 다시 실행하려고 하면 bind 에러가 난다 뭔가 타임아웃이 걸려있는것 같이 잠시후엔 다시 되고 ,, 참고 : http://kldp.org/node/1962 SO_REUSEADDR 옵션을 설정해주면 된다한다 if(setsockopt(server_sockfd, SOL_SOCKET, SO_REUSEADDR, (void *)&opt, sizeof(opt)) == -1) print_err(">>>>>>>>>>>>>>>>> setsockopt error"); 저 옵션이 뭔지는 차차 소켓통신에 대해 공부를 더 해가면서 알아가야 겠고 , 도스나 윈도우에선 순서도 상관없지만 리눅스에선 순서도 중요하단다 socket_..
세번씩만 확인하자 ! 이리찍고 저리찍고
상호연동작업을 하던중에 소켓에러가 자꾸 나서 보드에서 엔진에 잘 붙는가 확인하기 위해 볼려고 했던 netstat 플래쉬가 작아서 컴파일시 뺐는지 모르겠는데 보드에선 안된다 .. netstat에 대해서 알아보기 자신의 컴퓨터와 연결되었거나 연결될 목록을 프로토콜과 함께 보여주는 명령어 유닉스나 윈도우에는 사용자 컴퓨터의 네트워크의 상태를 알려주는 netstat라는 명령어가 있다. 즉 어떤 포트가 열려 있고 어떻게 사용되고 있는지 모두 알 수가 있고 이 명령어를 잘 활용하면 맨손으로도 해킹을 감지해 낼 수 있습니다. 그러나 사용자의 대부분은 netstat란 명령어를 모르고 있는것 같아 이번에는 netstat명령어의 사용법을 익힘으로써 다른 소프트웨어 도움을 받지 않고 해킹을 감지해 내는 능력을 길러봅니다. ..
@@안됨! 만약 된다하더라도 좋은코드가 아님! 사용하지 말것 ! struct 안에 생성되는 배열의 크기를 fix 시키지 않고 가변적으로 그때그때 다르게 만들고 싶었다 ! 485표준에 data는 가변 ,,,, 그래서 포인터도 집어넣어 보고 온갖 삽질을 하다가 kldp에서 이상한 글을 발견하고 http://kldp.org/node/23923 해봤더니 된다 ! 배열선언시에 배열 크기 부분에 [0] 을 넣자 ! struct{ xxxxx UINT8 packet[0]; } xxxx ; 하면 xxxx.packet[]의 크기는 그때그때 다르게 만들수 있다 struct가 아닌 일반 배열에서는 적용 안된다네 ~ zero length array 라고하는데 study 할 것
앞선 post에서 쓰여있지만 -- 내가 쓴 것은 아니지만 -- 잠시 더 C++에서 C를 사용하는 것에 대해 잠시 더 언급해 보자.참고로 이 post는 내가 쓴 것임... ㅋㅋ 아래와 같은 헤더파일과 소스파일을 각각 a.h와 a.c로 작성, 저장하였다고 하자. // a.h ----------------------------------- #ifndef _A_H #define _A_H #include " stdio.h " int add(int a, int b); int add(int a, int b, int c); #endif //--------------------------------------- // a.c ----------------------------------- #include " a.h " i..