이야기를 나눠요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
진로적 고민입니다. 선생님 ㅠ 조언 부탁드립니다.
선생님 안녕하십니까 현직 프론트엔드 개발자로 2년차인 개발자입니다. 선생님 제가 백엔드로 전향하고자 하는 의지가 있어 고민되어 글을 남기게 되었습니다...현실적으로 공부만 하기엔 돈이 좀 문제이 이기도 해서선생님 강의로 준비를 해보려고합니다. 부트캠프같은 곳도 좋겠지만 시간 할당을 할수는 없고 일을 쉬는것도 부담인지라 ㅠㅠ 의지는 충만한데 이게 선생님 강의를 가지고 제가 취업을 할 수 있을지 앞으로의 조언이나 그런 방향성에 대해서 듣고싶어 이렇게 글을 남깁니다.현재 비공자 출신이여서 cs적 공부를 더하고싶어서 현재 방송대 컴퓨터 공학과에도 진학해서 학업 병행중인데 조언 부탁드리겠습니다 ㅠ
-
김영한의 실전 자바 - 기본편
안녕하세요 고민좀 들어주십쇼 ㅠ
일단 저는 안드로이드 앱 개발자를 목표로 하고있어요. 강의 내용에서 자바 스프링이란것이 중요하게 언급되던데 안드로이드 앱개발에도 쓰이는지 궁금합니다. 그리고 이제 무엇을 해야 할지 길을 잃었습니다 ㅠㅠ. 안드로이드 스튜디오로 간단한 앱 만드는 걸 무작정 따라해 보는게 좋을지 ..
-
2주만에 통과하는 알고리즘 코딩테스트 (2024년)
혹시 냅색문제의 경우 dp를 1차원으로 해결 할 수 있는 방법은 없을까요?
public class BOJ_12865 { static int N; static int K; static int[][] merchandise; // 0 : 무게, 1 : 가치 static int[][] dp; public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); K = sc.nextInt(); merchandise = new int[N][2]; dp = new int[10000000][N]; for (int i = 0; i < 10000000; i++) { for (int j = 0; j < N; j++) { dp[i][j] = -1; } } for (int i = 0; i < N; i++) { merchandise[i][0] = sc.nextInt(); merchandise[i][1] = sc.nextInt(); } int max = recursion(0, 0); System.out.println(max); } private static int recursion(int index, int weight) { if (weight > K) { return Integer.MIN_VALUE; } if (index == N) { return 0; } if (dp[weight][index] != -1) { return dp[weight][index]; } dp[weight][index] = Math.max(recursion(index + 1, weight), recursion(index + 1, weight + merchandise[index][0]) + merchandise[index][1]); return dp[weight][index]; }안녕하세요 덕분에 강의 잘 듣고 있는 수강생입니다. 냅색 문제를 풀고 있는데, 최대 가능한 무게의 경우 100 (배낭 물품의 최대 개수) * 100,000(각 물건의 최대 무게) 로 생각보다 생성해줘야하는 배열의 크기가 크더라구요. 그래서 혹시 dp를 1차원 배열로 생성하면 어떻게 되는 지 궁금하여 1차원 배열로 해본 결과, 무게를 고려하지 않고 dp의 무게 갱신을 하게 되어 답이랑은 다르게 나오네요. 혹시 1차원 배열을 시도하려고 할 때 제가 놓치고 있는 부분이 있을까요?감사합니다.
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
질문드립니다
안녕하세요! 스프링 입문편 듣고 있습니다 들으면서 이해가 가는 부분도 있고 어렵게 느껴지는 부분들이 있는데 이해갈때까지 입문을 돌려보는게 나을까요? 기본편을 결제해서 듣는게 나을까요? 기본편이 더 세세한 설명이 있는지도 궁금합니다
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
신입개발자 커리큘럼 고민
신입 개발자 입니다!다름이 아니라 제가 회사에서 아직 교육기간이라 선생님의 강의를 듣고있는데요,스프링입문 강의를 1회 완강을 해도 확실히 와닿지가 않아서 한 번 더 들을까 생각중인데..일단 진도를 쭉쭉 치고 나가는게 좋을지 아니면 스프링입문을 한번 더 듣고 기본편,HTTP… 이렇게 나가는게 좋을지 여쭤보고자 문의 남깁니다한달뒤에 교육이 끝나면 프로젝트에 투입되는 상황이라 고민이 됩니다..!
-
자바 ORM 표준 JPA 프로그래밍 - 기본편
db 테이블 생성
실제 운영서버에서는 jpa 자동 생성을 사용하기 보다는 직접 db에서 create table을 이용해서 생성하는 걸 권장하시는 건가요??
-
실전! Querydsl
일대다 페이징 방법
상품 이미지들 -> 상품 1대다 매핑관계에서 view에 페이징을 이용해 데이터를 호출하는데 여기서 기존 페이징 처리하는 코드를 응용해서 querydsl을 작성했을 때 productId 값이 productImage의 개수 만큼 row 수가 늘어나는 문제가 있는데 이건 따로 애플리케이션에서 중복 코드를 삭제하고 해야되는지 아님 다른 방법이 있는지 잘 모르겠습니다... Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter public class Products extends BaseTimeEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "productId") private Long productId; private String productName; private String productColor; private Float productSize; private Float productWeight; private String productOther; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "userId") private Users user; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "factoryId") private Factories factory; @OneToMany(mappedBy = "products") private List<ProductImage> productImage; @Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) public class ProductImage { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "imageId") private Long imageId; private String imagePath; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "productId") private Products products; @Builder public ProductImage(String imagePath, Products products) { this.imagePath = imagePath; this.products = products; } }
-
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
경력 이직 코테 준비
김태원님 JAVA 코딩테스트 대기업 IT 인프런 강의로 2주뒤쯤 온라인 코딩테스트 대비가 가능한지 문의드립니다.
-
실전! 스프링 데이터 JPA
JPA 프로젝트 성능테스트 환경 구축 질문있습니다.
강사님의 강의를 보고 Spring/JPA 토이 프로젝트를 만들고 성능 테스트를 진행해보려고 합니다.현재 프로젝트는 AWS EC2 프론티어 클라우드 서버에서 구동 중인데, 성능 테스트 시 aws를 이용하게 되면 부담스러운 비용이 발생할까봐 우려되었습니다.때문에 로컬 환경에서 가상머신을 띄우고 실구동환경의 컴퓨팅 자원과 동일하게 세팅한 뒤 테스트를 진행해보려고 하는데, 이러한 방식으로 진행한 테스트 결과가 실제 서버에 적용할 수 있을만큼 유의미한지 궁금합니다. 질문 읽어주셔서 감사합니다.
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
java 중급강의 언제나오나요?!
김영한님 java 중급강의가 24년 초에 나온다고 알고 있는데 3,4월쯤에 나올나요??
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
AOP 수강 중 에러.
질문탭으로 가야하는데 고민으로 작성했네요... 수정으로는 이동이 안되는데 이동 가능하다면 부탁드립니다.ㅠㅠ===========================================AOP 수강 중 에러가 발생했는데 어디를 건드려야할지 잘 모르겠어서 문의 남깁니다.우선 강의와 다른 환경으로 실습해보고 있어 조금씩 코드가 다릅니다.먼저 에러 메세지는 아래 2개입니다.org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberController' defined in file [D:\dev\java\hello-spring\out\production\classes\hello\hellospring\controller\MemberController.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'hello.hellospring.service.MemberService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'hello.hellospring.service.MemberService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}2번 메세지를 보게 되면 MemberService타입의 Qualifying 한 bean이 존재하지 않아 wiring 할수 없다는 에러인데. 스프링을 처음 해보는 입장에서는 그대로 따라 쳤는데 되지 않아 어떻게 더 수정해야할지 고민입니다.관련된 코드 블럭을 첨부 드립니다.SpringConfig.Javapackage hello.hellospring; import hello.hellospring.repository.*; import hello.hellospring.service.MemberService; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class SpringConfig { // private EntityManager em; private final MemberRepository memberRepository; public SpringConfig(MemberRepository memberRepository) { this.memberRepository = memberRepository; } // public SpringConfig(EntityManager em) { // this.em = em; // } @Bean public MemberService memberService(){ return new MemberService(memberRepository); } // @Bean // public MemberRepository memberRepository(){ //// return new MemoryMemberRepository(); //// return new JdbcMemberRepository(dataSource); //// return new JdbcTemplateMemberRepository(dataSource); //// return new JpaMemberRepository(em); // } }MemberService.Javapackage hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import hello.hellospring.repository.JdbcMemberRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Optional; @Component public class MemberService { private final MemberRepository memberRepository; @Autowired public MemberService(MemberRepository memberRepository) { this.memberRepository = memberRepository; } /* * 회원가입 */ public Long join(Member member){ //같은 이름이 있느 중복 회원X validatedDuplicateMember(member); memberRepository.save(member); return member.getId(); } private void validatedDuplicateMember(Member member) { memberRepository.findByName(member.getName()) .ifPresent(m -> { throw new IllegalStateException("이미 존재하는 회원입니다."); }); } public List<Member> findMembers(){ return memberRepository.findAll(); } public Optional<Member> findOne(Long memberId){ return memberRepository.findById(memberId); } } application.propertiesspring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver spring.jpa.show-sql=true spring.jpa.hibernate.ddl-auto=none spring.datasource.username=sagradleplugins { id 'java' id 'org.springframework.boot' version '3.2.1' id 'io.spring.dependency-management' version '1.1.4' } group = 'hello' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '21' } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' // implementation 'org.springframework.boot:spring-boot-starter-jdbc' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'com.h2database:h2' } tasks.named('test') { useJUnitPlatform() }MemberController.javapackage hello.hellospring.controller; import hello.hellospring.domain.Member; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import java.util.List; @Controller public class MemberController { private final MemberService memberService; @Autowired public MemberController(MemberService memberService) { this.memberService = memberService; } @GetMapping("/members/new") public String createForm() { return "members/createMemberForm"; } @PostMapping("/members/new") public String create(MemberForm form){ Member member = new Member(); member.setName(form.getName()); memberService.join(member); return "redirect:/"; } @GetMapping("members") public String list(Model model){ List<Member> members = memberService.findMembers(); model.addAttribute("members", members); return "members/memberList"; } } 감사합니다.
-
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트 환경에서 h2 db 를 사용하는 경우 실용성에 대하여
테스트 환경에서 h2 메모리 db 를 사용하는 방식에 대한 실용성 관련 고민이 있습니다. 프로젝트를 진행하다보면 기본적으로 orm 기반으로 구현을 하지만 일부 예외적인 기능들은 특정 dbms 에 의존적인 쿼리를 직접 실행하는 경우가 불가피하게 발생하는 듯 합니다. 이 경우 특정 dbms(예를들어 mysql) 에 대한 의존성이 발생할 수 밖에 없는데요. 이때 운영 dbms 와 다른 메모리 db(h2) 를 사용하여 테스트를 작성하게 불가능해지고 결국엔 실환경과 동일한 테스트용 db 를 세팅하는식으로 다시 변경하게 되는 듯 합니다. (결국 메모리 db 를 이용한 간단한 테스트를 사용할 수 없는 상황) 실무적인 차원에서 이런 경우 보통 어떤 방식으로 해결하는게 최선일지 궁금합니다.
-
김영한의 실전 자바 - 기본편
강의 수강 질문
안녕하세요 현재 김영한님 자바 강의까지 다 수강하였고 spring 강의를 들을 예정입니다. 김영한님 스프링을 db관련 강의가 있는데 이 강의를 수강 하기전에 mysql과 같은 강의를 수강하고 기본적인 쿼리를 짤 수있는 상태에서 spring db강의를 들어야 하나요??김영한님 강의중에 db(mysql,MongoDB)자체에 대한 강의는 없는 것 같아서 따로 다른걸 수강해야하는지 알고싶어서 질문합니다.
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의 소스 코드
현재 자바 기본편까지 듣고 스프링 입문 강의 수강 중입니다. 학업에 있어 건의드릴 사항이 있는데 강의 소스코드가 있었으면 좋겠습니다. 스프링 로드맵을 따라 쭉 공부할 예정인데 이 강의의 다음 강의인 스프링 핵심원리 기본편에도 강의 소스코드가 없는 것 같아 말씀드립니다.감사합니다.
-
김영한의 실전 자바 - 기본편
스프링 입문 강의 듣기 전 어디까지 들어놔야 하나요?
스프링 입문 강의 시작 전에 김영한 님의 자바 문법 강의 중급, 고급까지 다 듣고 나서 들어아하나요? 아니면 이 실전 자바 기본편 학습 후에 바로 넘어가도 무방한가요?
-
김영한의 실전 자바 - 기본편
감이 없는 개발자의 진로
김영한 선생님의 자바 기본까지 수강했습니다. 백문이 불여일타 무한 반복하며 공부하고 있으나부끄럽지만, 냉정하게 따졌을 때 개발자로 감이 없다고 결론이 섰습니다. 그럼에도 현재 행정직으로 근무하며 열악한 대우(상승률 없는 급여) 등희망이 없다고 판단해, 개발자로 직종을 전환할 예정입니다. 선생님께서 동기부여 1~3탄, 주니어 개발자 관련 인프런 특강 등을 통해개발 자체를 즐기고, 자발적으로 공부를 계속 해야하는 영역이라고 하셨는데요. 저의 고민은추후 자녀 양육 등 개인적인 상황으로 인해퇴근 후 고정적으로 기술 향상에 시간을 투자가 어렵다는 점입니다. 감이 없는 개발자이면서, 실력 향상을 위한 시간투자에 제약이 있는 경우장기적으로 어떤 개발 분야의 진로와 회사가 현명할지 조언 구하고 싶습니다. 크게는 사기업(si, sm 등) 또는 공기업부터 고민입니다.현재 공공기관에서 n년차로 재직 하며같은 회사 전산직렬을 보며, 행정직도 할 수 있는 일이라는 카더라를 듣곤 하는데요. 공기업 it직렬은 어떤 기술적 강점을 가지고 있어야 하는지사기업이 원하는 개발 자체 실력에 비해서는 공기업은 개발 외 부수적인 능력이 더 강조되는지 궁금합니다. 또 백엔드 개발자를 준비하면서, 안정적인 회사 생활을 위해서는어떤 기업 분야 또는 세부 포지션이 적합할지 조언을 구할 수 있을까요? 최근 찾아본 회사 중 1개를 언급하자면 XX의 경우 너무 안정적여서 성장(이직)을 위해서는 사이드 프로젝트를 따로 해야한다고 하는데저는 성장이 다소 정체되더라도 안정적인 환경의 회사를 원하는 거같습니다. 저는 만 나이로 20대 후반 기혼 여성이고, 비전공자로 작년 it분야에 입문하여한해 동안 정처기, sqld, adsp를 취득했고, 학은제로 컴공학사를 취득했습니다. 퇴근 후, 김영한 선생님 강의로 공부하고 있으며안정적으로 자기계발에 활용 가능한 기간은 약 3년 매일 3시간 가량입니다.
-
김영한의 실전 자바 - 기본편
이대로 학습해도 되는지 고민입니다. 퇴사..?
재밌게 학습중입니다. 기존에 짧은 시간에 다 때려박고 대충 넘어가는 학원에 다녀서 그런가 혼자 공부할 때 학습 속도가 느리다는 느낌이 종종 듭니다.상황1. 개발과 무관한 직장 생활중2. 하루 1~3시간 학습3. 회사 문제로 매일 공부 못할 때가 종종 있음.현재 학습 프로세스강의 시청중간 중간 멈추면서 따라쳐봄이해 안 간 부분 돌려보기이해한 내용 바탕으로 나한테 알기 쉬운 단어, 상황으로 코드 재작성하여 블로그에 글 남기기 다음날 일부 내용 복습1~5 반복이런 과정 반복하다 보니20분짜리 강의에 1시간~ 2시간 정도 시간이 들어가고 있습니다. 강의를 12월 샀는데 이제 '상속' 보고 있네요..개발자가 너무 되고 싶은데공부 시간 부족계속 들리는 경기침체, 칼바람 부는 채용시장서른 중반을 바라보는 나이..결국 선택은 제가 하는 것이기에 답을 구하진 않겠습니다.조언 좀 부탁드립니다.
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
로드맵에서 알려준 첫 챕터강의를 보고있습니다.
그런데 정말 무슨 내용인지 잘 모르겠습니다. 자바 입문 교제 공부 를 끝내고 자바 웹 백엔드 공부를 하고 싶어서 찾아 보았는데 자바 웹 백엔드 공부를 하려면 스프링은 필수라고 하여서 수강 중인데 내용 이해가 잘 안됩니다. 이럴땐 일단 완강부터 한 후 에 다시 들어봐야 하나요 너무 힘듭니다.
-
실전! 스프링 데이터 JPA
SSR 시 HTTP Patch 메소드는 redirect를 수행할 수 없나요 ?
@RequestMapping(value = "blog/{blogId}/poster/{posterId}/edit", method = RequestMethod.PATCH) ResponseEntity<String> editPoster(@PathVariable(required = false) Long blogId, @PathVariable(required = false) Long posterId, @ModelAttribute PosterDto posterDto, Model model) throws URISyntaxException { categoryService.findCategoryAndAddToModel(blogId, model); posterService.updatePosterByDto(posterId, posterDto); String redirectUrl = "/blog/" + blogId + "/poster/" + posterId; System.out.println("redirectUrl = " + redirectUrl); // 리다이렉션을 원하는 경우 URI location = new URI(redirectUrl);// 새로 업데이트된 리소스의 URI 생성; return ResponseEntity.status(HttpStatus.SEE_OTHER).location(location).body("Resource updated successfully"); } 안녕하세요 JPA주제는 아니지만 아무리 찾아봐도 안떠서 여기에라도 질문을 올립니다..일단 제가 하고있는 프로젝트는 서버사이드 렌더링으로 타임리프를 사용하고있습니다.영한님의 MVC 강의 중 PRG(Post Redirect and Get) 기법을 사용하는 것을 보고 항상 Post method로 데이터를 수정하고 redirect 하는 컨트롤러를 만들었습니다.어느날 Patch 나 Put 이 데이터를 수정하는데 쓰이는 HTTP method라는 말을 듣고 Patch나 Put을 사용한 후 리다이렉트를 해줬는데 리다이렉트가 안되는 문제가 발생하였습니다.구글링을 해봐도 Patch 후에 redirect 하는 방법은 거의 나오질 않고 gpt한테 물어보니 저런 방법을 쓰라고 해서 썼지만 화면이 전환되지 않는 문제가 있었습니다.Patch method 는 redirect를 할 수 없는지 그렇다면 redirect 를 사용한다면 Post method 를 사용하는 것이 좋은지 궁금합니다.
-
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
김영한 강사님 궁금한 부분이 있습니다
저는 현재 전공자로 백엔드 개발자를 꿈꾸고 있고 김영한 강사님의 강의로 혼자 독학을 하고 있는 중입니다. 우선 목표로는 내년 우아한테크코스에 지원을 할 생각인데 지금 현재 인프런에 올라와있는 로드맵이 총 3개가 있던데 그 순서대로 로드맵을 모두 듣고나면 충분히 우하한테크코스에 합격할 수 있을까요?추가적으로 프로젝트는 어떤 식으로 해야 할지 궁금합니다 강의 보면서 혼자 진행해도 포트폴리오를 만들기에 충분할지 궁금합니다.