이야기를 나눠요
147만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
순위 정보를
불러오고 있어요
-
백엔드 개발자 성능 개선 초석 다지기
부하테스트는 배포 환경에서 하려면 어떻게 해냐하나요?
현재 로컬에서 강의 내용에 나온대로 부하테스트를 돌려봤는데요. 이걸 바탕으로 AWS EC2에 배포하고 부하테스트를 해보려고 합니다. 하지만 현재 프리티어를 사용하고 있어 비용문제는 어떻게 되는지가 궁금합니다. 여기서 궁금한 부분은 다음과 같습니다. EC2 환경에서도 똑같이 하면 되는건지?트래픽을 보내면 요금이 청구될텐데 어떻게 해야하는지?
-
김영한의 실전 자바 - 기본편
스프링 넘어가기 전에 들어야할 로드맵 질문
원래는 실전편 듣고 스프링을 수강하려고 했는데요최근에 선생님께서 중급편 강좌도 업로드하셨던데, 그것까지 마치고 넘어가는게 맞을까요?
-
백엔드 개발자 성능 개선 초석 다지기
학습한 내용을 바탕으로 부하테스트를 하려는데 고민이 있습니다.
안녕하세요. 강의 잘 들었습니다.이제 강의 들은 내용을 참고하여 현재 개발중인 서버의 부하 테스트를 진행해보려고 하는데 고민이 있어서 질문을 남김니다.현재 하려는게 spike test인데 vUsers 몇명에 duration을 어떻게 설정하고 해야할지 감이 안옵니다. 현재 사용하고 있는 툴은 nGrinder이고 시나리오 테스트를 통해서 진행하려고 하는데 아직 초보 개발자라 주변에 물어볼곳도 없고 하여 이렇게 글을 남깁니다.보통 vUsers를 어떻게 잡아야할까요? 그냥 점진적으로 증가시키는 부하 테스트를 통해서 찾은 최대 수용 유저 수를 가지고 해야할까요? 그리고 시나리오 테스트 하려는 서비스가 결제부분인데 현재 PG사 기능을 mock server처리 하였는데 실제로 이렇게 진행하는게 맞을지도 궁금합니다.아직 초보 개발자라 부족한게 많은데... 답변 부탁드립니다 ㅠㅠ
-
김영한의 실전 자바 - 중급 1편
OpenJDK 버전 업데이트에 대한 문의 드립니다.
영한님 안녕하세요!입문, 기본편에 이어 따끈따끈한 중급편을 수강중인 수강생입니다. https://openjdk.org/projects/jdk/22/위 링크에서 보면 OpenJDK 22버전이 2024. 03. 19에 출시되었습니다.그래서 IntelliJ 에서도 OpenJDK 22 버전이 기본으로 선택되도록 변경되었더라구요.정확한 이유는 모르겠지만 OpenJDK 구버전은 UI에서 제공하지 않는 것 같습니다. 강의를 수강하는데 버전업에 따른 문제는 크지 않을 것 같지만, 강의에서는 특정 버전이 명시되어 있어서..최신 버전 호환에 대한 말씀은 따로 없으셔서 한번 언급해주시면 좋을 것 같아서 문의 남깁니다! [2024. 03. 28 - 기본 버전이 22][21버전 선택해도 Oracle OpenJDK 21은 없음]
-
[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
백준 사이트
원래는 프로그래머스에서만 풀다가 이번에 처음 백준 사이트를 이용하는 중입니다. 프로그래머스와 달리 테스트 케이스 테스트 해보기도 너무 어렵고 실수한 곳을 찾아내기가 너무 어려운데 혹시 추천하는 방법 있으신가요?혹시 코드 답은 따로 안 올려주시나요? 강의 페이지에 한번에 들어오지 않아 일일이 비교해가면서 정답을 맞추기 어렵습니다.
-
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
비전공자 고민입니다ㅠㅠ
안녕하세요 선생님 진로 고민과 궁금증이 있습니다.우선 저는 비전공자입니다ㅠㅠ백엔드 개발자가 되고싶은데 인터넷에 검색하고 찾아봐도 어떤 순서로 공부를 해야할지 잘 모르겠습니다..독학으로 할 생각입니다..우선 java를 듣고 spring를 순서로 듣는다고 하는데 python도 들어야한다고 하고 api랑 jpa, DB도 있다고 알아봤습니다.또 찾아보니 c언어를 먼저 공부하라고 나와있기도 하고..오히려 너무 많은 정보로 혼란스럽습니다ㅠㅠ어떤 걸 먼저 공부하고 순차적으로 어떤 언어와 커리큘럼으로 해야하는지 알려주세요ㅠㅠ너무 복잡해서 api랑 jpa도 자바랑 같은 언어인건지.. 너무 헷갈립니다.가야할 길을 알고 갈 수 있게 도와주세요ㅠㅠ
-
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
OpenJDK 64-Bit Server VM warning 해결하는 방법인데, 제가 맞게 해결한건가요?
프로젝트 설정:Java 17 (amazon correto 17), Gradle-Groovy, Spring Boot 3.2.3저도 다른 분들과 비슷하게 위의 OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 경고 메시지가 발생했습니다.물론 경고 메시지여서 치명적이지 않고 무시하도 된다고 하셨지만, 빨간 메시지가 꺼림찍하여 해결방법을 찾아보던 중 아래의 두 글을 읽고 해결방법을 찾긴 했는데, 제가 맞게 설정한 것인지 정확하게 모르겠어서요. 제가 맞게 해결한 건가요? JVM 아규먼트 설정만 해도 경고 메시지가 발생하지 않아서, 병렬 실행 설정은 주석 처리 해놨는데, 병렬 실행 설정도 해야 하는 걸까요? 도움 부탁드립니다..ㅠㅜ참고한 글:https://github.com/mockito/mockito/issues/3111 https://stackoverflow.com/questions/77512409/adding-xshareoff-jvm-arg-break-jacoco-maven-plugin-setup설정한 build.gradle 파일tasks.named('test') { useJUnitPlatform() jvmArgs '-Xshare:off' // JVM 아규먼트 설정 // maxParallelForks = Runtime.runtime.availableProcessors() // 병렬 실행 설정 }
-
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
실제 개발할 때의 마음가짐에 대해 질문드립니다.
Q. 실제 개발시에는 메서드가 하나 추가될 때마다 테스트해줘야 하는 것 맞을까요?강의 상에서는 Order, OrderItem 코드 작성하시는 순서가 되게 유기적으로 매끄럽게 구성되어있는데요. 실제 코드 작성할 때는 실수도 나올 수 있고, 특정 메서드에 어느 클래스에 위치해야하는 게 좋을지에 대한 고민같은 것이 동반될 것 같다는 생각이 들 것 같다는 생각이 듭니다(실제로도 그래왔던 것 같구요).좋은 강의를 수강하다보니 새로운 상황을 혼자 맞이할 때 막막한 순간에 어떤 마음가짐을 가져야할 지 고민이 되어 질문드립니다.p.s) 지금은 열심히 완강을 향해 달려가고 있는 중이라 강의평을 남기지 못하고 있는데, 여유가 되면 감사 인사 꼭 드리도록 하겠습니다. 항상 고마워요 영햔님....
-
김영한의 실전 자바 - 기본편
대학교 휴학생 고민이 있어요
안녕하세요, 대학교 4학년 휴학생입니다. 현재 저의 상태는 프로그래밍 언어로 자바와 mysql db만 조금 다룰줄 아는 상태입니다. 졸업을 하기 위해선 졸작을 준비해야하는데 저의 개인 능력 부족으로 휴학을 한 상태고휴학하면서 공부를 어떻게 해야할까 하다가 김영한선생님의 강의를 접하게 되었습니다.그런데 자바 공부만 해봤지 아직 스프링을 해보진 않았지만 졸업작품을 해야하는데 감이 잘 안잡힙니다. 저에겐 6개월이라는 시간이 있는데 개발자님이 만드신 로드맵을 천천히 해보면 졸업작품주제, 졸업작품을 만들수있는 개발 실력이 될까요?구글이나 네이버 자료를 찾아봐도 잘모르겠고 조금 답답한 마음에 고민을 풀어봅니다.
-
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
진로적 고민입니다. 선생님 ㅠ 조언 부탁드립니다.
선생님 안녕하십니까 현직 프론트엔드 개발자로 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
일대다 페이징 방법
삭제된 글입니다
-
자바(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"; } } 감사합니다.
주간 인기글
순위 정보를
불러오고 있어요