소프트웨어 공학

시스템 개발 수명주기 내에서 작업하는 전문가, 학자 및 학생을위한 Q & A

2
저장소 패턴이있는 TDD
새 프로젝트에서 TDD로 시도하기로 결정했습니다. 그리고 처음에는 문제가 발생했습니다. 응용 프로그램에서 가장 먼저해야 할 일은 데이터 소스에서 데이터를 읽는 기능을 제공하는 것입니다. 이를 위해 리포지토리 패턴을 사용하고 싶습니다. 그리고 지금: 테스트가 저장소 인터페이스의 실제 구현을위한 것이라면 데이터베이스에 액세스 할 수있는 클래스를 테스트 할 것이므로 피해야한다는 것을 알고 있습니다. 테스트가 리포지토리 …

1
마이크로 컨트롤러 용 RTOS 용 Message Queue
현재 마이크로 컨트롤러 용 RTOS를 작성하고 있습니다. 모든 것이 C ++ 11로 작성되었습니다-누군가 관심이 있고 저장소에 대한 링크가 맨 아래에 있습니다. 현재 스레드 간 (또는 인터럽트 처리기와 스레드 또는 인터럽트 처리기와 다른 인터럽트 처리기 사이에) 객체를 전달하기위한 간단한 데이터 큐 인 클래스를 작성하고 있습니다. 보통 나는 다른 프로젝트에서 발견 된 …

1
게임 산업은 게임 / 렌더링의 시각적 부분에 대해 자동 테스트를 사용합니까? 어떻게?
게임의 일부 부분은 자동화 된 방식 (논리, ​​수학, 입력 처리)으로 쉽게 테스트 할 수 있습니다. 그러나 순전히 시각적이고 쉽게 테스트 할 수없는 것이 많이 있습니다. 게임 산업이이 모든 것을 수동 테스트에 맡기면 놀랄 것입니다. 적어도 게임의 시각적 측면을 회귀 테스트하는 데 노력을 기울 였다고 생각할만큼 충분한 돈이 있습니다. 이것이 사실입니까? …

3
setup.py에서 개인 종속성 링크를 처리하는 방법
직장에서 우리는 개인 pypi 서버를 사용합니다. 이 pypi 서버는 종속성 링크로 지정됩니다. ... from setuptools import setup config = ConfigParser.ConfigParser() rc = os.path.join(os.path.expanduser('~'), '.pypirc') config.read(rc) dependency_links = [ 'https://{}:{}@<private_url>'.format( config.get('dc', 'username'), config.get('dc', 'password'))] setup( dependency_links=dependency_links, ...) 이것은 대부분의 경우 잘 작동합니다. 그러나 얼마 전에 클라이언트 서버에 패키지를 설치해야했습니다. 이를 위해 …
10 python 

2
단위 및 통합 테스트를위한 별도의 코드 범위 보고서 또는 둘 다에 대한 하나의 보고서?
단위 및 통합 테스트에 대해 별도의 코드 적용 범위 보고서가 있어야합니까, 아니면 둘 다에 대해 하나의 코드 적용 범위 보고서가 있어야합니까? 코드 적용 범위를 통해 코드가 가능한 한 테스트를 통해 적용되도록 할 수 있다는 생각이 있습니다. 단위 테스트에서 다루지 않은 것과 통합 테스트에서 다루지 않은 것을 알기 위해 별도의 보고서를 …

3
깨끗한 코드와 하이브리드 객체 및 기능 부러워
그래서 최근에 코드에 몇 가지 주요 리팩토링을 만들었습니다. 내가하려고했던 주요 작업 중 하나는 클래스를 데이터 객체와 작업자 객체로 분리하는 것이 었습니다. 이것은 Clean Code 의이 섹션에서 영감을 얻었습니다 . 하이브리드 이 혼동은 때때로 반 객체와 반 데이터 구조 인 불행한 하이브리드 데이터 구조로 이어집니다. 중요한 기능을 수행하는 함수가 있으며, 모든 …

2
JVM이 메인 메소드에 의해 발생 된 예외를 어떻게 처리합니까?
예외를 이해하고, 던지고, 처리하고, 호출 스택의 하위 메소드 (예 :)로 전파하는 것을 이해합니다 throws. 내가 이해하지 못하는 것은 이것입니다 : public static void main(String[] args) throws Exception { ... } 지금, 나는 가정 하는 경우에 것을 main을 던져 Exception, JVM이 그것을 처리 (맞습니까?). 이 경우 내 질문은 다음과 같습니다. JVM은 …
10 java  exceptions  jvm 

