소프트웨어 공학

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

2
프로그래머는 컴퓨터 구매시 어떤 사양을 찾아야합니까? 아니면 어떤 컴퓨터를 사야합니까? [닫은]
프로그래밍을 위해 특별히 설계된 새 컴퓨터를 구입하고 싶습니다. 나는 그것을 학습 경험을 위해 직접 구축하고 싶지만 그것을 기꺼이 구입하려고합니다. 기본적으로 나는 a) 내 컴퓨터가 거의 용량에 가깝고 b) 내 4 살짜리 컴퓨터가 너무 느릴 정도로 큰 프로그래밍 전용 파일을 다운로드했습니다. 특히, 나는 데이터베이스 (Oracle / PostGreSQL, Mongo, Hadoop)와 자바에 있지만 …

2
ASM.js 란 무엇이며 모든 사람에게 어떤 의미가 있습니까?
이 프로젝트에 대한 ASM.js 라는 소리가 들리기 시작했습니다 . 현재 그들의 웹 사이트는 끔찍하고 혼란 스럽다. 웹에서 내가 연구 한 결과는 다음과 같습니다. 고도로 최적화 될 수있는 JavaScript의 하위 집합입니다. 언어의 역동적 인 부분을 피하기 때문에 추측하고 있습니다. ASM.js로 컴파일 된 코드의 성능은 C 속도의 약 절반 (빛이 아님)으로 실행됩니다. …

7
함수형 프로그래밍은 "시스템을 모듈로 분해하는 데 사용되는 기준"(데이터 숨기기)의 이점을 무시합니까?
방금 처음으로 읽은 시스템을 모듈로 분해하는 데 사용되는 기준에 관한 고전 기사가 있습니다 . 그것은 나에게 완벽하게 이해되며 아마도 OOP가 기반으로 한 기사 중 하나 일 것입니다. 결론 : 이러한 예를 통해 플로우 차트를 기반으로 시스템을 모듈로 분해하는 것이 거의 항상 올바르지 않음을 보여 주려고 시도했습니다. ... 그런 다음 각 …

