본문 바로가기
1.A. High Level Computing/Et Cetera

파일 관리 프로그램 작성기 (feat. 가내 서버) (폐기.)

by Never Settle Down 2023. 2. 2.
반응형

* 금번 작성기 미완성 폐기처리 안내. (새로운 작성기로 이어갈 예정)

Disk IO, 음원파일 Metadata manipulation 등

기능 모듈별로 테스트만 하고 있었습니다.

 

ChatGPT의 뛰어난(?) 코딩실력을 활용해서

요구사항 분석 + 설계까지 진행한 뒤

GPT를 통해 모듈 개발,

하나의 프로젝트로 손수 합친 뒤

요구사항 변경 + 설계 등으로 이어갈 예정입니다.

 

 

제작 배경 외에는 지금까지 작업해온 내용 (대거 기록하지 않음)을 폐기처리할 예정입니다.

 

 

 

 

 

장을 비워내려고 합ㄴ...후드득

macOS + Windows + Linux

형태로 컴퓨팅을 하는 나에게 파일 관리 시스템의 필요성이 생겨 만들어보게될(또는 된)

파일 관리 프로그램의 이야기

 

프로그램과 글을 같이 작성할 예정이다.

 

 

 

프롤로그

 

나는 예전에 올레뮤직 (언제적 이야긴지)를 사용하며

한 달에 몇 곡 다운로드 형태로 노래를 모아왔다.

 

물론 2000년대 초 ~ 2010년대 초에는

저작권이란 인식이 별로 없었기에

불법 복제품이나 P2P 다운로드도 많이 했었다.

 

 

80GB 아이팟 클래식을 꽉꽉 채울정도로

노래 파일을 많이 가지고 있었다.

 

 

최근에 다이어트를 하면서
파일을 크게 두 부류로 나누었다.

- On Duty

- In Grave

아예 안 듣는 노래, 이를테면

- 발치몽

- 크리스 브라운

- 케이티 페리

등의 노래는 아예 지워버렸다.

 

 

 

요즘 나의 주 음원 출처는 유 쿨럭 쿨럭이다.

야스,

개인 사용을 위한 것은 불법이 아니지만

유투브 정책 위반.

 

이 것을 유통하게 되면 전형적인 디지털 파이레시.

 

알고있다.

 

 

나는 절대 권장하지 않는다.

하라고 얘기 안 했다잉. FBI가 문을 뿌수고 들어와도 나에게는 책임이 없다.

한국이면 국정원이 문을 뿌수고 들어오나?

 

Windows 플랫폼엔 제대로 된 툴이 없다.

 브라우저 익스텐션은 한계가 있다.

 

macOS에는 몇 년째 아주 잘 쓰고 있는 어떤 프로그램이 있다.

스트리밍을 음원/영상 따로 받은 뒤 (실제 브라우저 유툽에서 하듯)

이를 합쳐준다. 굿.

 

 

나는 여기서 음원부분만 떼어낸 뒤

디스크립션을 손수 수정한다.

 

Vevo 만세 Youtube 만세.

 

프로그램에서 Audio Only만 떼어내면 가끔 음질이 좀 떨어지는게 다운로드된다.

 

 

쨋든.

문제는.

이걸 맥 QuickTimePlayer로 틀면 멀쩡하게 틀어지는데

Music (구 iTunes)에서는 파일 추가가 안 되고 따라서 플레이도 안 된다.

 

mp4도 m4a 음원을 지원(?)하므로

mp4로 확장자를 강제로 바꿔서 열면 열린다.

 

이렇게 데이터를 수정하고 나면

잘 된다.

 

 

일단은 확장자를 mp4로 쓰고 있다.

무료 변환 툴 (웹 UI + 서버 업다운로드 말고, 온프레미스 툴)도 잘 없거니와

개러지밴드는 멀쩡한 파일 압축을 풀어버리는 해괴한 짓거리를 한다...

압축률 좋은 1메가짜리 m4a를 10메가 m4a로 풀어버리는 ㅋㅋ;

 

 

그 다음으로 뭘 해야하냐면,

