안녕하세요? 이번에 선생님의 시스템 프로그래밍 강의를 1회독 한 개발자 지망생입니다. 현재 나이는 33살이며 개발지식이 전무하였고, 웹개발을 공부한지는 1년 정도 되었습니다. 현재는 자바 스프링과 node.js와 next.js로 간단한 게시판 만들기 및 기본적인 배포 정도만 할 수 있습니다. 영어실력은 아직 중학교 수준이지만 그래도 틈틈히 하고 있습니다 컴퓨터 및 이과적 지식들이 매우 흥미로워서 늦은 나이에 학구열적으로 성격 및 취미까지 변하였습니다. '기술 공부'과 '일의 보람' 에 관심이 많아서 보안 업계에 관심이 있었는데, 시작을 웹개발이 아닌 아예 바로 보안 쪽으로 하면 어떨까 해서 이것저것 알아보았습니다. 보안컨설팅 쪽은 정말 기술적 성장과는 거리가 멀어보였고... 보안관제와 침해대응 쪽은 경력이 쌓이며 PM(관리영역)으로 가도록 루트가 정해진 것 같았고, 요즘은 클라우드 기반의 데브섹옵스 쪽도 비젼이 밝아서 많이 간다고 하던데, 하지만 이쪽도 PM으로 빠지는 것 같던데, 클라우드 데브섹옵스가 매우 신생직종이라, 저도 정확히는 잘 모르겠습니다. 그래서 기술 공부를 놓치지 않을 수 있는 곳이 모의해킹과 보안 소프트웨어 개발 2가지인 듯 하였습니다. 그 중에서 보안 소프트웨어 개발 쪽이 연차가 쌓여도 개발자의 기술적 성장을 놓치지 않고, 계속 기술 공부를 할 수 있으며 범죄를 예방/조치 한다는 일의 보람도 잡을 수 있다고 생각하게 되었습니다. 그래서 널널한 개발자님의 영상 중에 이스트소프트 제품을 보며 포트폴리오를 추천해주시는 영상 ( https://www.youtube.com/watch?v=PI_Acog-aEo&t=1068s )을 보고 공부를 더 진득히 하여 바로 해당 제품 포트폴리오를 준비해볼까 생각하는 와중에, 아래와 같은 궁금증을 갖게 되어서 교수님의 혜안을 빌리고자 글을 쓰게 되었습니다. 질문1. 혹시 자바/스프링을 사용하는 si 업계에서 개발자 경험을 먼저 해보는게 나을까요? 질문2. 보안이 아닌 다른(보안제품보다 난이도가 낮은) c/c++ 제품 포트폴리오를 준비하여서 보안 외 c/c++ 개발 경험을 먼저 해보는게 나을까요? 질문3. 개발자 현직 경험이 전무한 상태로, 바로 보안 제품 포트폴리오를 만들기 위한 공부를 시작하는게 나을까요? 질문4. 다른 보안직군 대비 취직 난이도가 괜찮다고 하는 보안관제를 먼저 들어가보는게 나을까요? 질문5. 보안 소프트웨어 개발자가 보안직군 중 유일하게, 연차가 쌓여도 기술지식 공부에 손을 놓치지 않을 수 있는 직군이 아닐까? 하는 제 생각이 맞는건가요?
분류(Classification) 성능 평가지표 개요와 정확도(Accuracy) 소개 에서 MNIST를 모두 0으로 예측하는 코드에서 fakepred와 y_test를 비교하는데요 이때 type은 같은데 하나는 1차원 배열이고 또 다른 하나는 column을 1로 가진 2차원 배열인데 이렇게 shape이 달라도 accuracy_score를 통해 비교할 수 있나요?
안녕하세요 어제부터 수업을 멈추고 달팽이 배열을 풀기 위해 반나절 정도 생각하면서 논리를 텍스트로도 적어보고, 그림으로도 그려봤는데도 결국 답이 나오지 않아 답을 보았습니다. 강사님께서 작성해주신 달팽이 배열 코드를 보면서 제 머릿속에서는 이렇게 접근? 한다는 생각조차 없었던 것 같습니다.. 이제 답을 보면서 이해가 되긴 하지만 막상 다시 풀어보려니까 또 눈 앞이 캄캄해지더군요 ㅜ.ㅜ 재능이 없는건지 아니면 연습량이 부족한건지... ㅜ.ㅜ 자주 문제도 접하다보면 논리사고력도 많이 키워질까요?? 그리고 잘 이해가 되지 않는 실습 문제들은 일단 지나가고 다음 2회독때 다시 한번 보는게 좋을지 아니면 시간이 걸리더라도 지금 머리속에 집어넣고 진도를 나가야하는지 팁이 있으실까요?
제목 그대로 좀 깔짝 거리긴해서 if 라던가 swtich나 이런 아주 기초적인 내용은 아는 상태입니다. 근데 스킵하자니 또 완벽하게 아는것도 아닌것같고 또 이와 같이 함수 하나에 대한 수업 시간도 10분 정도되는거 보면 아 이게 여기 안에 뭔가 있어서 이렇게 설명하시려는건가? 라고 싶어서 막상 들으면 8정도는 쉬운부분이라 알고 있고 나머지 2가 생소한 내용이라 처음들어서 오 좋다 이런 상태입니다. 문제는 제가 포인터나 구조체 이런 C 언어에서 누구나 어려워 할 것만한것들을 까먹은게 문제인데요. 그래서 그러한 어려운 부분들로 수업을 스킵하고 싶은데 혹시 조교님들이나 저와 같은 상태로 수업을 들어보신 분들, 이러한 실행방법을 추천하시나요? 감사합니다!
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 활용할 때는 유의해야할 것 같습니다.
CUDA 프로그래밍 (1) - C/C++/GPU 병렬 컴퓨팅 - CUDA 커널 kernel
cuda 0번 강의를 보고 마음에 와닿아서 6개의 강의를 동시에 구매했어요! 제가 요즘 비전 프로그램을 개발 중인데 opencl을 이용하여 범용성 있게 프로그램을 구성하고 싶은데요. 혹시 opencl 강의도 찍어주시면 안될까요? 혹은 좋은 강의나 책이 시중에 이미 있다면 추천좀 부탁드려도 될까요? 구글에 너무 자료가 없어요... SYCL 같은 경우는 MSVC와 호환도 안되구요..
함수에 대해 정의내릴 때 예를 들어 코랩 에서는 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 에서 확인 가능 .)
<강의 코드> transforms_for_train = transforms.Compose( [ transforms.Resize(feature_extractor.size), transforms.RandomHorizontalFlip(), transforms.ToTensor(), normalize, ] ) 강의 코드를 변경하지 않고 그대로 실행하면 아래와 같은 오류가 발생합니다 <오류 메시지> TypeError: Size should be int or sequence. Got <해결 방법> feature_extractor.size를 tuple(feature_extractor.size.values()) 로 변경한 뒤 실행합니다. transforms.Resize 내의 인자 뿐만 아니라 Crop 안의 인자도 함께 변경해주어야 합니다 transforms_for_train, transforms_for_val 모두 동일하게 변경한 뒤 실행하면 에러 없이 실행되는 것을 보실 수 있습니다.
figure, ax_list = plt.subplots(nrows=3, ncols=5) figure.set_size_inches(20,20) for i in range(len(full_column_list)): sns.regplot(data=boston_house_df, x=full_column_list[i], y='PRICE', ax=ax_list[int(i/5)][int(i%5)]) ax_list[int(i/5)][int(i%5)].set_title("regplot " + full_column_list[i]) 안녕하세요 수업 즐겁게 듣고 있습니다 : ) 여기서 ax = ax_list 부분 설명 좀 부탁 드리겠습니다. 만약 i를 안쓰고 개별 1개 칼럼에 대해 그래프를 그린다면 ax = 뒤가 뭔지 궁금합니다. 이것만 알아도 위 코드가 이해될 것 같습니다. 감사합니다.
그랩님 새해 복 많이 받으세요. 마케팅 6년차 일반직무에서 근무하고 있는데, 프론트엔드 개발자로 커리어 전환을 꿈꾸고 있는데요. 나이는 33살입니다. 퇴사를 하고 온전히 부트캠프를 통해서 프론트엔드 개발자로 커리어 전환을 시도해보고자 하는데요. 혹시 인프런 강의를 통해서 혼자 진행해보는게 나을지, 부트캠프를 통해 짜여진 커리큘럼을 통해서 진행하는게 나을지 문의 드립니다. 온전히 9-6를 개발 공부에 할애 할 수 있는 상황인데요. 기간은 6개월 정도로 생각하고 있습니다. 혹시 짧은 조언이나 얻어볼 수 있을까요..!