스터디
-
코드트리 사용 후기: 다시 만난 코드트리 (작년과 어떤 점이 달라졌을까?)
코딩테스트를 준비하며 효과적인 학습 도구를 찾던 중, 작년에 처음 코드트리를 접했습니다. 원하는 난이도의 문제를 쉽게 찾고, 상세한 해설을 제공받을 수 있어 인상 깊었습니다. 작년 1기에 이어 이번에 코드트리 X 글또 블로그 챌린지 2기에 참여하게 되어 한 달간 코드트리를 집중적으로 활용하며 서비스의 변화를 체험해 보았습니다. 학습 동기를 부여하는 XP 시스템코드트리의 XP 시스템은 게임처럼 문제를 풀면서 경험치를 쌓고 목표를 달성하는 방식입니다. 학습 목표를 설정하고 이를 충족하면 성취감을 느낄 수 있어 꾸준한 학습을 유도하는 데 효과적이었습니다. 맞춤형 커리큘럼 제공코드트리는 사용자의 실력에 맞춘 6단계의 Trail(커리큘럼)을 제공합니다. Novice Low (Trail 1): 기초 문법 학..
-
EMR Serverless와 Step Functions으로 Spark ETL 구축하기
아래 글은 EMR Serverless + Step Functions: Python to Spark마이그레이션 작업을 위해 실험을 했던 과정을 기록한 것으로 잘못된 부분이 있거나, 최적화 되지 못한 부분이 존재할 수 있습니다.1. 개요 기존에는 물리 서버에 구축된 jupyter hub환경에서 python으로 데이터 처리 후 아래와 같은 구조로 작업을 진행했다.기존 환경에서는 빠른 개발과 테스트가 가능했지만, 확장성과 유지보수 측면에서 한계가 있었다. 또한, Python에서도 multiprocessing 같은 라이브러리를 활용하면 멀티프로세싱을 통해 병렬 처리를 수행할 수 있다. 하지만, 이러한 방식은 기본적으로 단일 머신의 CPU 리소스에 제한 되기 때문에, 대량의 데이터를 다룰 때는 결국 클러스터 기반..
-
Teleport 기반 Core Tunnel 도입으로 로컬 개발 환경 효율성 극대화하기
0. 개요JupyterHub를 통해 개발을 하고 있고 Teleport의 HTTP Proxy 기능을 활용해 원격 사용자가 웹 브라우저를 통해 안전하게 접속할 수 있도록 설정되어 있습니다. 최근 Teleport를 사용한 Proxy 연결 중 알 수 없는 끊어짐이 간헐적으로 발생하고 있어, 세션 안정성을 강화하기 위한 대안으로 SSH 기반의 기술을 통해 WEB JupyterHub를 사용할 수 있는 환경을 구축하기로 하였습니다. 그렇게 결론을 짧게 말하자면 SSH 연결을 통해 vs code에서 로컬 개발 환경을 구축하여 간단하게 작업도 가능하게 되었습니다.Teleport를 사용하고 있음에도 왜 core tunnel이라는 것을 도입했는지, 도입했을때의 장점에 대해 알아보도록 하겠습니다. 특징Teleport HTTP..
최신 글
-
EMR Serverless 외부 라이브러리 참조 방법
ecr , 가상환경 압축 후 s3업로드 등등 이있다. 그중 가상환경을 압축하여 전달할 수 있는 방법 소개한다.1. 사전 준비 사항 AWS CLI가 설치 및 설정되어 있어야 합니다. (로컬에서 하는 경우) Python(3.9 등 사용 버전) 및 virtualenv 또는 venv 모듈이 사용 가능한 환경이어야 합니다. 동일한 CPU 아키텍처에서 작업을 진행해야 합니다. 예를 들어, AWS EMR Serverless의 노드가 ARM64 아키텍처라면, 동일한 ARM64 머신(예: Graviton 시리즈(Amazon Linux 2/2023))에서 가상환경을 생성해야 합니다. CPU 아키텍쳐를 이해하는데 도움이 된 글 : 이제는 개발자도 CPU 아키텍처를 구분해야 합니다. (김형섭님) 이제는 개발자도 CPU 아키텍..
-
sublime text 단축키 정리
아래 표는 Sublime Text 4 (Build 4192 기준)으로 Windows/Linux와 macOS에서 주로 사용되는 단축키들을 정리한 것입니다.(기본 설정 그대로일 때의 단축키이며, 사용자가 Key Bindings를 변경했거나 플러그인에 따라 다를 수 있습니다.) 1. 기본 파일/창 관리기능Windows/LinuxmacOS설명새 파일(탭)Ctrl + NCmd + N새로운 빈 탭(파일) 열기새 창Ctrl + Shift + NCmd + Shift + NSublime Text 새 창 열기파일 열기Ctrl + OCmd + O파일 열기 대화상자파일 저장Ctrl + SCmd + S현재 파일 저장다른 이름으로 저장Ctrl + Shift + SCmd + Shift + S현재 파일을 다른 이름으로 저장닫기(현재..
-
코드트리 두 달 사용 후기: 실무자가 추천하는 효과적인 코딩테스트 준비법
이 포스팅은 코드트리 x 글또 블로그 챌린지 2기를 통해 코드트리 체험권을 받아 작성한 후기입니다. 안녕하세요. 저는 현재 데이터 엔지니어로 근무하고 있는 개발자입니다. 지난달에 이어 이번 달에도 코드트리 × 글또 블로그 챌린지 2기에 참여하며 두 달간 코드트리를 이용해봤는데요, 이번에는 실무에서 느낀 점과 실제 코딩테스트에 얼마나 도움이 되었는지 공유해 보겠습니다.1. 코드트리의 강점, 맞춤형 학습 커리큘럼코드트리의 가장 큰 장점 중 하나는 실력 진단을 통해 자신의 수준에 맞는 맞춤형 커리큘럼을 제공한다는 점입니다.저는 Intermediate Low 단계에서 시작해 BFS, DFS, DP와 같은 알고리즘 문제를 중점적으로 공부했는데요, 덕분에 실무나 코딩테스트에서 자주 접하는 문제 유형을 보다 체계..
-
Spark에서 .option("someKey", "someValue") 와 같이 정의되지 않은 옵션을 줘도 에러가 나지 않는 이유
아래 글은 Apache Spark에서 데이터를 읽거나 쓸 때, .option("key", "value") 형태로 임의 옵션을 넘기면 왜 에러가 나지 않고 무시될 수 있는지, 그리고 MongoDB Spark 커넥터처럼 버전에 따라 옵션 이름이 달라질 때 어떤 일이 생기는지 간단히 정리한 포스트입니다.0. 배경Spark에서는 DataFrameReader(또는 DataFrameWriter)를 사용할 때예) df = ( spark.read .format("mongodb") .option("uri", "mongodb://...") .option("pipeline", '[{ "$project": {...} }]') # 예: 파이프라인 옵션 .load()) 이..
-
Docker Jupyter 컨테이너에서 볼륨 마운트 시 권한 문제 발생 및 해결
매번 컨테이너 생성 할 때마다 호스트(ec2-user)와 컨테이너 내부(jovyan)의 권한이 일치하지 않아 에러가 발생해 해결과정을 기록해본다. 구체적으로는 EC2에서 SSH로 접속한 ec2-user가 컨테이너 내부의 /home/jovyan/work 디렉토리 (호스트 디렉토리로 볼륨마운트) 에 대한 변경 권한이 없었기 때문에발생한 문제로 어떻게 해결했는지 기록합니다. 1. 문제의 핵심 정리EC2에서 SSH 접속 시, 기본적으로 호스트의 ec2-user(UID=1000, GID=1000)로 로그인.Docker 컨테이너 내부의 jovyan은 UID=1000, GID=100(users)./home/jovyan/work 디렉토리의 소유자가 root 로 되어 있어서 jovyan도 변경할 수 없는 상태였음.cho..
-
코드트리 사용 후기: 다시 만난 코드트리 (작년과 어떤 점이 달라졌을까?)
코딩테스트를 준비하며 효과적인 학습 도구를 찾던 중, 작년에 처음 코드트리를 접했습니다. 원하는 난이도의 문제를 쉽게 찾고, 상세한 해설을 제공받을 수 있어 인상 깊었습니다. 작년 1기에 이어 이번에 코드트리 X 글또 블로그 챌린지 2기에 참여하게 되어 한 달간 코드트리를 집중적으로 활용하며 서비스의 변화를 체험해 보았습니다. 학습 동기를 부여하는 XP 시스템코드트리의 XP 시스템은 게임처럼 문제를 풀면서 경험치를 쌓고 목표를 달성하는 방식입니다. 학습 목표를 설정하고 이를 충족하면 성취감을 느낄 수 있어 꾸준한 학습을 유도하는 데 효과적이었습니다. 맞춤형 커리큘럼 제공코드트리는 사용자의 실력에 맞춘 6단계의 Trail(커리큘럼)을 제공합니다. Novice Low (Trail 1): 기초 문법 학..