본문 바로가기

내일배움캠프

CS 2일차 용어 정리

어제와 마찬가지로 특강에서 들었던 개념들을 복습하면서 정리해줄 예정이다.

 

오늘 정리할 개념들

  • 객체지향 프로그래밍
  • 폭포수, 애자일 방법론
  • 디자인 패턴
  • V&V (검증과 확인)
  • cpu gpu 더 자세히

이제 해당 개념들에 대해서 더 자세히 알아보면서 정리해보자.

 

  • 객체지향 프로그래밍 : 말그대로 객체와 그 객체의 동작(메서드)를 포함하는 프로그래밍 단위를 말한다. 파이썬의 경우 class를 통해서 객체를 생성하고 class에 메서드들을 def 할 수 있다. 다만, 객제지향 프로그래밍에서 가장 이해가 안되는 것은 용어의 뜻이 아니라 그것을 어떻게 프로그래밍에 활용할 수 있는지이다. 튜터님 설명에 따르면 지금수준에서 알고리즘 문제를 풀때는 사용할 일이 적다고 하는데... 나중에 다른 과제를 할 때 언제든시 사용할 수 있도록 개념이라도 확실하게 익혀둬야겠다.
  • 소프트웨어 개발 방법론 : 특강때 들었던 폭포수, 애자일 이외에도 여러가지 방법론이 많았지만... 자세히 알 필요는 없어보인다.
  • 디자인패턴과 MTV : 디자인패턴은 프로그래밍 설계를 할 때, 자주 발생하는 문제들을 피하기 위해 사용되는 일종의 패턴이다. 즉, 프로그래밍을 패턴화된 양식에 맞춰서 작성하는 것이다. 내가 겪고 있는 문제가 유일한 문제일 가능성은 거의 없고 다른 개발자가 어디선가 겪었던, 겪고있는, 겪을 문제일 확률이 높기 때문에 패턴을 적용하여 여러명의 개발자가 동일한 문제를 일관적인 방식으로 해결할 수 있게 되는 것이다. 그중 MTV는 곧 배우게 될 장고(Django)에서 주로 사용되는 디자인 패턴이다. MTV는 각각 Model, Template, View로 각각 데이터베이스와 상호작용하는 모듈, 사용자에게 표시될 html을 정의하는 템플릿, 사용자의 요청을 처리하여 모델과 템플릿을 연결하는 뷰로 나뉜다.... 라고는 하는데 솔직히 아직 감이 안온다. 템플릿 같은건가? 이 부분은 장고를 배우면서 직접 사용해봐야 이해가 될것같은데... 일단 지금은 코드를 작성하는 특정한 원칙 정도로 기억을 해두자, 해당 원칙을 지키면 코드를 더 효율적으로 작성할 수 있다?
  • V&V  (Verification ,Validation)  : 단순하게 설명하면 검증(Verification)은 생산자 입장에서 제품이 정확하게 만들어 졌는지 확인하는 것, 확인(Validation)은 사용자 입장에서 제품이 요구와 환경에 적합한지 확인하는 것이라고 할 수 있다. 
  • cpu와 gpu의 특징 : 어제 배운 개념이고 이해했다고 생각해서 가볍게 정리하고 넘어갔는데 막상 차이점을 물어보니 말문이 막혔다... 그래서 다시 정리해보자.
    • cpu는 중앙처리장치로 복잡한 연산을 담당한다. 코어의 수가 적다.
    • gpu는 그래픽처리장치로 단순하지만 많은 연산을 담당한다. 코어의 수가 매우 많다.
  • 막상 정리해보니 대충 아는 내용이었다...

 

오늘 배운 개념들은 대체로 정리해봐도 모르는 점이 많았다. 아직 필요성이나 사용처를 잘 몰라서 그런것같다는 생각이 든다...

잘 알아뒀다가 나중에 직접 사용해본다면 이해할 수 있겠지.