묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결코딩테스트 실전 모의고사(with C++) : 대기업 대비
BFS 참고하세요
#include <iostream> #include <vector> #include <queue> using namespace std; int n, m, k; int dx[4] = { 1, -1, 0, 0 }; int dy[4] = { 0, 0, 1, -1 }; int main() { cin >> n >> m >> k; vector<vector<int>> Map(n + 1, vector<int>(m + 1, 0)); vector<vector<bool>> visited(n + 1, vector<bool>(m + 1, false)); vector<pair<int, int>> flooded; for (int i = 0; i < k; i++) { int x, y; cin >> x >> y; Map[x][y] = 1; flooded.push_back({ x, y }); } int max_size = 0; for (auto& start : flooded) { if (visited[start.first][start.second]) continue; int size = 0; queue<pair<int, int>> Q; Q.push(start); visited[start.first][start.second] = true; while (!Q.empty()) { size++; int x = Q.front().first; int y = Q.front().second; Q.pop(); for (int i = 0; i < 4; i++) { int nx = x + dx[i]; int ny = y + dy[i]; if (nx >= 1 && nx <= n && ny >= 1 && ny <= m && Map[nx][ny] == 1 && !visited[nx][ny]) { Q.push({ nx, ny }); visited[nx][ny] = true; } } } max_size = max(max_size, size); } cout << max_size << endl; return 0; } DFS가 아닌 BFS 사용해도 문제는 풀립니다.공부중이라 어느게 더 효율적인지는 모르겠습니다만, 혹시 BFS로 접근하실 분들 참고하라고 올려봅니다~
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
[ ...TABS, ...TSBS, ...TSBS].map(~)
[ ...TABS, ...TSBS, ...TSBS].map(~)여기에서 ...TABS의 의미가 무엇인지 궁금합니다!그냥 TABS로 적으면 e가 List type의 TABS를 불러와서 e.icon에 오류가 발생하는데,...TABS로 적으면 map이 실제로 TABS안에 있는 리스트 요소를 e로 가져오는거같은데 ...의 의미가 궁금합니다!
-
미해결스프링부트 시큐리티 & JWT 강의
로그인 올바르게 해도 login?error로 갑니다
SecurityConfig.java@Configuration @EnableWebSecurity @RequiredArgsConstructor public class SecurityConfig extends WebSecurityConfigurerAdapter { private final SecurityDetailsService securityDetailsService; @Override protected void configure(HttpSecurity http) throws Exception { http // .csrf().disable() .authorizeRequests() .antMatchers("/user/**").authenticated() .antMatchers("/admin/**").access("hasRole('ADMIN')") .anyRequest().permitAll() .and() .formLogin() .loginPage("/login") .loginProcessingUrl("/login") .defaultSuccessUrl("/home") .usernameParameter("userEmail") .and() .logout() .logoutRequestMatcher(new AntPathRequestMatcher("/logout")) .logoutSuccessUrl("/login") ; } @Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } } SecurityDetails.java@RequiredArgsConstructor public class SecurityDetails implements UserDetails { private final UserEntity userEntity; @Override public Collection<? extends GrantedAuthority> getAuthorities() { Collection<GrantedAuthority> authorities = new ArrayList<>(); authorities.add(new GrantedAuthority() { @Override public String getAuthority() { return userEntity.getAuthority().toString(); } }); return authorities; } @Override public String getPassword() { return userEntity.getUserPassword(); } @Override public String getUsername() { return userEntity.getUserEmail(); } @Override public boolean isAccountNonExpired() { return true; } @Override public boolean isAccountNonLocked() { return true; } @Override public boolean isCredentialsNonExpired() { return true; } @Override public boolean isEnabled() { return true; } } SecurityDetailsService.java@Service @RequiredArgsConstructor public class SecurityDetailsService implements UserDetailsService { private final UserRepository userRepository; @Override public UserDetails loadUserByUsername(String userEmail) throws UsernameNotFoundException { UserEntity userEntity = userRepository.findByUserEmail(userEmail); if(userEntity != null) return new SecurityDetails(userEntity); return null; } } SecurityDetails에서 return값이 boolean인 override 받는 메소드들 다 true로 해줬고login페이지나 home페이지에는 이미지도 없어서 문제될 게 없다고 생각되는데도통 이유를 모르겠습니다ㅠㅠㅠ
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
JDBC 구현체는 커넥션 풀이 접근해서 커넥션을 얻어오나요?
이전 강의에서는 데이터베이스의 변경을 유연하게 하기위해 Jdbc에서 인터페이스를 제공하고 그걸 각 데이터베이스 구현체를 둬서 사용한다고 했습니다.이번 강의에서 다시 커넥션 풀을 이용하게 돼서 HicariCP를 이용해 커넥션을 얻어온다면 HicariCP가 Jdbc구현체를 이용해 커넥션을 갖고온다고 생각하면 될까요?
-
미해결스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션
@AuthenticationPrincipal 사용이 가능한 이유가
처음에 로그인시 헤더에 jwt 토큰이 저장되고 securityContextholder, 시큐리티 세션에 저장된 loginUser가 stateless 설정에 의해 삭제 되지계좌등록 컨트롤러에 @AuthenticationPrincipal로 세션에 저장된 loginUser를 사용이 가능한 이유가 JwtAuthrizaitionFilte에서 아래 코드로 securityContextholder에 인증이나 권한체크용으로 저장 되기 떄문에 사용이 가능한걸까요? 맞는거같은데 확실해지고자 여쭤봅니다...Authentication authentication = new UsernamePasswordAuthenticationToken(loginUser, null, loginUser.getAuthorities()); //강제로 authentication 객체를 생성 SecurityContextHolder.getContext().setAuthentication(authentication); //강제 로그인
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
서버 세팅 질문드립니다
npm i --force 후 npm run start:dev를 실행하면 사진과 같이 에러가 발생합니다. 파일에서 수정해야 할 부분이 있을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
알고리즘 교안 사용법
cpp에 대한 지식이 부족한데, 알고리즘 교안을 미리 한번 다 보고 나서 시작해야하는건가요??아니면 그냥 강의 쭉 따라 가면 되는걸까요강의 목차에는 Vector나 다른 기본 개념들에 대한 설명이 없는것 같아 문의 드립니다!
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
npm i 오류 질문드립니다.
npm i 명령어 실행 시 이런 오류가 발생하는데 혹시 해결방법이 있을까요? 그리고 android studio에서 node 명령어 수행 시 제대로 실행되지 않는 문제가 있는데 powershell을 통해 동일한 경로에서 실행하면 제대로 실행됩니다. 추가적으로 android studio에서 해주어야 하는 설정이 있을까요?
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
<template v-if=""> 관련 질문
안녕하세요, section 3. 조건부 렌더링 강의를 듣다가 궁금한 점이 생겨 질문드립니다.강의 내용 중 <template v-if=""> 처럼 template 태그를 사용하는 경우가 실전에 많다 라고 말씀해주셨는데, <div v-if=""> 처럼 div 태그를 사용하는 것과 차이가 있을까요?
-
미해결처음 만난 리액트(React)
렌더링 관련 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 소플님 실습을 따라 해보았는데 하나의 useEffect는 컴포넌트가 렌더링 될 때마다 콘솔이 찍히고 하나의 useEffect는 count값이 변경될 때마다 찍힌다는 것까지는 이해했습니다. 근데 마지막 최대 인원을 수용하는 10명까지 수용을 하고는 버튼 컴포넌트가 isFull: true로 찍히고 컴포넌트가 렌더링 되지 않아서 useEffect 콘솔과 isFull: true 이 안 찍혀야 하는 것 아닌가요? 왜 이렇게 찍히는지 이해가 안됩니다,,ㅠㅠ
-
미해결밑바닥부터 시작하는 왕초보 유니티 2D 게임제작
섹션2: 서브루틴
질문1. 코루틴은 코루틴이 대기하는 동안 Start()의 다른 함수나 Update() 함수가 진행되는 건가요?예를들어 밑에 코드에서 cortDT1이 Start()에서 시작하고, 1초 기다리는 동안 Start()의 그 밑에 있는 함수가 실행되는 건가요? 그러면 Update()는 언제 실행되는 건가요? 실행순서가 궁금합니다!public class Cort3 : MonoBehaviour { Coroutine cortDT1; Coroutine cortDT2; // Start is called before the first frame update void Start() { cortDT1 = StartCoroutine(DelayTime(1)); cortDT2 = StartCoroutine(DelayTime(2)); } // Update is called once per frame void Update() { if(Input.GetKeyDown("space")){ StopAllCoroutines(); } } IEnumerator DelayTime(float time){ while(true){ yield return new WaitForSeconds(time); //메인루틴(update함수)으로 양도권 양보 print(time + "초 만큼 경과"); } } }
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
DOOD방식 -p 8081:8080 마운팅으로 접속 안됨.
처음 SSH를 기동할 때 2번째 방법인 DOOD 방법으로 기동하였습니다.docker run -itd --name docker-server -p 10022:22 -p 8081:8080 -e container=docker --tmpfs /run --tmpfs /tmp -v /sys/fs/cgroup:/sys/fs/cgroup:ro -v /var/run/docker.sock:/var/run/docker.sock edowon0623/docker:latest /usr/sbin/init코드를 보시면 아시다싶히 -p 10022:22 마운팅과추가로 -p 8081:8080 마운팅을 추가하였습니다. 이후 Jenkins로 빌드를 진행하였고 아래와 같이 빌드가 정상적으로 처리가 되는것이 확인이 됩니다.하지만 localhost:8081/hello-world로 접속하면 접속이 안되고 localhost:8080/hello-world로 접속해야만 접속이 가능해집니다. 당연히 제대로 된다면 둘 다 접근이 가능해지겠죠?근데 톰캣 포트로만 접근이되버려서...제가 처음 ssh를 기동할때 분명 8080포트를 8081로 마운팅을 했는데 왜 8081포트로 접속이 안되는건지 원인과 해결 부탁드립니다.
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
dood방식 yum sed 작업
DOOD방식에서는 그럼 yum install -y iptables net-tools sed -i -e 's/overlay2/vfs/g' /etc/sysconfig/docker-storage위 두 명령어를 실행하지 않아도 되는건가요?
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
OSI 7 Layer 그림에서 Driver 와IP 사이에 갭은 무엇을 의미하나요?
안녕하세요. 선생님 아래 사진 보시면 빨간색 동그라미 부분에서 Driver 와IP 사이에 갭은 무엇을 의미 하나요? 여러가지 s/w가 있다는 의미인가요? 아님 서로 직접적으로 상호작용하지 않아 갭을 두어 그린신건가요?
-
미해결
[ERROR] Hackle: HackleClient onInitialized Failed. undefined
인프런 강의 듣는데 오류가 발생합니다크롬 브라우저 환경에서쿠키삭제+강력새로고침시크릿모드위 방법 다 해봤는데 강의 재생이 안됩니다.개발자 도구 켜봤더니[ERROR] Hackle: HackleClient onInitialized Failed. undefined오류가 납니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
[1-H]시간 초과 관련해서 질문드립니다
http://boj.kr/ab659fec129e45c7b35407ed7e322f06 안녕하세요 선생님문제 제출 결과가 시간초과로 나왔는데 ,vector의 사용이 문제인지 이중 for문이 문제인지 아니면 다른 어떤 게 문제인지 궁금합니다 그리고 결과가 시간 초과라고 나왔을 경우 어떻게 대처하면 좋을까요? 예를 들어서 다른 자료형을 사용한다던지 아니면 로직을 바꾼다던지.. 제가 왕초보라 어떻게 대처해야 할지 모르겠습니다. ㅜㅜ 저는 위 코드를 다음과 같이 짰습니다.입력받은 온도 값을 벡터에 저장.총 n-k+1번 동안 반복해서 연속된 온도k개의 합을 구해 다른 벡터에 저장.가장 큰 값 출력. 항상 감사합니다!!
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
빌드 시스템에 대해 이해가 되지 않는 부분이 있어 여쭤봅니다
Build.cs 파일에 PublicDependencyModuleNames 와 PrivateDependencyModuleNames 의 차이를 공홈에서 처럼 Public 폴더의 헤더(보통의 경우) 에서 참조하는 경우는 PublicDependencyModuleNames 를 사용하라 하는데요 이렇게 사용하면 안 좋다는 것을 알지만 PrivateDependencyModulesNames 에 추가해도 컴파일은 제대로 되다보니 이해가 안됩니다 ㅠ예를 들면)ModuleAPublic-> ObjectA.hModuleBPublic-> ObjectB.hModuleB.build.cs 의 PrivateDependencyModuleNames에 ModuleA 를 추가하더라도 ObjectB.h 에서 ObjectA 이 사용 가능한 상황입니다.알려주세요 ㅠ
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
안녕하세요 표 이미지 삽입에 대해 질문 있습니다
import win32com.client as win32 from tkinter import Tk from tkinter.filedialog import askopenfilenames import os from time import sleep hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject") hwp.XHwpWindows.Item(0).Visible = True hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule") PATH = os.getcwd() def check_hwp(file_name): if 'hwp' in file_name: return True else: return False file_list = filter(check_hwp,os.listdir()) print(file_list) for i in file_list: hwp.Open(os.path.join(os.getcwd(), i)) #파일 열기 #이미지 파일 경로 선택 root = Tk() # 이미지선택창 열기 imagelist = askopenfilenames() root.destroy() # 이미지선택창 닫기 BASE_DIR = imagelist[0].rsplit("/", maxsplit=1)[0] # 이미지리스트에서 경로 추출 imagelist = [i.rsplit("/", maxsplit=1)[1] for i in imagelist] # 이미지리스트에서 파일명만 남김 #이미지입력 hwp.MoveToField('첨부이미지1') hwp.InsertPicture(os.path.join(BASE_DIR, f"{imagelist[0]}.jpg"), Embedded=True, sizeoption=2) hwp.MoveToField('첨부이미지2') hwp.InsertPicture(os.path.join(BASE_DIR, f"{imagelist[1]}.jpg"), Embedded=True, sizeoption=2) hwp.MoveToField('첨부이미지3') hwp.InsertPicture(os.path.join(BASE_DIR, f"{imagelist[2]}.jpg"), Embedded=True, sizeoption=2) hwp.MoveToField('첨부이미지4') hwp.InsertPicture(os.path.join(BASE_DIR, f"{imagelist[3]}.jpg"), Embedded=True, sizeoption=2) sleep(1) hwp.Save() 각 셀에 필드명은 이미 설정된 상태에서 셀마다 이미지를 삽입하려고 하는데 한 줄씩 실행해보니 분명 파일이 선택되고 커서도 셀로 가는데 이미지 삽입이 실행되지 않습니다. 혹시 왜 그런지 알 수 있을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
정적 컨텐츠 질문입니다.
http://localhost:8080/hello-static이 아닌http://localhost:8080/hello-static.html 으로 뒤에 .html을 붙이는 이유가 해당 파일은 맵핑이 되어있지 않아서 그런건가요?
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)
KeyboardInterrupt 시 p.join에서 exception 발생
w_worker = Process(target=self.w_job, args=(w_queue,)) w_worker.start() workers.append(w_worker) try: ~ except KeyboardInterrupt: for w in workers: w.join()안녕하세요 강사님,w.join()에서 아래와 같은 exception이 발생하는데, 어떤 문제인지 모르겠어서 질문드립니다.Exception ignored in atexit callback: <function _exit_function at 0x7f61a90b72e0> Traceback (most recent call last): File "/usr/lib/python3.10/multiprocessing/util.py", line 357, in _exit_function p.join() File "/usr/lib/python3.10/multiprocessing/process.py", line 149, in join res = self._popen.wait(timeout) File "/usr/lib/python3.10/multiprocessing/popen_fork.py", line 43, in wait return self.poll(os.WNOHANG if timeout == 0.0 else 0) File "/usr/lib/python3.10/multiprocessing/popen_fork.py", line 27, in poll pid, sts = os.waitpid(self.pid, flag) KeyboardInterrupt:해당 에러는 어떤 부분때문에 발생하는 지, 어떤 선행작업이 필요한지 궁금합니다.