묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[React 1부] 만들고 비교하며 학습하는 React
show( ) 함수를 오버라이드 한 후 다시 부모의 show()를 호출하는 이유가 궁금합니다.
show() { this.element.innerHTML = this.template.getTabList(); super.show(); } [질문 1] show() 함수를 오버라이드하여 탭뷰의 show()에서는 innerHTML에 탭 리스트를 추가하고 show()함수의 역할이 변경되었으니 다시 부모의 show()를 호출해서 디스플레이 하는거라고 이해하면 되나요 ? [질문 2] .map(this._getTab) _getTab({ tabType, tabLabel }) { return ` <li data-tab="${tabType}">${tabLabel}</li> `; } _getTab 함수에 대한 질문인데요.. map안에서 _getTab에 () 가 붙지 않는 이유가 궁금합니다. () 가 붙으면 함수의 호출이고 없으면 참조인것 같은데 왜 여기서 참조형식으로 써야하는지 잘 이해가 안가요 그리고 _getTab 구현부분에서 에서 인자를 넘겨주지 않았는데 {tabType,tabLabel} 을 어떻게 받아올 수있는지 궁금합니다.
-
미해결스프링부트 시큐리티 & JWT 강의
스프링 시큐리티도 세션 기반 인증 방식 사용할 수 있나요??
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.' 안녕하세요? 스프링 시큐리티를 몰라서 강의를 듣고있는 병아리 개발자입니다! 밑에 질문글에서 세션과 차이점에 관한 질문 답변에 밑 블로그 글이 있어서 읽고 왔는데 질문이 있습니다. https://blog.outsider.ne.kr/1160 이 글에서도 읽어봤듯이 웹에서의 동작에서는 JWT방식을 추천하지 않는다고 나와있는데 이는 토큰의 탈취때문이라고 적혀있는 것 같습니다. 현재 강의는 jwt처럼 토큰 인증 방식을 사용하는 것 같은데 그렇다면 스프링 시큐리티도 세션 기반 인증 방식을 사용할 수 있나요? 그리고 강의는 잘 보고 있습니다 ^^ 친구들에게도 추천하고 다닙니다 ㅎㅎ 최근 유튜브 구독도 했어요~ !!
-
미해결모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
order by 뒤에 sql 검증하는 부분에서 질문드립니다!
order by 뒤에 컬럼이나 키워드가 나올수있고 검증구문을 order by (case when 1=1 then 1 else 2 end)와 order by (case when 1=1 then idx else title end) 이렇게 두가지로 알려주셨는데 직접 해보니 첫번째 구문과 같이 order by 뒤 case 구문에서 then이나 else 값이 숫자면 에러가 나더라고요. mysql에서는 되는것같은데 이마저도 정상적인 출력이 되지 않습니다. 그렇다면 order by 절에서의 공격검증은 case 구문에 컬럼값을 이용한 방식만 가능한지 문의드려요 이 내용은 order by idx (desc)와 같은 키워드 부분에서도 동일한 것같습니다.
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
실제 배포한 ip에서는 쿠키가 생성이되지않고 passport중에deserializeUser호출이 안됩니다.
안녕하세요 조현영 선생님 제가지금 해당 강의를 통해서 개인 프로젝트를 진행중인데 문제가 발생이 됬습니다. 클라이언트와 백엔드 다 우분트 환경에서 잘 작동해서 실제 배포한 ip주소로 들어가면 정상적으로 화면이 보여집니다. 클라이언트 서버: 다 작동이 잘 되고 회원가입 기능도 잘 작동해서 실제 해당http://13.125.96.64 쪽으로 요청을 하여 데이터베이스도 잘 생성이되고 됩니다. 근데 문제가 local로 성공적으로 로그인을하면 passport.js 쪽에서 serializeUser 한번 실행을하고 쿠키가 생겨야하는데 생기질 않습니다. 그리고 다시 메인 화면으로 돌아오면 LOAD_MY_INFO_REQUEST action으로 통해서 cookie 와 같이 서버로 전송을해서 deserializeUser도 실행이 되야하는데. deserializeUser도 실행이 안됩니다. 제 로컬에서는 모든게 다 잘 작동합니다. 로컬에서 프론트: 로그인 하면 잘 작동합니다. 로컬에서 백엔드 pm2 환경 보시면 쿠키도 잘 생성되고 passport.js 에서 deserializeUser 도 잘 작동되는게 보입니다. 하지만 배포한 ip에서는 쿠키도 생성이 되질않고 deserializeUser 도 작동하지 않습니다위 사진은 제가 로그인이 성공하고 다시 메인 페이지로 돌아온 화면입니다 성공적으로 로그인이 되도 쿠키는 여전히 생성되지 않았습니다. 위 사진은 제가 로그인이 성공하고 다시 메인 페이지로 돌아온 화면입니다 성공적으로 로그인이 되도 쿠키는 여전히 생성되지 않았습니다. 백엔드쪽 봐도serializeUser 으로 로그인이 성공하고 deserializeUser는 호출이 되질 않습니다. back/app.js 소스코드입니다. const express = require('express'); const PORT = 80; const app = express(); const cors = require('cors'); const effectRouter = require('./routers/effect'); const userRouter = require('./routers/user'); const effectsRouter = require('./routers/effects'); const db = require('./models'); const session = require('express-session'); const cookieParser = require('cookie-parser'); const dotenv = require('dotenv'); const passport = require('passport'); const passportConfig = require('./passport'); const morgan = require('morgan'); const hpp = require('hpp'); const helmet = require('helmet'); db.sequelize .sync() .then(() => { console.log('db 연결 성공'); }) .catch(console.error); passportConfig(); dotenv.config(); app.use(cookieParser(process.env.EFFECTSHOP_SECRET)); app.use( session({ saveUninitialized: false, resave: false, secret:process.env.EFFECTSHOP_SECRET, }) ) if(process.env.NODE_ENV === 'production'){ app.use(morgan('combined')); app.use(hpp()); //보안에 도움되는 라이브러리 app.use(helmet()); }else{ app.use(morgan('dev')); } app.use(passport.initialize()); // 패스포트 설정 미들웨어에 추가. app.use(passport.session()); app.use(express.json()); app.use(express.urlencoded({extended: true})); app.use(cors({ origin:["http://localhost:3000","http://54.180.81.148"], credentials:true, })); app.get('/',(req,res)=>{ res.send('hello express'); }) app.use('/effects' ,effectsRouter); app.use('/effect',effectRouter); app.use('/user', userRouter); app.listen(PORT, ()=>{ console.log(`server on! at http://localhost:${PORT}`); }); 더 자세한 코드를 보시길 원하신다면 여기에 제 소스코드를 올려 놓았습니다 ㅠㅠ 엄청난 고민끝에 여쭤봅니다 ㅜ 감사합니다. https://github.com/sungmin-choi/effectShopByHTML-CSS
-
미해결MERN STACK 커뮤니티 : 시작부터 배포까지 알려주는 React
프록시 연결후 서버 연결시 요청실패 에러만 나옵니다
몽구스와 프록시로 서버 연결하고 요청하고나서 List를 누르면 403 forbidden 에러가 나옵니다 똑같이 한거같은데 뭐가 문제인지 몰라 계속 해결이 안되고있는데 , 요청실패라고 나오는게 크게 상관 없다면 다음페이지로 넘어갈까 하고있습니다 ㅜ 아래는 입력한 코드입니다
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
npm install 로 문제없이 yarn 설치를 했는데 yarn 이 실행이 안되네요
- 혹시 위와같은 문제에 대해서 알수 있을까요
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
for item in items: 에러
[9372:2508:0320/003306.931:ERROR:device_event_log_impl.cc(214)] [00:33:06.932] USB: usb_device_handle_win.cc:1049 Failed to read descriptor from node connection: 시스템에 부착된 장치가 작동하지 않습니다. (0x1F) [9372:2508:0320/003306.932:ERROR:device_event_log_impl.cc(214)] [00:33:06.933] USB: usb_device_handle_win.cc:1049 Failed to read descriptor from node connection: 시스템에 부착된 장치가 작동하지 않습니다. (0x1F) c:\startcording\03_네어버쇼핑크롤링\02_셀레니움_무한스크롤.py:32: DeprecationWarning: find_element_by_css_selector is deprecated. Please use find_element(by=By.CSS_SELECTOR, value=css_selector) instead items = browser.find_element_by_css_selector(".basicList_info_area__17Xyo") Traceback (most recent call last): File "c:\startcording\03_네어버쇼핑크롤링\02_셀레니움_무한스크롤.py", line 34, in <module> for item in items: TypeError: 'WebElement' object is not iterable 다른 부분까지는 잘 따라 왔는데, 데이터를 가져오는 부분에서 에러가 납니다. 표시되는 글은 상기와 같구요. 작성된 문서에서 차이는 못 찾겠는데, 에러가 나서 다음강의로 못 넘어가고 있습니다.
-
미해결스프링 핵심 원리 - 기본편
이전에 사용했던 프로토타입 빈도 프록시로 사용해도 될까요?
프록시가 프로바이더의 기능을 대체하면 프로토타입을 사용할때도 프록시를 사용해도 될까요?
-
미해결리눅스 입문 - 개념으로 탄탄히!!
Nano에서 ctrl키가 작동이 안됩니다!
안녕하세요 강사님 nano를 입력하고 들어갔는데 나노 기본 화면에서 ctrl + x 를 누르고 나가기를 하셔서 그대로 입력을 했는데 ctrl키가 안되서... 알트키 쉬프트키 다 해봤는데 작동이 안됩니다ㅠ nano ^ 키를 컨트롤로 어떻게 설정해야할지 모르겠습니다! 구글링해봤지만 찾기가 어려워서 답변 주시면 감사하겠습니다!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@NotEnpty 어노테이션
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용] jpa 활용1편 섹션7 두번째 강의 MemberCotroller createForm 메서드에서 new MemberForm 객체를 모델에 저장하는 코드입니다. MemberForm은 이름 @NotEmpty인데 왜 저렇게 넘겨도 괜찮은건가요?? @GetMapping("/members/new") public String createForm(Model model){ model.addAttribute("memberForm", new MemberForm()); return "members/createMemberForm"; }
-
미해결차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
후반부 강의자료 요청드립니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 관심있는 분야 강의라 수강신청해서 듣고 있습니다! 후반부 강의자료 요청드립니다. irea8846@gmail.com 감사합니다!
-
미해결스프링 핵심 원리 - 기본편
ObjectProvider를 DI 받을려고 할 때
ObjectProvider를 롬복으로 생성자를 생성해서 주입받을려고 하니 DI가 이루어지지 않더라구요 ㅠㅠ 생성자를 직접 만들어서 AutoWired를 하니까 DI가 문제없이 되는데 원래 그런건가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
프리팹 썸네일에서만 모델이 회색으로 나옵니다
강사님 영상에서는 씬에서 만든 탱크를 프로젝트 탭으로 옮겼을 때 프리팹 썸네일이 제대로 흰색 탱크 이미지로 나오는데 저는 이상하게 프리팹 썸네일의 모델이 회색으로 나옵니다. 다시 씬에 프리팹을 추가해보면 제대로 흰색으로는 나오는데 왜 이미지만 회색으로 나오는지 도통 모르겠습니다. 구글에 검색해봐도 저랑 같은 문제가 나타난 사람이 없는 것 같아요. 버전은 2020.3.30f1(LTS버전) 입니다.
-
미해결유니티 머신러닝 에이전트 완전정복 (기초편)
DroneSetting.cs 관련 질문
Drone 환경 만들때 DroneSetting.cs 스크립트 작성 후 Area 에서 Add Component 에서 Drone Setting 컴포넌트를 추가하니 다음 화면처럼 Drone agent 와 Goal 메뉴가 보이지 않습니다. 도와 주시면 감사 하겠습니다. 하기는 작성한 DroneSetting.cs 코드 입니다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class DroneSetting : MonoBehaviour { private GameObject DroneAgent; private GameObject Goal; private Vector3 areaInitPos; private Vector3 droneInitPos; private Quaternion droneInitRot; private Transform AreaTrans; private Transform DroneTrans; private Transform GoalTrans; private Rigidbody DroneAgent_Rigidbody; void Start() { AreaTrans = gameObject.transform; DroneTrans = DroneAgent.transform; GoalTrans = Goal.transform; areaInitPos = AreaTrans.position; droneInitPos = DroneTrans.position; droneInitRot = DroneTrans.rotation; DroneAgent_Rigidbody = DroneAgent.GetComponent<Rigidbody>(); } public void AreaSetting() { DroneAgent_Rigidbody.velocity = Vector3.zero; DroneAgent_Rigidbody.angularVelocity = Vector3.zero; DroneTrans.position = droneInitPos; DroneTrans.rotation = droneInitRot; GoalTrans.position = areaInitPos + new Vector3(Random.Range(-5f, 5f), Random.Range(-5f, 5f), Random.Range(-5f, 5f)); } }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빌드시 경로가 재대로 인식이 안되는거 같습니다.
빌드과정에서 에러가 발생합니다. 읽어보면은 프로젝트안에서 build 폴더를 찾아서 들어가야 하는데, 앞에 B가 빠지고 uild 만 남아서 없는 폴더에 접근하려는거 같습니다.. 딱히 파일 건드린 거도 없고 강의 내용 그대로 따라하면서 프로젝트명만 그냥 데모를 그대로 사용한건데.... 문제가 있을까요?
-
해결됨따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
소스코드자료(Amazon Linux2 업데이트 버전)(2021 12월 28일 업데이트) 파일 확인요청드립니다
소스 코드 자료 (Amazon Linux2 업데이트 버전) (2021 12월 28일 업데이트) zip 자료 다운로드하면 압축파일에 파일이 없는데, github 소스를 받으면 되는 것인가요?
-
미해결쉽게 따라하는 Revit 2019 응용
세번째 강의 그리드 및 레벨 주석 패밀리 수정 관련
표제 강의 관련하여 질문드립니다. 세로축 그리드의 경우 X1~X4 문자가 그리드바와 평행하게 올바르게 표시가 되지만 가로축 그리드의 경우 Y1~Y3 문자가 그리드바와 수직으로 표시가 됩니다. Y1~Y31 문자를 그리드바에 평행하게 만드는 방법을 알고 싶습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
검증기 질문
기본 원리 이해해가며 많은 도움이 되었습니다. 그리고 배운 내용을 확장하는 와중에 영한님 의견을 꼭 듣고 싶습니다. 제가 지금 스프링 전체를 이해하지 못해서 이런 고민을 하게된건지, 아니면 원래 이렇게 짜야하는 건지 모르겠습니다. 만약 뒤에 강의나 다른강의에서 해결하는 방법이 나온다면 그 파트만 말해주셔도 감사합니다. 제가 짠 코드는 이렇습니다. @PostMapping("/login") public String login(@Validated @ModelAttribute("loginForm") LoginForm form, BindingResult bindingResult, HttpServletRequest request) { if (bindingResult.hasErrors()) { return "login"; } loginValidator.validateLogin(form, bindingResult); if (bindingResult.hasErrors()) { return "login"; } loginService.login(request, form.getEmail()); return "redirect:/"; } 타입 검증을 하고 문제가 없으면 논리 검증코드를 거치고 논리 검증코드에 문제가 있으면 bindingResult에 reject를 넣는 코드를 짰습니다. 그래서 문제를 다시 검사합니다. 근데 이 코드가 맘에 안드는게 hasErrors 코드가 2번으로 중복됩니다. 그래서 이를 줄인다고 loginValidator 안에 밑의 코드를 넣을 수 있지만 이래도 여전히 문제가 되는게 만드는 Validator를 만드는 족족 밑의 코드를 넣어야 하니 컨트롤러쪽에서는 깔끔하겠지만, 나중에 계속 다음 Validator를 만들 때마다 코드를 넣는 중복도 피할 수 없습니다. if (bindingResult.hasErrors()) { return; } 그래서 질문은 다음과 같습니다. 원래 검증하는 부분을 실무에서는 이를 어떻게 해결하는지 혹은, 만드는 Validator마다 알아서 맨 첫 시작은 bindingResult.hasErrors()를 알아서 호출하게 할만한 방법이 어떤 방법이 있을까요? 답변이 길어질 것 같으면 그냥 Spring에 어떤 기능을 잘활용하면 된다고 짤막하게 남겨주셔도 감사할 것 같습니다. 주저리주저리.. 원래는 도전정신으로 Validator를 설계할 때 위에 @Controller처럼 어노테이션을 @Validator를 붙이고 앞서 배운 핸들러와 매핑처럼 들어온 파라미터 타입에 맞는 핸들러를 알아서 찾아서 쓰는 입장에선 validator.validate와 같이 깔끔하게 쓰자고 호기롭게 공부를 시작했지만 생각보다 벽느껴서 나중에 잘하게 되면 다시 도전해보려합니다. ㅠㅠ
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
Cannot query across one-to-many for property WorkspaceMembers
안녕하세요 typeorm find 에서 서브 쿼리 사용시 다음과 같은 오류가 발생합니다. - 1 ------ return this.workspacesRepository .createQueryBuilder('workspaces') .innerJoin( 'workspaces.WorkspaceMembers', 'workspacemembers', 'workspacemembers.UserId=:id', { id: myId }, ) .getMany(); - 2 -----return this.workspacesRepository.find({ where: { WorkspaceMembers: [{ UserId: myId }], },}); 오타나 다른 해결법이 있나 싶어서 찾아보고 수정해봤는데 안되고 1번 형식으로 하면 정상적으로 받아 오고, 2번 형식은 위에 있는 에러가 발생합니다. 2번 타입으로 사용하는 설정이나 해결법이 따로 있을까요? 소스 코드는 제가 한게 안되서 깃허브에 있는 소스 복사해서 다시 해도 같은 오류가 발생합니다.
-
미해결오픈 소스 자바스크립트 React 프로그래밍 입문 Part.1
create-react-app 오류
npm i -g create-react-app을 하면 npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap. 이렇게 뜹니다. npm install tar@6 -g 해도 안고쳐집니다. 이 상태로 create-react-app react-memo를 하면 'create-react-app'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라고 하는데 어떻게 해야하나요??