소프트웨어 공학

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

12
API 키와 같은 비밀 정보를 소스 제어에서 제외시키는 전략?
사용자가 Twitter, Google 등의 OAuth 자격 증명을 사용하여 로그인 할 수있는 웹 사이트에서 작업하고 있습니다. 이렇게하려면이 다양한 제공 업체에 등록하고 내가 가지고있는 비밀 보안 키를 가져와야합니다 다양한 신체 부위에 대한 서약으로 보호합니다. 내 키가 ank되면 부품이 k니다. API 키는 런타임에 인증 요청을 수행하는 데 사용되므로 소스와 함께 이동해야합니다. 필자의 경우 …

29
"오픈 소스, 패치 제출"에 대한 정식 레토르트는 무엇입니까? [닫은]
제품, 특히 오픈 소스에서 일부 기능을 제안 할 때의 위험은 "왜하지 않습니까?"라는 응답을 얻을 수 있다는 것입니다. 그것은 유효하며 직접 변경할 수있는 것이 좋습니다. 그러나 프로그래머가 다른 프로그래머 인 경우에도 사용자의 목소리에 귀를 기울이면 제품이 개선되는 경우가 많습니다. 또한 이러한 변경 작업을 효율적으로 수행하는 방법에는 이미 프로젝트를 진행하면서 아이디어를 취하고 …
215 open-source 

17
조기 최적화는 실제로 모든 악의 근원입니까?
내 동료가 오늘이라는 클래스를 커밋했습니다.이 클래스는 ThreadLocalFormat기본적으로 Java 형식 클래스 인스턴스를 스레드 로컬로 이동했습니다. 스레드 안전하지 않고 "상대적으로 비싸지 않기"때문입니다. 나는 빠른 테스트를 작성하고 초당 200,000 개의 인스턴스를 생성 할 수 있다고 계산했으며, 그가 그 수를 많이 만들 었는지 물었다. 그는 훌륭한 프로그래머이며 팀의 모든 사람은 매우 숙련되어 결과 코드를 …

