소프트웨어 공학

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

5
Java에서는 필요하지 않은 경우에도 매개 변수 및 로컬에 "최종"을 사용해야합니까?
Java는 변수 (필드 / 로컬 / 매개 변수)를로 표시하여 변수에 final재 할당되지 않도록합니다. 일부 속성 또는 전체 클래스가 변경 불가능한지 여부를 신속하게 확인할 수 있으므로 필드에 매우 유용합니다. 반면에 로컬 및 매개 변수에는 그다지 유용하지 않으며 일반적 final으로 다시 할당되지 않는 것처럼 표시하지 않습니다 (내부 클래스에서 사용해야하는 경우는 예외) . …
105 java  coding-style  final 

12
SetWidth 및 SetHeight 메서드를 재정의하면 Rectangle에서 Square 상속이 문제가되는 이유는 무엇입니까?
사각형이 사각형 유형 인 경우 사각형에서 사각형을 상속 할 수없는 이유는 무엇입니까? 아니면 왜 나쁜 디자인입니까? 사람들이 말하는 것을 들었습니다. 사각형을 사각형에서 파생시킨 경우 사각형을 기대하는 모든 위치에서 사각형을 사용할 수 있어야합니다 여기서 무슨 문제가 있습니까? 사각형이 필요한 곳이라면 어디에서 Square를 사용할 수 있습니까? Square 객체를 생성하고 Square에 대한 SetWidth …

22
자동 프로그래밍 : 코드를 작성하는 코드 작성 [닫기]
The Pragmatic Programmer 라는 책을 읽은 후 , 제가 ​​가장 흥미로 웠던 주장 중 하나는 "코드를 작성하는 코드 작성"이었습니다. 나는 인터넷을 통해 더 많은 설명이나 기사를 검색하려고 시도했지만 주제에 대한 좋은 기사를 찾았지만 여전히 특정 코드 구현이나 좋은 예제를 찾지 못했습니다. 나는 그것이 여전히 일반적인 주장이 아니며 문서가 부족하거나 많은 …



5
마이크로 서비스로 전환하면 어떻게 런타임 문제가 발생합니까?
다음 주석 가는 다음과 같이 작성합니다 . 마이크로 서비스는 조직의 기능 장애를 컴파일 시간 문제에서 런타임 문제로 전환합니다. 이 주석자는 다음 과 같은 문제를 확장 합니다. 기능은 버그가 아닙니다. 런타임 문제 => 자극 문제 => 기능 장애에 대한 강력하고 빠른 피드백 책임자 이제 나는 마이크로 서비스 를 통해 그것을 얻습니다 …

