소프트웨어 공학

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

2
Java Spring for Beginner를 사용한 RESTful 서비스 구조
Java 웹 개발 기술 측면에서 비교적 새롭습니다. API에 대해 거의 이해하지 못하는 RESTful 서비스에 대한 좋은 후보자가 될 것이라고 생각하는 프로젝트가 있습니다. 나는 이것이 어떻게 구성되어야하는지에 대한 세부 사항을 찾으려고 노력하고 있지만 실제로 Google 검색 및 이미 가지고있는 자료를 읽을 수는 없습니다. 이 게시물 이이 주제에 대한 내 지식과 가정의 …

5
현대 ORM (EF, nHibernate)에 리포지토리 패턴이 과도하게 사용된다면 더 나은 추상화는 무엇입니까?
최근에는 작업 단위 기능과 함께 저장소와 같은 기능을 통합하기 때문에 강력한 Entity Framework와 같은 강력한 ORM과 함께 저장소 패턴을 사용하는 것에 대한 많은 주장을 읽었습니다. 단위 테스트와 같은 상황에서 패턴을 사용하지 않는 것에 대한 또 다른 주장은 더 일반적인 구현은 IQueryable을 활용하기 때문에 저장소 패턴이 누출되는 것입니다. 저장소 패턴을 사용하는 …

4
OOP에 대한 필수 개념에 대한 일관된 정의가없는 이유는 무엇입니까?
나는 프로그래밍에 익숙하지 않고 다른 소스에서 다른 규칙을 읽고 듣고 약간 혼동합니다. 객체 지향 프로그래밍에는 4 개 또는 5 개의 개념이 있습니까? 새로 온 사람으로서, 나는 이것이 5 가지 개념이라는 것을 이해합니다. 추출 계승 캡슐화 다형성 모듈성 그렇다면 어떻게 더 "엄격한"정의를 찾지 못하고 이러한 개념들을 몇 가지 배열 한 것처럼 …

2
풀 요청을 시작하거나 마스터에서 로컬 병합 커밋을 수행하는 것이 더 낫습니까?
나는 지금 꽤 오랫동안 GitHub를 사용해 왔으며 일반적으로 기능 분기를 푸시 한 다음 직접 병합 요청을 시작하는 데 사용했습니다. 분기를 병합 한 위치를 추적하는 데 도움이되었습니다. 그러나 최근에 Git의 작동 방식에 대해 점점 더 많이 읽었으며 분기를 병합 할 때 병합 커밋을 사용하여 참조 할 수 있음을 깨달았습니다. 마스터에 기능이 …

