AI/AI TECH

[플레이데이터 SK네트웍스 Family AI 캠프 21기] 2주차 회고

i-moo 2025. 10. 5. 00:34
반응형

시간이 벌써 일주일이 넘게 지났고,,,
아무래도 샌드위치 추석이 있어서 휴가쓰는 수강생들이 많아 이번주는 살짝 어수선한 느낌이 있었다.

중고 맥북을 구매해서 이번주부터는 맥북으로 수업을 들었다.
강사님께서 수업 중 맥북은 이걸 쓰면 될거다~ 라고 말씀 해주셔서 쉽게 따라갈 수 있었다.

추가로,,, iOS 개인앱 배포도 있어서 새벽 2시에 잠들어서 새벽 6시 좀 넘어서 기상해서 학원을 나왔다.
하루 지날수록 컨디션이 안좋아졌는데 다행히 10월 3일 금요일이 쉬는 날이라 버텼다!!!
iOS 개인앱도 배포 완료!! ✌️

이번주에 제일 맛있게 먹은 히나타 가츠동!

 

 

[플레이데이터 SK네트웍스 Family AI 캠프 21기] 1주차 회고

OT어떤 내용들로 6개월을 채우게 될까 걱정반 기대반을 하고 있었는데 OT날이 불쑥 다가왔다.한달, 두달이 아닌 6개월은 예상치 못한 일들이 발생할 수 있는 기간이라 휴가, 병가, 조퇴 등 사용하

itstudentstudy.tistory.com

2주차 수업

📌 Class

 

클래스 객체가 생성될 때, heap 메모리에 공간을 생성하고,
클래스 __init__함수에서 첫번째 인자 self는 생성중인 heap 메모리 객체를 전달한다.

class 메소드 정의할때 첫번째 인자는 무조건 self여야한다.
따로 인자를 넣어줄 필요는 없고 클래스 변수를 통해서 함수를 호출하는데 그 과정에서 자동으로 해당 클래스 변수의 메모리 객체가 넘어가게 되는 형태.

Class의 상속

Class의 다중상속에서 새로 배운 점이 있어서 공유하려고 한다. 다중 상속시 메소드 호출할 때 그 메소드를 찾는 순서가 있다는 점.

class C(A,B):
    def sum(self): ...
    def mul(self): ...

1. 자기 자신
2. 상위클래스 (왼쪽 -> 오른쪽) : 먼저 선언한 A 클래스부터 찾은 후 없을 때, B 클래스에서 찾는다.

c.mul 메소드 호출시,
1. 자기 자신 C클래스에서 mul 메소드 찾기 > 찾은 후 종료.

c.add 메소드 호출시,
1. 자기 자신 C클래스에서 add 메소드 찾기 > 없음
2. A클래스에서 add 메소드 찾기 > 찾은 후 종료.

c.num 메소드 호출시,
1. 자기 자신 C클래스에서 num 메소드 찾기 > 없음
2. A클래스에서 num 메소드 찾기 > 없음
3. B클래스에서 num 메소드 찾기 > 찾은 후 종료.

mro() : C클래스가 어디서부터 어떻게 찾을것인지 알려주는 함수가 있다.

C.mro()
# [__main__.C, __main__.A, __main__.B, object]

 

📌 isinstance 클래스 객체 타입 확인 방법

isinstance(c, A) # True
isinstance(c, D) # False

그 외, 클래스 내용은 따로 정리해놨다.

 

[Python] 클래스의 던더 변수 및 메소드

