소프트웨어 공학

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

12
기능 프로그래밍이 업계에서 더 인기가없는 이유는 무엇입니까? 지금 잡을까요? [닫은]
대학에서 4 년 동안 우리는 여러 기능 프로그래밍 언어로 많은 기능 프로그래밍을 사용하고 있습니다. 그러나 나는 또한 객체 지향 프로그래밍을 많이 사용했으며 실제로 작은 프로젝트를 수행 할 때 객체 지향 언어를 더 많이 사용하여 첫 번째 직업을 준비합니다. 그러나 나는 종종 이러한 프로젝트를 수행 할 때 함수형 프로그래밍 언어로 코딩하기를 …

18
왜 사람들은 여전히 ​​Java가 느리다고 말합니까? [닫은]
SO와 다른 곳에서 오랫동안 자바는 느리다는 명성을 가지고 있습니다. 에서 농담 에 많은 의견 질문과 답변에서, 사람들은 여전히 자바가 느린 유일하게 90 년대의 그것과 경험을 바탕으로 믿습니다. 이것은 내 문제입니다. 사람들이 Java가 느리다고 믿는 이유를 대부분 반증했습니다 . 작은 것 외에도 Java는 매우 빠릅니다. 그렇다면 왜 사람들은 여전히 ​​Java가 빠르다고 …
61 java  performance 

5
다른 마이크로 서비스 간의 공유 도메인 모델
서로 다른 두 가지 마이크로 서비스 시나리오를 상상해보십시오. 하나는 서비스 내에서 인증을 처리하고 다른 하나는 사용자 관리를 관리합니다. 둘 다 사용자 개념을 가지고 있으며 서로에게 전화를 통해 사용자에 대해 이야기합니다. "사용자"의 도메인 모델은 어디에 속합니까? 둘 다 사용자가 데이터베이스 레벨에있는 것과 다른 표현을 가지고 있습니까? API 호출에 사용되는 UserDTO가있는 경우 …

2
중첩 지시문 간의 통신
지시문 사이에 의사 소통하는 방법은 상당히 많습니다. 내부 지시문이 중첩 된 지시문이 있다고 가정하면 내부 지시문이 외부와 통신해야합니다 (예 : 사용자가 선택). <outer> <inner></inner> <inner></inner> </outer> 지금 까지이 작업을 수행하는 5 가지 방법이 있습니다 require: 부모 지시 inner지시어는 요구할 수 outer는 컨트롤러에 대한 몇 가지 방법을 노출시킬 수 지시어. 그래서 …

21
“최고만을 고용”하는 것이 일반적인 데스크탑 응용 프로그램 프로그래밍에 대한 실질적인 조언입니까? [닫은]
배경을 위해 우리는 etabs 와 비슷한 UI와 같은 AutoCAD를 사용하여 데스크탑 엔지니어링 응용 프로그램을 수행하고 있습니다. 정말 나를 괴롭히는 것 중 하나는 최고의 개발자를 고용해야 하는가? 우선, 채용에 큰 어려움을 겪고 있습니다. 우리가보고있는 대부분의 이력서는 간단한 CRUD 앱 또는 많은 하드 코어 프로그래밍과 관련이 없다고 생각되는 SharePoint 사용자 지정을 수행하고 …
61 hiring 

10
모든 방법을 테스트해야합니까?
그래서 오늘 저는 팀 테스트를 통해 유닛 테스트에 대해 이야기했습니다. 그가 내게 물었을 때 모든 것이 시작되었습니다. "이봐 요, 그 수업의 시험은 어디에 있습니까?" 전체 클래스는 관리자 (또는 그렇게 부르기를 선호하는 경우 서비스)였으며 거의 ​​모든 메소드는 단순히 DAO에 물건을 위임했기 때문에 다음과 비슷했습니다. SomeClass getSomething(parameters) { return myDao.findSomethingBySomething(parameters); } 논리가없는 …

10
함수 오버로드에만 C ++ 컴파일러를 사용하는 것은 나쁜 습관입니까?
그래서 특정 프로세서에 C를 사용하여 소프트웨어 설계를 진행하고 있습니다. 툴킷에는 C와 C ++를 컴파일하는 기능이 포함되어 있습니다. 내가하고있는 일에 대해이 환경에서 사용할 수있는 동적 메모리 할당이 없으며 프로그램은 전반적으로 매우 간단합니다. 이 장치에는 프로세서 전원이나 리소스가 거의 없다는 점은 말할 것도 없습니다. C ++을 전혀 사용할 필요가 없습니다. 즉, 함수 …