6
ES6에서 'let'대 'const'를 얼마나 사용해야합니까?
최근에 io.js에 대한 많은 ES6 코드를 작성했습니다. 배울 수있는 코드가 많지 않기 때문에 갈 때마다 고유 한 규칙을 정의하고있는 것 같습니다. 내 질문은 언제 사용할 const것인지에 관한 것 let입니다. 이 규칙을 적용했습니다 const. 가능하면을 사용하십시오 . let값을 변경해야 할 경우 에만 사용 하십시오. ( 나중에 a const를 a로 변경 let하면 …
214 javascript  es6 

5
매우 기본적인 컴파일러를 작성하는 방법
gcc코드가 작성된 언어 (예 : C, C ++ 등)에 따라 코드를 컴퓨터 판독 가능 파일로 컴파일하는 것과 같은 고급 컴파일러 실제로, 해당 언어의 라이브러리 및 기능에 따라 각 코드의 의미를 해석합니다. 틀린 점 있으면 지적 해주세요. 정적 파일 (예 : 텍스트 파일의 Hello World)을 컴파일하기 위해 매우 기본적인 컴파일러 (아마도 …
214 c  compiler  compilation  gcc 

18
수천 개의 IF… THEN… ELSE 규칙을 어떻게 관리 할 수 ​​있습니까?
핵심은 수천 개의 if ... then ... else 문으로 구성되는 응용 프로그램 작성을 고려하고 있습니다. 응용 프로그램의 목적은 어떤 풍경에서 소가 어떻게 움직이는 지 예측할 수 있도록하는 것입니다. 그들은 태양, 바람, 음식 소스, 갑작스러운 사건 등과 같은 것들의 영향을받습니다. 그러한 응용 프로그램을 어떻게 관리 할 수 ​​있습니까? 수백 번의 IF …

9
실제 코드보다 테스트를 작성하는 데 많은 시간을 소비하는 것이 일반적입니까?
테스트하는 실제 코드보다 테스트가 훨씬 까다 롭고 작성하기가 어렵다는 것을 알았습니다. 테스트하는 코드보다 테스트를 작성하는 데 더 많은 시간을 소비하는 것은 드문 일이 아닙니다. 이것이 정상입니까 아니면 내가 잘못하고 있습니까? “ 단위 테스트 또는 테스트 중심 개발이 가치가 있습니까? ”,“ 시스템 자체를 구현하는 것보다 기능 테스트를 구현하는 데 더 많은 …

15
개인 변수가 필요한 이유는 무엇입니까?
클래스에 개인 변수가 필요한 이유는 무엇입니까? 내가 읽은 프로그래밍에 관한 모든 책은 이것이 개인 변수라고 말합니다. 이 설명의 문구는 항상 우리가 직업에 대한 신뢰의 위기가있는 것처럼 보였다. 설명은 항상 다른 프로그래머가 코드를 망치는 것처럼 들립니다. 그러나 개인 변수가없는 많은 프로그래밍 언어가 있습니다. 개인 변수는 무엇을 방지하는 데 도움이됩니까? 특정 재산이 …


16
상사는 작은 함수 작성을 중단하고 동일한 루프에서 모든 작업을 수행하도록 요청합니다.
Clean Code 라는 책을 읽었습니다.Robert C. Martin의 . 이 책에서는 작은 함수 작성, 이름 선택 등의 코드를 정리하는 많은 방법을 보았습니다. 필자가 읽은 깨끗한 코드에 관해 가장 흥미로운 책으로 보입니다. 그러나 오늘 상사는이 책을 읽은 후 코드를 작성하는 방식을 좋아하지 않았습니다. 그의 주장은 작은 함수를 작성하면 코드가 무엇을하는지보기 위해 각각의 …

16
소프트웨어 복잡성을 관리하려면 실제로 OO 언어가 필요합니까?
이것은 매우 기술적이지 않고 부드러운 질문이 될 것이며 이것이 올바른 플랫폼인지 확실하지 않습니다. 그러나 나는 CS 학생을 시작하여 여러분이 그것을 참기를 바랍니다. 첫 학기에는 Java 및 UML을 통해 캡슐화, 데이터 숨기기, 모듈화, 상속 등과 같은 OOP 개념을 소개했습니다. (자바는 나의 첫 프로그래밍 언어이다) 내가 이해하는 방식으로 OOP는 소프트웨어 복잡성을 관리하는 …

10
콜 체인에서 여러 수준으로 만 사용되는 전달 매개 변수의 (안티) 패턴 이름이 있습니까?
일부 레거시 코드에서 전역 변수 사용에 대한 대안을 찾으려고했습니다. 그러나이 질문은 기술적 대안에 관한 것이 아니며 주로 용어 에 대해 우려하고 있습니다. 확실한 해결책은 전역을 사용하는 대신 매개 변수를 함수에 전달하는 것입니다. 이 레거시 코드베이스에서는 값이 사용될 지점과 매개 변수를 먼저받는 함수 사이에서 긴 콜 체인의 모든 함수를 변경해야합니다. higherlevel(newParam)->level1(newParam)->level2(newParam)->level3(newParam) …

10
왜 디자인 패턴에 많은 클래스가 필요한가?
나는 선배들 사이에서 주니어 개발자이며 그들의 생각과 추론을 이해하는 데 많은 어려움을 겪고 있습니다. 나는 읽고있다 도메인 기반 디자인 (DDD)를 우리는 너무 많은 클래스를 생성해야하는 이유 이해할 수 없습니다. 소프트웨어 설계 방식을 따르면 20-30 개의 클래스로 끝나고 최대 2 개의 파일과 3-4 개의 함수로 대체 될 수 있습니다. 예, 이것은 …

9
집계 대 구성
OOP의 구성이 무엇인지 이해하지만 집계가 무엇인지에 대한 명확한 아이디어를 얻을 수 없습니다. 누군가 설명 할 수 있습니까?

6
하스켈 타입 시스템을 정확히 존경하는 이유는 무엇입니까?
하스켈 을 배우기 시작했습니다 . 나는 그것을 처음 접했고, 기본 구성을 둘러보기 위해 두 가지 온라인 책을 읽었습니다. 익숙한 사람들이 자주 이야기하는 'memes'중 하나는 "컴파일하면 작동합니다"라는 것입니다. 나는 이유를 이해하기 위해 노력하고있어 정확히 하스켈은이 점에서 다른 정적으로 입력 된 언어보다 낫다. 다른 방법으로 말하면, Java로 가정하면 ArrayList<String>()실제로해야 할 것을 포함하기 …

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