이야기를 나눠요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
김영한의 실전 자바 - 중급 1편
배열 고속 복사
코테 시 배열 고속 복사가 그럼 더 최적화가 좋을까요?
-
김영한의 실전 자바 - 기본편
프로젝트
자바를 배우고 나서 실무에 적용할 수 있는 능력을 기르고 싶습니다. 프로젝트를 하면서 백엔드 개발자 커리어를 타고 싶은데 김영한 강사님 스프링 강의에서 프로젝트를 진행하나요??프로젝트는 어디서 구하고 시작할 수 있을까요?
-
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
김영한 선생님 진로, 학습 관련 고민이있습니다.
선생님, 현재 it관련 학과에 재학 중인 2학년 군필 남학생입니다. 좋은 강의 제공해주셔서 항상 감사드립니다!!! 몇가지 질문사항이 있어서 글을 쓰게 되었습니다. 선생님께서 현재 취업시장이 백엔드 70프로 프론트 20프로 모바일10프로 라고 하셨는데 수요 대비 공급을 고려해도 단순 수치상으로 봤을때 백엔드가 프론트보다 3배가량 취업이 쉬운건지 궁금합니다. 또한 이 3가지와 비교하여 인프라직군(클라우드 등)들의 수요는 어떠한지 궁금합니다. 3학년이 되기전에 다양한 기술을 경험해보려하는데 보안,웹,앱 등 모든 기술을 다 경험하는 것은 어렵다 판단하여 취업시장에서 수요가 충분하지 않은 기술들(모바일 등)은 학습 우선순위에서 미루려고 합니다. 이러한 전략이 적절한지 궁금합니다. (추가적으로 방학동안 프로젝트외에 공부하면 좋을 cs지식(자료구조 알고리즘 제외)이 무엇이 있을지 여쭙고 싶습니다) 긴 글 끝까지 읽어주셔서 감사합니다.
-
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
다음 자바강의는 어떤 강의를 들어야할까요??
입문 강의 거의 막바지를 달려가고있는데다음 자바 강의는 중급으로 들으면 될까요?아니면 기초강의를 들으면 될까요?(다른 언어는 html, css, kotlin을 배웠습니다)
-
스프링 핵심 원리 - 기본편
계속 진행해야하나 고민입니다...
스프링 입문 처음으로 한번 다 듣고 스프링 기본편 듣는 중인데 내가 이걸 왜 따라서 만들고 코딩하고 있는지 모르겠고 그냥 영상보면서 계속 따라서 코딩중입니다... 제가 아직 처음이라 그런건지 힘들고 어렵네요 ㅠㅠ
-
스프링 핵심 원리 - 기본편
spring 처음 접근하는 대학생
안녕하세요 현재 3학년에 재학중인 대학생입니다이번 여름방학때 백엔드 자바-스프링으로 진로를 정하고강의를 듣기 시작했습니다. 하지만 김영한님 강의가 1타 강의라고 알고 있는데 전체적인 이론인 의존관계나 컴포넌트, 빈 같은것은 이해가 되지만코드 하나하나가 이해가 가질않습니다. gpt도 이용해서 코드를 분석하고 있는데요시간이 가면 갈수록 강의에서 작성하는 코드가 길어져 분석이 불가능 해지고 있습니다초반엔 이론만을 위주로 이해해도 코드가 어느정도 머리속에 들어왔는데 나중가서 코드를 이해못하니 이론도 이해가 어려워지더군요 ㅠㅠ학교에서는 자바 기본 문법밖에 안배우고 백준을 자바로 풀고 프로젝트도 안해봤는데 지금 제가 이 강의를 듣기에는 너무 이를까요?아니면 제가 이 강의의 코드를 이해하고 코드 작성을 따라가기 위해 도움될만한 방법이 있을지 궁금합니다
-
스프링 핵심 원리 - 기본편
영상 마지막에 Test 파일 오류
사실 질문이 아니라 정보를 공유해 드리고 싶어서 글 올립니다마지막 영상에서 test 파일을 한번에 실행시킬때 저처럼 오류가 나는 분들이 있을텐데 이는 jdk21 버전을 사용하였을때 나는 오류입니다 gpt를 통해 답을 얻어내고 해결했으니 참고바랍니다 ㅎㅎMockito와 Byte Buddy 개요Mockito: Java 애플리케이션 테스트에서 객체의 모킹을 위해 널리 사용되는 라이브러리입니다. 모킹은 실제 객체 대신 가짜 객체(Mock)를 사용하여 테스트를 수행하는 기법입니다.Byte Buddy: 바이트코드 조작을 통해 동적으로 클래스와 메서드를 생성 및 수정하는 라이브러리로, Mockito는 이 라이브러리를 사용하여 모킹 기능을 구현합니다.문제 원인 및 해결 방법문제 원인Java 21 버전에서는 이전 버전들과 달리 일부 내부 API가 변경되었을 수 있습니다. 이는 특정 라이브러리가 동적으로 클래스 로딩을 하거나 바이트코드를 조작하는 방식에 영향을 줄 수 있습니다.동적 에이전트 로딩 문제: 새로운 Java 버전에서는 동적 에이전트 로딩이 제대로 지원되지 않거나 제한될 수 있습니다. 이는 Byte Buddy가 사용하는 기법 중 하나로, 클래스 로딩을 동적으로 변경하는 데 사용됩니다.해결 방법최신 버전 사용: Mockito와 Byte Buddy의 최신 버전은 새로운 Java 버전에서 발생할 수 있는 문제를 해결하기 위해 업데이트됩니다. 최신 버전에서는 최신 Java의 변경 사항을 반영하여 호환성을 보장합니다.최신 버전은 버그 수정, 성능 개선, 그리고 새로운 기능을 포함하여 더 안정적으로 동작합니다.특히 Byte Buddy는 Java의 내부 구조 변화에 대응하기 위해 자주 업데이트됩니다.구체적인 해결 과정의존성 업데이트: build.gradle 파일에서 Mockito와 Byte Buddy의 최신 버전으로 의존성을 업데이트했습니다.groovy코드 복사dependencies { testImplementation 'org.mockito:mockito-core:4.0.0' testImplementation 'net.bytebuddy:byte-buddy:1.12.6' testImplementation 'net.bytebuddy:byte-buddy-agent:1.12.6' }최신 버전의 장점:버그 수정: 최신 버전에서는 이전 버전에서 발생한 다양한 버그들이 수정되었습니다.호환성: 최신 버전은 Java 21과 같은 최신 Java 버전과의 호환성을 보장합니다.성능 개선: 최신 버전에서는 성능이 개선되어 더 빠르고 안정적인 테스트를 수행할 수 있습니다.결과: 최신 버전을 사용함으로써, Java 21에서 발생하던 동적 에이전트 로딩 문제와 관련된 오류가 해결되었습니다. 이는 최신 버전이 Java 21의 변경 사항에 맞게 적절히 대응했기 때문입니다.결론적으로, 라이브러리의 최신 버전을 사용함으로써 새로운 Java 버전과의 호환성 문제를 해결할 수 있었던 것입니다. 최신 버전의 라이브러리는 일반적으로 더 나은 안정성과 성능을 제공하며, 최신 환경에서의 호환성을 보장합니다./*1. Mockito 및 Byte Buddy 최신 버전 사용 사용 중인 Mockito 및 Byte Buddy 라이브러리의 버전을 확인하고, 최신 버전으로 업데이트합니다. 최신 버전은 최신 JDK와의 호환성을 더 잘 지원할 수 있습니다. build.gradle 파일에서 의존성을 최신 버전으로 업데이트하세요:*/ dependencies { testImplementation 'org.mockito:mockito-core:4.0.0' testImplementation 'net.bytebuddy:byte-buddy:1.12.6' testImplementation 'net.bytebuddy:byte-buddy-agent:1.12.6' }
-
스프링 핵심 원리 - 기본편
어떻게 공부 해야 할까요.
4줄 요약저는 프로그래밍 초보자로, 회사에서 스프링과 Vuejs를 공부하라는 지시를 받았습니다.하지만 자바의 기본 지식이 부족해 강의를 따라가기 어렵습니다.현재 학업, 스프링, Vuejs, 빅데이터 대회준비를 동시에 진행하고 있어 시간도 부족합니다.자바로 돌아가서 기초를 쌓아야 할지, 스프링 진도를 계속 나가야 할지 고민입니다.주서.저는 눈 가리고 귀 막은 상태로 강의를 듣고 싶지 않습니다,저는 오래 산업에 종사하신 분들의 현실적인 조언이 필요합니다.안녕하십니까.곧 인턴으로 투입되기 위해 강의를 듣고 있는 얼리어잡터입니다. 제 배경은 이렇습니다. 객체지향프로그래밍 경험은 이 스프링 강의 속 코드를 보며 따라친 게 처음입니다. 회사에선 자바의 기본적인 문법만 공부하고 바로 스프링으로 들어가라고 하였습니다. 저는 학교에서(대학교가 아님) 수업들은 C와 Python의 경험을 토대로 자바의 겉 부분을 공부하고 스프링으로 넘어오게 되었습니다. 헌데 제가 자바의 겉 부분을 제가 잘 못 핥았는지 지금까지 들은 강의 내용을 전부 이해한다는 생각이 전혀 안들어 인턴인데 첫 회사 업무를 잘 수행 할 수 있을지가 의심이 들었습니다. 지금 제일 조언이 필요한 부분은 학업, 스프링, Vuejs, 빅데이터 대회 전부를 동시에 진행하고 있는데요현재 자바도 잘 모르는데 final 이든 데이터 구조든 처음 보는 골뱅이 @Test 이런 것이 자바에서 어떻게 동작하는지 잘 몰라도 시간이 2개월 정도 밖에 남지 않았으니 그냥 스프링 진도를 나가는 것이 맞는지아니면 스프링은 일단 접어두고 제대로 기초 공사 자바부터 차근차근 철근을 하나씩 박으면서역량을 쌓기 위해 자바로 돌아가야 할지, 현업에 오래 종사하신 분들의 조언이 필요합니다
-
김영한의 실전 자바 - 중급 2편
로 타입쓰는 팀원, 제네릭 사용 어떻게 설득할까요?
안녕하세요.로 타입을 쓰는 팀원에게 어떻게 제네릭을 쓰자고 잘 설득할지 고민입니다. 20년, 10년 전의 레거시 코드를 유지보수하고 있습니다.현재 사용중인 JDK는 1.6인데요. 그러면 객체 생성 시 할당하는 곳에서 생략하는 건 못해도 제네릭 자체는 쓸 수 있잖아요. 로 타입은 기본이요, 제네릭을 List<Map> 까지만 쓴다거나, 아예 그냥 자료구조를 따로 만들어서(?) 사용하더라고요. 그래서 최근에 제네릭을 쭉 여러 서적과 강의를 보면서 공부하고 있긴 한데, 거대한 레거시 코드라 한 번에 고칠 수는 없고... 그렇다고 팀원에게 강요하는 건 그릇된 개선이라고 봅니다. 어떻게 하면 제네릭을 잘 도입할 수 있을까요? 제가 공부를 정말~ 많이 하는 방법밖에 없는 걸까요? 제네릭 한 번 쓰면 코드의 양이 확 줄텐데 말이죠...그러면 유지보수도 편해지고 좋을텐데...🥺
-
스프링 핵심 원리 - 기본편
강의 내용 참고해서 교육 동영상을 만들어도 괜찮을까요?
안녕하세요 저는 강사님 커리큘럼을 따르고 있는 학부생입니다.학교 전공수업에 오픈소스 교육자료를 만드는 과제가 있습니다소프트웨어 툴, 개발 도구 등에 대한 동영상 강의를 제공하는 비영리의 관련 학교 채널 유트브에 올라갈것이며 동영상에는 (CC BY-NC 4.0) 라이센스가 적용되어 올라갈것 같습니다이 동영상에서 스프링의 기초적인 내용을 설명하기 위해 제가 배웠던 강사님의 강의내용을 바탕으로 30~40분 분량의 관련 교육 영상을 만들고 싶습니다. 물론 강의내용을 그대로 사용하지않고 부분부분 배운내용을 기반으로 요약하는 식으로 영상을 만들 생각입니다김영한 강사님 강의의 ppt 자료는 사용하지않고 따로 제가 만들어서 사용할 것 이지만 강의에서 사용된 예제 코드(member service예제) 및 배운내용을 사용해도 저작권에 문제가 없을지 출처를 남겨야한다면 동영상에 어떤식으로 출처를 남기면 좋을지 문의드립니다
-
자바스크립트 비기너: 튼튼한 기본 만들기
키노트 관련 질문
선생님 자바스크립트 전체강좌 결제햇는데요..비기너에서는 키노트 설명을 다운받을수있는데나머지 3개강좌에서는 키노트 설명 다운이 없는 것 같아서요.. 키노트 설명을 다운받을수는 없을가요??
-
자바스크립트 비기너: 튼튼한 기본 만들기
아 한달동안 고민하다가 드뎌 결제했네요..
선생님 예전에 실강도 들었다가 중간에 포기했는데인강 한달동안 고민하다 신청했어요.. 올핸 자스 꼭 정복해볼게요..
-
김영한의 실전 자바 - 중급 1편
스프링 강의를 듣기 위한 조건
안녕하세요 자바 초급에 이어서 자바 중급1편까지 완강한 수강생입니다우선 항상 양질의 강의를 올려주셔서 정말 감사드립니다!스프링을 수강하기에 앞서 자바편을 듣는 것인데, 아직 컬렉션, 제네릭, 람다 등이 학습이 되지 않아 스프링 강의는 미뤄두고 있습니다 (정확히 모르는 개념이 있으면 강의의 몰입도가 떨어지는 제 성격 때문이 큽니다) 여기서 고민이, 자바 중급2편이 곧 올라올 예정이고 여기서 컬렉션과 제네릭은 다뤄주신다고 말씀해 주셨는데 람다의 경우는 다른 책이나 강의를 통해 공부를 진행하고 스프링을 공부해야 할까요? 아니면 자바 중급까지만 잘 들어놓으면 바로 스프링으로 넘어가도 될까요? 의견 부탁드립니다! (자바 중급만 듣고 바로 스프링 넘어갈 경우에도 람다에 대해서는 아주 간단하게라도 공부는 할 예정입니다)
-
김영한의 실전 자바 - 중급 1편
코드에 익숙해 질려면 어떻게 해야 하나요?
안녕하세요. 코드에 익숙해 지는 방법이 궁금하여서 질문을 남깁니다. 저가 문제 풀이를 하다보면은 저가 하던 방식으로 하는경우에는 실패하는 경우가 많더라고요.그래서 공식 서포터즈님들이나 영한님의 코드를 배껴서라도 풀어야 하는데,문제는 시간이 흐르면 다시 저의 방식으로 하고 있다는것을 생각하게 됩니다.이런 경우 어떻게 해야 영한님의 코드나 공식 서포터즈님들의 코드에 최대한 빨리 익숙해 지는 방법은 무었인가요? 계속 따라 치는거 밖에 방법이 없는건가여?답변 부탁드립니다.
-
김영한의 실전 자바 - 기본편
엇 다음으로 못갈 것 같아요
접근제어자 문제와 풀이부터 갑자기 멍해지는데저만 그런가요?이러다 다음으로 못 갈 것 같은데...
-
김영한의 실전 자바 - 기본편
스프링 입문 강의로 넘어가기 전에 배워야 할 자바 개념
아직 중급 2 이상이 안 나온 상황에서 입문 - 기본 - 중급1을 들었다고 할 때, 이 개념은 스스로 학습하고 스프링 넘어갔으면 좋겠다 하시는 개념이 있으실까요???
-
나도코딩의 자바 기본편 - 풀코스 (20시간)
강의를 완강하고 부족한 부분때문에 고민입니다.
먼저 강의를 완강했으나 인터페이스 부분외 이런저런 부분에서 확실하게 배워지지않았습니다.반복해서 시청했는데도 잘 안되네요. 실전에서도 이렇게될까봐 걱정인데 이 강의의 내용을 안보고도 혹은 다른 자료를 참고하지 않을정도로 완벽하게 코드를 짤 수 있을정도로 다시 노력을 해야할지단순히 하다가 기억이 안나면 자료를 찾는 방향으로 나아갈지 조언을 부탁드립니다.
-
스프링 핵심 원리 - 기본편
이 구간에서 발견 할 수 있었던것 정리해봤어요! 혹시 어떤 것들이 있으셨나요?
[ 깨달음 ] - 역할과 구현의 효과를 체감=> 역할: BeanDefinition 정보 생성==> 구현: 무엇을 가지고 BeanDefinition 생성- BeanDefinition을 보면 Bean 생성 시 무엇을 정의 할 수 있는지 알 수 있다=> Scope, lazyInit 등등- factory method를 쓰는 annotation config는=> 빈 정보에 factoryBeanName = config name, factoryMethodName = 생성 method 이름 이 붙음 [ 생각과 느낌 ] - 코드 작성에도 교양이 있으면 낭만이 있다- 직접 BeanDefinition 을 만들다니 우와
-
스프링 핵심 원리 - 기본편
노트 정리해보았습니다! 혹시 필요하신 분 있으실까요?
[ 배움 ]- ApplicationContext는 BeanFactory의 자식이다=> ApplicationContext는 부가 기능 제공 - ApplicationContext 부가 기능=> 여러 인터페이스의 묶음==> 메시지 소스:===> 메시지의 국제화 등==> 환경 변수: ===> 환경 변수 사용 등==> 이벤트:===> 이벤트 발행 등==> 리소스:===> 리소스 파일 열기 등 - 스프링 컨테이너=> 실제 클래스가 아니라 개념이다 [ 생각과 느낌 ]- 인터페이스가 많이 분리된 경우를 많이 봤는데=> 그 이유가 역할의 분리에서 나온 것이었구나 - 환경 변수 어떤 기준으로 쓸까?=> 환경에 따라 값을 다르게 하기 위해 사용==> 즉, 이 값을 환경 변수로 둬야 할까의 기준은 어떤 환경에 쓰는가에 달라지냐 여부===> 예: 환경 별 달라지는 사용 데이터베이스 - 여러 환경을 두려면=> 테스트 등 을 위해 따로 DB 등 서버를 띄워야 하고==> 그만큼 많은 하드웨어 리소스도 많이 필요하겠구나
-
스프링 핵심 원리 - 기본편
노트 정리 해보았어요! 혹시 어떤 내용이 기억에 남으시나요?
[배움]- 부모 타입으로 조회=> 자식 타입들도 끌려 온다- 모든 자바 객체의 최고 부모=> Object [생각과 느낌]- 코드 내에서도 역활과 구현을 확실히 나타내 주도록 하자=> (부모 class) return (구체 class)