전체 글 25

Class method vs Static method in python

메소드(method)에는 여러 종류가 있다. 그 중 오늘은 class method와 static method에 대해 알아보자! class method, static method 비슷하면서 목적이 다르다. class method 첫 인자로 cls를 갖는다 cls는 class를 뜻하며 일반적인 class 내부 method의 self의 역할에 해당한다. cls 인자의 의미는 "instance를 통해 method가 작용하지 않는다" 를 의미한다. class 변수에 접근할때 사용된다 factory method를 만들 때 주로 사용된다. static method 첫 인자로 cls, self 같은 인자를 받지 않는다. 일반 함수처럼 바로 인자를 받는다. instance를 통해 method가 작동하지 않는다 class..

python 2024.01.03

Docker와 Container

이번 글에서는 도커란 무엇인지 가볍게 햝고 가보자 한다. 1. 도커(docker)란 무엇인가? 도커는 컨터이너 기반의 가상화 플랫폼이다. 2. 그럼 container란 무엇인가? 위의 그림을 보면 인프라(서버 혹은 클라우드) 위에 OS시스템이(Linux) 올라가고 그 위에 도커가 컨테이너를 관리하는 플랫폼역활을 하게 되고 각 앱들은 컨테이너화 되어 있다. 각 앱별로 앱만의 공간의 독립성을 유지시키는 공간을 컨터이너(container)라고 부른다. 도커는 이 컨터이너들을 활성화(active) 하거나 비활성화(deacitve) 혹은 생성(build), 삭제(remove) 하는 것을 관리해 준다. 혹은 컨터이너에서 만들어진 자료를 외부에서 백업 할 수 있게 저장공간을 관리해준다. 즉 도커는 컨테이너를 관리하기..

docker 2024.01.02

terminal(ubuntu) 꾸미기

linux 터미널을 처음 접할때 너무 심심한 경향이 있다. 아래의 코드를 자신의 home directory의 .bashrc혹은 bash_history에 넣으면 터미널의 color와 command를 실행 했으때마다 "--------" 점선으로 block을 구분해주고 실행 시간을 표기해 준다! # Fill with minuses # (this is recalculated every time the prompt is shown in function prompt_command): fill="--- " reset_style='\[\033[00m\]' status_style=$reset_style'\[\033[0;90m\]' # gray color; use 0;37m for lighter color prompt_s..

ubuntu 2023.12.27

Spark 설치하기 in Linux - ubuntu

분산처리 프레임워크 Spark를 설치하는 법을 알아보자 과정 1. Spark 다운받기 2. linux 환경 변수 및 설정 3. spark 테스트 1. Spark 다운받기 linux에서 스파크를 다운 받기 위해서는 다양한 방법이있다. 1. gui를 사용가능하다면 https://spark.apache.org/downloads.html스파크 공식홈페이지에 접속하여 다운받으면 된다. 2. terminal을 이용하고자 한다면 wget https://dlcdn.apache.org/spark/spark-3.5.0/spark-3.5.0-bin-hadoop3.tgz 명령어를 이용하여 자신의 홈폴더에 다운받도록 하자. 압축풀기 tar -xvf {spark-tgz file} tar 커멘드를 통해 압축을 풀어주자. spark..

spark 2023.12.22

동기(sync)&비동기(async)

sync와 async의 차이는 무엇일까 동기적 코드 (Synchronous code)란? 일반적으로 작성하는 코드는 동기적인 코드다. 그럼 동기적인 코드는 무엇인가 순차적인 실행 Blocking 기반 실행 이렇게 2가지 특징을 가진 코드라 볼수있다. 순차적 실행이란 코드작성 순서대로 위에서 아래로 실행 된다는 의미이며 위의 코드가 실행이 완료되어야 밑에 코드가 실행된단 의미다. blocking이란 코드에서 함수가 작업에 들어갈 때 기존 코드의 흐름(thread)은 정지되고 함수내부의 흐름(thread)으로 진행되게 끔하는 방식이다. 예시 코드1) 동기적 코드이자 blocking 코드 def world(): print("hellow world") if __name__ == "__main__": world(..

python 2023.12.22