소프트웨어 공학

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

7
언어의 절반 인 C # 및 Java에 대한이 설명은 무엇을 의미합니까? [닫은]
기사 : 왜 POCO 라면 다음과 같은 문장이 있습니다 : Maciej Sobczak은 다음과 같이 잘 설명합니다. C #이 Microsoft & Java가 소유 하고 있지만 Oracle이 C #을 소유하고 있음에도 불구하고 그가 의미하는 바를 이해 하지 못합니다. 나는 그 문장을 증명할 증거를 찾지 못했고, 이것에 대해 정말로 궁금합니다. 그리고 '내 자신을 …
32 java  c#  microsoft  oracle 

5
동적 타입 언어로 열거 형이 필요한 이유는 무엇입니까?
나는 여기에 약간의 코드를 읽고 enum이 html 태그의 이름을 저장하는 데 사용되는 것을 보았습니다. 왜 이렇게해야합니까? 이 전략을 사용하면 어떤 이점이 있습니까? 열거 형이 컴파일되거나 정적으로 유형이 지정된 언어로 얼마나 유용한 지 알고 있지만 동적으로 유형이 지정된 언어로 열거 형을 볼 때 위에서 보여준 예제 코드와 같이 궁금합니다. 따라서 질문은 …

8
Java에서 더 나은 스타일 (인스턴스 변수와 반환 값)
나는 종종 내 클래스의 일부 메소드에서 공통 데이터를 사용해야 할 때 사용할 두 가지 방법 중 하나를 결정하기 위해 고심하고 있습니다. 더 나은 선택은 무엇입니까? 이 옵션에서 추가 변수를 선언 할 필요가없고 메소드 매개 변수를 정의하지 않아도되도록 인스턴스 변수를 작성할 수 있지만 해당 변수가 인스턴스화 / 수정되는 위치가 명확하지 않을 …

