소프트웨어 공학

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

1
LLVM에 트리 형 IR이 아닌 어셈블리 형 IR이있는 이유는 무엇입니까? 또는 왜 프로젝트가 clang의 AST 대신 LLVM IR을 대상으로합니까?
왜 LLVM의 중간 표현 (LLVM IR)이 트리 형이 아닌 어셈블리 형입니까? 또는 언어 구현이 왜 clang의 AST가 아닌 LLVM IR을 대상으로합니까? 그렇게 보이는 경우 한 번에 두 가지 다른 질문을 시도하지 않습니다. 저에게는 클라이언트와 라이브러리 프로그래머 모두 LLVM의 API가 더 이상 그다지 중요하지 않은 소프트웨어 설계이고 내 질문이 "왜?"라는 의견에 …

7
간단한 도메인 객체를 나타내는 기본 대 클래스?
도메인 특정 객체를 사용할 때 일반 문자열이나 숫자를 사용하는 경우 일반적인 지침이나 경험 규칙은 무엇입니까? 예 : 연령대 대 정수? 이름 클래스 대 문자열? UniqueID 및 문자열 PhoneNumber 클래스 대 문자열 대 Long? DomainName 클래스 대 문자열? 대부분의 OOP 실무자는 PhoneNumber 및 DomainName에 대한 특정 클래스를 분명히 말할 것이라고 생각합니다. …

3
병렬 어레이를 사용하는 것이 좋은시기는 언제입니까?
나는 '병렬 배열'또는 목록이라고 부르는 것을 사용하는 코드 (새로운 코드)를 겪었습니다. 의미는 관련 데이터를 포함하고 어레이의 위치 (인덱스)로 연결된 2 개의 어레이가 있음을 의미합니다. 나는 혼란스럽고 모든 종류의 오류가 발생하기 쉽다고 생각합니다. 내가 일반적으로 제안하는 솔루션은 CompanyCompanyId 및 CompanyName 필드로 불리는 객체를 만드는 것 입니다. 매우 실제적인 예 : List<string> …

