소프트웨어 공학

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

11
Robert C. Martin은 SQL이 불필요하다는 의미는 무엇입니까? [닫은]
로버트 C. 마틴의 많은 내용을 읽거나보고 있습니다. 나는 솔리드 스테이트 드라이브로 인해 SQL이 필요하지 않다고 말했습니다. 이것을 백업하기 위해 다른 소스를 검색 할 때 하드 드라이브와 솔리드 스테이트 드라이브 간의 SQL 성능 차이 (관련되어 있지만 연구하려는 것은 아님)를 설명하는 무작위 기사가 많이 있습니다. 궁극적으로, 나는 그가 무엇을 얻으려고 노력하는지 이해하지 …

13
밥 삼촌의 Clean Code 원칙을 준수하기 위해 if-else if 문을 편집하려면 어떻게해야합니까?
밥 삼촌의 깨끗한 코드 제안을 따르고 특히 방법을 짧게 유지하려고합니다. 그래도이 논리를 단축 할 수는 없습니다. if (checkCondition()) {addAlert(1);} else if (checkCondition2()) {addAlert(2);} else if (checkCondition3()) {addAlert(3);} else if (checkCondition4()) {addAlert(4);} 나는 else를 제거 할 수 없으므로 전체를 더 작은 비트로 분리하여 "else if"의 "else"가 성능을 향상시키는 데 도움이됩니다. 이러한 …

6
서버 측 프로그래밍 언어에 액세스하는 방법에 대한 설명
모든 범용 프로그래밍 언어를 웹 사이트의 서버 측 개발에 사용할 수 있다는 것을 이해합니다. 서버와 프로그래밍 언어를 함께 사용하려면 서버에 CGI와 같은 인터페이스가 필요하다고 생각하는 것이 맞습니까? 그렇다면 왜 일부 프로그래밍 언어 (예 : PHP)가 다른 언어보다 더 인기가 있습니까?

5
버전 관리에서 동일한 코드베이스에서 두 개의 개별 소프트웨어 버전 유지
동일한 소프트웨어 / 프로그램 / 응용 프로그램 / 스크립트의 두 가지 버전을 작성하여 버전 관리하에 저장한다고 가정 해 봅시다. 첫 번째 버전은 무료 "기본"버전이고, 두 번째 버전은 무료 버전의 코드베이스를 가져 와서 부가 가치 부가 기능으로 확장 된 유료 "프리미엄"버전입니다. 새로운 패치, 픽스 또는 기능은 두 버전 모두를 찾아야합니다. 현재 …

5
빌더 패턴 : 실패시기
빌더 패턴을 구현할 때, 나는 종종 건물이 실패하게 할 때 혼란스러워하며 며칠마다 문제에 대해 다른 입장을 취할 수도 있습니다. 먼저 몇 가지 설명 : 으로 초기 실패 나 잘못된 매개 변수가 전달 될 때 객체를 구축하는 것은 곧 실패 할 것을 의미한다. 그래서 내부 SomeObjectBuilder. 늦게 실패 하면 빌드 할 …

13
게임의 암호화 된 콘텐츠
사용자가 프로그램 외부의 프로그램 내용을 파악하지 못하도록 암호화를 사용한다는 아이디어가 있습니다. 사용자가 게임에서 사용하지 않은 텍스처는 게임 데이터를 통해 이동하는 동안 일종의 이스터 에그의 일부를 의미합니다. 예를 들어 온라인에 게시하면 모든 사람을 망칠 수 있습니다. 플레이어가 게임의 보안 도어에서 올바른 숫자를 눌러야하는 비밀의 방을 상상해보십시오. 올바른 경우 올바른 암호 해독 …
45 encryption 

8
지난 20 년 동안 막대한 소프트웨어 개발 이점을 제공 한 것이 실제로 없었습니까? [닫은]
에 없음 실버 총알 , 프레드 브룩스 가장으로 요약 소프트웨어 공학의 미래에 대한 예측의 다양한 있습니다 : 기술 또는 관리 기술에있어 단일 개발만으로는 생산성, 신뢰성, 단순성에서 1 배의 크기 향상 을 약속 합니다. 그의 주장은 매우 설득력이 있습니다. Brooks는 1986 년에 글을 썼습니다. 2014 년 개발자는 1986 년에 비해 소프트웨어를 …

