프로그래밍의 다양한 분야

cuckoo·2022년 10월 3일
0
post-thumbnail

컴퓨터 사이언스의 기본기

  • 프로그래밍 기본기가 탄탄하면 새로운 기술이나 새로운 언어에 빠르게 적응할 수 있다.
  • 컴퓨터 사이언스의 기본 과목
    • 객체 지향 프로그래밍
    • 알고리즘
    • 자료구조
  • 이외의 과목
    • 컴퓨터 구조
    • 운영체제
    • 컴파일러
    • 웹 개발
    • 데이터 베이스
    • 네트워크

소프트웨어 공학

  • 소프트웨어로 제품/서비스를 만드는 방법에 대한 학문
  • 기획, 제작, 테스트, 출시 ,사후 관리
  1. 기획: 어떤 것을 만들지 정하는 단계
  2. 개발: 기획한 것을 만드는 단계
  3. 테스트: 개발이 기획대로 잘 되었는지 확인하는 단계
  4. 배포: 개발된 제품/서비스를 사용자가 사용하는 단계
  5. 유지/보수: 출시된 서비스를 변화시키는 단계

프로세스 관리

  • 폭포수(Waterfall)
    • 각 단계를 완료하고 다음 단계로 넘어가는 방식

  • 문제점

    • 각 단계를 한번에 완벽하게 끝내기 힘들 수 있음!
  • 애자일(Agile): 째빠른, 민첩한

    • 결과물을 만들어 미리 확인하고 수정하며 진행
    • 중간중간 사용하면서 발전시키기 떄문에 기능 변경이 유연함
    • 실행방법: Scrum, Kanban

테스트 프로세스

  • 자동화 테스트 도구, 테스트 코드 활용
  • 테스트 부서가 따로 있기도 함
  • 메뉴얼
    • 얼마나 시급한가?
    • 담장자가 누구인가?
    • 빼먹은 버그가 있는가?
    • 버그가 잘 고쳐졌는가?
  • 버그 관리 툴(이슈 트레킹 툴)
    • Jira, asana, trella

이슈 상태 단계

  1. Open(이슈가 생김)
  2. In-progress(개발자가 개선 작업 진행)
  3. Resolved(문제가 해결됨,개발자가 작업완료)
  4. Colsed(테스트 결과 버그가 잘 해결됨)
  5. Reopen(추가적인 문제 발생시 다시 Open으로 돌아감)
  • Assign :담당자 지정
  • 프로젝트 매니저 : 이슈의 우선순위를 적절하게 조절하는 사람

버전 관리

  • git : 버전 관리를 위한 소프트웨어
  • github: git을 이용해 코드를 저장하는 온라인 저장 공간
  • 다양한 버전의 프로그램을 만들고 효율적으로 사용할 수 있다.

개발자의 필수 프로그램 IDE

개발자들이 많이 쓰는 프로그램들

profile
ENTJ 데이터 분석가 준비중입니다:)

0개의 댓글