inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이야기를 나눠요

173만명의 커뮤니티!! 함께 토론해봐요.

[내일배움캠프] 취업 전략도 얻고❗ 주니어 개발자 취업 분석 리포트도 받고❗

"백엔드 개발자가 되고 싶은데..!" 백엔드 개발자 취업을 위해 독학과 부트캠프 중에 고민이신가요? 내 인생을 바꾸는 취업, 확실한 취업 전략 으로 대비하셔야죠! 🔥 취업에 대한 궁금증과 고민, 실시간으로 물어보며 나에게 맞는 취업 전략을 세워보세요! 🔥 📢 설명회 정보 : [ 확실한 백엔드 개발자 취업 설명회 ] 1부 - 현실적인 개발자 취업 이야기 2부 - 사전 질문 답변 및 실시간 Q&A ✅ 일시 : 2024.03.11(월) ‼ 바로 오늘 오후 07:00 ~ 08:00 ‼ ✅ 장소 : Zoom (온라인 실시간 화상) ✅ 신청 방법 : https://bit.ly/4cnlSir (30초면 ok 👌🏻 ) 링크 클릭 → 필수 정보 입력 → 궁금했던 점 모두 적어요! → 제출! 🔥 🎁 참여 혜택 (선착순 50명) 1) 주니어 개발자 취업 분석 리포트 2) 내일배움캠프 백엔드 코스 가산점 💬 문의 창구 - 채팅상담: https://spartacodingclub.channel.io/support-bots/41731 - 메일: contact@teamsparta.co 👉🏻 실시간 QnA를 통해 궁금증 해소하러 가기 👈🏻

  • 백엔드
  • 취업
  • 설명회
  • 전략
  • 개발자
예원 댓글 0 좋아요 0 조회수 597

혹시 냅색문제의 경우 dp를 1차원으로 해결 할 수 있는 방법은 없을까요?

2주만에 통과하는 알고리즘 코딩테스트 (2024년)

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차원 배열을 시도하려고 할 때 제가 놓치고 있는 부분이 있을까요?감사합니다.

  • 코딩-테스트
  • 알고리즘
  • java
Tommy 댓글 1 좋아요 0 조회수 376

일대다 페이징 방법

실전! Querydsl

삭제된 글입니다

  • java
  • jpa
재성 댓글 1 좋아요 0 조회수 543

공부방향을 모르겠어요

김영한의 실전 자바 - 기본편

기본편 강의 수강 후 중급편, 고급편이 나오기 전까지는 어떤 식으로 공부를 해야할 지도 잘 모르겠고, 어떤 강의를 들어야할지 고민 입니다. 기본편 수강 후에 혼자서 작은 프로젝트를 해보아야 할까요? 아니면 차후 강의에서 강사님과 함께 하는 작은 프로젝트 느낌의 수업도 있을까요? 또 만약 혼자 프로젝트를 진행한다면 기본편 수강만으로도 가능할까요? 또 코딩테스트 문제들은 어떤식으로 공부를 해야할지 모르겠습니다.

  • java
  • 객체지향
  • 백엔드
이승호 댓글 1 좋아요 0 조회수 571

자바 스프링 공부 방향과 로드맵

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

삭제된 글입니다

  • java
  • spring
  • mvc
  • spring-boot
  • jpa
  • 로드맵
srbboot 댓글 1 좋아요 0 조회수 1756

안녕하세요 비전공자 출신, 백엔드 vs 게임 프로그래머 고민중입니다.

저는 비전공자 출신입니다. 인서울이긴 하지만, 비전공자라 의미없을 거 같구요. 백엔드 vs 게임 프로그래머 중에 고민하고있습니다. 웹 관련해서는 node.js 기반으로 프로젝트를 3번정도 해본 경험이 있지만, 요새 트렌드가 java, spring이라 웹 백엔드 쪽으로 간다면, java, spring을 공부할 생각입니다. 반면, 게임 프로그래밍은 유니티를 기반으로 소규모 게임 1번 만들어본게 전부입니다. 이런 상황에서 질문드립니다. 제가 가장 발목을 잡는다 느낀 것은 CS 지식입니다. 이것으로부터 덜 자유로운 것이 백엔드 개발자일지 게임 프로그래머 일지 고민입니다. 어느 방향이 더 맞을까요? 알고리즘 자료구조 지식은 백준 골드 3 정도 입니다. 잘 부탁드리겠습니다.

  • 게임
  • 백엔드
ss 댓글 1 좋아요 0 조회수 1025

