소프트웨어 공학

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

11
개발 프로세스에서 관리를 유지하는 방법
저는 소프트웨어 개발 팀의 소프트웨어 엔지니어입니다. 지난 3 년 동안 내부 고객을 위해 신제품을 개발했습니다. 이제이 제품이 완성되었습니다. 기존 제품의 새로운 주요 기능을 다룰 것입니다. 특정 기능의 경우 제품 관리 부서에서 개발하는 데 150 시간이 소요될 것으로 예상했습니다. 우리는 프로젝트 관리자와 함께 매우 상세한 계획을 세웠으며 300 시간의 노력을 기울였습니다. …

2
Joe Armstrong의 바나나 원숭이 정글 문제를 설명하는 샘플 코드
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 2 년 전 . 책에서 직장에서 코더 조 암스트롱 밝혔다 : 재사용 성 부족은 기능적 언어가 아닌 객체 지향 언어에서 비롯된 …

2
이벤트 소싱에서 부작용을 어떻게 처리합니까?
이상한 패턴이 감지되면 전자 메일을 통해 사용자에게 경고하는 금융 응용 프로그램을위한 작은 보안 하위 시스템을 구현한다고 가정합니다. 이 예에서 패턴은 세 가지 트랜잭션으로 구성됩니다. 보안 서브 시스템은 기본 시스템의 이벤트를 큐에서 읽을 수 있습니다. 내가 얻고 싶은 것은 패턴의 현재 상태를 모델링하는 중간 표현없이 시스템에서 발생하는 이벤트의 직접적인 결과 인 …

2
전통적인 메시지 브로커 및 스트리밍 데이터
Kafka 사이트 에 따르면 : " Kakfa는 실시간 데이터 파이프 라인 및 스트리밍 앱을 구축하는 데 사용됩니다. " 인터넷을 광범위하게 검색하면서 " 스트림 데이터 "가 무엇인지에 대해 다음과 같이 일반적으로 수용되는 정의를 찾았습니다 . 스트림 데이터는 네트워크를 통해 소스에서 대상으로 연속적으로 흐르는 데이터입니다. 과 스트림 데이터는 본질적으로 원자 적이 지 …

3
백엔드 ID가 공개 API이어야합니까?
이 사람의 말을 바탕으로 : http://toddfredrich.com/ids-in-rest-api.html 그가 API 자원을 식별하기 위해 UUID를 사용하는 것이 옳다고 가정합시다. 그런 다음 그런 식으로 구현하려고하면 문제가 발생합니다. class FooEntity { final String id = null; //auto-generated by my backend (mongodb), not shared final UUID uid = UUID.randomUUID(); //the resource id } 클라이언트와 서버 간에는 …

4
입력 매개 변수가 다른 작업자를위한 C # 디자인 패턴
이 문제를 해결하는 데 어떤 디자인 패턴이 도움이 될지 잘 모르겠습니다. '코디네이터'라는 클래스가 있는데, 여기에는 모든 유형의 작업자에 대해 몰라도 어떤 작업자 클래스를 사용해야하는지 결정합니다. 단지 WorkerFactory를 호출하고 공통 IWorker 인터페이스에 작용합니다. 그런 다음 적절한 Worker가 작동하도록 설정하고 'DoWork'메서드의 결과를 반환합니다. 이것은 지금까지 훌륭했습니다 ... 지금까지; 새로운 Worker 클래스 인 …

