inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

칼리리눅스 설치관련

미해결

화이트해커가 되기 위한 8가지 웹 해킹 기술

안녕하세요 virtualBox말고 윈도우에서 제공하는wsl2상에서 칼리 리눅스설치하고 수업을 들어도 되나요?

  • 모의해킹
chungstupid 댓글 0 좋아요 0 조회수 216

랜더링이 무엇인가요?

해결됨

윤재성의 Vue.js 프로젝트를 통한 실무 개발 과정

값을 가져오는 건 바인딩이라고 하는데 랜더링은 구체적으로 뭐라고 하는지 모르겠습니다!

  • vuejs
달린다 댓글 1 좋아요 0 조회수 365

test

미해결

스프링 핵심 원리 - 기본편

안녕하세요. 강의 진심 감사히 듣고 있는 수강생입니다. 다름이 아니라, 테스트 코드 작성하실 때 @BeforeEach로 테스트 메소드 실행될 때 마다 AppConfig 생성해서 한다고 하셨는데, 1) 그렇게 테스트 하는 이유는 테스트 할 때마다 깔끔한 데이터 상태를 위해서일까 싶은데 맞나요? 2) 테스트 해야할 케이스가 많으면 @BeforeEach 로 AppConfig 인스턴스를 계속 새로 생성해서 사용하는게 부담이 되진 않을지 궁금합니다. 3) 테스트 코드는 각 클래스 별로 독립적으로 실행되는 줄 알았는데 테스트 전체적으로 실행하나요? 제가 예로MemberServiceTest만 테스트 돌려도 ./core/src/*/classes 모든 클래스들을 모두 실행한다는 명령어가 콘솔에서 보여 질문드립니다. 3 가지 궁금합니다. 감사합니다!

  • oop
  • spring
강림 댓글 1 좋아요 3 조회수 192

gnb a span 너비 높이값 질문요!

미해결

HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)

gnb a span { 의 width 값과 height 값을 100%로 주셨는데 혹시 inherit으로 상속 받아도 될까요?

  • HTML/CSS
  • jquery
ajrfyd 댓글 1 좋아요 1 조회수 271

엔티티설계질문입니다.

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

강의 잘봤습니다!! 역시 꿀강의!!! 배운 것을 토대로 토이프로젝트를 간단하게 진행 해보려고 합니다. 그래서 팁좀 받을 수 있을까... 해서요!!! 요구사항은 이렇습니다. - 회원엔티티는 본인의 플레이리스트 엔티티를 조회한다. - 플레이리스트의 정보는 동영상 엔티티에 저장되어 있다. - 회원은 본인의 플레이리스트 목록을 삭제할 수 있다. - 회원은 본인의 플레이리스트 중 가장많이 들은 곡 리스트를 조회할 수 있다. - 모든 사용자는 동영상 엔티티에 있는 모든 곡 중 가장 많이 들은 곡 리스트를 조회할 수 있다. 위와 같은 결과로 아래와 같이 설계하였습니다. 가능하시다면 피드백 가능할까요 ㅜ.ㅜ @Entity public class Member { @Id @GeneratedValue ( strategy = GenerationType . IDENTITY ) private Long id; private String name; private String email; @OneToMany ( mappedBy = "member" ) private List < PlayList > playList = new ArrayList <> (); } @Entity public class Video { @Id @GeneratedValue ( strategy = GenerationType . IDENTITY ) private Long id; private String title; @Column ( name = "video_no" ) private String videoNo; private String image; private int count; // 재생 횟수 } @Entity public class PlayList { @Id @GeneratedValue ( strategy = GenerationType . IDENTITY ) private Long id; private int count; // 재생 수 @ManyToOne @JoinColumn ( name = "member_id" ) private Member member; @ManyToOne @JoinColumn ( name = "video_id" ) private Video video; }

  • spring-boot
  • 웹앱
  • java
  • JPA
  • spring
lbd4946@gmail.com 댓글 3 좋아요 1 조회수 585

3.4단원 (c)의 25:50 부분 quiz에서 질문드립니다.

미해결

벡터 미적분학 시리즈2 - 미분 심화: 최적화 이론의 기초와 벡터 함수

안녕하세요, 선생님 3.4단원 (c)의 25:50 quiz 의 힌트 관련해서 문의드립니다. S = xy + yz + zx - 5 = 0 일 때, x -> 0 이나 x -> 무한대일 때, xyz -> 으로 가는 것을 보일 때, (1+epsilon)^(1/2) 테일러정리를 사용한다고 하셨는데, 어떤 부분에서 이 정리를 사용해야 될지 감이 안 잡혀서 문의드립니다. x -> 무한대일 때, y, z -> 0인 것을 보일 때 쓰는건지요? 스타벅스 기프티콘을 받고 싶었지만, 도저히 헷갈려서 문의드립니다. ㅠ

  • 미적분
seon lee 댓글 1 좋아요 0 조회수 273

참조값 차이 문의드립니다.

미해결

정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)

p = p.next; 위의 코드 바로 다음에 아래처럼 로그를 출력하면 전 p 와 p.next의 참조값이 동일하게 나올거라 생각했는데 다르게 나옵니다. 제가 잘못이해하고 있는걸까요? System.out.println("\n p2:"+ p + " / p.next:"+ p.next ); 테스트로 아래처럼 해보면 ListNode tmpP = p; ListNode tmpP2 = p.next; tmpP 와 p tmpP2 와 p.next는 각각 서로 같고 두쌍은 서로 다릅니다. ListNode tmpP2 = p.next; 가 tmpP2 와 p.next 가 같으므로 당연히 p = p.next 의 p와 p.next도 같아야된다고 생각하느데 다른 참조값이 나옵니다. (결과는 정상적으로 나옵니다) 추가로 체크해봤는데 p.next = node; p = p.next; 에서 아래 처럼 둘은 참조값이 같네요 p.next == node.next; p == node. 혹심 몰라 말씀드립니다

  • java
  • 코테 준비 같이 해요!
BeginnerCoder 댓글 2 좋아요 1 조회수 238

char(); 질문이 있습니다.

미해결

성공적인 SQL 인젝션 공격을 위한, SQL 기본 문법

동일한 질문글을 보았으나 혹시나 해서 질문글 올립니다. 저 또한 select char(97);을 입력 시 0x61이 출력되는데 이후에 배우는 것들에 큰 차질을 빚게되나요? 해결할 순 없을까요?

  • 모의해킹
  • sql
  • mysql
tjdrnrwlals1 댓글 2 좋아요 1 조회수 267

유레카 문제풀이

미해결

눈떠보니 코딩테스트 전날

유레카문제풀이에서 충분히 할 수 있을거라고 하면서 끝맺음이 나는데... 끝까지 문제풀이를 해주셨으면 합니다.ㅠ부탁드립니다.

  • 코테 준비 같이 해요!
wndud 댓글 0 좋아요 0 조회수 221

질문

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

캐릭터 시선으로 바라보는 축이 Local 인데 강의에서 45도 정도 로테이션 한상태로 캐릭터를 움직이면 글로벌축으로 움직여서 캐릭터시선으로 움직임을 주려고 다이렉션을 줬는데 , 주석에서 트랜스폼 다이렉션은 Local -> World 라고 하셨는데 혼동이 옵니다 World 와 Global 다른가요 ? 로컬이 캐릭터 시선이 아닌가요?

  • C#
  • unity
YuCheol Chae 댓글 3 좋아요 1 조회수 374

선생님 질문이 있습니다~!

해결됨

리액트로 나만의 블로그 만들기(MERN Stack)

강의 14:20 즈음, server/routes/api/post.js 작성 중에, 87번 코드와, 103번 코드에서 약간에 차이가 보이는 듯 한데, 다른 코드와는 다르게 유독 103번 줄에는 await Post.findByIdAndUpdate(newPost._id, { $push: { } 없이, category: findResult._id }) 이렇게 코딩이 되어있는데, 혹시 $push: {} 없이 작성을 하더라도 나중에 완성되고 나서 작동하는데는 문제가 없나용~? (항상 잘 수강하고 있습니다 친절한 강의 감사드려요~~^^)

  • mongodb
  • express
  • redux
  • react
  • nodejs
  • bootstrap
SmileRush 댓글 2 좋아요 0 조회수 285

save Method 질문

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

public Member save (Member member) { // SimpleJdbcInsert 는 SQL 문을 대체함 (Insert SQL 문을 구성하는 테이블명 , PK , 필드명은 필요함 ) SimpleJdbcInsert jdbcInsert = new SimpleJdbcInsert( jdbcTemplate ) ; jdbcInsert.withTableName( "member" ).usingGeneratedKeyColumns( "id" ) ; Map<String , Object> parameters = new HashMap<>() ; parameters.put( "name" , member.getName()) ; Number key = jdbcInsert.executeAndReturnKey( new MapSqlParameterSource(parameters)) ; member.setId(key.longValue()) ; return member ; } SimpleJdbcInsert의 동작방식이 이해가 가지 않습니다. member.setId(key.longValue()) 에서 멤버에 ID 값을 세팅한 것은 이해가되는데 setName은 어떻게했는지 이해가 가지 않습니다.

  • MVC
  • java
  • spring
  • spring-boot
도전적인 멧돼지 댓글 1 좋아요 0 조회수 341

다른 풀이 문의드립니다

미해결

정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)

LinkedList 이해하려니 머리가 깨지네요 ㅎㅎ 이해는 했는데 이 문제가 사실 다 배열에 넣어서 그냥 큰 순서대로 소팅해도 되는것 같던데 그랗게하면 점수를 낮게 받을까요? 그렇게 풀면 안되는 이유가있을까요? 점수가 낮다면 그것만으로도 이유가 될거란건 수긍합니다 시험이니깐요 배열에 다넣어서 소트하는게 시간복잡도도 더 효율적인것 같은데요 지금 다시 leetcode에서 문제보니 LinkedList로 최종결과를 리턴하도록 강제하고있네요

  • java
  • 코테 준비 같이 해요!
BeginnerCoder 댓글 2 좋아요 1 조회수 307

Route.get() requires a callback function but got a [object Object]

미해결

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

인자를 객체로 넘겼다고 에러가 뜨는데, auth를 구현하는 app.get에서 자꾸 문제가 있다고 합니다. 오타는 도저히 못찾겠는데,, 문제가 무엇일까요 const express = require ( 'express' ) const app = express () const port = 5000 const bodyParser = require ( 'body-parser' ); const { User } = require ( "./models/User" ); const config = require ( './config/key' ); const cookieParser = require ( 'cookie-parser' ); const auth = require ( './middleware/auth' ); // application / x-www-form-urlencoded app . use ( bodyParser . urlencoded ({ extended : true })); // application / json app . use ( bodyParser . json ()); app . use ( cookieParser ()); const mongoose = require ( 'mongoose' ); //mongoDB 연결 mongoose . connect ( config . mongoURI ,{ useNewUrlParser : true , useUnifiedTopolongy : true , useCreateIndex : true , useFindAndModify : false }). then (() => console . log ( 'MongoDB connected !' )) . catch ( err => console . log ( 'MongoDB Error !' )); //Hello world 출력 app . get ( '/' , ( req , res ) => { res . send ( 'Hello World!' ) }); //register 라우트 app . post ( '/api/users/register' , ( req , res ) => { // 회원가입 할 때 필요한 정보들을 client으로부터 받아오면 // 그것들을 database에 넣어준다. const user = new User ( req . body ) user . save (( err , userInfo ) => { if ( err ) return res . json ({ success : false , err }) return res . status ( 200 ). json ({ success : true }); }); }); // login 라우트 app . post ( '/api/users/login' , ( req , res ) => { // console.log('ping') //요청된 이메일을 데이터베이스에서 있는지 찾는다. User . findOne ({ email : req . body . email }, ( err , user ) => { // console.log('user', user) if ( ! user ) { return res . json ({ loginSuccess : false , message : "제공된 이메일에 해당하는 유저가 없습니다." }) } //요청된 이메일이 데이터 베이스에 있다면 비밀번호가 맞는 비밀번호 인지 확인. user . comparePassword ( req . body . password , ( err , isMatch ) => { // console.log('err',err) // console.log('isMatch',isMatch) if ( ! isMatch ) return res . json ({ loginSuccess : false , message : "비밀번호가 틀렸습니다." }) //비밀번호 까지 맞다면 토큰을 생성하기. user . generateToken (( err , user ) => { if ( err ) return res . status ( 400 ). send ( err ); // 토큰을 저장한다. 어디에 ? 쿠키 , 로컳스토리지 res . cookie ( "x_auth" , user . token ) . status ( 200 ) . json ({ loginSuccess : true , userId : user . _id }) }) }) }) }) // auth 라우트 (미들웨어로 사용될 것입니다.) app . get ( '/api/users/auth' , auth , ( req , res ) => { //여기 까지 미들웨어를 통과해 왔다는 얘기는 Authentication 이 True 라는 말. res . status ( 200 ). json ({ _id : req . user . _id , isAdmin : req . user . role === 0 ? false : true , isAuth : true , email : req . user . email , name : req . user . name , lastname : req . user . lastname , role : req . user . role , image : req . user . image }) }) app . get ( '/api/users/logout' , auth , ( req , res ) => { // console.log('req.user', req.user) User . findOneAndUpdate ({ _id : req . user . _id }, { token : "" } , ( err , user ) => { if ( err ) return res . json ({ success : false , err }); return res . status ( 200 ). send ({ success : true }) }) }) // 포트를 통해 index.js 를 실행합니다. app . listen ( port , () => { console . log ( `Example app listening at http://localhost: ${ port } ` ) }); 위는 index.js const { User } = require ( '../models/User' ); let auth = ( req , res , next ) => { //인증 처리를 하는곳 //클라이언트 쿠키에서 토큰을 가져온다. let token = req . cookies . x_auth ; // 토큰을 복호화 한후 유저를 찾는다. User . findByToken ( token , ( err , user ) => { if ( err ) throw err ; if ( ! user ) return res . json ({ isAuth : false , error : true }) // console.log('userh', user) req . token = token ; req . user = user ; next (); }) } module . exports = { auth }; auth.js // 모듈 (User에서는 데이터 베이스를 위한 몽구스, 유저의 비밀번호 암호화를 위한 비크립트, 유저의 개개인 토큰을 얻기 위한 제이슨웹토큰을 가져온다.) const mongoose = require ( 'mongoose' ); const bcrypt = require ( 'bcrypt' ); const jwt = require ( 'jsonwebtoken' ); // 비밀번호 암호화를 위한 salt 값 설정. salt 값은 암호화된 비밀번호를 해킹하기 어렵게 만들 수 있음. const saltRounds = 10 ; // 유저의 정보들을 객체화, 이른 바 유저 스키마를 생성한다. ( 몽구스의 메소드 ) // 각 유저들의 이름, 이메일, 비밀번호 등 개인정보를 담기 위한 객체임. const userSchema = mongoose . Schema ({ name : { type : String , maxlength : 50 }, email : { type : String , trim : true , unique : 1 }, password : { type : String , minlength : 5 }, lastname : { type : String , maxlength : 50 , }, role : { type : Number , default : 0 }, token : { type : String , }, tokenExp : { type : Number }, image : String }) // 유저 스키마 이전에 실행될 것임. userSchema . pre ( 'save' , function ( next ) { var user = this ; if ( user . isModified ( 'password' )) { //비밀번호를 암호화 시킨다. bcrypt . genSalt ( saltRounds , function ( err , salt ) { if ( err ) return next ( err ) bcrypt . hash ( user . password , salt , function ( err , hash ) { if ( err ) return next ( err ) user . password = hash next () }) }) } else { next () } }) // comparePassword 라는 이름의 유저 스키마 메소드를 생성합니다. ( 당연히 비밀번호 비교를 위한 메소드이겠지요? ) userSchema . methods . comparePassword = function ( plainPassword , cb ) { //plainPassword 1234567 암호회된 비밀번호 $2b$10$l492vQ0M4s9YUBfwYkkaZOgWHExahjWC bcrypt . compare ( plainPassword , this . password , function ( err , isMatch ) { if ( err ) return cb ( err ); cb ( null , isMatch ); }) } userSchema . methods . generateToken = function ( cb ) { var user = this ; // console.log('user._id', user._id) // jsonwebtoken을 이용해서 token을 생성하기 var token = jwt . sign ( user . _id . toHexString (), 'secretToken' ) // user._id + 'secretToken' = token // -> // 'secretToken' -> user._id user . token = token user . save ( function ( err , user ) { if ( err ) return cb ( err ) cb ( null , user ) }) } userSchema . statics . findByToken = function ( token , cb ) { var user = this ; // 토큰을 decode 한다. jwt . verify ( token , 'secretToken' , function ( err , decoded ) { // 유저 아이디를 통해서 유저를 찾은 다음에 // 클라이언트에서 가져온 token과 DB에서 가져온 토큰이 일치하는지 확인합니다. user . findOne ({ "_id" : decoded , "token" : token }, function ( err , user ) { if ( err ) return cb ( err ); cb ( null , user ); }) }) } // 유저스키마 => User 라는 이름으로 모델화. const User = mongoose . model ( 'User' , userSchema ); // 방금 모델화한 User 밖에서도 사용가능하도록 exports. module . exports = { User }; user.js 입니다. 문제가 무엇일까요, ㅠ

  • react
  • nodejs
잼코 댓글 3 좋아요 0 조회수 2874

Program에서 플레이어를 불러오지 못합니다.

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

아래와 같은 오류가 뜨면서 기사와 아처에 에러가 뜨네요. 겟 어택에 대한 부분도 에러가 뜨고 있습니다. 참고로 파트/섹션별로 나누어서 클래스를 만들어서 par1_section5_(이름) 으로 생성했습니다. 무엇이 문제일까요? 혼자 이것저것 수정해봐도 되지 않아 질문남깁니다.

  • C#
이시영 댓글 2 좋아요 0 조회수 540

github private 접근 어떻게 해야 하나요?

미해결

Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex

두번째 강의내용에서 github에 접근해 clone 해오는걸 잘 이해가 안가네요 어떻게 접근해서 아이디를 남겨야되는지 github 방문에 다 봐도 그런 링크를 못찾고 했습니다. gist 라는 데도 안보이고요

  • vuejs
  • es6
  • javascript
  • vuex
nicolas83 댓글 2 좋아요 1 조회수 914

창 위치 오른쪽으로...

미해결

리눅스 시스템 프로그래밍 - 이론과 실습

갑자기 궁금해진건데 이번 강의 마지막에 강사님께서 새로운 쉘을 켜시고 창을 오른쪽으로 이동시키셨자나요? 이게 윈도우에서 하던 것처럼 window+방향키로 되긴 했는데 가상머신을 사용하다 보니까 어쩔때는 가상 머신 창 자체가 윈도우상에서 한쪽으로 붙더라고요. 혹시 이 기능을 하는 단축키가 우분투에 따로 있나요? 강사님 화면 밑에 누른 키를 보여주는걸로 봐도 모르겠어서 궁금합니다.

  • linux
Coffee_Cat 댓글 1 좋아요 1 조회수 243

인기 태그

인프런 TOP Writers

주간 인기글