Encore MLOps 1기

SK 네트웍스 Family 엔코아 AI Ready 데이터 엔지니어링 캠프 1기 -2회

2eelogan 2026. 7. 26. 18:29

1. 서론

 

엔코아 수강생으로 교육을 받은 지도 벌써 2주라는 시간이 흘렀다. 파이썬의 기초와 교육 내 적용되는 툴과 기초개념에 대한 강의가 주를 이뤘던 1주차에 비해, 기초지식을 응용하는 법에 대한 기초(?)를 2주차에서 배워나갔다.

 

파이썬을 처음 접하는 수강생이라면 많이 어려워한다는 "객체지향 프로그래밍", 속성과 메서드를 함께 다루는 class와 널리 대중적으로 사용하는 numpy, pandas, matplotlib, request 등 라이브러리와 모듈, Git과 Github 사용법 및 기초, 네트워크에 대한 이해와 BeautifulSoup를 활용한 크롤링까지 다양한 개념의 강의를 들으면서 이해하려고 노력하고, 탄탄한 기초를 위해 열심히 노력했다.

 

캠퍼스 내 도서관에서 IT 5분 잡학사전이라는 책도 대여했다. 무수히 많은 IT 서적 가운데, 현재 나에게 꼭 필요한 IT관련 용어와

기본지식을  비전공자 눈높이에 맞춰 쉽게 설명해주는 책이었다. 이동시간, 쉬는시간 등 많은 시간을 할애하지 않았음에도

책은 2~3일만에 다 읽을 수 있을 정도로 간결하고 몰입도가 높았다. 이런 책들을 무상대여 할 수 있다는 점이 너무 만족스러웠다.

 

2. 본론

 

# 첫번째 고비

 

class 공부 중 가장 헷갈렸던 것이 생성자(__init__)을 언제 써야하고 언제 쓰지 말아야 하는지였다.

해당 궁금증은 정규수업 종료 후 강사님에게 답변을 듣고 바로 이해가 되었다.

생성자(_init_과 메서드의 차이점)

 

생성자는 객체가 계속 가지고 있어야 할 정보를 초기화 하는것이고, 

메서드는 객체가 만들어 진 후 필요시점에 호출하는 기능이다.

이 부분은 강사님이 계속 강조하시는 python tutor를 통해 stack과 heap의 메모리 할당 순서를 확인하면서 공부하면

훨씬 이해가 더 빠르다고 느꼈다.

 

#두번째 고비

 

객체지향의 4가지 속성(캡슐화, 상속, 다형성, 추상화) 중 "상속"에 관하여 추가적으로 학습을 해보았다.

객체지향 프로그래밍 연습

 

자식클래스인 Dog는 부모클래스인 Animal을 상속받기 때문에 부모클래스의 name과 speak()를 그대로 사용할 수 있다.

따라서 print(dog.speak())가 가능하다.

super().__init__(name)은 부모클래스의 생성자를 호출하며 self.name을 부모클래스에 맡기게된다.

따라서 자식클래스는 self.voice = voice만 추가하면 된다.

 

이 코드를 조금 더 객체지향적으로 바꿔보았다.

 

객체지향 프로그래밍 연습

 

@abstractmethod를 통해 메서드를 overriding하고, 부모클래스에는 speak만 정의하고 실제 소리 내는 방법은

자식클래스인 각 동물에게 맡기게 됨으로써 한층 더 간결하고 알아보기 쉽게 바뀌었다.

 

이번 객체지향 프로그래밍을 연습하면서 부모클래스는 공통규칙만 정의하고 실제 기능은 자식클래스에게 위임하는것이

가장 보기좋고 누구나 알아보기 쉬운 객체지향적인 설계임을 느꼈다.

 

# numpy와 pandas

 

파이썬 내 수치 계산이나 데이터 분석을 위한 numpy와 pandas는 데이터 분석과 전처리를 하기위해 중요한 라이브러리이다.

배열과 행렬, 각 차원에 대한 설명과 DataFrame을 통한 row와 column에 대해 이해하는 시간을 가졌다.

필요한 모듈은 각 라이브러리 공식 홈페이지 documents를 통해 확인가능하다고 하니, 추후 궁금한점이 생기면 방문해야겠다.

또한 [거래/업무 처리]가 능한 OLTP(ROW) , [데이터 분석/의사결정]가 능한 OLAP(Column)에 대해 학습하였다.

 

 

pandas에서 중요한 깊은 복사와 얕은 복사의 개념 정리

 

# 크롤링

 

크롤링은 웹사이트(HTML)에 있는 정보를 프로그램이 자동으로 수집하는 것을 의미한다.

크롤링으로 뉴스 제목 수집, 쇼핑몰 가격 비교, 영화 순위, 환율 및 날씨 정보 등을 간편하게 확인할 수 있다.

requests로 HTML을 가져오고, BeautifulSoup를 통해 HTML를 분석 후 pandas를 이용해 데이터프레임으로 정리하는

과정으로 진행하는 것을 알 수 있었다.

마지막 날 수업이라 깊은 내용까지 진도가 나가진 않았지만, 간단히 정리해 보았다.

 

가상의 HTML을 활용하였다.

 

가상의 HTML 텍스트를 받아서 연습삼아 내가 원하는 속성을 가져오는 연습을 하였다.

지금은 3개 구문밖에 되지 않지만, 추후 많은 데이터들도 잘 다룰 수 있도록 연습이 많이 필요해보인다.

 

정확히 이해하고 싶은 사람의 print 온몸 비틀기

 

3. 결론

 

이번주도 역시 "새로운 것"들의 연속이었다. 무언가를 배운다는 것은 참으로 신기하고 의미있는 경험이다.

나 또한 배움을 즐기고있다. 이해가 되지 않는 개념들 붙들고 이해하려고 노력할때, 복습 파일이 늘어날때,

강사님의 강의가 점차 이해되기 시작할때 뿌듯함과 보람을 느꼈었다.

 

+ 다음주 PCCE 무료 응시가 가능하다고 해서 프로그래머스 코딩테스트 입문 문제를 몇 문제 풀어봤다.

0단계에서 막히는걸로 보아 조금은(사실 많이) 내실을 더 탄탄히 해야겠다고 생각했다.

역시 세상에 쉬운 것은 없나보다.