소프트웨어 공학

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

2
Java 9에서 패키지와 모듈이 별도의 개념 인 이유는 무엇입니까?
Java 9에는 패키지 외에도 모듈이 있습니다. 일반적으로 언어에는 둘 중 하나가 있습니다. 그리고 대부분의 프로그래머 는 두 용어를 동의어로 인식 합니다. 모듈은 패키지 위에 구축되어 기본 요소로 취급합니다. 복합 패턴은 프리미티브 및 복합 재료를 균일하게 처리 할 것을 제안합니다. 그렇지 않으면 나쁜 일이 일어날 것입니다. 예를 들어, Valhalla 프로젝트를보고 기본 …

3
수많은 매개 변수와 빌더 패턴의 생성자
클래스에 많은 매개 변수가있는 생성자 (예 : 4 개 이상)가 있으면 코드 냄새 일 가능성이 높습니다 . 클래스가 SRP를 충족하는 경우 다시 고려해야 합니다. 그러나 10 개 이상의 매개 변수에 의존하고 결국 빌더 패턴을 통해 모든 매개 변수를 설정하는 것으로 끝나는 경우 어떻게해야합니까? Person개인 정보, 작업 정보, 친구 정보, 관심사 …

3
디커플링이란 무엇이며 어떤 개발 영역에 적용 할 수 있습니까? [닫은]
휴무 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 나는 최근에 질문에서 주제로 디커플링을 발견했으며 그것이 무엇인지, 어디에 적용 할 수 있는지 알고 싶다. "어디에 적용 할 …

3
@staticmethod 대 모듈 수준 함수
이에 대해하지 않습니다 @staticmethod와 @classmethod! 나는 어떻게 staticmethod작동 하는지 안다 . 내가 알고 싶은 @staticmethod것은 모듈 수준 기능에 대한 적절한 사용 사례입니다 . 나는이 질문을 봤는데, 더 파이썬이기 때문에 정적 메소드보다 모듈 레벨 함수가 선호된다는 일반적인 동의가있는 것 같습니다. 정적 메서드는 클래스에 바인딩되는 이점이 있으므로 해당 클래스 만 클래스를 사용하는 …
21 python 



2
프론트 엔드에서 계산하는 것이 언제 적절한가요?
우리 팀은 웹 기반 금융 응용 프로그램을 개발 중이며 동료와 함께 계산을 유지해야 할 부분이 있습니다. 간단한 설명 : 프론트 엔드에는 Java (ZK, Spring)를 사용하고 백엔드에는 Progress 4gl을 사용합니다. 데이터베이스의 일부 하드 코어 수학 및 데이터와 관련된 계산은 백엔드로 유지되므로 이에 대해 이야기하지 않습니다. 사용자가 X 값을 입력 한 다음 …


2
누가 먼저 비동기 / 기다렸습니까?
파이썬은 2015 년 3.5에서 async / await 구문을 추가했습니다. Javascript 커뮤니티는 1 년 동안 그것을 향한 발걸음을 내딛었으며 마침내 2017 년에 릴리스 된 ES8 초안과 매우 유사한 구현을 추가했습니다 (내 이해에서). Typescript는 2015 년 버전 1.7의 비동기 메소드를 추가하여 훈련되지 않은 눈에 js 비동기 메소드와 똑같이 보입니다. C # 2012 …

6
소규모 회사의 페어 프로그래밍 / 협업
소규모 개발 회사에서 수석 개발자로 일하고 있습니다. 우리는 두 명의 다른 개발자뿐만 아니라 개발자 인 상사도 있지만 실제 코딩을 실제로 많이하지 않습니다. 내가 극복하려고하는 문제는 다면적입니다. 우리는 우리 사이에 많은 협력 없이도 우리 자신의 프로젝트를 수행하는 경향이 있습니다. 사실, 나는 (가장 발달 한 개발자로서) 다른 사람들의 의견 / 도움을 요구하는 …


4
큰 데이터베이스에서 잘못된 데이터 업데이트를 피하기 위해 따라야하는 방법은 무엇입니까?
프로덕션 배포 전의 일반적인 조언은 먼저 DB를 백업하는 것입니다. 이런 식으로 새 업데이트에 잠재적 인 데이터 손실 또는 논리적 데이터 손상을 초래할 수있는 문제가있는 경우 여전히 이전 레코드를 비교하고 수정하기위한 백업이 있습니다. 그러나 이것은 DB 크기가 몇 GB가 될 때까지 잘 작동 할 수 있습니다. DB 크기가 크면 백업을 완료하는 …

6
결과를 캐시하지 않는 방식으로 LINQ를 구현하면 어떤 이점이 있습니까?
이것은 LINQ를 사용하여 발을 적시는 사람들에게 알려진 함정입니다. public class Program { public static void Main() { IEnumerable<Record> originalCollection = GenerateRecords(new[] {"Jesse"}); var newCollection = new List<Record>(originalCollection); Console.WriteLine(ContainTheSameSingleObject(originalCollection, newCollection)); } private static IEnumerable<Record> GenerateRecords(string[] listOfNames) { return listOfNames.Select(x => new Record(Guid.NewGuid(), x)); } private static bool ContainTheSameSingleObject(IEnumerable<Record> originalCollection, List<Record> newCollection) …

3
거대한 배열을 채우지 않고 큰 문제를 일으키는 전문적인 방법 : C ++, 배열의 일부에서 사용 가능한 메모리
물리 시뮬레이션을 개발 중이며 프로그래밍에 익숙하지 않아서 큰 프로그램 (주로 메모리 문제)을 생성 할 때 계속 문제가 발생합니다. 동적 메모리 할당 및 삭제 (신규 / 삭제 등)에 대해 알고 있지만 프로그램을 구성하는 방법에 대한 더 나은 접근 방식이 필요합니다. 매우 빠른 샘플링 속도로 며칠 동안 실행되는 실험을 시뮬레이션한다고 가정 해 …
20 c++  data  memory  array  dynamic 

4
함수를 매개 변수로 사용하는 함수도 해당 함수에 매개 변수를 매개 변수로 사용해야합니까?
데이터 액세스를 쉽게 조롱하고 액세스 할 데이터를 결정하기 위해 매개 변수를 허용하는 서명을 제공하기 때문에 이와 같은 함수를 작성하는 경우가 많습니다. public static string GetFormattedRate( Func<string, RateType>> getRate, string rateKey) { var rate = getRate(rateKey); var formattedRate = rate.DollarsPerMonth.ToString("C0"); return formattedRate; } 또는 public static string GetFormattedRate( Func<RateType, string> formatRate, …

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