3
왜 트램펄린이 작동합니까?
기능적인 JavaScript를 수행하고 있습니다. Tail-Call Optimization 이 구현 되었다고 생각 했지만 그것이 잘못되었습니다. 따라서 나는 나 자신에게 Trampolining 을 가르쳐야했다 . 여기와 다른 곳에서 약간의 독서를 한 후, 기본 사항을 알아 내고 첫 번째 트램폴린을 만들 수있었습니다. /*not the fanciest, it's just meant to reenforce that I know what I'm …

3
REST API 보안 저장 토큰 vs. JWT vs OAuth
모바일 응용 프로그램과 API의 양이 매일 증가하고 있기 때문에 여전히 REST API를 보호하기위한 최상의 보안 솔루션을 찾고 있습니다. 다른 인증 방법을 시도했지만 여전히 약간의 오해가 있으므로 더 경험이 많은 사람의 조언이 필요합니다. 내가이 모든 것을 이해하는 방법을 알려 드리겠습니다. 무언가를 잘못 이해하면 알려주십시오. 일반적으로 WEB뿐만 아니라 REST API가 상태 비 …
104 security  rest  api  oauth  https 

10
큰 코드베이스를 이해하기 쉽게 만드는 방법
비교적 큰 프로젝트를 개발하고 있다고 가정하십시오. 이미 Doxygen으로 모든 클래스와 함수를 문서화했지만 각 소스 코드 파일에 "프로그래머의 노트"를 넣는 아이디어가있었습니다. 이것 뒤에 숨겨진 아이디어는 평신도의 용어 로 특정 계급의 작동 방식 을 설명하는 것입니다 ( 대부분의 주석이하는 이유 뿐만 아니라 ). 다시 말해, 동료 프로그래머들에게 수업이 어떻게 진행되는지에 대한 다른 …

4
서버 측 프로그래밍과 클라이언트 측 프로그래밍의 차이점은 무엇입니까?
이 기본 지식이 부족한 질문 (주로 스택 오버플로)을 보았습니다. 이 질문의 요점은 그것을 찾는 사람들과 그것을 참조하는 사람들에게 좋은 정보를 제공하는 것입니다. 웹 프로그래밍과 관련하여 서버 측 프로그래밍과 클라이언트 측 프로그래밍의 차이점은 무엇입니까? 어떤 언어가 어느 언어에 속하며 언제 각 언어를 사용합니까?

14
TDD는 방어 프로그래밍을 중복으로 만들나요?
오늘 저는 동료와 흥미로운 토론을했습니다. 나는 방어적인 프로그래머입니다. " 클래스는 클래스 외부에서 상호 작용할 때 클래스의 객체가 유효한 상태를 갖도록해야합니다 "규칙을 항상 준수해야한다고 생각합니다. 이 규칙의 이유는 클래스가 사용자가 누구인지 알지 못하고 불법적 인 방식으로 상호 작용할 때 예상치 못하게 실패하기 때문입니다. 제 생각에 그 규칙은 모든 수업에 적용됩니다. 오늘 …

5
C #에서 async / await 사용 지침이 우수한 아키텍처 및 추상화 계층 개념과 모순되지 않습니까?
이 질문은 C # 언어와 관련이 있지만 Java 또는 TypeScript와 같은 다른 언어를 다루기를 기대합니다. .NET에서 비동기 호출 사용에 대한 모범 사례 를 권장 합니다. 이러한 권장 사항 중에서 두 가지를 선택하십시오. 비동기 메소드의 서명을 변경하여 Task 또는 Task <>를 반환하십시오 (TypeScript에서는 Promise <>). xxxAsync ()로 끝나도록 비동기 메소드의 이름을 …
103 c#  architecture  async 

4
"lib"와 "vendor"폴더의 차이점은 무엇입니까?
소스 폴더 계층 구조와 관련하여 내용을 이해하기 쉬운 src, doc또는 test폴더 와 같은 몇 가지 일반적인 기능이 항상 있습니다. 그러나 큰 프로젝트에는 폴더 lib와 vendor폴더 가 모두 있음을 깨달았 지만 이름은“ libraries외부에서 타사”를 포함하는 것으로 암시 되었 듯이 항상 동일하다고 생각했습니다 vendors. 그러나 동일한 프로젝트에서 둘 다 보는 것은 차이 …

14
프로그래밍 언어를 어떻게 마스터 할 수 있습니까?
언어를 배우고 책을 사거나 예제를 따르고 가능할 때마다 연습을 해 볼 수 있습니다. 그러나 내가 정말로 찾고있는 것은 일단 당신이 그것을 배우고 나면 언어를 마스터하는 방법입니다. 이제 나는 경험이 중요한 요소라는 것을 알고 있지만 언어의 내부를 배우는 것과 기초 구조는 무엇인가 등을 알고 있습니다. 이 책을 읽고, 그 책을 읽고,이 …

12
테스트 가능한 코드가 더 나은 코드입니까?
내 코드로 단위 테스트를 정기적으로 작성하는 습관을들이려고하지만 먼저 테스트 가능한 코드 를 작성하는 것이 중요하다는 것을 읽었습니다 . 이 질문 은 테스트 가능한 코드를 작성하는 SOLID 원칙에 대해 다루지 만 테스트 설계를 전혀 계획하지 않고 이러한 설계 원칙이 유리한지 (또는 적어도 유해하지 않은지) 알고 싶습니다. 명확하게하기 위해-필기 시험의 중요성을 이해합니다. …

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