소프트웨어 공학

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

2
순수 언어에서 가비지 콜렉션은 어떻게 다릅니 까?
Haskell과 같은 순수한 언어에서는 모든 데이터를 변경할 수 없으며 기존 데이터 구조를 변경할 수 없습니다. 또한, 불변 데이터 및 기능적 프로그래밍 패턴에 대한 많은 알고리즘이 본질적으로 대량의 가비지를 map생성합니다 (예 : 중간 목록을 작성하는 체인 ). 가비지 수집기는 그렇지 않은 순도에 직면하여 어떤 전략과 기술을 사용합니까? 순전 한 상황이 아닌 …


3
파이썬 비즈니스 로직을 장고에 정확히 배치 해야하는 곳
Django / Python / Web Development를 배우기 시작했습니다. 이 문제로 인해 잠시 동안 문제가 발생했습니다. Django에서 여러 템플릿으로 응용 프로그램을 만들고 있습니다. 기본적으로 각 템플릿에 대한 응답을 렌더링하는 views.py가 있고 DB를 구성한 models.py가 있습니다. 내 템플릿 중 하나에서 이미지 (내가 할 수있는)를 업로드해야하며 업로드 된 이미지의 기능 (아직 완료되지 않은 …

6
새 프로젝트에 대한 마스터 링을 언제 중단해야합니까?
새로운 프로젝트가 시작될 때마다 "안정적인"무언가를 얻을 수있을 때까지 마스터에게 직접 커밋하여 시작한 다음, 지점에서 일을 시작하는 것이 좋습니다. 적어도 이것이 내가 정상적으로하는 방법입니다. 두 번째 커밋에서 즉시 분기를 시작하는 방법이 있습니까? 이런 식으로하는 것이 합리적입니까? 분명히, "초기 커밋"은 항상 마스터가되지만, 그 이후에 새로운 기능을위한 브랜치를 만들기 시작하는시기가 언제인지 알 수 …

4
C ++과 Java가 왜 "참조"라는 개념을 사용하지만 같은 의미가 아닌가?
C ++에서 함수에 대한 참조 인수는 함수가 참조가 다른 것을 참조하도록합니다. int replacement = 23; void changeNumberReference(int& reference) { reference = replacement; } int main() { int i = 1; std::cout << "i=" << i << "\n"; // i = 1; changeNumberReference(i); std::cout << "i=" << i << "\n"; // …
26 java  c++  pointers  reference 

6
Java가 패키지 액세스를 기본으로 설정 한 이유는 무엇입니까?
나는 그들이 좋은 이유 때문에 그것을했고 대부분의 사람들이 지금까지 업계에서의 경험에서 잘 사용하지 못한다고 믿기 때문에이 질문을하고 있습니다. 그러나 내 이론이 사실이라면 왜 그들이 개인 액세스 수정자를 포함했는지 잘 모르겠습니다 ...? 기본 액세스가 올바르게 사용되면 캡슐화를 유지하면서 향상된 테스트 기능을 제공한다고 생각합니다. 또한 개인 액세스 수정자를 중복으로 렌더링합니다. 기본 액세스 …

5
OO 프로그램을 기능적으로 재구성하는 방법은 무엇입니까?
기능적인 스타일로 프로그램을 작성하는 방법에 대한 리소스를 찾는 데 어려움을 겪고 있습니다. 온라인에서 논의 할 수있는 가장 고급 주제는 구조적 타이핑을 사용하여 클래스 계층 구조를 줄이는 것이 었습니다. 대부분은 map / fold / reduce / etc를 사용하여 명령형 루프를 대체하는 방법을 처리합니다. 내가 정말로 찾고 싶은 것은 사소하지 않은 프로그램의 …

4
내 코드에서 "관리자"를 피하는 방법
이 질문은 Software Engineering Stack Exchange에서 답변을 얻을 수 있기 때문에 Code Review Stack Exchange에서 마이그레이션 되었습니다. 6 년 전에 이주했습니다 . 현재 C ++ 용 Entity System을 다시 디자인하고 있으며 많은 관리자가 있습니다. 내 디자인에는 라이브러리를 함께 묶기 위해 이러한 클래스가 있습니다. "관리자"수업과 관련하여 많은 나쁜 소식을 들었습니다. 아마도 …

4
webapp에서 동일한 데이터를 편집하는 여러 사용자를 어떻게 처리합니까?
여러 사용자간에 작업 목록을 관리하는 웹 응용 프로그램을 만들려고하는 프로젝트가 있습니다. 권한이있는 사용자가 작업 항목을 배포하는 마스터 작업 목록입니다. 각 사용자는 로그인하고 할당 된 작업을 볼 수있는 자신의 계정을 가지고 있습니다. 여러 사용자가 단일 작업을 공통으로 수행 할 수 있습니다. 다음 상황을 처리하는 방법에 대한 전반적인 개념을 더 잘 이해하면서 …

9
미니멀리스트 개발 방식을 따르는 프로그래밍 언어가 있습니까?
언어가 상용 소프트웨어와 동일한 것으로 간주 될 때 새로운 릴리스를 정당화하기 위해 항상 새로운 기능을 추가해야 할 필요성이 있습니다. 버전 1.0이 최종 버전 인 언어가 있습니까? 물론 버그 수정은 이것에서 제외되지만 기능 세트는 항상 동일하게 유지됩니까? 이런 식으로 언어의 모든 기능이 잘 어울리 며 이전 버전과의 호환성으로 인해 더 이상 …


5
Lisp 커뮤니티가 함수의 끝에 모든 괄호를 누적하는 것을 선호하는 이유는 무엇입니까?
Lisp 커뮤니티가 함수의 끝에 모든 괄호를 누적하는 것을 선호하는 이유는 무엇입니까? (defn defer-expensive [cheap expensive] (if-let [good-enough (force cheap)] good-enough (force expensive))) C 나 Java 같은 규칙을 사용하지 않겠습니까? 글쎄, Lisp는 그 언어보다 훨씬 오래되었지만 현대 Lispers에 대해 이야기하고 있습니다. (defn defer-expensive [cheap expensive] (if-let [good-enough (force cheap)] good-enough (force …


15
프로그래머가 때때로 의도적으로 복잡한 코드를 과도하게 사용합니까? [닫은]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식을 통해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 육년 전 …

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

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