소프트웨어 공학

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

7
마이크로 서비스 시스템 아키텍처는 어떻게 네트워크 병목 현상을 피합니까?
서버 응용 프로그램의 마이크로 서비스 아키텍처에 대해 많이 읽었으며 내부 네트워크 사용이 단일체 아키텍처와 비교할 때 병목 현상이나 중대한 단점이 아닌지 궁금합니다. 정확성을 위해 두 용어에 대한 나의 해석은 다음과 같습니다. 모놀리스 아키텍처 : 모든 기능, 데이터 등을 처리하는 단일 언어로 된 하나의 응용 프로그램.로드 밸런서는 최종 사용자의 요청을 각각의 …

8
여러 작업이 다른 상태로 완료되면 반환 할 HTTP 상태 코드는 무엇입니까?
사용자가 서버에 하나의 HTTP 요청으로 여러 작업을 수행하도록 요청할 수있는 API를 작성 중입니다. 결과는 조치 당 하나의 항목이있는 JSON 배열로 리턴됩니다. 이러한 각 작업은 서로 독립적으로 실패하거나 성공할 수 있습니다. 예를 들어 첫 번째 작업이 성공하고 두 번째 작업의 입력 형식이 잘못되어 유효성을 검사하지 못할 수 있으며 세 번째 작업으로 …
72 api  http 

7
파이썬 파일을 구성 파일로 사용하는 것이 얼마나 나쁜 생각입니까?
저는 항상 애플리케이션 구성을 위해 JSON 파일을 사용했습니다 . 나는 많은 Java를 코딩 할 때부터 사용하기 시작했으며 지금은 주로 서버 측 및 데이터 과학 Python 개발을 위해 노력하고 있으며 JSON 이 더 이상 올바른 길 인지 확실하지 않습니다 . Celery가 구성을 위해 실제 Python 파일을 사용하는 것을 보았습니다. 처음에는 그것에 …

5
왜 C 컴파일러가 그렇게 적은가?
C는 세계에서 가장 널리 사용되는 언어 중 하나입니다. 기존 코드의 상당 부분을 차지하며 방대한 양의 새 코드에 계속 사용됩니다. 그것은 사용자들에게 사랑 받고 있으며, C를 실행할 수 있다는 것은 많은 비공식적 인 플랫폼 정의에 대한 것으로 널리 알려져 있으며, 상대적으로 깨끗한 기능 세트를 가진 "작은"언어로 팬들에게 찬사를 보냅니다. 그렇다면 모든 …

5
프로젝트 규모와 언어의 엄격 성 사이에 상관 관계가 있습니까?
언어의 엄격 성과 패러다임의 차이를 동료에게 설명하면서 나는 다음과 같이 주장했다. 동적 언어 및 해석 언어와 같은 허용 언어는 프로토 타입 및 소규모 프로젝트 또는 중간 규모 웹 응용 프로그램에 가장 적합합니다. Node.js를 사용하여 Python 또는 JavaScript와 같은 우아한 동적 언어를 선택할 때 이점은 다음과 같습니다. 빠른 개발, 상용구 코드 …


10
완전한 리팩토링 시간이 없을 때 레거시 코드에 대한 테스트를 작성하는 것이 합리적입니까?
나는 보통 레거시 코드 e로 효과적으로 작업하기 책의 조언을 따르려고 노력합니다 . 의존성을 깨고 코드의 일부를 @VisibleForTesting public static메소드와 새로운 클래스로 옮겨서 코드 (또는 적어도 일부)를 테스트 할 수있게 만듭니다. 그리고 새 기능을 수정하거나 추가 할 때 아무 것도 깨지지 않도록 테스트를 작성합니다. 동료는 내가 그렇게해서는 안된다고 말합니다. 그의 추론 …

