안녕하세요 선생님! 저는 오프라인인 사용자 일대일 인터뷰는 아닌 온라인으로 설문을 조사하고 싶은데요. 특정 주제(환경 관련)에 대해 사용자가 어떤 문제를 겪고있고 의견을 갖고있는지 니즈가 무엇인지를 조사하려 합니다. 구글 설문을 통해서 답을 얻는데 적당할까요? 그렇다면 어떤 문장으로 하는게 좋을까요? (개인작업으로 환경 서비스를 만들었고 많은 기능을 넣어 서비스의 특정 서비스가 무엇인지 방향을 잃었어요. 사용자 설문을 통해 한 서비스에 집중하려고 합니다.) 감사합니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 주사위 윷놀이 문제 보고서 http://boj.kr/7a485f4fb46842189dc2ce91d1db7c91 이렇게 생각을 했는데, 처음 입력받은 이동 거리를 각 말로 이동해보고, 이동 장소에 가장 높은 숫자가 있는 말을 이동하려는 그런 방식으로 꾸미려 하던 중에 구현을 어떻게 해야할지 잘 떠오르지 않아 강의를 보았는데, 완전 다른 논리로 푸시는 걸 보고, 제가 생각한 방식에 대해 강사님의 생각을 들어보고 싶습니다. (아직 구현을 하다 말아서 코드가 다 있지 않은 점 양해 부탁드립니다..)
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네 [질문 내용] 여기에 질문 내용을 남겨주세요. 상품 도메인 개발 12분 에 ItemRepositoryTest 안에 @Test void save() 메소드를 보면 public Item save(Item item) { item.setId(++sequence); store.put(item.getId(), item); return item; } @Test void save() { //given Item item = new Item("itemA", 10000, 10); //when Item savedItem = itemRepository.save(item); //then Item findItem = itemRepository.findById(item.getId()); assertThat(findItem).isEqualTo(savedItem); } Item item 객체생성을 하고 itemRepository.save (item); 리포지터리save메소드를 호출해서 id 값 set하고 map에저장하고 item 을 그대로 반환하자나요 그리고 test save() 에서 Item savedItem 으로 받고요 그럼 savedItem 은 item 을 참조하는거 아닌가요? savedItem 을 받지 않고 그냥 item 을 사용하는거와 다른가요? 예를들어 assertThat(findItem).isEqualTo(savedItem); 대신 assertThat(findItem).isEqualTo(item); 하는거와 같은거 아닌가요? 왜 새로 변수를 만들어주는 것인지 궁금합니다. 초보라 혼란해서 이해가잘안가서요 ㅜ
풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
제공된 11_HTTPS_FLASK_WP의 flask_docker 폴더의 requirements.txt에 해당 사진과 같은 글이 적혀있습니다. 그렇다면 구체적으로 어떻게 requirements.txt를 작성해야하는 건가요? 단순히 flask와 gunicorn만을 적었을 때는 오류가 발생했습니다.
public class AppConfig { public MemberService memberService() { return new MemberServiceImpl(new MemoryMemberRepository()); } public OrderService orderService() { return new OrderServiceImpl(new MemoryMemberRepository(), new FixDiscountPolicy()); } } Appconfig 에서 orderService() 조회하면(호출하면) ( 생성자니까 Appconfig 객체가 생성되면 호출된다 ) ( MemoryMemberRepository() 객체 생성 , FixDiscountPolicy() 객체 생성 ) --> 이 생성된 객체의 참조값을 OrderServiceImpl 객체 생성할 때 생성자로 전달 public class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = discountPolicy; OrderServiceImpl 에 생성자 호출 - 참조값이 넘어감 OrderServiceImpl 객체의 MemberRepository 에 MemoryMemberRepository 할당 DiscountPolicy 에 FixDiscountPolicy 할당 나중에 할인 정책이 변경되어 수정해야한다면 OrderServiceImpl 변경하지않고 AppConfig 에서만 변경하면 됨 public OrderService orderService() { return new OrderServiceImpl(new MemoryMemberRepository(), new FixDiscountPolicy()); } 제가 자바 기초 문법 (생성자? ) 을 깊이 몰라서 ,, ㅜ 이렇게 이해했는데 맞는지 확인 부탁드립니다 !!
안녕하세요. 큰돌 선생님!! 강의 잘듣고 있는 학생입니다! 다름이 아니라, 선생님께서 알려주신 내용들을 바탕으로 저의 식대로 한번 짜보았는데요. 아래 코드를 백준에서 돌리면 결과는 잘 나오는데 틀렸다고 나오더라구요. 어디서 틀린건지 도저히 모르겠어서 질문드립니다. 코드는 선생님이 알려주신 내용 바탕으로 짠거라서 바로 아실꺼라고 생각합니다!! 답변 부탁드리겠습니다. 감사합니다. /* 문제 왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다. 아홉 명의 난쟁이는 모두 자신이 "백설 공주와 일곱 난쟁이"의 주인공이라고 주장했다. 뛰어난 수학적 직관력을 가지고 있던 백설공주는, 다행스럽게도 일곱 난쟁이의 키의 합이 100이 됨을 기억해 냈다. 아홉 난쟁이의 키가 주어졌을 때, 백설공주를 도와 일곱 난쟁이를 찾는 프로그램을 작성하시오. 입력 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. 출력 일곱 난쟁이의 키를 오름차순으로 출력한다. 일곱 난쟁이를 찾을 수 없는 경우는 없다. */ #include<bits/stdc++.h> using namespace std; vector<int> height; int sum_height = 0; const int total_height = 100; //난쟁이수, 일곱난쟁이키의 합 void printV(vector<int> &v) { vector<int> ::iterator iter; for(iter = v.begin(); iter != v.end(); iter++) { cout << *iter << "\n"; } } int main() { for(int i = 0; i < 9; i++) //난쟁이수는 9명 { int k; cin >> k; sum_height += k; height.push_back(k); } //cout << sum_height << endl; sort(height.begin(), height.end(), less<int>()); //printV(height); for(int i = 0; i < 9; i++) //난쟁이수는 9명 { for (int j = 0; j < i; j++) { if(height[i]+ height[j] == sum_height - total_height) { // cout << i << " "<< j<< " " << sum_height - total_height << endl; // cout << height[i] << " " << height[j] << endl; height.erase(height.begin() + i); height.erase(height.begin() + j); break; } } } printV(height); return 0; }
안녕하세요. OAuth2 로그인 이후에 검증 방식에 대해 궁금한 점이 있어서 질문 드려봅니다. 현재 프로젝트에서 OAuth2 를 이용하여 로그인 하는 기능을 사용하고자 하여, 강사님의 강의를 통해 OAuth2 Login을 적용시켰습니다. OAuth2 를 이용하여 회원가입을 하고, 회원가입이 완료되어 OAuth2로 로그인하면, 자체적으로 생성한 JWT Token 을 이용하여 Client 와 통신을 하는 방식으로 구현하였습니다. API 호출 마다 JWT 토큰만으로 인증을 하고 있었는데, JWT 토큰 이후 이 유저가 OAuth2(예를들어 네이버 같은 서버)에서도 유효한 회원인 지 검증이 필요하지 않을까 생각이 들었고, 유저가 OAuth2 서버에서 유효한 회원인 지 검증 하는 부분을 만들고자 하는데, 내부적으로 이용할 수 있는 기능이 있는지 문의 드립니다. ClientRegistration 에 user-info-uri 를 통해 유저 정보를 가져오기 때문에, 예를 들어 oauth2_authorized_client의 accessToken을 이용하여 Naver(OAuth2)에서 회원을 간단하게 조회하고 검증 작업을 진행하면 되지 않을까 해서 내부적으로 이용할 수 있는 기능이 있을 것 같아서요.. 아니면 OAuth2 로그인 이후에 검증 방식에 대해서 제가 잘못 이해한 부분이 있다면 말씀 부탁 드리겠습니다 감사합니다.
선생님. Linked List의 추가/삭제 시에 노드 간의 데이터 주소만 연결하여 주기만 하면 되기 때문에 시간 복잡도가 O(1)이며, index까지 도달하는데 O(n)의 시간이 걸리기 때문에 추/삭의 경우에도 O(n)의 시간이 걸린다고 볼 수 있다고 하셨는데,, 둘 다 내포한다고 생각하면 되나요??