소프트웨어 공학

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

2
DDD 경계 컨텍스트 및 도메인?
나는 10의 데이터베이스 테이블 (집계, 엔터티 / 값 객체)으로 DDD를 적용하는 비교적 복잡한 응용 프로그램에서 일하고 있습니다. 이 시점에서 기본적으로 DDD-Lite 인 것으로 보이며 응용 프로그램 / 도메인 서비스, 도메인 모델 (엔티티, 값 개체) 및 리포지토리가 있음을 의미합니다. 나는 DDD 구현 책을 집어 들었고 그가 언급 한 첫 번째 것은 …


3
왜 룰 엔진이 프롤로그에 작성되지 않습니까? [닫은]
휴무 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 육년 전 . 내가 Prolog에서 본 것처럼 앱의 규칙 엔진을 만드는 데 이상적입니다. 그러나 나는 내가 Prolog로 작성된 규칙 엔진을 본 …

2
오픈 소스 소프트웨어가 폐쇄 소스 소프트웨어로 변모 한 결과는 무엇입니까?
회사가 허가 된 오픈 소스 응용 프로그램을 가져온 다음 응용 프로그램의 광범위한 부분을 재 작업하고 새로운 기능을 추가하고 버그 수정을 적용하여 폐쇄 소스 응용 프로그램을 개발하는 경우 ... 라이센스 요구 사항을 무시하는 중 ... 전환은 어떻게 이루어지며 차등 라이센스 선택을 넘어서는 것을 방지하기 위해 무엇을 할 수 있습니까? 회사의 (윤리적 …

6
객체 지향 디자인의 느슨한 결합
나는 GRASP를 배우려고 노력 중이며 로우 커플 링에 대한 설명 (이 페이지 3 )을 발견했으며 이것을 발견 했을 때 매우 놀랐습니다. 클래스 의 메소드 addTrack를 고려하십시오. Album가능한 두 가지 메소드는 다음과 같습니다. addTrack( Track t ) 과 addTrack( int no, String title, double duration ) 커플 링을 줄이는 방법은 무엇입니까? …

1
기능적 중간 형태의 단점
JavaScript와 유사한 언어에 대한 최적화 프로그램을 작성 중이며 중간 코드 표현을 선택해야합니다. 요즘 명백하고 전형적인 선택은 정적 단일 할당 (SSA)입니다. 그러나 C에서 Modern Compiler Implementation은 기본적으로 중간 표현을 위해 순수한 기능을 수행하는 것을 의미하는 기능적 중간 형식에 대해 논의합니다 (로컬 변수 측면에서 순수하고 힙 데이터는 여전히 변경 가능하며 CPS가 아닌 …

6
"주요"기능 백 로그와 병행하여 "바이트 크기"작업의 백 로그?
고도로 사일로 된 "고독한"개발 부서 구조에서 2 년 이상 근무한 후 Agile SCRUM을 채택하고 있습니다. 큰. 나는 애자일을 좋아한다; 개발자는 어제 완료 될 것으로 예상하여 프로젝트를 진행 한 후 수많은 이해 관계자가 프로젝트를 진행하지 않고도 집중하고, 바쁘고, 생산성을 유지할 수 있습니다. 그러나 현재 "모델"과 비교하여 SCRUM으로 전환하는 한 가지 측면이 …

1
3의 규칙에서 세 번째까지 기다릴 이유가 있습니까?
Wikipedia에서 " Rule of Three "라는 기사 를 보았습니다. 3의 규칙은 복제 된 코드 조각이 새로운 프로 시저로 대체되어야하는시기를 결정하기위한 코드 리팩토링 경험 법칙입니다. 코드를 한 번 복사 할 수 있지만 동일한 코드를 세 번 사용하면 새 프로 시저로 추출되어야합니다. 이 규칙은 Martin Fowler가 리팩토링에 도입했으며 Don Roberts에 귀속되었습니다. 나는 …

10
왜 "콜백 함수"가 필요합니까?
나는 책을 읽고있다 programming in Lua. 그것은 말했다 클로저는 많은 상황에서 유용한 도구를 제공합니다. 우리가 보았 듯이, 그것들은 sort와 같은 고차 함수에 대한 인수로 유용합니다. 클로저는 newCounter 예제와 같이 다른 함수도 빌드하는 함수에 유용합니다. 이 메커니즘을 통해 Lua 프로그램은 기능적 세계의 정교한 프로그래밍 기술을 통합 할 수 있습니다. 클로저는 콜백 …

6
HTTP 세션 또는 데이터베이스 접근
내 접근 방식이 무엇인지 혼란 스럽습니다. 쇼핑 카트 디자인 작업 중이며 세션 또는 데이터베이스에 쇼핑 카트를 저장해야하지만 어느 접근 방식이 가장 좋은지 잘 모르겠습니다. 사용 사례는 다음과 같습니다. 사용자가 로그인하지 않고 장바구니에 제품 추가 (익명 사용자) 사용자가 로그인하여 장바구니에 제품을 추가 중입니다. 사용자가 웹 상점을 방문하고 로그인하지 않고 제품을 추가하는 …

6
리플렉션을 과도하게 사용하는 것은 나쁜 습관입니까?
상용구 코드의 양을 크게 줄이면 리플렉션을 사용하는 것이 좋습니까? 기본적으로 한쪽면의 성능과 가독성과 다른 쪽면의 보일러 플레이트 코드의 추상화 / 자동화 / 감소 사이에는 균형이 있습니다. 편집 : 다음은 반사 사용을 권장하는 예입니다. . 예를 들어, Base10 개의 필드와 3 개의 서브 클래스 SubclassA가 SubclassB있고 SubclassC각각 10 개의 다른 필드 …

1
REST 웹 서비스를 어떻게 단위 테스트 할 수 있습니까?
단위 테스트를 처음 접했을 때 DB를 호출하고 DTO를 채우는 REST 웹 메소드가 하나 있습니다. 의사 코드는 public object GetCustomer(int id) { CustomerDTO objCust = //get from DB return objCust; } 이러한 방법과 테스트 유형 (통합 / 단위)에 대한 테스트를 작성하는 방법은 의심의 여지가 있습니다. 그리고 단위 테스트를 위해서는 DB를 쳐야합니다. …

3
백그라운드 워커 vs. 비동기 / 기다리기
저는 C # 개발에 익숙하지 않아보다 반응이 빠른 UI를 만들고 싶습니다. 예비 연구에서 나는 이것을 달성하는 두 가지 방법을 보았습니다. BackgroundWorker 클래스와 함께 멀티 스레딩. 최신 Async / Await 수정 자 새로운 것이 더 나을까요? 두 방법의 차이점은 무엇입니까? 새 프로젝트를 만들려면 어떤 방법을 선택해야합니까? 편집 : 어쩌면 내가 지정해야합니다. …

2
RESTful API에서 중첩 자원을 사용하는 경우
사용자와 링크라는 두 가지 리소스가 있습니다. 사용자는 그들과 관련된 여러 링크를 가질 수 있습니다. 다음 URI에서 사용자와 연결된 링크에 도달 할 수 있도록 RESTful API를 설계했습니다. /users/:id/links 그러나 항상 링크에 대한 URI가 필요합니다. 때로는 사용자에 관계없이 모든 링크를 원할 수도 있습니다. 이를 위해 나는 가지고있다 : /links 괜찮습니까? 링크에 대한 …
16 api  rest  api-design 

4
(Python) 언어 변경에 대한 전략
앞으로 몇 년 동안 계속 실행될 코드 작성 프로그래밍 언어가 변경되었습니다. 라이브러리가 변경됩니다. 5 년, 10 년 또는 20 년 전의 일부 코드는 계속 실행되어 예상 결과를 생성 할 수 있지만 2 년의 일부 코드는 구문 오류로 실패 할 수 있습니다. 언어가 진화하기 때문에 (적어도 대부분의 경우) 이것은 부분적으로 불가피하다. …
16 python 

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