이야기를 나눠요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
자바 ORM 표준 JPA 프로그래밍 - 기본편
책
스프링 입문 편에서 <객체 지향의 사실과 오해>를 추천해 주셔서 재밌게 보았습니다 ! 저는 객체 지향의 본질적인 이해 없이 클래스 지향 코딩을 하고 있었더군요. 이것은 상당히 인상 깊은 경험이었습니다. 자연스럽게 조영호님의 다음 책인 <오브젝트>를 읽어볼 예정이었는데, 김영한 선생님의 스승님이라니 신기하네요 ㅎㅎ 다른 분들도 읽어보셨으면 좋겠네요 추천합니다 :)
-
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
비즈니스 로직을 어디에다 구현할지 고민이 됩니다.
안녕하세요! JPA 강의를 듣고, 저만의 새로운 DB 설계로 처음부터 끝까지 개발 중에 있습니다. 비즈니스 로직은 Controller나 Repository보다는 Service나 Entity에 구현하는 것이 좋다고 여겨지는데요, 모든 비즈니스 로직을 Entity에 구현하려고 시도하던 중 문제에 부딪혔습니다. 매우 간단한 CRUD 비즈니스 로직을 Entity에 구현하는 것에는 문제가 없었습니다. 예를 들어 Entity A와 Entity B 간에 1:N 연관 관계라고 할 때, Entity A가 참조하는 Entity B들로 구성된 List의 모든 목록을 Read하는 비즈니스 로직은, A라는 클래스에 메서드로서 구현하면 간단하게 해결됩니다. 그런데 만약, Entity B들로 구성된 List 전체가 아닌 일부를 Read할 때, 즉 SQL로 치면 where절로 필터링해서 Read 해야 하는 경우에 고민에 빠지게 됩니다. 방법 1) Service에 비즈니스 로직을 구현하고, Service가 Repository의 메서드를 호출한다. 그럼 Repository는 where 절이 포함된 JPQL 쿼리를 통해 List의 일부를 Read한다. 방법 2) Entity에 비즈니스 로직을 구현하고, JPA가 자동으로 쿼리를 생성해서 List 전체를 Read한 다음에, 그 List에 대하여 응용 레벨에서 반복문과 조건문을 통해 필터링하여 사용한다. 방법 2는 방법 1에 비해 (데이터의 개수가 커질수록 더욱) 성능이 느려진다는 단점이 있고, 불필요한 데이터까지 불러오게 됩니다. 혹시 Entity에 비즈니스 로직을 구현하고도 '방법 2'와 같은 낭비 없이 불러올 수 있는 방법이 있을까요? 그런 방법이 없다면, 이런 경우엔 어쩔 수 없이 Entity가 아닌 Service에 비즈니스 로직을 구현하는 수밖에 없나요? 질문 받아주셔서 감사합니다!
-
작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
완강했습니다
마지막으로 연주까지 나오는 센스 정말 좋습니다! 내년에 백엔드개발자로 취업을 목표로 하고 있는데 이렇게 좋은 강의를 만나게 되서 영광입니다. 저도 강사분처럼 남에게 도움이 될 수 있는 개발자가 되면 좋겠다는 꿈이 생기네요. 긴 강의 수고하셨고 항상 건강하시길 바랍니다.
-
작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
완강했습니다 작업 성공했습니다
마지막으로 연주까지 나오는 센스 정말 좋습니다! 내년에 백엔드개발자로 취업을 목표로 하고 있는데 이렇게 좋은 강의를 만나게 되서 영광입니다. 저도 강사분처럼 남에게 도움이 될 수 있는 개발자가 되면 좋겠다는 꿈이 생기네요. 긴 강의 수고하셨고 항상 건강하시길 바랍니다.
-
작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
완강했습니다 작업 성공했습니다 :D
마지막으로 연주까지 나오는 센스 정말 좋습니다! 내년에 백엔드개발자로 취업을 목표로 하고 있는데 이렇게 좋은 강의를 만나게 되서 영광입니다. 저도 강사분처럼 남에게 도움이 될 수 있는 개발자가 되면 좋겠다는 꿈이 생기네요. 긴 강의 수고하셨고 항상 건강하시길 바랍니다. :D
-
자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
졸업선물 문제 클래스 이용해서 풀었습니다 !
완전 탐색 문제는 어렵네요 강의 보기 전에 하나씩 풀어보는데 졸업선물 문제는 기억에 남아서 올려봅니다. 그리고 강의도 재밌고 효율적으로 생각하는 방식을 잘 알려주시는 거 같습니다. <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>
-
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Java 학습관련질문
안녕하세요 김영한 강사님! 강사님 강의를 들으면서 백엔드 개발을 학습하고있는 학생입니다. Spring 학습을 이어가면서 Java 언어에 대한 이해가 부족하다고 스스로 느껴 Java에 대한 공부를 해보려 책을 알아보고 있습니다. 책을 선정하는데 있어 강사님의 추천을 받고싶어 질문남깁니다.무리가 안된다면 Java의 깊은 이해를 도울 책 추천해주신다면 정말 감사하겠습니다. 감사합니다.
-
uixu
- 서로 예의를 지--키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
3. 최대매출(Sliding window) 변수초기화 관련
class 내에서 field를 int 변수를 선언하면 0으로 초기화가 되어서 다른 값으로 초기화를 해주지 않아도 되지만, method 내에서 int 변수를 선언하면 초기화가 되지않은 int로 선언이 되어서, 0 혹은 기타 값으로 초기화가 필요합니다. 따라서 method 내에서 선언한 int변수를 초기화 없이 비교하거나 값을 더하거나 빼려고하면 초기화를 하라는 경고가 뜨는것입니다. 하지만 산술에 사용하는 것이아니라, 조건에 따라 삽입만 하는 경우에는 초기화가 따로 필요하지 않습니다.
-
[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
제로초님 강의 완강 후 질문입니다!
안녕하세요! 프론트 개발자를 희망하는 3학년 학부생입니다. 렛츠기릿 자바 스크립트 강의 다 듣고 다음은 제로초님의 어떤 강의를 들으면 될까요??(간단한 강의 커리큘럼 적어주시면 감사하겠습니다.)또 react vue중에 어떤 걸 선택해서 중점적으로 공부하면 더 좋을지도 여쭤보고 싶습니다!마지막으로.. 자바스크립트를 추가적으로 어떤식으로 공부하면 좋을지도 여쭤보고 싶습니다!!
-
AWS(Amazon Web Service) 입문자를 위한 강의
끄읕!
너무 좋았어요. 3일만에 완강해버렸네요 ㅋㅋㅋ 중급자코스도 어서 들어보려구요 정말 감사합니다. 도움이 많이 될거같아요
-
AWS(Amazon Web Service) 입문자를 위한 강의
aws 명령
로컬에서 AWS 명령은 AWS CLI를 깔아야 되는거네요. 그것도 모르고 aws 명령 안되서 헤매다가 찾았습니다.ㅠㅠ 혹시 막히신분들은 brew install awscli 설치하시고 해보세요.(맥북만~) 참고로 저는 맥북 m1 프로입니다~
-
스프링 핵심 원리 - 기본편
혹시 완성된 코드들을 깃에 올리시나요?
안녕하세요. 강사님 혹시 강사님께서 교육중 하셨던 코드들을 깃에 올리시지 않으신가요?
-
Java TPC (생각하고, 표현하고, 코딩하고)
도움이 많이 됩니다^^
자바에 대해서 깊이 알게 된 기분입니다. 지금까지 자바를 모르고 쓴 것 같네요. 도움을 많이 받아서 책도 참고해보려고 하는데요. 추천해주실 책 있으면 부탁드립니다. 감사합니다^^
-
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
하.. 너무 어려워용...ㅠ
파이썬 공부하던 학생인데 Player에서 frontX,Y rightY,X 이부분이랑 Update 함수안에서 _PosY = _points[_lastIndex].Y 이런부분 너무 어려워용 ㅜ
-
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
글꼴 추천합니다!
1~3강의 듣을 때는 VS2019에서 제공하는 기본글꼴 사용했는데 가독성 좋은 글꼴 찾다가 "Fira Code"라는 글꼴 사용해봤는데 정말 좋아서 공유하고 싶네요~(프로그래밍 합자도 지원해서 등호도 직관적으로 바뀌네요) 다른 수강자 분들도 호기심이 생기시면 한번 바꿔보세요~ URL: https://fonts.google.com/specimen/Fira+Code?preview.text_type=custom
-
실전! Querydsl
강의문서 오타 제보 드립니다.
안녕하세요 강사님 오타 제보 드립니다. 강의 문서 15 페이지 @OneToMany(mappedBy = "team") List<Member> members = new ArrayList<>(); private이 빠졌네요^^ 감사합니다.
-
실습 UI 개발로 배워보는 순수 javascript 와 VueJS 개발
강의에 자막
강의에 자막 기능은 없을까요? 자막기능도 있으면 좋을것 같아서요..
-
이미지 관리 풀스택(feat. Node.js, React, MongoDB, AWS)
대용량 이미지 서버 처리 및 저장 방식에 질문드립니다.
안녕하세요. 먼저 정말 좋은 강의 감사드립니다. 우선 제가 서비스하는 어플리케이션이 사용자가 한 번에 대용량 이미지를 올려야 하는 서비스입니다. 이와 관련해서 몇 가지 고견을 듣고자 글을 남깁니다. 우선 첫번째로, 1. 서버가 대용량 이미지를 받아서 전처리 과정을 해줘야 하는데 서버의 부하를 막기 위해서 운영서버/이미지 처리 서버를 분리하는것이 더 좋은 방법인지 조언을 듣고 싶습니다. 만약 운영서버 이미지 처리 서버를 분리하게 되면 저도 아직 해보진 않았지만 마이크로서비스 아키텍쳐라고 불리우는 작업들을 해줘야 할 것 같은데 꽤 복잡한 작업이 될 것 같아 걱정이 되긴 합니다. 2. 사용자가 올리는 이미지나 파일에 대해서 저장 방식을 다르게 가져가려고 하는데 예를 들어서 일반적인 이미지나 썸네일 같은 경우는 s3 에 저장을 하도록 하고 API 호출을 받아서 빠르게 읽어온 다음에 처리를 해줘야 하는 파일 같은 경우는 별도의 HDD 를 붙혀서 저장하려고 합니다. 괜찮은 방법인지 혹시 조언을 구하고자 질문을 드립니다. 그리고 대용량 이미지를 계속해서 저장해 나가야 하는 경우 s3 가 HDD 보다 더 효율적일까요? 제가 서버 아키텍쳐의 경험이 없어서 이미지 관련하여 처리를 어떤식으로 해줘야 할지 고민을 하다가 혹시 도움이 될 수 있을 것 같아서 질문드립니다. 감사합니다.
-
데브옵스(DevOps)를 위한 쿠버네티스 마스터
혹시나 진행하시는분들 중 timeout 관련 오류를 보신다면
Initial timeout of 40s passed. 또는It seems like the kubelet isn't running or healthy.를 보신다면, kubelet의 cgroup driver를 변경하는 것이 아닌, docker의 cgroup을 cgroupfs에서 systemd로 변경하는 것을 추천드립니다! kubelet cgroup을 변경하며 오류를 해결하려다 긴시간을 삽질하고 docker쪽을 변경해주니 바로 해결되네요.. docker cgroup 변경은 다음 링크에 자세히 나옵니다 https://stackoverflow.com/questions/43794169/docker-change-cgroup-driver-to-systemd