IT_Study/Team Project 5

[특화 PJT] 게임 통신 방식에 따른 서버 분류 및 WAN 환경에서 유저 연결 시 문제점

게임 통신 방식에 따른 서버 분류 1. 동기적 게임 서버 플레이어끼리 실시간 통신이 반드시 필요한 경우 사용 a. TCP& UDP를 이용한 소켓 통신 / RPC 사용 - 실시간 동기화 방법 2가지 - 단, 재화 & 상점 아이템 구매 등 단순한 저장 데이터의 경우 웹 서버 / WAS에서 분산 처리 b. Stateful한 서버 구성으로 Client와 Server는 1:1 연결이 존재 - Client 안의 캐릭터 움직임 및 체력, 공격 등 동적 데이터 관리 - 플레이어와 서버가 양방향 통신이 이루어짐 - Client가 서버에 행동을 요청하고 그 결과를 처리한 뒤, 접속되어 있는 모든 Client에게 데이터를 보내준다 => 데이터 동기화 (Broadcast) - 모든 Client가 하나의 서버에 연결되어 있으므..

[특화 PJT] Data Flow 설계기법

왜 Data flow를 알아야 하는가? 1. 더 좋은 개발자가 되기 위해 2. 보다 정확한 개발을 하기 위해 3. 회의시간의 내용을 빠르게 이해할 수 있기 위해 4. 개발기간을 단축하기 위해 ... 3 Tier architecture 1. Presentation Tier : 사용자 인터페이스(UI)를 담당하는 부분 - 사용자가 시스템과 상호작용하는 화면, 폼, 버튼, 그래픽 요소 등이 이 계층에 속함 - 주로 사용자가 정보를 입력하고 시스템으로부터 결과를 확인하는 역할을 수행 - 웹 응용 프로그램의 경우 웹 브라우저에서 볼 수 있는 부분이 프레젠테이션 계층에 해당 # Security : Presentation과 Application 사이 보안을 담당하는 부분, Certbot 등이 이에 해당 2. Appl..

[공통 PJT] Agile 개발 방법론 정리

SW 방법론에서의 Agile 정의 - 짧은 주기의 개발 단위를 반복하며 프로젝트를 완성해가는 것 - 스프린트 단위(디자인 -> 개발 -> 테스트)를 반복 고객과 개발자의 지속적인 소통으로 변화하는 요구 사항을 신속하게 반영 가능 개인보다는 팀의 목적을 우선시, 고객의 의견을 가장 높은 가치로 둔다. 팀원들의 주기적인 회의 및 제품 시현을 통해 잠재적인 버그 수정과 미흡한 기능 추가 가능 프로젝트를 진행하면서 고객으로부터 즉각적인 피드백을 통한 수정, 보완 가능 팀원들의 주도적이며 자발적인 개발 문화로 프로그램 전체의 품질 향상에 기여 가능 Agile 개발의 등장 배경 폭포수 개발론 - 가장 오래된 SW 개발론 - 요구 사항이 바뀌거나 수정하려면 다시 맨 처음부터 수정해야 하는 불편함 존재 이러한 단점을 ..

[공통 PJT] 코드 리뷰 방법 정리

코드 리뷰란? 소프트웨어 개발 과정에서 다른 개발자나 팀 멤버들이 작성한 코드를 검토하고 평가하는 과정 이 과정은 일반적으로 코드의 품질, 가독성, 유지보수성, 버그의 유무 등을 확인하고 개선하기 위해 수행됨 코드 리뷰의 목적 1. 코드 품질 향상 - 리뷰를 통해 코드의 가독성, 유지보수성, 확장성 등을 개선하고, 버그를 사전에 발견하여 소프트웨어의 품질을 향상 2. 지식 공유와 학습 - 다른 개발자의 코드를 검토하고 의견을 나누는 과정에서 개발자들은 서로의 아이디어와 기술을 배울 수 있으며, 최신 개발 동향을 파악할 수 있음 3. 팀 협업 강화 - 리뷰를 통해 팀 전체의 코드 표준과 가이드라인을 준수할 수 있으며, 문제를 빠르게 해결하고 개선할 수 있음 일반적으로 코드 리뷰는 버전 관리 시스템(Git ..

[공통 PJT] Jira 및 JQL 활용 / Project Management 방법론

왜 Jira를 사용해야 하는가? 4가지 관점에서 볼 수 있음 1. Issue Tracking (Project Management) - 의미: 이슈 추적 (Issue Tracking)은 프로젝트의 작업 상태를 관리하고 추적하는 과정 - 특징: Jira는 강력한 이슈 추적 기능을 제공하여 이슈 생성, 할당, 우선순위 설정, 진행 상황 추적, 의견 공유 등을 통해 팀의 업무를 효율적으로 조율하고 업무 투명성을 확보 가능 2. Agile - 의미: 빠른 변경에 대응하고 가치를 신속하게 제공하기 위한 방식 - 특징: Jira는 Agile 방법론을 지원하며 *스크럼, 칸반, 익스트림 프로그래밍 등 다양한 방식으로 프로젝트를 구성하고 관리할 수 있음. Agile 보드를 사용하여 백로그 관리, 스프린트 계획, 작업 추..