Experiences

more

Programming

more

from pathlib import Path

파이썬에서 경로를 다룰 때 단순한 string으로 다룰 수도 있지만, Path 오브젝트를 사용하는 게 더 효율적이고, 코딩 실수를 방지할 수 있다.from pathlib import Path  1. path 연결예를 들어, 'dataset'이라는 path와, 그 안에 'audio'라는 path에 관한 변수를 두어야 한다고 생각해보자.이 경우 아래와 같이 '/'로 연결하면dataset_dir = Path('dataset')audio_dir = dataset_dir / 'audio' 이렇게 매우 직관적으로 처리할 수 있다.2. directory 내에 존재하는 파일명 list 구하기Path의 method인 glob에 구하고자 하는 파일에 관한 pattern을 주어서 특정한 조건을 만족하는 파일이름의 list를..

Programming 2024.05.13 0

CRC에서 detect 불가한 burst error

CRC의 divisor는 가장 좋은 퍼포먼스가 나오는 형태인, x^0 term과 x^n term을 가진 꼴이라고 가정하자. (e.g. x^n + 1)이때 divisor는 n+1개의 bit로 이루어져 있다Performance of CRC발생한 burst error가 divisor로 나누어떨어지는 경우 detect 불가하다.이것이 발생할 확률을 burst error의 크기에 따라 구해보자.burst error의 크기는, 발생한 error의 width가 총 몇 개의 bit로 이루어져 있는지를 의미한다.따라서 burst error 크기가 k라는 것은 그것을 이루는 k개의 bit 중 첫 번째와 k번째의 값은 1임을 내포한다.(burst error에서 특정 bit가 1이라는 것은 해당 bit에 에러가 발생했다는 것..

Programming 2024.05.11 0

mB/nB 인코딩에서 사용할 수 있는 codeword 개수

mB/nB 인코딩(일반적으로 n = m + 1)에서는 dataword를 codeword로 인코딩할 때 연속적으로 등장하는 0의 개수가 m 미만이 되는 것을 목표한다. (self-synchronization 위함)4B/5B 인코딩에서 사용할 수 있는 codeward를 구하는 방식으로, 앞의 2bit와 뒤의 3bit에 1이 최소한 하나 있어야 한다고 배웠다. 그러면 codeword 내부에서도 연속된 0이 4개 이상 등장하지 않고, 두 codeword를 이어붙일 때 하나의 codeword의 뒷부분과 다른 것의 앞부분이 concatenate 됨에 따라 발생하는 연속되는 0의 개수도 4개 이상이 되지 않는다. (ex. 01100을 두 개 이어 붙이면 0110001100이고 가운데 연속적으로 생기는 0이 3개이므로..

Programming 2024.04.21 0

tqdm(df.iterrows())

관련 글: https://www.minigb.io/295 tqdm(zip( for id, audio_path in tqdm(zip(id_list, audio_path_list)): ... 1. zip generator는 list가 하나라도 끝나면 그대로 종료한다. 만약 list의 길이가 다르면 그중에서 가장 짧은 길이만큼 iterate 하기 때문에 그 전에 두 lis www.minigb.io for idx, row in tqdm(df.iterrows()): ... pandas.DataFrame의 row를 iterate 할 때 tqdm으로 진행률을 보고 싶은 당신 막대가 보이지 않아서 당황스러우셨다고요? 괜찮아요! 우리에겐 'total'이 있으니까요! for idx, row in tqdm(df.iterro..

Programming 2024.03.22 3

Tail Recursion - F#에서는 recursion이 loop을 대체한다. (2)

이전 글: https://www.minigb.io/304 F#에서는 recursion이 loop을 대체한다. F#에서는 recursive function이 while과 for과 같은 loop을 대체 한다고 하셨다. 예전에 강의했을 때 누군가가 recursive function을 사용하는 것과 loop을 사용하는 것의 차이를 물어봤던 게 어렴풋이 생각났다. www.minigb.io 고수의 도움을 받았다. 🤩 감사합니다! Tail recursion에 관해 알아보았다. 아래는 챗지피티와의 대화에서 얻은 내용들입니다. Tail Recursion Tail recursion is a special case of recursion where the recursive call is the last operation i..

Programming 2024.03.19 0

Beauties

more