안녕하세요! 큰돌님! 먼저 좋은 강의를 만들어주셔서 감사합니다. 덕분에 많은 걸 배우고 있어요! 저는 2월 달에 졸업을 앞두고 있고, 데이터 파이프라인을 설계하고 ETL을 개발하는 데이터 엔지니어가 꿈인 28살입니다.. 학교를 늦게 들어가서 시간이 많이 지체되었는데요. 취업을 위해서 어떤 방향으로 나아가야 할지 고민이 되어 이렇게 글을 작성하게 되었습니다. 현재 알고리즘은 백준 실버 1이고, 꾸준히 공부하고 있습니다. 프로젝트는 너무 간단한 걸 제외하면 혼자 AWS 서버리스 기반 프로젝트를 한 것이 전부입니다. 그리고 이 과정에서 AWS 아키텍트 어소시에이트 자격증까지 취득했습니다. 이러한 상황에서 프로그래머스 데이터 엔지니어링 데브옵스나 SW 마에스트로를 준비하고 있는데요. 솔직히 말해서 꼭 붙을거라는 보장도 없고 주변 사람들에 비해 나이도 적지 않은 거 같아서 취업에 대한 조바심이 납니다.. 본론을 말씀드리자면, 앞으로 국비교육을 준비하는게 최선일까요? 아니면 이런 스펙을 가지고 있더라도 더 독학하여 취업을 우선시 하는게 최선일까요? 혼자 고민을 많이 해봤는데 도저히 결론이 나질 않아 질문드립니다 ㅠㅠ 바쁘실텐데 답변해주시면 감사하겠습니다!
홍영기 강사님, 안녕하세요. 질문 사항이 있어서 문의 남깁니다. 디바이스 드라이버를 개발하는 강의, 서적, 교육, 참고 자료 등을 추천해주시면 감사하겠습니다. 일반적인 드라이버 개발 예제보다는 좀 더 실무에 가까운 교육을 수강하고 싶은데 추천해주실 만한 사항이 있는지 문의드립니다. 감사합니다.
안녕하세요! 교수님 강의를 듣고 있는 수강생입니다 ! 강의를 복습할 때 개인 블로그에 수업 내용을 정리하면서 게시를 하고 싶은데요 ! 강의 내용에 포함되어있는 이미지를 사용해서 간단하게 요약해서 게시를 하고 싶은데 저작권법에 걸리는 지 여쭤보고 싶어서 글을 작성합니다 ! 개인 블로그에 강의 자료(이미지 등)을 사용해서 복습 용도로 게시를 해도 될까요 ??
분류(Classification) 성능 평가지표 개요와 정확도(Accuracy) 소개 에서 MNIST를 모두 0으로 예측하는 코드에서 fakepred와 y_test를 비교하는데요 이때 type은 같은데 하나는 1차원 배열이고 또 다른 하나는 column을 1로 가진 2차원 배열인데 이렇게 shape이 달라도 accuracy_score를 통해 비교할 수 있나요?
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 직무 채용이라서 궁금한 내용입니다.) 외적인 질문은 제가 따로 준비하고 있는데, 기술 질문이 들어오는 게 걱정입니다ㅠㅠ
함수에 대해 정의내릴 때 예를 들어 코랩 에서는 scaler = minmax_scale() 이렇게 정의를 내리고 scaler(data) 하는데 #코랩은 정의내릴 때 괄호를 빼면 동작안함 구름에서 테스트해보니까 scaler = minmax_scale()하고 scaler(data)하면 에러가 발생하고 괄호없이 scaler = minmax_scale 만해야 에러가 발생하지 않더라구요. 이게 구름 환경만의 특성이라서 그렇다고 보면 될까요?
안녕하세요 선생님 항상 좋은 강의를 제공해 주셔서 잘 공부하고 있습니다. 다름이 아니라 복싱을 배울 때 줄넘기와 달리기를 통해 기초체력을 단련하는 것처럼 개발자에게도 근본적으로 단련해야 하는 기초체력이 있을까요 요즘 개발 공부를 하면서 뭔가 모래 위에 성을 쌓아가는 느낌이 들어 이렇게 질문드립니다.
안녕하세요 선생님. 우선 좋은 강의를 해주셔서 감사드립니다. 다름이 아니라 현재 섹션1,2 를 수강한 상태입니다. 섹션 1, 2를 수강하는데 수식이 굉장히 많이 등장하더라구요. 제가 수포자였어서 현재로썬 이해하는데 있어서 어려움이 많은 상태입니다.(지금은 열심히 공부하고 있습니다! 아무래도 딥러닝을 공부하는데 수학이 필수인거같아서) 그래서 작동 원리만 이해하고 우선은 넘어가는 방식으로 공부하려고 하는데 이렇게 해도 괜찮을까요?? 예를들면 경사하강법은 손실함수의 기울기가 적어지는 방향으로 학습하는 것이구나, 오차역전파는 미분을 거꾸로 하면서 가중치를 업데이트하는 것이구나, 손실함수는 이런게 있구나, 옵티마이저는 이런게 있구나 이렇게 작동하는구나 이런식으로요. 물론 언젠가는 반드시 다 이해해야겠지만 딥러닝입문자로써는 이렇게 이해만 하고 넘어가도 될까요??
[리뉴얼] 처음하는 파이썬 머신러닝 부트캠프 (쉽게! 실제 캐글 문제 풀며 정리하기) [데이터분석/과학 Part2]
train.corr().iplot(kind='heatmap', colorscale='Blues') 현재 위의 코드 수행시 에러가 발생하는데요. ValueError: could not convert string to float: 'Braund, Mr. Owen Harris' train 데이터프레임에서 문자열 데이터가 포함되어 있기 때문에 해당 에러가 발생할 수 있습니다. 이 경우, 상관 관계 행렬을 계산하기 전에 문자열 열을 제거해야합니다. 저의 경우 다음처럼 새로운 객체를 만들어 진행하였습니다. object_cols = train.select_dtypes(include=['object']).columns #열의 데이터 타입이 문자인녀석 추출 new_train = train.drop(columns=object_cols) # 열의 데이터가 문자열인 것들 제거 후 새로운 객체에 생성 new_train.corr().iplot(kind='heatmap', colorscale='Blues') 이러면 잘 나옵니다.
[리뉴얼] 처음하는 파이썬 머신러닝 부트캠프 (쉽게! 실제 캐글 문제 풀며 정리하기) [데이터분석/과학 Part2]
import plotly.io as pio pio.renderers.default='iframe' 다음 코드를 추가해주시면, iframe 을 통해 렌더링 됩니다. 저의 경우 다음 에러로 렌더링이 안됐습니다. ( F12 / Option+Command + i -> console 에서 확인 가능 .)