소프트웨어 공학

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

6
타입 추론이 유용한 이유는 무엇입니까?
코드를 작성하는 것보다 코드를 더 자주 읽으며 산업용 소프트웨어를 사용하는 대부분의 프로그래머 가이 작업을 수행한다고 가정합니다. 내가 생각하는 형식 유추의 장점은 덜 장황하고 작성된 코드가 적다는 것입니다. 그러나 반면에 코드를 더 자주 읽는다면 읽을 수있는 코드가 필요할 것입니다. 컴파일러는 형식을 유추합니다. 이것에 대한 오래된 알고리즘이 있습니다. 그러나 실제 질문은 프로그래머가 …

6
구문 수준에서 언어를 지원하는 기능으로 테스트하지 않는 이유는 무엇입니까?
소스 코드 단위 테스트 의 이점을 홍보하는 블로그, 기사 및 웹 사이트의 끝없는 목록을 찾을 수 있습니다 . Java, C ++, C # 및 기타 유형의 언어에 대한 컴파일러를 프로그래밍 한 개발자는 단위 테스트를 사용하여 작업을 확인한 것이 거의 보장됩니다. 그렇다면 왜 인기가 높음에도 불구하고 이러한 언어의 구문이 없는지 테스트하고 …

1
Apache 2.0 및 수정 사항이있는 파일
Apache License, Version 2.0 의 원본 과 일반 영어로 된 설명을 읽었습니다 . 좋아, 나는 세계 최고의 회사가 배포 한 클래스 와 라이센스를 복사 하고 코드를 약간 수정합니다. 변경 사항이있는 원본 파일 /* * Copyright (C) 2011 The Best Company in the World * * Licensed under the Apache License, …

4
정적 클래스보다 정적이 아닌 내부 클래스를 선호하는 이유는 무엇입니까?
이 질문은 Java에서 중첩 클래스를 정적 ​​중첩 클래스 또는 내부 중첩 클래스로 만들지 여부에 관한 것입니다. 여기와 Stack Overflow에서 검색했지만이 결정의 디자인 영향에 관한 질문은 실제로 찾을 수 없었습니다. 내가 찾은 질문은 정적 클래스와 내부 중첩 클래스의 차이점에 대해 묻는 것입니다. 그러나 익명 클래스를 제외하고 Java에서 정적 중첩 클래스를 사용해야하는 …

4
왜 누군가 Microsoft“Roslyn”에 시간을 투자하겠습니까?
방금 Microsoft "Roslyn"의 백서 및 예제를 읽었 으며 그 개념은 매우 흥미로워 보입니다. 내가 알 수있는 것은 컴파일러 인 블랙 박스를 열고 Visual Studio로 작성된 코드에 대한 정보와 메트릭을 얻는 데 사용할 수있는 인터페이스를 제공합니다. Roslyn은 또한 코드를 "스크립트"하고 즉시 컴파일 / 실행할 수있는 것으로 보입니다 (CodeDom과 유사). 그러나 필자는 …

11
각 반에 하나의 책임이 있는지 확인하십시오. 왜 그렇습니까?
Microsoft 문서, Wikipedia SOLID 프린시 페 기사 또는 대부분의 IT 설계자에 따르면 각 클래스마다 하나의 책임 만 갖도록해야합니다. 모든 사람이이 규칙에 동의하는 것 같으면이 규칙의 이유에 대해 아무도 동의하지 않는 것 같아 이유를 알고 싶습니다. 어떤 사람들은 더 나은 유지 보수를 인용하고, 어떤 사람들은 쉬운 테스트를 제공하거나 클래스를보다 강력하거나 안전하게 …

5
브라우저에서 JavaScript를 해킹하는 것이 얼마나 쉬운가요?
내 질문은 JavaScript 보안과 관련이 있습니다. Backbone 또는 AngularJS 와 같은 JavaScript 프레임 워크를 사용하고 보안 엔드 포인트가 필요한 인증 시스템을 상상해보십시오 . 서버에는 항상 마지막 단어가 있으며 원하는 작업을 수행 할 권한이 있는지 확인하므로 문제가되지 않습니다. 그러나 서버를 사용하지 않고 약간의 보안이 필요한 경우 어떻게해야합니까? 가능합니까? 예를 들어, 클라이언트 …

5
전혀 수행하지 않은 프로그래밍 작업에 직면했을 때 어떻게해야합니까?
저는 3 개월 전에 .NET 개발자로 경력을 시작했으며 다양한 기술, 패턴 및 개념에 대한 오랜 교육 계획을 수립 한 후 저를 감독하고있는 개발자가 회사가 처리하는 많은 프로젝트 중 하나에 참여할 준비가되었다고 결정했습니다. 마침내 코딩을 시작할 수있게되어 매우 기쁩니다. 내가 참여한 팀은 현재 새 프로젝트를 시작했기 때문에 규모가 작습니다. 프로젝트의 전체 …

3
REPL과 대화식 쉘의 차이점
멍청한 질문. 위키 백과에 대한 정의를 읽는 것만으로 는 REPL 과 대화 형 쉘 의 차이점을 알 수 없습니다 . 위키는 REPL이 특정 종류 의 대화식 언어 쉘 이라는 점에 주목합니다 . 그래도 적절한 하위 집합입니까? Wiki 정의는 용어 REPL을 Lisp와 유사한 언어로 제한하는 반면, 명시된 속성에는 실제로 구별되는 기능이 …


8
프로그래밍에서 DAG (Directed Acyclic Graph)를 언제 사용해야합니까?
최근에 ecto 라는 프레임 워크를 찾았습니다 . 이 프레임 워크 에서 ecto Directed Acyclic Graph 인 "plasm " 이라는 기본 구성 요소 ecto에서는 ecto 스케줄러를 통해 플라스마를 작동 할 수 있습니다. 이 메커니즘의 이점이 무엇인지 궁금하고 다른 상황에서 DAG의 개념을 활용할 수 있습니까?


8
실제로 BIG 소스 코드 커밋의 용어는 무엇입니까? [닫은]
때때로 우리는 소프트웨어의 커밋 히스토리를 확인할 때 실제로 큰 커밋이 몇 개 있다는 것을 알 수 있습니다. 소스 코드 라인 (델타)이 수백 가지로 변경되어 10 개 또는 20 개의 파일이 변경 될 수 있습니다. BIG 커밋에 일반적으로 사용되는 용어가 있지만 그 용어가 무엇인지 정확하게 기억할 수는 없습니다. 누구든지 나를 도울 …

8
취미 프로젝트 발표에 대한 두려움-극복하는 방법? [닫은]
이 질문이 소프트웨어 개발과 관련이 있는지는 잘 모르겠지만 여전히 시도해 볼 것입니다. 많은 프로그래머와 마찬가지로 취미 프로젝트도 좋아합니다. 때로는 좋은 아이디어가 그렇게 좋지 않은 것으로 판명되어 프로젝트를 중단합니다. 그러나 때로는 유용한 무언가가 프로젝트에서 나옵니다. 그래서 나는 그것을 풀어서 세상에 선물 할 수 있습니다. 잘못된. 어떻게 든, 나는이 단계를 만들 수없는 …


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