mac에서 icloud와 연동된 폴더로 옮기고,

파일 서버에도 같은 파일을 올려줘야한다.

내가 듣는 한국인 가수 노래는 김수영씨 노래밖에 없다 ㅋㅋ;

이번 처럼 한 두 곡이면 좀 낫지만,

내 성격상 낮은 Priority의 일은 한꺼번에 몰아서 처리하는,

우선순위 + HRN (Highest Reponse Ratio) 스케줄링의 일처리 방식으로 인해

로컬에 노래를 다운받을 작업을 해야할 때면 수십곡이 리스트에서 대기하고 있다.

 

링크 잔뜩 복사해서 다운로드 하고, 작업하고, icloud 폴더로 옮기고, music에 추가하고, 안열리는놈들 수기로 찾아서 수정하고, 서버 접속해서 옮기고...

 

 

 

iCloud가 편리한게,

내가 가지고 있는 맥 3대 (에어 / 프로 / 미니)끼리 연동을 할 필요가 없다.

한 맥에서 파일 추가하고, 다른 맥에서 최상위 폴더 - 다운로드 만 클릭하면 쫘르르 연동되기 때문.

다운로드 클릭도 필요없이, 폴더 끌어서 music에 놓으면 자기가 알아서 추가한다.

 

내가 mac 만 썼으면 문제가 없는데, icloud 파일 꼬임 문제만 없어도 그냥 쓰것는데,

마지막 수정날짜가 1970년 1월 1일로 바뀐다든지,

(특히 2010년대 초반에 올린) 파일이 깨진다든지 하는 문제가 있다.

 

구글 드라이브가 그게 심해서 날려먹은 파일이 3~4개정도 되는데

구글보단 좀 낫다. 그래도 신뢰성은 매우 낮은 편.

 

 

 

music이 저런 문제가 있어서 고민이다.

진짜 색출하는게 힘들거든 ㅜ

 

날잡고 카페 가서 한 세시간 작업하다보면

이런 단순노동을 내가 왜 하고 있어야 하는가, 의구심이 든다.

 

 

이 것을 자동화해보자.

 

 

Phase 0. Planning

요구사항을 분석해보자.

- 4개 OS를 지원할 것 - macOS, Windows, Ubuntu, CentOS Stream

- 파일을 이동/수정/제거할 수 있을 것 (로컬 + 네트워크상).

   - 파일 명 수정 / 파일의 다른 하위 디렉토리로 이동 / 파일 제거

   - 로컬 특정 디렉토리 (e.g. music폴더) 내 동일한 파일 색출

   - 네트워크 상 폴더 (e.g. 파일서버)와 비교대조 작업이 가능할 것

   - 음원의 데이터 (아티스트, 앨범명...)를 수정할 수 있을 것 (Optional)

   - 파일의 확장자를 변경할 수 있게 인/디코더를 내장할 것 (Optional)

 

 

 

흠. 이정도면 되려나.

 

탑다운으로 가려니 UI부터 설계를 해야할 것 같다.

바틈 업으로 가자. 하위 모듈부터 만들고, UI는 미래의 나에게 던져준다.

 

 

 

내가 쓸 수 있는 언어

- Java

- Python

- C

- Swift

 

 

내가 쓰기 편한 언어는 C이지만

요즘에 자바나 파이썬이 대세인지라..

 

다 써보자.ㅋㅋ.

뭐라도 건지겠지.

 

C는 파일 내부 수정할 때 쓰고

Java나 Python으로 연동... 파이썬은 연동되는걸 알고 있는데

Java 프로그램에서 C로 수정을 할 수 있는가? 그건 모르겠다.

 

 

 

개발 시작하자.

개발 중간에 플래닝 페이즈에서 수정할게 있으면 돌아오면 되니깐.

 

 

 

Phase 1. Basic Module Dev.

원래 사람은 장비빨,

초보자일수록 IDE 설치에 열을 올리는게 맞지 않을까?

 

...는 미국에서 비행 교관을 하고있는 친구가

한국에 들어오면서 나 준다고

$40? 정도 주고 산 스코티시 위스키를 홀짝이고 있다.

 