17
상사에게 정중하게 자신의 코드에 의견을 말하도록 어떻게 요청할 수 있습니까?
나는 상사에 의해 가르치고 있습니다 (방금 학교를 마치고 약간의 프로그래밍 경험을 가진 사람을 원했기 때문에 회사가 전문화하는 것을 훈련하도록 선택했습니다). ASP.NET MVC 응용 프로그램, 일부 HTML 및 CSS 작업을 시작했습니다 . 나는 그가 나에게주는 웹 디자인 물건으로 괜찮습니다 (명백하지 않고 이해하는 것은 매우 간단합니다). 그러나 예를 들어, 그는 ASP.NET MVC와 …
72 comments 

8
브랜치를 사용하여 동일한 소프트웨어의 다른 버전을 유지 관리하는 것이 좋습니까?
우리는 몇 가지 다른 판을 가진 제품을 가지고 있습니다. 차이점은 사소합니다. 여기저기서 다른 문자열, 하나의 추가 논리는 거의없고 다른 논리는 거의 차이가 없습니다. 소프트웨어를 개발할 때 각 버전에 대부분의 변경 사항을 추가해야합니다. 그러나 그렇지 않은 몇 가지와 달라야 할 몇 가지가 있습니다. release-editionA 및 release-editionB (.. etc) 분기가있는 경우 분기를 …
72 git  branching 

14
내가 한 일을 기억하고 3 개월 전에 프로젝트를 진행 한 이유는 무엇입니까?
나는 3 개월 전에 프로젝트를 진행하던 중 갑자기 또 다른 급한 프로젝트가 나타 났고 관심을 끌라는 요청을 받았습니다. 내일부터 이전 프로젝트로 돌아갈 것입니다. 나는 내가 정확히 무엇을했는지 기억하지 못한다는 것을 알고 있습니다. 어디서부터 시작해야할지 모르겠습니다. 되돌아 볼 때마다 내가 떠난 곳에서 나가는 데 몇 분 이상 걸리지 않도록 프로젝트를 어떻게 …

9
왜 부분 클래스를 사용합니까?
내 이해에서 partial키워드는 아무것도하지 않고 클래스를 여러 소스 파일로 나눌 수 있습니다. 코드 구성 이외의 다른 이유가 있습니까? 생성 된 UI 클래스에서 사용되는 것을 보았습니다. 전체 키워드를 작성하는 것은 좋지 않은 이유입니다. 클래스가 여러 파일을 요구할만큼 충분히 큰 경우에는 너무 많은 작업을 수행했을 수 있습니다. 다른 프로그래머가 완성 할 클래스를 …


12
SQL : 빈 문자열 대 NULL 값
나는이 주제가 논란의 여지가 있으며 인터넷에 떠 다니는 다양한 기사 / 의견이 많다는 것을 알고 있습니다. 불행히도, 대부분의 사람들은 NULL과 빈 문자열의 차이점이 무엇인지 알지 못한다고 가정합니다. 따라서 조인 / 집계로 놀라운 결과에 대해 이야기하고 일반적으로 좀 더 고급 SQL 레슨을 수행합니다. 이렇게함으로써, 그들은 요점을 절대로 그리워하지 않으므로 나에게는 쓸모가 …
72 design  database  sql  strings  null 

29
인증은 그만한 가치가 있습니까?
나는 곧 대학 프로그래밍을 마치고 경력을 쌓기 위해 다음 단계를 모색하고 있습니다. 내가 고려한 한 가지 옵션은 내가 일하고 싶은 개발 분야에서 인증 또는 일련의 인증을 얻는 것입니다. 이러한 인증은 시간과 비용이 가치가 있습니까? 고용주는 그들에게 많은 가치를 부여합니까?
72 skills 

30
포인터에 대한 좋은 설명은 무엇입니까? [닫은]
자신의 연구에서 (자신의 수업 또는 수업에 대한) 마지막으로 실제로 포인터를 이해했을 때 "ah ha"순간이 있었습니까? 특히 효과적인 초보자 프로그래머에 대한 설명이 있습니까? 예를 들어, 초보자가 C에서 처음 포인터를 만나면 컴파일 할 때까지 &s와 *s를 추가 할 수 있습니다 (내가 한 번했던 것처럼). 어쩌면 그것은 당신이나 당신의 학생을 위해 포인터를 "클릭"하게 …

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