소프트웨어 공학

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

11
비동기 대 동기의 의미 [닫힘]
컴퓨터 과학에서 비동기 및 동기 라는 단어의 의미는 무엇입니까 ? 당신이 단어의 의미를 구글하면 다음을 얻을 것이다 : 비동기 : 존재하지 않거나 동시에 발생하지 않습니다 . 동기 : 기존 또는 동시에 발생 . 그러나 프로그래밍이나 컴퓨터 과학에서 반대의 의미를 전달하는 데 사용되는 것처럼 보입니다. HTML 비동기 속성 은 HTML이 여전히 …

3
왜 여전히 스택을 거꾸로 성장 시키는가?
C 코드를 컴파일하고 어셈블리를 볼 때 스택은 다음과 같이 거꾸로 커집니다. _main: pushq %rbp movl $5, -4(%rbp) popq %rbp ret -4(%rbp)-이것은 기본 포인터 또는 스택 포인터가 실제로 메모리 주소보다 아래로 이동한다는 것을 의미합니까? 왜 그런 겁니까? 로 변경 $5, -4(%rbp)하고 $5, +4(%rbp)컴파일하고 코드를 실행했으며 오류가 없었습니다. 그렇다면 왜 메모리 스택에서 …
46 c  memory  assembly 

4
팀이 성장함에 따라 애플리케이션 아키텍처에서 일관성을 유지하는 방법은 무엇입니까?
신생 기업의 유일한 개발자로서 저는 애플리케이션의 아키텍처와 프레임 워크에서 많은 결정을 내릴 수있는 사치를 누 렸습니다. 4 년 후 빨리 습득 한 후, 나는 5 명으로 구성된 팀을 가지고 있으며 서부처럼 느껴지는 경우가 많습니다. 디자인 결정을 내리는 사람들은 DB 유형에 대한 정수와 열거 형을 한곳에 배치하고 다른 곳을 문자열로 묶습니다.이 …

7
데이터베이스 제약 조건은 어떻게됩니까?
RDBMS에 대한 데이터베이스 모델을 검토 할 때 일반적으로 제약 조건 (PK / FK 제외)이 거의 없거나 전혀없는 것이 놀랍습니다. 예를 들어, 백분율은 종종 유형의 열에 저장되며 int( tinyint보다 적절할 수 있음) CHECK값을 0..100 범위로 제한 할 제약 이 없습니다 . SE.SE와 마찬가지로 검사 제한 조건을 제안하는 응답은 종종 데이터베이스가 제한 …

7
호출 스택의 정적 최대 크기는 왜됩니까?
몇 가지 프로그래밍 언어로 작업 한 결과, 필자는 스레드 스택이 필요에 따라 자동으로 확장되는 대신 미리 정의 된 최대 크기를 갖는 이유를 항상 궁금했습니다. 이에 비해 대부분의 프로그래밍 언어에서 볼 수있는 매우 일반적인 일부 고수준 구조 (목록, 맵 등)는 새로운 요소가 추가되는 동안 필요에 따라 확장되도록 설계되었으며, 사용 가능한 메모리 …
46 stack 


