묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨UX/UI 시작하기 : Figma 입문 (Inflearn Original)
figma에 폰트 추가
figma에 폰트를 추가하려고 figma fonts install 그것도 깔고 다른 곳에서 폰트 파일 TTF 다운로드하고window -> fonts 파일에 잘 들어갔는데 figma에서는 폰트가 안 뜨네요..고령딸기체라는 폰트인데 폰트에 문제가 있는 건가요? 새로고침 같은 걸 해봐도 안되고..도와주세요
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
float를 이용한 문법 질문드립니다.
print("art: %5d, price: %08.2f" % (453, 59.058))위와 같은 코드를 작성했을때의 출력물과, float를 이용해서 작성했을때의 출력물과 같게 만들기 위해print('{art: 5d}{price: 08.2d}'.format(453, 59.058))위와 같은 코드를 작성해보았는데요, 출력이 안됩니다. 어떤 잘못을 한걸까요?
-
미해결2주만에 통과하는 알고리즘 코딩테스트 (2024년)
완전탐색 숫자야구 2503
c++로 수강중인 학생입니다.. 백준 숫자야구 문제 c++로 풀어주실 수는 없을까요..? 몇번 구현해보다가 멘탈이 터져버렸습니다.. 우선은#include <iostream> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int n; cin >> n; int numbers[1000]; int strikes[1000]; int balls[1000]; for (int i = 0; i < n; i++) { cin >> numbers[i] >> strikes[i] >> balls[i]; } int answer = 0; for (int a = 1; a < 10; a++) { for (int b = 1; b < 10; b++) { for (int c = 1; c < 10; c++) { int counter = 0; if (a == b || b == c || c == a) { continue; } for (int i = 0; i < n; i++) { int check = numbers[i]; int strike = strikes[i]; int ball = balls[i]; int strike_count = 0; int ball_count = 0; int check1 = check / 100; int check2 = (check / 10) % 10; int check3 = check % 10; // 스트라이크 계산 if (a == check1) { strike_count++; } if (b == check2) { strike_count++; } if (c == check3) { strike_count++; } // 볼 계산 if (a == check2 || a == check3) { ball_count++; } if (b == check1 || b == check3) { ball_count++; } if (c == check1 || c == check2) { ball_count++; } // 매칭 여부 확인 if (strike != strike_count || ball != ball_count) { break; } counter++; } if (counter == n) { answer++; } } } } cout << answer << '\n'; return 0; } 이렇게 풀기는 했는데 선생님이 가르쳐주신 방향하고는 살짝 다른 거 같습니다.
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
5강 재귀(경우의 수) 4번 문제 질문드립니다.
안녕하세요, 선생님의 강의를 잘 듣고 있는 1인 입니다.1) 강의를 듣고 4번 문제를 아래와 같이 풀었는데요, 정답이 왜 0이 나오는건지, 어느 부분이 잘못된 건지 모르겠어서 질문드립니다.(5강에서 적으실때 line 18의 idx에 1을 더해주지 않으셨는데 이 부분은 +1을 빠트린게 맞으신거죠?)2)또한, 어떤 경우에 global answer를 써주는지도 한번 다루어주셨으면 좋겠습니다.3) line 8의 weight > B가 아닌 weight >= B가 되는게 더 맞는게 아닌지 질문드립니다. weight == B인 경우에 한 번 더 반복문을 돌면 이미 초과된 가방에 새로운 물건의 value를 추가해서 더하게 되는 것처럼 보이는데요, 혹시 제가 잘못 생각하고 있을까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-A 결과는 정확히 나오는데 왜 틀렸다고 하는건지 모르겠습니다
http://boj.kr/59d6674b61764f13b14b7608522239a5 9개 중에 틀린 2개를 뽑고 인덱스에 해당하는 vector요소를 erase로 지우고자 했는데 프로그램을 돌리면 값을 정확하게 나오는데 왜 틀렸다고 하는지 모르겠습니다
-
미해결
유니티 한 씬에 여러 스테이지 표현
안녕하세요 유니티 독학을 한 후 제대로된 개발을 처음 해보는 사람입니다ㅠㅠ 다름이 아니라, 총 20스테이지에 각 스테이지마다 15개의 부가 스테이지를 만들고 싶은데요,, 스테이지마다 씬을 다르게 하려다보니 씬 갯수가 300개가 나올 것 같아서 질문 드립니다.각 스테이지마다 배경 이미지가 변경이 되어 한 스테이지에 나오는 15개의 부가 스테이지는 뒷 배경 변경이 없이 오브젝트만 변경이 될 것 같은데요 이럴 경우에 한 씬에 15개의 부가스테이지를 다 몰아서 표현할 수 있을까요? 배경만 같고, 부가 스테이지마다 클리어 조건은 다릅니다ㅠㅠ만약 가능하다면 혹시 어떻게 표현을 할 수 있을지 방법까지 여쭤봐도 될까요?ㅠㅠ 유니티 책 두권으로 독학을 했는데, 두 권 다 기초 책이라 새로운 씬을 만드는 방법만 알려주네요
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
beautify 못쓰는줄 알았는데
되는거였네요 감사합니다 ㅠㅠ
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
시작부터 오류생기시는 분들 해결법입니다.
boiler plate폴더의 루트 디렉토리의 package.json 에서 bcrypt 를 없애고 npm install 을 해줍니다.이후 npm install bcryptjs --save 를 루트 디렉토리에 설치해줍니다.sever > models > User.js 에서 상단의 const bcrypt = require('bcryptjs') 로 변경해줍니다.sever > models > User.js 파일의 85번째 줄의 "_id" : decoded 부분을 decode 로 변경해줍니다.client폴더로 넘어가서 package.json 은 건들지 않고 npm install 을 해줍니다.위치를 boiler plate 폴더의 루트 디렉토리로 넘어가서 npm run dev 를 실행시켜줍니다.
-
미해결스프링 핵심 원리 - 기본편
@Component로 자동 빈 등록시 생성자가 2개인 경우 생성자를 선택하여 Bean을 생성할 수 있나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요.강의 내용중 궁금증이 있어 질문 올립니다.만약 @Component로 자동 빈 등록시 빈으로 등록될 class에 생성자가 2개인 경우생성자를 선택하여 Bean을 생성할 수 있나요?예를 들면 아래와 같습니다.@Componentpublic class MemberServiceImpl implements MemberService {private final MemberRepository memberRepository;@Autowiredpublic MemberServiceImpl(MemberRepository memberRepository) {this.memberRepository = memberRepository;}/* MemberRepository 객체를 인자로 2개 받는 생성자를 호출 가능한지? */@Autowiredpublic MemberServiceImpl(MemberRepository memberRepository1, MemberRepository memberRepository2) {this.memberRepository = memberRepository;}} getBean 으로 빈 조회를 할때MemberServiceImpl memberService = ac.getBean("memberService", MemberServiceImpl.class); MemberServiceImpl 클래스의 두번째 생성자(인자값 두개)를 호출하여 생성하는 방법이 있나요?@Bean 메서드를 만들어서 강제로 new MemberServiceImpl(MemberRepository memberRepository1, MemberRepository memberRepository2);위 방식으로 하면 될것 같은데 혹시 @Bean을 사용하지 않고 생성하는 다른 방법이 있을까요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
%f 질문 드립니다
코드를 다음과 같이했을때,print('%1.4f' % (3.141592)) 정수부분은 1자리수까지만 나오고 소수부분은 4자리까지만 나온다고 강의를 해주셨는데요, 위 코드를 아래와 같이 정수부분을 3자리까지 나오게끔 코드를 작성하였는데도,print('%3.4f' % (3256.141592)) 4자리 정수가 모두 나왔습니다. 1,2,3,4,5를 번갈아가면서 입력해도 4자리 정수가 모두 나왔구요. 앞에서 의미하는 정수부분을 제가 잘 못 이해한걸까요? 앞에서 말하는 정수부분의 자릿수가 어떤개념인지 궁금합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
section 26 포트폴리오 리뷰 강의
그래프큐엘로 작성자 비밀번호 제목 내용 이렇게 넘기고 조회해보려는데 패스워드는 안되더라고요 패스워드 넘긴거는 그냥 넘긴건가요 아님 따로 조회할수있나요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
aws 서버 비용문제 질문드립니다.
서버 인스턴스를 만든 상태에서 인스턴스 비용이 발생하지 않도옥 중간에 잠시 멈춰둘순없나요??
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
경로문제 재질문입니다.
https://www.inflearn.com/questions/1035575/%EA%B2%BD%EB%A1%9C%EB%AC%B8%EC%A0%9C-%EC%A0%9C%EA%B0%80%EC%9D%B4%ED%95%B4%ED%95%9C%EA%B2%8C-%EB%A7%9E%EB%8A%94%EC%A7%80-%EC%B6%94%EA%B0%80%EC%A7%88%EB%AC%B8%EC%9E%85%EB%8B%88%EB%8B%A4에서 ai답변은 둘이 다르다고 나오고 서포터즈는 둘이 같다고 설명하셔서... 결국 만일@RequestMapping("/basic")이있고@GetMapping("text-basic")@GetMapping("/text-basic") 두개가있으면위는 /basic/text-basic에 매핑되는 거고아래는 /text-basic에 매핑되는게 맞나요?? 아니면 둘다 /basic/text-basic로 같은 건가요?? RequestMapping은 무조건 적용되는 건가요?
-
미해결
passport 모듈 배포 후 쿠키 저장 문제
안녕하세요!! 현재 프론트는 vue.js 백은 node.js로 개발중에 있는데요공식 문서랑 제로초님 책 보고 따라하면서 하고 있는데passport를 사용해서 로그인 로직을 구현했습니다로컬에서는 쿠키 저장도 잘 되고 로그인도 잘 되는데배포만 하면 쿠키가 생기기는 하는데 저장이 안 돼서 deserialize 가 안되어 로그인 자체가 안 되고 있습니다ㅜ세션이 문제인가 싶어서 이번에 cookie-session으로 바꿔봤는데도 로컬에서는 되고 배포후에는 안 되고 있습니다.배포 사이트는 둘 다 cloudtype으로 했고 도메인도 사서 설정을 해봤는데 안 됩니다ㅜㅜ app.js 파일입니다const express = require("express"); const cookieParser = require("cookie-parser"); const path = require("path"); const mysql = require("mysql2"); const dotenv = require("dotenv"); const morgan = require("morgan"); const session = require("express-session"); const MySQLStore = require("express-mysql-session")(session); const passport = require("passport"); const bodyParser = require("body-parser"); const cookieSession = require('cookie-session') const cors = require("cors"); dotenv.config({ path: path.join(__dirname, "/.env") }); const { sequelize } = require("./models"); const app = express(); const passportConfig = require("./passport"); passportConfig(); // 패스포트 설정 // 인증 라우터 const pageRouter = require("./routes/pages"); const authRouter = require("./routes/auth"); const mypageRouter = require("./routes/mypage"); const groupRouter = require("./routes/group"); const guestRouter = require("./routes/guest"); const randomRouter = require("./routes/random"); sequelize .sync({ force: false }) .then(() => { console.log("데이터베이스 연결"); }) .catch((err) => { console.error(err); }); const port = 3000; // VARIABLES app.set("trust proxy", 1); app.use( cors({ // front 서버인 127.0.0.1:8080 의 요청을 허용하도록 cors 사용 origin: [process.env.FRONT_URL_1, process.env.FRONT_URL_2], // origin: ['http://localhost:8080', 'http://localhost:8081'], methods: ["GET", "PUT", "POST", "PATCH", "DELETE", "OPTIONS"], optionsSuccessStatus: 200, credentials: true, }) ); app.use("/uploads", express.static("uploads")); app.use(morgan("dev")); // log app.use(express.static(path.join(__dirname, "public"))); // 요청시 기본 경로 설정 app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use(cookieParser(process.env.COOKIE_SECRET)); const options = { host: process.env.DB_HOST, port: process.env.DB_PORT, user: process.env.DB_USERNAME, password: process.env.DB_PASSWORD, database: process.env.DB_DATABASE, }; // Sequelize로 설정한 MySQL 연결 객체를 사용하여 MySQL 저장소 생성 const sessionStore = new MySQLStore(options, mysql.createConnection(options)); app.use(cookieSession({ maxAge : 1000 * 60 * 60 * 24 * 7, secret: process.env.COOKIE_SECRET, // 암호화 키 domain: [process.env.FRONT_URL_1, process.env.FRONT_URL_2], httpOnly: true, secure: true, sameSite: "none", })); // 쿠키 세션 미들웨어 등록 // regenerate & save 오류 현상 해결 app.use(function(req, res, next) { if (req.session && !req.session.regenerate) { req.session.regenerate = (cb) => { cb() } } if (req.session && !req.session.save) { req.session.save = (cb) => { cb() } } next() }) // app.use( // session({ // resave: false, // 세션 항상 저장할지 // saveUninitialized: true, // 세션 저장 전 Uninitialized 상태로 만들어 저장 // secret: process.env.COOKIE_SECRET, // 암호화 키 // store: sessionStore, // Sequelize로 설정한 MySQL 저장소를 사용 // // cookie: { // // domain: [process.env.FRONT_URL_1, process.env.FRONT_URL_2], // // httpOnly: true, // // secure: true, // // sameSite: "none", // // maxAge: 1000 * 60 * 60 * 24 * 7, // // }, // }) // ); app.use(passport.initialize()); //요청 (req 객체) 에 passport 설정 app.use(passport.session()); // req.session 객체에 passport 인증 완료 정보를 저장 // 경로 지정 app.use("/", pageRouter); app.use("/auth", authRouter); app.use("/mypage", mypageRouter); app.use("/group", groupRouter); app.use("/guest", guestRouter); app.use("/random", randomRouter); // 일부러 에러 발생시키기 TEST용 app.use((req, res, next) => { const error = new Error(`${req.method} ${req.url} 라우터가 없습니다.`); error.status = 404; next(error); }); app.use((err, req, res, next) => { // 404 오류인 경우 if (err.status === 404) { res.status(404).send("페이지를 찾을 수 없습니다."); } else { // 다른 오류일 경우 일반적인 오류 페이지 표시 res.status(500).send("서버 오류가 발생했습니다."); } }); // 에러 처리 미들웨어 app.use((err, req, res, next) => { // 템플릿 변수 설정 res.locals.message = err.message; res.locals.error = process.env.NODE_ENV !== "production" ? err : {}; // 배포용이 아니라면 err설정 아니면 빈 객체 res.status(err.status || 500); res.send({ error: { message: err.message, }, }); }); app.listen(port, () => { console.log(`http://localhost:${port}`); });auth.js 파일입니다(로그인 , 로그아웃)// 로그인 exports.login = async (req, res, next) => { //? local로 실행이 되면 localstrategy.js를 찾아 실행 console.log("로그인 실행"); passport.authenticate("local", (authError, user, info) => { console.log("로그인 패스포트"); console.log(authError, user, info); // done(err)가 처리된 경우 if (authError) { console.error(authError); return next(authError); // 에러처리 미들웨어로 보낸다. } if (!user) { return res.status(400).json({ message: "가입되지 않은 회원입니다." }); } console.log('유저',user); return req.login(user, (loginError) => { if (loginError) { console.error(loginError); return next(loginError); } // req.session.save(() => { const userData = JSON.parse(JSON.stringify(user)); delete userData.password; console.log('유저데이터', userData); res.json({ message: '로그인 성공', user: userData }); // }); }); })(req, res, next); // 미들웨어 내의 미들웨어에는 (req, res, next)를 붙입니다. }; //로그아웃 // exports.logout = (req, res) => { // req.logout(() => { // req.session.destroy(); // passport 업데이트 이후 함수 안에 넣어야 실행됨 // res.clearCookie("connect.sid"); // connect.sid 쿠키 삭제 // res.send("로그아웃"); // }); // }; exports.logout = (req, res) => { req.session = null; // 세션 삭제 res.clearCookie("connect.sid"); // connect.sid 쿠키 삭제 res.send("로그아웃"); };가비아에서 도메인을 사서 cloudflare로 연결했습니다프론트에는 'https://api.smile-mbti.shop/ '로 백엔드url를 연결했고백에는 'https://www.smile-mbti.shop', 'https://front.smile-mbti.shop'을 fronturl로 연결했습니다(쿠키, CORS 도메인)https://github.com/w00ye0l/SMilE깃허브 링크도 첨부합니다ㅜ
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
dtype={"itemcode": np.object}) 을 dtype={"itemcode": object}) 으로 변경해야 하나요?
예전에 잘 들었다가 최근에 다시 들으면서 실행하니,numpy dtype관련사항이 변경(업데이트)가 있었는지 numpy 1.20이후 변경되었다고 알람,오류메세지가 발생합니다. np.object 부분에서 np. 을 빼고 실행하면 되는데 이렇게 진행하면 될까요? 본 섹션 이외에도 np.object를 string으로 입력받기 위해 사용된 곳이 몇몇 보이는데 해당부분도 동일하게 object(찾아보니 python default type 같습니다만, 정확히 알지 못하겠습니다.) 로 변경해서 사용하면 크게 문제가 없을까요? 시간이 지났지만 자세하고 하나씩 설명해 주셔서 감사합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
css질문
display:flex가 없어도 위치가 똑같은부분에 왜display:flex;flex-direction:column; or flex-direction:row를 왜 쓰는지모르겠어요 안써도 위치가같아보이는데필요성도 안느껴지고 언제언제쓰는지도 잘 모르겠습니다
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
SSH and deploy 과정에서 error
- name: SSH and deploy run: | ssh ${{secrets.SSH_USER_NAME}}@${{secrets.SSH_PUBLIC_IP}} " cd devops-practice git pull || exit 1 npm install || exit 1 npm run build || exit 1 sudo pkill node || exit 1 sudo npm run start & npx wait-on http://localhost exit" SSH and deploy 과정에서 exit 명령어가 실행되지 않고 무한 루프를 돌다가 cd가 실패하는 이슈가 발생합니다. ubuntu 18.04로 변경 ⇒ github action에서 18.04은 이제 지원하지 않는 것 같음GitHub Actions: The Ubuntu 18.04 Actions runner image is being deprecated and will be removed by 12/1/22env에 AWS_DEFAULT_REGION을 추가 ⇒ 여전히 에러 발생이슈해결을 위해 다음 방식을 찾아보았으나, 아직 해결하지 못하였습니다.어떤 부분이 문제일까요?
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
hikariConfig 설정부분에서 에러가 납니다.
<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig"> 이부분에서 에러 내용이 Element 'bean' cannot contain text content. The content type is defined as element-only. 라고 나오는데 뭐가 문제일까요? pom.xml에서 <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>3.4.1</version></dependency>이렇게 설정했습니다.
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
flush() 쓰기 지연 SQL 저장소 비우나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]비울 지.. 안 비울 지..전송해 버려서 가지고 있을 필요가 없는 것 같으면서도..그렇다고 그게 그렇게 큰 메모리는 차지하고 있지는 않을 거기 때문에..가지고 있는 이점이 뭔지는 모르겠지만, 뭔가 이점이 있어서 안 지울 것 같기도 하고..
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Category
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]Category 에 parent와 child의 역할이 뭔지 수업을 듣고도 잘 모르겠습니다 단순히 부모카테고리 자식카테고리로 알고있으면 되는걸까요? 이렇게 만들면 연결된 items 하고도 부모카테고리와 자식카테고리가 어떻게 엮이는지 잘 이해가 안갑니다