소프트웨어 공학

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

2
게터 만있는 인터페이스에서 코드 냄새가 나는가?
(내가 본 이 질문을 하지만, 첫 번째 대답이 더 많은 설계에 대한보다 자동 속성에 대한 가고, 두 번째는 말한다 소비자의 데이터 저장 코드를 숨길 수 있는지 내가 원하는 것입니다 아니에요, / 내 코드 않습니다, 그래서 다른 의견을 듣고 싶습니다) 나는이 매우 유사 엔티티가 HolidayDiscount와 RentalDiscount'는 적어도 지속되는 경우로 길이 할인을 …

3
고 가용성 응용 프로그램을 디자인하는 방법
현재 DB / 웹 서비스 / 프론트 엔드와 같은 n- 계층 애플리케이션이 있습니다. 다른 구성 요소가 있지만 기본 레이아웃입니다. 다음과 같은 세 가지 주요 이유로 응용 프로그램 가용성을 향상시키고 싶습니다. 호스트는 때때로 정전을 경험하고 고객 모두에게 미치는 영향을 최소화하기 위해 데이터 센터 A가 다운되면 데이터 센터 B를 켤 수 있습니다. …

2
REST API가 여러 자원을 하나의 단일 복합 자원으로 리턴 할 수 있습니까?
REST API를 작성하는 중이며 현재 다음과 같은 문제가 발생합니다. Foo첫 번째 리소스입니다. CRUD 작업은 /foo/URI 를 통해 적용 할 수 있습니다 . Bar두 번째 자원입니다. CRUD 작업은 /bar/URI 를 통해 적용 할 수 있습니다 . 모든 Foo것은 0 또는 1과 연관됩니다 Bar. 내가 Bar하위 리소스로 취급하지 않는 Foo이유는 동일한 Bar인스턴스가 …

2
GPL이 포함 된 이중 라이센스 및 비공개 소스 라이센스
나는 이것에 대해 많은 연구를 해왔지만 여전히 혼란 스럽습니다. 현재 Arduino 호환 소프트웨어 프로젝트를 진행하고 있습니다. 이 프로젝트는 오픈 소스이므로 다른 사람들 도이 프로젝트를 사용하기를 원하지만 비공개 소스 라이센스로 파생 작품을 만들고 싶지는 않습니다. 나는 그들이 내 작업에서 파생 된 것으로 내 프로젝트에서 사용 된 코드를 인정하고 파생 작업을 오픈 …

3
객체 이니셜 라이저와 빌더 및 유체 인터페이스를 사용할 때 요점이 있습니까?
Java 및 C #에서는 매개 변수를 사용하여 생성자를 정의하거나, 오브젝트를 구성한 후 각 특성을 정의하거나, 빌더 / 유체 인터페이스 패턴을 사용하여 초기화시 설정할 수있는 특성으로 오브젝트를 작성할 수 있습니다. 그러나 C # 3에는 객체 및 컬렉션 이니셜 라이저가 도입되어 빌더 패턴이 크게 쓸모가 없었습니다. 이니셜 라이저가없는 언어에서는 빌더를 구현 한 …

1
Node.js 종속성의 무게가 너무 큼
최근에 node.js로 게임을 시작했습니다. 이제 모든 노드 튜토리얼은 시작해야한다고 말합니다. npm init 그런 다음 표준 서버 프레임 워크를 원한다고 명시 적으로 선택하십시오. npm install express 그러나 ASP.NET과 같은 세계에서 더 많은 것들을 원할 것입니다. 템플릿 엔진 (jade)과 스타일 시트 프리 프로세서 (SASS)에 대해 이야기합니다. 그리고 그들은 "gulp / grunt를 설치합니다! …

1
객체 파일 제공이 LGPL 재 링크 조항을 충족합니까?
에서 SO에이 질문에 , 나는 읽었 : 독점 소스 코드 + LGPL 소스 코드 정적으로 링크 : 두 부분을 모두 LGPL로 해제해야합니다. 또는 사용자가 다른 버전의 LGPL 소스 코드로 애플리케이션을 다시 링크 할 수 있도록 모든 것을 제공하십시오. 이 경우 다른 요구 사항은 동적으로 링크 된 것과 동일합니다. 따라서 LGPL …