인턴 선택에 고민이 됩니다.

현재 4학년 재학 중이고, JAVA와 Spring 기반 프로젝트를 한 개 진행 중입니다. 백엔드 쪽으로 취업을 생각 중인데, 이번 방학 중에 컴퓨터비전 쪽으로 모듈 개발 관련 인턴을 진행할 기회가 생겼습니다. 과거에도 인공지능 쪽으로 인턴을 했었는데, 제가 인턴을 진행하는 게 도움이 될 지 모르겠네요. 커리어 상으로는 인공지능을 하다가 백엔드로 틀어버린 게 된 거 같아 마구잡이로 커리어 쌓는 것처럼 보일 것 같아 고민입니다. 물론 개발 경험이 도움이 되기는 하겠지만 말이지요. 선배님들의 조언이 듣고 싶습니다.

  • 백엔드
  • 인턴
  • 취준
  • ai
만월 댓글 0 좋아요 0 조회수 572

안녕하세요 선생님 :)

나도코딩의 자바 기본편 - 풀코스 (20시간)

삭제된 글입니다

  • java
  • 객체지향
갈색곰 댓글 1 좋아요 0 조회수 1643

백엔드 경력 이직

이제 1년 2개월 차 웹개발자 입니다. 파이썬 기반인 fastapi 프레임워크로 백엔드 개발을 하고 있고, Next.js로 프론트개발도 하고 있습니다. 아직 시리즈 A도 안된 기술에 대한 딥한 개발을 하기 보단 비즈니스적으로 어떤 임팩트를 낼 수 있을까에 대한 고민을 좀 더 하다보니 사실 경력이라고 하기엔 이도저도 아닌 실력이 되는 것 같아 조금 겁이 나는 상황입니다. 이 상황에서 크게 두 가지 고민이 있는데, 첫 번째는 기술스택입니다. 파이썬 특히, fastapi 프레임워크는 제가 다음에 이직하고 싶어하는 회사의 스택과는 거리가 멉니다... 경력을 쌓는 동안 별도로 자바나 스프링같은 인기있는 언어나 프레임워크를 다룰 수 있게끔 공부를 해야하는지, 아님 그보다 더 기본이 되는 공부를 하는 게 맞는 건지 갈피를 못잡겠습니다. 후자의 선택이 더 맞다면, 어떤 공부를 더 중점적으로 해야하고 참고 할만한 도서같은 게 있다면 추천부탁 드립니다 두 번째는 내 경력이 물경력이 될 거 같다. 라는 점입니다. SI는 아니지만, 아직 기능을 개발하는 데에만 목표를 두는 게 회사의 방향이다보니 일단 일정에 맞추어 빨리 만들어내는 게 저희 회사룰입니다.. 경력이 찰 수록 제가 공부하거나 사이드프로젝트를 해본 거보단 업무를 하면서 경험한 것들에 대해 할 말이 많아야 하는데, 제가 일을 하면서 어떤 스탠스로 업무를 해야하고, 어떤식으로 업무를 해야할 지 고민입니다.

  • 이직
  • 경력
  • 백엔드
호롤롤로스 댓글 0 좋아요 0 조회수 1008

만료된 메서드 fetchResult(), Blaze-persistence 세팅 관련 글 공유드립니다.

실전! Querydsl

