소프트웨어 공학

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

12
좋은 프로그래머를 인식하는 방법? [닫은]
우리 회사는 새로운 프로그래머를 찾고 있습니다. 그리고 여기에 문제가 있습니다-인터뷰를 정말 잘보고, 필요한 기술을 알고 있고 좋은 직업 배경을 가지고있는 것처럼 보이는 많은 개발자가 있지만 2 개월의 작업 후에는 일할 수 없다는 것을 알게됩니다 팀에서 일부 코드를 작성하면 시간이 오래 걸리며 결과는 좋지 않습니다. 공식화 된 테스트를 사용합니까? 좋은 프로그래머와 …

1
차이점 이해 : 기존 인터프리터, JIT 컴파일러, JIT 인터프리터 및 AOT 컴파일러
전통적인 인터프리터, JIT 컴파일러, JIT 인터프리터 및 AOT 컴파일러의 차이점을 이해하려고합니다. 인터프리터는 일부 컴퓨터 언어로 명령을 실행하는 기계 (가상 또는 물리적) 일뿐입니다. 그런 의미에서 JVM은 인터프리터이고 물리적 CPU는 인터프리터입니다. Ahead-of-Time 컴파일은 코드를 실행하기 전에 코드를 어떤 언어로 컴파일하는 것을 의미합니다. 그러나 JIT 컴파일러와 JIT 인터프리터의 정확한 정의는 확실하지 않습니다. 내가 …

6
Java 8에 불변의 컬렉션이없는 이유는 무엇입니까?
Java 팀은 ​​Java 8의 기능적 프로그래밍에 대한 장벽을 제거하면서 엄청난 노력을 기울였습니다. 특히, java.util Collections의 변경은 변환을 매우 빠른 스트리밍 작업으로 체인화하는 데 큰 도움이됩니다. 컬렉션에 퍼스트 클래스 함수와 함수 메소드를 추가하는 일이 얼마나 좋은지 고려할 때 왜 불변 컬렉션이나 불변 컬렉션 인터페이스를 제공하지 못한 것일까 요? 기존 코드를 변경하지 …


16
검토 중에 다른 사람이 잘못 디자인 한 코드의 개선을 전략적으로 제안하려면 어떻게해야합니까?
나는 깨끗한 코드와 코드 장인 정신을 잘 믿는 사람이지만, 현재 이것이 최우선 순위로 여겨지지 않는 직장에 있습니다. 때로는 동료의 코드가 지저분한 디자인으로 가득 차고 향후 유지 보수에 대한 관심이 거의 없지만 상황에 따라 기능이 있고 버그가 거의 없거나 전혀없는 경우가 있습니다. 변경해야 할 것이 너무 많고 마감 기한이 있다고 생각할 …

30
개발자에게 느린 개발 시스템을 제공하면 코드가 더 빠르고 효율적입니까? [닫은]
개발자에게 비명을 지르는 빠른 기기를 제공한다고 가정 해 보겠습니다. WPF 기반 VS2010은 매우 빠르게로드됩니다. 그런 다음 개발자는 자신의 상자에서 잘 실행되지만 실제 환경에서는 훨씬 느리게 실행되는 WPF 또는 WPF / e 응용 프로그램을 만듭니다. 이 질문에는 두 부분이 있습니다 ... 1) 개발자에게 느린 시스템을 제공하면 결과 코드가 더 빠르거나 효율적일 …
130 ide  testing  performance 

9
제어 흐름으로서의 예외는 심각한 반 패턴으로 간주됩니까? 그렇다면 왜 그렇습니까?
90 년대 후반에 나는 흐름 제어로 예외를 사용하는 코드베이스로 꽤 일했습니다. 전화 응용 프로그램을 구동하기 위해 유한 상태 머신을 구현했습니다. 최근에 MVC 웹 앱을 사용하고 있었기 때문에 그 시절을 생각 나게합니다. 둘 다 Controller다음에 갈 곳을 결정하고 대상 로직에 데이터를 제공합니다. DTMF 톤과 같은 구식 전화 도메인의 사용자 작업은 작업 …

14
고객에게 잘못된 코드를 보여줄까요?
클라이언트가 다른 컨설턴트가 개발 한 ASP.NET Webforms 응용 프로그램 인 웹 사이트를 다시 디자인하도록 요청했습니다. 비교적 간단한 작업처럼 보였지만 코드를 살펴본 후에는 그렇지 않습니다. 이 응용 프로그램은 잘 작성되지 않았습니다. 조금도. SQL 인젝션 공격에 매우 취약하고, 비즈니스 로직이 전체 애플리케이션에 퍼져 있으며, 중복이 많으며, 아무 것도하지 않는 막 다른 코드가 …

