본문 바로가기
728x90
반응형

프로그래밍56

python simple reflector server 가끔 점검할 때 필요해서 저장. from http.server import HTTPServer, BaseHTTPRequestHandler import json class MyHTTPRequestHandler( BaseHTTPRequestHandler ): def do_GET(self): self.send_response(200) self.send_header( 'Content-type', 'application/json' ) self.end_headers() self.wfile.write(b"") def do_POST(self): self.send_response(200) self.send_header( 'Content-type', 'application/json' ) self.end_headers() .. 2023. 1. 5.
HTTP File Upload using C/C++ 보호되어 있는 글 입니다. 2021. 7. 16.
HeartBit Project 보호되어 있는 글 입니다. 2021. 2. 13.
how to solve "ERROR: Cause: unable to find valid certification path to requested target" 오랜만에 안드로이드 스튜디오에서 코딩할 일이 있어서 켰는데 아래와 같은 오류 메세지가 출력됐다. "ERROR: Cause: unable to find valid certification path to requested target" 고민해봤는데, 별도의 인증서가 있는 내부망에서 그래들 서버로 접속하지 못해 생긴 오류라고 판단. (이전에 python pip install이 안 됐던 이유랑 같음) 인증서를 (https 등) 사용하는 모든 코드를 찾아서 인증서를 사용하지 않도록 변경(https -> http)하였다. build.gradle allprojects { repositories { mavenCentral() jcenter{ url "http://jcenter.bintray.com/"} //google.. 2019. 6. 5.
how to get pid print util.proc.pidof(p) 2019. 1. 30.
padding 다음과 같은 구조체와 그 사이즈를 출력하는 코드가 있다. 12345678910111213141516171819#include typedef struct test { char a; char b; int c;} test; int main(){ test tmp = { 0, }; tmp.a = '1'; tmp.b = '2'; tmp.c = 3; printf("%d\n", sizeof(tmp)); return 0;}cs char 변수 x2, int 변수 x1이지만 구조체의 사이즈는 6이 아니라 8이다. 하.. 이거 대학교 저학년 때 분명 숙지하고 있던건데 좀처럼 신경 안 쓰니 패딩의 개념을 까먹었다. OS 별로, 혹은 프로그래머의 설정별로 다르지만 메모리 할당에는 패딩이라는 개념이 있다. tmp 구조체가 할당된 .. 2018. 10. 17.
C++에서 띄어쓰기 포함 한 줄 그대로 받기 123456789#include #include int main(){ std::string s; std::getline(std::cin, s); std::cout 2018. 10. 14.
Visual Studio 64bit inline asm 64비트 Visual Studio에서 인라인 어셈 지원을 안 한다.. __asm { } 이걸 써서 상당히 편한 경우가 가끔 있는데 참 아쉬울 따름이다. 그래서 이런저런 조사를 해봤는데, 방법은 크게 두 가지 있는 것 같다. . 첫 째, .asm 파일을 따로 생성하고 거기에 어셈 코드를 작성한 뒤에 불러오기. 근데 이건 작성한 어셈 코드를 call 형태로 불러야하기 때문에 음.. 뭔가 적용하기 어려움. . 둘 째, Intrinsics List 사용하기. 어차피 어셈으로 복잡한 코드를 구현할 것이 아니라면 이게 상당히 좋다. x86 Intrinsics List ( link ) x64 Intrinsics List ( link ) 보시다시피 어셈 명령어 하나하나를 함수 형태로 구현해놨다. 이걸 이용해 컴파일하고.. 2018. 8. 23.
VirtualAllocEx Error 487 ERROR_INVALID_ADDRESS487 (0x1E7)Attempt to access invalid address. VirtualAllocEx() API를 이용하여 "임의"의 주소에 메모리를 할당하고 하는데 487 에러가 발생하였다. 디버깅을 통해 여러 가지 실험을 해보았는데 결과는 아래와 같다. 두 번째 인자로 지정한 주소에 메모리를 할당할 수 있는데, 지정한 주소가 이미 "예약"되어 있거나 이미 "할당"되어 있으면 487 에러가 발생함 2018. 1. 25.
Windows Socket C/C++ example 출처 : https://msdn.microsoft.com/en-us/library/windows/desktop/ms737591(v=vs.85).aspxhttps://msdn.microsoft.com/en-us/library/windows/desktop/ms737593(v=vs.85).aspx client.c1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111.. 2017. 10. 31.
openssl socket C/C++ example 옛날에 안드로이드 JNI 공부할 때도 사용했던 소스코드이다. Windows에서는 unistd.h나 sys/socket.h 등의 헤더 파일을 사용할 수 없어서 이 헤더 파일을 대체해서 winsock2.h 등의 헤더 파일을 사용해야 한다. Windows용 코드는 MSDN 코드를 참고하였다. 출처 : https://www.cs.utah.edu/~swalton/listings/articles/ssl_server.chttps://www.cs.utah.edu/~swalton/listings/articles/ssl_client.c https://msdn.microsoft.com/en-us/library/windows/desktop/ms737591(v=vs.85).aspxhttps://msdn.microsoft.com.. 2017. 10. 31.
유닉스 crypt 함수 1234567891011#include #include int main(){ char key[20]="sample text"; char salt[] = "test"; printf("%s\n", crypt(key, salt)); return 0;}Colored by Color Scriptercs 2017. 5. 29.
728x90
반응형