안녕하세요. 실제 투입 공수 산정 후 맨먼스 구성을 할텐데 프로젝트 볼륨이나 정확한 기획 범위/디자인 범위가 나와야지 산정할수 있을거 같은데.. 대부분 SI 프로젝트가 그렇듯 프로젝트 볼륨 파악이 정확하지 않은 상태에서 시작하잖아요? 그럴경우 좀더 수익 리스크를 줄이기 위해서 멤버스 구성을 잘 할 수 있는 방법이 있을까요? 또 턴키 방식일 경우 인력소싱 비용 + 관리비 등등도 포함되어 계약이 되는걸로 알고 있는데 이런 비용 산정을 잘 할 수 있는 방법도 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. JPA활용2편과 JPA 데이터 강의를 보면 DTO를 직접 반환하는 부분에서 질문드립니다. 강의 수강이전에 repository에서 가져온 Entity를 직접조회하여 가져온 값을 service계층에서 lombok의 builder어노테이션을 이용하여 DTO형태로 직접조립하여 클라이언트에게 반환하는 API를 주로 구성했습니다. 근데 실무에서는 주로 위와 같은 방법이 아니라 repository계층에서 DTO를 직접 불러와서 조립하는 방식을 선호되나요?
[질문 내용] 여기에 질문 내용을 남겨주세요. 7:36에서 obj1, obj2를 출력하는데, obj1, obj2의 객체 정보가 출력이 되었는데, 이유가 메인메서드 처음부분에, obj1과 obj2의 객체가 만들어 지는데, 이때 obj1의 객체 안에는(obj1, Object)클래스 정보가들어있고 obj2객체 안에는(obj2, Object)클래스정보가 들어있는데 System.out.println()메서드 안에 객체를 넣으면 내부에서 자동적으로 객체명.toString()메서드가 실행이 되는데, 자식클래스(obj1, obj2)모두가 toString()을 오버라이딩 하지 않아, Object의 toString()이 호출이 되는데, 호출하는 변수가 각각 obj1, obj2여서 호출하는 변수 타입의 객체 정보가 출력이 된다. 맞나요? 잠시 헷갈렸는데 맞을까여?
A problem occurred configuring root project 'hello-spring'. > Could not resolve all artifacts for configuration 'classpath'. > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.4.1. Required by: root project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.4.1 > Dependency requires at least JVM runtime version 17. This build uses a Java 8 JVM. * Try: > Run this build using a Java 17 or newer JVM. > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org . Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.11.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. 인텔리제이에서 open 폴더로 hellospring 열었는데 해당 오류가 뜨네요 이거 뭔가요?
기선님 안녕하세요. 문제를 풀다가 궁금한 점이 생겨서 질문드립니다. 배열 문제 3의 solution2와 관련된 질문입니다. private int[] solution2(int[] nums, int target) { HashMap<Integer, Integer> numberMap = new HashMap<>(); for (int i = 0; i < nums.length; i++) { if (numberMap.containsKey(target - nums[i]) && numberMap.get(target - nums[i]) != i) { return new int[]{numberMap.get(target - nums[i]), i}; } else { numberMap.put(nums[i], i); } } return null; } 상단 코드의 if 조건문에서 "numberMap.get(target - nums[i]) != i" 이부분이 반드시 필요한지, 아니면 없어도 똑같은 결과를 도출할 수 있는 지가 궁금합니다. 제가 생각하기에는 배열을 1회만 순회하기 때문에 상기한 조건이 없어도 똑같은 결과가 나올 것 같은데 기선님의 생각이 궁금합니다. 답변 부탁드립니다.
안녕하세요 조은님!! 😀 강의 너무 잘봤고 완강 후 질문 남깁니다! 마지막 기능인 PPR와 Suspense를 적용한 이후에 html에서 확인해봤을 때 동적인 요소로 채워지고 있는 것을 확인할 수 있었습니다. 그런데 Vercel에서 Build Logs 를 확인해보면 ◐ (Partial Prerender) 으로 뜨는 것이 아니라 여전히 ● (SSG) prerendered as static HTML 으로 뜨는데요, PPR 적용이 잘 된게 맞을까요? Suspense가 적용이 잘 되는데 PPR은 적용이 안된걸까요? 코드 작업 후 적용결과 첨부하겠습니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. "초과 스레드가 작업을 처리할 때 마다 시간은 계속 초기화된다" 7:36초에 말씀을 해주셨는데, 한가지 궁금한 점이 생겨 질문 드립니다! 큐가 가득 차서 초과 스레드가 이미 만들어 졌다고 가정한 상황입니다. 이후에 작업이 없어서 큐가 비어있다고 가정을 하겠습니다. 즉, 상황은 큐가 비어있고, 스레드 풀에 기본 스레드 2개, 초과 스레드 2개가 있습니다. 이 때, Executors 에 새로운 작업이 들어오면 이 작업은 무조건 기본 스레드가 초과 스레드 보다 먼저 작업을 수행하게 되나요? 만약, 기본 스레드가 먼저 작업을 무조건 수행하게 된다면 이는 BlockingQueue의 내부 구현인 ReentrantLock 과 Condition 으로 인해 WAITING인 기본 스레드 부터 깨우게 되는 것인가요?
강의 잘 듣고있습니다. 현재 service단의 update메서드에는 merge로 병합처리를 하고있지만 accountRepository에서 findById와 같이 수정할 account객체를 찾아내서 영속화를 시켜준뒤에 수정을 하면 dirty checking으로 인한 수정법이 더 안전한 방법일까라고 생각이되서 질문드립니다.
Kernel.php가서 routeMiddleware에 새로 생성한 TestMiddleware를 등록하려 하였는데 $routeMiddleware가 없습니다... 다만 내용이 동일한 $middlewareAliases가 있어서 여기에 연결 작업을 했는데, 동일하게 동작하는 것을 확인했습니다. 혹시 무슨 차이가 있는 것인지 알 수 있을까요? 확인해보니 제 라라벨은 10.42.0버전이라고 되어있습니다. 단순 버전 차이일까요..?
#include <stdio.h> int main() { int nArray[5][5] = { 0 }; int cnt = 0; int tnt = cnt + 5; for (int i = 0; i < 5 ; ++i) { if (i%2 == 0) // 짝수 홀수구분 for (int j = 0; j < 5; ++j) { nArray[i][j] = ++cnt; } else for (int k = 4; k >= 0; --k) { nArray[i][k] = ++cnt; } } for (int i = 0; i < 5;++i) { for (int j = 0; j < 5; ++j) { printf("%d ", nArray[i][j]); } putchar('\n'); } printf("%d", cnt); return 0; } i값을 짝/홀 수로 분류하는 것 까지는 동일한데 열 부분을 보수 생각을 못하고 for문을 하나 더 돌려서 4에서부터 1씩 감소하는 방향으로 풀었는데 논리적으로 오류가 없을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] servlet hello 부분 오류가 해결이 되지 않아 문의 남깁니다 Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2025-01-09 11:09:37.846 ERROR 9180 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'servletComponentRegisteringPostProcessor': Unexpected exception during bean creation; nested exception is java.lang.NoClassDefFoundError: javax/servlet/annotation/WebServlet package hello.servlet; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; @ServletComponentScan // 서블릿 자동 등록 @SpringBootApplication public class ServletApplication { public static void main(String[] args) { SpringApplication.run(ServletApplication.class, args); } } package hello.servlet.basic; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet(name="helloServelet", urlPatterns = "/hello") public class HelloServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("HelloServlet.service"); } }