쿠팡 창원4센터 웰컴데이 후기 (준비물, 진행 과정, 분위기)
·
Career
안녕하세요! 학교를 다니면서 종종 쿠팡이나 마켓컬리 단기알바를 다녀오곤 했었는데요, 이번에 쿠팡 창원4센터 계약직으로 지원하게 되어서 최근에 쿠팡 웰컴데이를 다녀왔어요. 오늘은 그 후기를 남겨보려고 합니다!웰컴데이가 뭐예요?쿠팡 웰컴데이는 하루 동안 쿠팡에서 실제로 근무를 해보고, 그 경험을 바탕으로 계속 근무할지 직접 정할 수 있는 제도예요. 정식 계약 전에 미리 분위기와 업무 강도를 체험해볼 수 있어서 고민 많은 분들께는 유용한 제도인 것 같아요.지원 및 신청 과정쿠팡 풀필먼트 서비스 계약직 지원 사이트에 들어가서 이름, 생년월일, 연락처, 그리고 주소(가까운 근무지로 배정받기 위함이에요!)를 입력하면 끝이에요.이렇게 신청하고 나면 24시간 내로 쿠팡 채용담당자분께 전화가 옵니다!전화를 받으면 채용 ..
Apache Airflow 제대로 이해하기
·
Data/데이터 분석
Apache Airflow 제대로 이해하기1. Apache Airflow란?워크플로우(Workflow) 자동화 및 스케줄링을 위한 오픈소스 플랫폼이다.2. 구성요소WebServer / Scheduler / Executor / Workers + DAG(Directed Acyclic Graph)Airflow WebServerAirflow의 UI를 제공하는 컴포넌트. Flask 기반으로 동작하며, 사용자는 이 웹 UI를 통해 등록된 DAG 목록을 확인하고, 각 Task의 실행 상태(성공/실패/실행중/스킵 등)를 그래프 뷰나 그리드 뷰로 시각적으로 확인할 수 있다. 특정 Task의 로그를 바로 조회하거나, DAG를 수동으로 트리거(trigger)하고, 실패한 Task를 재시작(retry)하는 것도 이 화면에서 ..
[JobStream #4] Kafka를 활용한 이벤트 기반 아키텍처 적용
·
Project/JobStream
jobstream · devlog · week 2 JobStream 개발기크롤러와 Kafka 파이프라인 연동하기 개인 프로젝트 JobStream의 2주차 목표였던 "크롤러 → Kafka → DB 저장" 파이프라인을 오늘 드디어 끝까지 연결했다. 먼저 읽으면 좋은 글 Apache Kafka 핵심 개념 정리 (Topic, Broker, Partition, Consumer) Kafka는 대용량의 실시간 데이터를 빠르고 안정적으로 전달하기 위한 분산 이벤트 스트리밍 플랫폼이다. Topic, Broker, Partition, Consumer 등 기본 개념은 이 글에서 먼저 정리해두었다. 크롤러(Producer) ──▶ jobstream.crawl..
Apache Kafka 핵심 개념 정리 (Topic, Broker, Partition, Consumer)
·
Data/기타
1. Apache Kafka란?Apache Kafka는 대용량의 실시간 데이터를 빠르고 안정적으로 전달하기 위한 분산 이벤트 스트리밍 플랫폼(Distributed Event Streaming Platform)이다.Kafka는 Scala 언어로 개발된 오픈소스 메시지 브로커 프로젝트로,데이터를 생산하는 Producer와 데이터를 소비하는 Consumer 사이에서 데이터를 안정적으로 전달하는 역할을 수행한다.Producer와 Consumer를 연결하여 데이터를 안정적으로 전달하는 메시지 브로커2. Kafka 주요 개념Topic메시지를 분류하는 논리적인 저장 공간이다.파일 시스템의 폴더(Folder)와 유사한 개념메일함처럼 데이터를 분류하여 저장예시 : order, payment, user, logPartit..
[JAVA] 배열, 리스트 정렬하기 - 오름차순, 내림차순, 사용자 정의 정렬
·
Computer Science/알고리즘·코딩테스트
1. 배열 정렬Java에서는 배열을 Arrays.sort()를 이용하면 쉽게 정렬할 수 있다int[] numbers = {5, 1, 4, 2};Arrays.sort(numbers); -> 오름차순Arrays.sort(numbers, Collections.reverseOrder()); -> 내림차순 결과[1, 2, 4, 5]2. 리스트 정렬ArrayList의 경우 Collections.sort()를 사용해정렬한다 ArrayList list = new ArrayList();Collections.sort(list) -> 오름차순Collections.sort(list, Collections.reverseOrder()); -> 내림차순 3. ComparatorComparator는 기본 정렬 기준이 아닌, 사용자가..
[JobStream #3] 채용 데이터 플랫폼 설계하기: ERD 모델링과 크롤러 아키텍처 구축
·
Project/JobStream
이번 글에서는 실제 시스템 구현을 위한 첫 단계로 채용공고 데이터를 어떤 형태로 저장할 것인지, 그리고 ​여러 채용 사이트에서 데이터를 수집하기 위한 크롤러 구조를 어떻게 설계했는지를 정리합니다.이번 단계의 목표는 다음과 같습니다.채용공고 데이터를 효율적으로 관리하기 위한 데이터 모델 설계크롤링 대상 사이트별 변경에 대응할 수 있는 크롤러 구조 설계이후 데이터 분석 및 ML 모델 학습을 고려한 저장 구조 정의1. 데이터 모델 설계채용공고 데이터를 수집하기 전에 가장 먼저 고민한 부분은 "어떤 데이터를 저장해야 하는가"였습니다.단순히 채용공고 제목과 링크만 저장하는 경우 검색 서비스는 구현할 수 있지만, 이후 직무별 기술 스택 분석이나 채용 트렌드 분석에는 한계가 있습니다.따라서 다음과 같은 데이터를 관리..
[JobStream] #2 웹 크롤링 도구 선택: Playwright vs Selenium vs Scrapy
·
Project/JobStream
이번 방학 동안 데이터 엔지니어링 포트폴리오를 만들기 위해 JobStream이라는 프로젝트를 시작했다! JobStream은 사람인, 원티드와 같은 채용 플랫폼에서 채용공고를 주기적으로 수집하고, PostgreSQL에 저장한 뒤 데이터 분석이나 머신러닝에 활용할 수 있는 데이터 수집 파이프라인을 구축하는 것이 목표이다. 단순히 웹 페이지에서 데이터를 가져오는 수준이 아니라, 실제 서비스처럼 자동 수집, 데이터 저장, 예외 처리까지 구현하는 것을 목표로 하고 있다.프로젝트를 시작하기 전에 Python에서 많이 사용하는 웹 크롤링 도구들을 간단히 비교해 보았다.도구특징장점단점BeautifulSoupHTML 파싱가볍고 사용하기 쉽다JavaScript 렌더링 불가Selenium브라우저 자동화대부분의 사이트에서 동..
[JobStream] #1 - 채용공고 데이터 파이프라인 프로젝트 시작
·
Project/JobStream
1. 프로젝트를 시작한 이유취업 준비를 하면서 여러 기업의 채용공고를 찾아보는 과정에서 하나의 불편함을 느꼈다.데이터 엔지니어, ML 엔지니어 직무를 준비하면서 다양한 기업의 채용공고를 확인하고 있었지만, 채용 플랫폼마다 공고 형태가 다르고 필요한 기술 스택을 비교하기 어려웠다.예를 들면 다음과 같은 질문에 답하기 어려웠다.최근 데이터 엔지니어 채용에서 많이 요구하는 기술은 무엇일까?기업별로 요구하는 기술 스택에는 어떤 차이가 있을까?현재 내가 준비하고 있는 기술 방향이 실제 채용 시장과 맞는 방향일까?단순히 채용공고를 보는 것을 넘어, 채용 데이터를 직접 수집하고 분석하면 이러한 질문에 데이터 기반으로 접근할 수 있다고 생각했다.그래서 채용공고 데이터를 수집하고 분석하는 데이터 파이프라인 프로젝트 Jo..
[LeetCode] Longest Substring without repeating character
·
Computer Science/알고리즘·코딩테스트
https://leetcode.com/problems/longest-substring-without-repeating-characters/ Longest Substring Without Repeating Characters - LeetCodeCan you solve this real interview question? Longest Substring Without Repeating Characters - Given a string s, find the length of the longest substring without duplicate characters. Example 1: Input: s = "abcabcbb" Output: 3 Explanation: The answer is "leetcode..
[프로그래머스] 완주하지 못한 선수(Lv1) - JAVA
·
Computer Science/알고리즘·코딩테스트
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 설명수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해 주세요. 제한사항마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다.completion의..