대학/3학년11 네트워크 프로그래밍 실습과제 •개발인원 : 2인 •개발기간 : 2018.03.02 - 2018.06.22 •개발도구 : 리눅스 서버. C 프로그래밍 (gcc 컴파일러) •맡은분야 : 서버와 클라이언트 프로그램 작성 열혈 TCP/IP 소켓 프로그래밍에 나온 예제들을 수업 과제로 작성했던 것이다. 1. echo_server2 코드 중에서.. 5개의 클라이언트 접속으로부터 연결된 클라이언트의 IP 와 포트번호를 출력하는 코드 부분이다. 2. 서버 파일저장(client로 부터 받은 문자열) 코드 중에서.. 클라이언트가 연결되면 자식프로세스를 할당하고, 파일 이름과 내용을 받아 저장하는 부분이다. 3. 파이프를 이용한 서버 파일저장(client로 부터 받은 문자열) 코드중에서.. 2개의 자식 프로세스가 2개의 파이프(fds1, fds2)로 .. 2020. 5. 11. 운영체제 팀 프로젝트(우분투 시스템콜) •개발인원 : 2인 •개발기간 : 2018.03.02 - 2018.06.22 •개발도구 : Ubuntu C 프로그래밍 (gcc 컴파일러) •맡은분야 : 커널환경 구축 및 시스템콜 작성 팀 프로젝트에서 본인이 수행한것을 설명하자면, 1. 시스템콜 만들어 실행해보기 2. input이 있는 시스템콜 덧셈연산을 만들어서 실행해보기 3. 우분투에서 클라이언트 서버 에코잉 자바코드를 실행해보기 였다. 원본위치 운영체제 수업은 OS 의 여러 동작방식과 CPU 스케줄링, 프로그램 작동방식에 대해 자세히 배우는 수업이었다. 이 수업에서 CPU 스케줄링 기법(시분할방식), Context스위칭, 멀티스레드와 멀티프로세스의 차이점을 배운것이 기억에 남는다. 프로세스끼리의 우선순위 등 CPU의 동작방식과 교착상태에 빠지는 경우.. 2020. 5. 11. 모바일멀티미디어프로그래밍 팀프로젝트 •개발인원 : 2인 •개발기간 : 2018.03.02 - 2018.06.22 •개발도구 : AndroidStudio [JAVA] •맡은분야 : UI, 그림, 프로그래밍 내 주변을 나무를 심어 녹색으로 만들어가자 코드링크 •GPS좌표를 이용한 그리드 생성으로 사용자가 증강현실을 느낄 수 있게 함 •SharedPreferences를 사용하여 각 액티비티 간 intent할 때 데이터 전송을 없앰 •getResources().getIdentifier 함수를 이용하여 문자열로 리소스를 가져올 수 있게 함 •하나의 버튼에 문자열을 다르게 함으로 두가지 기능을 수행할 수 있게 함 •씨앗리스트에서 선택하는 창을 Check액티비티로 만들어 여러 액티비티가 사용 가능하게 함 어플리케이션을 제작하는 프로젝트에서 다른 조들과.. 2020. 5. 9. 소프트웨어공학 팀프로젝트 •개발인원 : 2인 •개발기간 : 2018.03.01 - 2018 06.22 •개발도구 : Microsoft - word •사용라이브러리: X 문서링크 수업의 3분의1을 할애하면서까지 매번 회의를 진행하는 이유는 무엇일까. 나는 그것이 궁금해졌다. 소프트웨어공학. 이 수업은 어떻게 하면 소프트웨어를 잘, 효율적이게 만들 수 있는지를 가르쳐주는 수업이다. 맨 처음 교수님께서 작은 개집을 만들 때에는 계획같은 것을 열심히 세울 필요가 없지만, 큰 건물을 지을 때는 계획과 설계가 필수적이라고 말씀하셨다. 소프트웨어를 만드는 것도 마찬가지다. 규모가 큰 프로젝트에서는 사람도 많아지고, 이에 따라 적절한 계획과 분배가 있어야 사람들에게 일을 효율적으로 시킬 수 있다. 즉 많은 사람과 일을 하는 것이 필수가 될 것.. 2020. 5. 9. 임베디드 시스템 팀프로젝트(교차개발환경) •개발인원 : 2인 •개발기간 : 2018.08.27 - 2018 12.19 •개발도구 : 우분투 C언어(gcc컴파일러) 사용라이브러리: Achro-5250 보드와 PC와의 툴체인으로 cross compile 환경 구축 Memory mapping 방식의 주소값 접근방식으로 각 모듈들에 명령을 내리는 부분이다. 코드링크 라즈베리파이나, 아두이노를 사용하지 않아서 더 불편하긴 했지만, 임베디드 시스템의 특성상 컴파일같은 PC에서 해결할 수 있는 부분은 다 PC에 두고 할 수 있는 cross compile환경에 대한 경험과, 리눅스 운영체제의 코어단에서 커널을 설치하고, 하드웨어 제어도 해볼 수 있었다는 점에서 많은 공부를 할 수 있었다. 사실 코딩은 별로 안걸렸지만, 컴파일 환경을 구축하기위해 TFTP 설치.. 2020. 5. 8. 컴퓨터 네트워크 팀프로젝트(패킷분석) •개발인원 : 3인 •개발기간 : 2018.08.27 - 2018 12.19 •개발도구 : Ubuntu 운영체제에서 C 프로그래밍(gcc 이용) •사용라이브러리 : TCP/IP, UDP 패킷을 분석 HTTP, email, DNS, P2P프로토콜을 캡처해보고, 각각의 프로토콜 분석과제. 패킷을 캡처해서 정보를 얻기위해 구조체 이용 원하는 프로토콜을 입력받아 그 프로토콜의 포트번호의 패킷을 캡처하기 위해 pcap 라이브러리 이용. 패킷을 구조체에 넣은 후 원하는 양식으로 출력하게 바꿔주는 print문 들. 1.TCP 2.HTTP 3. E-mail 4. DNS 5. P2P 코드링크 마지막 P2P 프로토콜을 비트코인 프로그램을 이용해서 분석해보려 하였으나, 프로토콜이 여러개의 TCP세그먼트로 나눠져서 오고, 나.. 2020. 5. 8. 이전 1 2 다음 반응형