3
시각 장애인 프로그래머를위한 코딩 스타일 [닫기]
시각 장애인입니다. 안경을 사용하면 충분히 운전할 수 있지만 글꼴 크기에서는 한 번에 약 15 줄의 100 자만 볼 수 있습니다. 이것은 내 코딩 스타일에 영향을 미쳤습니다. 한 가지 더 짧은 함수를 작성하는 것입니다. 좋은 이름을 가진 이러한 짧은 함수가 더 높은 수준의 함수를 읽기 쉽게 만들 수 있기 때문에 내 …

6
공개적으로 제공되지 않는 코드에 대한 방어 적 프로그래밍 관행을 따르는 것이 얼마나 필요한가?
카드 게임의 Java 구현을 작성하고 있으므로 Zone이라고하는 특수 유형의 컬렉션을 만들었습니다. Java Collection의 모든 수정 메소드는 지원되지 않지만 Zone API에는 메소드가 있습니다.이 메소드 move(Zone, Card)는 카드를 지정된 영역에서 자신으로 이동시킵니다 (패키지 전용 기술에 의해 수행됨). 이런 식으로, 영역에서 카드를 가져 가지 않고 단순히 사라지지 않도록 할 수 있습니다. 다른 영역으로 …


4
왜 많은 네임 스페이스가 com으로 시작합니까?
많은 회사에서 "역 도메인 이름"네임 스페이스를 사용하고 있으며, 그 연습이 시작된 곳과 계속되는 이유가 궁금합니다. 그것은 단지 불완전한 연습 때문에 계속됩니까, 아니면 내가 여기서 놓칠 수있는 뛰어난 아키텍처 개념이 있습니까? 또한 https : //.com/questions/189209/do-you-really-use-your-reverse-domain-for-package-naming-in-java 와 같은 질문에 유의하십시오. 내 질문에 대답하지만 100은 아닙니다. % (만약 당신이 기분이 나아진다면, 자바 스크립트 …

11
소프트웨어 아키텍트로서 로그를 분석하고 다른 버그를 수정하는 데 그 정도를 집중해야합니까?
졸업 후 (2005 년 말) 저는 C ++ 소프트웨어 엔지니어와 같은 회사에서 일하고있었습니다. 1 년 전 저는 소프트웨어 아키텍트로 승진했지만 레벨 2 지원 인 버그 인증 및 수정에 점점 더 관여하고 있음을 알게되었습니다. 내 시간의 50 %가 메모장 ++에서 소프트웨어 로그를 분석하고 무엇이 잘못되었는지 파악하려고했습니다. 다른 사람의 버그를 수정하고 남은 …

8
게터와 세터 안에 무엇이 허용되어야합니까?
나는 getter와 setter 메소드와 캡슐화에 관한 흥미로운 인터넷 논쟁에 들어갔다. 누군가는 "순결한"상태를 유지하고 캡슐화를 보장하기 위해 할당 (세터) 또는 가변 액세스 (게터) 만해야한다고 말했다. 이것이 처음에는 게터와 세터를 갖는 목적을 완전히 잃고 검증과 다른 논리 (이상한 부작용없이)가 허용되어야한다는 것이 맞습니까? 언제 검증이 이루어져야합니까? 값을 설정할 때 setter 내부에서 (객체가 잘못된 …

9
“Syntax”와“Syntactic Sugar”의 차이점은 무엇입니까
배경 Syntactic Sugar 의 Wikipedia 페이지는 다음과 같습니다. 컴퓨터 과학에서, 구문 설탕은 물건을보다 쉽게 ​​읽거나 표현할 수 있도록 설계된 프로그래밍 언어 내의 구문입니다. 그것은 사람들이 사용하기에 언어를 "더 달콤하게"만들어줍니다. 사물은 더 명확하고 간결하게 표현되거나 다른 스타일로 선호 될 수 있습니다. Syntactic Sugar와 Syntaxactic의 차이점이 무엇인지 이해하지 못합니다. 설탕 버전이 더 …

7
사용자에게 제시된 오류 메시지에 스택 추적이 있어야합니까?
나는 직장에서 약간의 논쟁을 겪었으며 누가 옳은지, 옳은 일을 알아 내려고 노력하고 있습니다. 컨텍스트 : 고객이 회계 및 기타 ERP에 사용하는 인트라넷 웹 응용 프로그램입니다. 사용자에게 표시되는 오류 메시지 (사고가 발생할 때)에는 스택 추적을 포함하여 가능한 많은 정보가 포함되어야한다고 생각합니다. 물론, "오류가 발생했습니다. 개발자에게 아래 정보를 제출하십시오"라는 큰 친절 편지로 …

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