소프트웨어 공학

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

2
역할 기반 REST API?
다른 역할을 가진 여러 사용자가 포함 된 리소스에 액세스 할 수있는 REST API를 만들고 있습니다. 범위를 단순하게 유지하기 위해 "학생 / 교사 / 클래스"도메인을 살펴 보겠습니다. GET /students 액세스 할 수있는 리소스입니다. 사용자는 학생 및 / 또는 교사와 같은 역할을 할 수 있습니다 학생들은 자신의 수업 학생 만 이용할 수 …

3
단일 페이지 앱에서 브라우저 캐시 처리
단일 페이지 앱의 웹 브라우저 캐시를 올바르게 처리하는 방법을 찾으려고합니다. SPA를 구현하는 여러 HTML, JS 및 CSS 파일과 SPA가 소비하는 JSON 데이터가 상당히 일반적인 디자인입니다. 업데이트를 푸시 할 때 문제가 발생합니다. 사이트의 정적 부분과 JSON을 동시에 생성하는 코드를 업데이트하지만 클라이언트 브라우저에는 종종 정적 부분이 캐시되어 있으므로 오래된 코드는 새 데이터를 …

1
SaaS (Software as a Service) 모델에서 전체 GPL 라이브러리 사용
이미 사이트를 검색했지만 사람들이 판매 / 배포 할 소프트웨어에서 GPL 라이브러리 사용과 관련된 답변 만 찾을 수있었습니다. 이 경우에는 소스 코드를 사용할 수있게해야합니다. SaaS는 어떻습니까? 즉, 고객이 인터넷을 통해 사용하기 위해 월 사용료를 지불하는 앱을 구축 할 것이며, 아무것도 다운로드하거나 코드에 액세스하지 않을 것입니다. 질문 : 이 경우 소스 코드를 …

13
프로그래밍 언어가 동기 / 비동기 문제를 자동으로 관리하지 않는 이유는 무엇입니까?
나는 이것에 관한 많은 자료를 찾지 못했다. 동기 방식으로 비동기 코드를 작성할 수 있는지 / 좋은 아이디어인지 궁금했다. 예를 들어, 데이터베이스에 저장된 사용자 수를 검색하는 일부 JavaScript 코드는 다음과 같습니다 (비동기 작업). getNbOfUsers(function (nbOfUsers) { console.log(nbOfUsers) }); 다음과 같이 쓸 수 있으면 좋을 것입니다. const nbOfUsers = getNbOfUsers(); console.log(getNbOfUsers); 따라서 …

3
큰 시계열 데이터를 효율적으로 저장하는 방법은 무엇입니까?
매우 많은 양의 시계열 데이터를 저장하고 쿼리 할 수 ​​있어야합니다. 데이터의 속성은 다음과 같습니다. 시리즈 수 : 약 12.000 (12,000) 전 세계의 데이터 포인트 수 : 한 달에 약 500.000.000 (5 억) 혼합 값 유형 : 대부분의 데이터 포인트는 부동 소수점 값이고 나머지는 문자열입니다 샘플링주기 : 시리즈 간 및 시리즈 …