6
`c> = '0'` 또는`c> = 48`를 확인하는 것이 더 낫습니까?
동료들과 토론을 한 후 모범 사례에 따라 Java에서 char 데이터 유형을 처리하는 방법에 대한 '철학적'질문이 있습니다. 간단한 시나리오 (분명히 이것은 내 질문에 연습 의미를 부여하기 위해 매우 간단한 예일뿐입니다)를 가정하십시오. 여기서 String 's'가 입력으로 주어지면 그 안에 존재하는 숫자의 수를 세어야합니다. 가능한 두 가지 해결책은 다음과 같습니다. 1) for(int i=0; …

7
체인 세터가 왜 전통적인가?
Bean에 체인을 구현하면 생성자, 메가 생성자, 팩토리를 오버로드 할 필요가없고 가독성이 향상됩니다. 객체를 불변으로 만들고 싶지 않다면 어떤 단점도 생각할 수 없습니다 .이 경우 어쨌든 setter가 없습니다. 그렇다면 이것이 OOP 규칙이 아닌 이유가 있습니까? public class DTO { private String foo; private String bar; public String getFoo() { return foo; …

7
리팩토링의 잠재적 가치를 측정하는 방법
기술 부채가있는 오래된 대규모 프로젝트에서 리팩토링 코드의 이점을 어떻게 안정적으로 추정하거나 측정 할 수 있습니까? 예를 들어, 이전 언어로 작성된 소프트웨어 스택 솔루션 내에 일부 구성 요소가 있고 최신 언어로 작성된 일부 구성 요소가 있다고 가정하십시오. 개발 팀은 새로운 기능과 버그 수정을이 솔루션에 지속적으로 추가하고 있습니다. 개발자는 기존의 오래된 언어 …

4
NoSQL에 획기적인 것이 있습니까? [닫은]
나는 매우 탄탄한 관계형 데이터베이스 사람이며 제 3 정규 형식까지 모든 것을 이해하고 SQL의 대수 집합 이론에 감사하며 아마도 상한 마음을 관계 화 할 수 있습니다. 아내와 데이트 밤에 대한 관계형 데이터베이스 구조를 파악하지 못했지만 아내와 데이트 밤에 관계형 데이터베이스 프로젝트에 대해 생각했습니다 .. 이제 NoSQL에 대해 듣고 연구하고 있습니다. …
46 nosql 

6
의미있는 클래스 이름으로 Java 콜렉션을 마스킹하는 좋은 방법 또는 나쁜 방법?
최근에 저는 인간 친화적 인 클래스 이름으로 Java 콜렉션을 "마스킹"하는 습관을 겪었습니다. 몇 가지 간단한 예 : // Facade class that makes code more readable and understandable. public class WidgetCache extends Map<String, Widget> { } 또는: // If you saw a ArrayList<ArrayList<?>> being passed around in the code, would you …

2
REST API는 부분적으로 수정 가능한 자원에 대한 PUT 요청을 어떻게 처리해야합니까?
HTTP GET요청 에 대한 응답으로 REST API 가 하위 오브젝트에 일부 추가 데이터를 리턴 한다고 가정하십시오 owner. { id: 'xyz', ... some other data ... owner: { name: 'Jo Bloggs', role: 'Programmer' } } 분명히, 우리는 누군가가 PUT뒤로 물러 설 수 있기를 원하지 않습니다. { id: 'xyz', ... some other …

3
빈혈 도메인 모델이 C # / OOP에서는 좋지 않은 것으로 간주되지만 F # / FP에서는 매우 중요한 이유는 무엇입니까?
재미와 이익을위한 F # 의 블로그 게시물 에서 다음과 같이 말합니다. 기능적 디자인에서는 데이터와 동작을 분리하는 것이 매우 중요합니다. 데이터 유형은 단순하고 "멍청하다". 그리고 따로 따로, 이러한 데이터 유형에 작용하는 많은 기능이 있습니다. 이것은 동작과 데이터가 결합되는 객체 지향 디자인과 정반대입니다. 결국, 그것이 바로 클래스입니다. 실제로 객체 지향 디자인에서는 동작 …

4
너무 많은 추상화가 나쁠 수 있습니까?
프로그래머로서 우리의 목표는 주어진 도메인 모델과 비즈니스 로직에 대한 훌륭한 추상화를 제공하는 것입니다. 그러나이 추상화는 어디에서 멈추어야합니까? 추상화 와 모든 이점 (유연성, 변경 용이성 등) 과 코드 및 이해 의 이점 을 이해하는 것 사이 의 균형 을 맞추는 방법 . 나는 지나치게 추상화 된 코드를 작성하는 경향이 있다고 생각하며 …

5
왜 오래된 프로그래밍 언어가 계속 수정됩니까?
이 질문 은 "왜 사람들은 여전히 ​​오래된 프로그래밍 언어를 사용합니까?" 나는 그것을 아주 잘 이해합니다. 실제로 내가 가장 잘 알고있는 두 프로그래밍 언어는 C와 Scheme이며 둘 다 70 년대로 거슬러 올라갑니다. 최근 C99와 C11과 C89의 변경 사항에 대해 읽었습니다 (실제로 가장 많이 사용되는 C 버전과 K & R에서 배운 버전 …

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