묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
75. 최대 수입 스케쥴 sort
sort(T.begin(), T.end());하는 이유가 궁금합니다. 정렬 안해도 if(T[j].when<i) break;에서 걸러질텐데 앞에서 소팅하는 이유가 있는건가요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
질문이 있습니다.
선생님의 flutter-lv2-server-main 파일은,만약 앱하나를 직접 만드는 개발자라면 이 파일도 직접 만들 줄 알아야 할까요?만든다면 어떻게 만들면 될까요?이것에 관한 수업은 없을까요?만약 이것에 관한 수업을 듣는다면, 어떤 영상을 찾아서 봐야할까요?직접 앱을 만들어서 공식 론칭을 하려고 할때, 이런 서버파일도 필요할텐데, 현재 이 수업에서는 그냥 선생님의 파일을 다운받아 스웨거 화면으로 넘어가고 있습니다. 이런 모든 과정에 대해 배우고 싶습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
하나의 데이터베이스 서비스에 각각 다른 데이터베이스간 엔티티 관계설정이 가능한지 궁금합니다.
질문드립니다. 각각 다른 데이터베이스에 있는 테이블을 엔티티로 만들어서 둘간의 관계를 구성할 수 있을까요? 조금 더 설명을 드려보면하나의 MySQL 서비스에 A1 이라는 DB 와 A2 라는 DB 를 각각 만들어서 운영중이라고 하면A1.Table1 과 A2.Table2 가 각각 엔티티로 구성되고, 그것의 관계설정에는 문제가 없는지가능하다면 어떤 방법을 사용하면 좋을지 궁금합니다.단 DB 에 연결되는 계정은 두개의 DB (A1, A2) 모두에 권한을 가지고 있는 상황입니다. 혹시 방법이 있을지 문의드립니다.감사합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
타임리프 disabled에 대해 설명해주세요
타임리프에서 disabled 속성을 사용하면 양식 요소를 비활성화하여 사용자의 입력을 제한할때 유용하다고 알고있는데 그럼 이기능을 사용하면 아예 사용자는 수정이 불가능한건가요? 잘이해가안가네요 이걸 쓰면 사용자는 이 필드를 어떻게 활용하죠??
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
DNS 관련 질문입니다.
루트 네임서버와 탑레벨 네임서버는 공용인가요?공용이라는 의미는 모든 DNS가 .이 공통일거 같고 com, net 같은거는 동일할거 같아서요. 글로벌리 동일한 서버인건지? 동일한 서버그룹인건지?동일하다면 누가? 관리주체인지? 동일하지 않다면 어떤 기준으로 정해지고, 각각의 서버 관리주체는 누구인건지 궁금합니다!
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
제 실력으로 최대한 머리 짜내서 혼자 풀어 보았습니다. 너무 허접 할까요?
<script> function solution(arr) { const initialValue = 0; const result = arr.reduce((prev, current) => prev + current, initialValue); const overSum = result - 100; const pickNum = []; for (let i = 0; i < arr.length; i++) { for (let j = 0; j < arr.length; j++) { if (arr[i] === arr[j]) continue; if (arr[i] + arr[j] === overSum) pickNum.push(arr[i]); } } return arr.filter((val) => val !== pickNum[pickNum.length - 2] && val !== pickNum[pickNum.length - 1] ); } let arr = [20, 7, 23, 19, 10, 15, 25, 8, 13]; //let arr = [25, 7, 23, 19, 10, 55, 20, 8, 13]; //let arr = [33, 9, 23, 17, 10, 55, 20, 8, 13]; //let arr = [13, 9, 61, 17, 11, 22, 20, 8, 70]; console.log(solution(arr)); </script> 코드 설명reduce 함수로 먼저 모든 9명의 난쟁이 녀석들 합을 구합니다.난쟁이 합은 총 100이니까 9명의 난쟁이 합 - 100을 합니다. ( 100보다 작을순 없으니까)범인은 2명이니까 중첩 for문을 돌려서 두명의 합이 2번의 값과 같은 녀석을 구합니다. pickNum 배열에 첫번째 녀석과 두번째 녀석이 담깁니다.filter함수를 이용해서 첫번째 가짜 난쟁이 값과 두번째 가짜 난쟁이 값에 해당하지 않은 녀석들로 진짜 난쟁이들 배열을 구성합니다여러가지 테스트 케이스를 만들어서 해보았는데, 진짜 난쟁이들 잘 찾습니다
-
해결됨FreeRTOS 프로그래밍
세마포어,뮤텍스 초기값 질문
안녕하세요 강의 수강 후 혼자 복습하는 중인데 세마포어 초기값 관련 이해가 가지 않는 부분이 있어 질문 드립니다. 1번 질문.05_SEM 실습예제에서sem_id = xSemaphoreCreateBinary(); -> 초기값 0?--- loops = 10; for(;;) { // 세마포어 대기 if (xSemaphoreTake(sem_id, portMAX_DELAY) == pdTRUE) { printf("."); fflush(stdout); } sem_val=uxSemaphoreGetCount(sem_id); //printf("sem_val is %d\n", (int)sem_val); if(loops == 0) break; // exit loops--; } 위의 경우 printf 출력되지 않고 세마포어에 의해 바로 태스크가 블럭상태에 빠집니다.따라서 초기값은 0으로 예상됩니다. 07_MUTEX 실습예제에서mutex_id = xSemaphoreCreateMutex(); -> 초기값 1?---int buyTicket(void){ /* TODO #2: MUTEX 을 이용하여 공유변수(tickets)를 보호한다 */#if 1 // CRITICAL SECTION(ENTER) xSemaphoreTake(mutex_id, portMAX_DELAY);#endif // TODO #2 tickets --; // ticket count#if 1 // CRITICAL SECTION(EXIT) xSemaphoreGive(mutex_id);#endif // TODO #2 return(tickets);} 위의 경우 초기값이 1이어야 해당 함수가 바로 블럭에 빠지지 않고 수행되므로 1로 예상됩니다.영상에서는 초기값이 1로 수행된다고 이해했는데, 그렇다면 세마포어 예제에서 printf함수가 수행이 되는게 맞는데 되지 않습니다. 초기값이 서로 다르게 입력되는 것인지 궁금합니다. 2번 질문.05_SEM 실습예제에서 카운트값을 디버깅하고 싶어서 보다가#if 1 sem_id = xSemaphoreCreateBinary(); if (sem_id == NULL) printf("xSemaphoreCreateBinary error found\n"); sem_val = uxSemaphoreGetCount(sem_id); --- loops = 10; for(;;) { // 세마포어 대기 if (xSemaphoreTake(sem_id, portMAX_DELAY) == pdTRUE) { printf("."); fflush(stdout); } sem_val=uxSemaphoreGetCount(sem_id); //printf("sem_val is %d\n", (int)sem_val); if(loops == 0) break; // exit loops--; } 세마포어 생성 후 uxSemaphoreGetCount 함수를 호출하면 세마포어가 블럭상태에 빠지지 않고 printf함수가 출력이 됩니다. (실제 디버깅 해보면 sem_val 변수값은 0으로 찍힙니다)위 함수에서 V연산을 하는 행위가 있는 것인가요? 3번 질문.xSemaphoreCreateBinary()와 vSemaphoreCreateBinary()의 차이점이 무엇인지 궁금합니다.
-
미해결쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS
2-4 수정중 오류
안녕하세요 쥬쥬님 강의 너무 잘 듣고 있습니다 제가 따라가는건 잘했는데 지금 AGE 부분이 프라이머리 키로 지정이 되어있는 것 같은데 어디서 부터 잘못된건지 모르겠습니다...
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프2탄]
fileItem.getName().substring(idx+1) 사용 이유가 궁금합니다.
System.out.println(); 을 찍으면서 공부 하던중System.out.println(fileItem.getName()); 을 찍어보니 "IMG_0142.JPG" 이런 식으로 파일이름만 나오더라고요.fileName=fileItem.getName().substring(idx+1); 코드를 fileName=fileItem.getName(); 이렇게 바꿔서 넣어줘 봐도 오류 없이 잘 실행 되더라고요.왜 저런 식으로 코드를 처리하셨는지 제가 놓치는 부분이 있는 거 같아서 질문드립니다. 감사합니다 !
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Category-Item의 다대다 관계에 대한 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]다대다 관계는 실무에서 한계가 크다는걸 배우고 다대일 일대다 관계로 중간엔티티 CategoryItem을 만들어서 해보려고 하는데 그떄 어떻게 연관관계를 짜면 될까요?어떤컬럼을 어떤식으로 받아오면되는지 헷갈립니다...
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
쿠키 secure 관련 질문입니다
교재와 영상엔 쿠키 secure attribute에 대해서"그러나 Chrome 52 이상 및 Firefox 52 이상을 포함한 일부 브라우저는 보안을 강화하고안전하지 않은 사이트(HTTP)가 Secure 지시문으로 쿠키를 설정하는 것을 금지하기 위해 이 사양을 현재는 무시합니다."라고 설명이 되어있는데 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie위 링크에서 secure 관련 설명엔 "Insecure sites (http:) cannot set cookies with the Secure attribute (since Chrome 52 and Firefox 52). The https: requirements are ignored when the Secure attribute is set by localhost (since Chrome 89 and Firefox 75)."라고 되어있어요. Chrome 52 이상 및 Firefox 52 이상부터는 안전하지 않은 사이트(HTTP)가 Secure attribute로 쿠키를 설정하는 것을 금지하고 있다. 까지 아닌가요? 이 사양을 무시하는 건 사이트가 로컬호스트일 때인데, 해석을 잘못하신게 아닌가 싶어서요.
-
미해결Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트
SystemUuidHolder를 테스트하는 경우
Interface를 이용하여 완충재를 두고 테스트를 할 때는 테스트를 위한 mock 구현체를 이용하여 final 메소드를 stub하는 것을 피한다는 것은 이해를 했는데요. 갑자기 드는 생각이 결국 프로젝트가 배포될 때는 SystemUuidHolder라는 구현체를 사용하게 되고 그러면 해당 클래스의 대한 테스트도 진행해야 하나요? 진행한다면 해당 클래스는 UUID를 사용하고 있으니 final 메소드를 stub하는 상황을 피할 수 없게 되는건가요?
-
해결됨[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
상업적 출시를 목적으로 한 게임에 코드를 재사용해도 되는지 질문드립니다.
안녕하세요.C# 서버 강의와 실전 코드 리뷰 강의들로 공부할 때 많은 도움을 받고 있습니다.아트를 제외한 소스코드 부분을 일부 수정하여 상업적으로 출시할 게임에 재사용해도 되는지 질문드립니다.감사합니다.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
안녕하세요. 수강 신청 기간 연장 부탁드립니다.
수강 신청 기간 연장해 주시면 감사하겠습니다 ㅜㅜ
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
front 서버에서 npm run build error.
프로트 서버에서 config.js안에 있는 주소 바꿔주고 npm run build 했는데 계속 빌드가 안됩니다.용량이 너무 커서 서버가 멈춘것일까요? 다른 분 질문 한것을 보니까 이럴경우 로컬에서 빌드를 하고 git push 할때 .next 파일도 같이 보내주는 경우를 봤는데, 이렇게 해도 상관 없나요?아니면 다른 부분에서 이슈가 있어서 빌드가 안되는 것일까요?음...터미널을 닫고 ec2서버 다시 연결하려는데, 연결이 안되고 계속 저기 상태에서 연결이 안되네요...서버에 이상이 생긴걸까요?감사합니다.
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
ec2 환경의 sonarqube
ec2 환경의 sonarqube는 실습에 없어서 혼자 할려다가 못하겠어요... maven 빌드까지 하고 그걸 어떻게 sonarqube로 옮기는지 모르겠어요 강의 영상 만들어주세요 ㅜㅜ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Fetch Join된 Table과 Fetch Join
안녕하세요. 회사 신규 프로젝트로 Spring Boot와 JPA를 이용해 백엔드를 개발하고 있는 직장인입니다.원래 C#개발자다 보니 수업을 들으며 차근차근 따라가 보지만 의외의 경우가 발생해 힘들지만좋은 강의에 항상 재밌게 배우고 있습니다. 이번에 문의드릴 내용은 fetch join된 table에 다시 fetch join 하는 방법에 대해 문의 드리고자 합니다. 문제의 테이블 구조입니다.Count Table과 Contract Table은 company_code라는 pk로 N:1구조Contract Table은 Company Table과 company_code라는 pk로 N:1구조로구성돼 있습니다. 그리고 Count, Contract Table은 매핑되는 키에 대해서 FetchType을 Lazy로 설정한 상태입니다. 저는 여기서(JPQL기준) Count Table을 기준으로 Contract Table까지는 fetch join에 성공했지만 추가로 Company관련 쿼리가 N+1처럼 추가됐습니다. 혹시 제가 JPQL혹은 Query DSL방법으로 Contract Table과 Company Table을 fetch join 처리 후 다시 Count Table과 fetch join해 쿼리 하나로 해결 할 수 있는 방법이 있을까요? 감사합니다. :D
-
해결됨클론코딩에서 알려주지 않는 것들 (시스템 이론과 DB) 1편
Surrogate Key를 사용했을 때 빠르게 찾을 수 있는 이유 설명부탁드립니다.
알고리즘에 의해서 ID가 Integer일 때 주민번호나 CIA(?)와 같이 스트링보다 빠르게 찾을 수 있는 이유를 알고싶습니다.
-
미해결비 개발자들을 위한 IT 개발 지식
L2 L4 스위치 구축 문의
안녕하세요! 강사님 이렇게 쉽게 핵심만 알려주셔서 너무 감사합니다L4 스위치 내용을 보고 궁금한 것이 있습니다! 보통 네트워크 망을 구축할 때 모여 있는 서버 존 마다 물리는 스위치가 다 다른가요?예를 들어,부하가 많은 웹 서버 존 은 로드 밸런싱이 필요하니 위에 L4 스위치 아래에 물리고유저가 모여있는 엔드단은 로드밸런싱이 필요 없으니 L2 스위치 등등 UTM 혹은 방화벽이 우리 서버 내부를 막아주는 역할을 하는데 최초 앞단에 굳이 WAF 를 넣는 이유는 방화벽, UTM 장비로는 웹 방어 기술의 한계 때문 인가요? 아니면 방화벽의 부하를 줄이기 위함 인가요? 혹시 WAF는 그냥 로드밸런싱도 되던데 L7 스위치라 봐도 무방한가요? 다른 예시지만 이중화 시킨 가상화 서버에 여러 서비스를 이용하면 된다 생각 하는데 한 서비스 당 하나의 서버를 통으로 쓰는거를 보면서 리소스 분배 명분 이라지만 마케팅으로 장사하기 위함이지 않나 생각이 들때가 종종 있었습니다
-
해결됨[스프링 배치 입문] 예제로 배우는 핵심 Spring Batch
Spring Batch 테이블이 생성되질 않습니다!!!!!
안녕하세요 강사님. 우선 강의 잘 들었다고 말씀드리고싶습니다.다름이 아니라, 프로젝트에 스프링 배치를 적용시켜보려합니다.아.. 근데 애플리케이션을 실행하면 기본으로 생성되는 배치 테이블이 생성되질 않습니다. (로컬에서는 h2 사용중입니다.) 현재로서는 임시방편으로 BatchProperties 에 나와있는대로 schema-h2.sql 내용을 복사해서 애플리케이션 구동 후, sql console 에 붙여넣기하여 배치 테이블을 직접 만들어주고있습니다. (이렇게 하면 배치랑 스케줄링이 정상적으로 잘 동작합니다.)현재 yml 은 아래와 같습니다. profile 에 따라 yml 을 분리시켜주었긴 했는데, 포맷은 똑같습니다!(defer-datasource-initialization 와 sql-init-mode 과 관련있나해서 이것도 바꿔보았는데.. 되질 않습니다ㅠㅠ)spring: profiles: active: local jpa: open-in-view: false hibernate: ddl-auto: create defer-datasource-initialization: true properties: hibernate: format_sql: true default_batch_fetch_size: 100 data: web: pageable: one-indexed-parameters: true datasource: url: jdbc:h2:tcp://localhost/~/apartribe;MODE=MySQL username: sa password: driver-class-name: org.h2.Driver sql: init: mode: always mail: host: smtp.gmail.com port: 587 username: EMAIL password: PASSWORD properties: mail: smtp: auth: true starttls: enable: true ssl: trust: "*" security: oauth2: client: registration: kakao: client-name: KOAuth2LoginDemo client-id: KAKAO_CLINET_ID client-secret: KAKAO_CLINET_SECRET client-authentication-method: client_secret_post redirect-uri: http://localhost:8080/login/oauth2/code/kakao authorization-grant-type: authorization_code scope: profile_nickname, profile_image, account_email, age_range, birthyear provider: kakao: authorization-uri: https://kauth.kakao.com/oauth/authorize token-uri: https://kauth.kakao.com/oauth/token user-info-uri: https://kapi.kakao.com/v1/oidc/userinfo user-name-attribute: sub batch: jdbc: initialize-schema: always job: enabled: false application: security: jwt: secret-key: ACCESS_TOKEN_SECRET_KEY expiration: ACCESS_TOKEN_EXPIRATION refresh-token: secret-key: REFRESH_TOKEN_SECRET_KEY expiration: REFRESH_TOKEN_EXPIRATION mail: subject: MAIL_SUBJECT logging: level: sql: debug cloud: aws: s3: bucket: AWS_BUCKET_NAME credentials: access-key: AWS_ACCESS_KEY secret-key: AWS_SECRET_KEY region: static: ap-northeast-2 auto: false stack: auto: false server: error: whitelabel: enabled: false include-exception: false include-message: never include-stacktrace: never include-binding-errors: never 프로젝트 주소는 아래와 같습니다.https://github.com/Revi1337/apartribe-backend Batch 와 Scheduling 설정의 위치는 아래와 같습니다src/main/java/kr/apartribebackend/global/config/BatchConfig.java 와src/main/java/kr/apartribebackend/global/config/SchedulingConfig.java 조언좀 부탁드리겠습니다 선생님..ㅠㅠ