6
다음 코드 스 니펫에서 너무 많은 if / else-if를 피하는 더 좋은 방법은 무엇입니까?
"액션"값을 기반으로 작업을 수행하는 서블릿을 입력으로 전달하려고합니다. 다음은 샘플입니다 public class SampleClass extends HttpServlet { public static void action1() throws Exception{ //Do some actions } public static void action2() throws Exception{ //Do some actions } //And goes on till action9 public void doPost(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException { String …

2
MongoDB 키에`.`가 포함 된 JSON 문서 삽입
첫째, 이것은 프로그래밍 질문보다 디자인 질문에 가깝습니다. 기존 JSON 데이터를 가져 와서 MongoDB에 삽입 해야하는 응용 프로그램을 만들고 있습니다. 일부 JSON 문서에는 .키에 마침표가 있음을 발견했습니다 . MongoDB 설명서에서 마침표 .는 쿼리에 사용되므로 MongoDB에서 키로 허용되지 않는다는 것을 읽었습니다 . 웹 응용 프로그램에서 많은 삽입 작업을 수행하지는 않지만 한 번만 …
14 json  mongodb 

1
C # 사전의 효율성
C # 사전은 무언가 등이 있는지 확인하는 간단한 방법입니다. 작동 방식에 대한 질문이 있습니다. 사전 대신 ArrayList를 사용한다고 가정 해 봅시다. 사용 ContainsKey하거나 다른 언어의 동등한 방법 을 사용하는 대신 ArrayList를 반복하여 무언가가 있는지 확인하거나 데이터가 정렬되거나 비슷한 경우 이진 검색을 수행합니다. 효율성의 차이는 무엇입니까? 이 ContainsKey방법은 키를 반복하고 검색하는 …

1
명령이나 이벤트를 사용해야합니까?
버스 통신에서 명령과 이벤트의 차이점은 약간 모호한 것 같습니다. 이벤트를 여러 번 처리 할 수 ​​있지만 명령을 한 번만 실행해야한다는 것을 알고 있지만 여전히 명령이나 이벤트를 언제 사용 해야하는지 잘 모르겠습니다. 예를 보자. 새로운 사용자가 웹 애플리케이션에 등록 할 때 계정을 생성하고 확인 이메일을 보내야합니다. 계정 만들기 -이것은 CreateUserCommand버스 로 …

4
C / C ++에서 가능한 경우 매개 변수 및 로컬 변수에 'const'를 사용해야합니까?
이 질문은 java 에 관한 질문 final에서 영감을 얻었습니다 . C / C ++에서 const가능할 때마다 사용해야 합니까? 매개 변수 사용 const에 대한 관련 질문이 이미 있다는 것을 알고 있습니다 . 불행히도 그 질문과 대답은 함수 매개 변수에 관한 것이므로 다른 질문 (예 : 지역 변수)에 대해서도 알고 있기 때문에 …

5
열거 형이 문자열 표현을 더 간단하게 만들기 위해 모든 대문자 이름을 지정해도 괜찮습니까?
여러 번 사람들이 열거 형 상수에 제목 대소 문자 또는 모든 소문자 이름을 사용하는 것을 보았습니다. enum Color { red, yellow, green; } throw new IllegalStateException("Light should not be " + color + ".")예를 들어 문자열 형식으로 작업하는 것이 간단하고 쉽습니다 . 열거 형이 private인 경우 더 받아 들일 수 …
14 java  conventions  enum 

5
다면 프로젝트에서 버전 관리를 어떻게 처리합니까?
나는 그것이 광범위한 질문이라는 것을 알고 있으므로 가능한 한 구체적으로 노력할 것입니다. 이 질문은 기술적 인 질문보다 "조직적인"질문입니다. 우리는 다음과 같은 주요 구성 요소로 된다면 프로젝트를 가지고 있습니다. 핵심 비즈니스 로직 (데이터 모델)을 호스팅하는 서버 핵심 비즈니스 로직을 사용하는 고객을위한 백 오피스 핵심 비즈니스 로직도 사용하는 애플리케이션 API (REST) 응용 …

4
DTO에 대한 구성 및 상속 사용
단일 페이지 응용 프로그램에 REST API를 제공하는 ASP.NET 웹 API가 있습니다. DTO / POCO를 사용하여이 API를 통해 데이터를 전달합니다. 문제는 이제 이러한 DTO가 시간이 지남에 따라 커지고 있다는 점입니다. 이제 DTO를 리팩토링하려고합니다. DTO 디자인 방법에 대한 "모범 사례"를 찾고 있습니다. 현재 가치 유형 필드로만 구성된 작은 DTO가 있습니다. public class …
13 rest  api-design  web-api  dto  poco 

5
웹 API를 사용하는 순수 프론트 엔드 JavaScript 및 Ajax를 사용한 MVC보기
이것은 요즘 웹 애플리케이션을 분할하는 방법에 대한 사람들의 생각에 대한 토론이었습니다. 모든 뷰와 컨트롤러로 MVC 응용 프로그램을 만드는 데 익숙합니다. 직접 채우고 싶지 않은 특정 영역이없고 DOM 페이지로드 이벤트를 사용하여 서버를 호출하여 다른 영역을로드하지 않는 한, 전체보기를 작성하고이를 전체 페이지 요청에서 브라우저로 다시 전달합니다. AJAX를 사용하여. 또한 부분 페이지를 새로 …

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