소프트웨어 공학

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

1
"플럭스"와 순수 기능적 반응성 프로그래밍의 관계는 무엇입니까?
내가 이해하는 한 Flux는 응용 프로그램의 데이터 흐름을 단방향으로 처리하고 프로그램의 나머지 부분과 격리 된 상태를 읽기 전용의 독립적 인 "저장소"로 유지하여 수신 대기하여 자체 상태를 변경할 수있는 기술입니다. "조치"는 뷰에 의해 생성되고 디스패처에 의해 전달됩니다. 또는 간단히 말해서 상태를 제어하는 ​​방법입니다. 그것이 맞다면, 기능적 반응성 프로그래밍과 어떻게 관련이 있습니까? …

4
이 시나리오에서 방문자 패턴이 유효합니까?
내 작업의 목표는 예약 된 되풀이 작업을 실행할 수있는 작은 시스템을 설계하는 것입니다. 되풀이되는 작업은 "월요일부터 금요일까지 오전 8 시부 터 오후 5 시까 지 관리자에게 이메일을 보내는 것"과 같습니다. RecurringTask 라는 기본 클래스가 있습니다. public abstract class RecurringTask{ // I've already figured out this part public bool isOccuring(DateTime dateTime){ …

3
COM 제한 사항을 염두에두고 .NET 라이브러리를 작성하거나 .NET 라이브러리를 Interop과 분리하는 것이 더 좋습니까?
나는이 흥미로운 기사를 보았습니다 : CodeProject에서 COM 상호 운용성을 사랑하는 방법은 무엇입니까? 저자는 .NET 라이브러리의 아름다움을 없애기 때문에 .NET 라이브러리에서 COM 요소를 원하지 않는다고 주장합니다. 대신 .NET 라이브러리를 COM에 공개하는 별도의 Interop 라이브러리를 작성하려고합니다. 이 Interop 라이브러리는 COM이 매개 변수, 오버로드 된 메서드, 제네릭, 상속, 정적 메서드 등을 가진 생성자를 …

1
두 개의 데이터웨어 하우스에 대한 데이터 액세스를 가속화하는 가장 좋은 방법은 무엇입니까?
두 개의 기존 데이터웨어 하우스에 대한 추상 액세스가 필요한 비즈니스 인텔리전스 프로젝트에 착수했습니다. 셀프 서비스 비즈니스 인텔리전스가 데이터를 결합하고 기존의 두 창고에 대한 단일 뷰를 제공 할 수 있도록 응용 프로그램 아키텍처를 설계해야합니다. 나는 다음과 같은 것을 생각해 냈습니다. 가상화 / 캐싱 부분에 어려움을 겪고 있으며 문제를 해결할 엔터프라이즈 디자인 …

3
우리는 아주 오래된 학교 접근 방식으로 돌아가서 마이크로 서비스를 만났습니까?
소프트웨어 아키텍처 및 디자인 측면에서 마이크로 서비스는 미들웨어와 어떻게 "스택"됩니까? 나는 Java에서 왔으며 API로 straight REST에서 벗어나 다른 레이어와 연결 매개 변수를 추상화하면 적어도 Java에서는 거의 오래된 학교 아이디어로 돌아 왔습니다. . JVM이 이미 가상 인 경우 가상화로 돌아 왔습니다 . 불가피한 방식으로 RESTful API를 CORBA로 추상화하는 이점을 누릴 수 …

3
데이터 유형에 인터페이스를 사용하는 것이 안티 패턴입니까?
사용자, 제품, 송장 및 주문과 같이 모델에 EF를 사용하는 다양한 엔터티가 있다고 가정합니다. 엔티티가 사전 결정된 세트에 속하는 응용 프로그램에서 엔티티 객체의 요약을 인쇄 할 수있는 사용자 정의 컨트롤을 작성 중입니다.이 경우 사용자 및 제품 요약을 요약 할 수 있다고 말합니다. 요약에는 모두 ID와 설명 만 포함되므로 이에 대한 간단한 …

5
if else 구문이 더 나은 시간에 작업을 수행 할 수있을 때 HashMap을 사용하여 함수에서 키를 반환 할 값을 결정 해야하는 이유는 무엇입니까?
최근에 대기업에서 일하는 동안 프로그래머는 다음 코딩 스타일을 따랐습니다. 입력이 A이면 12, 입력이 B이면 21, 입력이 C이면 45를 반환하는 함수가 있다고 가정합니다. 따라서 함수 서명을 다음과 같이 쓸 수 있습니다. int foo(String s){ if(s.equals("A")) return 12; else if(s.equals("B")) return 21; else if(s.equals("C")) return 45; else throw new RuntimeException("Invalid input to …

3
각 문자가 짝수 번 발생해야하는 문자열 수
나는이 문제에 대해 얼마 동안 내 두개골을 강타하고 있었고, 실제로 저를 좌절시키기 시작했습니다. 문제는: 나는 문자 집합을, A, B, C,와 D. 길이가 길고 n각 문자가 짝수 번 발생 해야하는 경우 해당 문자로 문자열을 작성할 수있는 방법을 알려야 합니다. 예를 들어 대답 n = 2은 4입니다. AA BB CC DD 답 …

1
WebGLRenderingContext에 대해 WebStorm의 자동 완성에 알리는 방법
WebGL과 관련된 프로젝트를 진행 중이며 WebStorm을 사용하여 개발을 수행하고 있습니다. 개발 흐름의 한 가지 문제는 WebStorm이 WebGL과 관련된 것을 자동 완성 할 수 없다는 것입니다. 특히 값을 유형으로 주석 처리하면WebGLRenderingContext /** @type {!WebGLRenderingContext} */ var gl; WebStorm은 WebGLRenderingContext가 해결되지 않은 변수라고 불평합니다. 또한의 메소드 사용법에 대해 불평하며 gl해당 메소드를 찾을 …
9 webgl 

1
캐시 라인과 메모리 페이지 간의 관계
맞다면 주 메모리의 페이지는 주 메모리와 하드 디스크와 같은 외부 저장 장치간에 데이터를 전송하기위한 가장 작은 단위입니다. 메인 메모리의 캐시 라인은 메인 메모리와 CPU 캐시 사이에서 데이터를 전송하기위한 가장 작은 단위입니다. 페이지 크기가 항상 또는 가장 좋은 캐시 라인 크기인지 궁금합니다. 캐시 라인 크기가 64 바이트이고 메모리 페이지 크기가 4KB …
9 memory  caching 

4
트리에서 모든 노드의 모든 자손을 생성하는 가장 효율적인 방법
트리를 가져 오는 가장 효율적인 알고리즘을 찾고 있습니다 (가장자리 목록으로 저장되거나 부모 노드에서 자식 노드 목록으로 매핑 목록으로 저장 됨). 모든 노드에 대해 그 노드의 하위 노드 (리프 레벨 및 비 리프 레벨)의 목록을 생성합니다. 스케일로 인해 구현은 recusion 대신 루프를 거쳐야합니다. 이상적으로 O (N)이어야합니다. 이 SO 질문 은 트리에서 …

4
빈 기능이 필요한 이유
나는 파이썬을 배우기 시작했고 왜 프로그래밍 언어에서 빈 함수가 필요한지 궁금 합니다. 예를 들어 파이썬에서 : def empty_func(): pass 쉘 스크립트에서도 빈 함수 빈 함수를 사용할 수 있습니다. 나의 이해와 질문 : 프로그래밍 언어에 빈 함수가 필요한 이유는 무엇입니까? 프로그래밍 언어를 가지고 놀거나 정말 중요한 다른 것이 있습니까? 이것이 목적이 …

5
OOP 언어 및 유형의 클래스
프로그래밍 언어 이론에서 유형은 일련의 값입니다. 예를 들어 "int"유형은 모든 정수 값의 집합입니다. OOP 언어에서 클래스는 유형입니까? 클래스가 둘 이상의 멤버로 정의 된 경우 class myclass{ int a; double b; } 수업에 대해 이야기 할 때 " (a,b)어디 a를 int이며 b이중이다", 또는 "{ (x,y)| xint, ydouble이 있습니까?" " 인스턴스의 myclass의미 …

8
객체 지향과 알고리즘의 관계
일부 알고리즘 교과서를 읽으면 일부 문제 (정렬, 최단 경로) 또는 일반적인 방법 (재귀 알고리즘, 나누기 및 정복, 동적 프로그래밍 ...)에 대한 영리한 절차로 가득합니다. 나는 객체 지향 프로그래밍의 흔적을 거의 발견하지 못했습니다. (왜 더 절차 지향적입니까?). 그때 나는 생각하고 있었다 : 알고리즘과 OOP의 관계는 무엇입니까? 두 개의 독립적 인 주제입니까? …

2
Java를 사용하지 않는 Android 개발 [폐쇄]
휴무 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 이 질문의 제목에서 알 수 있듯이 Java 를 전혀 사용하지 않고 Android 플랫폼에서 앱을 개발할 수 있기를 기대 …

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