묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
라벨인코딩 에러
기출문제 작업형2 공부하면서 라벨인코딩을을 하면 꼭 에러가 납니다. 같은 문제를 원-핫인코딩으로 해서 전후를 비교하면 데이터가 늘어난게 확인이 되는데 라벨인코딩은 에러가 나던지 데이터가 그대로 입니다.. 오타를 정확하게 확인했구요. 교재와도 정확하게 비교했는데 왜그럴까요?ㅜ그리고 원-핫인코딩은 사전에 범주형,수치형데이터 분리없이 바로 사용해도 범주형데이터만 원-핫인코딩을 진행하는게 맞는거죠?
-
해결됨AI 시대의 혁신적인 게임 개발 입문 with Unity6
수박게임 질문
수박게임 최초 개발자는 개발한 게임을 어디 플랫폼에 올리고 등록해서 거대한 부를 얻은건가요?
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
ImprovedOrder의 구조에 대한 질문입니다.
우선 orderResponse에서는 totalItems만 사용해서 수량만 요구하는 DTOOrderDetailResponse에서는 List<OrderItemResponse> items; 물품 정보를 요구하는 DTO 용으로 나뉘어 있고 Improved 역시 마찬가지였습니다.그런데 toOrderDetailResponse에서orderItems가 매핑이 안되어 있고, toOrderResponse와 코드가 동일한 상태였습니다. 제 생각에는 totalItems에 집중하신 나머지 빠뜨리신 거라고 생각되어 글을 남기게 되었고, 현재 ImprovedOrder에 orderItem이 매핑되어 있지 않은 상태 즉 반정규화 상태에서 어떻게 OrderItem을 매핑하는게 좋을지 생각해봤습니다.1. orderNumber로 findByOrderNumber단순히 ImprovedOrder에 저장된 orderNumber로 따로 orderItem들을 찾고 매핑해주는 것입니다. 현재 반정규화 의도가 totalCount만을 요구하는 도메인이 중요하기 때문에 ImprovedOrderDetailResponse를 반환할 때만 따로 매핑하는 것이죠. 다만 이는 ImprovedOrder와 OrderItem이 분명한 관계가 있음에도 매핑이 되어 있지 않는 것이라 좋은 방법인지는 의문입니다.2. ImprovedOrder에 orderItem 필드 추가totalItems와 orderItems를 모두 가지게 하고 totalItems만 필요한 상황이라면 굳이 orderItems를 get하지 않으면 Lazy 상태이기 때문에 fetch가 발생하지 않아 유연하게 사용할 수 있지 않을까 생각했습니다.포트폴리오를 위해 분석하던 과정에서 의문이 생겨 질문드렸습니다. 만약 제가 잘못 생각하고 있다면 말씀해주세요.
-
미해결유니티 머신러닝 에이전트 완전정복 (기초편)
dqn 인덱스 에러
dqn 학습 부분에서, index에러가 자꾸 납니다.. dqn.py는 github에 올려져 있는 것을 그대로 사용했습니다. < 에러 코드 >(colab) C:\Users\pss60\Desktop\ML-Agents_Project\agents>python dqn.py Traceback (most recent call last): File "C:\Users\pss60\Desktop\ML-Agents_Project\agents\dqn.py", line 218, in <module> state = preprocess(dec.obs[OBS], dec.obs[GOAL_OBS]) IndexError: list index out of range < GridAgent >using System; using UnityEngine; using System.Linq; using Unity.MLAgents; using Unity.MLAgents.Sensors; using Unity.MLAgents.Actuators; using UnityEngine.Rendering; using UnityEngine.Serialization; using System.Collections.Generic; public class GridAgent : Agent { [FormerlySerializedAs("m_Area")] [Header("Specific to GridWorld")] public GridArea area; public float timeBetweenDecisionsAtInference; float m_TimeSinceDecision; [Tooltip("Because we want an observation right before making a decision, we can force " + "a camera to render before making a decision. Place the agentCam here if using " + "RenderTexture as observations.")] public Camera renderCamera; VectorSensorComponent m_GoalSensor; private Transform agentTrans = null; private Vector3 moveRight = new Vector3(1, 0, 0); private Vector3 moveLeft = new Vector3(-1, 0, 0); private Vector3 moveUp = new Vector3(0, 0, 1); private Vector3 moveDown = new Vector3(0, 0, -1); public enum GridGoal { GreenPlus, RedEx, } // Visual representations of the agent. Both are blue on top, but different colors on the bottom - this // allows the user to see which corresponds to the current goal, but it's not visible to the camera. // Only one is active at a time. public GameObject GreenBottom; public GameObject RedBottom; GridGoal m_CurrentGoal; public GridGoal CurrentGoal { get { return m_CurrentGoal; } set { switch (value) { case GridGoal.GreenPlus: GreenBottom.SetActive(true); RedBottom.SetActive(false); break; case GridGoal.RedEx: GreenBottom.SetActive(false); RedBottom.SetActive(true); break; } m_CurrentGoal = value; } } [Tooltip("Selecting will turn on action masking. Note that a model trained with action " + "masking turned on may not behave optimally when action masking is turned off.")] public bool maskActions = true; const int k_NoAction = 0; // do nothing! const int k_Up = 1; const int k_Down = 2; const int k_Left = 3; const int k_Right = 4; EnvironmentParameters m_ResetParams; public override void Initialize() { m_GoalSensor = this.GetComponent<VectorSensorComponent>(); m_ResetParams = Academy.Instance.EnvironmentParameters; } public override void CollectObservations(VectorSensor sensor) { Array values = Enum.GetValues(typeof(GridGoal)); int goalNum = (int)CurrentGoal; // 현재 에이전트의 x, y 좌표 위치 값을 관측 정보에 추가 sensor.AddObservation(agentTrans.position.x); sensor.AddObservation(agentTrans.position.z); // 각각 도형에 대한 좌표 위치 값을 관측 정보에 추가 List<int> otherPos = area.otherPos; for (int i = 0; i < otherPos.Count; i++) sensor.AddObservation(otherPos[i]); // 목표 지점에 대한 정보 m_GoalSensor.GetSensor().AddOneHotObservation(goalNum, values.Length); } public override void WriteDiscreteActionMask(IDiscreteActionMask actionMask) { // Mask the necessary actions if selected by the user. if (maskActions) { // Prevents the agent from picking an action that would make it collide with a wall var positionX = (int)agentTrans.localPosition.x; var positionZ = (int)agentTrans.localPosition.z; var maxPosition = (int)m_ResetParams.GetWithDefault("gridSize", 5f) - 1; if (positionX == 0) { actionMask.SetActionEnabled(0, k_Left, false); } if (positionX == maxPosition) { actionMask.SetActionEnabled(0, k_Right, false); } if (positionZ == 0) { actionMask.SetActionEnabled(0, k_Down, false); } if (positionZ == maxPosition) { actionMask.SetActionEnabled(0, k_Up, false); } } } // to be implemented by the developer public override void OnActionReceived(ActionBuffers actionBuffers) { // 매 행동마다 -0.01 보상(패널티) 부여 AddReward(-0.01f); var action = actionBuffers.DiscreteActions[0]; // 에이전트가 이동하게 될 위치 값을 저장할 변수 (Vector3) var targetPos = agentTrans.position; switch (action) { case k_NoAction: // do nothing break; case k_Right: // 부여받은 행동이 오른쪽이라면, targetPos = agentTrans.position + moveRight; // 현재 위치에서 1만큼 x축 방향으로 설정 break; case k_Left: targetPos = agentTrans.position + moveLeft; break; case k_Up: targetPos = agentTrans.position + moveUp; break; case k_Down: targetPos = agentTrans.position + moveDown; break; default: throw new ArgumentException("Invalid action value"); } var hit = Physics.OverlapBox( targetPos, new Vector3(0.3f, 0.3f, 0.3f)); // 벽에 부딪히지 않았다면, if (hit.Where(col => col.gameObject.CompareTag("wall")).ToArray().Length == 0) { // 정해진 위치로 이동 agentTrans.position = targetPos; // +오브젝트 만났다면, if (hit.Where(col => col.gameObject.CompareTag("plus")).ToArray().Length == 1) { ProvideReward(GridGoal.GreenPlus); EndEpisode(); } // x오브젝트 만났다면, else if (hit.Where(col => col.gameObject.CompareTag("ex")).ToArray().Length == 1) { ProvideReward(GridGoal.RedEx); EndEpisode(); } } } private void ProvideReward(GridGoal hitObject) { if (CurrentGoal == hitObject) { SetReward(1f); } else { SetReward(-1f); } } // WASD 키보드로 에이전트 이동 public override void Heuristic(in ActionBuffers actionsOut) { var discreteActionsOut = actionsOut.DiscreteActions; discreteActionsOut[0] = k_NoAction; if (Input.GetKey(KeyCode.D)) { discreteActionsOut[0] = k_Right; } if (Input.GetKey(KeyCode.W)) { discreteActionsOut[0] = k_Up; } if (Input.GetKey(KeyCode.A)) { discreteActionsOut[0] = k_Left; } if (Input.GetKey(KeyCode.S)) { discreteActionsOut[0] = k_Down; } } // to be implemented by the developer public override void OnEpisodeBegin() { area.AreaReset(); Array values = Enum.GetValues(typeof(GridGoal)); CurrentGoal = (GridGoal)values.GetValue(UnityEngine.Random.Range(0, values.Length)); } public void FixedUpdate() { WaitTimeInference(); } void WaitTimeInference() { if (renderCamera != null && SystemInfo.graphicsDeviceType != GraphicsDeviceType.Null) { renderCamera.Render(); } if (Academy.Instance.IsCommunicatorOn) { RequestDecision(); } else { if (m_TimeSinceDecision >= timeBetweenDecisionsAtInference) { m_TimeSinceDecision = 0f; RequestDecision(); } else { m_TimeSinceDecision += Time.fixedDeltaTime; } } } }
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
랜덤포레스트랑 XGBoost돌렸을때 선생님이 한 값이랑 다른데 상관없나요?
와 같이 선생님이 하신거랑 값이 좀 다른데 상관없나요?
-
해결됨PCB HW설계 실무 : STM32를 활용한 Mixed-signal 보드 설계 프로젝트
아날로그 회로설계 HW역량
안녕하세요 삼코치님!저는 아날로그 회로 설계경험(LDO,PLL)들을 바탕으로 HW PCB단계 면접 준비중입니다.따라서 PCB 경험을 쌓고자 수강하게 되었습니다. 섹션9의3번 내용에 대해서 질문이 있어서 남기게 되었습니다.삼코치님 자료 4번에 어필 전략 부분에 대해서 궁금한 점이 있습니다.(자료에 대한 내용은 모든 분이 볼수있는것 같아서 간추려서 설명하겠습니다) 둘 간의 차이를 5%줄인 경험 : 이 부분에 대해서는 어떻게 하는지 궁금합니다. 결국 PCB에서 테스트하려면 IC를 직접 제작하거나, 모델링해야되는 걸로 압니다만.. IC는 직접 시뮬레이션까지는 되어도 제작하려면.. 비용이..ㅠ ~~통해 리워크 감소 : 아날로그 IC레벨에서 PSRR, JItter등 감소한 경험이 있지만, HW직무에서는 결국 IC를 외주 맡기는 입장에서, HW설계는 결국 블랙박스처럼 사용만 하게 될텐데, 이게 HW 역량과는 어떤 연관성이 있는지 정확하게 잘 모르겠습니다.. 면접 준비하다가도 공격들어오면 어떻게 답변해야될지 어렵네요..ㅠ 제가 지원한 회사는 대량생산이 아니라 패키징된 IC를 그냥 구매해서 쓰는걸로 압니다.. 이럴땐 어떻게 어필해야될지 모르겠네요..
-
해결됨PCB HW설계 실무 : STM32를 활용한 Mixed-signal 보드 설계 프로젝트
과제4 진행 방안 관련
안녕하세요 삼코치님 과제4 진행방식 관련해서 문의 남깁니다.구글 docs에 올려주신 과제 내용을 살펴보면, study에 있는 내용들이 거의 강의 교안에 있는 내용과 겹쳐있습니다. 예를 들어 study 2번에 Ferrite bead의 스펙 특성을 조사하라고 했지만, 강의 교안에 그 내용이 다 담겨있습니다. 이런 경우에는 과제를 어떻게 진행하면 좋을까요? 감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
강의 연장이 가능한지 문의드립니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요안녕하세요. 작년에 결제 후 6월 시험은 강의만 후루룩 듣고 시험 보러 가니 머리가 멍 해져서 제대로 시험도 못 치루고 나왔고 12월시험 준비는 교수님 책도 사고 그랬는데... 회사 내 근무지 이동과 출장기간과 겹쳐 시험을 보지 못했습니다...ㅠ 아직 많이 부족하여 혹시 다음 달 시험 보기 전까지만 연장이 가능한 방법이 있는지 여쭈어 봅니다. 혹시나 해서 메일 주소 남겨드립니다. subinsky@naver.com 입니다.
-
해결됨제로베이스부터 배우는 웹개발의 개념과 바이브 코딩
vercel에 등록 중...
버셀에 등록하는데 계속 에러가 나는데.. 어떤 방법으로 이 에러를 확인 할 수 있을까요?
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
일정 확인 및 회신 AI Agent
남박사님 덕분에 천천히지만 잘 따라가고 있습니다.메일을 확인해서 미팅관련 메일이 있을 경우 구글 캘린더에 등록하고 회신까지 하는 프로젝트는 재밌게 보았는데요, 제가 테스트할 때 메일이 3개가 들어와 있었는데 그 중 하나만 제가 일정 등록을 하기 위해 TEST로 보낸 메일이었고 나머지는 일반 메일이었습니다. 이 경우 AI Agent가 일정관련된 내용인지는 판단하여 구글 캘린더에 등록을 하지만 메일을 보내는 건 3개가 전부 넘어가더라고요. 이전 시간에 배운 Switch 노드 같은걸 이용해서 회신을 보낼 메일(미팅 일정관련인지) 여부를 판단해서 나누는게 좋을까요?
-
해결됨AI 시대의 혁신적인 게임 개발 입문 with Unity6
타이핑 할 때 왜 자꾸 화면에 숫자x 이거 왜생기는거에요? 엄청 거슬리네요.
타이핑 할 때 왜 자꾸 화면에 숫자x 이거 왜생기는거에요? 엄청 거슬리네요.
-
해결됨빅데이터분석기사 실기 R 올인원: 3주에 끝내는 완벽 대비
실습자료 없음
17강에 필요한 housing.csv 파일이 실습자료에 없네요18강에 필요한 gehan.csv 파일이 실습자료에 없네요 26강에 필요한 year.csv, titanic.csv 파일이 실습자료에 없네요
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
train데이터에서 CLIENTNUM를 drop한 후 검증데이터분리를 하셨는데
train데이터에서 CLIENTNUM를 drop한 후 검증데이터분리를 하셨는데, drop을 하고 분리한뒤에 훈련을 시키면 나중에 어떻게 최종파일 값들과 CLIENTNUM이 매칭이 되는걸까요? CLIENTNUM값을 기준으로 데이터를 기억하고 훈련시키는건 아닌건지 ㅠ이해가 잘 안되서요
-
미해결Airflow 마스터 클래스
Airflow 오류
안녕하세요! 먼저 수업 잘 듣고 있습니다 :) 현재 section 6까지 완강하였습니다.32강 varible 실습 코드부터 airflow에 올라오지 않는 것 같습니다. git push와 git pull 완료 후, wsl에 dags 폴더 내에 해당 코드들이 있는 건 확인했습니다.하루에 정해진 작업량이 있어서 그런건지 여쭤보고 싶습니다.compose down 시키고 다시 airflow 올려도 똑같이 현시가 안되는 상황입니다....ㅠ
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
I2C SLAVE
안녕하세요 삼코치님! I2C SLAVE 코드에서 질문이 있습니다.1. 데이터를 송수신 하는 아래 코드에는 시스템 클럭에 동기화된 SCL와 SDA를 사용했는데, Start와 Stop 조건 감지에는 SDA와 SCL 신호를 그대로 사용한 이유를 모르겠습니다. 또한 동기화하는 이유에 대해서도 명확히 모르겠습니다.2.데이터를 송수신하는 코드에서는 I2C 수신하는 부분은 Posedge를 사용하고, 마스터로 송신하는 부분은 Negedge를 사용했는데, 따로 이유가 있는지 궁금합니다.3.always 블럭 내부에서 blocking assignment를 사용했는데, 시스템 클럭과 동기화된 SCL을 클럭으로 사용한다면 Non-blocking으로 사용해야 하는 것 아닌가요?한 번에 많이 여쭤봐서 죄송합니다. 강의 잘 듣고 있습니다. 감사합니다!--------------------코드------------------------module I2C_SLAVE(CLCK, SCL, SDA);//I2Cinput CLCK;input SCL;inout SDA; //bidirectional portparameter slaveaddress = 7'b1110010;//Sample registers to send to requesting devicereg[2:0] valuecnt = 3'b011; //Count of bytes to be sent, send read value twice//Synch SCL edge to the CPLD clockreg [2:0] SCLSynch = 3'b000;always @(posedge CLCK)SCLSynch <= {SCLSynch[1:0], SCL}; wire SCL_posedge = (SCLSynch[2:1] == 2'b01);wire SCL_negedge = (SCLSynch[2:1] == 2'b10);//Synch SDA to the CPLD clockreg [2:0] SDASynch = 3'b000;always @(posedge CLCK)SDASynch <= {SDASynch[1:0], SDA}; wire SDA_synched = SDASynch[0] & SDASynch[1] & SDASynch[2];//Detect start and stopreg start = 1'b0;always @(negedge SDA)start = SCL; //reg stop = 1'b0;always @(posedge SDA)stop = SCL; ////Set cycle statereg incycle = 1'b0;always @(posedge start or posedge stop)if (start)beginif (incycle == 1'b0)incycle = 1'b1;endelse if (stop)beginif (incycle == 1'b1)incycle = 1'b0;end //Address and incomming data handlingreg[7:0] bitcount = 0;reg[6:0] address = 7'b0000000;reg[7:0] datain = 8'b00000000;reg rw = 1'b0;reg addressmatch = 1'b0;always @(posedge SCL_posedge or negedge incycle)if (~incycle)begin//Reset the bit counter at the end of a sequencebitcount = 0;endelsebegin //bitcount = bitcount + 1; //Get the addressif (bitcount < 8)address[7 - bitcount] = SDA_synched; if (bitcount == 8)beginrw = SDA_synched;addressmatch = (slaveaddress == address) ? 1'b1 : 1'b0;end if ((bitcount > 9) & (~rw))datain[17 - bitcount] = SDA_synched;end //ACK's and out going datareg sdadata = 1'bz;reg [2:0] currvalue = 0;always @(posedge SCL_negedge)//ACK'sif (((bitcount == 8) | ((bitcount == 17) & ~rw)) & (addressmatch))beginsdadata = 1'b0;currvalue = 0;end//Dataelse if ((bitcount >= 9) & (rw) & (addressmatch) & (currvalue < valuecnt))begin//Send Dataif (((bitcount - 9) - (currvalue * 9)) == 8)begin//Release SDA so master can ACK/NAKsdadata = 1'bz;currvalue = currvalue + 1;endelse sdadata = datain[7 - ((bitcount - 9) - (currvalue * 9))]; //Modify this to send actual data, currently echoing incomming data valuecnt timesend//Nothing (cause nothing tastes like fresca)else sdadata = 1'bz; assign SDA = sdadata;endmodule
-
미해결[말 한마디로 뚝딱!] AI와 함께 나만의 수익화 웹사이트를 만드는 법
AWS에서 SSL 붙이기
선생님!! 혹시 강의에 SSL 붙이는것도 추가 강으로 만들어주실 수 있나요?
-
해결됨PCB HW설계 실무 : STM32를 활용한 Mixed-signal 보드 설계 프로젝트
저항 선정 기준 문의
디버거 스케메틱 그리시는 중간에 저항은 주로 1K ~ 100K 정도 쓴다고 하시는데 100K, 10K, 1.5K 로 별다른 설명 없이 사용하시던데 통상적으로 해당 핀 연결시 많이 쓰이는 저항값을 선정하셔서 쓰신걸까요?
-
해결됨한 입 크기로 잘라먹는 타입스크립트(TypeScript)
클래스 관련 질문 드립니다
한입 크기로 잘라먹는 타입스크립트 강의에서 Section 7의 36번 강의에서 이 아래의 코드가 나오는데 Student 클래스의 생성자 부분에서 'name' 매개변수에는 암식적으로 'any' 형식이 포함됩니다.라고 에러가 뜨고 name 뿐만아니라 grade, age 도 똑같은 에러가 뜨는데 혹시 원인이 뭔지 알 수 있을까요? 강사님과 똑같은 코드를 쳤는데 오류가 나와서 어디가 문제인지 모르겠습니다...class Student { // 필드 name; grade; age; // 생성자 constructor(name, grade, age) { this.name = name; this.grade = grade; this.age = age; } // 메서드 study() { console.log("열심히 공부 함"); } introduce() { console.log(`안녕하세요!`); } }
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
배치 람다 or ec2
웹/배치 리소스 사용 부분에서 배치는 필요 할 때만 실행이된다고 했는데 예전에 공공API를 한번 호출 할 때 오래 걸렸던걸로 기억이 난다. 외부API를 1번 호출 할 때 10개씩 가져오는데 약 1분이 걸린다면 1년치 데이터(약 40만건)을 적재를 했어야했다. AWS를 잘 모르지만 람다에서 함수 호출 1번 할 때 최대 15분이라 한번 배치를 돌려서 40만건을 쌓을려면 람다를 도입하기 힘들다고 판단했다. 필요 할 때만 이용하는 람다가 이점이긴하지만 1년치 데이터를 쌓는 부분에서 고민이된다. 아니면 람다를 반복 호출하는게 맞는지... 공공API 1번 호출 할 때 데이터 10건이라 데이터 약 40만건 쌓을려면 4만번 호출한다.그래서 EC2를 도입했었는데, 1년치만 쌓을 때 EC2를 쓰고 그 이후에는 람다를 도입하는게 맞을지 궁금하다.(반말 죄송합니다ㅠㅠ)
-
미해결[말 한마디로 뚝딱!] AI와 함께 나만의 수익화 웹사이트를 만드는 법
그누보드 세팅 오류
선생님~! 9강 강의 듣다가 잘 안되어서 질문드립니다.localhost 로 접속을 하니 http://localhost/dashboard/ 해당 url로 리다이렉트 되면서 들어가집니다.근데 강의에서는 localhost로 접속하면 http://localhost/eyoom/install/setup.php 해당 주소로 리다이렉트 되던데 저는 저 경로로 리다이렉트가 안되더라구요.그래서 직접 저 url로 주소를 입력하니 다음과 같이 Not Found 에러가 뜨더군요.무엇이 잘못되었을까요?