본문 바로가기

Tistory

[java] Redis pub/sub을 이용한 IPC Java와 C언어의 프로세스간 통신을 Redis Pub / Sub 기능을 활용하여 통신 해 보도록 한다 (잘 되겠지만 그냥 해봄) Java는 jedis-2.7.2.jar 를 사용하고, Window 환경에서 테스트하였고 C 프로그램은 hiredis 를 사용하고, Centos 환경에서 테스트한다. (Windows 환경에서 컴파일 및 실행 가능하다고 한다 https://yoonbh2714.blogspot.kr/2015/10/hiredis-for-windows.html) 내 PC(Java Process) 원격지 서버 1( Redis )원격지 서버2(C Process) Java 프로그램 jedis = new Jedis("192.168.10.10", 6379); JedisPubSub pubsub= new Jedis.. 더보기
[java] 파일 읽기, 쓰기, nio를 통한 파일 처리 [java] 파일 읽기, 쓰기, nio를 통한 파일 처리 더보기
[Linux] 리눅스 메모리 사용량(Memory Usage) 확인 - 실제 메모리 사용량 1. 리눅스 메모리 확인 Linux 커널은 유휴 메모리가 있다면 캐시하려고 한다. Linux는 I/O 성능을 높이기 위해 데이터 통신 시 메모리에 적재 후 통신을 한다. 이는 동일한 데이터에 대한 접근을 빠르게 하기 위함인데 이를 Page Cache라 한다 한번이라도 데이터를 읽거나 쓴 적이 있으면 메로리는 Page Cache에 적재 된다. 이러한 Page Cache의 메커니즘은 Free 명령으로 메모리를 확인 했을 때 free 영역에 나타나는 가용 메모리가 적게 나타나는 원인이 된다. 실질적인 의미의 메모리 사용률을 구하려면 캐시 영역도 유휴 메모리로 봐야한다. 명목메모리 사용률 = used / total = ( total - free ) / total 실질메모리 사용률 = used2 / total =.. 더보기
[기타] 이미지를 아이콘으로 컨버팅! SimplyIcon Winform 아이콘을 설정 할 때는 Icon 파일만 쓸 수 있어 짜증나는데 손쉽게 e me g를 아이콘으로 컨버팅 해주는 유틸이 있다. 첨부파일 다운받고 실행해서 이미지 드래그 앤 드롭 하면 끝. image2icon ㅈ나간편 그럼 수고! 더보기
[Windows] 파란색 네모 상자 나래이터 기능 끄기 한번씩 아래와 같이 네모 상자가 생길 때가 있다 귀찮아 찾아보니 나래이터 기능이라고 함 Window Key + Enter 입력하면 아래와 같은 창이 뜨며, 끝내기를 눌러 끝낸다. 끗ㅋ. 더보기
[Visual stdio 2013] C4996 에러 주구장창 vim으로 코딩을 하다가 불편해서 visual studio로 프로젝트를 옮기고 컴파일을 했더니 에러가 남.. 잘 되던놈이였는데 오류 1 error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. c:\Users\SecureTransmit.c 46 1 OnewayTcpFileSender scanf_s 사용을 고려하란다... 여튼 VS에서 Warning을 에러로 처리해 버려서 그런 것임으로 프로젝트 트리 우클릭 > c/c++ > 전처리기 > 전처.. 더보기
[Windows] 컴퓨터에 MSVCP120D.dll이 없어 프로그램을 시작할 수 없습니다 TCP / UDP 파일 전송을 C 로 완성! 다른 컴퓨터에 빌드한 exe파일을 복붙해서 테스트를 진행 하려고 하는데 에러발생.. "컴퓨터에 MSVCP120.dll이(가) 없어 프로그램을 시작할 수 없습니다." 기본적으로 msvcp120.dll은 윈 패키지 설치시 자동 설치가 되는데 d가붙은 dll은 디버그 용이며 visualstudio 2013 런타임이 없어서 그런것.. visualstudio를 설치 할 때 설치되는 dll이란다. 해결방법은 프로젝트를 release모드로 컴파일을 해서 배포를 하던가 요기 에서 다운받아 패키지 설치를 하던가( 64비트면 32비트도 함께 설치해야함) C:\Windows\System32 C:\Windows\SysWOW64 위의 두 디렉토리에서 dll파일 확인이 가능 끗 더보기
Windows 프로그램 파일 권한, C 드라이브 권한 해제 Program Files의 파일을 변경해야 하는데 권한 때문에 수정 할 수 없었다.. 찾아보니 정식 명칭은 윈도우 계정 컨트롤을 끄면 된다고 한다. 레지스트리를 수정 하여 변경하도록 해본다 1. 윈도우 키 + R 2. regedit 입력 후 엔터 3. HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Windows > CurrentVersion > Policies > System 선택 4. 아래 그림과 같이 EnableLUA 더블 클릭 후 값을 0 으로 변경 후 확인 5. 컴퓨터 재부팅 끗 더보기
[OSI Layer 4] 응용계층 - TCP와 UDP TCP(Transmission Control Protocol)이란? 네트워크의 연결은 광케이블이나 구리선, 인공위성과 같이 다양한 종류와 품질를 가지는 여러종류의 회선으로 이루어져 있다. 데이터 전송 도중 데이터 손상은 불가피하며, 각 패킷이 하나의 고정된 전달 경로만을 이용하지 않고 라우터가 품질이 좋은 최적의 경로로 라우팅하여 각각 다른 경로를 통해 전송되기 때문에 데이터 순서 또한 바뀔 수 있다는걸 의미한다. 이러한 네트워크 상황에서 TCP/IP는 연결된 상태에서 올바른 통신을 하도록 도와준다. 이 프로토콜은 신뢰성 있는 전송을 수행하기 위해 두 호스트가 교환하는 데이터와 승인 메시지 뿐만아니라 어떻게 TCP 소프트웨어가 주어진 호스트의 여러가지 목적지 가운데서 하나를 구별하며 어떻게 전송 에러를 .. 더보기
STS + Maven Local Repository 참조하기 매일 STS를 사용해 필요한 라이브러리를 Central에서 당겨 사용하다가 로컬에 있는 라이브러리를 Maven Dependency를 주고 싶었다. 1. 적절한 디렉토리에 Jar파일 위치시킨다. 2. CMD를 연다 3. mvn install:install-file -Dfile={Jar File directory} -DgroupId={GroupID} -DartifactId={artifactId} -Dversion={version} -Dpackaging=jar C:\workspace-sts-3.7.1.RELEASE\test>mvn install:install-file -Dfile=C:\lib\util-1.0.jar -DgroupId=dp.ti.com -DartifactId=dputil -Dversion=1.0.. 더보기