전체 글
-
프로그래밍 언어와 파이썬Python 2021. 5. 19. 21:04
파이썬(Python)은 1980년대 후반 귀도 반 로썸이라는 네덜란드 프로그래머가 고안한 하이레벨 하이브리드 프로그래밍 언어입니다. 이러한 파이썬을 알아보기 위해서, 이번 글에서 프로그래밍 언어는 무엇이고 그러한 프로그래밍 언어에 속하는 다양한 언어 중 파이썬은 어떠한 특징을 가지고 있는지 알아보겠습니다. 프로그래밍 언어란? 파이썬 언어의 특징들 프로그래밍 언어란? 프로그래밍 언어는 다수의 작성자들이 텍스트 형태로 이뤄진 문서를 통해 컴퓨터에게 특정 작업의 절차를 전달하기 위해서 사용됩니다. 그렇기에 대부분의 프로그래밍 언어는 '지시어(instruction)'로 구성되어 있습니다 [2]. 예로, 한 배달앱 사용자의 핸드폰에서 발생된 요청이 컴퓨터에게 전달되면 그러한 요청을 어떠한 절차로 처리하고 무엇을 ..
-
대규모 시스템에서 발생하는 데이터 처리 (feat. 패스트캠퍼스 온라인 'THE RED : 4천만 MAU를 지탱하는 서비스 설계와 데이터 처리 기술')SE Concepts 2021. 5. 19. 08:01
이번 글에서는 강의에서 다뤄진 2번째 주제인 '대규모 시스템에서 발생하는 데이터 처리' 부분을 살펴보겠습니다. 역시 이전 글과 같이 넓은 시각에 대한 공유는 존재하나, 전체적인 구조와 디테일에 있어서 정리가 잘 되어 있지 않은듯 하여 주제별로 다른 리소스를 참고하였습니다. 이전글: 확장성 및 안정성 있는 시스템에 관하여 (feat. 패스트캠퍼스 온라인 'THE RED : 4천만 MAU를 지탱하는 서비스 설계와 데이터 처리 기술') 아래와 같은 구조로 데이터의 종류에서부터 저장, 처리와 같은 방향성을 가지고 전달드려 보겠습니다: 데이터 종류 데이터 모델과 쿼리 언어 데이터 저장 데이터 처리 데이터 종류 데이터의 종류는 다양한 관점으로 구분해볼 수 있습니다. 단순히 파악을 위해서만이 아니라 특정 상황에서 그..
-
Apache Spark(PySpark) Matrix Factorization 최적화하기Data 2021. 5. 15. 15:55
이번 글에서는 데이터 엔지니어로 근무하며 진행한 MF 최적화 작업을 바탕으로, 최적화 시에 어떠한 관점으로 접근했는지와 관련 자료를 정리해보려 합니다. Reference [1] Advanced Apache Spark Training - Sameer Farooqui (Databricks) [2] Tuning Apache Spark for Large-Scale Workloads [3] SOS: Optimizing Shuffle I/O [4] Deep Dive: Apache Spark Memory Management [5] Matrix Computations and Optimization in Apache Spark [6] Getting The Best Performance With PySpark [7] Ap..
-
확장성 및 안정성 있는 시스템에 관하여 (feat. 패스트캠퍼스 온라인 'THE RED : 4천만 MAU를 지탱하는 서비스 설계와 데이터 처리 기술')SE Concepts 2021. 5. 13. 00:44
이번 주제에서는 '카카오페이지 기술전략이사 윤진석' 님이 진행하신 강의에 대하여 초반부를 제외한 '확장성 및 안정성 있는 시스템', '대규모 시스템에서 발생하는 데이터 처리'와 관련해 각각 주제를 정리하며 수업 내용의 요약을 곁들여보려 합니다. 다음글: 대규모 시스템에서 발생하는 데이터 처리 (feat. 패스트캠퍼스 온라인 'THE RED : 4천만 MAU를 지탱하는 서비스 설계와 데이터 처리 기술') 총 2개의 페이지로 나누어 이번 글에서는 전자인 '확장성 및 안정성 있는 시스템' 부분을 살펴보겠습니다. 개인적으로 강의 내용 중 넓은 시각에 대한 공유는 존재하나, 전체적인 구조와 디테일에 있어서 정리가 잘 되어 있지 않은듯 하여 주제별로 다른 리소스를 참고하였습니다. 웹의 확장성이란 웹 확장성을 이루는..
-
중소기업 식품연구원이 하는 일 (feat. 2년차)Career 2021. 4. 10. 11:21
식품연구원은 식품의 연구개발 및 운영유지보수를 담당합니다 [1]. 중소 식품업체에서의 식품연구원은 '식품 연구'보다는 '제품 개발 및 운영유지보수'의 업무를 주로 담당하게 됩니다. 이번 글에서는 중소기업 식품연구원으로 어떤 상황에서 어떤 업무를 진행했는지 2년 간의 경험을 공유드려, 유사한 형태의 직무에 관심이 있으신 분에게 도움이 되고자 합니다: 식품연구원이 하는 일 제품 개발 제품 운영유지보수 식품연구원이 하는 일 식품연구원은 식품의 처리·저장·가공 기술 연구 개발을 담당합니다. 식품으로 생산되는 빵의 품질 개선을 위한 공정 연구나 포장재 연구, 기초 소개 연구 등 다양한 부분이 존재합니다. 이러한 연구적 성격의 업무는 보통 규모가 있는 식품기업의 연구 담당 조직이나 공공기관 또는 대학 연구소에서 주..
-
품질의 집 (House of Quality)SE Concepts 2021. 4. 5. 20:30
품질 기능 전개(QFD, Quality Function Deployment)의 기본적인 디자인 도구인 '품질의 집 (House of Quality)'는 1972년 미쯔비시 고베 조선소에서 탄생하였습니다 (1966년으로 언급되기도 합니다 [1]). 이후 도요타와 도요타 공급업체에서 품질의 집을 다양한 방식으로 개발해 나갔습니다. 품질의 집은 일본의 가전, 가구, 의류, 반도체 등의 다양한 제조업에서 성공적으로 도입되었습니다. method to transform qualitative user demands into quantitative parameters, to deploy the functions forming quality, and to deploy methods for achieving the des..
-
셀레니움 내부구조 (Selenium Internals)SE General 2021. 3. 29. 21:48
이 글에서는 자동화 웹 테스트나 웹 스크래핑을 진행해보셨다면, 한 번쯤은 들어보셨을 셀레니움(Selenium)의 내부구조를 살펴보려 합니다. 먼저 넓은 범위의 아키텍쳐를 살펴보고, 실제 주요 로직이 어떻게 동작하는지 코드 레벨까지 살펴보도록 하겠습니다: 셀레니움이란? 셀레니움 아키텍쳐 파이썬 Selenium 요청의 flow 셀레니움이란? 셀레니움의 시초는 2004년 Thought Works에서 Jason Huggins가 내부 도구로 개발한 JavaScriptTestRunner입니다. 그러한 JavaScriptTestRunner는 Selenium Core가 되어 현재의 Selenium을 이루고 있습니다. 발전하던 Selenium에 남아있던 문제 중 한 가지는 로컬 환경에서의 "Same Origin Poli..
-
테크니컬 라이터란? (Technical Writer)SE General 2021. 3. 28. 17:07
헤드헌터를 통해 들어온 토스의 데이터 엔지니어 직무를 살펴보던 중 토스페이먼츠가 'Technical Writer'를 채용하고 있는 것을 발견하였습니다. 동시에 과거 Facebook 출신의 회사 동료의 "페이스북 문서의 90% 정도를 천재적인(?) Technical Writer 한 명이 작성하였다"(진위는 생략...)는 말이 생각났습니다. 이 기회에 테크니컬 라이터의 Job Description 및 국내외 동향을 살펴보고, 그러한 역량을 어떻게 기를 수 있는지(또는 교육 코스는 어떤지) 살펴보고자 작성하였습니다: 테크니컬 라이터란? 국내외 해당 직무에 대한 시장 어떻게 역량을 기를 수 있을까? 테크니컬 라이터란? 테크니컬 라이터란 전문적인 정보 커뮤니케이터로, 다자간 정보를 가장 잘 전달하고 이해시킬 수 ..