묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
frida 오류..?
frida-ps -Ua 를 통해서 chrome이 실행중인것이 확인이 되는데 frida-trace -i "open" -U com.android.chrome 을 실행키시면 Failed to spawn: unable to find process with name 'com.android.chrome' 계속 이렇게만 확인이 되는데 어떤것이 문제인지 잘 모르겠습니다.
-
미해결[핵집] 2025 빅데이터 분석기사(필기)_과목 3~4
교안 파일 요청드립니다
교안 파일 요청드립니다galmemail@gmail.com 수고하세요
-
해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
메모리관리기법/가상메모리개요/물리메모리 크기 질문있습니다.
안녕하세요. 선생님~[가상메모리개요]수업의 14:31장면에서 Process1(물리메모리)관련 질문있습니다.P1이 실행되고, 물리메모리는 1MB(필요한부분만 적재)할당 받은 상황인데요.Q. P1이 할당받은 1MB는 이 후에 변동될수있는 수치인지 궁금합니다.ex) 처음 1MB 할당 => P1으로부터 메모리요청이더 들어옴 => 물리메모리 여유공간은 충분 위 상황일떄, 물리메모리에서 P1의 총 크기는 1MB에서 2MB(예시)로 늘어날수있는지?아니면 맨 처음 할당받은 1MB로 고정(프로세스 종료전까지 안바뀜)인지? 궁금합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
노션 자료에 링크가
노션 자료 중결제 - FrontEnd 적용페이지 안에 있는 링크가Page not found 로 나옵니다.
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
redis lock과 mysql lock 성능 질문입니다.
강의를 보면 redis의 redisson과 mysql db lock 중 redisson을 이용한 방식이 더 성능이 좋다고 설명 해주셨는데요.강의의 테스트 코드 수행시간을 보면 mysql의 비관락이 약 2초, redisson을 이용한 방식이 약 5초 정도 걸리는 것을 보아 비관락의 성능이 더 빠른 것처럼 보이는데..이럼에도 불구하고 redisson의 성능이 더 좋다고 하시는 이유가 궁금합니다.
-
미해결홍정모의 따라하며 배우는 C언어
예제 코드문의
안녕하세요 수강중인 사람인데요~혹시 수업에 나오는 예제코드들을 다운받거나 할 수있나요??따라하며 배우긴 하는데, 양이 너무 많아서요~
-
미해결인터랙티브 웹 개발 제대로 시작하기
event 위임 관련해서 질문있습니다!
여기서 와일문을 돌리면 점점 큰 범위로 menu-btn이라는 클래스가 있는지 찾아가는 게 되는건가요?예를 들어 버튼안에 버튼, 그안에 버튼이렇게 있다면 내가 제일 안쪽에 있는 버튼을 클릭했을 때에, 제일 안쪽의 버튼, 중간버튼, 제일 겉에 있는 버튼 이런 순서로 찾아가게 되는 건지가 궁금합니다 영상 너무 잘보고 있습니다 ㅠ 좋은 강의 감사해요!!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2.bat 실행후, H2 콘솔에서 연결을 누르면 오류가 뜹니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요 강의 잘 듣고 있습니다.window 운영체제라서 h2.bat 실행후 콘솔창이 떠서 연결을 누르면 아래 오류가 뜨는데이런 오류가 뜹니다. 왜그런 걸까요?
-
미해결SQL 개발자 (SQLD) 자격증 따기 Part.4
기출 37회 교안에 22번부터 답표시가 안되어있어요
기출 37회 교안에 22번부터 답표시가 안되어있어요
-
해결됨프론트엔드 개발자를 위한, 실전 웹 성능 최적화(feat. React) - Part. 1
lazy적용하였는데 네트워크탭에 분리하여 보이지 않습니다
안녕하세요,강의와 같이 lazy를 적용하였는데, 페이지 이동 후 네트워크 탭에서 새로 받는 청크파일이 표시되지 않는데 따로 설정이 필요한걸까요?코드import React, { Suspense, lazy } from 'react'; import { Switch, Route } from 'react-router-dom'; import './App.css'; const ListPage = lazy(() => import('./pages/ListPage/index')); const ViewPage = lazy(() => import('./pages/ViewPage/index')); function App() { return ( <div className="App"> <Suspense fallback={<div>Loading...</div>}> <Switch> <Route path="/" component={ListPage} exact /> <Route path="/view/:id" component={ViewPage} exact /> </Switch> </Suspense> </div> ); } export default App; 네트워크 탭(전체로 선택하여 확인)게시글 목록 -> 상세로 페이지 이동후에 새로운 청크 받아지는 것이 보이질 않습니다 실행 환경OS: Mac OS크롬버전: 111개발툴: vscode
-
해결됨스프링 부트 - 핵심 원리와 활용
한글이 깨지고 로그가 안찍히네요 ㅠ
톰켓 설정 강의에서 하라는 대로 실행을 하였더니 페이지는 잘 뜨는데 한글이 깨지고 TestServlet.service 로그가 안찍히는데 왜그러는지 모르겠어요 ㅠ
-
해결됨한국인이 좋아하는 속도로 때려넣는 파이썬
Ipython 설치가 안되어용 ㅠ
설치를 강의순서대로 맞게 했는데 자꾸 오류가 나서 문의드립니다.참고로 외부망 내부망따로 쓰는 피씨에서 업무하고, 설치한건 외부망에서 한건데 안되어서 문의드립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-M 순열 재귀, next_permutation
안녕하세요 큰돌님!문제를 보고 괄호추가하기와 같은 패턴으로 풀면 될것같아서 풀어보았습니다. 재귀를 사용해서 순열을 만들어 풀이한것이 통과가 되어서 next_permutation으로 만들어봤습니다. 그런데 생각대로 잘 되지가 않네요...ㅠㅜnext_permutation으로 풀려면 어떤 방식으로 접근해야할까요?? 좋은 강의 해주셔서 감사합니다:)http://boj.kr/dd36ea0097404bbf8cdb802ca843eacd
-
미해결스프링 부트 - 핵심 원리와 활용
외부 파일 주입
안녕하세요, 외부 파일 경우, application.properties를 만들어두고,서 강의와 같이 url=dev.db.com23 username=dev_user23 password=dev_pw23를 저장해 두었더니, 2023-03-18T10:44:03.240+09:00 INFO 17556 --- [ main] hello.EnvironmentCheck : env url=dev.db.com232023-03-18T10:44:03.240+09:00 INFO 17556 --- [ main] hello.EnvironmentCheck : env username=um9502023-03-18T10:44:03.240+09:00 INFO 17556 --- [ main] hello.EnvironmentCheck : env password=dev_pw23 라고 출력이 됩니다. username만 제대로 나오지 않는데요, 현재 출려고딘 um950이 제 윈도우 계정이거든요...뭔가 더 높은 우선순위로 잡혀있는 것 같은데 이 부분은 어디서 고치거나/확인 할 수 있을까요...?
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
Credentials 설정 후 origin: true를 줘도 헤더 결과값이 안들어가요
안녕하세요!Credentials 설정 후 origin을 'http://localhost:3060' 으로도, true 로도 변경해봤지만 계속해서 해당 오류가 뜨는데 이유를 모르겠습니다. ㅠㅠ 제로초님의 오류와 다른 부분이 있는 것 같습니다.Access to XMLHttpRequest at 'http://localhost:3065/user/login' from origin 'http://localhost:3060' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The value of the 'Access-Control-Allow-Credentials' header in the response is '' which must be 'true' when the request's credentials mode is 'include'. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.제 코드는 현재 이렇습니다.[app.js]const express = require("express"); const session = require("express-session"); const cookieParser = require("cookie-parser"); const cors = require("cors"); const passport = require("passport"); const dotenv = require("dotenv"); const postRouter = require("./routes/post"); const userRouter = require("./routes/user"); const db = require("./models"); const passportConfig = require("./passport"); const app = express(); dotenv.config(); passportConfig(); //서버 실행할 때 db sequelize 연결도 함께 실행 db.sequelize .sync() .then(() => { console.log("db 연결 성공"); }) .catch(console.error); // router보다 위에 작성해야 함 app.use( cors({ // origin: 'https://nodebird.com' // 설정된 웹페이지에서 오는 요청만 허용 // origin: "*" // 전체 허용 // origin: "http://localhost:3060", // withCredential: true 일 때 보안이 더 철저해져서 정확한 주소를 적어야 함 origin: true, // 요청을 보낸 곳의 주소가 자동으로 들어가 허용 credientials: true, }) ); // CORS 에러 처리법 2 (npm i cors) app.use(express.json()); // front에서 json형식으로 데이터를 보냈을 때 json형식의 데이터를 req.body로 넣어줌 app.use(express.urlencoded({ extended: true })); // form을 submit했을 때 urlencoded 방식으로 데이터가 넘어옴 app.use(cookieParser(process.env.COOKIE_SECRET)); app.use( session({ saveUninitialized: false, resave: false, secret: process.env.COOKIE_SECRET, }) ); app.use(passport.initialize()); app.use(passport.session()); app.get("/", (req, res) => { res.send("hello express"); }); app.get("/posts", (req, res) => { res.json([ { id: 1, content: "hello1" }, { id: 2, content: "hello2" }, { id: 3, content: "hello3" }, ]); }); app.use("/post", postRouter); app.use("/user", userRouter); app.listen(3065, () => { console.log("서버 실행중!!!!"); }); [sagas - index.js]import axios from "axios"; import { all, fork } from "redux-saga/effects"; // take 는 1회용이기 때문에 while(true) {} 문으로 감싸준다. 하지만 직관적이지 않으므로 take 대신에 takeEvery를 사용한다. // takeLatest 는 클릭이 두번되었을 때 두 번 실행되지 않기 위해 마지막 것만 실행되도록 하는 effect 이다. (요청은 취소되지 않고 응답만 취소되므로 서버에는 두개가 저장됨(치명적단점)) // takeLeading 은 첫번째 것만 실행되도록 하는 effect 이다. // throttle 은 시간제한을 두어 그 시간동안에 한번만 실행되도록 요청하는 것이다. (특수한 경우에 사용, 디도스 공격을 막을 때 좋음) import userSaga from "./user"; import postSaga from "./post"; axios.defaults.baseURL = "http://localhost:3065"; axios.defaults.withCredentials = true; // function* : generator 는 yield(중단점)가 있는 곳에서 멈춤 export default function* rootSaga() { // all 은 fork 나 call 을 동시에 실행시켜준다. yield all([ // fork !== call // fork 는 비동기 함수 호출 , call 은 동기 함수 호출 fork(userSaga), fork(postSaga), ]); } 어디서 잘못된 걸까요..? 오류를 보면 header in the response is '' 로 헤더의 결과 값이 없는 것같은데...origin 을 true 로 변경했는데 왜 안들어갈까요...
-
해결됨스프링 배치
JdbcBatchItemWriter Query
안녕하세요 선생님!JdbcBatchItemWriter 에서 발생하는 Query 가batch query 로 나가지 않는 것 같아서 질문 드립니다! 혹시 jdbc 에서 batch query 로 보내더라도 optimizer 에 의해단일쿼리로 변경되어서 나갈수도 있나요?! 감사합니다. 위 사진은 MySQL 의 Query Log 입니다. 제 설정은 아래와 같습니다@Configuration class HelloJobConfiguration( private val jobBuilderFactory: JobBuilderFactory, private val stepBuilderFactory: StepBuilderFactory, private val dataSource: DataSource, ) { @Bean fun job(): Job { return jobBuilderFactory.get("job") .incrementer(RunIdIncrementer()) .start(step1()) .build() } @Bean fun step1(): Step { return stepBuilderFactory.get("step1") .chunk<Customer, Customer>(5) .reader(customItemReader()) .writer(customItemWriter()) .build() } @Bean fun customItemReader(): ItemReader<Customer> { return JdbcPagingItemReaderBuilder<Customer>() .name("jdbcPagingItemReader") .dataSource(dataSource) .pageSize(5) .rowMapper(BeanPropertyRowMapper(Customer::class.java)) .queryProvider(queryProvider()) .build() } @Bean fun queryProvider(): PagingQueryProvider { return SqlPagingQueryProviderFactoryBean().apply { setDataSource(dataSource) setSelectClause("SELECT id, firstName, lastName, birthdate") setFromClause("FROM customer") setSortKeys(mapOf("id" to Order.ASCENDING)) }.`object` } @Bean fun customItemWriter(): ItemWriter<Customer> { return JdbcBatchItemWriterBuilder<Customer>() .dataSource(dataSource) .sql("INSERT INTO customer2 values(:id, :firstName, :lastName, :birthdate);") .beanMapped() .build() } }
-
미해결코딩테스트 [ ALL IN ONE ]
커리큘럼 질문
강의 진행이 잘 이해가 안되는데 디스코드에 올라온 문제는 모두 커리큘럼에 풀이영상이 올라오는 것은 아닌건가요? 디스코드에 있는 문제가 어떤 강의를 듣고 풀어야 하는지 잘 모르겠습니다. (7주차부터)
-
미해결스프링 핵심 원리 - 기본편
수업 내용 이게 맞을까요?
@Controller @RequiredArgsConstructor public class LogDemoController { private final LogDemoService logDemoService; private final MyLogger myLogger; @RequestMapping("log-demo") @ResponseBody public String logDemo(HttpServletRequest request) { String requestURL = request.getRequestURL().toString(); myLogger.setRequestURL(requestURL); myLogger.log("controller test"); logDemoService.logic("testId"); return "OK"; } }1. 위 코드가 에러가 나는 이유@RequiredArgsConstructor 이 코드로 생성자 자동 주입을 실행빈 라이플 사이클 생성자 주입특징으로 객체 생성 과정과 의존관계주입이 한번에 일어나니MyLogger 객체가 setRequestURL 세터 메서드로인해 (외부에서 입력 받아야하니) 정보를 못담아서 에러가 나는거 맞을까요? @RequestMapping("log-demo") @ResponseBody public String logDemo(HttpServletRequest request) { String requestURL = request.getRequestURL().toString(); MyLogger myLogger = myLoggerProvider.getObject(); myLogger.setRequestURL(requestURL); myLogger.log("controller test"); logDemoService.logic("testId"); return "OK"; } }코드가 실행되는 이유빈 라이플 사이클 중 Setter와 Field 주입은 객체 생성 후 의존관계 주입으로 나뉘어져있으므로logDemo메서드가 실행하면 Provider.getObject()가 나올떄까지 빈 생성을 지연시키다가 request요청을 받은후 Provider.getObject()로 객체를 생성하고setRequestURL()로 의존관계를 주입하는사이클 맞을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-G 문제의 풀이방식이 궁금해서 질문 드립니다
안녕하세요! 7-G 문제 공부 후에 프로그래머스의https://school.programmers.co.kr/learn/courses/30/lessons/154538숫자 변환하기를 풀어 보았습니다!딱 문제를 보자마자, 여러번(무제한) 쓸 수 있고dp 문제라는 생각이 들어 7-G 문제 접근 방식이 생각나서 아래와 같이 처음에 접근 했었습니다!arr[x] = 0; for(int i=n; i<= y; i++) { arr[i] =min(arr[i],arr[i-n]+1) ; } for(int i = 3*x; i<= y; i++) { if(i%3 == 0) arr[i] = min(arr[i],arr[i/3] +1); } for(int i=2*x; i<=y; i++) { if(i%2 == 0) arr[i] = min(arr[i],arr[i/2]+1); } 이렇게 for문을 나누어서 왼쪽부터 오른쪽으로 더해가면서 구하게 하였습니다. 그랬는데 틀렸다는 메세지가 나와서 혹시나 싶어서 for문을 하나 사용하여 모든 조건을 동시에 검사하게 하였더니 즉arr[x] = 0; for(int i= x; i<=y; i++) { if(i%3 == 0) arr[i] = min(arr[i], arr[i/3]+1); if(i%2 == 0) arr[i] = min(arr[i],arr[i/2]+1); if(i-n >=0) arr[i] =min(arr[i],arr[i-n] +1) ; } 위와 같이 제출 하였더니 이번엔 정답 처리되었습니다!아무리 생각을 해 보아도 최솟값을 구하는 것이기 때문에, 같이 검사하나 따로따로 검사하나 문제가 없을 것이라고 생각하였는데, 곱하기나 나누기의 경우라서 다른 걸까요 아니면 비슷한 문제이지만, 접근 방식이 아예 다른 걸까요?? 위의 두가지 방식에서 달라지는 반례를 찾아보려고 계속 생각해 봤는데, 제 머리로는 잘 모르겠어서 고민 끝에 질문 드립니다!감사합니다!혹시나 몰라 아래에 정답으로 제출된 코드 전부 첨부했습니다!#include <string>#include <vector>#include <bits/stdc++.h>using namespace std;int arr[1000002] ={0};int solution(int x, int y, int n) { fill(arr,arr+1000002,987654321); arr[x] = 0; for(int i= x; i<=y; i++) { if(i%3 == 0) arr[i] = min(arr[i], arr[i/3]+1); if(i%2 == 0) arr[i] = min(arr[i],arr[i/2]+1); if(i-n >=0) arr[i] =min(arr[i],arr[i-n] +1) ; } cout<< arr[y]<<endl; if(arr[y]== 987654321) return -1; else return arr[y];}
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 퀘스트&업적 시스템
onSuccessChanged? 의 의미가 어떤것인가요?
Task.cs를 보면아래와 같은 코드가 있던데 혹시 onSuccessChanged에 ?가 붙은 것은 어떤 의미인가요? if (currentSuccess != prevSuccess) { State = currentSuccess == needSuccessToComplete ? TaskState.Complete : TaskState.Running; onSuccessChanged?.Invoke(this, currentSuccess, prevSuccess); }