묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Electron과 NodeJS 그리고 Socket.io를 이용한 채팅 어플리케이션 개발
아래 질문에 이어서 질문이요 ㅜ
혹시 webpack 설치가 필요한가요? ㅜ
-
미해결생활코딩 - 자바스크립트(JavaScript) 기본
중간에 key를 var name으로 바꿔주는데
for (key in grades) { document.write("key: " +key+ " value: " +grades[key]); } 위 코드에서 중간에 key를 var name으로 바꿔주셔도 된다고 했는데 그게 왜 가능한 건가요? 그리고 왜 바꿔주는 지도 여쭤보고 싶습니다.
-
해결됨리눅스 커맨드라인 툴
sort가 제대로 되지 않습니다.
안녕하세요 먼저 강의 잘 듣고 있습니다. centos 7.4 환경에서 강의를 따라 듣고 sort를 한 결과 대소문자를 구별한채 sorting이 되어 강사님과 같이 결과가 나오지 않습니다.. 어떤 옵션을 줘야 강사님과 같은 sorting 결과를 얻을수 잇을까요?
-
미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
질문이요.
//////////////////////////////////////////////////////// 강의를 여러번 다시보고 질문좀 남겨요... npm start를 하면, app.js 에서 연결된 모든 const 000 = requires('./000') or requires('0000') 들이 시작되고나서, 모든 미들웨어 들이 위에서부터 시작하잖아요. 여기에서 의문점은요, 이 경우에 app.use(passport.initialize()); app.use(passport.session()); app.get('/', indexRouter) app.use(passport.session()); 가 passport.deserializeUser를 실행 시킨다고 하셧잖아요. 그래서 이런 식으로 console.log를 넣어 봤습니다. passport.deserializeUser((id, done) => { console.log("안녕 나 실행.") ........... } 인제 npm start를 하고 메인 페이지를 돌려 봤습니다. 순서상으로, app.get('/', indexRouter) 가 app.use(passport.session()); 보다 뒤 인데, 콘솔 로그에는 "안녕 나 실행." 이 찍히지 않았습니다. 이 뜻은, serializeUser가 된 상태에서만, deserializeUSer 가 작동 된다는 사실인가요? 미들웨어인 app.use(passport.initialize()); app.use(passport.session()); 가 있어도, 그냥 작동만하고 next()처럼 넘어가는 형식인가요? 로그인을 하지 않는 이상 찍히지 않네요. 로그인을 해서 serializeUser 상태에서만 deserializeUSer이 가능한뜻인가요..? 그러면 로그인을 누름과 동시에 serializeUser에 저장이되고, app.use(passport.session());에서 걸려서, passport.session()은 passport.deserializeUser를 불러서, passport.deserializeUser는 id와 done을 콜백함수로 넘겨주는 건가요?? //////////////////////////////////////////////////////// 로그인시, join.pug 에서 extends layout block content .timeline form#join-form(action='/auth/join' method='post') .input-group label(for='join-email') 이메일 input#join-email(type='email' name='email') .input-group label(for='join-nick') 닉네임 input#join-nick(type='text' name='nick') .input-group label(for='join-password') 비밀번호 input#join-password(type='password' name='password') if joinError .error-message= joinError button#join-btn.btn(type='submit') 회원가입 에서 name 그대로 email 과 password를 넘어 오잖아요. 로그인 버튼을 클릭시, app.js 에서, .... app.use(express.urlencoded({extended : false })); app.use('/auth', authRouter); ... app.use(express.urlencoded({estended : false})); 프론트에서 받은 email 과 password를 읽어오고난후, app.use('/auth', authRouter); 에 걸려서, auth.js로가서 router.post('/login',isNotLoggedIn,(req,res,next)=>{ //req.body.email req.body.password passport.authenticate('local',(authError,user,info)=>{ ..... return res.redirect('/'); }); })(req,res,next); }); router.post('/login',isNotLoggedIn,(req,res,next)=> 여기에서의 req.body.email 과 req.body.password로 접근 가능, app.use(express.urlencoded({estended : false})); 에서 읽어 왔기 때문에. passport.authenticate('local' 이것이 실행되면, localStrategy.js 를 불러서, passport.use(new LocalStrategy({ usernameField: 'email', // req.body.email join.pug 에서 넘어옴. passwordField: 'password', //req.body.password }, async(email, password, done) =>{ ... done(null, exUser); } usernameField: 'email' passwordField: 'password' 궁금한게, 'email' 와'password' 만 으로 접근이 가능한 이유에요. 지금 이게 join.pug의 것인데, email 와 password name 그대로 써준것 뿐인데 바로 넘어와서 쓸 수 있는게 잘 이해가 안가네요/? 왜 req.body.email 과 req.body.password 이런식으로 접근을 안하나요??? 그리고 email, password, done 의 async 인자들은 갑자기 어디서 나온건지가 잘이해가 안가네요 ?? new LocalStrategy (...) 에서 email, password, done 의 async 콜백 인자를 넘겨 준건가요??? 그리고 async쓰신 이유좀 알려주실수있나요?? 모든게 잘 작동하면(비밀번호가 비크립으로 잘 맞고이러면), done(null, exUser); 를 하고나서, 다시 passport.authenticate('local',(authError,user,info)=>{ .... return req.logIn(user,(loginError)=>{ .... return res.redirect('/'); }); })(req,res,next); }); 여기에서 done() 에서 콜백으로 인자를 넘겨주잖아요. (authError,user,info)=>{ done() 은 어떤식으로 짜여있나요..? 실패 성공 여부와 실패시 메세지 넘기는 용도로만 사용하나요? req.logIn(user, 인제 여기서 드디어, serializeUser를 해주잖아요. passport.serializeUser((user, done) => { // {id:1, name:zero, age:25} -> 1 done(null, user.id); // 사용자 정보를 모두 세션에 저장하기 무거워서 아이디만 저장. }); done(null, user.id); 여기서 세션에 저장을 시키는 건가요? done(null,user.id) 면 user.id를 인자로 넘기는거 아닌가요?????? done(null,user.id) 넘어 와서(성공시), return res.redirect('/'); 이렇게 리다이렉이 되고, app.js가 다시 실행되고 나서, app.use(passport.initialize()); app.use(passport.session()); 여기에서, app.use(passport.session()); 이 deserializeUser 를 실행시키고, passport.deserializeUser((id, done) => { console.log("안녕 나 실행.") // 1 로 찾고-> {id:1, name:zero, age:25} 찾은후 -> req.user 저장 if(user[id]){ done(user[id]); }else{ User.findOne({ where: { id } }) .then(user => done(null, user)) .catch(err => done(err)); } }); serializeUser로 저장된 user.id 가 passport.session()에 의해서 인자가 전달되는건가요 ? then(user => done(null, user)) 이 뜻 잘이해가 안가네요?? 이게 done(null,user)로 넘긴다는건가요 ? 넘긴다면 어디로 콜백을 넘기나요?? app.js에서 app.get('/', indexRouter) 이렇게 되잖아요. page.js 에 이것에 걸리고 router.get('/', (req, res, next) => { res.render('main', { // main.pug 렌더링 title: 'NodeBird', // main.pug에 있는 변수들 twits: [], user: req.user, // 즉 done에서 성공시 in localStoragy 세션에 저장이됨 그러고 나서 로그인후 req.user로 접근가능. loginError: req.flash('loginError'), //일회성 메세지들 보여주기위해 에러 넣음 }); }); 즉 이뜻이 then(user => done(null, user)) req.user에 넣어준다는 이야기인가요?
-
미해결React로 NodeBird SNS 만들기
쿠키 관련 질문
회원가입 성공시 "가입 성공입니다." 하고 바로 메인으로 이동하게 만들고 있습니다. 그런데 여기서도 회원가입 성공시 로그인처럼 쿠키값을 받아와야 되지 않나요 ? 아니면 다른식으로 하는 방법이 있는지 궁금합니다.
-
미해결Vue, 뷰 100분 핵심강의
홈페이지 자료 항목에 강의 자료가 없습니다.
홈페이지 자료 항목에 강의 자료가 없습니다. 코드가 없습니다 확인부탁드립니다.
-
미해결Typescript with Vue 실전 프로젝트
vue typescript프로젝트에서 styled-component 사용방법
안녕하세요. vue typescript 프로젝트에 styled-component 적용하려고 하니 계속해서 타입에러가 발생합니다. 혹시 관련하여 적용방법 공유 가능하실까요?
-
해결됨해외취업 ASP.NET Core 웹개발 기본 강좌
Identity ViewModel
아래 코드는 ViewModel 폴더가 아닌, Model 폴더에 들어가야하는 코드가 아닌가요? 아래는 영상 앞부분 Model 폴더에 적용되어 있는 코드입니다. 유효성 검사는 Model, ViewModel 구분없이 사용하나요? 표준적으로 사용하는 규칙이 궁금합니다.
-
미해결React로 NodeBird SNS 만들기
포트 관련 질문이요!
그럼 3060포트는 개발용 프론트 서버이고, 3000포트는 빌드용 프론트 서버인게 맞나요? 추가 개발하고 테스트 할때는 3060포트에서 하고, 결과물 확인은 3000포트에서 하면되나요 ?
-
미해결스프링 부트 개념과 활용
log4j2 변경하는것이 안됩니다.
안녕하세요. 스프링부트2, 스프링 5로 공부중입니다. 강의에서 pom.xml에서 exclusions를 추가하여 log4j2로 변경하였는데 아래 처럼 에러가 나더라구요.. 검색을 해보며 찾아보니 https://www.baeldung.com/slf4j-classpath-multiple-bindings 스프링에서 이런식으로 하라고 하는것 같은데 마찬가지더라구요.. 왜 이런 에러가 발생하는걸까요?? /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/bin/java -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=62538:/Applications/IntelliJ IDEA.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/packager.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/tools.jar:/Users/zidol/Desktop/sts_workspace/springinit/target/classes:/Users/zidol/.m2/repository/org/springframework/boot/spring-boot-starter-web/2.1.6.RELEASE/spring-boot-starter-web-2.1.6.RELEASE.jar:/Users/zidol/.m2/repository/org/springframework/boot/spring-boot-starter-json/2.1.6.RELEASE/spring-boot-starter-json-2.1.6.RELEASE.jar:/Users/zidol/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.9.9/jackson-databind-2.9.9.jar:/Users/zidol/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar:/Users/zidol/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.9.9/jackson-core-2.9.9.jar:/Users/zidol/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.9/jackson-datatype-jdk8-2.9.9.jar:/Users/zidol/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.9/jackson-datatype-jsr310-2.9.9.jar:/Users/zidol/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.9/jackson-module-parameter-names-2.9.9.jar:/Users/zidol/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/2.1.6.RELEASE/spring-boot-starter-tomcat-2.1.6.RELEASE.jar:/Users/zidol/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.21/tomcat-embed-core-9.0.21.jar:/Users/zidol/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/9.0.21/tomcat-embed-el-9.0.21.jar:/Users/zidol/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.21/tomcat-embed-websocket-9.0.21.jar:/Users/zidol/.m2/repository/org/hibernate/validator/hibernate-validator/6.0.17.Final/hibernate-validator-6.0.17.Final.jar:/Users/zidol/.m2/repository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar:/Users/zidol/.m2/repository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar:/Users/zidol/.m2/repository/com/fasterxml/classmate/1.4.0/classmate-1.4.0.jar:/Users/zidol/.m2/repository/org/springframework/spring-web/5.1.8.RELEASE/spring-web-5.1.8.RELEASE.jar:/Users/zidol/.m2/repository/org/springframework/spring-beans/5.1.8.RELEASE/spring-beans-5.1.8.RELEASE.jar:/Users/zidol/.m2/repository/org/springframework/spring-webmvc/5.1.8.RELEASE/spring-webmvc-5.1.8.RELEASE.jar:/Users/zidol/.m2/repository/org/springframework/spring-aop/5.1.8.RELEASE/spring-aop-5.1.8.RELEASE.jar:/Users/zidol/.m2/repository/org/springframework/spring-context/5.1.8.RELEASE/spring-context-5.1.8.RELEASE.jar:/Users/zidol/.m2/repository/org/springframework/spring-expression/5.1.8.RELEASE/spring-expression-5.1.8.RELEASE.jar:/Users/zidol/.m2/repository/org/springframework/boot/spring-boot-starter/2.1.6.RELEASE/spring-boot-starter-2.1.6.RELEASE.jar:/Users/zidol/.m2/repository/org/springframework/boot/spring-boot/2.1.6.RELEASE/spring-boot-2.1.6.RELEASE.jar:/Users/zidol/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.1.6.RELEASE/spring-boot-autoconfigure-2.1.6.RELEASE.jar:/Users/zidol/.m2/repository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar:/Users/zidol/.m2/repository/org/springframework/spring-core/5.1.8.RELEASE/spring-core-5.1.8.RELEASE.jar:/Users/zidol/.m2/repository/org/springframework/spring-jcl/5.1.8.RELEASE/spring-jcl-5.1.8.RELEASE.jar:/Users/zidol/.m2/repository/org/yaml/snakeyaml/1.23/snakeyaml-1.23.jar:/Users/zidol/.m2/repository/org/springframework/boot/spring-boot-starter-log4j2/2.1.6.RELEASE/spring-boot-starter-log4j2-2.1.6.RELEASE.jar:/Users/zidol/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.11.2/log4j-slf4j-impl-2.11.2.jar:/Users/zidol/.m2/repository/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26.jar:/Users/zidol/.m2/repository/org/apache/logging/log4j/log4j-api/2.11.2/log4j-api-2.11.2.jar:/Users/zidol/.m2/repository/org/apache/logging/log4j/log4j-core/2.11.2/log4j-core-2.11.2.jar:/Users/zidol/.m2/repository/org/apache/logging/log4j/log4j-jul/2.11.2/log4j-jul-2.11.2.jar:/Users/zidol/.m2/repository/org/slf4j/jul-to-slf4j/1.7.26/jul-to-slf4j-1.7.26.jar:/Users/zidol/.m2/repository/org/springframework/boot/spring-boot-configuration-processor/2.1.6.RELEASE/spring-boot-configuration-processor-2.1.6.RELEASE.jar:/Users/zidol/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.1.6.RELEASE/spring-boot-starter-logging-2.1.6.RELEASE.jar:/Users/zidol/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar:/Users/zidol/.m2/repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar:/Users/zidol/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.11.2/log4j-to-slf4j-2.11.2.jar me.zidol.springinit.SpringinitApplication SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/Users/zidol/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.11.2/log4j-slf4j-impl-2.11.2.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/Users/zidol/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory] Exception in thread "main" java.lang.StackOverflowError
-
미해결인터랙티브 웹 개발 제대로 시작하기
완성파일다운로드가 없어요ㅠㅠ
완성파일 다운로드하는버튼은 없는데 어디서 다운하죠...?
-
인터랙티브 웹 개발 제대로 시작하기
일분이캐릭터
삭제된 글입니다
-
해결됨누구든지 하는 리액트: 초심자를 위한 react 핵심 강좌
props질문입니다.
PhoneInfoList.js에서 <PhoneInfo info={info} key={info.id}/> PhoneInfo컴포넌트한테 전달하는데 받을 때 const {name, phone, id} = this.props.info; this.props.info로 받는건 알겠습니다. 그런데 App.js에서 PhoneInfoList로 전달할때 <PhoneInfoList data={this.state.information}></PhoneInfoList> data=어쩌고 보내니까 PhoneInfoList에서 const { data } = this.props.data;로 받아야하는 줄 알고 그렇게 작성했더니 에러가 났습니다. this.props; 로 하면 되고 this.props.data로 하면 에러가 나는데 개념이 아직 안되어있는건지는 모르겠는데 설명해주실 수 있나요 ㅠ
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
맥북 유저입니다.
맥북 유저는 설명해주신 방법데로 채점프로그램을 이용할 수 없는건가요?
-
미해결Electron과 NodeJS 그리고 Socket.io를 이용한 채팅 어플리케이션 개발
5번째 강의 질문드립니다.
Uncaught ReferenceError: require is not defined at login.js:3 at login.js:10 이런 에러가 뜨는데요. 초기 설정할 때, package.json 을 npm install 했을 때 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) 란 에러가 떴었습니다. 이것 때문일까요? node도 처음이라 어렵네요 ㅜ 참고로 main.js에서 nodeintegration:true 했습니다. ㅜ
-
해결됨iOS12 앱 개발 퍼펙트 가이드
질문이있습니다.
df.dateFormat = "mm" 실습중 이부분에서 mm 대신 yy로 바꾸보았는데 사진 첨부한것 처럼 70:01:02 이런식으로 나옵니다 왜 년도나 시간 yy,hh 는 00이 안나오는건가요? 스타트 버튼 누른후 1시간이 지나거나 1년이 지나야 00에서 바껴야하는거아닌가요?
-
미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
file remove 질문입니다.
3:40 부근에 파일명이 newfile.js인데 fs.unlink('./folder/newFile.js')로 적혀있어도 지워지나요? window 기반이라서 대소문자 구별없이 지워지는건가요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
저는 team query가 나가지 않습니다만...
public class JpaMain { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); try { tx.begin(); Team team = new Team(); team.setName("teamA"); em.persist(team); Member member = new Member(); member.setUsername("member1"); member.setAge(10); member.changeTeam(team); em.persist(member); List<Member> result = em.createQuery("select m from Member m inner join m.team t", Member.class) .getResultList(); tx.commit(); } catch (Exception ex) { ex.printStackTrace(); tx.rollback(); } finally { em.close(); emf.close(); } }}저는 Member entity에 team을 LAZY 로 세팅하지 않아도Hibernate: /* select m from Member m inner join m.team t */ select member0_.id as id1_0_, member0_.age as age2_0_, member0_.TEAM_ID as TEAM_ID4_0_, member0_.username as username3_0_ from Member member0_ inner join Team team1_ on member0_.TEAM_ID=team1_.id이 쿼리만 나갑니다.강사님는 team query가 나가는 것으로 영상에 찍었는데 저와 좀 다르네요.
-
미해결생활코딩 - 정규표현식
[a^bcd] 경우
abcdefgh 가 있을 때 [a^bcd] 를 했을 때 aefgh 를 기대했는데, abcd 가 잡히네요, ^이 Not으로 쓰이려면 항상 [ ] 안에서 가장 앞자리에 있어야하나요?
-
미해결요즘 누가 유료로 웹서비스 구축 하나, Firebase의 모든것
구글 소셜로그인 문제 있습니다.
제한 페이지 표시까지 온거면 코드에는 문제가 없어보여요.. //코드 function googleLogin(){ var user = firebase.auth().currentUser; if(user){ } else{ var provider = new firebase.auth.GoogleAuthProvider(); provider.addScope('https://www.googleapis.com/auth/plus.login'); firebase.auth().signInWithPopup(provider).then(function (result) { var token = result.credential.accessToken; var user = result.user; alert("google connected"); }).catch(function (error) { console.log(error); }); } }