발렌타인 15년산 글렌버기

 

아, 싸구려 위스키만 먹다가

발렌타인을 먹으니 맛이 다르다.

 

으른주스 너무 맛있는거 아닌가.

 

자꾸 용두사미로 일 벌려놓고 던져두면 안되는데.

맛있는 위스키를 앞에 두니 아무것도 하고싶지가 않다.

 

 

22nd Feb 2023

Holly shite 벌써 근 1달이 지났다.

빨리 짜자.

 

수타면벅스는 오늘 90년대 가격에 커피를 파는

원두소진행사를 한다길래 사람이 미어터질 것 같아서

(유통기한 지난 재고가 쌓여있어? 사람들 멕여!)

동네 이상한(?) 카페에 왔다.

 

요즘 시너먼 파우더 향기와 스티밍 우유맛이 빠져서

카푸치노를 시켰다.

 

파우더를 트롤 보기 (코딱지)만큼 뿌려줘서

오늘 커피에 빈정이 확 상했다.

 

 

내 맥북 에어는 램이 8기가라

웹브라우져 몇 개만 띄워도 메모리 스왑이 생긴다.

(물리적인 램 공간이 모자라서 SSD 일부를 RAM처럼 사용.)

페이지 폴트 뜰 때마다 SSD IO가 생겨서

너무 느리다.

 

 

맥북 프로는 16GB RAM이라 이 놈에서 작업하기로 하였다.

에어는 블로그 포스팅용.

에어드랍으로 프로에서 에어, vice versa로 이미지 캡쳐를 바로 넘길 수 있어

윈도우 노트북은 도저히 쓸 수가 없다.

 

 

 

음...

이클립스를 켰는데...

자바 프로그래밍을 어떻게 했는지

기억이가 1도 안 난다. ㅜㅜ

 

미래의 나놈에게 보여줄 요량으로

포스팅을 하나 더 올려야겠다.

2023.02.22 - [Engineering Log/On Premise Computing] - [토막글] Eclipse에서 Java 프로젝트 만들기 (macOS)

 

[토막글] Eclipse에서 Java 프로젝트 만들기 (macOS)

I'll spread my wings and I'll learn how to fly I'll do what it takes 'til I touch the sky And I'll make a wish, take a chance, make a change And breakaway 내 날개를 펴고 날아가는 방법을 배울거야 하늘에 닿을 때까지 나는 뭐라도

thewanderer.tistory.com

카페 구석탱이서

양반다리하고 프로그래밍하는게 내 습관인데

주인장이 와서 '신발 신으라느니'

'여기는 테이블 4개 연결해서 쓰는 곳이니 테이블 붙여달라느니'

와서 쿠사리주고 의자 옮기고 나를 테이블로 가둬버렸다.

 

겁나 기분나쁘네.

앉아서 고상한척은 다 하는게 딱 여에스더 느낌.

내가 정말 싫어하는 유형 중 하나.

 

Clean Ass라고 부른다.

Kiss Ass를 너무 많이 당해서 본인이 어떻게 보이는지, 어떤지 1도 모르는

메타인지less.

 

파우더 콩알만큼 뿌려줘서 빈정상했는데

진짜 여기 다시는 안온다.

 

 

 

 

이제 해야될 것들:

- UI 띄우기 연습하고

- File IO 연습하고

- 전반적으로 구조 잡고

- 객체 UML만들고

- 본격 코딩

 

 

 

UI 어떻게 띄웠더라

전전 직장에서 파일 매니퓰레이숀 프로그램을 만들었는데

(이미지 3천장정도 [중복 이름 확인 후 삭제 / 매뉴얼 삭제 / 디렉토리 이동 / 이름 변경] 을 해야됬음.)

ㅋㅋㅋㅋㅋ 소스코드 어디감.

Class 파일만 떡하니 남아있네.

 

파일서버에 VPN으로 붙어서

아무리 뒤적거려도 안 나온다.

 

어딘가에 잘 모셔놨을건데 ㅋㅋㅋㅋㅋ ㅜㅜ

 

 

 

 

 

 

 

 

 

 

반응형

댓글