소프트웨어 공학

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


3
JSON API에서 HTML을 반환해도 괜찮습니까?
현재 프로젝트에서 JSON을 지원하는 것으로 문서화 된 새로 생성 된 RESTful API의 소비와 관련된 서비스 구현을 책임지고 있습니다. 클라이언트는 'application / json'의 승인 헤더와 'application / json'의 컨텐츠 유형을 사용하여 지속적으로 요청합니다. 그러나 일부 엔드 포인트는 컨텐츠 유형의 HTML, 심지어 HTML 본문으로 응답을 보냅니다. 나에게 이것은 분명히 잘못된 접근법이며 결코 …

10
API 디자인 : 구체적 vs 추상 접근-모범 사례?
시스템 간 (비즈니스 레벨에서) API를 논의 할 때, 우리 팀에는 종종 두 가지 관점이 있습니다. 어떤 사람들은 일반적인 추상 접근 방식을 선호하고 다른 하나는 "구체적인"접근 방식을 선호합니다 . 예 : 간단한 "개인 검색"API 설계. 구체적인 버전은 searchPerson(String name, boolean soundEx, String firstName, boolean soundEx, String dateOfBirth) 구체적인 버전을 선호하는 사람들은 …

4
Java가 일부 클래스에서 캡슐화를 사용하지 않는 이유는 무엇입니까?
내 질문은 클래스 와 관련 이 있습니다 (표준 라이브러리의 질문 System.in과 System.out다른 것이있을 수 있습니다). 왜 그런가요? OOP에서 그렇게 나쁜 습관이 아닙니까? 다음 System.getIn()과 같이 사용해서는 안됩니다 System.getOut(). 나는 항상이 질문을 받았으며 여기서 좋은 답을 찾을 수 있기를 바랍니다.

4
인증을 위해 타사 (예 : Google, Facebook, Twitter)를 사용하려면 RESTful 웹 서비스를 어떻게 설계해야합니까?
내 직업을 위해 우리는 멋진 RESTful 웹 서비스를 보유하고 있으며 우리가 보유한 몇 개의 웹 사이트를 구동하는 데 사용했습니다. 기본적으로 웹 서비스를 사용하면 지원 티켓을 만들고 사용할 수 있으며 웹 사이트는 프런트 엔드를 담당합니다. 모든 웹 서비스 요청은 인증 헤더를 사용하여 각 호출에 대해 사용자 및 비밀번호의 유효성을 검사합니다. 올해 …

7
소프트웨어 재사용이 프로세스 반복성을 배제합니까?
문제 로 코드 재사용 나는 소프트웨어 전달에 관한 이 질문 에 대해 생각하고 있었고 반복성 및 / 또는 재현성 문제로 계속 돌아왔다 . 프로젝트를 반복하지 않으면 프로젝트를 빌드하는 데 사용했던 프로세스를 개선하기가 더 어려워지기 때문에 문제가됩니다. 엔지니어링에는 고품질 프로젝트를 생성하기 위해 설계 및 시공과 관련된 프로세스를 지속적으로 개선하는 것이 포함됩니다. …


1
DOM에 대한 몇 가지 설명
나는 DOM을 이해하려고 노력하고 있으며, 그것이 무엇인지에 대한 공정한 아이디어를 가지고 있지만, 고정시킬 수없는 특정 아이디어가 있습니다. DOM이 무엇이라고 생각하는지 나열하고 내 질문은 인라인이 될 것입니다. DOM은 완전히 객체 지향 웹 페이지 표현입니다. W3C DOM 표준은 대부분의 최신 브라우저에서 구현 된 DOM의 기초를 형성합니다. DOM은 XML / HTML 문서가 어떻게 …
25 javascript  dom 

