소프트웨어 공학

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

4
완전한 기능을 갖춘 응용 프로그램이나 베어 본을 만든 다음 천천히 기능을 추가해야합니까?
작업 현장 예약 프로그램을 만드는 데 IT 업무를 맡은 제조 공장에서 일하고 있습니다 (매우 필요합니다). 다른 경험을 바탕으로 사용 시간을 줄이고 사용 가능한 기본 프레임 워크를 구축 한 다음 기능을 추가하거나이를 기반으로 완전히 구현 된 솔루션을 구축하여 시작하는 것이 좋습니다. 나는 약 1 년 동안 개발자 였으며이 크기의 앱을 처음 …

1
2000+ 클라이언트 시스템을위한 애플리케이션 서버로서의 REST 서비스. 좋은 생각입니까?
우리는 2000 개 이상의 머신에 배포 될 javaFx의 UI를 가진 시스템을 구축 할 것입니다 (최소는 2000이지만 더 많을 것입니다-5000 대의 머신에 도달 할 수 있습니다). 다른 이유 / 제한 사항은 머신에 설치해야하므로 웹 브라우저 인터페이스로는 사용할 수 없습니다. 2000+ 머신은 다른 지리적 위치 그룹에 속합니다. 일반적으로 연결 상태는 좋지만 더 …
11 java  design  rest  spring 

