본문 바로가기

부트캠프교육중/CS8

TDD (소프트웨어 개발 방법론) # 테스트 통과 여부를 확인하며 개발하는 소프트웨어 개발 방법론을 TDD(Test-Driven-Development: 테스트 주도 개발)라고 합니다. #소프트웨어 검증방법 => 테스트 코드 TDD-(Test-driven Development)-코드를 작성하기 전에 테스트를 쓰는 소프트웨어 개발 방법론.-개발자 자신이 바람직하다고 생각하는 코드의 결과를 미리 정의하고, 이것을 바탕으로 코드를 작성하는 법.-TDD를 통해 소프트웨어를 개발한다는 것은 작은 단위의 테스트 케이스를 작성하고, 이를 통과하는 코드를 작성하는 과정을 반복하는 것을 의미. -1의 과정을 마치기 전에 2의 작업을 시작하지 않도록 주의해야 합니다. - 2를 진행할 때에는, 1의 테스트를 통과할 정도의 최소 코드만 작성해야 합니다. - 결.. 2023. 3. 29.
가비지 컬렉션과 메모리 Garbage collected -프로그램에서 더 이상 사용하지 않는 메모리를 자동으로 정리하는 것 -이 기능을 가진 언어(혹은 엔진)는 자바, C#, 자바스크립트 등이 있습니다. -C 언어 같은 저수준 언어에서는 메모리 관리를 위해 malloc()과 free()를 사용해 개발자가 스스로 메모리를 할당하고 해제해야 합니다. -JavaScript는 C언어와는 반대로 고수준 언어로서, 객체가 생성되었을 때 자동으로 메모리를 할당하고 필요하지 않다면 자동으로 해제하는 가비지 컬렉션이 내장되어 있습니다. -가비지 컬렉션의 목적은 메모리 할당을 추적하고, 할당된 메모리 블록이 더이상 필요하지 않게 되었는지를 “스스로” 판단하여 필요하지 않다고 판단이 된다면 해당 메모리를 해제합니다. -프로그래밍 언어에 관계 없이.. 2023. 3. 28.
문자열과 그래픽 # ASCII - 영문 알파벳을 사용하는 대표적인 문자 인코딩으로 7 비트로 모든 영어 알파벳을 표현할 수 있습니다. 52개의 영문 알파벳 대소문자와, 10개의 숫자, 32개의 특수 문자, 그리고 하나의 공백 문자를 포함합니다. -ASCII를 확장한 형태가 유니코드이다. # 유니코드(Unicode) -유니코드 협회(Unicode Consortium)가 제정하는 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준이다. - 이 표준에는 ISO 10646 문자 집합, 문자 인코딩, 문자 정보 데이터베이스, 문자를 다루기 위한 알고리즘 등을 포함하고 있습니다. -기본적으로 유니코드의 목적은 현존하는 문자 인코딩 방법을 모두 유니코드로 교체하는 겁니다. #인코딩(부호화) -어떤 .. 2023. 3. 28.
스레드 -명령어가 CPU 를 통해서 수행되는 객체의 단위 -하나의 프로세스 내에는 반드시 1개 이상의 스레드가 존재한다 - 같은 프로세스에 있는 자원과 상태를 공유합니다. -같은 프로세스 내에 있는 스레드는 같은 주소 공간에 존재하게 되며 동일한 데이터에 접근할 수 있습니다. -하나의 스레드가 수정한 메모리는 같은 메모리를 참조하는 스레드에 영향을 미치게 됩니다. -프로세스가 종료되면 그 프로세스에 속해있던 스레드도 함께 종료됩니다. -하나의 프로세스 안에서 여러 개의 루틴을 동시에 수행하여서 수행 능력을 향상하려고 할 때 스레드를 사용하게 되는데, 독립적으로 수행하여 처리하려고 할 때 사용하게 됩니다. 즉 여러 개의 작업 단위로 구성된 프로그램에서 요청을 동시에 처리하기 위해서입니다. -예를 들어, 워드 프로.. 2023. 3. 28.