3
lock 문 안에 얼마나 많은 작업을해야합니까?
타사 솔루션에서 데이터를 받아 데이터베이스에 저장 한 다음 다른 타사 솔루션에서 사용할 데이터를 조정하는 소프트웨어 업데이트를 작성하는 중급 개발자입니다. 우리의 소프트웨어는 Windows 서비스로 실행됩니다. 이전 버전의 코드를 보면 다음과 같습니다. static Object _workerLocker = new object(); static int _runningWorkers = 0; int MaxSimultaneousThreads = 5; foreach(int SomeObject in ListOfObjects) { …
27 c#  .net  concurrency  locks 

6
분석법 추출과 기본 가정
큰 방법 (또는 절차 또는 함수)을 나눌 때이 질문 은 OOP에만 국한된 것이 아니지만 OOP 언어로 99 % 작업을하므로 가장 편한 용어입니다. , 나는 종종 결과에 불만을 느낀다. 큰 메소드에서 코드 블록 일 때보 다 작은 메소드에 대해 추론하기가 더 어려워집니다. 추출 할 때 호출자의 컨텍스트에서 오는 많은 기본 가정을 …

3
LESS와 같이 중첩 가능한 스타일 시트 언어를 사용하는 것보다 BEM을 더 좋게 만드는 것은 무엇입니까?
저의 동료는 그가 강요하고 있는 프로젝트에서 CSS에 대한 BEM ( Block Element Modifier ) 방법을 강하게 추진하고 있으며 , 우리가 몇 년 동안 작성한 LESS CSS보다 무엇이 더 나은지 이해할 수 없습니다. 그는 "고성능"을 주장하지만이 코드 샵에서 작성하는 웹 응용 프로그램의 종류에있어 성능이 얼마나 중요한지 상상할 수 없습니다. 우리는 여기서 …
27 css  less 

3
서버 측 vs. 클라이언트 측 vs 하이브리드에서 웹앱을 제작하십니까? [닫은]
웹 애플리케이션을 구축하는 방법에는 현재 여러 가지가 있습니다. 1. 서버 측만 이것은 Ruby on Rails, Django, Express, Play!와 같은 웹 프레임 워크로 서버에서 페이지를 렌더링하는 고전적인 접근 방식입니다. 프레임 워크 등 일반적인 워크 플로우 : 원하는 프레임 워크로 서버에서 모든 비즈니스 로직, 모델 및 뷰 템플릿을 구축하십시오. 2. 클라이언트 측 …

5
이 유형의 파서의 이름 또는 존재하지 않는 이유
기존 파서는 전체 입력을 소비하고 단일 파싱 트리를 생성합니다. 연속 스트림을 소비하고 구문 분석 포리스트를 생성하는 스트림을 찾고 있습니다 [ 편집 :이 용어를 사용하는 것이 왜 전통적이지 않은지에 대한 의견의 토론 참조 ]. 내 직감은 내가 그런 파서 를 필요로하는 (또는 내가 필요 하다고 생각할 수있는) 사람이 될 수 없다고 …
27 parsing 

6
int와 같은 기본 유형을 클래스로 구현할 때의주의 사항은 무엇입니까?
객체 지향 프로그래밍 언어를 디자인하고 함축 할 때, 어떤 시점에서 기본 유형 (예 int: float, double또는 등가물)을 클래스 또는 다른 것으로 구현하는 방법을 선택해야합니다 . 분명히 C 패밀리의 언어는 클래스로 정의 하지 않는 경향이 있습니다 (자바에는 특수한 기본 유형이 있고 C #은이를 불변의 구조체로 구현합니다). 기본 유형이 클래스로 구현 될 …

4
CPU 레지스터 란 무엇입니까?
이 질문은 지금 당장 나를 귀찮게 해 왔으며 오늘은 Google에서 할 것이라고 생각했습니다. 나는 그것에 대해 몇 가지를 읽었으며 항상 프로세서 캐시 라고 알려진 것과 매우 비슷해 보였습니다 . 둘 사이에 차이점이 있습니까, 아니면 그들이 동일하다고 생각할 때 맞습니까? 실제로 레지스터가 작동하려면 CPU 내부에 있어야합니까? Wikipedia에 따르면 레지스터는 RAM에 다시 …

7
타입 세이프 구조체 포인터 대신 퍼블릭 API로 캐스팅해야하는 불투명 한 "핸들"을 사용해야하는 이유는 무엇입니까?
공용 API가 현재 다음과 같은 라이브러리를 평가하고 있습니다. libengine.h /* Handle, used for all APIs */ typedef size_t enh; /* Create new engine instance; result returned in handle */ int en_open(int mode, enh *handle); /* Start an engine */ int en_start(enh handle); /* Add a new hook to the engine; …

2
Java에서 StackOverflowError를 잡아도 괜찮습니까?
나는 그것이 아니라고 생각했지만 어제 나는 그것을해야했습니다. Akka (JVM의 액터 시스템 구현)를 사용하여 비동기 작업을 처리 하는 응용 프로그램입니다 . 배우 중 한 명이 PDF 조작을 수행하고 라이브러리가 버그이기 때문에 가끔씩 죽습니다 StackOverflowError. 두 번째 측면은 Akka가 JVM 치명적 오류 (예 : StackOverflowError)가 발견되면 전체 액터 시스템을 종료하도록 구성되어 있다는 …

8
스크럼 마스터로서 개발 관리자의 부정적인 점은 무엇입니까?
팀 관리자가 스크럼 마스터가되어서는 안된다는 데 일반적으로 동의하지만, 그 이유를 확인하기 위해 고심하고 있습니다. 문맥 상, 저는 스크럼 팀에 4 명의 개발자가있는 응용 프로그램 개발 관리자입니다. 저는 스크럼 마스터 (Scrum Master) 배경 출신이며 조직에 스크럼을 도입했습니다. 나는 팀을 처음부터 구축했으며 내가하는 모든 일은 팀을 용이하게하고 결정을 내리는 것임을 분명히했습니다. 팀으로서 …
27 scrum  teamwork  team  roles 

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