4
도메인 기반 설계 및 도메인 간 상호 작용
나는 상대적인 DDD 초보자이지만, 나는 내 지식을 쏟아 내고 증류시킬 수있는 모든 것을 읽고 있습니다. 나는이 DDD 질문을 보았고 그 대답 중 하나가 흥미로웠다. DDD 경계 컨텍스트 및 도메인? 답 중 하나에서 포스터는 전자 상거래 시스템의 예를 제공하며 제품이 2 개 이상의 도메인에 있습니다. 1) 제품 카탈로그 2) 재고 관리 …

1
단선 기능으로 구성된 데이터 뭉침 파이프 라인에 대한 단위 테스트
Mary Rose Cook의 실용적인 프로그래밍 실습 소개를 읽고 반 패턴의 예를 들었습니다. def format_bands(bands): for band in bands: band['country'] = 'Canada' band['name'] = band['name'].replace('.', '') band['name'] = band['name'].title() 이후 이 함수는 하나 이상의 일을한다 그 이름은 설명이 아닙니다 부작용이있다 제안 된 솔루션으로 익명 기능을 파이프 라이닝 할 것을 제안합니다. pipeline_each(bands, …

4
REST API가 날짜 시간을 적절한 클라이언트 시간대로 변환 할 수 있어야합니까?
API를 구현하는 동안 날짜 시간 및 시간대 문제가 발생했습니다. 모든 날짜는 데이터베이스에서 UTC로 정규화됩니다. 현재 비 API 응용 프로그램에서 모든 날짜 시간은 먼저 제시된 사용자 기본 설정을 기반으로 변환됩니다. 이제 API에 대해 동일한 질문이 제기되었습니다. API가 요청 의미에 따라 시간대에 적합한 날짜 시간을 반환 할 수 있어야합니까? 예를 들어 GET …
10 rest  api  time 

3
분로 장 알고리즘의 우선 순위
나는 통해하고 있어요 차량 기지 알고리즘 위키 피 디아에 의해 설명 된대로. 연산자를 처리 할 때 알고리즘에 대한 설명은 다음과 같습니다. 토큰이 연산자 인 o1이면 다음을 수행하십시오. 운영자 스택 맨 위에 운영자 토큰 o2가 있고 o1 is left-associative and its precedence is less than or equal to that of o2, …

4
불변성을 보장하는 것이 속성 대신 필드를 노출시키는 것에 대한 정당성입니까?
C #에 대한 일반적인 지침은 항상 공개 필드를 통해 속성을 사용하는 것입니다. 필드를 노출하면 구현 세부 사항을 많이 노출하게됩니다. 속성을 사용하면 해당 세부 정보를 캡슐화하여 코드를 사용하지 못하도록 숨기고 구현 변경 내용은 인터페이스 변경 내용과 분리됩니다. 그러나 readonly키워드를 다룰 때이 규칙에 유효한 예외가 있는지 궁금합니다 . 이 키워드를 퍼블릭 필드에 …

3
프로그래머가 강제로 정의하도록 기본 클래스의 추상 속성
임베디드 장치의 상태 패턴으로 코딩하고 있습니다. State라는 기본 / 추상 클래스가 있으며 각 개별 (콘크리트) 상태 클래스는 추상 상태 클래스를 구현합니다. 주 클래스에는 여러 가지 추상 메소드가 있습니다. discrete (concrete) 클래스에서 추상 메서드를 구현하지 않으면 Visual Studio에서 다음과 같은 오류가 발생합니다. ... 오류 1 'myConcreteState'가 상속 된 추상 멤버 'myAbstractState'를 …

2
메소드 매개 변수로서의 식별자 대 도메인 객체
객체 / 고유 ID를 메소드 / 함수 매개 변수로 사용하는 것에 대한 객관적인 주장이 있습니까? (및 다른 개체의 구성원?). 특히 정적으로 유형이 지정된 언어 (C # / Java / Scala)와 관련하여 객체 자체의 장점 : 더 안전한 유형의 통화. ID를 사용하면 인수 순서가 잘못 될 위험이 있습니다. 그래도 해당 클래스의 …

3
블로그에서 코드 라이센스를 표시 / 명확하게하는 방법
Creative Commons 라이센스 중 하나 에서 블로그를 사용할 수 있다고 가정 합니다. 이러한 라이센스 유형은 실제 라이센스 등에 대한 링크와 함께 각 페이지의 맨 아래에 표시됩니다. 그러나 Creative Commons 라이센스는 소프트웨어 나 소스 코드 배포에 실제로 적합하지 않으므로 블로그 게시물의 일부일 수있는 코드 (예 : 스 니펫 / 조각 또는 …

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