9
대입 연산자가 값을 반환하면 어떤 이점이 있습니까?
Javascript와 PHP를 모두 대체하려는 언어를 개발 중입니다. (나는 이것에 어떤 문제도 보이지 않는다.이 언어들 중 어느 것이 큰 설치 기반을 가지고 있지는 않다.) 내가 변경하고 싶었던 것 중 하나는 할당 연산자를 할당 명령으로 바꾸어 반환 값을 사용하는 기능을 제거하는 것이 었습니다. x=1; /* Assignment. */ if (x==1) {} /* Comparison. …

4
마지막으로 예외를 던지기
Fortify와 같은 정적 코드 분석기는 finally블록 안에 예외가 발생했을 때 "불만" 이라고 말합니다 Using a throw statement inside a finally block breaks the logical progression through the try-catch-finally. 일반적으로 나는 이것에 동의합니다. 그러나 최근 에이 코드를 보았습니다. SomeFileWriter writer = null; try { //init the writer //write into the file …

5
불변 객체에 대한 인터페이스를 선언하지 마십시오
불변 객체에 대한 인터페이스를 선언하지 마십시오 [편집] 해당 객체가 DTO (Data Transfer Object) 또는 POD (Plain Old Data)를 나타내는 경우 합리적인 지침입니까? 지금까지 변경 불가능한 봉인 클래스에 대한 인터페이스를 만들었습니다 (데이터를 변경할 수 없음). 불변성에 관심이있는 곳에서는 인터페이스를 사용하지 않도록 조심하려고 노력했습니다. 불행히도, 인터페이스가 코드에 퍼지기 시작합니다 (그리고 내가 걱정하는 …
27 c#  immutability 

7
인터뷰 과정에서 과도하게 프로그래밍 된 과제를 걱정해야합니까? [닫은]
최근에 회사와 전화 인터뷰를했습니다. 그 전화 인터뷰 후, 나는 짧은 프로그래밍 과제 (작은 프로그램; 3 시간 이상 걸리지 않아야 함)를 완료하라는 지시를 받았다. 과제를 완료하고 코드를 제출하도록 직접 지시 받았습니다. 원하는 언어를 사용할 수있는 자유가 주어졌으며 코드를 켜는 방법을 정확히 알지 못했습니다. 즉시 Github에 던지고 테스트 스위트를 작성하고 Travis-CI (공용 …

9
임시 해결 방법으로 메소드 이름에 버그 번호를 포함시키는 것이 좋지 않은 것으로 간주됩니까?
수석 사람 인 동료가 코드 검토에서 나를 차단하고 있습니다. 왜냐하면 그는 일부 결함 ###에 대한 해결 방법이기 때문에 'PerformSqlClient216147Workaround'메서드의 이름을 지정하기를 원하기 때문입니다. 이제 메서드 이름 제안은 메서드가 실제로 수행하는 작업을 설명하는 PerformRightExpressionCast와 같은 것입니다. 그의 주장은 "이 방법은이 경우에 대한 해결 방법으로 만 사용되며 다른 곳에서는 사용되지 않습니다." 임시 …

1
도메인 이벤트를 사용하거나 응용 프로그램 계층이 모든 것을 조정하도록하는 방법
첫 번째 단계를 도메인 기반 디자인으로 설정하고 청서를 구입했으며 특정 솔루션을 구현하는 세 가지 방법을보고 있습니다. 기록을 위해 : 나는 CQRS 또는 이벤트 소싱을 사용하지 않습니다. 사용자 요청이 응용 프로그램 서비스 계층으로 들어 온다고 가정 해 봅시다. 해당 요청의 비즈니스 로직은 (어떤 이유로 든) 엔티티의 메소드와 도메인 서비스의 메소드로 구분됩니다. …


3
어떤 문자열 검색 알고리즘이 실제로 가장 빠릅니까?
나는 가장 빠른 문자열 검색 알고리즘 인 얼마 동안 붙어있어 많은 의견을 들었지만 결국 확실하지 않습니다. 어떤 사람들은 가장 빠른 알고리즘이 Boyer-Moore이고 Knuth-Morris-Pratt가 실제로 더 빠르다는 말을 들었습니다. 나는 둘 다에 대한 복잡성을 찾았지만 대부분 동일하게 보인다 O(n+m). 최악의 시나리오에서 Boyer-Moore O(nm)는 O (m + 2 * n)를 가진 Knuth-Morris-Pratt와 …

2
Android 개발에서 ORM을 사용하는 것이 합리적입니까?
Android 개발에서 ORM을 사용하는 것이 합리적입니까? 아니면 UI와 DB 계층 간의 긴밀한 연결을 위해 프레임 워크가 최적화 되었습니까? 배경 : 방금 Android 개발을 시작했으며 첫 번째 본능 (.net 배경에서 제공)은 작은 객체 관계형 매퍼 및 상용구 클로드를 줄이는 데 도움이되는 기타 도구 (예 : POJOs + OrmLite + Lombok )를 …

5
다른 사람이 내 공개 소스 알고리즘을 특허 할 수 있습니까? [닫은]
보다 효율적으로 렌더링하기 위해 복셀 데이터 구조의 경계를 찾기 위해 재귀 검색 알고리즘을 작성했습니다. 나는 주변을 둘러 보았으며 아무도 그것을 특허하지 않아도되는 간단하고 명백한 기술이거나, 소설적이고 아무도 전에 이런 식으로 한 적이 없습니다. GitHub에 공개적으로 공개되고 GPL로 보호됩니다. 그러나 다른 사람들에게 보여주고 싶지만 개선 될 수 있는지 확인하고 싶습니다 ... …

8
FizzBuzz에 실패했습니다. 저를 고용 하시겠습니까? [닫은]
저는 CS 학위를 가진 개발자이며 거의 3 년 동안 여러 언어로 개발 한 경력이 있습니다. 오늘 저는 인터뷰를했습니다. 전반적으로 꽤 잘 진행되었고 대부분의 질문에 대비하고 준비가 된 것 같습니다. 인터뷰가 끝나면 FizzBuzz와 같은 문제가 하나의 프로그래밍 질문이었습니다. 나는 내가 너무 많은 실수를했다고 생각하여 "실패"했다. 모든 희망이 저를 잃어 버렸습니까? 내 …
27 interview 

6
일반적인“기능 라인 코드”와“코드 라인 테스트”비율은 무엇입니까?
나는 TDD 접근 방식에 익숙하지 않으며 첫 번째 실험에서 1 줄의 기능 코드를 작성한다는 것은 2-3 줄의 테스트 코드를 작성한다는 것을 의미합니다. 따라서 1000 LOC를 작성하려는 경우 테스트를 포함한 전체 코드베이스는 ~ 3500 LOC와 같습니다. 이것이 정상으로 간주됩니까? 작성한 코드의 비율은 무엇입니까?

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