소프트웨어 공학

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

8
"동시"와 "병렬"실행의 차이점은 무엇입니까?
동시 실행 과 병렬 실행 이라는 용어의 차이점은 무엇입니까 ? 나는 그 구별을 파악할 수 없었습니다. 이 태그는 동시성을 두 프로세스를 동시에 실행하는 방식으로 정의하지만 병렬 처리는 정확히 동일한 것, 즉 별도의 스레드 또는 별도의 프로세서에서 실행될 수있는 프로세스라고 생각했습니다. 또한 비동기 I / O와 같은 것을 고려하면 동시성 또는 …

5
컨테이너에 의존성 주입을 사용하는 것과 서비스 로케이터를 사용하는 것의 차이점은 무엇입니까?
클래스 내에서 직접 종속성을 인스턴스화하는 것은 나쁜 습관으로 간주됩니다. 이렇게하면 모든 것이 단단히 결합되어 테스트가 매우 어려워집니다. 내가 본 거의 모든 프레임 워크는 서비스 로케이터를 사용하는 것보다 컨테이너를 사용하여 종속성 주입을 선호하는 것으로 보입니다. 두 클래스 모두 클래스가 의존성을 요구할 때 어떤 객체를 반환해야하는지 프로그래머가 지정할 수있게함으로써 동일한 결과를 얻는 …

10
오늘날 디자인 패턴이 정말로 필수적인가?
나는 "코더의 직장" 을 읽고 있었고 ,이 책에서 인터뷰 한 일부 전문가들은 디자인 패턴에 대해 열성적이지 않다는 사실에 직면했다. 나는 이것에 대한 두 가지 주요 이유가 있다고 생각합니다. 디자인 패턴은 우리가 그들의 용어로 생각하도록 강요합니다. 다시 말해, 새로운 것을 발명하는 것은 거의 불가능합니다. 디자인 패턴은 영원히 지속되지 않습니다. 언어와 기술은 …


15
메소드의 메모리 대 성능 속도를 언제 최적화해야합니까?
나는 최근 아마존에서 인터뷰했다. 코딩 세션 중에 면접관은 왜 메소드에서 변수를 선언했는지 묻습니다. 나는 나의 과정을 설명했고 그는 더 적은 변수로 같은 문제를 해결하도록 도전했다. 예를 들어 (이것은 인터뷰에서 나온 것이 아닙니다), 나는 방법 A로 시작한 다음 을 제거 하여 방법 B 로 개선 했습니다 . 그는이 방법으로 메모리 사용을 …

13
어떤 "버전 명명 규칙"을 사용하십니까? [닫은]
다른 버전 명명 규칙이 다른 프로젝트에 적합합니까? 무엇을 사용하고 왜? 개인적으로, 나는 16 진수 (예 : 11BCF)의 빌드 번호를 선호합니다. 이것은 매우 정기적으로 증가해야합니다. 그런 다음 고객에게 간단한 3 자리 버전 번호 (예 : 1.1.3)가 있습니다. 1.2.3 (11BCF) <- Build number, should correspond with a revision in source control ^ …

9
데이터베이스는 얼마나 많은 비즈니스 로직을 구현해야합니까?
나는 대부분의 비즈니스 로직이 데이터베이스 (대부분 저장 프로 시저를 통해)에서 구현 된 일부 프로젝트에서 일했습니다. 다른 한편으로, 나는 몇몇 동료 프로그래머들로부터 이것이 나쁜 습관이라는 것을 들었습니다. 이러한 방법 중 어느 것이 일반적으로 더 낫습니까? 내가 생각할 수있는 DB에서 비즈니스 로직을 구현하는 장점은 다음과 같습니다. 비즈니스 로직의 중앙 집중화; 응용 프로그램 …

9
"미래에 대비 한"웹앱에 대한 두려움
저는 소규모 로컬 SaaS 웹 애플리케이션의 웹 개발자입니다. 현재 약 6 명의 고객이 있습니다. 응용 프로그램을 계속 디자인할수록 시작 단계에서 발생한 프로젝트에 시간을 투자하도록 설득하기가 점점 어려워지고 있습니다. 프로젝트와 이미 작성한 코드에 연결되면서 커밋 된 모든 추가 작업이 비즈니스가 성장함에 따라 앱이 확장되지 않는 것으로 판명 될 때 가까운 미래에 …

