묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Vue 3 시작하기
후속강의는 언제 나올 예정인가요?
궁금합니다!
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
실무에서 스프링부트의 내장 톰캣만으로 서비스가 되는지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요, 김영한 선생님 덕분에 스프링을 너무 재밌게 배우고 있는 학생입니다. 선생님께서 수업 중에, '옛날에는 스프링부트의 내장 톰캣 서버를 사용하지않고, 따로 톰캣과 같은 WAS를 띄워서 서비스를 배포했기 때문에 war 로 말아서 배포했다.' 라고 해주신 말씀이 있습니다. 제가 다니는 회사에서는 war는 현재 사용하지 않지만, 스프링 프레임워크를 고전 방식으로 사용하면서 Jetty 를 WAS로 사용하고, 한 모듈 당 수 십개의 jar 를 넣어서 배포하는 시스템을 가지고 있습니다. 실제로 다른 회사에서는 실무에서 스프링부트의 내장 톰캣 서버 만으로 대규모 서비스가 굴러가는 것인지 궁금합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Servlet Context의 request, response를 생성하는 주체
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Servlet Context의 request, response 객체를 만드는 주체가 어떻게 되나요?앞선 강의에서는 WAS라고 하시고 이번에는 Servlet Context라고 하셔서 좀 헷갈립니다.
-
해결됨스프링 핵심 원리 - 기본편
빈 등록 안 된 상태에서 @Autowired 사용
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8&unitId=55380&category=questionDetail&tab=community&q=602806 저랑 같은 궁금증을 가진 분의 질문을 보았습니다. new AnnotationConfigApplicationContext(); 인자 속에 DiscountService.class만 존재하는 경우, DiscountService 생성자의 매개 변수 타입이 빈 등록이 안 되어 있어 주입해 줄 타입의 빈이 존재하지 않아 오류가 발생해야 한다고 생각하는데 오류가 안 나는 이유는 스프링 컨테이너에서는 Map, List를 주입해 줄 때 내부적으로 빈 Map, List를 먼저 만들고,아무런 빈이 존재하지 않으면 빈 Map, List가 주입하게 되는 것이기 때문에 오류가 발생하지 않는다고 하셨는데 Map, List가 아닌 일반적인 경우와 비교되지 않아 아직 확실히 이해가 되지 않았습니다. 그러면 스프링 컨테이너에서 Map, List가 아닌 일반적인 빈을 주입해 줄 때는Map, List랑 다르게 내부적으로 무언가를 미리 만들어 두지 않기 때문에, 존재하는 빈이 스캔되지 않을 경우 아무 것도 주입할 수 없어서 오류가 나는 것이고, Map, List는 스캔되는 빈들이 따로 없어도 내부적으로 스프링이 만든 비어 있는 Map, List이 있어서 그걸 주입하므로 오류가 안 난다고 이해하면 되는 건가요? 그리고 답변 내용 중에 '스프링 컨테이너에서는 Map, List를 주입해 줄 때 내부적으로 빈 Map, List를 먼저 만들고, ' '빈 Map, List'라는 것은비어 있는 Map, List인가요Bean Map, List인가요?'비어 있는'이랑 '빈(Bean)'이랑 헷갈려서 질문드립니다.
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
온라인게임 제작 파트를 공부 중 궁금한 것이 있습니다.
제가 이해하기론 서버에서 플레이어를 생성하고 처음 네트워크 통신 간 세션에 클라이언트가 등록되었을 때 클라이언트와 서버에서 생성한 플레이어를 붙이는 것으로 이해했습니다. 혹시 그럼 처음 통신을 했을 때는 클라이언트가 서버에 보내는 패킷에 초기값을 전달 후 서버에서 설정해서 다시 패킷을 send 해주는 방식으로 이해했는데 제가 이해한 방식이 맞는 것인지 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
전처리 질문입니다.
데이터 스케일링과 인코딩을 위해 make_column_transformer를 사용하고 샆은데,혹시 이것을 사용하면 문제가 될 것이 있을까요? 그리고, 통계쪽에서, stats_models까지 준비해야 할까요?.. 아직 공개된 패키지에는 없어 보이는데..시간은 없는데 할게 많다보니...ㅠㅠ
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
서버에 여러명이 동시 접속 시 잘못된 개인정보 전송 오류
안녕하세요 제로초님~ 금일 질문드리고자 하는 내용은 제 ec2 에 띄워둔 nest.js 서버에 여러명이 동시에 접속 시, 서버의 오작동에 관한 내용입니다.nest.js 로 개발을 하면서 여러 사람이 서버에 동시에 로그인을 하면, 로그인한 당사자가 아닌 다른 사람의 회원정보가 나타나는 버그를 발견했습니다. 그래서 인터셉터를 사용하여 사용자에게 응답을 보내기 전 한번 더 검증을 진행하는 방식으로 해결을 했지만, 여러 의문점들을 해결하지 못하여 질문드립니다.1. 인터셉터를 사용하여 위 문제를 해결한 것이 올바른 접근 방식일까요? 팀원들에게 물어보니 인터셉터를 적용한 후에 위 같은 현상이 사라졌다고는 합니다.2. 이러한 문제가 나타나는 이유가 무엇일까요? 제 예상으로는 Node.js 가 싱글스레드라서 여러 요청이 한번에 몰려오면 비동기 부분이 꼬여서 나타나는 문제일까 생각했습니다. 그런데 챗지피티에게 물어보니 오히려 싱글스레드, 싱글톤이면 꼬일 일이 없다고 해서 더 혼란스럽네요. ============================================깃허브 저장소 컨트롤러 부분 : https://github.com/fog-of-war/dev-be/blob/dev/src/users/users.controller.ts#L63서비스 부분 : https://github.com/fog-of-war/dev-be/blob/dev/src/users/users.service.ts#L72가드 부분 : https://github.com/fog-of-war/dev-be/blob/dev/src/auth/guard/at.guard.ts#L13전략 부분 : https://github.com/fog-of-war/dev-be/blob/fff2d70af55ba51d1b3649006774b4d2aec7d566/src/auth/strategy/at.strategy.ts#L12인터셉터 부분 : https://github.com/fog-of-war/dev-be/blob/dev/src/common/interceptor/user-sub-check.interceptor.tsGetCurrentUser 데코레이터 부분 : https://github.com/fog-of-war/dev-be/blob/dev/src/auth/decorator/get-current-user-id.decorator.ts#L4============================================아래의 글은 제가 해결해보면서 적은 블로그 글입니다. ### 1. 로그로 찍어보기일단 로그로 어떻게 된 일인지 확인해봤다.```ts@UseGuards(ATGuard) @Controller("users") export class UsersController { constructor( private userService: UsersService, private logger: LoggerService ) {} /** 나의 정보 가져오기/ 마이페이지, 메인페이지 사용 */ @Get("me") async getMe(@GetCurrentUserInfo() user) { // 1. 여기선 user_id : 3 으로 출력되나 this.logger.log("1️⃣ 1. 자신의 회원정보 호출한 사람 ", user["sub"]); const result = await this.userService.findUserById(user["sub"]); // 2. 여기선 user_id : 2 의 정보를 출력 후 user_id : 3 에게 응답 this.logger.log("2️⃣2. 자신의 회원정보 호출 결과", result); return result; } }user_id : 3 이 'users/me' 요청을 했을때 1️⃣ 로그에서는 정상적으로 요청한 사람의 정보를 출력했다.그러나 서비스 계층 비즈니스 로직을 지난 뒤인 2️⃣ 로그에서는 user_id : 2 의 정보를 출력했다.엑세스토큰 소유자의 것이 아닌 동시에 접속한 다른 사람의 정보를 전달한 것이다.혼자 로컬에서 여러 계정으로 로그인해가며 작업을 할 땐 이런 현상이 없었기에, Node.js 의 싱글스레드 방식 때문이 아닐까 예상했다.### 2. 비슷한 사례 찾아보기"로그인하면 다른 사람 정보가"···리디, 개인정보 유출 사고[https://v.daum.net/v/20230329083313717](https://v.daum.net/v/20230329083313717)올리브영 개인정보 노출 사건, 무슨 일이 일어났을까?[https://www.boannews.com/media/view.asp?idx=114594](https://www.boannews.com/media/view.asp?idx=114594)리디북스의 경우 CDN 서버 캐시 설정 오류, 올리브영의 경우 CDN 오류 였다고 한다. 현재 내 서버는 CDN 방식을 사용하지 않고 있다.올리브영, 아직 조사 중이라 상세 내용 공개 어려워그러면서 “CDN(콘텐츠 배포 네트워크)에서 일시적인 오류가 발생해 일부 고객들의 정보가 노출된 것”이라고 설명했다. CDN이 엉키면 사용자가 특정 콘텐츠를 요청했을 때, 엉뚱한 결과가 출력되는데, 바로 그런 일이 일어났다는 것이다.Open AI 의 경우 Redis 라이브러리 버그[https://www.clien.net/service/board/news/17984872](https://www.clien.net/service/board/news/17984872)클리앙의 경우 Redis 라이브러리 버그[https://www.clien.net/service/board/annonce/17922106](https://www.clien.net/service/board/annonce/17922106) Open AI 와 클리앙의 경우 레디스 라이브러리 버그로 발생했다고 한다. 하지만 내 서버에 레디스를 설치하기 전에도 해당 버그는 발생했었다. 정확한 원인이 파악되었습니다.저희가 서버에서 세션을 저장하고 있는 redis(일종의 메모리db)가 한계수치 이상의 부하를 받으면 인덱스가 깨지는 현상이 발생한다고 합니다.국내 대형 쇼핑몰 두곳에서 최근 유사한 증상이 있어 관련자들에게 문의해본 바 저희와 같은 증상이었습니다. 이번의 여러 조치 중 redis 통신 최적화 작업도 진행하였기에 다시 재발되지 않을 것입니다.더 줄일 수 있는 요소가 있으므로 추가적인 작업을 진행할 예정입니다.### 3. 해결 방안클라이언트에게 데이터를 돌려보내기 전에 한 번 더 검증을 진행하기로 했다.들어오는 모든 요청을 인터셉터가 먼저 확인하고, 해당 엔드포인트가 Access Token 을 사용하는 메서드라면 user_id 를 originalUserSub 라는 변수에 기록해둔다.그리고 응답을 반환하기 전, 반환 값에 들어있는 user_id 와 originalUserSub 의 동일 여부를 검증한다.만약 검증을 통과하지 못한다면 해당 요청을 무효화하고 다시 실행하게끔 로직을 구성했다.import { Injectable, NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common'; import { Observable } from 'rxjs'; import { switchMap } from 'rxjs/operators'; import { LoggerService } from '../../logger/logger.service'; @Injectable() export class UserSubCheckInterceptor implements NestInterceptor { constructor(private readonly logger: LoggerService) {} intercept(context: ExecutionContext, next: CallHandler): Observable<any> { const request = context.switchToHttp().getRequest(); const user = request.user; const originalUserSub = request.user.sub; return next.handle().pipe( switchMap(async (data) => { if (user['sub'] && data.user_id) { if (data.user_id && originalUserSub !== undefined && data.user_id !== originalUserSub) { // user["sub"] 값이 변경되었으므로 해당 메서드를 다시 호출합니다. this.logger.log("UserSubCheckInterceptor : user['sub'] 가 동일하지 않습니다 " + originalUserSub + "!==" + data.user.user_id) return await next.handle().toPromise(); } } return data; }), ); } }https://github.com/fog-of-war/dev-be/blob/dev/src/common/interceptor/user-sub-check.interceptor.ts
-
미해결[LV2] 이펙터로 취업하기 위한 포트폴리오 만들기
[25강: Bottom 이펙트의 중요기술 - Distortion 배우기] 검정테두리
강의 17:00 정도에 전에 Opa 영역안에 Emi가 더 작으면 남은 부분은 검정색으로 표현된다고 하신 내용을 바탕으로 장판이펙트에 검정 테두리를 만들고 있었는데요!우선 원본은 이렇습니다. 1. Emissive 영역에 (Emi_Pattern 텍스처만큼)하게 곱해주는데, 왜 검정 테두리가 나오는 건가요..? Emi를 더 작게 해주어야 나오는 거 아니에요? 이해가 어려워요..이것만 해줘도 바로 검정테두리가 약간 보이더라구요 2. 아래는 Opacity영역을 좀 더 키워주는데, 위에 Emi를 곱하지 않고서는 검정 테두리가 안 나오는 이유가 뭔가요? 3. 결론적으로 위 두 가지를 다하면 정상적으로 나옵니다제가 놓친 게 있을까요?1번과 2번의 중간과정에서 이해하고 있던 거랑 결과가 달라 질문드립니다!
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
이 테스트 코드가 통과하는 이유
@Test void test(){ Controller controller = new Controller(); Assertions.assertThatThrownBy(()->controller.controller()) .isInstanceOf(RuntimeSQLException.class); } ***************** static class Service{ Repository repository = new Repository(); NetworkClient networkClient = new NetworkClient(); public void service() { repository.call(); networkClient.call(); } } 지금 서비스 로직에서 메서드 두개를 호출했는데 하나는 RuntimeConnectionException이 throw되고 다른 하나는 RuntimeSQLException이 throw가 되는데 테스트 코드가 성공할 수 있나요??
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
requestBodyJsonV1에 대한 질문이 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]requestBodyJsonV1에 대한 질문이 있습니다.@PostMapping("/request-body-json-v1") public void requestBodyJsonV1(HttpServletRequest request, HttpServletResponse response) throws IOException { ServletInputStream inputStream = request.getInputStream(); String messageBody = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8); log.info("messageBody={}",messageBody); HelloData helloData = objectMapper.readValue(messageBody,HelloData.class); log.info("helloData={}",helloData); response.getWriter().write("ok"); }위는 예제 코드입니다. 아래와 같이 inputStream 을 바로 역직렬화 시키는 것이 효율적이라는 생각이 드는데 문자열로바꾸는 특별한 이유가 있을가요?? 단순 로그로 출력해보기 위함일까요?? 아니면 다른 이유가 있어서 일까요??@PostMapping("/request-body-json-v1") public void requestBodyJsonV1(HttpServletRequest request, HttpServletResponse response) throws IOException { ServletInputStream inputStream = request.getInputStream(); HelloData helloData = objectMapper.readValue(inputStream,HelloData.class); log.info("helloData={}",helloData); response.getWriter().write("ok"); }
-
미해결[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
린터 Parsing error
안녕하세요.린터와 포멧터 강의 따라하면서 모든 설치와 적용을 끝냈는데요. 하던 중에 .eslintrc.js에서 다음과 같은 에러가 뜨기 시작하더라구요.해결방법 서치하다가 아래 코드를 추가했더니 위 에러는 사라지긴 했는데 맞는 해결방법인지 모르겠네요.ignorePatterns: [".eslintrc.js"]그리고 이 코드를 넣든 안 넣든 class 내에 있는 모든 js 파일들에서 import 부분에 Parsing error가 나네요...(ts, tsx 파일들은 제대로 lint가 작동하는 것 같아 전부 고칠 수 있었습니다)이런 오류가 아마 모든 js 파일에서 뜨네요yarn lint하면 이렇게 도배가 되구요... 어떻게 해결해야 하나요?참고로 .eslintrc.jsmodule.exports = { env: { browser: true, es2021: true, }, extends: ["standard-with-typescript", "plugin:react/recommended", "prettier"], overrides: [ { env: { node: true, }, files: [".eslintrc.{js,cjs}"], parserOptions: { sourceType: "script", }, }, ], parserOptions: { project: "**/tsconfig.json", ecmaVersion: "latest", sourceType: "module", }, plugins: ["react"], rules: { "react/react-in-jsx-scope": "off", "@typescript-eslint/no-misused-promises": "off", "@typescript-eslint/no-unused-vars": "off", }, ignorePatterns: [".eslintrc.js"], }; tsconfig.json{ "compilerOptions": { "target": "es5", "lib": ["dom", "dom.iterable", "esnext"], "allowJs": true, "skipLibCheck": true, "strict": true, "forceConsistentCasingInFileNames": true, "noEmit": true, "incremental": true, "esModuleInterop": true, "module": "esnext", "moduleResolution": "node", "resolveJsonModule": true, "isolatedModules": true, "jsx": "preserve" }, "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], "exclude": ["node_modules"] } 폴더 구조입니다!
-
해결됨Practical Testing: 실용적인 테스트 가이드
null 검증
안녕하세요! 우빈님. 테스트 강의에서 많은 인사이트를 얻고 갑니다! 작은 고민이 하나 있는데요! 우빈님은 어떻게 생각하시는지 궁금하여 여쭈어봅니다!바로 도메인 객체에서의 null 검증인데요!BeanValidation을 통해서 Presentation에서 검증을 하더라도, 도메인 단에서 또 null 검증을 해주어야 하는가에 대한 질문입니다. 팀원들과 팀플을 하다보면 @NotNull 을 이용하여 Presentation 단에서 검증이 될텐데, 도메인에서도 null 검증을 해주어야 하는가!? 에 대한 질문을 많이 받습니다. 개인적으로 저는 Presentation 단에서 검증이 되더라도 실제로 객체가 생성될 때 까지의 일련의 과정들 속에서 객체에 온전한 값이 들어가지 않을 것 같아 null 체크 또한 해주는 것이 안정적인 코드를 만들어 줄 수 있다고 생각하는 편인데요! 이러한 작업들이 그래도 비용이 들어가는 측면이라, 개발 속도에 영향을 미쳐서 그런지 선호하지 않는 분들도 종종 만났던 것 같습니다! 혹시 우빈님 생각은 어떤지 의견을 한 번 여쭈어보고 싶습니다
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-J 질문 드립니다.
#include<iostream> #include<algorithm> #include<stack> using namespace std; typedef long long ll; ll n, m, ans, last_su; ll a[10004]; int check(ll mid){ ll cnt =0; for(int i=0; i<m; i++){ cnt += mid / a[i] + 1; } return cnt >= n; } ll last_check(){ ll cnt=0; for(int i=0; i<m; i++){ cnt += (ans-1) / a[i] + 1; } return n - cnt; } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n >> m; for(int i=0; i<m; i++){ cin >> a[i]; } // 이 부분 ll l=0, r=6*1e10+4; while(l <= r){ ll mid = (l+r)/2; if(check(mid)){ r = mid-1; ans = mid; } else{ l = mid+1; } } if(ans){ last_su = last_check(); }else{ cout << n << '\n'; return 0; } vector<ll> v; for(int i=0; i<m; i++){ if(ans % a[i] == 0){ v.push_back(i+1); } } cout << v[last_su-1] << '\n'; } 다른 부분은 아니고 위의 코드를 제출 했을 때 정상적으로 맞았다고 나오는데, 시험삼아 while(l<=r) 위의 줄에서, 이분탐새하기 직전 l과 r을 선언하는 줄에서r = 1e18로 정의하였을 때 오답이 나옵니다.1e18도 long long의 범위 이내인데 어째서 오답이 나오는지 모르겠습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
java.io.EOFException: null 와 404 에러
======================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요?(예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 아니오[질문 내용]여기에 질문 내용을 남겨주세요.서블릿 강의 중에 API 메시지 바디 - JSON을 하면서다음과 같이 진행이 안됩니다. 코드는 강사님 코드와 동일하고, 포스트맨에서 POST로 확인 했는데 콘솔에Content-Type: application/jsonUser-Agent: PostmanRuntime/7.34.0Accept: /Postman-Token: 27fdcc4a-f020-49d5-88f6-0b047d72a545Host: localhost:8080Accept-Encoding: gzip, deflate, brConnection: keep-aliveContent-Length: 45{"username": "hello","age": 20}]이렇게 넘어오지만,(아마 application.properties에logging.level.org.apache.coyote.http11=debug설정에 의해서 저런식으로 콘솔에 찍히는 것 같은데 )System.out.println("messageBody = " + messageBody);System.out.println("helloData.username = " + helloData.getUsername());System.out.println("helloData.age = " + helloData.getAge());로는 콘솔에 안찎히는 것을 보니 RequestBodyJsonServlet 클래스로는 데이터가 넘어오지 못하는 것 같습니다.뭐가 문제일까요.. 커뮤니티에서 비슷한 404 관련,java.io.EOFException를 봐서 build.gradle도 리프레쉬 하고@ServletComponentScan 도 확인해봤는데 여전히 안되네요
-
미해결워드프레스 기초부터 쇼핑몰까지
우커머스쇼핑몰셋팅 14:59 강의
안녕하세요우커머스쇼핑몰셋팅 14:59 강의에서요,14:58애 Rest API내용 녹화가 잘린것 같은데요,혹시 어떤 내용으로 끝났을까요?영상에서는 "타 온라인 서비스와 공유하거나...." 이렇게 끝이 나거든요.다음 강의에서도 이어지지 않아서 문의드립니다. 감사합니다.
-
미해결토비의 스프링 부트 - 이해와 원리
스프링 spring get/post 보안 관련 문의 드립니다
스프링 spring 보안 관련 문의 드립니다 토비님 안녕하세요 ~여전히 공공기관 프로젝트에 참여 중 인데요스프링 보안 관련 해서 문의 드립니다현재 기 구축되어 있는 프로젝트 소스에서 고도화 및 신규 프로그램 개발 중입니다그러던 중 공공기관 관리자 담당자가보안 관련 지적을 하셨습니다 -.공무원 담당자 지적사항 내용 https://www.url.com?paramA=파라미터a¶mB=파라미터b => 현재 일반 조회는 스프링 겟 매핑 방식 으로 하고 있습니다사이트를 사용하는 일반 유저가브라우저 url 주소창에 파라미터만 수정해가면서 조회 하면조회 결과가 달라져 나오는데 이거 보안상 문제 있는거 아니냐고 따져 지적을 합니다 기 구축되어 있는 소스에는 request 할때따로 인코딩/디코딩이 되어 있지 않는데토비님이 경험해오신 스프링 get/post 보안관련 지적 사항이 나오지 않을려면저희 프로젝트에서 어떻게 전체 소스(js, java ) 에 어떤 보안 관련 기능을 추가 할 수 있을까요? 참고로 구글도 검색어에 '토비' 라고 치고개발자 도구 열어서 payload 보면 한글 그대로 넘어가던데이게 공무원 담당자가 보안 관련 지적 하는게 맞는 건지도저는 모르겠습니다한가하실 때 시간 나시면 조언 부탁 드립니다감사합니다 수고하세요~ 김동희 드림 #토비#토비의스프링#spring#스프링#보안#get#post#parameter#파라미터#문제
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
판다스 똑같이 코드를 넣었는데 이렇게 뜨면 뭐가 문제인가요?
(사진)
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Error (Xcode): Sandbox: rsync(13885) deny(1)
안녕하세요 아이폰 15 ios17 xcode15로 업그레이드 하고 나서부터 위와같은 오류로 빌드가 안되는데 혹시 이 이슈 알고 계실까요?
-
미해결
springboot 트랜잭션 관련 질문있습니다
https://stackoverflow.com/questions/71129541/save-using-spring-data-jpa-and-find-using-jdbctemplate-within-same-transaction공부하다 궁금한 점이 생겼습니다부트에서 @Transactional 사용시 메서드 안에 jpa와 jdbc 템플릿을 혼용하여 사용했는데 위와 같은 문제 사항이 생겨서 해결가능한지 여쭙고 싶습니다.뭔가 제 예상에는 jpa로 insert한것이 아직 커밋되지 않아 영속성 컨텍스트에 남아있는데 해당 로우를 jdbc를 사용해서 db에서 직접 접근하여 select해오려 해도 아직 영속성 컨텍스트에서 flush 도ㅣ지 않아서 저런 문제가 발생하는게 아닐까 생각은 하는데 정확히 모르겠습니다...고수님들 제발 도와주세요!!!!!!!!!
-
미해결유니티 Addressable 을 이용한 패치 시스템 구현
Addressables.CheckForCatalogUpdates()에 대해서 질문있습니다.
Addressables.CheckForCatalogUpdates()의 결과가 0이라서 다운로드 받을 수는 0인데, Addressables.GetDownloadSizeAsync()의 결과는 제대로 에셋의 크기를 반환해줍니다.다운로드 이후에는 Addressables.CheckForCatalogUpdates()는 0, Addressables.GetDownloadSizeAsync()도 0이라서 다운로드는 된거 같은데, Addressables.CheckForCatalogUpdates()가 0으로 표시되는 이유가 뭔가요?윈도우10 유니티 에디터에서 플레이 모드로 했고, 영상을 보면서 로컬 빌드 건너뛰고, 리모트 빌드로 했습니다.