묻고 답해요
128만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결선형대수학개론
1.5강 homogeneous linear systems
안녕하세요 선생님, homogeneous linear system에서 trivial solution, nontrivial solution 이 아닌, x가 0이 아닌 실수로 나오는 경우도 있나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Disconnected from the target VM, address: '127.0.0.1:58296', transport: 'socket'
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]https://drive.google.com/file/d/1CJnYRgV9zR_uJeare08uckeZ3XDFftwR/view?usp=sharing
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Lombok @Data 사용 관련
Lombok @Data 어노테이션은 예측하지 못하게 동작할 수 있기 때문에 핵심 도메인 모델에서 사용하기 위험하다고 하셨지만 단순하게 data 왔다갔다할 때 사용하는 DTO일 경우에는 확인해보고 사용해도 괜찮다고 수업 시간에 언급하셨잖아요. 그래서 되도록이면 @Data 어노테이션 사용은 자제해야겠다고 생각했는데 수업 시간에 예제 코드 작성하실 때는 자주 사용하시더라고요. @Data 어노테이션을 사용해도 되는지 안 되는지 혼란스러운데 이 부분에 대해서 풀어서 설명해주실 수 있나요?
-
미해결비전공자를 위한 개발자 취업 올인원 가이드 [통합편]
독학 1달째인 비전공 개발자지망생입니다!
먼저 좋은 강의 정말 감사드립니다!!!!! 저도 스물아홉에 개발자로 진로를 정하면서 궁금한것/고민들이 정말 많았는데 이 강의 하나로 그간 고민들이 사라지고 '열심히 해야겠다'라는 생각이 들었습니다! 다만 혼자 공부를 함에 있어서 제가 현재 나아가고 있는 방향이 옳고도 빠른 길인지 의문이 생겨 질문을 드립니다. 저는 사는 지역에 평이 좋은 국비학원이 없어 하루 10시간 공부를 목표로 독학중입니다. 우선 생활코딩과 노마드코더 강의로 html,css와 자바스크립트의 기본을 공부했고 현재 부스트코스 풀스택 강의의 프로젝트를 모두 완성하는 것을 목표로 공부중입니다 (https://www.boostcourse.org/web316) 또 개념공부를 위해 자바의정석을 틈틈히 보고있고 코드를 익숙하게다루기 위해서 baekjoon문제도 조금씩 풀고있습니다. 서비스 회사를 목표로 빠르게 취업하기 위해서 공부하고있는데 아무래도 비교 지표가 없다보니 어느정도의 실력이 되었을때 이력서를 넣기 시작해도 되는지가 궁금합니다. 또 제가 실행중인 공부계획(독학)이 올바른 방향인지 조금 이상하게 돌아가는 길은 아닌지도 의문입니다. 긴글 읽어주셔서 감사드립니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2 database 쿼리 질문있어요
[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요 h2 database 쿼리 부분에서 계속 syntax error 가 발생해서 질문남겨요 옳게 작성했는데 계속 에러가 발생합니다. 이러한 경우에는 어떻게 해야될까요...
-
미해결선형대수학개론
1.6강 example1
안녕하세요 선생님 1.6강 4페이지 문제에서 row reduction한 것과 해를 도출한 것은 이해가 됩니다만 그것이 어떻게 2v1 - v2 + v3 = 0 꼴 형태의 식이 되는지 이해가 되지 않습니다. 그냥 x3 = 1을 대입해서 한가지 가능한 식을 도출해낸 것인가요? 감사합니다.
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
깃 권한 요청드립니다.
- 인프런 아이디 : jangnrock@naver.com - 인프런 email : jangnrock@naver.com - 깃헙 아이디: jangnrock@naver.com - 깃헙 username: hooni93
-
미해결스프링 시큐리티
궁금한 점이있습니다.
안녕하세요 강사님 이번 강의를 보면서 한 가지 궁금한점 생겼습니다. 커스텀하다가 궁금하여 질문드립니다. [요구사항 ] 사용자는 등록된 IP인경우 접근이 가능하다 사용자는 해당 권한 계층 상위 또는 해당 계층인 경우 접근이 가능하다. 사용자는 해당 부서계층에 상위 또는 해당 계층인경우 접근이 가능하다. [사용자 권한 ] ADMIN > MANAGER > USER [팀 권한] 영업팀 > 1팀 위와 같이 권한 뿐만아닌 부서에 대한 정보까지 탐색해야한다면 어떻게 해야할지에 대해 문의드립니다. [설계] 1. IP vote 같은 경우 ip가 존재한다면 ACCESS_ABSTAIN 보류 상태로 다음 vote를 체크하도록합니다. (강의와 동일) 2. 사용자 권한 - 사용자 계층은 해당 계층 또는 상위 계층이면 ACCESS_ABSTAIN 로 보류해야한다. - 기본으로 제공하는 RoleVoter를 통해 승인 여부를 결정하는데 해당 결정 방법은 보류가 아닌 승인이기 때문에 재정의해서 보류로 변경한다. 2-1. 기존 RoleHierarchyVoter 를 상속한 CustomRoleHierarchVoter 를 생성한다 - vote 메소스를 재정의하여 ACCESS_ABSTAIN 처리 함으로써 사용자권한에 대한 부분에대한 문제점--------------------------------------------- 3. RoleHierarchyVoter 를 상속한 GroupVoter 를 하나 생성해서 vote 메소드를 재정의해서 그룹에 대한 심사를 결정하고자합니다. 강의 기준에서 Group에대한 정보를 FilterSeuicrityInterceptor 에서 가져오게 하기 위해 SecurityInitializer 를 이용 데이터를 맵핑하고 빈을 설정했습니다. 4. 하지만 내부적으로 동작시 FilterSecurityInterceptor는 최초에 한번 해당 정보를 가져오는 과정을 진행하고AbstractSecurityInterceptor 에서 호출시에는 사용자의 권한정보만을 AccessDesisionManager에게 decide 하게 되는데요 결론적으로는 GroupVoter 에서는 권한정보가 사용자 정보를 가지고있어서 원하는 방향성으로 동작하지 않았습니다. 5. 이 경우 생각해볼 방향성이 provider 시점에 유저에 대한 정보를 조회 후 해당 정보중 그룹 정보도 같이 조회하여 WebAuthenticationDetails 에 그룹 정보를 포함하는 방법도 6. AffirmativeBased 클래스를 재정의하여 해당 GroupVoter를 호출할 때 configAttributes 에 대한 db 정보를 가져오는방법 (역할이 변질되는 느낌이 있어보입니다.) 7. FilterSecurityInterceptor 에서 AbstractSecurityIntercepter에서 beforeInvocation 부분을 재정의 하는 방법 이 있을 것 같습니다. 8. 만약 Groupvoter 정보를 캐싱하고자 한다면 어느시점이 좋을까요. [코드] 시큐리티 설정 코드 private List<AccessDecisionVoter<?>> getAccessDecisionVoters() { List<AccessDecisionVoter<? extends Object>> accessDecisionVoters = new ArrayList<>(); accessDecisionVoters.add(accessIp()); accessDecisionVoters.add(roleVoter()); accessDecisionVoters.add(groupVoter()); return accessDecisionVoters;}@Beanpublic AccessDecisionVoter<? extends Object> accessIp() { return new IpAddressVoter(securityResourceService);}@Beanpublic AccessDecisionVoter<? extends Object> roleVoter() { return new CustomRoleHierarchyVoter(roleHierarchy());}@Beanpublic RoleHierarchy roleHierarchy() { return new RoleHierarchyImpl();}@Beanpublic AccessDecisionVoter<? extends Object> groupVoter() { return new GroupVoter(roleGroupHierarchy());}@Beanpublic RoleHierarchy roleGroupHierarchy() { return new RoleHierarchyImpl();} CustomRoleHierarchyVoter - 기존 RoleVoter에서 승인 처리되는 부분을 보류 상태로 변경했습니다. public class CustomRoleHierarchyVoter extends RoleHierarchyVoter { public CustomRoleHierarchyVoter(RoleHierarchy roleHierarchy) { super(roleHierarchy); } @Override public int vote(Authentication authentication, Object object, Collection<ConfigAttribute> attributes) { if (authentication == null) { return ACCESS_DENIED; } Collection<? extends GrantedAuthority> authorities = extractAuthorities(authentication); for (ConfigAttribute attribute : attributes) { if (this.supports(attribute)) { // Attempt to find a matching granted authority for (GrantedAuthority authority : authorities) { if (attribute.getAttribute().equals(authority.getAuthority())) { return ACCESS_ABSTAIN; } } } } return ACCESS_DENIED; } Collection<? extends GrantedAuthority> extractAuthorities(Authentication authentication) { return authentication.getAuthorities(); }} GroupVoter - 그룹 정보에 따른 승인 처리 부분입니다. 해당 부분에서 그냥 DB 정보를 가져와서 Map에다가 저장해서 처리해볼까 하는 생각도 있는데 확실치가 않네요 .. public class GroupVoter extends RoleHierarchyVoter { public GroupVoter(RoleHierarchy roleHierarchy) { super(roleHierarchy); } @Override public int vote(Authentication authentication, Object object, Collection<ConfigAttribute> attributes) { // 미구현 return result; }}
-
미해결Flutter 입문 확장판 - 인스타그램 클론 2.0
data[document['email'] 사용법 변경 문의 및 following 함수 문의
const SizedBox( width: 8,),StreamBuilder<DocumentSnapshot>( stream: _followingStream(), builder: (context, snapshot) { if(!snapshot.hasData){ print(snapshot.hasData); print('1'); return Text('로딩중'); } var data = snapshot.data?.data(); if(data == null || data[document['email']] ==null || data[document['email']] == false ){ return GestureDetector( onTap: _follow, child: Text('팔로우',style: TextStyle(color:Colors.blue,fontWeight: FontWeight.bold),), ); } return GestureDetector( onTap: _follow, child: Text('팔로우',style: TextStyle(color:Colors.blue,fontWeight: FontWeight.bold),), ); } ). strambuilder로 가져온 data에 메일 리스트 체크해주는 부분이 변경 된것 같은데 https://firebase.flutter.dev/docs/firestore/usage/#one-time-read 요 문서를 봐도 잘 모르겠어서 도움을 요청 드립니다!! data[document['email']] 요 부분 입니다!! [following 함수 문의] var doc = FirebaseFirestore.instance.collection('following').doc(widget.user.email); doc.set({ widget.document['email'] : true,}); 추가로 doc.setdata가 set으로 바뀐것 같은데 해당 문법은 following 호출시 단일 데이터값만 변경됩니다. 예를 들어서 ab@naver.com을 팔로우하면 ab@naver.com은 팔로우가 되고 (true로 저장) 그 다음에 ddd@naver.com을 팔로우하면 ab@naver.com은 사라지고 ddd@naver.com은 true로 저장이 됩니다. 찾아보니 update를 사용하면 추가가되는 형식으로 바뀐것 같은데 update를 사용하는게 맞나요?
-
해결됨Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃헙 브랜치 경로 문의
안녕하세요! 좋은 수업 늘 감사히 잘듣고 있습니다. 궁금한 점이 있어서 문의드립니다. 저는 지금 Todo App - 프로젝트 구현에서 깃헙 브랜치 안내 해주시는 부분 강의 듣고 있습니다. 깃 권한도 승인받았고, 강의해주신 경로대로 진행했는데 수업내용 올려주신 자료가 없더라구요. (TodoFooter.vue, TodoHeader.vue, TodoInput.vue, TodoList.vue) 저는 위 4가지 파일이 없고 HelloWorld.vue 파일만 있더라구요.. 터미널에 git checkout todo-app/components-implementation 하면 덮어씌워진다고 하셔서, 혹시나 제코드가 날아갈까봐 시도해보지는 못했어요. 제가 경로를 잘못타고 들어간건가요? 확인부탁드립니다.
-
미해결홍정모의 따라하며 배우는 C언어
14.10강 구조체 compound literal 질문 있습니다
구조체 compound literal이 메모리를 차지하고 있는 l-value라면 그냥 구조체를 선언하고 대입하는 것과 메모리적으로 차이가 없어 보입니다. 그럼에도 불구하고 이 용법을 쓰는 이유는 단지 타이핑을 적게 하기 때문인가요? 그리고 복합 리터럴이 메모리의 어느 공간에 저장이 되나요? stack인가요 아니면 code segment인가요?
-
해결됨코딩은 실전이다! - Git알못을 위한 깃린이코스(Git, Github 실습위주)
Slack 초대 부탁드립니다!
rhkrwngud445@naver.com입니다!
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
브라켓츠 사용법 질문입니다.
첨부 이미지를 보시면 브라켓츠 하단에 CDN.txt랑 SOURCE.txt랑 탭으로 되어서 사용하기가 편해 보이는데요.이것을 어떻게 설정해야 하는지 궁금합니다.확장파일이 있는지요?답변 부탁 드립니다^^ 해당 강의의 마지막 섹션에 모두 있습니다.
-
미해결iOS Concurrency(동시성) 프로그래밍, 동기 비동기 처리 그리고 GCD/Operation - 디스패치큐와 오퍼레이션큐의 이해
concurrent질문입니다.
아래처럼 concurrent임에도 클로저내에 있는 task들은 하나로 취급되어 print(slowadd(1,5))하나하나는 모두 동일한 스레드에서 처리되는건가요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
product-card의 이미지 크기에 대한 질문
강의 7:53 경의 내용에서 .product-img { width: 100%; height: 180px; } 강의와 다르게 height를 180px로 설정하면 product-img를 포함하는 <div></div>와 부모인product-card 사이에 여백이 생기는데 이유가 무엇인가요? height를 210px로 설정하거나 css에서 <div></div>의 width를 100%로 바꾸면 꽉 채워지기는 하는데 어느 부분에서 차이가 나는지 모르겠어요..
-
해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
저번에 질문했던 프로미스에 대해서 다시 질문해볼까합니다.
그랩님 안녕하세요 제가 저번에 요청했던 질문에서 필요한 부분을 다시 질문할게요. const getData = async () => { try { const result = await axios.get( "https://b2ef45f8-e166-41d7-bd35-9ad159028fbf.mock.pstmn.io/test" ); const products = result.data.products; console.log(products); console.log(`status:(${result.status}) 통신을 성공했습니다!`); const data = JSON.stringify(products); return data; } catch (err) { console.error(err); console.log("결과를 가져오지 못했습니다."); return err; } }; console.log(getData()); 이런식으로 프로미스 객체를 보다 편하게 처리 하기 위해서 async, await을 사용하면 promise.then().catch()형식을 사용하지 않고 할 수 있습니다. 그리고 getData 함수안에서 프로미스를 사용한 변수를 리턴해서 사용 하려면 async, await을 사용해 함수를 만들고 그 안에서 getData함수를 호출해서 값을 얻어올 수 있다고 저번에 올린 질문에 그랩님께서 답변해주셨습니다. 그런데 제가 프로미스 객체를 async 함수가 아닌 전역(global) 공간에서 값을 얻어 내고 싶습니다. 전역 공간에서 Promise { <pending> } 형태가 아닌 값 자체를 얻을 수는 없을까요?
-
미해결스프링 배치
배치 작업 도중 실패할때
안녕하세요 강의 잘 보고있습니다. 데이터가 100개 있고, 청크 사이즈가 10이라고 할 때 0~9, 10 ~ 19 까지 성공하고 애플리케이션 문제 등으로 프로그램이 종료 혹은 실패가 되었을 때, 다시 0번부터 실행 안 하고, 20번 부터 실행을 하려면 어떻게 해야될까요? 몇번부터 몇번까지 실행했는지 기록하는 메타데이터용 테이블을 만들어서 기록해야되는 거 말고는 없나요?? (예를 들어 실패했을때 다시 실행하면, 실패한 곳부터 알아서 스프링 배치가 실행해주는..)
-
미해결iOS Concurrency(동시성) 프로그래밍, 동기 비동기 처리 그리고 GCD/Operation - 디스패치큐와 오퍼레이션큐의 이해
retain cycle 질문입니다.
강의 중 코드 입니다. 아래에서 weak self 하지 않을 경우 강한 참조 사이클은 일어나지 않는다고 하셨는데, 1.클로저가 해당 클래스를 참조하고 있지만 해당 클래스는 클로저를 참조하고 있지 않기때문인가요?2.weak self하지 않을때, sleep(3)에 의해 클로저가 3초정도 클래스를 참조하고 있어 그 사이에 class가 dismiss되어도 self가 nil이 아닌상황이 지속되고, 3초 이후 즉 클로저가 모두 진행된 이후에는 클로저가 클래스를 더 이상 참조하고 있지않아 class가 dismiss할 경우 deinit이 정상작동 되는 것인가요?class ViewController2: UIViewController { var name: String = "뷰컨" func doSomething() { // 강한 참조 사이클이 일어나지 않지만, 굳이 뷰컨트롤러를 길게 잡아둘 필요가 없다면 // weak self로 선언 DispatchQueue.global().async { [weak self] in sleep(3) guard let weakSelf = self else { return } print("글로벌큐에서 출력하기: \(weakSelf.name)") DispatchQueue.main.async { print("메인큐에서 출력하기: \(weakSelf.name)") } } } deinit { print("\(name) 메모리 해제") } } func localScopeFunction2() { let vc = ViewController2() vc.doSomething() } localScopeFunction2()
-
해결됨공공데이터로 파이썬 데이터 분석 시작하기
fillna()
fillna() 안에 Series의 형태가 들어갔는데요, df['A']=df['A'].fillna(df['B'] ) 이때 저는 컴퓨터가 곧이곧대로 해석해서 df['A'] 시리즈 중에서 결측치가 있는 값에 시리즈 전체인 df['B']를 넣지 않을까 라고 생각했는데 신기하게도 행의 값을 주지 않아도 컴퓨터가 알아서 그 특정 행 값을 찾아서 넣더라구요..! 이게 신기한데 어떻게 이렇게 작동하는건가요? 구글링해서 찾아보니까 그냥 예제들만 수두룩하게 보이는데 그 작동 원리는 잘 모르겠어서 질문 드립니다..!
-
미해결iOS Concurrency(동시성) 프로그래밍, 동기 비동기 처리 그리고 GCD/Operation - 디스패치큐와 오퍼레이션큐의 이해
GCD 질문입니다.
dispatchqueue.global().async 안에 dispatchqueue.global().sync를 하면 교착이 걸릴 수 있어서 안해야한다고 말씀하셨는데요, 제가 이해한 부분이 맞는지 봐주시겠습니까.. main thread에서 dispatchqueue.global().async 를 발견해서 예를들어 gcd에서 task를 thread3에 주고 기다리지않고(async) 곧 바로 return 하였습니다. 그런데 우연히 그 task의 내부인 task(sync)가 thread3에 할당되었습니다. 1. 기다리지 않는다고 했는데 기다려야하는 일이 혼선되어 데드락이 일어나는 것인가요? 2. 처음에 async task가 thread3에 배정된 상태인데, 그 thread3에서 global()을 부를 경우에도 동인한 쓰레드(thread3)로 배정될 수 있나요?