1
프로그래밍에서 '해결'은 무엇을 의미합니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 3 년 전 . Resolve의존성 주입 (인터페이스로 구현 해결), 패키지 관리자 (예 : 패키지 종속성 해결), 웹 (예 : 호스트 이름 …

4
병렬 계층-부분적으로 동일, 부분적으로 다릅니다
비슷한 질문이 많이 있습니다. 1 ,2 ,3 ,4 , 그러나이 질문에서는 그렇지 않은 것처럼 보이거나 솔루션이 최적으로 보이지도 않습니다. 다형성, 제네릭 및 믹스 인을 사용할 수 있다고 가정하면 일반적인 OOP 질문입니다. 사용되는 실제 언어는 OOP Javascript (Typescript)이지만 Java 또는 C ++에서 동일한 문제입니다. 나는 때때로 같은 행동 (인터페이스와 구현)을 공유하는 …

2
서브 클래스 또는 추상 부모 클래스를 단위 테스트해야합니까?
나는 효과적인 자바 (확장 토론에서 항목 18로, 스켈 리턴 구현을 여기 ). 추상 클래스로는 정의 할 수없는 "갭을 메우기"위해 서브 클래스 메소드를 호출하는 2 개의 공용 메소드 methodA () 및 methodB ()를 제공하는 추상 클래스입니다. 먼저 구체적인 클래스를 만들고 단위 테스트를 작성하여 개발했습니다. 두 번째 클래스가 왔을 때, 나는 일반적인 …

3
Scrum에서 개발자가 고객과 직접 대화해야합니까 (PO를 우회)?
스크럼의 제품 소유자는 자신이 즉시 응답 할 수없는 구현 기능에 대해 팀의 매우 자세한 질문을 어떻게 처리해야합니까? 개발자가 고객과 직접 대화 할 수있는 가장 빠른 솔루션은 언제입니까? 팀과 고객 간의 직접적인 의사 소통이 제품 소유자의 역할을 훼손하는지 궁금합니다. PO가 독점적으로 고객을 대표해야하므로 요구 사항과 관련된 모든 질문에 답변해야한다고 생각합니다. 그를 …

2
준비 대 완료 비동기 IO 메모리 사용량?
Rust에서 비동기 IO를 구현하는 것에 대한 이 이야기 를 보고 있었고 Carl은 두 가지 잠재적 모델을 언급했습니다. 준비와 완성. 준비 모델 : 커널에게 소켓에서 읽고 싶다고 말하십시오. 잠시 다른 일을하세요… 커널은 소켓이 준비되면 알려줍니다 당신은 읽습니다 (버퍼 채우기) 필요한 것은 무엇이든 해 버퍼를 비 웁니다 (Rust에서 자동으로 발생) 완성 모델 …
12 async  io 

6
격주로 프로덕션 릴리스에 즉시 출시 가능한 기능 만 포함시킬 수있는 방법은 무엇입니까?
저는 상당히 큰 민첩한 팀의 소프트웨어 개발자입니다 (8 명의 개발자가 적극적으로 단일 코드 저장소를 변경하고 있음). 2 주마다 새로운 버전의 소프트웨어를 프로덕션 환경으로 푸시합니다. 현재 작업 과정은 다음과 같습니다. 새로운 작업을 시작할 때 개발자는 기본 개발 지점에서 "기능 지점"을 만들고 ( git 사용 )이 새로운 지점에서 작업합니다. 개발자가 작업 작업을 …

1
Java 8 : 게으른 작업을 위해 API에서 스트림을 전달하는 것이 좋습니다.
Guava와 같은 Java 8 람다가 많은 라이브러리에서 출력은 공통 Java Collection Framework 인터페이스를 사용하므로 외부 / 내부 API로 쉽게 전달할 수 있으며 라이브러리 메소드가 수행하는 경우 (예 : lazy filter()및 transform()) 여전히 일부 지연된 계산을 활용 합니다. 그러나 Java 8 Streams에서 Collection/ 를 얻기위한 호출 Map은 터미널 (즉, 열망)이며 결과를 …
12 java  lambda 

2
알고리즘이 수렴한다는 것은 무엇을 의미합니까?
강화 학습에 대해 읽을 때이 문장에서와 같이이 용어를 계속 사용합니다. 문제를주의 깊게 모델링하면 일부 강화 학습 알고리즘이 전역 최적으로 수렴 될 수 있습니다. http://reinforcementlearning.ai-depot.com/ 또는 여기 : 고정 정책 Pi에 대해 위에서 설명한 TD 알고리즘은 VPi로 수렴되는 것으로 입증되었습니다 http://webdocs.cs.ualberta.ca/~sutton/book/ebook/node62.html 수렴이라는 단어에 대한 나의 이해는 여러 가지가 같은 지점에 모이는 …

1
k 조합의 빠른 색인 생성
나는 얼마 전에 일했던 오래된 문제를 다시 찾고 있습니다. 일반적인 시나리오는 "8 비트 정수 내에 3 비트가 설정 됨", 즉 00000111입니다. 3 개의 세트 비트를 가진 모든 고유 한 조합은 중첩 루프로 쉽게 (순서대로) 생성 할 수 있습니다. 내가 관심이있는 것은 매핑 인덱스 <-> 조합입니다. 즉 "00001011"은 두 번째 조합 …

2
마이크로 서비스를 통한 사용자 인증
마이크로 서비스가 자체 권한 부여를 처리해야합니까, 아니면 마이크로 서비스 전체 또는 일부 (동일한 비즈니스 도메인 내)에서 공유되는 별도의 인증 서비스를 사용하는 것이 더 낫다고 생각하십니까? 나에게 후자는 변경 사항을 적용하고 정책을 시행하기가 더 쉬워 지므로 더 의미가 있습니다. DRY 등입니다. 그러나 규칙을 한 곳으로 덤핑하는 모든 종류의 서비스로 인해 쉽게 …

3
Golang에서“this”사용
Golang이 여기 에있는 스타일 가이드에 가장 가까운 것은 수신자 이름 아래에 다음과 같이 쓰여진 것입니다. 메소드 수신자의 이름은 그 ID를 반영해야합니다. 종종 해당 유형의 하나 또는 두 글자 약어 (예 : "클라이언트"의 경우 "c"또는 "cl")입니다. "me", "this"또는 "self"와 같은 일반적인 이름, 함수와 반대로 메소드에 더 중점을 둔 객체 지향 언어의 …

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