본문 바로가기

TIL

23.06.13

프록시 패턴(Proxy) / 프록시 서버

프록시 패턴은 클라이언트와 객체 간의 중개자 역할을 하여 추가 기능을 제공하거나 실제 개체에 대한 클라이언트의 액세스를 제어하는 디자인 패턴이다.

이를 통해 객체의 속성, 변환 등을 보완하며 보안, 데이터 검증, 캐싱, 로깅에 사용한다.


프록시 서버는 서버와 클라이언트 사이에서 클라이언트가 프록시 서버를 통해 네트워크 서비스에 간접적으로 접속할 수 있게 하는 컴퓨터 시스템이나 응용 프로그램이다.


이터레이터 패턴(Iterator)

여러 종류의 컬렉션의 요소들을 이터레이터를 사용하여 접근하는 디자인 패턴이다.

컬렉션: 객체의 모음, 그룹

이터레이터: 반복 처리가 가능한 객체


모델링: 함수를 도구로 사용하여 현상을 설명할 수 있도록 하는 작업

자연상수 e: 자연의 연속 성장을 표현하기 위해 고안된 상수, e = 2.71828...


데이터 레이크(Data Lake): Data source에서 발생하는 거의 모든 데이터를 수집하는 DB

  • 사전 정의된 구조 없이 방대한 양의 원시 데이터가 그대로 저장됨
  • 기업이 많은 양의 정형 및 비정형 데이터(ex. 소셜 미디어 또는 클릭스트림 데이터)를 저장하고, 이를 실시간 분석, 데이터 사이언스 및 머신러닝 사용 사례에 즉시 이용 가능하게 함
  • 데이터 레이크 사용 시 형식의 변경 없이 데이터를 원본 형식 그대로 수집 가능

데이터 웨어하우스(Data Warehouse): Data lake에서 필요한 데이터를 정리해서 적재한 DB

  • 일반적으로 데이터 웨어하우스 내에 저장된 데이터는 애플리케이션 로그 파일, 트랜잭션 어플리케이션 등 광범위한 소스로부터 추출된 것들
  • 보통의 경우 목적이 명확히 정의된, 구조화된 데이터를 보관

데이터 마트(Data Mart): 필요에 의해 만든 DB

  • 영업, 재무, 마케팅 등 단일 주제에 중점을 둔 단순한 형태의 데이터 웨어하우스
  • 데이터 웨어하우스보다 적은 소스로부터 데이터를 수집

백준 11718번 문제 - 그대로 출력하기

제목만 봤을 땐 그대로 출력하는 것이 무슨 어려움이 있겠는가 싶었는데, 최대 100줄의 입력이 주어지고 끝을 알려주는 정보가 없었다.

5단계 문제들 중 가장 오래 고민한 문제였지만 해결방법은 간단했다.

while True: # 계속 반복문을 실행하여
    try:
        print(input()) # 입력을 받아오고
    except: # 에러가 발생하면
        break # 반복문 중지

 


끔찍했던 논문 리뷰가 끝나고, 코드 실습으로 돌아오니 정말 좋았다. 놀라운 건 논문 리뷰에서 알아들은 게 없어서 배운 게 없다고 생각했는데, 막상 코드를 보니 전보다 라이브러리들이 친숙하게 다가왔다. 이 정도만 해도 나에겐 성공적인 논문 리뷰가 아니었나 싶다...

 

Kaggle의 Spaceship Titanic의 문제로 연습을 했는데 아직 Kaggle이 익숙지 않다 보니 전체적인 프로세스와 전처리 코드 작성이 힘들다. 하지만 이런 건 계속 부딪히다 보면 또 금방 익숙해지기 때문에 무섭진 않다. 또 코드 필사를 하다 보면 모르는 코드들도 사용하며 배우는 것도 많다고 생각한다.

 

다음 주부터 머신러닝 모델링 프로젝트가 시작이 되는데, 사전에 팀을 빌딩 할 수 있는 시간이 생겼다.

팀 프로젝트로 진행하고 싶은 마음에 팀원 구하는 공고를 기다리고 있었는데(먼저 모을 성격은 못되나 보다.)

개인적으로 프로젝트를 진행하는 팀들이 많아지는 모습들과 거기에 참여하는 인원들을 보니 다들 열심히 하는 동기들이 많았다. 그럼 랜덤으로 팀이 배정된다면 혹시 모를 불상사에 이런저런 걱정이 되어 나도 개인으로 프로젝트를 진행하기로 했다.

 

그래도 프로젝트 진행은 개인이지만 팀이 구성이 되어있긴 하기에 모르거나 어려운 부분이 있으면 팀원들과 회의해 가며 프로젝트를 잘 진행해보고 싶다.

'TIL' 카테고리의 다른 글

23.06.15  (0) 2023.06.16
23.06.14  (1) 2023.06.15
23.06.12  (0) 2023.06.13
23.06.10  (1) 2023.06.11
23.06.09  (0) 2023.06.10