4
C #의 인터페이스에서 전제 조건 (LSP)을 지정하는 방법은 무엇입니까?
다음과 같은 인터페이스가 있다고 가정 해 봅시다. interface IDatabase { string ConnectionString{get;set;} void ExecuteNoQuery(string sql); void ExecuteNoQuery(string[] sql); //Various other methods all requiring ConnectionString to be set } 전제 조건은 메소드를 실행하기 전에 ConnectionString을 설정 / 초기화해야한다는 것입니다. 이 전제 조건은 IDatabase가 추상 클래스이거나 구체적인 클래스 인 경우 생성자를 통해 …

3
예외 또는 중복없이 입력 유효성 검사를 수행하는 방법
특정 프로그램에 대한 인터페이스를 만들려고 할 때 일반적으로 유효성이 검사되지 않은 입력에 의존하는 예외가 발생하지 않도록 노력하고 있습니다. 그래서 종종 발생하는 일은 다음과 같은 코드를 생각한 것입니다 (이것은 예제를위한 예일뿐입니다. 예를 들어 Java의 기능을 신경 쓰지 마십시오). public static String padToEvenOriginal(int evenSize, String string) { if (evenSize % 2 == …

6
이름 지정 : 명확성을 위해 간략 성을 희생해야합니까?
예를 들어 다음 함수는 입력 필드의 이름과 오류가 포함 된 배열을 반복합니다. 유효성 검사 필드의 이름을 확인한 다음 오류 정보를 유효하지 않은 필드 배열로 푸시하면됩니다. 간단하고 작성하는 것이 낫습니다. addInvalidField (field, message) { const foundField = this.invalidFields.find(value => { return value.name === field.name }) const errors = foundField.errors if (!errors.some(error …

2
DDD가없고 또는없는 ESQ없는 CQRS-쓰기 모델이란 무엇이며 읽기 모델은 무엇입니까?
내가 이해하는 한, CQRS의 기본 아이디어는 명령과 쿼리를 처리하기위한 두 가지 데이터 모델이 있다는 것입니다. 이를 "모델 쓰기"및 "모델 읽기"라고합니다. Twitter 응용 프로그램 복제의 예를 생각해 봅시다. 명령은 다음과 같습니다. 사용자는 스스로 등록 할 수 있습니다. CreateUserCommand(string username)방출UserCreatedEvent 사용자는 다른 사용자를 팔로우 할 수 있습니다. FollowUserCommand(int userAId, int userBId)방출UserFollowedEvent 사용자는 …
11 cqrs  read-model 

2
트랜잭션을 통해 비즈니스 로직을 DB-logic에서 분리
우리는 응용 프로그램에 세 가지 계층이 있습니다. 외부 API를 제공하는 서비스 계층. 비즈니스 로직을위한 BO 계층과 데이터베이스 연결을위한 DAO 계층 파일을 업데이트 할 때마다 '마지막으로 수정 한 날짜'와 같이 폴더에서 무언가를 변경하려고합니다. 이것은 거래에서 이루어져야합니다. 성공하면 파일과 폴더가 모두 편집됩니다. 또는 오류가 발생하여 트랜잭션이 롤백되므로 두 개체가 모두 이전 상태에 …

3
엔티티 프레임 워크 및 빈혈 도메인 모델 피하기
비즈니스 로직에서 때때로 다음과 같이 정의 된 메소드가 있습니다. User.ResetCourse(Course courseToReset) 문제는 User와 Course가 모두 Entity Framework 프록시 개체라는 것입니다. 즉, User 또는 Course에서 탐색 속성에 도달하면 데이터베이스에 큰 타격을 줄 수 있으며 이러한 개체는 IQueryable이 아니므로 정상적으로 반복됩니다. 이를 해결하기 위해 서명을 다음과 같이 변경했습니다. User.ResetCourse(MyDBContext db, Course courseToReset) …

5
단일 실패가 대량 작업에 실패해야합니까?
API에서 작업 중이며 일련의 ID를 허용하는 대량 삭제 작업이 있습니다. ["1000", ..., "2000"] 필자는 적합하다고 생각되는 삭제 작업을 자유롭게 구현할 수 있었기 때문에 모든 것을 트랜잭션 처리하기로 결정했습니다. 즉, 단일 ID가 유효하지 않으면 전체 요청이 실패합니다. 이 모드를 엄격 모드 라고 합니다. try{ savepoint = conn.setSavepoint(); for(id : IDs) if( …

5
서브 클래스 유형을 요구하지 않는 좋은 설계 방법은 무엇입니까?
프로그램이 객체의 클래스를 알아야 할 때 일반적으로 디자인 결함을 나타내므로 이것을 처리하는 좋은 방법이 무엇인지 알고 싶습니다. Circle, Polygon 또는 Rectangle과 같이 상속 된 다른 하위 클래스로 Shape 클래스를 구현하고 있으며 Circle이 Polygon 또는 Rectangle과 충돌하는지 알 수있는 다른 알고리즘이 있습니다. 그런 다음 Shape의 두 인스턴스가 있고 하나가 다른 인스턴스와 …

9
스크럼 팀의 의견은 무엇입니까?
우리의 스크럼 팀은 일반적인 스크럼 역할로 구성됩니다. 우리는 UI / UX 디자이너가 없으며 개발자는 제품 소유자와 UI / UX를 작업합니다. 여기에 문제가 있습니다. 백 로그를 만들려고 할 때마다 스프린트 시작 전에 정확한 UI / UX 디자인을 정의하지 않으면 스프린트 동안 UI / UX 디자인을 마무리하려고 너무 많은 시간을 소비하게됩니다. 이는 …
11 agile  scrum 

2
C ++에 선형 대수 패키지를 사용하면 게으른 것으로 간주됩니까?
먼저, 실제로 질문하기 전에 약간의 배경 지식을 드리겠습니다. 물리학을 공부하고 모든 프로그래밍 클래스는 MATLAB과 같은 쉬운 프로그래밍 언어로되어 있습니다. 나는 언어가 당신을 위해 많은 생각을한다는 것을 쉽게 의미합니다 ... 다음 몇 년 동안 나는 컴퓨터 과학 과정을 수강 할 것이며 프로그래밍에서 경력을 쌓을 생각입니다. 많은 대학 과정이 C ++에 있다고 …
11 c++  experience 

2
편안한 서비스로 정렬 된 목록 리소스를 어떻게 디자인해야합니까?
나는이 같은 문제를 반복해서 겪었고 실제로 최적이라고 느낀 해결책을 찾지 못했습니다. 앱에서 순서 목록이 있으며 사용자가 끌어서 놓기 등으로 순서를 변경할 수 있습니다. 순서대로 변경 사항을 유지하려고합니다. 어떻게 모델링합니까? 정렬 된 목록 리소스의 편안한 서비스를 어떻게 디자인해야합니까? 특히, 편안한 자원의 모델 list과 item모델을 어떻게 설계해야 합니까? 내가 본 가장 일반적인 …

3
한 버전의 파일을 비공개로 유지하기위한 github 전략
저는 학생들에게 코딩 문제를 쓰는 강사입니다. 내가하고 싶은 것은 학생들이 완성해야 할 기능에 대한 자리 표시자가있는 상용구 코드를 학생들에게 제공하는 것입니다. 학생들에게 개인 github 저장소에 액세스하여이를 복제 할 수 있습니다. 그러나 샘플 솔루션을 갖춘 코드베이스 버전도 원합니다. 분명히 나는 ​​학생들이 솔루션에 액세스하기를 원하지 않습니다 (과제가 끝날 때까지). 지점에 대해 생각했지만 …
11 git  github 

3
% 연산자를 사용하지 않고 잘 분산 된 해시 테이블을 구현할 수 있습니까?
C #에서 빠르고 잘 분산 된 해시 테이블을 구현하려고합니다. 임의의 해시 코드를 가져 와서 "제한"하여 해시를 인덱스하는 데 사용할 수있는 해시 제한 함수를 선택하는 데 문제가 있습니다. 지금까지 볼 수있는 두 가지 옵션이 있습니다. 한편으로 버킷에 항상 소수의 요소가 있는지 확인하고 해시를 제한하기 위해 버킷 수로 간단하게 모듈화 할 수 …

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