13
깨끗한 코드 관행에 따라 더 많은 코드가 작성되는 것을 어떻게 정당화합니까?
중재자 메모이 질문에는 이미 17 개의 답변이 게시되었습니다. 새로운 답변을 게시하기 전에 기존 답변을 읽고 귀하의 견해가 이미 적절하게 다루어지지 않았는지 확인하십시오. Robert Martin의 "Clean Code"책에서 권장하는 몇 가지 관행, 특히 내가 사용하는 소프트웨어 유형에 적용되는 관행과 나에게 의미가있는 관행을 따랐습니다 (도그마로 따르지 않음). . 그러나 내가 알아 차린 부작용 …

11
우리 팀은 어디에서 "현대"가되어야합니까? [닫은]
저는 대학에서 새로 온 비교적 새로운 개발자입니다. 대학에서 그리고 구직 활동을하는 동안, 저의 교육에는 부족한 "현대"소프트웨어 개발 방법론이 많이 있음을 깨달았습니다 : 단위 테스팅, 로깅, 데이터베이스 정규화, 민첩한 개발 (일반 민첩성 개념), 코딩 스타일 가이드, 리팩토링, 코드 검토, 표준화 된 문서화 방법 (또는 요구 사항) 등 전반적으로, 나는 이것이 문제라는 …
106 agile  teamwork 

10
파이썬이 고성능 / 과학 컴퓨팅에 사용되는 이유는 무엇입니까 (하지만 루비는 그렇지 않습니까)?
PyCon 2011 강연에서 인용 한 내용 은 다음과 같습니다. 적어도 우리의 상점 (Argonne National Laboratory)에는 과학 컴퓨팅을위한 3 개의 언어가 있습니다. 이 순서대로 그들은 C / C ++, 모든 방언의 Fortran 및 Python입니다. Ruby, Perl, Java의 절대 및 전체 부족을 알 수 있습니다. 보다 일반적인 컴퓨팅 환경에서 사용되었습니다. 이 인용문은 …


15
인터뷰에서 데이터 구조가 중요한 이유는 무엇입니까? [닫은]
대학을 졸업했을 때 데이터 구조가 그렇게 강하지 않았다고 고백해야합니다. 졸업하는 동안 캠퍼스 전체에서 Amazon, Microsoft 등과 같은 가장 큰 기술 회사가 주로 데이터 구조에 집중하고 있음을 목격했습니다. 마치 데이터 구조 만 졸업생에게 기대하는 것처럼 보입니다. 솔직히 말해서, 나는 그것에 대해 기분이 나빴습니다. 좋은 코드를 작성합니다. 나는 코딩의 표준 디자인 패턴을 …

22
구인 게시가 요구 사항을 과장합니까? [닫은]
나는 합리적으로 자격을 갖춘 프로그래머처럼 느껴지지만 많은 채용 공고는 내가 다르게 느끼게합니다. 그들 대부분은 자격을 요구 사항과 요구 사항으로 분리하지만 요구 사항 부분조차도 까다로울 수 있습니다. 나는 상대적으로 작은 기술이나 라이브러리에서 몇 년 (2 년 이상)의 경험이 필요하다는 많은 게시물을 보았습니다. 다른 경우에는 언어에 5 년 또는 7 년 이상의 …
106 skills 

6
왜 XML이 "언어"라고 불리는가?
왜 XML에 이름에 L이 있는지 궁금합니다. XML 자체는 아무것도 "하지"않습니다. 언어가 아닌 데이터 저장 형식 일뿐입니다! 언어는 "할 것"입니다. XML을 적절한 언어로 전환하기 위해 XML을 사용하는 방법 xmlns은 루트 요소에 속성을 추가하는 것입니다. 그런 다음에 만 환경에 대해 알려줍니다. 한 가지 예는 XHTML입니다. 활성화되어 있으며 링크, 하이퍼 텍스트, 스타일 등이 …

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