소프트웨어 공학

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

5
좋은 빠른 알고리즘 새로 고침은 무엇입니까? [닫은]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식을 통해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 칠년 전에 …


4
추상 클래스의 일반 이름을 피하는 방법은 무엇입니까?
일반적으로 파일 핸들이나 (예) 유닉스 프로세스를 다루지 않는 한 "핸들"또는 "프로세스"와 같은 단어를 루틴 이름 및 클래스 이름의 일부로 사용하지 않는 것이 좋습니다. 그러나 추상 클래스는 종종 처리 이외의 작업으로 무엇을 할 것인지 실제로 모릅니다. 현재 상황에서는 사용자의받은 편지함에 로그인하여 메시지를 처리하는 "EmailProcessor"가 있습니다. 다음과 같은 스타일 문제가 발생했음을 알았지 …

4
C ++ 및 MySQL을 사용하여 웹앱을 구축 할 때 개념적 결점이 있습니까?
기존 소프트웨어를 가져 와서 SaaS 웹 앱으로 전환 할 수있는 좋은 기회가있는 매우 흥미로운 프로젝트를 물려 받았습니다. 프로젝트가 상속됨에 따라 코드베이스 / 프레임 워크는 이미 C ++ 및 MySQL로 정의되어 있습니다. 응용 프로그램 자체는 Windows Server에서 EXE로 컴파일되어 실행됩니다. UI는 웹 기반이며 앱은 일종의 서버로 작동합니다. 내가 현대 웹 응용 …

5
5 명의 새로운 주니어 개발자와 수많은 복잡한 작업. 지금 뭐야?
우리 회사는 제품 개발에 도움을주기 위해 5 명의 신규 개발자를 고용했습니다. 불행히도 새로운 기능과 수신 버그 수정은 일반적으로 최근 졸업 한 개발자가 일반적으로 가지고있는 것 (스레딩 / 동시성, 복잡한 시스템에서 성능 병목 현상 디버깅 등)에 대한 깊은 지식이 필요합니다. 그들이 (아마도) 해결할 수있는 과제를 위임 (및 계획)하고, 질문에 답하고, 멘토링 …

1
내부 릴리스 관리에 비트 토렌트 사용
우리는 현재 버전 제어 시스템을 남용하고 큰 릴리스 바이너리 (4 + GB)를 저장하는 FTP와 거의 비슷합니다. 우리는 통합 및 릴리스 프로세스를 방해하면서 점점 더 많은 IT 리소스를 개발하고 계속 사용하는이 끔찍한 사례에서 벗어나려고합니다. 이를위한 해결책은 P2P 파일 공유를 사용하여 이러한 릴리스 이미지 / 바이너리를 배포하고 파일 서버와 일부 주요 사용자 …

5
전략 패턴으로 리팩토링 된 함수를 단위 테스트하는 방법은 무엇입니까?
코드에 다음과 같은 함수가있는 경우 : class Employee{ public string calculateTax(string name, int salary) { switch (name) { case "Chris": doSomething($salary); case "David": doSomethingDifferent($salary); case "Scott": doOtherThing($salary); } } 일반적으로 팩토리 클래스와 전략 패턴을 사용하여 Ploymorphism을 사용하도록 이것을 리팩터링합니다. public string calculateTax(string name) { InameHandler nameHandler = NameHandlerFactory::getHandler(name); nameHandler->calculateTax($salary); } …

2
수정되지 않은 GPL (v2 +) 프로그램을 핵심 종속성으로 사용하여 소프트웨어를 서비스로 실행 : SaaS 소스 코드를 공개해야합니까?
온라인에서만 액세스 할 수있는 서비스 프로젝트로 소프트웨어를 설계하고 있습니다. GNU GPL (v2 이상)에서 다루는 실행 파일에 대한 의존성이있을 수 있습니다. 코드를 배포 할 경우 GPL 약관에 따라 배포해야한다는 것을 이해합니다. 네트워크를 통해 서비스를 실행하는 것이 코드를 전달 / 배포하지 않는 것이 확실합니다. 따라서 모든 코드를 공개하지 않고도 GPL 종속성을 사용할 …


8
웹 개발에서 클라이언트쪽으로 돌진
지난 몇 달 동안 웹 개발에서 클라이언트 측 스크립팅에 대한 큰 흥분을 인식했습니다. 그러나 서버 측 기술은 백엔드 개발자가 성숙하고 안정적이며 잘 수용하는 반면 클라이언트 측 기술은 미숙하고 (즉, 큰 서버 측 프레임 워크와 비교하여) 많은 노련한 개발자가 싫어합니다. 그럼에도 불구하고 모든 사람들이 요즘 클라이언트 측 개발을하고 있습니다. 개인적으로 이러한 …


4
Fred Brooks의 "외과 팀"은 버스 요소를 효과적으로 처리합니까?
4 명의 숙련 된 개발자로 구성된 팀은 대형 모듈 식 Windows 응용 프로그램 (약 200KLoC)에서 작업합니다. 프로젝트를 시작한 이래 (3 년 전) 핵심 코드베이스에 중점을 두 었으며 팀 관리자는 아니지만 점차 반납 개발자 위치로 전환했습니다. 현재 반복은 상위 코드 관리에 의해 요청 된 우선 순위가 높은 UI 새로 고침이며 핵심 …

5
TDD : 단단히 결합 된 객체 모의
때때로 객체는 단단히 결합되어야합니다. 예를 들어 CsvFile클래스는 CsvRecord클래스 (또는 ICsvRecord인터페이스) 와 밀접하게 작동해야합니다 . 그러나 과거에 배운 내용에서 테스트 중심 개발의 주요 원칙 중 하나는 "한 번에 여러 클래스를 테스트하지 마십시오"입니다. 의미하는 ICsvRecord실제 인스턴스 대신 모의 또는 스텁 을 사용해야합니다 CsvRecord. 그러나이 접근법을 시도한 후에 나는 CsvRecord수업 을 조롱 하면 …
10 tdd  coupling  mocking 

1
내장 파이썬 모듈을 편집 할 수 있습니까?
저는 현재 파이썬을 배우고 있으며 수학 라이브러리 사용에 관한 책의 시점에 있습니다. 나는 파이썬 웹 사이트를 보았고 라이브러리가 약간 부족하고 더 유용한 기능을 작성하고 있음을 알았습니다. 예를 들어, 나는 계수를 가져 와서 방정식의 근을 돌려주는 함수를 작성했습니다. 본질적으로 2 차 공식 함수입니다. 파이썬 수학 라이브러리에 이것을 추가 할 수 있는지 …

3
OAuth2 흐름-서버가 인증 서버로 유효성을 검사합니까?
나는 OAuth2에 대해 많은 것을 읽었으며 그 주위에 내 머리를 갖기 위해 노력하고 있지만 여전히 혼란 스럽습니다. 고객이 OAuth 제공 업체 (예 : Google)를 승인하고 리소스 서버가 사용자의 프로필 데이터에 액세스 할 수 있음을 이해합니다. 그러면 클라이언트는 액세스 토큰을 리소스 서버로 보내고 리소스를 다시받을 수 있습니다. 그러나 설명서에서 다루지 않은 …
10 security  oauth2 

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