[혼공얄코] 2주차 미션

sujinzzang수진짱·2024년 7월 13일
0

혼공얄코

목록 보기
2/6

01-3 프로그래밍 언어도 외국어인가요?

  • 프로그래밍 언어
    • 컴퓨터에 명령을 내릴 때 사용하는 언어
  • 프로그래밍 언어가 다양한 이유?
    • 언어마다 설계 목적과 철학, 강점이 있다.
    • 읽기 편한 언어, 짧은 코드로 더 많은 지시를 내릴 수 있는 언어, 보다 빨리 작동하는 언어, 오류로부터 안전한 언어
    • 문법과 구문을 대다서 공유해 프로그래밍 언어 하나를 배우면 다른 언어로 작성된 코드도 어려움없이 읽을 수 있다.
  • 고수준 언어와 저수준 언어
    • 기계어: 컴퓨터가 CPU에서 명령을 처리할 때 사용하는 언어
    • 프로그래밍언어는? 사람의 언어와 기계의 언어 사이의 중간다리
    • 고수준 언어와 저수준 언어 구분: 컴퓨터와 사람의 언어 중에 어느 쪽에 가까운가로 구분
    • 고수준 언어: 사람의 언어나 표현 방식에 보다 가까운 것
      - 컴파일 언어: 코드 전체를 미리 기계어로 번역(컴파일)한 다음 실행 파일을 생성해서 실행하는 언어. 전체 개발 시간은 늘어나지만, 오류로부터 비교적 안전하고 프로그램 실행 속도가 빠르다. (C, 자바, 타입스크립트, 스위프트 등)
    • 인터프리터 언어: 작성된 코드를 한 줄 한 줄 통역하면서 실행하는 언어. 신속하고 유연한 개발 과정이 필요한 소프트웨어에 사용. (자바스크립트, 파이썬, R 등)
    • 저수준 언어: 기계어에 가깝다.
      - 어셈블리어: 저수준언어. 하나의 명령에 한 가지 작동만 가능한 단순한 언어. 임베디드 개발자가 많이 사용.
  • IDE
    • 개발자들의 워드 프로세서
    • 통합 개발 환경 (IDE, Integrated Development Environment)
    • IDE 예시
      • 이클립스: 자바
      • 인텔리제이: 이클립스와 비슷
      • 파이참: 파이썬 개발 특화
      • 안드로이드 스튜디오: 인텔리제이의 안드로이드 개발용 버전. 자바나 코틀린을 사용하여 안드로이드 앱을 만드는데 사용
      • 엑스코드: 애플. 스위프트를 사용하여 아이폰 앱이나 맥용 프로그램을 만드는데 사용
      • 비주얼 스튜디오: MS.
      • 비주얼 스튜디오 코드: MS. 비주얼 스튜디오 가벼운 버전. 코드에디터

확인문제

  1. 각각의 IDE와 가장 적합한 용도에 맞게 짝 지으세요.

    1. 이클립스 - 자바 프로그래밍 연습
    2. 엑스코드 - iOS용 카메라 앱 개발
    3. 비주얼 스튜디오 - 윈도우용 화면 캡처 프로그램 개발
    4. 안드로이드 스튜디오 - 안드로이드용 건강 관리 앱 개발
  2. 다음 항목들을 저수준부터 사람의 언어에 가까운 순으로 나열하세요.

    어셈블리어, 파이썬, 기계어, 영어

기계어 - 어셈블리어 - 파이썬 - 영어

  1. 다음 중 틀린 것을 고르세요.
    2번

  2. 다음 문장 중 괄호 안에 알맞은 내용을 보기에서 찾아 써 보세요.

    보기) 0, 1, 어셈블리어

  • 저수준 언어이면서 기계어가 아닌 언어에는 어셈블리어가 있습니다.
  • 기계어는 0과 1로 이루어져 있습니다.
  1. 다음 문장 중 괄호 안에 알맞은 단어를 보기에서 찾아 써 보세요.

    보기) 컴파일, 인터프리터