1
머신 코드 JIT 및 실행 비활성화 비트
CPU / OS에 Execution Disable 비트가있는 경우 런타임 생성 머신 코드 (예 : JIT 출력과 같은)는 실제로 CPU에 의해 어떻게 실행됩니까? 내가 아는 한, 많은 최신 프로세서와 운영 체제에는 NX 비트 (Intel 및 ARM 포함)에 대한 지원이 포함되어 있어 컴파일 된 바이너리의 코드 섹션 이외의 다른 주소에 저장된 머신 코드가 …
10 machine-code  jit  llvm 

2
빠른 정렬을 위해 나쁜 경우를 만드는 것은 무엇입니까?
나는 quicksort에 대해 배우고 있으며 quicksort가 어려움을 겪을 다른 배열을 설명하고 싶습니다. 내가 생각한 퀵 정렬에는 초기 임의 셔플 링이 없으며 2 개의 파티션이 있으며 중앙값을 계산하지 않습니다. 나는 지금까지 세 가지 예를 생각해 보았다. [1,2,3,4,5,6,7,8,9,10] - when the array is sorted [10,9,8,7,6,5,4,3,2,1] - when the array is reversed [1,1,1,1,1,1,1,1,1,1] …

4
조건부로 부작용이있는 것이 괜찮습니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 저는 미국의 모든 사람들이들은 대학에서 CS MS 프로그램에 입학하기위한 전제 조건으로 중간 데이터 구조 과정을 밟고 있습니다. 수업에서 …

6
주어진 도메인의 유효성을 검사하는 방법은 사용자가 소유합니까?
주로 회사에서 사용할 소프트웨어를 작성하고 있습니다. 그런 다음 회사에 전자 메일 도메인을 등록 할 수있는 방법을 제공하여 주어진 도메인의 전자 메일에 등록하는 모든 사용자가 자동으로 회사 그룹에 배치되도록했습니다. 슬랙이 이런 식으로 작동한다는 것을 알고 있지만 문제가 있습니다. 예를 들어 "live.it"(Microsoft의 live.com 이탈리아어 버전)을 등록했습니다. 사용자가 특정 도메인의 이메일을 확인한 경우 …

1
왜 GCC가 Bison에서 C ++ 및 C에 대한 재귀 강하 파서로 전환 했습니까?
언어 변경이 필요했거나 Bison이 더 이상 적합하지 않거나 최적의 이유가 아닌 실질적인 이유가 있습니까? GCC 3.4 및 GCC 4.1 릴리스 정보를 참조하여 wikipedia 에서 전환 한 것을 보았습니다 . 이 릴리스 노트는 다음과 같습니다. 손으로 쓴 재귀 적하 C ++ 파서는 이전 GCC 릴리스의 YACC 파생 C ++ 파서를 대체했습니다. …
10 c++  c  parsing  compiler 

7
인터넷 프로토콜 작성자가 특정 컴퓨터를 식별하기 위해 IP 주소를 사용하기로 결정한 이유는 무엇입니까? [닫은]
폐쇄되었습니다 . 이 질문에는 세부 사항이나 명확성 이 필요 합니다 . 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 세부 사항을 추가하고 문제점을 명확하게하십시오 . 휴일 오년 전에 . 인터넷 프로토콜 작성자가 특정 컴퓨터를 식별하기 위해 IP 주소를 사용하기로 결정한 이유는 무엇입니까? 제조시 각 컴퓨터에 고유 …

5
“문자셋”이 실제로 일반적으로“인코딩”을 의미하는 이유는 무엇입니까?
오랫동안 혼란 스러웠던 것은 너무 많은 소프트웨어가 "문자셋"과 "인코딩"이라는 용어를 동의어로 사용한다는 것입니다. 사람들이 유니 코드 "인코딩"을 언급 할 때, 유니 코드 문자를 ASCII 또는 UTF-8과 같은 바이트 시퀀스로 나타내는 규칙 집합을 의미합니다. 이것은 합리적이고 직관적 인 것 같습니다. 아이디어는 지정된 규칙 세트를 사용하여 해당 문자를 바이트로 "인코딩"하는 것입니다. 그 …

3
압축 구조가 C 언어의 일부가 아닌 이유는 무엇입니까?
모든 C 컴파일러는 C 구조를 "포장"하는 옵션을 제공합니다 (예 : __attribute__ ((__packed__))또는 #pragma pack()). 신뢰할 수있는 방식으로 데이터를 보내거나 저장하려면 패킹이 필요하다는 것을 모두 알고 있습니다. 이것은 C 언어의 첫날 이후의 요구 사항이었습니다. 그래서 패킹 된 구조가 C 언어 사양의 일부가 아닌 이유가 궁금합니다. 그것들을 가질 필요성이 현재 수십 년 …
10 c 

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.