소프트웨어 공학

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

8
데이터 객체 유형을 불변으로 설계해야하는지 어떻게 결정합니까?
필자는 불변의 "패턴"이 장점이기 때문에 과거에는 불변의 데이터 유형 (일부, 대부분 또는 모두)을 가진 시스템을 설계하는 것이 유리하다는 것을 알게되었습니다. 종종 그렇게 할 때 버그를 적게 쓰고 디버깅이 훨씬 쉽습니다. 그러나 동료들은 일반적으로 불변에서 멀어졌습니다. 그들은 전혀 경험이 없지만 (그와는 거리가 멀지 만) 모든 객체에 대해 게터와 세터가있는 개인 멤버 …

7
공개 대면 데이터베이스 ID를 가리거나 난독 처리하는 것이 실제로 "모범 사례"입니까?
사람들이 인터넷에서 여기저기서 강의하는 것을 들었습니다. 웹 애플리케이션에서 공개 데이터베이스 ID를 가리는 것이 가장 좋습니다. 나는 그것들이 주로 형태와 URL을 의미한다고 생각하지만, 주제에 대해 한 번도 읽지 못했습니다. 편집 : 물론, 이제 이것에 대해 물어 보면 주제에 대한 몇 가지 리소스를 찾습니다. /programming/2374538/obscuring-database-ids /programming/1895685/should-i-obscure-primary-key-values http://joshua.schachter.org/2007/01/autoincrement.html 이 링크들은 나의 호기심을 만족 …

5
C의 영향을받는 인기 프로그래밍 언어가 몇 개인 이유 [닫은]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식을 통해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 칠년 전에 …

5
새 객체를 저장하지 않고 생성하는 것은 나쁜 습관입니까?
이 질문은 Software Engineering Stack Exchange에서 답변을 얻을 수 있기 때문에 Stack Overflow에서 마이그레이션 되었습니다. 7 년 전에 이주했습니다 . 객체에 대한 참조를 저장하지 않고 Java 코드로 작성된 객체를 보았습니다. 예를 들어, 이클립스 플러그인에서 다음과 같이 생성 된 SWT 셸을 보았습니다. new Shell(); 이 새로운 Shell 객체는 변수에 저장되지 않지만, …
23 java 

9
C가 버퍼 오버플로 경향이 적은 이유는 무엇입니까?
저는 실험실에서 실험실에서 우리에게 제공하는 코드에 버퍼 오버플로 악용을 수행하는 코스를 진행하고 있습니다. 이것은 스택의 함수에 대한 리턴 주소를 변경하여 다른 함수로 리턴하는 것과 같은 간단한 악용에서부터 프로그램 레지스터 / 메모리 상태를 변경하지만 호출 한 함수로 돌아가는 코드까지 다양합니다. 당신이 호출 한 함수는 익스플로잇에 대해 완전히 알지 못합니다. 나는 이것에 …

12
방금 Scrum으로 일을 시작했는데 뭔가 빠진 것 같습니다. 저는 스크럼을 처음 사용합니다
이 코드는 고전적인 ASP / ASP.NET 조합의 완전한 혼란입니다. 스크럼은 우리가 큰 혼란을 패치하거나 그것에 추가하는 것으로 구성됩니다. 우리 모두 다시 쓰기 시작하기에 너무 바빠서 궁금합니다 .. 스크럼에서 개발자가 충분히 충분하다고 말할 수있는 부분은 어디에 있으며, 큰 재 작성을 시작할 시간이 필요합니까? 우리는 '스토리'로 오래된 코드를 패치하는 끝없는 루프처럼 보입니다. …

5
REST API에서 양방향 동기화를 가장 잘 표현하는 방법은 무엇입니까?
리소스가있는 웹 응용 프로그램이 있고 다른 유사한 리소스가있는 원격 응용 프로그램에 대한 참조가있는 시스템을 가정하면 '로컬'리소스를 '원격'리소스와 동기화하는 양방향 동기화 작업을 어떻게 표현합니까? 예: 할 일 목록을 나타내는 API가 있습니다. GET / POST / PUT / DELETE / todos / 등 해당 API는 원격 TODO 서비스를 참조 할 수 있습니다. …

