임의의 객체타입을 만들어 보자.
이것은 class가 될 수도 있고 struct등의 구조체 일 수도 있다.

편의상 struct로 예제코드를 한번 만들어 보겠다.

< 보내는 쪽 >
struct A
{
int rank[20];      // int형은 4byte이므로 전체 80byte
char  name[20];  //char형은 1byte이므로 전체 20byte
};  // 즉 이 구조체가 가지는 메모리 용량은 총 100byte

A a; // 타입 선언

// 전송할 값을 채워 넣는다~~~~ 소켓을 연다

// Send Data
 // ================= 방법 1 
write( (char *) &a, sizeof(A) );  // 포트에 적는다. (char *) 캐스팅에 주목하자
 // ================= 방법 2
char sendData[100];
memcpy(sendData,&a,sizeof(A) ); // 메모리 내용 복사.
write( sendData, sizeof(A) );
 

< 받는 쪽>
// 물론 같은 형식의 객체가 선언 되어있을 것이다.
A receivedData;  // 객체 선언
read( &receivedData, sizeof(A) ); // 간단히 수신.!!!
Posted by jsilva

이건 정말 엄청난 사실이었다..
메모리를 공유하게 해주는 struct가 있었다니 !!!!
그건 바로 union type!!!
char 는 변수 하나당 1 byte
float 와 int  는 변수 하나당 4 byte

그리하여 결국 float a 는 char b[4] 에 담길 수 있는 것이다.
패킷으로 전송을 할때 우리는 char배열만을 보낼수 있는 고로..
이것은 정말 갈라지는 땅에 단비와 같은 사실이 아닐 수 없었다.

다음의 코드는 어떻게 위의 작업을 할 수 있는지를 보여주는 코드이다.
실제로 복/붙 하여도 멋지게 돌아갈 것이다 테스트 해보라!!

#include <stdio.h>
#include "stdafx.h"
 
typedef union
{
  unsigned char a[4];
  float b;
} union_data;
 
int main()
{
  union_data data_s,data_r;
  data_s.b = 123.352; // send할 float값을 세팅한다.
  // 캐릭터 배열의 메모리만을 복사한다!!!!
  memcpy(&data_r.a, &data_s.a,sizeof(data_s.a)); 

  printf("%x %x %x %x\n", data_r.a[0], data_r.a[1], data_r.a[2], data_r.a[3]);
  // 넘겨받은 데이터의 FLOAT 값을 출력해본다. 
  printf("%f\n", data_r.b);
  return 0;
}


이정도면 어떤가.. 대단하지 않은가??
이글을 읽으시는 모두에게 도움이 되었기를 바랍니다 ㅋㅋㅋ 
Posted by jsilva
프로그램은 단순하게 3가지 파트로 나뉘어있다.
1. prio_queue.h <공통>
2. msg_server.c  <메세지를 받아 줄 서버>
3. msg_client.c   <메세지를 보낼 클라이언트>

실행방법은 간단하다.
먼저 둘다컴파일한다.
본인은 linux에서 작업하기 때문에 gcc로 했다.

먼저 컴파일
> gcc -o a msg_server.c
> gcc -o b msg_client.c

서버 백그라운드로 작동.
> ./a &

메세지를 보내보자! (ex. ./b hello 10)
> ./b msgcontent priority(정수)

이렇게하면 아마 이런 화면이 뜰것이다.
 


그럼 모두 열공하시길..!!!

 
Posted by jsilva
* 3D 개체의 Transformation을 종합적으로 섞어서 sleep 으로 돌려보았다.



Projection Style 이 다른 서로다른 2개의 기본 큐브의 카메라 전환 화면이다.

1. 2D Ortho (openGL)



2. 2D perspective (Open GL)



내가 냈던 레포트...
하나는 Transformation 이고 다른 하나는 Camera Manipulation이다.
간단한 주요소스코드역시 포함.

Posted by jsilva

일단 이것은 2D Transformation 의 기능을 하나하나 구현한 프로그램이다.

2D 공간에서는 x,y축만 고려하면 되기 때문에 크게 어려울게 없다고 생각하는 사람들이 있을것이다. 물론 그렇다.

그렇지만 바닥코딩을 좋아하시는 우리 교수님 께서는... 직접 Matrix를 제작하여 pixel 단위를 계산하여 결과를 볼 수 있는 코드를 원하셨다.
그리하여 대령하였나이다 ㅋㅋㅋ

