안녕하세요 백엔드 독학 시 포트폴리오 준비 및 공부 방향을 어떻게 해야 할지 방향이 잡히지 않아 고수분들의 의견을 청하고자 글을 작성하게 되었습니다. 저는 백엔드 개발자를 지망하고 있고 인프런에서 강의를 들으면서 공부하고 있습니다. 현재는 자바 강의 및 김영한 님 스프링, JPA, QueryDSL 강의 및 데이터베이스 강의를 수강하였고 개인적으로 나름 포트폴리오? 하나 만들어보고자 도서 대출 반납 및 게시판 CRUD를 할 수 있는 것을 만들었습니다.(백엔드 부분 자바 코드) 화면도 만들기는 했지만 GPT 선생님의 도움을 빌려 일단 화면이 보일 수 있을 정도만 해놨습니다. 이후 협업을 경험해 보고 싶은데 현재 올라와 인프런에서 사이드 프로젝트 자리가 있으면 지원하고 있지만 뛰어난 분들이 너무 많아 참여가 힘든 것 같습니다. 일단 현재는 docker를 공부 중이며 redis, aws를 공부하려고 합니다. 현재 취업을 위해 팀 프로젝트를 하고 싶은데 어떻게 참여할 수 있을지, 많이 부족하다면 현재 어떤 방향으로 더 공부를 진행해야 할지 방향을 잡기가 힘들어 글을 쓰게 되었습니다. 중소기업에 취직하기 위해서는 JSP을 요구하는 곳도 많아 보이는데 html, css, js를 활용해서 화면도 만들 정도로 공부해야 하는 것 인지도 질문드리고 팀플 구하는 방법 및 공부 방향 및 어떤 것을 더 추가적으로 공부하면 좋을지 댓글 부탁드립니다! 감사합니다. 많은 분들께서 댓글 주시면 경청하도록 하겠습니다!
안녕하세요 선생님! 저는 컴공과 다니는 대학생입니다. 1학년을 끝내고 2학년 재학 중에 영 못 따라가 챗지피티만 쓰는 제 자신이 너무 한심해서 이대로 가다간 뭣도 안되겠다는 생각이 들어 휴학을 하고 차근차근 처음부터 해야겠다는 생각이 들었습니다. 학교에서 배우는 공부는 C언어를 제일 많이 쓰고 리눅스 조금 배웠습니다... 제가 1학년 땐 성적도 좋아서 이 과가 잘 맞다는 생각을 했지만 2학년 들어와서 실습을 하다 보니 안 맞는 것 같다는 생각이 들다 보니 휴학까지 하게 됐네요.. 다니다 보니 드는 생각은 성적과 코딩 능력은 별개라는 것을 느끼는 것 같습니다. 학교 수업을 따라가거나 코딩 능력을 향상 시킬려면 어떻게 하면 좋을까요...! 선생님 강의 중 독하게 시작하는 c도 듣고 있습니다!
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차원 배열을 시도하려고 할 때 제가 놓치고 있는 부분이 있을까요?감사합니다.
https://github.com/egoing/django-tutorial-src 현재 컴퓨터 공학과로 편입하고 군복무중입니다. 복무중 토이프로젝트(to do list) 하나정도는 만들고 cs의 기본은 떼고 가자해서 파이썬을 배우고 장고를 배우고 있었습니다. 그리고 디자인 패턴을 공부하고 가장 쉽게 가르친다는 생활코딩의 장고 강의를 보면서 하려고 하는데 위 링크의 myapp의 views.py 에서 읽고 쓰고 수정하고 삭제하는 crud를 구현하는 코드를 잘 이해하지 못하겠어서 고민입니다. 분명 장고가 어떻게 구동되는 방식도 아는데 조금 무슨 개념을 몰라서 이해를 못하는지 답답합니다. 제가 그 부분의 코드를 이해하려면 어떤 공부를 먼저 해야할까요..?
안녕하세요! 큰돌님! 먼저 좋은 강의를 만들어주셔서 감사합니다. 덕분에 많은 걸 배우고 있어요! 저는 2월 달에 졸업을 앞두고 있고, 데이터 파이프라인을 설계하고 ETL을 개발하는 데이터 엔지니어가 꿈인 28살입니다.. 학교를 늦게 들어가서 시간이 많이 지체되었는데요. 취업을 위해서 어떤 방향으로 나아가야 할지 고민이 되어 이렇게 글을 작성하게 되었습니다. 현재 알고리즘은 백준 실버 1이고, 꾸준히 공부하고 있습니다. 프로젝트는 너무 간단한 걸 제외하면 혼자 AWS 서버리스 기반 프로젝트를 한 것이 전부입니다. 그리고 이 과정에서 AWS 아키텍트 어소시에이트 자격증까지 취득했습니다. 이러한 상황에서 프로그래머스 데이터 엔지니어링 데브옵스나 SW 마에스트로를 준비하고 있는데요. 솔직히 말해서 꼭 붙을거라는 보장도 없고 주변 사람들에 비해 나이도 적지 않은 거 같아서 취업에 대한 조바심이 납니다.. 본론을 말씀드리자면, 앞으로 국비교육을 준비하는게 최선일까요? 아니면 이런 스펙을 가지고 있더라도 더 독학하여 취업을 우선시 하는게 최선일까요? 혼자 고민을 많이 해봤는데 도저히 결론이 나질 않아 질문드립니다 ㅠㅠ 바쁘실텐데 답변해주시면 감사하겠습니다!
홍영기 강사님, 안녕하세요. 질문 사항이 있어서 문의 남깁니다. 디바이스 드라이버를 개발하는 강의, 서적, 교육, 참고 자료 등을 추천해주시면 감사하겠습니다. 일반적인 드라이버 개발 예제보다는 좀 더 실무에 가까운 교육을 수강하고 싶은데 추천해주실 만한 사항이 있는지 문의드립니다. 감사합니다.
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 활용할 때는 유의해야할 것 같습니다.
안녕하세요 제가 이번에 OOO 기업에 스마트팩토리 IT 직무에 지원하게 됐습니다. 어제 코딩테스트 3문제중 3솔로 마무리하였고, 다음으로 1차 면접이 남아 있습니다. 1차면접 후 인턴생활을 하고 2차면접에서 최종 채용이 결정이 되는 구조입니다. 1차 면접은 6월 초 예정으로 1~2주정도 남아있을 것 같습니다. 제가 면접 경험이 없고 CS지식이 부족해서 큰돌님의 CS 지식의 정석을 1주일 안에 전부 수강할 예정인데 괜찮은 방법일까요?? 그리고 스마트팩토리 IT 직무인데, 여기 강의에 있는 CS 지식안에서 대부분 나오는게 맞을까요? (명확한 프론트엔드직군, 백엔드직군 이런 것이 있는 게 아니라 스마트팩토리 IT 직무 채용이라서 궁금한 내용입니다.) 외적인 질문은 제가 따로 준비하고 있는데, 기술 질문이 들어오는 게 걱정입니다ㅠㅠ
안녕하세요 선생님 항상 좋은 강의를 제공해 주셔서 잘 공부하고 있습니다. 다름이 아니라 복싱을 배울 때 줄넘기와 달리기를 통해 기초체력을 단련하는 것처럼 개발자에게도 근본적으로 단련해야 하는 기초체력이 있을까요 요즘 개발 공부를 하면서 뭔가 모래 위에 성을 쌓아가는 느낌이 들어 이렇게 질문드립니다.
안녕하세요 ㅎㅎ 운영체제 공부에 이 강의가 많은 도움이 되고 있습니다. 다른건 아니구 친구랑 공부를 하다가 나온 질문입니다. 저희가 c언어를 배울 때, 주소를 표현할 때 그 주소값 안에 들은 데이터만큼 크기를 가지고 있어서 만약에 int로 구성된 배열이면 첫번째 인덱스가 10이라는 주소이면, 두번째 인덱스는 14가 되잖아요. 근데 명령어에서 PC 레지스터를 배우면서 다음 명령어로 가기 위해서 PC+1이 되는데, 이게 현재 가지고 있는 값이 300이면 다음에 넣어지는 값이 301이더라구요. 이게 .. 주소가 16비트면.. 316이 되거나 뭐 그래야하지 않나요.,.?? ㅜㅜㅜㅜ
제가 운영체제 공부를 하면서 궁금한 내용입니다.. 어떤 교수님 강의를 보니까 working set을 구성하는 페이지가 [t-델타, t]여서 최근에 참조된 것을 찾으려면 t-델타부터 t까지 델타+1개를 살펴보고 set을 구성하는 방식이더라구요. 근데 다른 책이나 서적을 찾아보면 델타개만큼을 보고 set을 판단하더라구요. t-델타 부터 t까지의 범위에서 참조된 페이지를 set으로 한다고 하는데, 다른 사람들이랑 얘기해보니까 t이전에 참조된 델타개의 페이지를 set으로 한다고 그래서요.. 멘붕왔어요.. 그러니까 델타값이 4라고 가정하고, t(현재 시간)를 5라고 했을 때, 아래 중에 어떤 것이 맞는 방법 인가요? 1) 현재 시간 포함하지 않고 최근 참조한 델타개의 참조열을 본다. ( 1234를 보고 working set 결정 ) 2) 현재 시간을 포함하여 최근 참조한 델타개의 참조열을 본다. ( 2345를 보고 working set 결정 ) 3) 현재 시간을 포함하여 최근 참조한 델타 +1개의 참조열을 본다. ( 12345를 보고 working set 결정 )
안녕하세요. RTOS , ARM 관련 교육 수강시 ST사에서 나온 STM32F Serise 마이크로콘트롤러를 사용하는데, 해당 마이크로콘트롤러 내부의 Flash에 Image가 프로그램되어 동작하는 것으로 알고 있습니다. SRAM과 Flash가 들어 있는 것으로 보이는데 해당 Flash는 Nor-Flash인가요 아니면 Nand-Flash 인가요?