[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요. 영상통화 강의를 끝마치고, 실제 기기 2개(안드로이드, 아이폰)에 같은 코드를 설치해서 실행하면 서로 영상통화가 될 줄 알았는데, 각자 상대방 없음으로 뜨면서, 서로 같은 채널에 입장이 안 되었습니다. Agora SDK 설명서에는 채널이름만 같으면 될 것처럼 써 있었는데 제가 잘못 이해한 것인지... 선생님 설명대로 서버에서 각 기기마다 토큰을 부여 받아야 하므로 기기마다 같은 APP ID에 임시 토큰을 서로 달리 받아야 하는 것인지... 실기기 2개로 영상통화 성공하는 것까지 마무리하고 싶습니다. 선생님께서 힌트를 살짝 주시면 감사하겠습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. JPA가 인터페이스이고 하이버네이트나 OpenJpa같은 구현체들이 있고 javax.persistence.* 패키지에서 제공 하는 JPA인터페이스 어노테이션들 ( ex @Id, @JoinColumn , @ManyToOne등등 ) 이것들은 JPA가 제공하는것들이고, 구현체가 제공하는 어노테이션들 ( ex 하이버네이트의 import org.hibernate.annotations. 패키지 @JoinFormula()등 ) 이것들은 하이버네이트가 제공하는 어노테이션이라는걸 인지 했습니다 여기서 궁금한게 제 상식으로는 인터페이스는 독단적으로 사용 할 수 없는것으로 알고 있는데 지금 영한님이 설명해주시는 예제들은 하이버네이트가 제공하는 패키지들에 있는 어노테이션을 사용하지 않고 jpa가 제공하는 패키지의 어노테이션들 ( javax.persistence.* 의 @ManyToOne 등등)만 사용해서 예제를 만들고 계신데 이렇게 되면 구현체 없이 jpa라는 인터페이스만으로 개발을 한거라고 이해가 되는데 이게 맞는 걸까요? 맞다면 어떻게 가능한거고 , 여기서 하이버네이트 의존성을 지워버려도 개발이 가능한지도 여쭤보고 싶습니다. 감사합니다.
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 스프링mvc2 강의에서 로그인처리2 - 스프링 인터셉터 요청 로그 강의에서 LogInterceptor 가 싱글톤처럼 사용된다고 했는데 왜 그런건가요?? 빈으로 등록이 안됐는데 어떻게 싱글톤으로 관리되는건가요??
배경: 국가에서 운영하는 HRD-Net 사이트 (직업기술을 배울 수 있는 목록 및 정보를 제공하는 곳 - 접속 URL: https://www.hrd.go.kr/hrdp/ti/ptiao/PTIAO0300L.do?pageId=2&bgrlInstYn=undefined&kDgtlYn=undefined&_csrf=b7996afd-d091-4265-9b99-c9720b70652d ) 를 낮은 의도를 가진 사용자의 입장에서 탐색하여 보았습니다. (예를 들면 OO분야에서 흥미가 있을만한 직업 훈련이 어떤 것이 있을까?로 접근해봤습니다.) 지역 및 대분류만 설정해 검색해보았는데요. 전체적으로 어떤 교육이 제공되는지 보고 싶었는데, 목록이 예상보다 많아 탐색하기가 어려웠던 경험이 있었습니다. 나쁜 점 1: NCS 직종 및 훈련유형이라는 낯선 단어 NCS 직종은 국가에서 선정한 직업종류를, 훈련 유형은 기업에서 주도하는 것인지 혹은 일반인이 들을 수 있는 등의 훈련 유형을 의미하는 것 같다고 추측했습니다. 사실 직업교육을 처음 들으려는 사용자 입장에서는 두 단어가 상당히 낯설었습니다. 훈련 유형에는 알아볼 수 없는 유형도 많아서 어떤 걸 보아야 하는거지? 무엇은 들을 수 있고 안되는거지? 잘 모르겠었어요. 내부적으로 정보 설계는 잘 되어 있겠지만 이것이 사용자에게는 도달하지 못한 것 같습니다. (기준에 따라 사용자가 행동을 결정할테니, 행동 유도와도 비슷한 맥락이라고 생각이 들었습니다.) 이를 꼭 다 보여주어야 하는건가? 사용자별로 유형을 다르게 보여줄 수는 없나 생각이 들었습니다. 굳이 다 보여주어야 한다면 작게 툴팁을 두어 설명을 붙여놓았으면 더 좋았을 것 같습니다. 나쁜 점 2: 직종 선택시의 불편함 대분류, 중분류, 소분류로 나누어져 있어 직업군에 대한 명확한 기준이 있구나 싶었습니다. 하지만 높은 의도를 가지거나, 낮은 의도를 가진 사용자 입장에서 팝업 상태에서 (이미 한 뎁스 들어가서) 일일히 소분류까지 필터로 설정하는 사용자가 있을까 의문이 들었어요. 해당 팝업에서 대분류에 비해 중, 소분류에 대한 클릭수가 낮다면 대분류의 내용을 아이콘으로 설정해 상위로 (퍼스트 뎁스로) 두는 방향도 괜찮을 것 같다는 생각이 들었습니다. 나쁜 점 3: default 개강일자가 1년으로 설정된 것 1개월, 3개월, 1년단위로 볼 수 있는데 1년이 기본 설정되어 있습니다. 내부적으로 이유는 있었겠지만, 기간에 따라 검색 목록의 양이 더 늘어나지 않았나 싶습니다. 3개월만 해도 충분하지 않을까 싶습니다. 나쁜 점 4: 결과 목록에 대한 정보 설계 결과 목록을 보면 매우 많은 정보를 볼 수 있습니다. (훈련기관, 훈련명, 훈련기간, 시간, 취업률, 가격 등등) 각 훈련에 높은 의도를 가진 사용자는 세부 내용을 클릭해서 볼테니, 정말 필요한 정보만 뽑은 후 재배치하면 어떨까 싶었습니다. 또한 훈련 기간이 크게 강조되어 있는 것 보다, 훈련명이 더 중요한 정보가 아닐까 생각이 들었습니다. 정보제공에 대한 우선순위도 다시 세워야 할 필요가 있어보였어요. 논외로 검색시 게시판 목록의 숫자가 몇백 ~ 몇십개 정도 나오는 것을 보았는데요. 해당 류의 정보 제공 서비스 같은 경우, 사용자가 원하는 정보를 찾을 때 까지 목록을 알맞게 잘 탐색할 수 있게 필터링하는 것이 핵심 UX 설계인 것 같다는 생각이 들었습니다. 느낀점: 해당 과제는 제 나름의 기준을 잡아 문제점 제기하였고, 대안 의견까지 녹이긴 했지만 실무에서 정말 하라면(?) 까마득하다고 생각이 들었습니다. 문제점을 위한 근거를 찾는 것부터 가설(대안)에 대한 근거를 찾고 설득하는 것도 같이 생각해보려 했는데, 머리가 아파오더라구요 @@ 많은 공부와 연습이 필요하구나 생각이 들었습니다. 질문: 해당 과제를 하면서 사용자의 정보 탐색 프로세스 관련하여 흥미가 생겼는데 혹시 관련해서 볼만한 논문이나 아티클이 있을까요? 혹은 해당 분야 외로도, 선생님이 평소에 보시는 UX관련 아티클 혹은 논문 사이트가 있으신지 궁금합니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 업로드 할땐 new File() 을 다운로드와 조회할땐 new URLResouce()를 사용하셨는데 둘의 차이점이 뭔지 설명은 없어서요. 검색해봐도 명확한 답변이 안 나와 올려봅니다.
power bi desktop 현재 버전에서는 올리신 강의대로 하면 맵 시각적 개체가 정상적으로 안 나옵니다. 버전이 올라가면서 설정 방법이 달라졌나요? power bi desktop 최신 버전으로 강의 다시 올려주시면 좋겠습니다. 3년 전에 제작하신 강의가 아직도 업그레이드 없이 올려져있습니다. 난감하네요.....
첨부파일을 다운받아 그대로 빌드를 실행했는데, 다음의 부분에서 에러가 생깁니다. #if 3017001 < PROTOBUF_MIN_PROTOC_VERSION #error This file was generated by an older version of protoc which is #error incompatible with your Protocol Buffer headers. Please #error regenerate this file with a newer version of protoc. #endif 이상한 점이 protoc 3.17.1 버전으로 생성한 Enum.pb.h인데 PROTOBUF_MIN_PROTOC_VERSION의 값이 3021000으로 뜹니다. 혹시 Visual studio 2022를 사용해서 ide때문에 에러가 생기는 것일까요?
http://boj.kr/be195db38890481b9ca7ef38e786651e 선생님의 코드와 다른 부분은 스택을 매번 재선언하지 않고 재활용 할 수 있게 비워둔다는 점 뿐인 것 같습니다. gcc로 컴파일 했을 때, 2회 이상의 입력에서 2회차 반복 시에 아무런 출력도 하지 않고 그대로 프로그램이 강제 종료됩니다. 백준에는 런타임 에러라고 뜨는데, 입력과 관련된 문제일까요? 아니면 스택을 재선언 하지 않고 매번 비워두는 코드에서 런타임 에러가 발생한 것일까요..? 조언이 필요합니다. 감사합니다.
[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
안녕하세요 저는 아나콘다를 통해서 설치를 했고 pip list를 통해 3개가 모두 설치 된 것을 확인했습니다. 그런데 정작 주피터에서는 아래와 같은 오류가 뜹니다. 무엇이 문제인가요. 1년전 쯤에 올려주신 방법으로도 오류가 발생해 질문 올립니다. Unable to create process using 'C:\Users\KWON\anaconda3\python.exe "C:\Users\KWON\anaconda3\Scripts\pip-script.py" install plotly chart_studio'
'LightGBM을 이용한 위스콘신 유방암 예측'을 보고 깃허브에서 다운한 예제를 런 시켜보고 있는데 세번째에서 오류가 뜹니다. fit()함수에 early_stopping_rounds는 쓸수 없다고 나옵니다. 그래서 파라미터명이 업데이트 되었나 싶어서 인터넷에 찾아보니까 LightGBM 페이지에서는 early_stopping_rounds, early_stopping_round, 둘다 가능하다고 나옵니다. 뭐가 문제인지 모르겠습니다.
해당 강의에서 product service의 create 함수를 아래와 같이 코딩하는 것을 가르쳐주셨는데요. 아래 코드에서 const tags = [...prevTags, ...newTags.indentifiers]; 부분에서 prevTags에도 .identifiers가 붙어야 될 것같다는 생각을 했습니다. prevTags는 this.productsTagsRepository.find 함수를 통해서 찾아오는데, 이는 where 조건문에 의해 name이 tagNames인 것을 찾아내어 productTags의 프로퍼티인 id와 name을 둘다 return 하지 않나요? 이전 조회API를 만드는 강의에서도 find 함수를 통해 id만 가져오는 것이 아닌 다른 칼럼들도 모두 가져왔었습니다. 그런데 prevTags 뒤에 .indentifiers를 붙이니 에러가 뜨더라구요... 분명 조회API 강의에서는 find를 통해 모든 칼럼을 다 가져왔던것 같은데, 왜 이번에는 똑같은 find 함수를 통해 id만 리턴이 되는 건가요? async create({ createProductInput }: IProductServiceCreate): Promise<Product> { const { productSalesLocation, productCategory, productTags, ...product } = createProductInput; const result = await this.productsSalesLocationService.create({ productSalesLocation }); const tagNames = productTags.map((el) => el.replace('#', '')); const prevTags = await this.productsTagsRepository.find({ where: { name: In(tagNames) }, }); const temp = []; tagNames.forEach((el) => { const isExist = prevTags.find((prevEl) => el === prevEl.name); if (!isExist) temp.push({ name: el }); }); const newTags = await this.productsTagsRepository.insert(temp); const tags = [...prevTags, ...newTags.identifiers]; const result2 = this.productsRepository.save({ ...product, productSalesLocation: result, productCategory: productCategory, productTags: tags, }); return result2; }
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 요즘 실제 게임 제작에 컴퓨트 쉐이더가 많이 활용되나요? 그리고 서버 쪽에서도 활용되는 경우가 있는지 궁금합니다.