16
버그를 더 빨리 해결할 수있는 방법이 있습니까? 방금 상사로부터 경고를 받았습니다.
월요일에 상사로부터 부정적인 실적 검토를받을 것이라고 들었습니다. 그는 왜 내가 왜 그렇게 느리고 왜 버그 수정률이 그렇게 낮은 지 이야기하고 싶어합니다. 나는 프로그래밍과 문제 해결을 좋아하지만 실제로 내 직업이 정말 어렵다는 것을 알게된다. 저는 실제로 약 10 년 동안 프로그래머였습니다. 그러나 이것은 첫 번째 멀티 스레딩 임베디드 Linux 작업입니다. 저는 …

7
추측 할 수없는 비공개 URL은 비밀번호 기반 인증과 동일합니까?
웹에서 리소스를 공개하고 싶습니다. 이 리소스를 보호하고 싶습니다. 특정 개인 만 액세스 할 수 있도록합니다. 일종의 암호 기반 인증을 설정할 수 있습니다. 예를 들어, 파일을 제공하기 전에 들어오는 요청에서 올바른 자격 증명 (아마도 일부 사용자 백업 데이터베이스에 대해)을 확인하는 웹 서버를 통해서만 리소스에 액세스 할 수있었습니다. 또는 개인 URL을 사용할 …

16
버그 수정은 언제 과잉이됩니까?
JavaScript로 비디오 플레이어를 만들고 있다고 상상해보십시오. 이 비디오 플레이어는 재귀 기능을 사용하여 사용자의 비디오를 반복적으로 반복하므로 브라우저가 too much recursion RangeError때때로 트리거합니다 . 아마도 아무도 루프 기능을 많이 사용하지 않을 것입니다. 사용자가 응용 프로그램을 일주일 동안 반복 한 후에도 응용 프로그램에서이 오류를 발생시키지 않지만 여전히 존재합니다. 문제를 해결하려면 응용 프로그램에서 …

10
무작위성을 어떻게 테스트해야합니까?
배열에서 요소를 무작위로 섞는 방법을 고려하십시오. 이것이 효과가 있는지 확인하기 위해 간단하면서도 강력한 단위 테스트를 어떻게 작성 하시겠습니까? 나는 눈에 띄는 결함이있는 두 가지 아이디어를 생각해 냈습니다. 배열을 섞은 다음 순서가 이전과 다른지 확인하십시오. 이것은 잘 들리지만 셔플이 같은 순서로 섞이면 실패합니다. (불가능하지만 가능합니다.) 일정한 시드로 어레이를 셔플하고 미리 결정된 …

11
시스템의 복잡성 증가가 프로그래머 세대에 어떤 영향을 미쳤습니까?
"새로운"프로그래머로서 (2009 년에 처음으로 한 줄의 코드를 작성 했음), 오늘날 .NET 프레임 워크와 같은 매우 복잡한 요소를 보여주는 프로그램을 작성하는 것이 상대적으로 쉽다는 것을 알게되었습니다. 시각적 인터페이스를 만들거나 목록을 정렬하는 작업은 이제 몇 가지 명령으로 수행 할 수 있습니다. 프로그래밍을 배우면서 컴퓨팅 이론도 동시에 배우고있었습니다. 정렬 알고리즘, 하드웨어가 함께 작동하는 …

3
Apache 2 라이센스에 대한 실제 영향은 무엇입니까? [닫은]
프로젝트에 SVG 편집 을 사용하고 싶습니다 . 이 소프트웨어는 Apache 2 라이센스에 따라 배포됩니다. 나는 그것을 보았다 : 수정되거나 수정되지 않은 모든 사본에는 라이센스 사본이 첨부됩니다 모든 수정 사항은 수정 자의 작업으로 명확하게 표시됩니다. 저작권, 상표 및 특허권에 대한 모든 통지는 배포본으로 정확하게 복제됩니다 라이센스 사용자는 라이센스 제공자의 상표를 사용하지 …

15
단일 문자 상수가 리터럴보다 낫습니까?
나는 최근에 거의 모든 단일 문자를 상수로 제공하는 클래스를 만났다. 에 이르기 COMMA까지 BRACKET_OPEN. 이것이 필요한지 궁금합니다. 단일 문자 리터럴을 상수로 가져 오는 것이 도움이 될 수 있음을 나타내는 "기사" 를 읽었습니다 . 그래서 저는 회의적입니다. 상수 사용의 주요 장점은 변경이 필요할 때 유지 관리를 최소화한다는 것입니다. 그러나 ','과 다른 …

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