묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
URI naming 문의드려요.
영한님, 안녕하세요. URI naming 관련해서 2가지 문의를 남기고 갈께요. 항상 바쁘시지만 고견을 구합니다. 1) API 버전 - 영한님, 수많은 강의에서 보면 API 에는 주로 V1, V2 같은 버전을 기록하시는 것 같던데 이번 강의에서는 버전에 대한 말씀은 없으시더라고요. 보통 버전을 URI 에 포함시키는게 좋은 지, 만약 포함시킨다면 버전의 위치는 어디가 가장 적합한지 알고 싶습니다. 2) 복잡한 쿼리 조회성 API naming - 현업에서는 검색조건이 다양하게 있고 결과도 UI Grid 에 다양한 컬럼이 있는 표 화면을 활용하는 케이스가 많은데요. (보통 API 에서 다수의 테이블을 조인하는 쿼리를 실행해서 출력하는) 이런 API는 사실 Main Resource 를 정하기 어려운 경우가 상당히 있는 것 같습니다. 이런 복잡한 쿼리를 통해 화면에 목록성 데이터를 출력하는 Get API 는 네이밍을 어떻게 잡는 게 좋을까요?
-
미해결스프링 핵심 원리 - 기본편
TestBean class작성시
안녕하세요 영한님의 코드를 잘못 따라 치다가 static이 아닌 public class TestBean으로 작성하고 test를 실행해보았는데요 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'autowiredTest.TestBean': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'hello.core.autowired.AutowiredTest' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'hello.core.autowired.AutowiredTest' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} 라고 떠서 질문 남깁니다! 왜 static으로 말고 public으로 할시 저런 문제점이 생길까요? 답변 미리 감사합니다!
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
Activity가 아니라 Fragment로 연결하는 이유
안녕하세요. 다름이 아니라 왜 하단바 navigation 연결 할 때 Activity 가 아닌 Fragment들을 연결하는 지 궁금해서 질문 남기게 되었습니다. 또, Activity 로 연결하면 발생하는 문제점들이 궁금해요! 답변해주시면 감사하겠습니다.
-
미해결
How To Get Unlimited Robux On Roblox With Mod APK
Roblox MOD APK is a game that facilitates interaction between players and enables you to create something that comes to your mind without any trouble at all. You can immerse yourself in a world of visionaries and do whatever comes to your mind. It will be great to interact with people and build relationships with them and interact with a global community. The Roblox player mod apk with an unlimited Robux site is valuable for game players and developers. Here is the complete guide about Roblox MOD with Unlimited Robux and also a mod menu with a lot of features; hopefully you will like them. Complete Guide – Roblox Mod Apk You can play a wide range of games on Roblox and connect with friends online using the Roblox community. There are five sections to the Roblox application, similar to any community app. You can see your friends in the home tab in the section designated for friends. Imagine what you can be on Roblox, the ultimate virtual universe where you can create, share experiences with your friends, and be anything you want. Immerse yourself in an ever-expanding range of immersive experiences crafted by a global community! Roblox mod apk unlimited robux avatars can be easily customized with so many options available. The avatar can be changed in every way. It is possible to customize the skin color, hair, body shape, face, and clothing. There are also animation options such as running, jumping, swimming, and standing. In addition to ninja animation and old-school animation, there is zombie animation and stylish animation. Additionally, you can decide on the gestures you want to use in the game. Introduction of Roblox As you can see, this game was made and published by the company Roblox corporation, and it was updated on July 30, 2020, the size of this game is 93MB, and it was released & published on the Play Store on Jul 16, 2020, and at the moment it is available for download from the Play Store. An idea of its popularity can be gained from this. More than that is unnecessary. There are 14 million comments on this game, meaning the game is considered to be very good by 14 million people. I would like to inform you that you can play the Roblox Mod apk Unlimited Robux very easily and even with your friends. In addition to its multiplayer mode, it also has a sports mode. If you know anything about this game, please let me know. Here you will find the Roblox Mod apk Unlimited Robux that you wish to take. If you want to know more about this game, the size of this game, and how many MB this game comes in, you can estimate this from the paragraph below. Also, let me tell you that if you have any problem, then you can explain it in the Comments. Features of the Roblox mod apk There are some modified features in the Roblox MOD APK. The following two features are important to know: Advertisements not allowed The Roblox ads are shown to free users on their smartphones. On the other hand, if you’re using the Roblox mod apk on an Android smartphone, you can’t see these ads. This is one of Roblox’s notable features. The amount of Robux is Unlimited? There is no limit to the number of coins you can get in your game. Therefore, your account will contain the most valuable items. Roblox avatars can be customized with your creations by using this tool. This is a paid feature for most users. You can download the items for free on your Android device. This is available for Android devices. Tips on How To Play Avatars can be customized with a wide range of dance moves and controls that can be purchased from stores. In the Roblox store, you can unlock new and useful features for your avatar as time passes. When riding your skateboard, you can choose the plane tool to take it in the air. If you want to freeze everything in the game, press the F1 or Ctrl buttons. In the game, Robux is the currency used, and your success in the game will ultimately depend on this currency. Key Features Of Roblox Unlimited Money Unlimited Robux Unlock Characters Unlimited Body parts Unlimited Clothing Unlimited Gears Unlock Everything Unlimited Everything Easy To Use Pros When you play this game, your creative side will come out. For those who want to gain professional experience with game development, this is an excellent platform. It’s just like real life in the way it has the capacity to leave you confused. Children can learn about physics dimensions through this game as well. Cons Depending on the game, additional storage space and external sources may be needed as well. In addition to the poor graphics, its inappropriate a
-
미해결풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]
<html css js를 활용한 반응형 모던 웹페이지 만들기 3> 강의 영상 중 질문입니다.
<html css js를 활용한 반응형 모던 웹페이지 만들기 3> 강의 영상 중 질문입니다. const slidePreviewList = document.getElementsByClassName("slide-prev"); 로 상수를 선언하시고 그후 for문에서 for (let i = 0; i < slidePreviewList.length; i++) { let classList = slidePreviewList[i].parentElement.parentElement.nextElementSibling; let liList = classList.getElementsByTagName("li"); ...~} 여기서 slidePreviewList[i]는 어떤걸 지칭하는건가요? slidePreviewList[1]은 slide-prev라는 클래스 이름을 가지는 첫번재 요소를 가리키고 slidePreviewList[2]는 slide-prev라는 클레스 이름을 가지는 그다음 요소를 가리키는 방식인가요? 좋은강의 항상 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트코드 회원가입 오류 질문
IllegalStateException 오류가 나는데,yml에 MVCC도 제거했고, h2도 켰는데도 그러네요@Autowired MemberService memberService;@Autowired MemberRepository memberRepository;여기에서 왜 빨간줄이 나는지 잘 모르겠습니다이상해서 MemberRepository와 MemberService도 pdf에서 복사해서 붙여넣어도 그렇습니다(@Service, @Repository 도 되어있습니다)Unit4로 했습니다!
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
Splash 액티비티 질문이예요.
다시 글 남겨요ㅜ 섹션 2. 트와이스 앱만들기 트와이스 앱 만들기 소개-강의소개 및 스플래시(Splash 화면) 4:35초에서 막혔습니다. <?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.example.twice" > <application android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.Twice" tools:targetApi="31" > <activity android:name=".SplashActivity2" android:exported="false" > </activity> //여기서 부터 <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> //여기까지 어떠한 내용으로 고쳐야 하나요? <activity android:name=".MainActivity" android:exported="true" > </activity> </application></manifest> 가상 핸드폰으로 볼려고 하니 안나오고밑에 처럼 빨간색으로 에러 나오거든요. ㅠ 알려주세요. Android resource linking failed C:\Users\joshu\AndroidStudioProjects\Twice2\app\build\intermediates\packaged_manifests\debug\AndroidManifest.xml:28: error: unexpected element <intent-filter> found in <manifest><application>.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
양방향 편의 메서드요 !
강의를 여러번 듣고 아무리 이해해 보려 해도 이해가 가질 않아서요 외래키를 설정하고 종속관계를 설정해서 -> DB에 저장이되도록 설정을 했는데 양방향 편의 메서드는 양방향 관계라서 쓴 거 까지는 이해가 가는데 결국은 1)DB에서 정보를 가져오고 정보를 뿌려주는데 왜 필요한지 이해가 가질 않습니다 사실상 주문이 들어오면 DB에서 회원에 대한 필터를 걸러서 보여주는 식이니까여.. 또, 양방향 관계에 있는 객체와, arraylist에 이제 정보를 넣는다고 치면 주문이 계속 들어와서 new order가 계속 생성 될텐데 이럴때도 이건 DB가 있는것도 아닌데 객체단에서 많은 2)정보가 계속 들어오면 어디에 저장되는 지도 이해가 안갑니다. 그러니까 데이터베이스 적으로 처리를 했는데 객체적으로 처리를 왜 해야 하는지 이해가 가질 않습니다....
-
미해결실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌
오라클 설치 오류...
오라클을 설치하는데 21c버전인데 계속 깔리다가 마지막에 안깔리고 오류가 뜨네요.. 어떻게 해결하죠.. 제발 도와주세요..
-
미해결[리뉴얼] 처음하는 MongoDB(몽고DB) 와 NoSQL(빅데이터) 데이터베이스 부트캠프 [입문부터 활용까지] (업데이트)
보안적인 문제에 관련하여 질문드립니다..!
혹시 보안적인 문제는 어떻게 해결해야할까요 ? 첫 데이터베이스 knowlege를 만들고 refresh all 버튼을 눌렀는데 갑자기 데이터베이스 해킹이 들어왔네요.. 비트코인을 요구하는데 필요없는 데이터베이스라 drop하고 다시 만들었는데 또 해킹당할까봐 불안하네요,, 해킹 데이터의 전문입니다. "all your data is a backed up. you must pay 0.04 btc to 18kq243qoqn97maqle1ealbxawz9pph31n 48 hours for recover it. after 48 hours expiration we will leaked and exposed all your data. in case of refusal to pay, we will contact the general data protection regulation, gdpr and notify them that you store user data in an open form and is not safe. under the rules of the law, you face a heavy fine or arrest and your base dump will be dropped from our server! you can buy bitcoin here, does not take much time to buy https://localbitcoins.com or https://buy.moonpay.io/ after paying write to me in the mail with your db ip: rambler+1oeec@onionmail.org and/or mariadb@mailnesia.com and you will receive a link to download your database dump."
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
401에러 쿠키에 connect.sid가 2개에요..
안녕하세요 제로초님 유트브와 인프런에서 강의 잘 보고있습니다. 다름 아니라 제로초님 강의를 참고하여 제 포트폴리오로 새롭게 만드는 중인데요! 지금 배포 후 401에러가 나와서 보니까 쿠키에 connect.sid가 2개가 들어가 있는데 어디가 문제인지 모르겠습니다. 참고로 도메인에 api를 넣었다가 틀린걸 알고 다시 제대로 수정했는데 api가 붙은 도메인이 계속 따라오네요.. 아래에는 백엔드 app.js 코드입니다. const express = require("express"); const cors = require("cors"); const session = require("express-session"); const passport = require("passport"); const cookieParser = require("cookie-parser"); const dotenv = require("dotenv"); const morgan = require("morgan"); const hpp = require("hpp"); const helmet = require("helmet"); const path = require("path"); const userRouter = require("./routes/user"); const postRouter = require("./routes/post"); const postsRouter = require("./routes/posts"); const stackRouter = require("./routes/stack"); const imageRouter = require("./routes/image"); const db = require("./models"); const passportConfig = require("./passport"); // ################################################################# // dotenv.config(); const app = express(); db.sequelize .sync() .then(() => { console.log("db 연결 성공"); }) .catch(console.error); passportConfig(); if (process.env.NODE_ENV === "production") { app.use(morgan("combined")); app.use(hpp()); app.use(helmet({ contentSecurityPolicy: false })); app.use( cors({ origin: "http://semifoli.site", credentials: true, }) ); } else { app.use(morgan("dev")); app.use( cors({ origin: true, credentials: true, }) ); } app.use("/", express.static(path.join(__dirname, "uploads"))); app.use(express.json()); // 프론트에서 data를 json으로 보냈을때 req.body 안에 넣어줌 app.use(express.urlencoded({ extended: true })); // 프론트에서 form(form 은 url)으로 data를 보냇을때 req.body 안에 넣어줌 app.use(cookieParser(process.env.COOKIE_SECRET)); app.use( session({ saveUninitialized: false, resave: false, secret: process.env.COOKIE_SECRET, cookie: { httpOnly: true, secure: false, domain: ".semifoli.site", // domain: process.env.NODE_ENV === "production" && ".semifoli.site", }, }) ); app.use(passport.initialize()); app.use(passport.session()); app.get("/", (req, res) => { res.send("hello express"); }); app.use("/posts", postsRouter); app.use("/post", postRouter); app.use("/user", userRouter); app.use("/stack", stackRouter); app.use("/image", imageRouter); // app.use("/stacks", stacskRouter); app.listen(80, () => { console.log("서버 실행 중!"); });
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
상품 수정이 안되는데 무슨 문제일까요?
package hello.itemservice.domain.item;import lombok.Data;import java.util.List;@Datapublic class Item { private Long id; private String itemName; private Integer price; private Integer quantity; private Boolean open; private List<String> regions; private ItemType itemType; private String deliveryCode; public Item(){ } public Item(String itemName, Integer price, Integer quantity) { this.itemName = itemName; this.price = price; this.quantity = quantity; }} 에러문구입니다. Caused by: org.springframework.beans.NotReadablePropertyException: Invalid property 'Name' of bean class [hello.itemservice.domain.item.Item]: Bean property 'Name' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter? 계속 머리싸매고 생각해봐도 왜 안되는지 잘 모르겠네요 답변부탁드려요 ㅠ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
physical-starategy 에 질문
만약에 전략을 바꾸고 싶으면 physical-starategy 을 쓰라고 하셨는데 어떻게 쓴다는 말인가요?? 기존 yml 파일에서 spring: jpa: ... physical-starategy 이런식으로 바꾸라는 말씀이신거죠?
-
미해결홍정모의 따라하며 배우는 C++
[1:00] 생성자의 매개변수 문의
너무 간단한 것인데 혹시나 싶어 문의드립니다. 지금까지 공부한 개념으로 보면 생성자의 매개변수는 Animal(const std::string& name) 이어야 할거 같은데 Animal(std::string name) 으로 한 이유가 따로 있나요? 복사를 하기보단 참조가 더 효율도 좋은데 단순히 강의를 위해 쓸데없는 내용을 빼기위해 적으신건지 궁금해서 문의드립니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
안녕하세요 궁금한게있습니다
이 강의 댓글 삭제 기능있나요??
-
미해결[하루 10분|Web Project] HTML/JS/CSS로 나만의 심리테스트 사이트 만들기
netlify 사이트에서 github연동
netlify 사이트에서 github연동하기위해서 New site form Git 버튼이 현재는 없는 것 같은데 방법이 있나요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰
// Section 4. 완전 탐색 (브루트 포스) - 졸업 선물 // 문제 해결 과정 // [v] 문제 이해 : 현재 예산으로 최대 몇명의 학생에게 선물을 사줄 수 있는지 구하기 // [v] 상품 하나를 50% 할인해서 살 수 있다. => 들어온 상품 중에 가장 "비싼" 상품에 할인을 적용 // [v] 각 상품과 배송비를 합친 후 오름 차순 정렬 // [v] 정렬된 리스트에서 예산이 될 때마다 감산 적용하고, 안된다면 그대로 stop -> cnt 반환 function solution(m, product) { let answer = 0; let max = Number.MIN_SAFE_INTEGER; // 가장 비싼 상품 찾아서 50% 할인 적용하기 for (let i = 0; i < product.length - 1; i++) { for (let j = 0; j < product[i].length; j++) { if (product[i + 1][0] > max) { max = product[i + 1][0]; } } } for (let i = 0; i < product.length; i++) { if (product[i][product[i].indexOf(max)]) { product[i][product[i].indexOf(max)] /= 2; } } // 각 상품과 배송비를 합쳐서 정렬한다. const sum_arr = quick_sort( product.map((value) => { return value[0] + value[1]; }) ); // 정렬된 리스트에서 예산이 될 때마다 감산 적용하고, 안된다면 그대로 stop -> cnt 반환 sum_arr.map((value) => { if (m - value < 0) return; m -= value; answer++; }); return answer; } function quick_sort(arr) { if (arr.length < 2) return arr; const left = []; const right = []; const middle = arr[0]; for (let i = 1; i < arr.length; i++) { if (arr[i] < middle) { left.push(arr[i]); } else if (arr[i] > middle) { right.push(arr[i]); } else { middle.push(arr[i]); } } return quick_sort(left).concat(middle, quick_sort(right)); } let arr = [ [6, 6], [2, 2], [4, 3], [4, 5], [10, 3], ]; console.log(solution(28, arr)); // 4 너무 불필요한 반복문이 사용되는걸까요 ? 어떻게 보시는지 궁금합니다 ..
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
splash 질문입니다.
인텐트 필터 안에 내용을 어떻게 고쳐야 할까요? 화면 위 내용은 밑에 와 같습니다. 여러 질문을 찾아보고 하는데 초보자한테는 힘들기는 하네요.ㅠ 알려주세요. <?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.example.twice" > <application android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.Twice" tools:targetApi="31" > <activity android:name=".SplashActivity2" android:exported="false" > </activity>
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
경로 질문
안녕하세요 상품 목록 - 타임리프 강의를 보다가 질문드립니다 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <link href="../css/bootstrap.min.css" rel="stylesheet"> </head> <body> 를 해당 강의에서 <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="utf-8"> <link href="../css/bootstrap.min.css" th:href="@{/css/bootstrap.min.css}" rel="stylesheet"> </head> <body> 로 변경하셨습니다. @{/css/bootstrap.min.css}가 static/css/bootstrap.min.css경로를 찾게되는것은 https://www.inflearn.com/questions/266792를 보아서 이해하였습니다. 하지만 @{} 작성하지 않고 <link href="../css/bootstrap.min.css" rel="stylesheet">로 작성해도 css 정상적으로 적용되는 것을 확인했습니다. <link href="../css/bootstrap.min.css" rel="stylesheet"> 만 작성해도 templates/css/bootstrap.min.css 가 아닌 static/css/bootstrap.min.css에 접근할 수 있는 이유가 있을까요?
-
해결됨홍정모의 따라하며 배우는 C++
선언과 정의를 분리하는 이유가 뭔가요?
강의 8:27부터 말씀하시는 이유만으로는 선언과 정의를 굳이 왜 분리하는지 잘 모르겠습니다. 이런식으로 " - " 버튼을 통해서 정의를 숨겨버리면, 정의를 따로 분리하지 않아도 한눈에 보기 편하지 않나요? 헤더를 쓰는 이유는 메인 코드를 간결하게 하기 위함 아닌가요? 선언과 정의를 분리하여 헤더까지 간결하게 만드는 이유가 궁금합니다.