소프트웨어 공학

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

3
다중 테넌트 응용 프로그램은 정확히 무엇입니까?
온라인에서 사용할 수있는 정의에 따르면 " 멀티 테넌시는 소프트웨어 응용 프로그램의 단일 인스턴스가 여러 고객에게 서비스를 제공하는 아키텍처 "입니다. 그것은 식당 또는 학교 웹 사이트를 가지고 있으며 학교 관리 제품을 구매 한 후에 제공 한 자격 증명을 사용하여 다른 식당이나 학교에 액세스하여 자신의 데이터로 내 응용 프로그램을 사용할 수 있도록합니다. …

4
한 사람 팀을위한 소프트웨어 수명주기 방법론 [닫기]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식에 의해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 팔년 전에 …

4
더 큰 객체 모델로 타사 라이브러리를 래핑하는 수동 노력을 어떻게 줄일 수 있습니까?
2012 년이 질문 의 저자 와 2013 년이 질문 의 저자와 마찬가지로, 응용 프로그램을 올바르게 테스트하기 위해 랩 해야하는 타사 라이브러리가 있습니다. 최고 답변은 다음과 같습니다. 항상 인터페이스 뒤에 타사 유형 및 메소드를 래핑하려고합니다. 이것은 지루하고 고통 스러울 수 있습니다. 때로는 코드 생성기를 작성하거나 도구를 사용하여이를 수행 할 수 있습니다. …

2
GPL이 허용하는 독점 애플리케이션으로 OpenJDK를 번들링 하시겠습니까?
현재 Steam을 통해 배포 될 수있는 Java로 비디오 게임을 만들고 있습니다. 물론이 경우 많은 Steam 사용자가 Java를 설치하지 않았을 것입니다. 이런 일이 발생하면 사용자에게 Java를 설치해야한다는 정보 대화 상자를 표시하는 작은 기본 런처를 만들거나 내 게임과 함께 자체 Java 런타임 환경 (특히 OpenJDK 8)을 번들로 제공 할 수 있습니다. 내 …
15 licensing  gpl 

6
대략적인 동등성을 가진 float 해싱을 구현하는 방법
다음과 같은 파이썬 클래스가 있다고 가정 해 봅시다 (문제는 Java와 equalsand와 동일합니다 hashCode) class Temperature: def __init__(self, degrees): self.degrees = degrees 여기서 degreesfloat로서 켈빈 온도이다. 지금, 나는 평등 테스트 및 해싱을 구현하고자하는 Temperature방법한다는 점에서 직접 평등 테스트 대신 엡실론 차이까지 플로트를 비교합니다. 을 a == b암시 하는 계약을 존중합니다 hash(a) …

5
동일한 방법으로 객체를 두 번 전달하거나 결합 된 인터페이스로 통합 하시겠습니까?
디지털 보드와 대화 한 후 데이터 파일을 만드는 방법이 있습니다. CreateDataFile(IFileAccess boardFileAccess, IMeasurer boardMeasurer) 다음 boardFileAccess과 boardMeasurera의 같은 인스턴스있는 Board객체가 구현 모두 IFileAccess와 IMeasurer. IMeasurer이 경우 보드의 한 핀을 활성화하여 간단한 측정을 수행하는 단일 방법에 사용됩니다. 이 측정 값의 데이터는를 사용하여 보드에 로컬로 저장됩니다 IFileAccess. Board별도의 프로젝트에 있습니다. CreateDataFile빠른 측정을 …

2
코드의 이해 추상화를 어떻게 처리합니까?
새로운 코드베이스를 볼 때 나는 상향식 접근법에서 시작하는 것을 좋아합니다. 하나의 파일을 이해하고 다음 추상화로 넘어갑니다. 그러나 종종 저수준 추상화가 무엇을하고 있는지 잊어 버리는 경우가 있습니다. 그래서 나는이 시점에서 내가 완전히 이해했던 파일로 돌아가서 다시 배우려고하는 거의 끝없는 루프 안에서 자신을 발견 할 것입니다. 내 머리 속에 서로 연결된 수많은 …

6
게터 허용과 관련하여 정확한 문제는 무엇입니까?
나는 의미론에 대한 의견을 찾지 않고 단순히 게터를 현명하게 사용하는 것이 실제 장애가되는 경우를 찾고 있습니다. 어쩌면 그것은 나를 결코 의존하지 않는 나선형으로 나를 던질 수 있습니다. 어쩌면 대안은 더 깨끗하고 게터를 자동으로 처리하는 것 등입니다. 나는 모든 주장을 들었습니다. 나는 그들이 당신을 객체를 데이터 소스로 취급하도록 강요하기 때문에 그들이 …

