소프트웨어 공학

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

5
C에서 인터페이스 분리 원리를 적용하는 방법?
'C', 'C2', 'C3'과 같은 클라이언트가있는 'M'이라는 모듈이 있습니다. 모듈 M의 네임 스페이스, 즉 API 및 노출 된 데이터 선언을 헤더 파일에 할당하여 다음과 같은 방식으로 헤더 파일에 할당하고 싶습니다. 모든 클라이언트의 경우 필요한 데이터 및 API 만 표시됩니다. 모듈의 나머지 네임 스페이스는 클라이언트에서 숨겨집니다. 즉, 인터페이스 분리 원칙을 준수하십시오 . …
15 c  interfaces  solid 

2
현대 컴파일러에서 제네릭은 어떻게 구현됩니까?
여기서 의미하는 바는 일부 템플릿 T add(T a, T b) ...에서 생성 된 코드로 어떻게 이동합니까? 나는 이것을 달성 할 수있는 몇 가지 방법을 생각했다. 우리는 일반 함수를 AST에 저장 Function_Node한 다음 그것을 사용할 때마다 원래 함수 노드에 자체 유형의 사본으로 저장된 모든 유형의 사본을 원래 함수 노드에 저장 T한다. …

5
마이크로 서비스 및 소비자를위한 인증 및 인증 시스템
우리는 회사 시스템을 마이크로 서비스 기반 시스템으로 리팩토링 할 계획입니다. 이 마이크로 서비스는 자체 내부 회사 응용 프로그램과 필요한 경우 타사 파트너가 사용합니다. 예약 용, 제품 용 등 역할 및 범위를 처리하는 방법을 잘 모릅니다. 아이디어는 관리자, 에이전트 및 최종 사용자와 같은 3 가지 기본 사용자 역할을 생성하고 필요한 경우 …

1
일반적인 C ++ 래퍼로 Rust의 소유권 모델을 달성 할 수 있습니까?
Rust의 동시성 안전에 대한이 기사를 살펴보면 : http://blog.rust-lang.org/2015/04/10/Fearless-Concurrency.html 나는 C ++ 11 (또는 그 이상)에서 얼마나 많은 아이디어를 얻을 수 있는지 궁금합니다. 특히 소유권을 전달할 수있는 메소드로 소유권을 이전하는 소유자 클래스를 작성할 수 있습니까? C ++에는 변수를 전달하는 방법이 너무 많기 때문에 불가능할 수도 있지만 클래스 또는 템플릿에 일부 제한 …

5
엄격한 TDD와 DDD를 결합하는 방법?
TDD는 테스트를 통해 코드를 디자인하는 것입니다. 따라서 일반적인 레이어는 일반적으로 사전에 구축되지 않습니다. 리팩토링 단계를 통해 약간 나타나야합니다. 도메인 기반 설계에는 응용 프로그램 계층, 인프라 계층, 도메인 계층, 지속성 계층과 같이 잘 설정된 계층을 정의하는 많은 기술적 패턴이 포함됩니다. DDD 프로젝트의 코딩 부분을 처음부터 시작하려면 어떻게해야합니까? DDD 기술 패턴에 맞추기 …

2
개인 Github 리포지토리의 공동 작업자가 각 리포지를 포크해야합니까?
현재 프로젝트를 진행 중이며 공동 개발자 인 Github의 개인 저장소에 소스 코드가 있습니다. 확실하지 않은 것은 각 작업을 분리하는 방법입니다. 우리가해야 할 일은 : 우리 각자는 저장소를 포크해야합니다. 코드를 푸시 할 준비가되면 프로젝트 리더의 리포지토리에 풀 요청을 제출합니다.이 요청을 동시에 코드 검토를 수행 할 수있는 기회로 사용할 수 있습니다. 개인 …

2
DDD CQRS-쿼리 및 명령 당 권한 부여
요약 CQRS / DDD의 권한 부여는 명령 / 조회마다 구현되어야합니까? DDD CQRS 패턴을 다소 엄격하게 사용하는 온라인 응용 프로그램을 처음으로 개발하고 있습니다. 나는 약간의 문제에 부딪쳤다. 내가 만들고있는 응용 프로그램은 사람들이 원장을 만들 수있게하고 직원과 같은 다른 사람들이보고 / 편집 / 삭제할 수 있도록하는 원장 응용 프로그램입니다. 원장의 작성자는 자신이 …

