안녕하세요 지식공유자님 수준 높은 강의를 제공해주셔서 감사합니다! gitlab-sast 같은 내용을 artifacts 로 업로드에서 사용하시던데, artifacts 에 업로드 되는 내용으로 라이브러리 같은 것도 괜찮은가요? artifacts 를 cache 처럼 사용해도 되는건가요? 예를들어 python3.8 를 CI/CD 가 실행될 때마다 직접 빌드를 하게되는데, 10분 정도가 소요된다고 했을때, 오래 걸리니, 한번 빌드 후 artifacts 에 업로드한 것을 다운 받아 사용하는 겁니다. (라이브러리 캐싱 처럼)
[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
안녕하세요. 이번에 개정판을 만들어 주셔서 감사합니다. 다름이 아니라 강의 자료 ppt를 다운로드 받을 수 있을까요? 커뮤니티 게시판을 보니 github에 https://github.com/joneconsulting/my-restful-services/tree/master/pdf 확인을 해보니 존재하지 않은 경로로 나오네요.
toString 에 대해서 다룬 강의가 있나요? 아니면 중급편에서 다룰 예정이신가요 ? 2. 만약 library 를 출력할때 toString 이 자동으로 실행되는 관련된 것을 수업에서 다뤄주신 적이 있나요? Locale, NumberFormat 관련해서 다뤄주셨거나 중급편에서 다뤄주실 예정이신가요 ?
안녕하세요 강사님 강의 잘 듣고 있습니다! 잃어버린 강아지 문제에서 count관련 이해가 안되는 부분이 있어서요. 관련 부분만 가져왔는데 count는 처음에 0으로 초기화 된 상태에서 while문에 들어가자마자 1이 증가하고, 마지막으로 들어갈 때는 9999상태에서 들어가서 10000이 되고, 그시점에 마지막 번째 while을 실행하면서 현수가 강아지를 찾아서 x1 == x2 && y1 == y2이 된 후 break(사실상 while문이 끝나서 break된거나 마찬가지지만)될수도 있는건데 강아지를 못찾고 반환하는 0을 리턴하는 조건이 count >= 10000이 되면 10000번째에 찾더라도 못찾은걸로 표현될수 있지 않나 싶어서요. 그런데 이런 생각을 하다보니까 그러면 진짜로 10000을 넘을때까지 못찾는 경우는 어떻게 알수 있게 되지? 라는 생각이 들면서 정리가 안되기 시작했습니다. ㅠㅠ count가 while안에 있기 때문에 10000번째에 딱 찾고 끝나고 나면 더이상 count를 올려줄 방법이 없는데, 어떻게 해야 만번 이상을 했고 그래도 찾을수 없었던걸 증명할수 있을지... 일단 생각으로는 while을 true로 해놓고 break하는 조건을 하나 더 둬서 if(x1 == x2 && y1 == y2) break; 아래에 if(count == 10000) break;나 if(count >= 10000) break; 이렇게 하는 방법이 떠오르긴 하는데 이렇게 해도 괜찮을지, 강사님이 해주신 코드로 충분한데 제가 이해를 못하고 있는것일지.. 설명 늘 자세히 해주시는데도 질문해서 죄송합니다 🥲 항상 감사합니다 int d1 = 0, d2 = 0, count = 0; while (count < 10000) { count++; int nx1 = x1 + dx[d1]; int ny1 = y1 + dy[d1]; int nx2 = x2 + dx[d2]; int ny2 = y2 + dy[d2]; boolean flag1 = true, flag2 = true; if (nx1 < 0 || nx1 >= n || ny1 < 0 || ny1 >= n || board[nx1][ny1] == 1){ d1 = (d1 + 1) % 4; flag1 = false; } if (nx2 < 0 || nx2 >= n || ny2 < 0 || ny2 >= n || board[nx2][ny2] == 1){ d2 = (d2 + 1) % 4; flag2 = false; } if(flag1 == true){ x1 = nx1; y1 = ny1; } if(flag2 == true){ x2 = nx2; y2 = ny2; } if(x1 == x2 && y1 == y2) break; } if (count >= 10000) return 0;
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 우리의 멘토 꽤 멋지심
ex) src/components/commons/apollo/index.tsx // ... const uploadLink = createUploadLink({ uri: "...", headers: { Authorization: `Bearer ${accessToken}` }, }); const client = new ApolloClient({ link: ApolloLink.from([uploadLink]), cache: GLOBAL_STATE, }); // ... 이전 강의에서 createUploadLink 함수를 이미지같은 파일을 업로드 설정을 위해 불러왔었는데 이 안에 accessToken을 넣어주는 게 이해가 가지 않았습니다. 지금 제 머릿속에는 자동으로 headers에 accessToken을 담아서 인가를 해주는 설정을 왜 이미지업로드를 위한 설정함수에 accessToken을 넣어주는 거지?라는 생각이 들어서 혼란스럽습니다.. 이 부분에 대해서 제가 잘못 이해하고 있거나 이렇게 해주는 이유에 대해서 알려주신다면 감사드리겠습니다!
public class JpaMain { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction tr = em.getTransaction(); tr.begin(); try{ Parent parent = new Parent(); Child child = new Child(); Child child1 = new Child(); parent.addChild(child); parent.addChild(child1); em.persist(parent); em.flush(); em.clear(); Parent newParent = em.find(Parent.class, parent.getId()); Child child2 = newParent.getChildList().get(0); em.remove(child2); tr.commit(); } catch (Exception e){ tr.rollback(); e.printStackTrace(); } finally { em.close(); } emf.close(); } } 안녕하세요 CascadeType 관련해서 질문을 남깁니다. Parent에 CascadeType을 ALL 또는 PERSIST로 했을 때 위에서 child 삭제 쿼리가 나가지 않습니다. 다른 속성들은 모두 잘 동작을 하는데 왜 저 두 속성만 안되는건지 혹시 알 수 있을까요?
안녕하세요! 저는 강사님이 말씀해주신 방법들이 아닌 @Sql 어노테이션을 사용해서 모든 테이블을 Truncate하는 방법으로 클렌징을 하고 있었습니다. Truncate는 복구가 안되지만 성능 면에서 Delete보다 빠른 것으로 알고 있는데 제가 사용한 방식도 괜찮은 방법일지, 혹은 발생할만한 문제가 있을지 궁금합니다. teardown.sql -- 모든 제약 조건 비활성화 SET REFERENTIAL_INTEGRITY FALSE; truncate table user_tb; truncate table oauth_tb; truncate table vote_tb; truncate table choice_tb; truncate table vote_item_tb; truncate table place_tb; truncate table review_tb; truncate table review_vibe_tb; truncate table vibe_tb; truncate table place_vibe_tb; truncate table place_food_tb; truncate table food_tb; truncate table participant_tb; -- 모든 제약 조건 활성화 SET REFERENTIAL_INTEGRITY TRUE;
모듈형 모노리스도 컨테이너화 할 수 있다. 쿠버네티스의 꼭 마이크로서비스만 올리는게 아닌 모노리스도 그냥 올릴 수 있다. 그것만으로도 확장성,배포성,탄력성이 보장이 되기도 한다. 라고 하셨었는데 이 부분에대해서 조금 더 상세하게 알고싶어서 질문드립니다. 확장성,배포성,탄력성 부분에서 어떤 장점들이 있는지 조금 더 디테일하게 궁금합니다. 그렇다면 모노리스 서버 구조의 아키텍처 설계 대신에 항상 쿠버네티스를 쓰는게 좋지 아니한가해서 질문드립니다.