5
나쁜 습관-환경을 설정하기 위해 사례를 전환
지난 3 년 동안 개발자로 일하면서 사람들이 switch 문을 사용하여 URL의 경로 (백엔드 및 프런트 엔드)를 설정하는 많은 예를 보았습니다. 아래는 이에 대한 예입니다. 백엔드 예제 (C #) : public static string getHost(EnvironmentEnum environment){ var path = String.Empty; switch (environment) { case EnvironmentEnum.dev: path = "http://localhost:55793/"; break; case EnvironmentEnum.uat: path …

10
“Child x = new Child ();”대신“Parent x = new Child ();”가 후자를 사용할 수 있다면 나쁜 습관입니까?
예를 들어, 다음과 같은 조각을 만드는 코드를 보았습니다. Fragment myFragment=new MyFragment(); MyFragment 대신 변수를 Fragment로 선언합니다. MyFragment는 Fragment의 자식 클래스입니다. 이 코드는 다음과 같아야한다고 생각하기 때문에이 코드 줄을 만족시키지 못했습니다. MyFragment myFragment=new MyFragment(); 어느 것이 더 구체적입니까? 또는 질문의 일반화에서 사용하는 것이 나쁜 습관입니까? Parent x=new Child(); 대신에 Child x=new …

6
중첩 함수 호출을 인라인 할 수있는 경우 프로그램에서 호출 스택을 사용하는 이유는 무엇입니까?
컴파일러가 다음과 같은 프로그램을 사용하지 않는 이유는 무엇입니까? function a(b) { return b^2 }; function c(b) { return a(b) + 5 }; 다음과 같은 프로그램으로 변환하십시오. function c(b) { return b^2 + 5 }; 따라서 컴퓨터가 c (b)의 반송 주소를 기억할 필요가 없습니까? 프로그램을 저장하고 컴파일을 지원하는 데 필요한 하드 …

3
주소 0000000C는 특별한 주소입니까?
프로그래밍 할 때 가끔 문제가 발생합니다. 실수하여 프로그램이 잘못된 주소에서 읽으려고합니다. 저런 예외들과 같은 점이 눈에 띄는 것 중 하나는 다음과 같습니다. Access violation at address 012D37BC in module 'myprog.exe'. Read of address 0000000C. 이제 많은 오류 로그가 표시되며 눈에 띄는 것은 : 0000000C입니다. 이것이 "특별한"주소입니까? 읽기가 잘못된 다른 액세스 …

3
GOPATH 외부의 Go 프로젝트에 대한 소스 코드가 나쁜 생각입니다.
Go를 사용하여 새 프로젝트를 진행 중이며 모두 Go에 익숙하지 않습니다. 우리는 표준 go 디렉토리 구조를 따르고 있으며 모든 코드를 $ GOPATH / src / github.com / companyname / projectname 이것은 또한 git 저장소의 루트입니다 표준 권장 경로 레이아웃은, 특히 Go 기반 rest / http 백엔드 및 html / javascript 프론트 …
32 go 

8
열거 형 목록을 사용하는 것이 좋습니다?
현재 사용자가있는 시스템에서 작업하고 있으며 각 사용자에게는 하나 이상의 역할이 있습니다. User에서 Enum 값 목록을 사용하는 것이 좋습니다? 나는 더 나은 것을 생각할 수 없지만 이것은 기분이 좋지 않습니다. enum Role{ Admin = 1, User = 2, } class User{ ... List<Role> Roles {get;set;} }

6
사람들이 왜 DBAL 대신 REST API를 사용합니까?
지난 두 회사에서는 웹 앱을 통해 데이터를 쿼리하기 위해 REST API를 사용했습니다. 즉. 웹 앱이 SQL을 직접 수행하는 대신 REST API를 호출하여 SQL을 수행하고 결과를 리턴합니다. 내 질문은 ... 왜 이런 짓을합니까? 그것이 제 3 자에게 노출 될 예정이라면 이해할 수있었습니다. 전체 DB보다 제한된 REST API를 노출하는 것이 좋습니다. 그러나이 …

5
Windows / Linux가 관계형 데이터베이스 (RDBMS)를 사용하지 않는 이유는 무엇입니까?
Windows / Linux가 관계형 데이터베이스 ( RDBMS )를 사용하지 않는 이유는 무엇 입니까? 파일 시스템을 사용하여 모든 데이터를 저장하지만 웹 사이트 / 웹 앱에서 사용하는 데이터베이스를 사용하는 것이 더 효율적이라고 생각하지 않습니까? 스토리지를 위해 데이터베이스를 통한 파일 시스템 사용에 대해 자세히 설명하십시오. 이것은 텍스트 파일의 데이터를 구문 분석하는 것보다 데이터베이스를 …

4
최소한의 지식의 원리
나는 최소한의 지식 의 원리에 대한 동기를 이해 하지만 내 디자인에 적용하려고하면 몇 가지 단점을 발견합니다. Head First Design Patterns 책에서 찾은이 원칙의 예 중 하나 (실제로 사용하지 않는 방법)는이 원칙의 관점에서 다른 메소드 호출에서 반환 된 객체에 대해 메소드를 호출하는 것이 잘못되었다고 지정합니다. . 그러나 때로는 그러한 기능을 사용해야 …

3
의존성 주입은 어떻게 커플 링을 증가 시키는가?
의존성 주입 에 대한 Wikipedia 페이지 의 단점 섹션에서이를 알려줍니다. 종속성 주입은 서브 시스템 사용자가 해당 서브 시스템의 요구를 제공하도록 요구함으로써 커플 링을 증가시킵니다. 의존성 주입 에 대한 기사 링크 . 의존성 주입은 클래스가 구체적인 구현 대신 인터페이스를 사용하도록합니다. 그 결과 커플 링 이 줄어 듭니다 . 내가 무엇을 놓치고 …

5
왜 n- 계층 개발의 코드 기반이 같은 양의 JavaScript 코드를 사용합니까?
나는 오랫동안 웹 프로그래밍을 해왔고 어딘가에서 우리가 오늘하고있는 일을하는 이유 (또는 어떻게 이런 일을했는지)를 잃어 버렸는가? 나는 기본적인 ASP 웹 개발로 시작했고, 초기에는 디스플레이와 비즈니스 로직이 페이지에서 혼합되었습니다. 클라이언트 측 개발은 매우 다양했으며 (VBScript, 다양한 종류의 JavaScript) 서버 측 유효성 검사에 대해 많은 경고가있었습니다 (따라서 클라이언트 측 로직에서 멀리 떨어져 …

1
왜 Bower를 사용해야합니까? [닫은]
Python pip, Node npm또는 Ruby Gems 와 같은 패키지 관리자의 이점은 응용 프로그램 경로에 파일을 추가하는 것보다 훨씬 많은 일을 수행하고 있기 때문에 충분히 감사하겠습니다 . 어쩌면 나는이 점을 누락, 또는 여기 둔한하지만거야하면된다 네거티브 내가 볼 수는 : 프로젝트를 만들 때 별도의 단계 다른 패키지 관리자를 통해 설치할 별도의 종속성 …

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