소프트웨어 공학

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

10
상태 머신 대 스레드
Alan Cox 는 "컴퓨터는 상태 머신입니다. 스레드는 상태 머신을 프로그래밍 할 수없는 사람들을위한 것"이라고 말했습니다. Alan에게 직접 물어 보는 것은 겸손한 선택이 아니기 때문에 여기서 묻고 싶습니다. 하나의 스레드와 상태 머신 만 사용하여 Java와 같은 고급 언어의 멀티 스레딩 기능을 어떻게 구현할 수 있습니까? 예를 들어, 수행해야 할 두 가지 …

9
내 동료는 좋은 사람이지만 그의 성과는 하위 수준입니다. 상사에게 알려주나요? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 3 년 전 . 나는 약 3 개월 전에 프로젝트를 시작했는데 그 당시에는 새로 고용 된 한 명의 개발자가 개발 중이었습니다. …

4
각 단위 테스트를 다른 테스트와 독립적으로 실행할 수 있어야합니까?
클래스의 두 가지 메소드에 대한 테스트가 있다고 가정하십시오. 첫 번째 방법은 다른 계층에서 데이터를 수집하여 런타임 (예 : SQL 테이블)과 독립적으로 일종의 스토리지에 저장하므로이 테스트에서 처리하는 모든 데이터는 테스트에 하드 코딩됩니다. 두 번째 방법은 첫 번째 방법이 남은 위치에서 데이터를 가져 와서 어떤 방식 으로든 변환 (계산, 특정 부분 이동 …

6
전체 팀이 익숙해지면 TDD의 실제 오버 헤드는 무엇입니까?
TDD를 수행하는 데 소요되는 시간의 백분율은 얼마입니까? 프로젝트 수명주기 동안이 비율의 비용 및 보상 변경이 있다고 가정합니다. 초기 단계 에는 비용이 많이 들지만 보상은 거의 없다고 생각합니다 . 또한 ( 리팩토링 중 ) 테스트의 이점을 누릴 수 있습니다. 나는 당신의 시간의 30-50 %에서 단위 테스트를 쓰고 있다고 들었습니다 . 그러나 …
24 productivity  tdd 

2
통합 테스트는 모의를 사용합니까?
저는 현재 학기 프로젝트를위한 단위 테스트 및 통합 테스트와 같은 여러 유형의 테스트를 수행해야하는 소프트웨어 테스트 강의 중입니다. 통합 테스트를 위해 교수는 통합 테스트에 모의 및 모의 라이브러리 (EasyMock 및 Mockito와 같은)를 사용한다고 말했습니다. 그래도 상당히 혼란스러워지고 있습니다. 통합 테스트는 클래스, 모듈, 서비스 등을 테스트하는 것입니다. 여러 클래스 및 서비스를 …

3
인증은 계층 구조에서 어디에 적합합니까?
일반적으로 서버 측 컨트롤러에 권한 부여 결정을 내립니다. 이것들은 최근 RESTful 끝점이지만, MVC 유형 아키텍처도 마찬가지라고 생각합니다. 논증을 위해 역할 기반 인증이라고 가정합니다. 보호 된 방법에 주석을 달거나 점검하고 필요한 경우 403을 반환합니다. 예를 들어, 권한 부여가 실제로 비즈니스 규칙이라는 점을 고려하면, 예를 들어 "관리자 만 X를 나열 할 수 …

2
빌더가 자체 클래스 파일 대신 내부 클래스 여야하는 이유는 무엇입니까?
많은 Builder Pattern예제 Builder가 객체의 내부 클래스를 만듭니다. 이것은 Builder빌드 내용을 나타 내기 때문에 의미가 있습니다. 그러나 정적으로 유형이 지정된 언어에서는 Builder빌드 내용을 알고 있습니다. (가) 다른 말로하면 Builder내부 클래스, 당신은 해야 (가) 어떤 클래스 알 Builder의 내부를 보지 않고 빌드 Builder. 또한 빌더를 내부 클래스로 사용하면 외부 클래스에서 참조 …

6
SQL에서 NoSQL로 옮기는 것이 어떤 크기의 데이터에 도움이됩니까?
관계형 데이터베이스 프로그래머 (대부분의 경우)로서 관계형 데이터베이스의 확장성에 대한 기사와 MongoDB와 같은 NoSQL 솔루션의 기사를 읽었습니다. 지금까지 개발 한 대부분의 데이터베이스는 중소 규모이므로 일부 인덱싱, 쿼리 최적화 또는 스키마 재 설계로 해결되지 않은 문제는 없었습니다. MySQL이 어려움을 겪을 것으로 예상되는 크기는 무엇입니까? 행이 몇 개입니까? (이것은 응용 프로그램과 저장된 데이터 …

8
문자열 키 사용이 일반적으로 나쁜 생각으로 여겨지는 이유는 무엇입니까?
이것은 잠시 동안 나를 괴롭 혔습니다. 대부분의 경우 해시 테이블, 프로그래머, 서적 및 기사와 같은 구조에 데이터를 저장하는 경우 문자열 값으로 해당 구조의 요소를 인덱싱하는 것은 나쁜 습관으로 간주됩니다. 그러나 지금까지는 왜 나쁜 습관으로 여겨지는지 설명 할 수있는 단일 소스를 찾지 못했습니다. 프로그래밍 언어에 의존합니까? 기본 프레임 워크에서? 구현에? 도움이되는 …

5
ORM 로직 캡슐화를위한 리포지토리 패턴의 대안?
방금 ORM을 전환해야했는데 쿼리 논리가 어디에서나 유출되기 때문에 비교적 어려운 작업이었습니다. 새로운 응용 프로그램을 개발해야한다면 개인적으로 선호하는 것은 ORM을 사용하여 모든 쿼리 논리를 캡슐화하여 변경을 위해 미래를 보장하는 것입니다. 리포지토리 패턴은 코딩 및 유지 관리가 매우 까다로워서 문제를 해결할 다른 패턴이 있는지 궁금합니다. 실제로 필요하기 전에 추가 복잡성을 추가하지 않고 …

6
한 번만 사용되는 경우 문자열 상수를 정의해야합니까?
XPath를 사용하여 응용 프로그램의 데이터 모델에 액세스 할 수있는 Jaxen (Java 용 XPath 라이브러리) 용 어댑터를 구현하고 있습니다. 이것은 문자열을 Jaxen에서 우리에게 전달한 클래스를 데이터 모델의 요소로 매핑하는 클래스를 구현하여 수행됩니다. 총 1000 개의 문자열 비교를 통해 약 100 개의 클래스가 필요하다고 추정합니다. 이 작업을 수행하는 가장 좋은 방법은 각 …

5
REST API는 명령 / 작업 기반 도메인에 어떻게 적합합니까?
이 기사 에서 저자는 때로는 본질적으로 RESTful하지 않은 작업을 API에 노출해야하는 경우가 있습니다. 그리고 API에 작업이 너무 많으면 RESTful 원칙을 사용하지 않고 RPC 관점으로 설계되었거나 해당 API가 자연스럽게 RPC 유형 모델에 더 적합하다는 것을 나타냅니다. 이것은 내가 읽고 다른 곳에서들은 것을 반영합니다. 그러나 나는 이것이 매우 혼란스럽고 문제에 대해 더 …

8
“참”,“거짓”및 부울 토글에 대한 용어가 있습니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 작년에 문을 닫았 습니다 . 기술 회의에서 코드를 설명하려고한다고 가정 해 보겠습니다. 먼저 부울 foobar을true 과 둘째, 부울 foobar을false 조금 말투처럼 보인다. …


3
isPresent ()를 호출하지 않고 Optional.get ()이 왜 좋지만 iterator.next ()가 아닌가?
새로운 Java8 스트림 API를 사용하여 컬렉션에서 하나의 특정 요소를 찾을 때 다음과 같은 코드를 작성합니다. String theFirstString = myCollection.stream() .findFirst() .get(); 여기서 IntelliJ는 isPresent ()를 먼저 확인하지 않고 get ()을 호출한다고 경고합니다. 그러나이 코드는 다음과 같습니다. String theFirstString = myCollection.iterator().next(); ... 경고가 없습니다. 두 가지 기술 사이에 어떤 방식으로 스트리밍 …
23 java8 

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