반응형

전체 글 288

유니캐스트, 브로드캐스트, 멀티캐스트

③ 유니캐스트, 브로드캐스트, 멀티캐스트 유니캐스트, 브로드캐스트, 멀티캐스트는 네트워크에서 통신하는 방법을 구분 짓는 방법 입니다. ●유니캐스트 - 1:1통신 방법입니다. 데이터를 보내고자 하는 주소 (맥어드레스)를 프레임에 포함시켜 보내는 방식입니다. 그래서 그 맥 어드레스를 찾아 통신하게 되고 같은 네트워크에 있는 노드들은 자신의 맥 어드레스 아닌 경우엔 패킷이 CPU 까지 전송되지 않고 LAN카드에서 "맥 어드레스가 틀리네" 하면서 버리게 되는 것 입니다. 그래서 CPU까지 영향을 미치지 않고 원하는 노드랑 통신이 가능 한 방식 입니다. ●브로드캐스트 - 하나의 네트워크 전체의 통신방법 입니다. 같은 네트워크에 포함된 장비들에게 거부권은 없고 일단 무조건 수신하고 봐야하는 통신법 입니다. 예를 들..

[JAVA] 이클립스에서 주석 이쁘게 달기 (자동완성기능 사용했을때 내용뜨기)

Window -> Preferences -> Java -> Code Style -> Code Templates -> Comments 에서 파일정보 주석 (소스 가장 위 상단을 선택) Types -> Edit /** * @FileName : ${file_name} * @Project : ${project_name} * @Date : ${date} * @작성자 : ${user} * @변경이력 : * @프로그램 설명 : */ 메소드정보 주석 (원하는 함수를 선택) Methods -> Edit /** * @Method Name : ${enclosing_method} * @작성일 : ${date} * @작성자 : ${user} * @변경이력 : * @Method 설명 : * ${tags} */ ${} 내용설명 d..

연산자 우선순위

C언어 연산자 우선 순위에 관한 자료가 있어 가져왔다. 언어를 배우는데 가장 기초적인 부분이기는 하지만 또한 가끔 실수가 있는 부분이라서 여기서 문제가 생길경우에 많은 시간을 허비하게 되는 경우가 많다. 실력을 키우려면 기초부터 튼튼하게 다지자! This page lists C operators in order of precedence (highest to lowest). Their associativity indicates in what order operators of equal precedence in an expression are applied. Operator Description Associativity () [] . -> ++ -- Parentheses (function call) (see..

유니코드(unicode) 관련 함수

학교에서 배울때는 멀티바이트코드 즉 char 형으로만 프로그램을 작성하였다. 하지만 요즘은 유니코드로 프로그램을 작성하지 않으면 호환성면에서 크게 떨어진다는 것을 느꼇다. 왜 학교에서는 유니코드 관련해서 가르쳐주지 않는지.. 유니코드 관련 함수는 추가적으로 계속 업데이트 할 것이다. 밑에 내용들은 함수 이름만 표현할 것이다. 내용은 참고 사이트나 google에 검색해보기바란다. 멀티바이트와 매칭되는 유니코드 함수는 아래의 표현 예로 표현 할 것이다. 표현 예) 멀티바이트함수 -> 유니코드함수 0. 문자열 관련 char *str = "test"; -> wchar_t *str = L"test"; 문자열 앞에 'L' 을 붙여야 이것이 유니코드 즉 한문자당 2바이트를 할당받는지 컴파일러는 안다. 1. 파일 오픈..

[WINAPI] 파일 경로 조작 api

윈도우의 Visual C++에서 파일 경로를 조작할 때 사용할 수 있는 유용한 API 함수들이다. 사용하기 위해 아래와 같이 선언한다. #include #pragma comment(lib,"shlwapi") PathAddBackslash - 경로에 백슬레시를 덧붙여준다. 백슬레시가 이미 붙어 있으면 변경하지 않는다. "c:\abc" -> "c:\abc\" "c:\abc\" -> "c:\abc\" PathAddExtension - 파일 경로 뒤에 지정된 확장자를 덧붙여준다. 확장자가 이미 있다면 변경하지 않는다. "c:\abc", ".bak" -> "c:\abc.bak" "c:\abc.cpp", ".tmp" -> "c:\abc.cpp" PathAppend - 두 개의 경로를 덧붙인다. 사이에 백슬레시가 없..