8
Scrum에서 개발 환경 설정 및 기능 개발과 같은 작업을 실제 사용자 스토리 내에서 하위 작업으로 관리해야합니까?
때로는 프로젝트에서 다음과 같은 작업에 시간을 소비해야합니다. 대체 프레임 워크 및 도구 탐색 프로젝트를 위해 선택된 프레임 워크 및 도구 학습 서버 및 프로젝트 인프라 설정 (버전 제어, 빌드 환경, 데이터베이스 등) User Stories를 사용하는 경우이 모든 작업은 어디로 가야합니까? 하나의 옵션은 그것들을 모두 첫 사용자 스토리의 일부로 만드는 것입니다 …

8
명명 유형에 대한 좋은 기술이나 테스트가 있습니까?
어색하고 공개적인 질문이지만 항상 부딪 치는 문제입니다. 유지 관리 및 작업이 쉬운 소프트웨어는 잘 설계된 소프트웨어입니다. 직관적 인 디자인을 시도한다는 것은 다음 개발자가 구성 요소의 기능을 유추 할 수 있도록 구성 요소의 이름을 지정하는 것을 의미합니다. 이런 이유로 우리는 클래스 이름을 "Type1", "Type2"등으로 지정하지 않습니다. 실제 개념 (예 : 고객)을 …
23 design  naming 

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

4
XML 네임 스페이스에 URI가 필요한 이유는 무엇입니까?
왜 XML 네임 스페이스에 URI가 필요한지 알아 내려고하는데 그 목적을 찾을 수 없습니다. 누구든지 구체적인 예에서 사용법을 조금 밝게 밝힐 수 있습니까? 편집하다: 예를 들어 좋아 : 나는 w3schools에서 이것을 가지고있다. <root xmlns:h="http://www.w3.org/TR/html4/" xmlns:f="http://www.w3schools.com/furniture"> <h:table> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </root> 그래서 무엇을 …
23 xml  namespace 

3
프로그래밍 콘테스트 및 경쟁에서 C ++가 우세한 이유는 무엇입니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 육년 전 . C ++은 매우 빠른 언어이지만 C가 빠르거나 빠르지는 않다는 것을 알고 있습니다. 그렇다면 C ++에 OOP가 있다고 말할 …
23 c++  c 

11
은행 세계에서 코드 설계 노력 또는 게으름을 선택하십시오
저는 훌륭한 투자 은행에서 2 년간 일했습니다. 적절한 디자인 패턴, SOLID 원리, 데 미터 법칙을 존중하고 모든 종류의 중복 코드를 피하면서 가장 최적화 된 코드를 만들고자하는 기술 프로젝트를 만들었습니다. 프로덕션에서 제공 => 버그가 0이면 모든 것이 예상대로 발생했습니다. 그러나 대다수의 개발자가 모든 코드가 이해하기에 너무 복잡하다는 것을 정확하게하기 위해 나에게 …

10
응용 프로그램이 잘못된 코드베이스에 구축되어 있음을 증명하는 방법은 무엇입니까?
나는 현재 내 직장에서 일했던 일부 개발자가 만든 시스템을 검토하고 있습니다. 이 시스템은 사용자의 관점에서 잘 작동하지만 코드 검토를 할 때는 완전히 엉망입니다. 응용 프로그램이 구축되는 방식은 사용량이 크게 증가하지는 않지만 향후 업데이트를 보류하지 않을 것이라고 확신합니다. 문제는 그것이 얼마나 나쁜지 알지만 상사에게는 그렇지 않다는 것입니다. 관리자에게 실제로 문제를 확인하고 …

11
지속적으로 수정하지 않아도되는 소프트웨어를 작성할 수 있습니까?
여러 언어로 많은 소프트웨어를 작성했으며 Verilog 및 VHDL을 사용하여 FPGA와 함께 사용할 하드웨어를 "작성"했습니다. 저는 소프트웨어보다 하드웨어를 작성하는 것을 좋아하는 경향이 있으며, 주된 이유 중 하나는 "완료"된 하드웨어를 작성할 수 있고 수정할 필요가 없다는 것입니다. 인터페이스와 기능을 정의하고 테스트 벤치를 작성합니다. 하드웨어 모듈을 구현 한 다음 시뮬레이터를 사용하여 하드웨어 모듈을 …

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