4
마이크로 서비스 REST 또는 AMQP
마이크로 서비스 아키텍처에 관한 많은 기사를 읽었으며 AMQP 또는 REST를 언제 사용해야하는지 궁금했습니다. 서비스 간 느슨한 연결이 좋은 것이며 AMQP가 좋은 선택 인 것 같습니다. 그러나 AMQP를 사용하면 REST 엔드 포인트가 더 이상 필요하지 않다는 의미입니다 (그러나 HATEOAS 개념을 잃어버린 것입니다). 그러나 REST가 실제로 서비스를 구축하는 좋은 방법입니까? 원인 엔드 …

3
루프 안에서 변수를 정의하는 것이 좋습니까? [닫은]
폐쇄되었습니다 . 이 질문에는 세부 사항이나 명확성 이 필요 합니다 . 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 세부 사항을 추가하고 문제점을 명확하게하십시오 . 휴일 3 년 전 . 내 강사는 한 번 루프 안에 변수를 정의해서는 안된다고 말 했지만 정직한 이유를 여전히 이해하지 못합니다. …

4
datareader 행을 생성하고 모든 레코드를 읽지 않으면 데이터베이스 연결이 닫히나요?
yield키워드의 작동 방식을 이해하는 동안 StackOverflow 에서 link1 및 link2 를 발견 yield return하여 DataReader를 반복하는 동안 사용을 옹호하며 내 필요에 적합합니다. 그러나 yield return아래 그림과 같이 사용하고 전체 DataReader를 반복하지 않으면 DB 연결이 영원히 열려 있습니까? IEnumerable<IDataRecord> GetRecords() { SqlConnection myConnection = new SqlConnection(@"..."); SqlCommand myCommand = new SqlCommand(@"...", …
15 c#  database  .net  resources 

1
Collection.stream (). filter (). forEach ()가 각 루프의 표준에 비해 비효율적입니까?
IntelliJ IDEA는 지금 다음 for-each 루프를 Java 8 "forEach"호출로 교체 할 것을 권장했습니다. for (Object o : objects) { if (o instanceof SomeObject) { doSomething(); } } 권장 통화는 다음과 같습니다. objects.stream().filter(o -> o instanceof SomeObject).forEach(o -> doSomething()); Stream의 기본 기능이 어떻게 작동하는지 오해하지 않는 한, 스트림 사용은 표준 for-each …

2
OCaml 비판 : 여전히 유효합니까?
나는 OCaml의 완전한 초보자입니다. 최근 에이 페이지 에서 OCaml에 대한 비판이 많이있었습니다. 아주 오래된 페이지 (2007) 인 것을보고 : 현재 어떤 글 머리 기호가 여전히 유효한가? 예를 들어 : 일반 객체를 인쇄 할 수 없다는 것이 여전히 사실입니까? 나는 그 안에 표현 된 의견에 대한 토론을 찾고 있지 않다는 것을 …
15 ocaml 

5
JSON과 동등한 XSLT
JSON과 동등한 XSLT를 찾거나 필요한 경우 개발하는 데 관심이있었습니다. 내가 찾지 못했을 때 JSON 경로를 일치시키는 데 사용할 수있는 쿼리 언어를 고려하여 일치했을 때 (JavaScript에서) 템플릿을 적용하여 일치하는 패턴 배열을 순서대로 확인하고 첫 번째 템플릿은 xsl : apply-templates와 동일하게하여 템플릿을 자식으로 유지합니다. JSONPath, JSONQuery 및 RQL을 JSON 쿼리 언어로 알고 …
15 javascript  json  xslt 

1
AngularJS 지시어 대 서비스 대 컨트롤러
회사 내부 웹 사이트에서 변경 요청 구현을 시작하려고합니다.이 요청을 통해 여러 필드를 확인하고 특정 지침과 일치하면 강조 표시합니다. 예를 들어, 생년월일이 오늘 인 경우 해당 필드에 대한 개요가 표시되고 툴팁에 "생일 축하 해요!"라고 표시됩니다. 스펙은 나머지 페이지 렌더링이 완료된 후에로드하도록 요청하므로로드 시간을 늘리지 않습니다. angularJS를 처음 사용하기 때문에 이것이 제대로 …
15 angularjs 

4
의존성 주입에서 "순환 의존성"을 처리하는 방법
제목에 "순환 종속성"이라고 표시되어 있지만 디자인이 견고 해 보이기 때문에 올바른 표현이 아닙니다. 그러나 파란색 부분이 외부 파트너에서 제공되고 주황색이 내 구현 인 다음 시나리오를 고려하십시오. 또한 하나 이상이 있다고 가정 ConcreteMain하지만 특정 것을 사용하고 싶습니다. (실제로 각 클래스에는 더 많은 종속성이 있지만 여기서 단순화하려고했습니다.) Depency Injection (Unity)을 사용 하여이 …

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