QueryDSL 내부 메소드 중 fetchResult() 나 fetchCount()는 만료된 메소드에 대해서는 QueryDSL에서 Blaze-persistence Integration 라이브러리 사용을 권장 하는데요, Blaze-persistence도 QueryDSL 처럼 쿼리 빌더 API 로서 개발자에게 유지보수하기 좋은 객체를 제공해주고 있습니다. 게다가 최신 업데이트 날짜가 글 작성일 기준(2023.06.21) 일주일 이전이라 여전히 유지보수되고 있어서 최신 스프링버전과 호환성도 어느정도 보장되었다고 볼 수 있습니다. 개인적으로 SpringBoot 3.1.0 기준으로 다음과 같이 세팅하니 정상적으로 동작하는 걸 확인했는데요, 혹시 저처럼 deprecated 메소드를 쓰는 것이 신경쓰이시는 분들을 위해 공유드립니다. build.gradle dependencies { //Blaze-Persistence implementation 'com.blazebit:blaze-persistence-integration-querydsl-expressions-jakarta:1.6.9' implementation 'com.blazebit:blaze-persistence-integration-hibernate-6.2:1.6.9' implementation 'com.blazebit:blaze-persistence-core-impl-jakarta:1.6.9' } BlazePersistenceConfiguration.java @Configuration public class BlazePersistenceConfiguration { @PersistenceUnit private EntityManagerFactory entityManagerFactory; @Bean @Scope(ConfigurableBeanFactory.SCOPE_SINGLETON) @Lazy(false) public CriteriaBuilderFactory createCriteriaBuilderFactory() { CriteriaBuilderConfiguration config = Criteria.getDefault(); // do some configuration return config.createCriteriaBuilderFactory(entityManagerFactory); } } QuerydslBasicTest.java ..... JPAQueryFactory queryFactory; @Autowired CriteriaBuilderFactory cbf; BlazeJPAQueryFactory blazeQueryFactory; @BeforeEach public void testEntity(){ queryFactory = new JPAQueryFactory(em); // 이건 동시성 문제를 고민하지 않아도 됨, 해결됨 blazeQueryFactory = new BlazeJPAQueryFactory(em, cbf); ..... 적용 결과 기존 QueryDSL 세팅한 것에 추가로 세팅하시면, 만료된 메소드에 대해 Blaze-persistence 객체로 대체되는데요, 기존 querydsl 클래스를 상속 받는 형태여서 QueryDSL이 제공하는 메소드를 그대로 쓸 수도 있습니다. fetchResults는 fetchPage로 바꿔서 사용할 것을 권장하고 있다는 점 참고하시면 될 것 같습니다. 추가로 내부로직이라든지 설명이 더 필요하시다면 Blaze-persistence 릴리즈 노트 와 Blaze Persistence Document 를 참고하시면 좋을 것 같습니다. 이 글에 대해 지적 및 피드백 해주시면 정말 감사하겠습니다. 감사합니다. 여담 및 고민 : 개인적으로 이 라이브러리의 내부로직을 뜯어보면서 분석하고 검증할 수 있는 역량은 부족한지라 분석 및 검증하는 방법에 대해서 팁이라든지, 아니면 blaze-persistence 사용할 시 주의해야할 점이라든지 조언해주실 수 있으시면 정말 감사드립니다. 강의를 듣던 중에 서브쿼리가 발생하는 부분에서는 정상동작하지 않는 것을 발견했습니다. @Test public void findUserDto(){ QMember memberSub = new QMember("memberSub"); List<UserDto> memberDtoList = queryFactory //이건 blazeQueryFactory가 정상 동작하지 않음 .select(Projections.fields(UserDto.class, //생성자 필드 순서에 맞게 변수를 만들어야 한다. member.username.as("name"), // member.age 대신 서브쿼리로 다 최대 나이로 찍고 싶어 ExpressionUtils.as( JPAExpressions .select(memberSub.age.max()) .from(memberSub), "age") )) .from(member) .fetch(); for (UserDto userDto : memberDtoList) { System.out.println("userDto = " + userDto); } } QueryDSL 쿼리 /* select member1.username as name, (select max(memberSub.age) from Member memberSub) as age from Member member1 */ select m1_0.username, (select max(m2_0.age) from member m2_0) from member m1_0 blaze-persistence 쿼리 /* SELECT member1.username AS name, member1.age AS generatedSubquery_1 FROM Member member1 */ select m1_0.username, m1_0.age from member m1_0 blaze-persistence generatedSubquery라 하여, 서브쿼리를 하나의 alias로 처리를 해버렸는데, 후행으로 이 generatedSubquery 에 대한 정의가 따라오질 않습니다... 왜 이런 차이가 나오는지는 모르겠지만 blaze-persistence 활용할 때는 유의해야할 것 같습니다.

  • java
  • jpa
  • querydsl
  • blaze-persistence
말랑한참깨 댓글 0 좋아요 1 조회수 2812

백엔드 개발자의 방향성에 대해 조언을 얻고자 합니다

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

현재 국비 학원을 수료하며 프로젝트를 마친 뒤에 김영한님 강의를 듣고 있으며 spring에 대해 이제서야 이해하려 하는 취준생입니다. 문득 제가 어떤 개발을 하고 싶은지 방향성에 대해 생각해보게 되었습니다. ->어떤 개발을 하고 싶은지 방향성에 대해 되짚어 보고 있었다 ->SQL문을 짜면서 효율적인 방법은 무엇이 있을까 고민하는 과정이 스스로 가치 있는 고민을 하고 있다는 생각이 들었다. ->데이터 처리 속도 개선에 관하여 고민하는 개발자가 되고 싶다. ->대용량 트래픽을 다루는 서비스 회사에서 성장하고 싶다. 질문 ==> 위의 4문장을 설득력 있게 말하기 위해서 취준에 뛰어드는 예비 백엔드 개발자 수준에서 할 수 있는 "공부 방향"은 무엇이 있을지 조언 해주실 수 있을까요? (특정 개념이나 강의를 추천해주셔도 감사할 것 같습니다. )

  • springboot
  • java
  • spring
  • 백엔드
  • 신입
sky66951 댓글 1 좋아요 3 조회수 5676

MVC 패턴 관련

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

현재 JPA 실습을 하고 있는데 MVC패턴에 대하여 궁금하여 문의드립니다. 현재 프로젝트에서 View단인 resource 디렉토리를 제외한 나머지 부분이 모두 백엔드에 속하는건가요?

  • mvc
  • 백엔드
  • 프론트엔드
엄재정 댓글 1 좋아요 0 조회수 521

QueryDsl SpringBoot 2.7의 gradle 설정을 공유합니다.

실전! Querydsl

plugins { id 'org.springframework.boot' version '2.7.4' id 'io.spring.dependency-management' version '1.0.14.RELEASE' id 'java' } group = 'study' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' // queryDSL 설정 implementation "com.querydsl:querydsl-jpa" implementation "com.querydsl:querydsl-core" implementation "com.querydsl:querydsl-collections" annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa" // querydsl JPAAnnotationProcessor 사용 지정 annotationProcessor "jakarta.annotation:jakarta.annotation-api" // java.lang.NoClassDefFoundError (javax.annotation.Generated) 대응 코드 annotationProcessor "jakarta.persistence:jakarta.persistence-api" // java.lang.NoClassDefFoundError (javax.annotation.Entity) 대응 코드 } tasks.named('test') { useJUnitPlatform() } // Querydsl 설정부 def generated = 'src/main/generated' // querydsl QClass 파일 생성 위치를 지정 tasks.withType(JavaCompile) { options.getGeneratedSourceOutputDirectory().set(file(generated)) } // java source set 에 querydsl QClass 위치 추가 sourceSets { main.java.srcDirs += [ generated ] } // gradle clean 시에 QClass 디렉토리 삭제 clean { delete file(generated) } 해당 소스는 타사 강의 보다가 본 설정에서 가져왔습니다. 기존 영한님 강의와 다른 점이 3가지 있으니 주의하시기 바랍니다. Querydsl Q파일 생성 위치가 다릅니다. 기존 영한님 강의대로 $build 로 시작하는 설정을 사용하면 테스트 실행 시 Q파일의 위치를 찾지 못해서 테스트가 실패합니다. Gradle -> Tasks -> build -> clean Gradle -> Tasks -> build -> build 혹은 classes 기존 영한님 교안에는 빌드 시 Gradle -> Tasks -> other -> compileQuerydsl 로 Q파일을 생성하지만, 이 방법의 경우 other에 해당 메뉴가 없습니다. 그래서 빌드 시에는 그냥 build 메뉴의 build 혹은 classes 로 빌드하시면 Q파일이 생깁니다. 영한님 강의에서는 gradle build 폴더가 대부분 git 버전관리에 포함되지 않으므로 따로 설정할 필요가 없지만, 이 경우 Q파일이 소스폴더에 들어가므로 .gitignore 에 아래와 같이 별도로 경로를 설정해 주어야 합니다. ### Querydsl /src/main/generated 혹시 저같이 청개구리마냥 강의에 나온 버전 사용 안 하고 최신 버전 사용하시는 분들께 도움이 되었으면 좋겠습니다. 저도 타사 강의에서 가져온 것이고 기초 테스트만 통과한 것이라서 혹시 강의에 맞지 않는 경우 영한님이나 다른 분들이 추가 정보를 주시면 좋을 것 같습니다. 여담인데 QueryDSL은 쿼리 짜긴 확실히 편한데 설정이 버전마다 중구난방이라 불편합니다. 똑똑한 개발자분들이 이런 설정도 그냥 @Configuration 으로 빼버리는 거 만들어주지 않을까 하는 기대가 있긴 합니다.

  • java
  • spring
  • jpa
  • querydsl
박민호 댓글 5 좋아요 20 조회수 11527

[전액무료,온라인진행] 블록체인 고급 프로젝트 과정_지역ICT이노베이션스퀘어 확산사업

안녕하세요. 과학기술정보통신부 주관 지역ICT이노베이션스퀘어 확산사업 으로 블록체인 고급 프로젝트 과정 개발 교육 진행중입니다. 수강혜택으로 수료증발급, 블록체인 자격증 응시 기회까지 제공해드리고 온라인수강, 전액무료, 누구나 과정을 이수할 수 있으니 신청해보세요. 학생, 취업준비생, 재직자, 이직자 예정자분들 병행 추천드립니다! https://blog.naver.com/kjc_sh/222852299901

  • 블록체인
  • 보안
  • 국비
  • 개발자
  • 프론트
  • 백엔드
  • 교육
  • 자바
  • 스프링
  • 빅데이터
휴식중인 가재 댓글 0 좋아요 0 조회수 849

[전액무료,온라인진행] 블록체인 고급 프로젝트 과정_지역ICT이노베이션스퀘어 확산사업

안녕하세요. 과학기술정보통신부 주관 지역ICT이노베이션스퀘어 확산사업 으로 블록체인 고급 프로젝트 과정 진행중입니다. 수강혜택으로 수료증발금, 블록체인 자격증 응시 기회까지 제공해드리고 온라인수강, 전액무료, 누구나 과정을 이수할 수 있으니 신청해보세요. 학생, 취업준비생, 재직자, 이직자 예정자분들 병행 추천드립니다! https://www.baeulang.kr/bbs/board.php?bo_table=BlockChain&wr_id=36

  • 블록체인
  • 스프링
  • 자바
  • 프론트엔드
  • 백엔드
  • 코딩
  • 국비교육
  • 교육
  • 부트갬프
한국취업센터 댓글 0 좋아요 0 조회수 578

소프트웨어 진로 결정 관련 질문

저는 일단 정보통신공학 2학년인데 소프트 커리를 타려고 생각중이에요 2학기에 C++ 자료구조론을 배우는데 여론으로는 C++은 게임 개발이나 인공지능? 쪽에서 많이 쓰인다고 하고 제가 생각하는 프론트/백엔드의 웹 개발자는 java나 python이 주 프로그래밍 언어이고 IT기업 쪽에서도 java를 활용한 툴(Spring 등)을 선호하고 있다고 들어서 C++은 학점 챙기는 용으로 공부하고 진로를 위해서는 java를 중점적으로 공부하려고 하는데 1. 지금 java와 C++ 자료구조를 병행해서 공부를 하는 것이 나은지(공부 비중은 C++을 더 높게) 2. 일단은 C++ 자료구조를 중점적으로 공부할지 고민되어 질문글 올립니다 ㅠㅠ - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • java
  • c++
초롱초롱한 랫서팬더 댓글 0 좋아요 0 조회수 320

Docker+Nginx+Redis+RDBMS 공부방향 및 강의 추천을 받고싶습니다.

안녕하세요! 평소 인프런 강의 통해서 프로그래밍을 공부하는 학생입니다. 팀원들과 스터디를 하고있습니다. 저희 스터디원 끼리 계속 공부해보면서 Infra, 비동기, 서버 관련(Docker+Nginx+Redis+RDBMS)해서 저희가 많이 부족함을 깨닫고 있는 과정을 겪고 있어서 이렇게 인프런 커뮤니티에 자문을 구해보고자 작성했습니다. 혹시, 저희와 비슷한 생각을 갖고 계신 분들 중, 좀 더 효율적인 혹은 효과적인 공부방법을 알고계신분이 있다면 알려주시면 정말정말 감사하겠습니다. 1. 토이프로젝트 추천 2. Redis, Nginx 강의 추천 3. Redis, Nginx, Network 책 추천 4. 공부 방법 및 방향성 추천

  • 스터디
  • 공부방법
  • 백엔드
  • back-end
  • programming
  • 신입
SauvageUp 댓글 0 좋아요 0 조회수 644

서울시뉴딜일자리_IT인턴 3개월 [급여월260만]지원사업안내_빅데이터 기반 서비스플랫폼 과정 [스터디,프로젝트,프론트엔드,백엔드,자바,코딩]

서울시에서 뉴딜일자리사업 일환으로 2차 서비스플랫폼개발자 양성과정으로 3개월 인턴십 (급여 월 260) 보내주는 프로그램 진행중인데 신청해보세요! 자세한 내용은 https://blog.naver.com/kjc_sh/222775806456 참고해주세요

  • 깃허브
  • 프로젝트
  • 인턴
  • 백엔드
  • 프론트엔드
  • java
  • spring
  • 자바
  • 스프링
한국취업센터 댓글 0 좋아요 0 조회수 488

인기 태그

인프런 TOP Writers

주간 인기글