"백엔드 개발자가 되고 싶은데..!" 백엔드 개발자 취업을 위해 독학과 부트캠프 중에 고민이신가요? 내 인생을 바꾸는 취업, 확실한 취업 전략 으로 대비하셔야죠! 🔥 취업에 대한 궁금증과 고민, 실시간으로 물어보며 나에게 맞는 취업 전략을 세워보세요! 🔥 📢 설명회 정보 : [ 확실한 백엔드 개발자 취업 설명회 ] 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를 통해 궁금증 해소하러 가기 👈🏻
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차원 배열을 시도하려고 할 때 제가 놓치고 있는 부분이 있을까요?감사합니다.
기본편 강의 수강 후 중급편, 고급편이 나오기 전까지는 어떤 식으로 공부를 해야할 지도 잘 모르겠고, 어떤 강의를 들어야할지 고민 입니다. 기본편 수강 후에 혼자서 작은 프로젝트를 해보아야 할까요? 아니면 차후 강의에서 강사님과 함께 하는 작은 프로젝트 느낌의 수업도 있을까요? 또 만약 혼자 프로젝트를 진행한다면 기본편 수강만으로도 가능할까요? 또 코딩테스트 문제들은 어떤식으로 공부를 해야할지 모르겠습니다.
저는 비전공자 출신입니다. 인서울이긴 하지만, 비전공자라 의미없을 거 같구요. 백엔드 vs 게임 프로그래머 중에 고민하고있습니다. 웹 관련해서는 node.js 기반으로 프로젝트를 3번정도 해본 경험이 있지만, 요새 트렌드가 java, spring이라 웹 백엔드 쪽으로 간다면, java, spring을 공부할 생각입니다. 반면, 게임 프로그래밍은 유니티를 기반으로 소규모 게임 1번 만들어본게 전부입니다. 이런 상황에서 질문드립니다. 제가 가장 발목을 잡는다 느낀 것은 CS 지식입니다. 이것으로부터 덜 자유로운 것이 백엔드 개발자일지 게임 프로그래머 일지 고민입니다. 어느 방향이 더 맞을까요? 알고리즘 자료구조 지식은 백준 골드 3 정도 입니다. 잘 부탁드리겠습니다.
현재 4학년 재학 중이고, JAVA와 Spring 기반 프로젝트를 한 개 진행 중입니다. 백엔드 쪽으로 취업을 생각 중인데, 이번 방학 중에 컴퓨터비전 쪽으로 모듈 개발 관련 인턴을 진행할 기회가 생겼습니다. 과거에도 인공지능 쪽으로 인턴을 했었는데, 제가 인턴을 진행하는 게 도움이 될 지 모르겠네요. 커리어 상으로는 인공지능을 하다가 백엔드로 틀어버린 게 된 거 같아 마구잡이로 커리어 쌓는 것처럼 보일 것 같아 고민입니다. 물론 개발 경험이 도움이 되기는 하겠지만 말이지요. 선배님들의 조언이 듣고 싶습니다.
이제 1년 2개월 차 웹개발자 입니다. 파이썬 기반인 fastapi 프레임워크로 백엔드 개발을 하고 있고, Next.js로 프론트개발도 하고 있습니다. 아직 시리즈 A도 안된 기술에 대한 딥한 개발을 하기 보단 비즈니스적으로 어떤 임팩트를 낼 수 있을까에 대한 고민을 좀 더 하다보니 사실 경력이라고 하기엔 이도저도 아닌 실력이 되는 것 같아 조금 겁이 나는 상황입니다. 이 상황에서 크게 두 가지 고민이 있는데, 첫 번째는 기술스택입니다. 파이썬 특히, fastapi 프레임워크는 제가 다음에 이직하고 싶어하는 회사의 스택과는 거리가 멉니다... 경력을 쌓는 동안 별도로 자바나 스프링같은 인기있는 언어나 프레임워크를 다룰 수 있게끔 공부를 해야하는지, 아님 그보다 더 기본이 되는 공부를 하는 게 맞는 건지 갈피를 못잡겠습니다. 후자의 선택이 더 맞다면, 어떤 공부를 더 중점적으로 해야하고 참고 할만한 도서같은 게 있다면 추천부탁 드립니다 두 번째는 내 경력이 물경력이 될 거 같다. 라는 점입니다. SI는 아니지만, 아직 기능을 개발하는 데에만 목표를 두는 게 회사의 방향이다보니 일단 일정에 맞추어 빨리 만들어내는 게 저희 회사룰입니다.. 경력이 찰 수록 제가 공부하거나 사이드프로젝트를 해본 거보단 업무를 하면서 경험한 것들에 대해 할 말이 많아야 하는데, 제가 일을 하면서 어떤 스탠스로 업무를 해야하고, 어떤식으로 업무를 해야할 지 고민입니다.
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 활용할 때는 유의해야할 것 같습니다.
현재 국비 학원을 수료하며 프로젝트를 마친 뒤에 김영한님 강의를 듣고 있으며 spring에 대해 이제서야 이해하려 하는 취준생입니다. 문득 제가 어떤 개발을 하고 싶은지 방향성에 대해 생각해보게 되었습니다. ->어떤 개발을 하고 싶은지 방향성에 대해 되짚어 보고 있었다 ->SQL문을 짜면서 효율적인 방법은 무엇이 있을까 고민하는 과정이 스스로 가치 있는 고민을 하고 있다는 생각이 들었다. ->데이터 처리 속도 개선에 관하여 고민하는 개발자가 되고 싶다. ->대용량 트래픽을 다루는 서비스 회사에서 성장하고 싶다. 질문 ==> 위의 4문장을 설득력 있게 말하기 위해서 취준에 뛰어드는 예비 백엔드 개발자 수준에서 할 수 있는 "공부 방향"은 무엇이 있을지 조언 해주실 수 있을까요? (특정 개념이나 강의를 추천해주셔도 감사할 것 같습니다. )
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 으로 빼버리는 거 만들어주지 않을까 하는 기대가 있긴 합니다.
안녕하세요. 과학기술정보통신부 주관 지역ICT이노베이션스퀘어 확산사업 으로 블록체인 고급 프로젝트 과정 개발 교육 진행중입니다. 수강혜택으로 수료증발급, 블록체인 자격증 응시 기회까지 제공해드리고 온라인수강, 전액무료, 누구나 과정을 이수할 수 있으니 신청해보세요. 학생, 취업준비생, 재직자, 이직자 예정자분들 병행 추천드립니다! https://blog.naver.com/kjc_sh/222852299901
안녕하세요. 과학기술정보통신부 주관 지역ICT이노베이션스퀘어 확산사업 으로 블록체인 고급 프로젝트 과정 진행중입니다. 수강혜택으로 수료증발금, 블록체인 자격증 응시 기회까지 제공해드리고 온라인수강, 전액무료, 누구나 과정을 이수할 수 있으니 신청해보세요. 학생, 취업준비생, 재직자, 이직자 예정자분들 병행 추천드립니다! https://www.baeulang.kr/bbs/board.php?bo_table=BlockChain&wr_id=36
저는 일단 정보통신공학 2학년인데 소프트 커리를 타려고 생각중이에요 2학기에 C++ 자료구조론을 배우는데 여론으로는 C++은 게임 개발이나 인공지능? 쪽에서 많이 쓰인다고 하고 제가 생각하는 프론트/백엔드의 웹 개발자는 java나 python이 주 프로그래밍 언어이고 IT기업 쪽에서도 java를 활용한 툴(Spring 등)을 선호하고 있다고 들어서 C++은 학점 챙기는 용으로 공부하고 진로를 위해서는 java를 중점적으로 공부하려고 하는데 1. 지금 java와 C++ 자료구조를 병행해서 공부를 하는 것이 나은지(공부 비중은 C++을 더 높게) 2. 일단은 C++ 자료구조를 중점적으로 공부할지 고민되어 질문글 올립니다 ㅠㅠ - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요! 평소 인프런 강의 통해서 프로그래밍을 공부하는 학생입니다. 팀원들과 스터디를 하고있습니다. 저희 스터디원 끼리 계속 공부해보면서 Infra, 비동기, 서버 관련(Docker+Nginx+Redis+RDBMS)해서 저희가 많이 부족함을 깨닫고 있는 과정을 겪고 있어서 이렇게 인프런 커뮤니티에 자문을 구해보고자 작성했습니다. 혹시, 저희와 비슷한 생각을 갖고 계신 분들 중, 좀 더 효율적인 혹은 효과적인 공부방법을 알고계신분이 있다면 알려주시면 정말정말 감사하겠습니다. 1. 토이프로젝트 추천 2. Redis, Nginx 강의 추천 3. Redis, Nginx, Network 책 추천 4. 공부 방법 및 방향성 추천