묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨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 조언좀 부탁드리겠습니다 선생님..ㅠㅠ
-
미해결선형대수학개론
free variable 질문입니다
free variable인 변수를 파악하는것을 목표로 잡을때, 만약에 문제에서 주어진 행렬이 echelon form이 아니라면 echelon form으로 만들어놓고 "leading position에 해당되지 않는 변수 = free variable" 법칙을 적용하면 되는건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
y_tr 과 y_train 의 차이점
import pandas as pdX_train = pd.read_csv("X_train.csv")X_test = pd.read_csv("X_test.csv")y_train = pd.read_csv("y_train.csv")cols = X_train.select_dtypes(exclude = 'object').columns # cols = ['id', 'age', 'fnlwgt', 'education.num', 'capital.gain', 'capital.loss', 'hours.per.week']X_train[cols] = X_train[cols].fillna(0)X_test[cols] = X_test[cols].fillna(0)y = (y_train['income'] == '>50K').astype(int)from sklearn.model_selection import train_test_splitX_tr, X_val, y_tr, y_val = train_test_split(X_train, y, test_size = 0.1, random_state = 2022)from sklearn.ensemble import RandomForestClassifierrf = RandomForestClassifier()rf.fit(X_tr[cols], y_tr)pred = rf.predict(X_val[cols])pred = rf.predict(X_test[cols])submit = pd.DataFrame({ 'id': X_test['id'], 'income': pred})submit.to_csv("990906.csv", index=False) 제가 작성한 코드입니다. 문제1을 심플하게 설명해주셔서 제가 그 과정에 검증데이터 분리과정을 넣어 자체적으로 작성한 것입니다확인해보니 y_train의 크기는 (29304, 2) 이고, y_tr의 크기는 (26373,) 더군요여기서 궁금한 것이 y_train 칼럼은 id, income 인데 단지 "y = (y_train['income'] == '>50K').astype(int) )" 코드가 실행되엇다고 해서 어떻게 y의 칼럼이 "id"가 삭제되고 "income' 만 남아있는지 궁금합니다. y_train.drop("id")를 작성하지 않았는데 id 칼럼이 삭제되어 의문이 들었습니다!
-
미해결오라클 성능 분석과 인스턴스 튜닝 핵심 가이드
인덱스 등 선행 지식 문의
sql 파운데이션, sql 분석 강의를 들으며 업무를 겨우 겨우 하고 있는 신입 데이터 엔지니어 입니다 인덱스 라는 것을 잘 모르는데 해당 강의를 더 잘 이해 하기 위해 어떤 것들을 선행으로 공부하는 것이 좋을까요또, 추 후에 해당 강의를 듣기 위한 선행 과목들을 묶어 강의를 내주실 의향이 있으신가요?
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
운영체제 이론으로만 배웠는데
새로 생긴 강의에 실습이 추가되어서 정말 좋네요
-
미해결실전! 스프링 데이터 JPA
Pageable에서 sort 내부 property에 대한 유효성 검사
안녕하십니까 영한님.강의 유익하게 잘 들었습니다. 덕분에 궁금증이 많이 해결되었습니다.다름이 아니라, 제가 Pageable를 사용한 페이징 기능을 테스트 해보는 과정에서 sort의 property에 실질적인 entity 정보가 노출된다고 생각되어 고민에 빠진 상태입니다. 페이징 관련된 파라미터를 dto로 받게되면 유효성 검사는 가능하나 sort의 순서를 보장하기 어려워 추가적인 파라미터가 필요하다고 생각됨.pageable로 받은 후 for문을 돌려 유효성 검사를 하게 되면 하위의 단계로 나눠지는 불편함 1) controller에서 dto로 유효성 검사를 위한 for문 2) entity는 service에서만 사용하게끔 유도하기 위해 controller에서는 유효성 검사가 끝난 dto를 service로 넘겨서 entity로 재조립하는 for문등등 여러가지 방법들을 고민해보다 질문드립니다.실질적으로 실무에서 사용되는 Paging 기법이 있거나 개선 사항이 있으면 공유해주시면 감사하겠습니다.
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
프로세스가 프로그램이 실행되면 프로세스가 된다고하는데
그럼 크롬 브라우저는 2:00에서 보면 멀티프로그램(?)=>멀티프로세스인가요? 그러니까 크롬브라우저는 여러개의 프로그램이 합쳐져서 멀티프로세스를 이뤄서 실행되는건가요