묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
PRG 패턴 302 관련 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.PRG 패턴에서는 클라이언트 단에서만 중복을 막을 수 있고 확실하게 막기 위해서는 서버에서도 조치를 취해야 하는 것은 알겠습니다.그래도 클라이언트에서 PRG 패턴을 제대로 알고 싶기에 질문이 있습니다. 이번 강의의 예시에서 PRG패턴에서 Post 후 redirect를 할 때 302 코드를 예시로 들어주셨는데 302는 대부분 GET 방식으로 리다이렉트 된다고 했지만 만에 하나 POST 방식으로 리다이렉트가 될 수는 없는 건가요? 만약 그렇게 된다면 주문 중복이 일어나기 때문에 확실하게 하려면 303을 써야 되는 게 아닌지 궁금합니다.
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
Streams테스트중 질문드립니다.
StreamsFilter를 실행시키는 중 강사님 화면과 다른 게 있어서 질문드립니다.강사님께서는 실행시켜도 콘솔에 로그가 출력되지 않는데 저는 실행시키면 로그가 계속 출력됩니다. 혹시 잘못한 건지 궁금해서 질문드립니다.
-
해결됨이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
클라이언트에서는 플레이어 컨트롤러가 언제 만들어 지나요?
서버에서 Login() 할 때, 클라이언트 대용 플레이어 컨트롤러가 만들어진다고 이해를 하였는데,클라이언트로 복제되는 과정은 정확히 언제 어떻게 이뤄져서클라이언트에서 플레이어 컨트롤러가 생성되는지.이거는 나중에 자세히 나오나요???클라이언트에서 서버로 로그인 요청하는 것도 같이 나중에 나오나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2회기출 1번 문항의 2번 오류 문의 입니다.
위 이미지와 같은 문구가 나오는데 요건 어떤 의미인지 문의드릴 수 있을까요?
-
미해결
Security 설정
@Configuration@EnableWebSecurity@RequiredArgsConstructorpublic class SecurityConfig {private final AuthenticationConfiguration authenticationConfiguration;@Bean protected SecurityFilterChain filterChain(HttpSecurity http) throws Exception {http.csrf().disable();http.headers().frameOptions().disable();http.authorizeHttpRequests(authorize -> {try {authorize.requestMatchers(new IpAddressMatcher("127.0.0.1")).permitAll();} catch (Exception e) {e.printStackTrace();}});http.formLogin().disable().httpBasic().disable();http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);http.addFilterBefore(new CustomAuthenticationFilter(authenticationManagerBean()), UsernamePasswordAuthenticationFilter.class);return http.build();}@Bean public AuthenticationManager authenticationManagerBean() throws Exception {return authenticationConfiguration.getAuthenticationManager();}@Bean public PasswordEncoder passwordEncoder() {return new BCryptPasswordEncoder();}} -- custofilter @Slf4jpublic class CustomAuthenticationFilter extends UsernamePasswordAuthenticationFilter {private final AuthenticationManager authenticationManager;public CustomAuthenticationFilter(AuthenticationManager authenticationManager) {this.authenticationManager = authenticationManager;setFilterProcessesUrl("/login"); // 로그인 경로 설정 }@Override public Authentication attemptAuthentication(HttpServletRequest request,HttpServletResponse response) throws AuthenticationException {try {RequestLogin requestLogin = new ObjectMapper().readValue(request.getInputStream(), RequestLogin.class);UsernamePasswordAuthenticationToken authenticationToken =new UsernamePasswordAuthenticationToken(requestLogin.getEmail(), requestLogin.getPassword());Authentication authenticate = getAuthenticationManager().authenticate(authenticationToken);AccountContext principal = (AccountContext) authenticate.getPrincipal();return authenticate;} catch (IOException e) {e.printStackTrace();throw new RuntimeException(e);}}@Override protected void successfulAuthentication(HttpServletRequest request,HttpServletResponse response,FilterChain chain,Authentication authResult) throws IOException, ServletException {super.successfulAuthentication(request, response, chain, authResult);}@Override public AuthenticationManager getAuthenticationManager() {return authenticationManager;}} -- customuserdetailservice@Service@RequiredArgsConstructorpublic class CustomUserDetailService implements UserDetailsService {private final UserRepository userRepository;@Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {UserEntity userEntity = userRepository.findByEmail(username).orElseThrow(() -> new UsernameNotFoundException("user not found exception"));return new AccountContext(userEntity, List.of(new SimpleGrantedAuthority("ROLE_USER")));}}
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
5-2 강의자료에서 마지막 줄에 y_test로 평가할 때 r2 score가 마이너스가 나올수 있나요?
에이비앤비 가격 관련 문제 강의자료에서예측값 pred와 강사님께서 올려주신 y_test로 r2_score를 계산했을 때 값이 마이너스가 나왔습니다. 이 값이 맞게 나온 결과인가요? 아니면 제가 실수를 한 것인가요? 전체적으로 다시 코드를 실행했는데도 같은 결과가 나와 질문드립니다. y_test = pd.read_csv("y_test.csv") print(r2_score(y_test, pred))-0.03400982959617549
-
미해결스프링 핵심 원리 - 기본편
AutoAppConfig 역할
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]new AnnotationConfigApplicationContext(AutoAppConfig.class);코드가 실행되면서 AutoAppConfig 자체가 빈으로 등록이 되면서 AutoAppConfig빈은 @ComponentScan이라는 어노테이션을 써주면서 컴포넌트를 스캔하는 역할을 하게 되는건가요?즉, AutoAppConfig빈은 ComponentScan라고 생각해두 되나요?
-
미해결코딩으로 학습하는 GoF의 디자인 패턴
싱글톤 패턴을 깨트리는 방법
싱글톤 패턴을 깨트리는 방법으로 Reflection, 직렬화/역직렬화 두 가지 방법을 설명해주셨고 굉장히 흥미롭게 들었습니다.다만 들으면서 싱글톤을 깨트리는 방법이 존재한다고 하더라도 저걸 고려하면서 코드를 짜야할까?라는 생각이 들었습니다.저는 아직 취준생이라 그런지 리플렉션이나, 직렬화/역직렬화 방식으로 객체를 생성해본 적이 없어서 이런 생각을 하는 거 같습니다. 실무에서 리플렉션을 이용해서 객체를 생성하는 경우가 종종 발생하나요? 굳이 왜 리플렉션을 이용해 객체를 생성하는 건지 어떨 때, 리플렉션을 사용해서 객체를 생성하는지 예시가 궁금합니다. 스프링을 쓰면서 직렬화/역직렬화가 이루어지는 것은 아래 정도의 케이스밖에 생각나지 않아요. 1. Client <-> Server 데이터를 주고받을 때, (dto)Server <-> DB 데이터를 주고받을 때, (Entity)하지만 DTO나 Entity를 싱글톤으로 만들어줄 이유가 없으므로 직렬화/역직렬화 때문에 싱글톤이 깨지는 경우가 발생할까가 의문입니다. <질문 정리>리플렉션이나 이용해서 객체를 생성하는 경우가 실무에서 종종 사용되는 방법 인가요?직렬화/역직렬화가 이루어지는 클래스는 싱글톤으로 설정할만한 클래스가 아닐 텐데 직렬화/역직렬화 때문에 싱글톤이 깨지는 경우가 실무에서 종종 발생하는 문제인가요?1~2번 질문에 대한 답이 만약 저렇게 객체를 생성하는 경우는 없다 라면 싱글톤을 구현할 때 저런 것을 고려하며 짤 이유가 있나요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
Javascript와 iframe이 포함된 url cawling시 문제점
안녕하세요.Javascript나 iframe등이 포함된 url을 crawling할때 devTools에서는 분명히 element가 존재하는데Selenium WebDriver의 page_source에는 추가된 element는 없고 JavaScript와 기타 code만 보이는 문제가 있습니다. Javascript나 iframe등이 실행되고 난 결과의 html,즉 element가 전부 업데이트된 것을 받아 볼수 있는 방법이 없을까요?sleep,wait등을 충분히 줬는데도 해결이 안되네요. 감사합니다. ^^
-
미해결
작업형2 에어비앤비 문제에서 r2_score 가 0.2 정도로 나오면 점수 깎일까요..
작업형 2 에어비앤비 예제를 혼자 풀면서 price 예측할 때나름대로 결측치 처리하고 minmax scaler 도 적용하고, 원핫인코딩으로 다 해봤는데RandomForestRegressor 에서 randomstate 를 이것저것 넣어봐도 r2_score가 0.18~0.2정도로 나오는데ㅠㅠ이렇게 낮아도 점수를 받을 수 있나요?ㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
pd.get_dummies(train[cols])와 (train, columns=cols) 차이가 궁금합니다.
원핫 인코딩 코드에서 괄호 안에 [cols]를 쓸 때와 columns=cols를 쓸 때의 차이가 궁금합니다.3-4 Feature engineering에서와 3-6 Regression에서 작성법이 달라서요. 3-6 Regression에서는 train[cols]로 썼더니 에러가 나네요ㅠ# 3-4 Feature engineering c_train[col] = le.fit_transform(c_train[col]) c_test[col] = le.transform(c_test[col]) # 3-6 Regression train = pd.get_dummies(train, columns=cols) test = pd.get_dummies(test, columns=cols)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
9분 42초에 pred_proba
9분 42초 쯤print(roc_auc_score(y_val, pred_proba[:,1])))pred_proba 다음에[:,1]을 붙이는 이유는 무엇인가요?
-
해결됨팀 개발을 위한 Git, GitHub 입문
수업 자료 부탁 드립니당
안녕하세요! 깃 협업 역량을 향상시키고 싶어서 강의를 듣고 있는데, 고양이와 문어가 너무 귀여워요!!ㅋㅋㅋ "글로발" 발음도 빵 터졌어요. 수업 자료 부탁 드립니다! 정말 큰 도움이 될 것 같아요. 감사합니다~ joshuajkim413@gmail.com
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
휘트니 검정
Levene 검정의 귀무가설은 분산이 동일하다 라고 하셨는데요 반대로 만휘트니유 검정은 귀무가설이 분산이 다르다인가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
grouby().mean()오류
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요 df.groupby('원두').mean() 실행시 TypeError: agg function failed [how->mean,dtype->object] 이 오류는 어떻게 해결하나요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
페이지구현 - 일기수정(Edit) 수정 에러 질문(세부사항추가)
정환님 안녕하세요.지난번에 동일한 문제로 문의 드렸었는데, 아직 해결이 안되서 문제 재현에 대한 구체적인 정보 올립니다. (댓글문의는 알림이 안가서 확인이 늦어지는 것 같아서요) 문제)첫번째 일기를 쓰고, 이후 두번째 일기를 쓰고 나서 두번째 일기를 수정하면수정된 두번째 일기와 동일한 일기가 생성이 됩니다.이후 세번째, 네번째 일기를 쓰고 마찬가지로 수정을 하면 수정된 일기와 동일한 일기가 생성이 됩니다그럼 확인부탁드리겠습니다.🥲
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
BeforeEach 질문이요
[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요 김영한 개발자님.강의를 들으며 공부하다가 궁금점이 생겨서 질문 남깁니다.13:00 부분부터 MemoryMemberRepository memberRepository = new MemoryMemberRepository(); 부분에서 매번 다른 객체를 생성하기 때문에 beforEach 함수를 생성하고, 그 안에서 memberRepository = new MemoryMemberRepository();로 생성후에 memberService에 DI 해준다고 말씀하셨는데, 이 부분이 잘 이해가 안가요... new로 MemoryMemberRepository를 생성하는것은 전과 후가 동일한데 왜 전역으로 작성한 것과 beforeEach 문 안에 작성한 것과 차이가 있나요? 좋은 강의 늘 감사합니다.해당 글에 답변 남겨주신거 보았는데요 이해를 못하겠어서요 동일한 Repository를 사용하게 함으로 다른 DB를 사용하게 되는 부작용을 막는다는 이야기는 이해를 하겠는데요결국 @BeforeEach 에서 테스트를 진행하기전에 new로 새로운 Repository를 생성하는데 같은 Repository를 쓰게된다는 말이랑 무슨 연관이 있나요?
-
해결됨[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
11.3 통합테스트 중 TypeError: model.initiate is not a function
질문할까 고민하다가 용기내어 질문드려봅니다..!11장 통합테스트 중 나타난 에러입니다.npm test 를 입력하면 나오는 에러입니다.> nodebird@0.0.1 test > jest PASS models/user.test.js PASS services/user.test.js PASS middlewares/index.test.js FAIL routes/auth.test.js ● Test suite failed to run TypeError: model.initiate is not a function 22 | console.log(file, model.name); 23 | db[model.name] = model; > 24 | model.initiate(sequelize); | ^ 25 | }); 26 | 27 | Object.keys(db).forEach(modelName => { // associate 호출 at initiate (models/index.js:24:11) at Array.forEach (<anonymous>) at Object.forEach (models/index.js:20:4) at Object.require (routes/auth.test.js:2:23) Test Suites: 1 failed, 3 passed, 4 total Tests: 9 passed, 9 total Snapshots: 0 total Time: 0.725 s, estimated 1 s현재 에러는 model.initiate가 함수화가 되지 않았다고 나타는거 같습니다.model.initiate가 존재하는 index.js입니다.const Sequelize = require('sequelize'); const fs = require('fs'); const path = require('path'); const env = process.env.NODE_ENV || 'development'; const config = require('../config/config')[env]; const db = {}; const sequelize = new Sequelize( config.database, config.username, config.password, config, ); db.sequelize = sequelize; const basename = path.basename(__filename); fs .readdirSync(__dirname) .filter(file => { return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js'); }) .forEach(file => { const model = require(path.join(__dirname, file)); console.log(file, model.name); db[model.name] = model; model.initiate(sequelize); // 오류 발생시점 }); Object.keys(db).forEach(modelName => { if (db[modelName].associate) { db[modelName].associate(db); } }); module.exports = db;11.3 강의를 보는 중이며 auth.test.js 코드를 작성중입니다작성중인 auth.test.js는 아래와 같습니다.const app = require('../app'); const request = require('supertest'); const { sequelize } = require('../models'); beforeAll(async () => { await sequelize.sync() }) beforEach(() => { }); describe('POST /join', () => { test('로그인 안 했으면 가입', (done) => { request(app).post('/auth/join') .send({ email: 'choibo@naver.com', nick: 'bobobo', password: 'choibo11' }) .expect('Location', '/') .expect(302, done) }) }) describe('POST /login', () =>{ test('로그인 수행', (done) => { request(app).post('/auth/login') .send({ email: 'choibo@naver.com', password: 'choibo11' }) .expect('Location', '/') .expect(302, done) }) }); afterEach(() => {}); aftereAll(() => { }); 이부분에서 에러가 발생한다고 나타나있습니다.const { sequelize } = require('../models');
-
미해결Axure RP 9,10 - 서비스 기획자를 위한 최적의 프로토타이핑 툴
텍스트필드 조건에 따른 버튼 비활성화/활성화
안녕하세요.Axure에 대해 친절한 설명에 항상 감사한 마음으로 영상 잘 보고 있습니다. 궁금한 점이 있어서 질문드립니다.로그인 화면 설계할 때 ID, PW 두 필드에 텍스트가 모두 있을 경우 [로그인]버튼 활성화둘 중 하나만 있거나 없을 경우 버튼 [로그인]버튼 비활성화 위 요건에 맞춰 함수를 사용하고 싶은데... 텍스트필드 인터렉션을 아무리봐도 보이지가 않습니다 ㅠㅠ혹시 알려주실 수 있나요?.. ㅠㅠ 활성화에 대한 텍스트필드가 1개일 때에는 아래와 같이 하였는데ID,PW 2가지 조건에서는 해답을 찾지 못하고 있습니다 ㅠㅠ
-
미해결따라하며 배우는 타입스크립트 A-Z
타입들 설명중에서
왜 Tuple 타입 설명은 건너뛰는지 이해가 안됩니다;;