영상의 삼각형은 순서대로
1. 좌표 Translation
2. 현재좌표 내심을 기준으로한 Rotation
3. 1/2 크기로의 Scaling.
가 되겠다.
============================================================================
다른프로그램은 직선을 기준으로한 Object 대칭이동의 구현이다.
자세한 내용은 첨부파일을 ...

Posted by jsilva
말그대로 시스템프로그래밍 공부를 하는 사람들에게 참고를 할 수 있도록 간단한 Multipiping을 보여주는 Source를 짜보았다.

쉘 프로그래밍을 하는동안 이눔때문에 고생깨나 했기 때문이다.

일단 스스로 짜려는 욕망이 있는 자들에게 이 링크를 먼저 권한다.
http://www.cse.ohio-state.edu/~mamrak/CIS762/pipes_lab_notes.html 
본인도 위 링크를 참고하여 만들었는데.

가보면 Multiple piping에는 두가지 기술이 있다.
1. Recursive
2. Parallel
첨에는2번으로 한답시고 한참을(한6시간정도쓴듯..) 설(?)치다가.. 1번방식으로 갈아탄뒤 30분만에 끝낼 수 있었다. 다음코드는 간단한 recursive형태의 Multiple piping Example이다.

도움이 될 수 있다면 좋겠다. 질문은 언제든 환영입니다 ㅋ

Posted by jsilva
Ocaml 을 EditPlus에서 작업하고 싶은데 색깔이 표시가 안된다!!
이럴때 할 수 있는 방법이 있다.! 
Menu -> Document -> Permanent Setting 에가면
Add 라는 메뉴가 있다 누르고 나서 아래에 Syntax file을 고를 수 있는데
그옆부분의 "..." 버튼을 누르게 되면 파일을 하나 고를 수 있다.

그때 바로 첨부한 이 Syntax파일을 Add한뒤 확인!
그리고 "File extensions" 라고 쓰여 있는게 그곳에 "ml;mll;mly" 라고 쳐주자.
그러면 그러한 확장자를 가진 파일이 읽힐 시 자동으로 아까 load한 syntax file이 적용된다.

그거면 즐코딩 !!! 

Posted by jsilva
http://maj3sty.tistory.com/575
>> 여기로 가면 있다 !! +_+

python 3.x 대가 나와주면서 더 좋은 함수들을 탑재하고 있지만 여전히 여러 프레임 워크나 라이브러리등은 2.x 대를 사용하고 있는 경우가 많다.

대표적으로 Django Web Dev Framework 도 마찬가지..
여튼 그건 알아서 하고... ㅎ

환경변수 등록하는 법들이 비슷비슷 하니 일단 참고 ㅡ!

'개발' 카테고리의 다른 글

[shell programming] Multiple piping in C  (0) 2011.12.06
Ocaml 문법 적용 in EditPlus  (0) 2011.12.05
mysql DB 백업 및 복원.  (0) 2011.09.03
JDBC getConnection 사용법  (0) 2011.07.20
Java설치이후 Linux에 Tomcat서버 세팅하기.(JSP)  (0) 2011.07.18
Posted by jsilva
1. 백업시 명령어 
 
>>> mysqldump -u 아이디 -p 패스워드 디비명 > 저장할파일명(ex:db.sql)
2. 복원시 명령어
>>> mysql -u 아이디 -p 패스워드 디비명 < 저장한파일명(ex:db.sql)


참 간단한 건데도 백업할 일이 많지 않으니깐 자꾸 까먹네요 ㅋㅋㅋ 
Posted by jsilva

Code 형태

getConnection(url, user, passwd);


URL 형태

jdbc:[subprotocol]:[node]/[databaseName]


Ex) jdbc:mysql://192.168.2.4/test

      jdbc:oracle:thin:@localhost:PortNo:Oracle

      jdbc:mysql://localhost/test

Posted by jsilva
이전버튼 1 2 이전버튼

블로그 이미지
음악을 좋아하는 개발자입니다 ㅎㅎ 그냥 제 일상, 생각, 지식, 정보 등을 담은 위한 공간입니다 ^^
jsilva

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.12
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

글 보관함

최근에 올라온 글

최근에 달린 댓글