이야기를 나눠요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
스프링 핵심 원리 - 기본편
이거다음 Jpa 보는걸 추천한다고 하셨는데 궁금한게 있어요
질문이 좀많은데 제가 잘몰라서 그러는데 JPA 가 DB 랑 관계 있는거아닌가요?DB 모르는상태로 JAP 봐도 상관없나요?그리고 스프링 MVC 모르는상태로도 JPA 를 봐도 상관없나요? 이해가 잘안가기도 하고 이럴땐 일단 프로젝트 해보면서 감좀잡고 다시보는게 좋다는 말이 많아서 프로젝트 한번 해보면서 감좀 잡고 나머지 다 다시 볼라고 하는데요마치 야생형이랄까요그 1번 입문 강의가 딱 제가 원하는 야생형 미리체험하기 같은데1번 기술만 배우려면 어떻게 보는게 좋은가요?예를들어 제가 커리큘럼 을 비교해서 최대한 비슷한거 골라봤는데mvc2편>db2편>핵심원리 (5번>7번>8번) 이렇게 3개만 보면 혼자 프로젝트를 만들수있을가요?
-
나도코딩의 자바 기본편 - 풀코스 (20시간)
수업 관련 문의드립니다.
삭제된 글입니다
-
나도코딩의 자바 기본편 - 풀코스 (20시간)
sql 강의는 찍을 생각 있으신가요 ? sqld를 준비할 정도로요
제가 mssql강의를 듣고 있는데 그 강의를 듣다가 듣기 힘들어서 자바 공부하는 데 나도 코딩님이 너무 잘 가르쳐 주셔서 너무 좋네요 mssql강의도 시간이 있으시다면 찍으면 좋다고 생각합니다
-
스프링 핵심 원리 - 기본편
진짜 강의 구매하길 잘했다는 생각이 너무 듭니다 🥹
- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 아직 강의를 완강한 것도 아니고 로드맵을 전부 구매하지는 않았지만 지금까지의 설명을 들었을 때 사람들이 그렇게 호평한 이유를 알 것 같습니다! 주워들었던 용어들에 불과했던 IoC, DI, SOLID 원칙 등등.. 특히 역할과 구현 분리 부분에서 자동차와 연극 비유는 레전드였습니다 👏👏사실 저는 그동안 node.js 기반으로만 개발 공부를 하고 있었어서 처음에 스프링 무료 버전을 들었을 때 까지만 하더라도 유료 강의들로 넘어간다고 해서 내가 이해할 수 있을까..? 라는 불안감이 있었는데, 지금처럼 계속 공부한다면 충분히 스프링도 익숙해질 것이라 생각하게 되었습니다! 영한 님이 이 글을 보실지는 모르겠지만.. 진짜 감사드립니다 👍👍👍 모르는 게 생기면 바로 바로 여쭤보겠습니다!
-
자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
졸업선물 문제 클래스 이용해서 풀었습니다 !
완전 탐색 문제는 어렵네요 강의 보기 전에 하나씩 풀어보는데 졸업선물 문제는 기억에 남아서 올려봅니다. 그리고 강의도 재밌고 효율적으로 생각하는 방식을 잘 알려주시는 거 같습니다. <script> function solution(m, product){ class Product{ constructor(product = []){ this._product = product; } get price(){ return this._product[0]; } get fare(){ return this._product[1]; } disCountCost(){ return this.price / 2 + this.fare; } cost(){ return this.price + this.fare; } } class Products{ constructor(products = []) { this._products = products; } get commodities(){ return this._products; } get numOfProducts(){ return this.commodities.length; } map(transform){ return new Products(transform(this.commodities)); } totalCost(){ return this.commodities .map(product => product.cost()).reduce((sum, v) => sum + v, 0); } } function possibleCost(products){ return products.commodities .map((v, i) => [v, products.map(makeDrop(i))]) .map(([v, products]) => v.disCountCost() + products.totalCost()) .reduce((minCost, current) => Math.min(minCost, current)); } function makeChildren(products){ const total = products.numOfProducts; return total > 1 ? products.commodities .map((_, idx) => products.map(makeDrop(idx))) : [products]; } function makeGeneration(depth, products){ if(depth === 0) return [products]; return makeChildren(products) .map(sub => makeGeneration(depth - 1, sub)) .flat(); } const makeDrop = i => arr => arr.slice(0,i).concat(arr.slice(i+1)); const commos = new Products(product.map(commo => new Product(commo))); let limit = commos.numOfProducts; for(let i = 0; i < limit; i++){ if(makeGeneration(i, commos) .filter(prod => possibleCost(prod) <= m) .length > 0) { return limit - i; } } } let arr=[[10, 3], [6, 6], [2, 2], [4, 3], [4, 5]]; console.log(solution(28, arr)); </script>