7
언제 일을 멈추고 도구를 만들어야합니까?
소프트웨어 엔지니어로서 우리는 항상 생산성 향상을위한 효과적인 도구를 원합니다. 또한 일상적인 작업에서 기존 도구에 만족하지 못하는 경우가 많으며 GDB 스크립트 설정, Vim 스크립트 및 일부 Python 스크립트와 같은 더 나은 방법을 사용하여 지루한 작업을 자동으로 수행하려고합니다. 그러나 도구를 만드는 데에도 시간과 에너지가 필요하기 때문에 실제로 절충점입니다. 생산성 향상을 즉시 제공하지는 …

2
Chris Okasaki의 1996 년 논문과 1999 년 책 순수 기능 데이터 구조의 내용 차이는 무엇입니까? [닫은]
닫은. 이 질문은 주제에 맞지 않습니다 . 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? Software Engineering Stack Exchange에 대한 주제가 되도록 질문을 업데이트하십시오 . 휴일 3 년 전 . 순전히 기능적인 데이터 구조를 읽고 싶습니다. 논문 (PDF로 무료로 제공)을 쉽게 찾을 수 있지만 , 책이 있습니다 . 따라서이 두 간행물의 …

6
TDD 및 버전 관리
저는 현재 TDD에 대해 배우고 있으며 개인 프로젝트에 적용하려고합니다. 또한 이러한 많은 프로젝트에서 버전 제어를 광범위하게 사용했습니다. 나는 커밋을 작게 유지하는 것이 최대 일 때 전형적인 작업 흐름 에서이 두 도구의 상호 작용에 관심이 있습니다. 다음은 몇 가지 예입니다. 새 프로젝트를 시작하고 아직 존재하지 않는 클래스를 만들기위한 간단한 테스트를 작성합니다. …

8
버그 재현에 대한 책임
다른 프로그래머가 만든 라이브러리를 사용하여 프로그램을 개발 중입니다 (동일한 회사에서 일함). 최근에 라이브러리에서 누출이 발견되었으며, 이는 몇 시간 동안 실행 한 후 특정 네트워크 조건에서 발생합니다. 이 누출이 발생하도록 조건 설명과 함께 버그를 신고했습니다. 그 개발자는 "충분하지 않다"고 대답했습니다. "버그를 재현하는 것은 그의 책임이 아닙니다".이 버그를 재현하기 위해 단위 테스트를 …

7
HTML5, 네이티브 및 하이브리드 모바일 앱 접근 방식의 장단점은 무엇입니까?
모바일 애플리케이션을 개발하고 싶습니다. 최근에 Telerik Forum 에 관한 기사를 읽었습니다.이 기사에서는 세 가지 유형의 모바일 응용 프로그램을 비교하고 어떤 것을 시작해야하는지 모르겠습니다. 다음은 다양한 모바일 디자인 선택의 장단점을 설명하는 이미지입니다. 이러한 디자인 선택을 결정하기 위해 다이어그램에 나열된 각 아키텍처 선택의 장단점을 더 잘 이해하고 싶습니다. 각 아키텍처 접근 방식의 …

7
빌드가 거의 항상 깨질 때 효율적으로 유지하는 방법
나는 동일한 소스 코드를 공유하고 지속적인 통합을 유지하는 중소 규모의 팀에서 일하지만 우리 모두가 동일한 지점에서 작업해야하므로 빌드는 거의 항상 중단됩니다. 우리는 또한 깨진 빌드를 완화하기 위해 최근에 도입 된 규칙을 가지고 있는데, 이는 빌드하는 동안 아무도 체크인 할 수 없다는 것을 나타냅니다. 하루 종일 모든 사람들이 체크인 할 수있는 …

4
왜 git이 인접한 줄을 충돌없이 병합하지 않습니까?
최근에 git에서 두 개의 브랜치를 병합 할 때 인접한 두 줄 에 변경 사항이 있으면 git 이이 충돌을 선언 한다는 것을 알았습니다 . 예를 들어, 파일 test.txt에이 내용이있는 경우 : Line 1: A Line 2: B Line 3: C Line 4: D 그리고 지점에서 master우리는 이것을 Line 1: A Line …
25 git  merging 

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