class T: def __init(self, num): self.num = num def __call(self, value): return self.num + value def __str__(self): return f"T > num : {self.num}" def __add__(self, value) -> int|float|None: if isinstance(value, (int|float): return self.num + value else: re

itstudentstudy.tistory.com

 

[Python] 클래스와 변수 + 접근지정자 getter, setter

📌 클래스 변수(Class Variable)와 인스턴스 변수(Instance Variable)클래스 변수 : 클래스가 공유하는 변수 (모든 객체가 같은 값을 가짐)인스턴스 변수 : 객체마다 독립적으로 가지는 변수class Person: # 클

itstudentstudy.tistory.com

📌 예외처리 try-except

파이썬은 공부할수록 너무 유연해서 장점이지만 단점 같기도 하다.
이번에 예외처리 배우면서도,,, Except가 존재하는 코드가 있으면 무조건 처리해주는 형태가 없다는 사실이,,,
휴먼에러가 더 많이 생기는거 아닌가? 너무 별론데..? 하는 생각들로 가득찼다.
그러면서 또하나 드는 생각이 이렇게 유연하기때문에 AI 개발할 때 파이썬이 크게 클수있었던걸까? 자유롭게 유연하게 잘 쓰였기 때문에? 하는 생각들도 했다.

예외해야하는 코드가 있다는 것을 강제하는건 없고 파이썬은 이것을 doc string으로 풀어낸다.🤔

def divide(num1, num2):
	"""
	함수 설명
	Args:
		파라미터 설명
	Returns:
		리턴값 설명
	Raises:
		Exception : 파라미터 num2가 0인 경우 발생
	"""

try - except-else-finally

try:
	# except 날 수 있는 코드
except:
	# except 발생하는 경우, 오류 발생 
else:
	# except 발생하지 않은 경우, 정상
finally:
	# 무조건 실행되는 코드

else문은 except가 발생하지 않은 경우, 실행되는 코드라고 하는데 왜 사용되는 걸까? else 존재하는 이유는❓

잘 사용하지 않는다고 하지만 존재하는 이유가 궁금해서 찾아봤다.

def divide(num1, num2):
    try:
        print("start")
        num1 / num2
    except:
        print("error")
    else:
        print("success")
    finally:
        print("end")

divide(10, 0)
print("-"*20)
divide(10, 5)

"""
start
error
end
--------------------
start
success
end
"""

찾아보니 크게 2가지 이유가 있다.

1. try문에 들어가는 코드는 예외처리가 날 수 있는 코드이며,
else문에 들어가는 코드는 안전한 코드이다.
즉, 개발자들이 구독성을 높이고 자신의 의도를 명확하게 전달하기 위해 많이 사용된다고 한다.
try 안에 들어가는 코드가 길어질 때는 else 문을 활용하는 것이 좋아보였다.

2. 밑에 출력된 값을 확인해보면 end 전에 success가 출력된다.
예외처리문은 파일|DB 연결, 네트워크 요청을 진행하는 경우가 많은데 정상적으로 처리 후 end가 되기 전에 처리해야되는 일들을 처리할 수 있다.
사실 해당 부분도 굳이 하자면 try 문에 다 넣어도 되지만 연결이 완료 후 처리해야될 일들은 try문에 없어도 된다. 그치만 end 되기 전에는 실행되야함. 그런 경우, else 문을 사용하기 좋다.

파일|DB 연결 부분은 try-except 예를든거고 자원 가져다가 쓰고 끊어야하는 경우,
Python에서는 with문을 쓴다고 한다.
공부해봐야지,,,

 

contextlib — Utilities for with-statement contexts

Source code: Lib/contextlib.py This module provides utilities for common tasks involving the with statement. For more information see also Context Manager Types and With Statement Context Managers....

docs.python.org

📌 PYTHONPATH

PYTHONPATH 안에 없으면 import 모듈로 찾을 수가 없다.

sys.path는 list 타입! index 0부터 해당하는 모듈이 있는지 찾는다.

'' 빈 스트링은 현재 디렉토리 파일 모듈 모두 찾을 수 있다.

import sys
sys.path

# [표준 모듈(1st party), 현재 디렉토리(2nd party), 외부 모듈(3rd party - 추가적으로 설치한 라이브러리들)]
'''
['/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python39.zip',
 '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9',
 '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload',
 '',
 '/Users/kim/Library/Python/3.9/lib/python/site-packages',
 '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/site-packages']
'''

현재 프로젝트에서 외부모듈 만들어서 import 해줘야하는 상황 > sys.path에 추가해준다,,
캐시 형태라 프로젝트를 닫으면 다시 추가해줘야함. 그게 싫으면 환경변수에 저장해줘야됨!

sys.path.append("Users/kim/temp/test_module")
sys.path

'''
['/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python39.zip',
 '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9',
 '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload',
 '',
 '/Users/kim/Library/Python/3.9/lib/python/site-packages',
 '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/site-packages',
 'Users/kim/temp/test_module']
'''

📌 특강 : AI 엔지니어의 이야기

천재교육 조한삼 본부장님께서 오셔서 강연해주셨다.

  • 전문분야에서 AI 기술을 접목시켜 키워나가는 것
  • 트랜스포머에대해 무조건 공부해라.
  • AI 아키텍트와 데이터 엔지니어 무엇을 선택할 것인지?
  • 이제는 깊이 아는 것보다 스펙트럼을 넓혀라. 깊이는 AI가 해준다.
  • 주관적인 의견이지만, 자격증은 있으면 좋다.
    빅데이터분석기사, 정보처리기사,,,
  • LangChain
  • Fine-tuning : Llama-Factory, Unsloth

📌 PEEC✌️

지난주차에 PCCP 응시했다가 뚜드려 맞고 내 실력을 제대로 알자. 하고 신청한 PEEC!
SKN 21기 만을 위한 특별 코딩테스트였다. 다행이면서도 아쉽게 빈칸 하나 틀렸나보다😭
근데 놀랍게도 그 빈칸문제 뭔지 알 것 같아,,, 시간 나오던 7번 문제였나ㅎ before24,,,,???😡
결국 알고리즘을 몰라서 문제인건데,,, PCCP 목표로 코딩테스트 공부를 시작해봐야겠다.

KPT

Keep : 현재 만족하고 있는 부분

저번주차는 코딩테스트, 이번주차는 특강 하면서 주마다 이벤트가 있었다.
특히 현업자에 이야기 특강에서 현재 AI가 어떻게 살아가고 있는지? 어떤 공부를 하면 되는지? 이런 내용들에대해 현실적으로 알려주셔서 너무 좋았다. 더 많은 이야기를 듣고 싶다.👍

Problem : 불편하게 느끼는 부분

초반 진도는 여전히 아쉽긴하다.
그래도 집중해서 python 빠짝 공부했어야했는데,,, 우선순위를 놓쳤다.
집중하지 못하고 iOS 개인앱 버그 찾는데 더 집중한 적도 있었기때문,,,,,🥲

Try : Problem에 대한 해결책

Python 고급 내용까지 공부해보자!
딴짓하지말고 Python에 집중하자.

- python overloading, with문 공부해야됨!!!
- 알고리즘!! 📚

 

반응형