7
C에서 모든 작은 오류를 확인해야합니까?
훌륭한 프로그래머는 프로그램의 모든 단일 결과를 처리 할 강력한 코드를 작성해야합니다. 그러나 오류가 발생하면 C 라이브러리의 거의 모든 함수가 0 또는 -1 또는 NULL을 반환합니다. 예를 들어 파일을 열려고 할 때와 같이 오류 검사가 필요한 경우가 있습니다. 그러나 나는 종종 필요하다고 느끼지 않기 때문에 printf또는 오류로 인해 오류 검사를 무시 …
60 c  error-handling 

4
코드 선명도를 향상시키는 경우 그 시점에 영향을 미치지 않는 함수를 호출하는 것이 더 낫습니까?
내 프로그램 (iOS 앱)에 세 가지 견해가 있습니다. 그중 하나만 동시에 활성화되므로 두 가지에 대한 가시성을 끄고 사용자가 버튼을 누를 때 가시성을 전환합니다. 뷰는 표시되는 것으로 초기화되므로 기본 뷰가 표시되기 전에 코드에서 가시성을 해제했습니다. 내가 할 수있는 [view1 setAlpha:0.0f]; [view2 setAlpha:0.0f]; 뷰 중 두 개에 대해서는 세 번째 뷰 (앱 …

14
해석 된 코드와 컴파일 된 코드의 성능에 대한 일반적인 진술을 할 수 있습니까?
회사가 사용해야 할 권장 사항에 도달하기 위해 두 가지 기술을 비교하고 있습니다. 기술 A의 코드는 해석되는 반면 기술 B의 코드는 기계 코드로 컴파일됩니다. 필자의 비교에서 나는 기술 B가 해석 프로세스의 추가 오버 헤드가 없기 때문에 일반적으로 더 나은 성능을 가질 것이라고 언급했다. 또한 프로그램을 여러 가지 방법으로 작성할 수 있기 …

11
데이터베이스 또는 코드의 테이블 간 관계를 정의해야합니까?
내 경험상, 과거에 읽은 많은 프로젝트는 데이터베이스에 관계 정의가 없었고 대신 소스 코드에서만 정의했습니다. 그래서 데이터베이스와 소스 코드에서 테이블 간의 관계를 정의 할 때의 장점 / 단점이 무엇인지 궁금합니다. 더 넓은 질문은 캐스케이드, 트리거, 프로 시저와 같은 최신 데이터베이스의 다른 고급 기능에 관한 것입니다. 내 생각에는 몇 가지 요점이 있습니다. …

6
오픈 소스 프로젝트에 대한 코드 개요가없는 이유는 무엇입니까? [닫은]
매우 복잡한 오픈 소스 프로젝트가 있으며 그중 일부에는 기여할 수 있다고 생각하지만 할 수 있기를 바랍니다.하지만 한 가지 이유로 코드를 한 줄 변경하기 때문에 진입 장벽이 너무 높습니다. 큰 프로젝트는 모든 것을 이해해야합니다. 모든 코드를 읽을 필요는 없으며 (읽더라도 충분하지는 않지만) 모든 한 줄의 모든 동작과 이유를 이해해야합니다. 코드가 모듈화되고 …

8
C는 왜 C ++가 부족한 언어 '바인딩'을 제공합니까?
최근에 C를 C ++보다 언제 사용할 것인지 궁금해 하고 있었습니까? 다행스럽게도 누군가 이미 저를 이겼고 시간이 걸렸지 만 그 질문에 대한 모든 답변과 의견을 요약 할 수있었습니다. 그러나 해당 게시물의 한 항목은 어떤 종류의 예나 확인이나 설명없이 계속해서 반복해서 다루어집니다. "C 코드는 라이브러리에 여러 언어 바인딩을 원할 때 유용합니다." 그것은 …

8
클라이언트 측 코딩 : 악의적 인 사용을 방지하는 방법?
지난 몇 년 동안 클라이언트 측 (브라우저) 응용 프로그램의 추세가 실제로 시작되었습니다. 최신 프로젝트를 위해 시간과 함께 노력하고 클라이언트 측 응용 프로그램을 작성하기로 결정했습니다. 이 응용 프로그램의 일부는 사용자에게 트랜잭션 전자 메일 보내기 (예 : 가입 확인, 암호 재설정 전자 메일 등)입니다. 이메일을 보내기 위해 타사 API를 사용하고 있습니다. 일반적으로 …

8
들어오는 매개 변수를 수정하는 것이 반 패턴입니까? [닫은]
Java로 프로그래밍하고 있으며 항상 다음과 같은 변환기를 만듭니다. public OtherObject MyObject2OtherObject(MyObject mo){ ... Do the conversion return otherObject; } 새로운 직장에서 패턴은 다음과 같습니다. public void MyObject2OtherObject(MyObject mo, OtherObject oo){ ... Do the conversion } 들어오는 매개 변수를 변경하지 않는 데 익숙해 져서 약간 냄새가납니다. 이 수신 매개 변수 변경이 …

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