2
유형 자체 대신 유형 제약 조건이있는 일반 메소드를 사용하는 이유는 무엇입니까?
다른 StackExchange 질문 에서이 프로토 타입을 사용하는 사람을 발견했습니다. void DoSomething<T>(T arg) where T: SomeSpecificReferenceType { //Code.... } 단 하나의 타입 제약 ( SomeSpecificReferenceType) 만이 있다는 점을 명심 하면, 단순히 작성하는 것보다는 다음과 같이 작성하는 것의 차이점과 장점은 무엇입니까? void DoSomething(SomeSpecificReferenceType arg) { //Code.... } 두 경우 모두 arg컴파일 타임 …
14 c#  .net  generics 

3
하나의 구현을 구성하는 수많은 사람들. DI 희망이 없습니까? 서비스 로케이터를 사용 하시겠습니까?
주사를 받아들이지 않고 직접 의존성을 구성하는 1001 명의 고객이 있다고 가정 해보십시오. 보스에 따르면 1001을 리팩토링하는 것은 옵션이 아닙니다. 실제로는 소스 파일뿐만 아니라 클래스 파일에도 액세스 할 수 없습니다. 우리가해야 할 일은이 1001 클라이언트가 통과하는 시스템을 "현대화"하는 것입니다. 우리가 좋아하는 모든 것을 리팩터링 할 수 있습니다. 종속성은 해당 시스템의 일부입니다. …

1
동료가 극도로 복잡하고 추상화되는 것을 방지하는 방법은 무엇입니까?
동료가 전시하는 것처럼 보이기 때문에 매우 어려운 시간을 보내고 있습니다 조기 / 불필요한 최적화 노력 의심스러운 추상화 를 통한 조기 중복 제거 예를 들어 수정 된 VIPER 아키텍처를 사용합니다. 그는 다른 라우터에서 정확히 무엇이 복제 될지 모르면서 첫 번째 바이퍼 스택을 구현하는 과정에서 라우터 구성 요소 (제네릭 사용)의 기본 클래스를 …

2
실제 세계-Liskov 대체 원리
배경 : 메시징 프레임 워크를 개발 중입니다. 이 프레임 워크는 다음을 허용합니다. 서비스 버스를 통한 메시지 전송 메시지 버스의 대기열에 가입 메시지 버스의 주제 구독 현재 RabbitMQ를 사용하고 있지만 가까운 시일 내에 Microsoft Service Bus (Premise)로 전환 할 것입니다. ServiceBus로 이동할 때 클라이언트 코드 (예 : 게시자 또는 구독자)를 수정하지 …

5
OOP 코딩 스타일 : 생성자의 모든 것을 초기화합니까?
나는 여전히 자신을 도제 프로그래머라고 생각하기 때문에 항상 전형적인 프로그래밍을위한 "더 나은"방법을 배우려고합니다. 오늘날 동료는 코딩 스타일이 불필요한 작업을 수행한다고 주장했으며 다른 사람들의 의견을 듣고 싶습니다. 일반적으로 OOP 언어 (일반적으로 C ++ 또는 Python)로 클래스를 디자인 할 때 초기화를 두 개의 다른 부분으로 분리합니다. class MyClass1 { public: Myclass1(type1 arg1, …

3
PHP 웹 앱의 흐름을 잃어 가고 있는데, 작업하기가 점점 어려워지고 있습니다.
몇 년 동안 프로그래밍을 해 왔으며 시간이 지남에 따라 C # 및 JavaScript에 매우 익숙해졌습니다. 탐색하는 데 문제가없는 더 큰 C # 및 JavaScript 프로젝트가 있습니다. 최근에 PHP에 대한 사전 경험이없는 작업을 위해 PHP & AngularJS 프로젝트를 시작했습니다. PHP 측면의 흐름을 추적하기가 어려워지고 있습니다 (JavaScript 측면은 더 크지 만 쉽게 …

2
이벤트 소싱에서 프로세스 관리자를 구현하는 방법
CQRS 및 이벤트 소싱의 개념을 배우기 위해 작은 예제 응용 프로그램을 만들고 있습니다. 나는이 Basket집계과 Product독립적으로 작동합니다 집계를. 다음은 구현을 보여주는 의사 코드입니다. Basket { BasketId; OrderLines; Address; } // basket events BasketCreated { BasketId; } ItemAdded { BasketId; ProductId; Quantity } AddItemSucceeded { BasketId; ProductId; Quantity } AddItemRevoked { …


2
Java 인터페이스의 모든 메소드 선언이 공개적인 것은 아닙니다. 메소드를 이러한 수정 자로 선언해야합니까?
Java 8부터 default메소드가 인터페이스에 도입되었습니다. 효과적으로,이 방법은있는 모든 방법은 interface있습니다 abstract. Java 9 (아마도)부터 private메소드가 허용됩니다. 이 의미에서 모든 방법은 interface있습니다 public abstract. "자바 인터페이스의 메소드가 public액세스 수정자를 사용하거나 사용하지 않고 선언해야합니까 ?" 스택 오버플로에서 https : //.com/questions/161633/should-methods-in-a-java-interface-be-declared-with-or-with-out-a-public-access-m 거기에, 대부분의 답변은 public abstract에있는 방법이 interface이외의 것이 될 수 없으므로 사용해서는 …

5
현지화 문자열 리소스를 구성하는 방법?
많은 작은 패키지로 구성된 대규모 응용 프로그램을 개발 중입니다. 각 패키지에는 현지화를위한 고유 한 리소스 파일 세트가 있습니다. 현지화 문자열을 구성하고 이름을 지정하는 가장 좋은 방법은 무엇입니까? 지금까지 내 생각은 다음과 같습니다. 중복 처리 동일한 패키지 (예 : "우편 번호")는 특정 패키지 내에서 여러 번 나타날 수 있습니다. 프로그래밍 본능 …

2
비디오 스트림의 빠르고 무손실 압축
고정식 카메라에서 나오는 비디오가 있습니다. 해상도와 FPS는 모두 매우 높습니다. 내가 얻는 데이터는 Bayer 형식이며 픽셀 당 10 비트를 사용합니다. 내 플랫폼에는 10 비트 데이터 유형이 없으므로 원본 데이터는 16 비트 워드를 사용하여 메모리에 저장됩니다. 네트워크를 통해 데이터를 전송하기 전에 데이터 의 무손실 압축 을 구현하고 싶습니다 . 카메라가 움직이지 …

7
클라이언트 응용 프로그램에서 사용자 인증을 설계하는 방법은 무엇입니까?
많은 사용자를 지원하는 응용 프로그램을 개발하고 있습니다. 문제는 클라이언트 / 사용자를 인증하는 방법을 알 수 없다는 것입니다. http://quickblox.com/ 과 같은 응용 프로그램 을 만들고 있는데 사용자에게 자격 증명을 제공하고 인증을 위해 사용자 이름과 암호를 넣을 수없는 N 응용 프로그램 을 빌드하는 데 사용 합니다. 다음과 같이 진행한다고 가정 해 봅시다. …

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