3
개발자 스크립트를 관리하는 올바른 방법은 무엇입니까?
개발자는 작업에 도움이되는 스크립트를 만듭니다. 예를 들어 특정 매개 변수를 사용하여 Maven을 실행하거나 개발 과정에서 발생하는 불필요한 백그라운드 작업을 종료하거나 특정 서버에 연결합니다. 스크립트는 핵심 빌드 스크립트가 아니며 Continuous Integration 서버에서 사용되지 않습니다. 그들을 관리하는 가장 좋은 방법은 무엇입니까? 디렉토리 (아마도 /scripts)에 넣고 Git에 체크인하려면? 일부 파일 서버에서 별도로 유지 …

7
팀은 스토리 포인트를 추정하고 있으며 비즈니스는 실제 시간을 원합니다.
나는 이것이 드문 주제가 아니라고 확신합니다. 우리는 스토리 포인트를 사용하여 사용자 스토리를 추정하는 작업을 수행하는 두 개의 스크럼 팀을 보유하고 있습니다 (현재 팀 별자리는 약 8 개월 이었지만 팀 구성원은 수년간 스크럼 경험이 있습니다). 그러나 회사의 비즈니스 부분이 사용자 스토리와 관련이있는 것은 어렵습니다. 실제 시간 단위 (또는 "스토리 포인트를 시간으로 …
15 scrum  estimation 

6
“코드”를 디자이너로부터 멀리 유지 하시겠습니까?
나는 내 친구와 꽤 많은 프로젝트를 구축하지만, 우리는 항상 같은 함정에 계속해서옵니다. PHP, Javascript 및 그 밖의 모든 것들 (CSS 및 HTML도 알고 있음)을 작성하는 방법을 알고 있으므로 실제 기능을 구축 할 때 대부분의 작업을 수행 할 수 있습니다. 그러나 그는 할 수 없지만 사이트를 디자인하는 것만으로는 거의 할 수없는 …
15 design  cakephp 

3
버전 관리 REST API. 각 API에는 자체 버전이 있습니다
URL에서, 특히 경로의 시작 부분에 다음과 같은 REST API 버전을 지정하는 것이 매우 일반적입니다. POST /api/v1/accounts GET /api/v1/accounts/details 그러나 버전이 각 API와 관련된 디자인은 보지 못했습니다. 즉, 각 API의 버전을 별도로 유지 관리합니다. 즉 : POST /api/accounts/v2 GET /api/accounts/details/v3 이 접근 방식을 사용하면 변경이 필요할 때 특정 API의 API 버전을 …

9
단위 테스트를 사용하여 열거 형의 값을 테스트해야합니까?
값이있는 열거 형 만 있고 (Java에서 할 수있는 방법이 없음)이 열거 형이 시스템의 비즈니스 정의의 일부인 경우 하나의 쓰기 단위로 테스트해야합니까? 나는 그들이 단순하고 중복되어 보일 수 있다고해도 그것들이 쓰여 져야한다고 생각하고 있었다. 나는 비즈니스 사양과 관련된 것이 unit / integration / ui / etc와 상관없이 테스트로 명시 적으로 작성되어야한다고 …

1
Java 로거 : 정적 블록 초기화 또는 변수 선언에서 초기화
현재 다음과 같은 방식으로 프로젝트에서 로거를 사용하고 있습니다. private static final Logger LOGGER; static{ LOGGER = logger.getLogger(); } 로거 변수를 초기화하기 위해 정적 블록을 사용하는 코드 검토를 받았습니다. 선언문 자체에서 로거 변수를 초기화하라는 지시를 받았습니다. private static final Logger LOGGER = Logger.getLogger(); 정적 블록에서 초기화하지 않으면 어떤 차이점이 있는지 알아 …
15 java 

1
왜 Protobuf 3가 메시지의 모든 필드를 선택 사항으로 만들었습니까?
protobuf의 구문 (3)는 키워드를 삭제 옵션 모든 필드를 만든 required및 optional이전 proto2 구문에서. 개발자의 의견을 읽으면 앞으로 / 뒤로 바이너리 호환성을 향상시키기 위해 수행 된 것으로 보입니다. 그러나 저에게는 패키지 이름의 버전을 지정하고 com.example.messages.v1클라이언트가 이해하는 디시리얼라이저를 구현하도록하면됩니다. 동시에 소프트웨어 엔지니어링 관점에서 유용한 유형으로 언급 된 일부 계약을 제거합니다. 예를 들어 …

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