코드를 읽으면서 해석하고 실행하는 것은 인터프리터언어, 코드를 기계어로 바꾸는 과정을 거치는 것은 컴파일언어입니다.

01-4 디버깅 중인데, 빌드 해 보고 이상 없으면 릴리스할게요

  • 디버깅

    • 프로그램의 간 보기
    • de-bug 디버그 (디카페인, 디오이같은거)
      헐... 나방이 끼어서 오작동을 일으켜서 그 이후로 디버그라고 한다고.....재밌는 이야기네용
    • 디버그: 오류 수정 프로그램과 그 작업을 통칭하는 단어로 사용.
    • 디버깅: 오류를 찾아 제거하는 행동.
    • 실무에서는 의미를 확장해서 사용. 코드를 작성하는 내내 프로그램을 돌려보는 것.
  • 빌드

    • 소스코드를 프로그램으로 포장하기
    • 소스코드를 비롯한 모든 프로그램 구성 요소를 모아 실행할 수 있는 파일 또는 파일 묶음을 만드는 과정
  • 빌드 번호와 버전 번호

    • 릴리스용 빌드, 디버그용 빌드 : 최종 파일을 위해서도 빌드를 하지만, 테스트를 위해서도 빌드를 한다.
      • 디버그용 빌드: 오류나 기능을 테스트하기 위해 빌드하는 것. 무겁고 느림.
      • 릴리스 빌드: 제품의 모든 개발이 끝난 후 배포하기 직전에 점검하는 베타 버전. 빠르고 가벼움
      • 버전 번호: 제품 및 패키지를 출시하고 나면 수정이 불가능한 정식 버전.
  • 배포

    • 빌드를 마친 실행 가능한 파일을 사용자가 접근할 수 있는 환경에 배치하는 것
  • 유지 보수
    - 프로그램 개발 뒤 이어지는 버그 대응 및 기능 업데이트 등의 후속 작업
    실제로 IT 관련 지식이 부족한 회사의 경영진들이 유지 보수를 고려하지 않고 제품 개발을 밀어붙이기도 하죠... 혹은 금세 완성할 수 있을 것 같은 프로그램을 만드는 데 왜 이렇게 오래 걸리냐며 개발자들을 다그치기도 합니다......

  • 리팩토링

    • 코드를 개선해서 읽기 쉽고 효율적인 좋은 코드로 만드는 작업. 유지 보수와도 연결되는 작업임.
  • 코드 리뷰

    • 동료 개발자들이 작성한 코드를 확인하고 의견을 주고 받는 것.
    • 코딩 컨벤션: 회사 내에서 정한 코딩 스타일 규약
  • 문서화

    • 주석
    • 앞으로 소프트웨어를 사용할 사람들, 이를 수정, 개선하는 작업을 이어 나갈 사람들을 위한 설명서

확인 문제

  1. 다음 중 틀린 것을 고르세요
    2번

  2. 괄호 안에 알맞은 내용을 보기에서 찾아 써보세요

    보기) 주석, 버전 번호, 빌드 번호

  • 개발자가 소프트웨어를 보다 쉽게 파악할 수 있도록 코드 중간에 포함된 설명을 주석이라고 합니다.
  • 개발자가 프로그램의 작동을 확인하는 빌드에는 빌드 번호가, 테스트를 마치고 고객에게 최종 전달되는 빌드에는 버전 번호가 올라갑니다.
  1. 다음 중 틀린 것을 고르세요.
    2번

  2. 다음 중 각 문장에 해당하는 작업을 써 보세요.

  • 윈도우용 프로그램을 프로그래밍한 뒤 exe 파일로 내보내기 - 빌드
  • 동료가 작성한 코드에서 수정할 부분 찾기 - 코드 리뷰
  • 게임이 실행되는 동안 일어나는 오류를 찾아 원인 파악 후 해결하기 - 디버깅
  • 모바일 앱을 앱 마켓에 업로드하기 - 배포
  • 교통 정보 앱의 코드를 더 알아보기 쉽게 수정하기 - `리팩토링'

0개의 댓글