[자바] MD5 만드는 함수

파일이 바뀌었는지를 확인하기 위해서 사용하였다. 아마존 클라우드랑 로컬 파일시스템이랑 데이터 자동 동기화 프로그램을 작성중인데 최근 수정 날짜로만 파일이 바뀐지를 알아보기는 아주 비효율적이라 파일의 DNA 즉 MD5 코드를 이용하여 파일이 바뀐지 분석하였다. 클라우드에 파일이 생겼는지 삭제됐는지 수정됐는지 알기 위해서 클라우드상의 파일 목록을 로컬에서 저장해두고 N초 마다 목록을 다시 가져와 과거의 목록과 비교하면서 감시하고 있는데... 클라우드상에서 이런걸 지원해주는거 없나?? 시간을 보내주면 그 시간 이후에 파일이 생겼는지, 수정됐는지, 삭제됐는지 아는 방법... 생성, 수정은 최근 수정 날짜로 판단하면 되는데 삭제된 파일은.. 최근 수정 날짜로 판단이 불가하니까.. 에이.. 어째든 아래의 코드가 파..

뮤텍스나 세마포 혹은 크리티컬섹션을 구현하여야 할때

원자적 연산이 가능한 연산자가 있어야 임계영역이 구축 가능하다.. 실험 결과 변수++ 혹은 변수-- 은 원자적 연산이었다. 뮤텍스나 세마포 혹은 크리티컬섹션을 라이브러리나 이미 구현된 것을 사용하는 것이 아닌 자신이 만약에 구현해야한다. 음.. 과제나 모 그런것 그때는 ++ , -- 연산을 이용하여 구현하기 바랍니다. 혹은 원자적 연산이 가능한 또다른 무언가를 이용하기 바랍니다. ps . 결국 나한테 하는 말이구나..

[자바] wait(), notify() , notifyall() 사용시 주의점 java.lang.IllegalMonitorStateException

자바 wait(), notify(), notifyall() 을 무한 쓰레드의 cpu 점유율을 줄이기 위해 사용하게 되었다. 근데 위 함수를 사용하는 곳에서 자꾸 java.lang.IllegalMonitorStateException 예외가 떴다. 알아보니 wait(), notify(), notifyall()을 사용하는 객체가 synchronized(){} 되어야 했다. 정리 wait(), notify(), notifyall() 사용하는 객체를 synchronized(){} 하여라.. 만약 thread 라는 객체가 있고 이 객체의 wait(), notify(), notifyall() 을 호출하기 위해서는 synchronized(thread) { thread.wait(); } 하라는 말이다.. synchron..

icon overlay 아이콘 오버레이 [펌 정리]

드랍박스나 기타 동기화 프로그램 실행시키면 아이콘에 체크표시가 된것을 볼수 있다. 이를 어떻게 구현할까.. 구글에서 검색만 6시간 넘게 하여 찾아낸 내용들이다. 후.. 영어도 딸리는데 찾느라 죽는지 알았다... 기본 지식은 ATL, 레지스트.. 나는 아직 관련 지식이 미미하여 샘플 코드를 수정하여 쓰고 있다. "ATL" 너를 정복해주겠어.. 나중에.. 아래의 두 압축파일이 아이콘 오버레이를 구현한 샘플파일이다. 실행 아주 잘된다. 첫번째 샘플코드는 탐색기에 나타나는 아이콘에 오버레이를 주는 방식이고 두번째 샘플코드는 윈도우7 에서 보면 바탕화면 맨 아래에 실행시킨 프로그램 목록 아이콘으로 나오는 그곳에 오버레이를 주는 방법이다. 드랍박스같은 아이콘 오버레이를 구현하고 싶은 분들은 첫번째 샘플코드를 활용하..

반응형