안녕하세요. "실무로 배우는 빅데이터 기술" 교재와 15일간의 빅데이터 파일럿 프로젝트 강의에 열정을 쏟고 있는 학생입니다. 커뮤니티 게시판에 '고민있어요' 배너를 보고, 제 학습과 관련된 고민을 나누고자 글을 쓰게 되었습니다. 제 경험을 간단히 소개하자면, 약 2년간 직장에서 파이썬을 활용하여 크롤링, 분산 처리, API, DB 관리 등을 통해 데이터 수집 및 모델링 업무를 해왔습니다. 이후 데이터 엔지니어로 전환하면서, 본격적으로 이 분야를 공부하기 시작했습니다. Hadoop 생태계나 리눅스는 이전에는 이름만 들어본 적이 있었는데, 이번 강의를 통해 직접 프레임워크를 구축하고 설정하며, 데이터를 쌓아보는 경험은 정말 뜻깊습니다. 특히 Cloudera나 Git에서 'bigdata2nd-master' tar 파일을 받아 시스템을 구축하는 과정을 통해 전체적인 워크플로우와 업무에 대한 이해를 넓힐 수 있었던 점은 다른 어떤 강의보다 만족스러웠습니다. 처음 프레임워크를 하나하나 구축하고 설정하는 과정이 매우 어렵게 느껴졌는데, 이번 강의를 통해 크게 성장할 수 있었습니다. 강의 중 강사님께서는 프레임워크 자체에 집착하기보다는, 요구사항을 통해 세부적인 요구사항을 도출하고, 이를 해결하는 방법에 중점을 두라는 조언을 주셨습니다. 프레임워크가 어떻게 활용되는지를 이해하고, 실제 문제 해결에 적용하는 방향으로 학습하라는 조언은 매우 감사했습니다. 하지만, 저의 고민은 여기서 시작됩니다. 저만의 공부와 업무를 진행할 때, 대부분의 경우 도커 컨테이너 내에서 conf, yaml, Dockerfile 등을 직접 구성하거나 수정해야 할 것으로 압니다. Cloudera를 사용하지 않고 직접 프레임워크를 설계하며 공부를 해보고 싶은데, 이에 관련된 다른 강의나 학습 방향에 대한 조언을 구할 수 있을까요? 긴 글 읽어주셔서 감사합니다.
[실전]텍스톰 TEXTOM 실전 강의: 빅데이터 논문 작성을 위한 텍스트 분석/텍스트마이닝
N-gram 분석은 N개 단어의 연쇄를 확률적인 수치를 산출하고 시각화하는 방법으로 대용량의 문서에서 특정 단어 뒤에 위치하는 단어나 음절의 빈도를 정량적인 수치로 나타낼 수 있다(Kang & Lee, 20019). 단어 간 연결방향이 화살표를 통해 시각화되며 화살표의 굵기 크기를 통해 연결강도가 결정된다(Yoo et al., 2019). 또한 연관 단어 간 관계성을 분석하면 단어간 관계 파악에 용이다하다(Kim, 2020). 본 연구에서는 Textom에서 제공하는 N-gram 텍스트마이닝 기법 시 데이터의 흐름과 이해를 하기 위해 가장 먼저 기초 분석 자료로 활용되는 기법이기도 하다. 단어빈도에 기반한 분석은 전체 문서 내에서 특정 단어의 풀현 빈도를 나타낸다. 문서 내에 특정 단어가 등장하는 횟수를 나타내며 이수치값이 클수록 문서에서 자주 사용하는 단어임을 의미한다(Jang et al.,2018). 높은 출현 빈도를 나타내는 단어는 대체로 연구주제와 관련된 함축된 의미를 내재하고 핵심 단어로 작용 할 수도 있다(Lee,2022).
안녕하세요 선생님. 프론트엔드를 공부중인 학생입니다. 다름이 아니라 선생님 강의를 보고 공부 후 간단한 프로젝트를 진행하고 있는데 어려움을 겪어 질문 드려요. 현재 백엔드는 spring, 프론트 엔드는 react로 진행중입니다. 저희가 일단 로그인 방식을 jwt로 이용하려 했으나 백엔드 팀원이 구현을 어려워해 세션 방식으로 로그인을 진행 중입니다. 로그인 API가 post 요청이라 axios로 post요청 후 성공했을 때 세션값을 세션 스토리지에 저장을 했는데요, 로그인은 성공을 했는데 로그아웃 api를 호출하는 과정에서 에러가 뜨는 상황입니다. 백엔드 팀원은 세션으로 로그인을 구현하면 쿠키값 생성을 안한다는데 그러면 프론트에서 세션값 저장 후 api호출 할 때마다 어떤 조치를 취해야 하는지 아니면 구글링한 결과 로그인할 때 세션값을 쿠키에 저장한다고 나오는데 팀원이 잘못 알고있는지 궁금합니다. 그리고 이 강의에서 진행중인 로그인 방식은 어떤 방식인지 궁금합니다. axios, useSWR등을 이 강의에서 처음 접하다보니 모르는 게 너무 많네요.. 항상 좋은 강의 감사드리고 너무 늦은 시간 질문드려 죄송합니다. 편하신 시간대에 답변 부탁드려요.
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 활용할 때는 유의해야할 것 같습니다.
함수에 대해 정의내릴 때 예를 들어 코랩 에서는 scaler = minmax_scale() 이렇게 정의를 내리고 scaler(data) 하는데 #코랩은 정의내릴 때 괄호를 빼면 동작안함 구름에서 테스트해보니까 scaler = minmax_scale()하고 scaler(data)하면 에러가 발생하고 괄호없이 scaler = minmax_scale 만해야 에러가 발생하지 않더라구요. 이게 구름 환경만의 특성이라서 그렇다고 보면 될까요?
쉽게 처음하는 파이썬 고급 크롤링 [Scrapy, Selenium, Headless Chrome]
안녕하세요 저는 비전공자이고 풀스택 전과정 + 고급 크롤링 강의를 듣고있는 수강생입니다. 우선 너무 좋은 강의 정말 잘 듣고 있습니다. 저는 코딩을 아예처음 접하고있어서 어느쪽으로 가고싶은지 전혀 갈피가 없었는데요. 하다보니 데이터과학이 제가 하고싶었던 분야라는것을 알게되었습니다. 항상 외주로 개발자를 구해서 돈을 주고 프로그램을 제작하는것을 자주해왔는데요. 개발비로도 2000만원이상을 쓴것 같습니다. 그런데 제가직접 해보고자 이곳을 찾아왔고, 데이터 과학이 제가 생각한 분야라는것을 고급크롤링 강의들으면서 알게되었습니다. 그런데 궁금한점은 개발자에게 외주를 맡기면서 항상 GUI 방식의 프로그램을 받아서 그것으로 크롤링 및 자동화 프로그램들을 주로 외주를 맡겨왔었는데요. 강의 내용을 계속보고있는데 GUI 에 관한건 없더라구요. 제가 못찾는건지 별도 다른강의가 있는건지 알고싶습니다. 저는 GUI에 자동화 소스를 버튼처럼만드는 그런 프로그램을 만들고 싶거든요 ! 강의내용의 질문은 아니지만, 그 강의가있다면 추가로 구매해서 수강하고싶습니다. 답변 부탁드립니다
자바스크립트를 활용한 풀스택 개발자(MERN스택) _프로젝트 2개월 과정을 모집합니다. **본 과정은 자바스크립트로 웹과 서버를 개발하는 MERN스택 과정으로 10명 이하 소수인원으로 운영되는 맨투맨 강의 입니다. ■커리큘럼 1. 환경구축 - 리눅스 가상화, Git/Github 2. 웹프로그래밍 - HTML5, Express.JS, JavaScript, ECMA6, React.js, Node.js 3. SQL - MongoDB, MySQL ■ 프로젝트 안내 페이스북이 개발한 React.js를 통해 프론트서버를 구축하고 SPA 개발 Node.js를 통해 서버사이드 개발 Restful API 서버를 개발하여 모바일과 웹에 빠르게 대응 가능한 웹앱 개발 Node.js와 Javascript를 사용하여 웹사이트용 서버를 만들고 RDBMS와 데이터 전송을 체크 하여 웹게시판 CRUD 개발 및 구축 ■주 대상자 취업을 위한 프로젝트 경험 및 포트폴리오가 필요하신 분 웹디자인, 퍼블리싱 경험자 중 개발자로 이직하고자 하시는 분 웹개발에 대한 전반적인 이해도가 필요하신 분 IT기업 취업을 위한 전문 컨설팅이 필요하신 분 ■ 수강생 특전 차등국비지원 훈련장려금 약 11만원 지급 국취제도 참여시 최대 50만원 차등지급 코딩용 노트북 현업 개발자 멘토링 NCS 이수증&수료증 발급 전문 취업컨설턴트 1:1상담 기업매칭 및 취업지원 가산디지털단지 도보 5분 ■ 필수조건 국민내일배움카드 발급 및 신청 가능자 자기부담금(85만원) 신청 링크(지금 바로 신청하세요!) ↓↓ https://forms.gle/8Uho7Ptb8CZzxTb3A 카카오톡 상담 링크(더 자세한 내용을 원한다면?)↓↓ https://pf.kakao.com/_JxlIxixj 강의 상세정보 및 프로젝트 소개영상 보기↓↓ https://youtu.be/kktRiIlpVqg ADDINDEU 홈페이지 ↓↓ http://addinedu.com/sub/edu_view.php?ge_id=17