Linux 머신에 꽂은 USB 플래시 드라이브에 어떻게 접근할까?

sudo fdisk -l로 Disk의 위치를 확인가능하다. Device   Start   End   Sectors   Size   Type 내 경우 USB Flash memory를 꽂으면 Disk /dev/sda에 마운팅됨. Disk model을 통해서 이름을 확인할 수 있다. /dev/sda에 있어서 바로 cd로 접근하려고하면 Not a directory라고 뜨는 경우  sudo 권한으로 다음과 같이 체크해주자. sudo umount {드라이브 경로} sudo mount {드라이브 경로} {마운팅 경로} sudo fsck {드라이브 경로} umount를 실행했더니 아직 마운팅 되지 않았다고한다. (*unmount가 아니다. umount임. 하도 틀려서) mount 해주자. 나 같은 경우 바로 프로젝트 폴더에 만들지 않고 /media/폴더에 mkdir로 마운팅 전용 경로를 만들었다. mount를 실행했더니 wrong fs type이라한다. USB에서 사용하는 파일 시스템이 맞지 않아서다. df -h를 실행하면 리눅스 파일 시스템에 뜨지 않는다. sudo fsck /dev/sda를 통해 검사하면 ext2/ext3/ext4 파일 시스템으로 해석할 수 없다고한다. 그리고 Found a dos partition table in /dev/sda라는 메시지를 볼 수 있다. /dev/sda는 디스크 전체를 의미하고 /dev/sda1는 디스크의 일부인 파티션을 의미한다. 나는 파티션에 접근하지 않고 디스크 자체에 접근하려고 했기 때문에 supdblock을 잘못 인식한거다. 자, 그러면 원인은 잘못된 접근 경로였다. 잘 찾아보니 /dev/sda아래에 dev/sda1정보가 있다. 경로를 /dev/sda1로 바꾸고 다시 명령어를 실행하자. df -h를 했더니 /dev/sda1/가 파일시스템에 인식된다! USB는 USB 컨트롤러가 존재하는 기기와 그 반대 기기를 구별할 수 있다. - 전...

wsl 설치 후 창이 곧바로 사라지는 현상 해결

WSL이 실행할 Linux distribution이 안 깔려서 그럼. 깐 뒤에 실행하면 해결됨. wsl.exe --install Ubuntu-26.04

Python 코드에서 ... 의 의미 ( 타입 힌팅 )

Python에서 '...' 문법은 생략 부호라고 부르며 pass의 역할을 한다. pass를 써도 문제 없지만 더 표현이 간결하기 때문에 쓰임. 다음은 python의 system 패키지 __init__.pyi이다.     @ property     def dev_mode ( self ) -> bool : ...     @ property     def utf8_mode ( self ) -> int : ... 위 프로퍼티 데코레이터가 적용된 함수에서 실제 기능은 구현되지 않은 것을 볼 수 있는데 인터페이스를 정의할 때 자주 사용한다. (인터페이스는 상세적인 구현이 없다.) < .pyi 파일에 대해서 > .pyi 파일은 빌트인 모듈이고 Type Stub files를 연다. 빌트인 모듈이라하면은, python 패키지를 설치했을 때(CPython) 자동으로 딸려오게 되는 모듈을 의미한다. 이 파일들은 sys 모듈의 built-on 모듈들이고 단지 함수의 사인과, 변수들만을 표현할 뿐 실제 공식 Python 코드가 없다. (Input/ outpt) & type Hinting 실제 로직은 C에 숨겨져있다. < .py 파일과 .pyi > 그래서 .py파일과 .pyi를 비교해보면 .py는 실제 로직이 구현된 코드고 .pyi는 구현 메뉴얼이라고 보면 된다. -> Python 인터프리터는 실행하지 않는다. 타입 힌트를 적용한 코드를 .py에 구현할 수 있고 또 framework과 pydantic 유저라면 .py에 구현하는 것이 익숙하지만 C 확장 모듈이나 구형 라이브러리에 타입힌팅을 적용할 때,  직접 소스코드에 타입힌팅을 하면 오류가 많아지니까 라이브러리와 별개로 .pyi파일을 같이 제공할 수 있다. 이렇게 하면 type checker 가 .pyi 파일을 먼저 참조한다.   다른 ... syntax 사용례 1. Type hinting: Tupl...

Python 인터프리터가 __path__를 처리하는 법

파이썬의 특수 내장 변수 __name__, __file__  중에 __path__라는 변수가 있다. __name__의 경우 직접 파이썬 인터프리터가 단일 파일을 실행할 때 '__main__' 값을 가진다. 다른 파일에서 import를 통해 모듈을 불러오는 경우 __name__은 원래 파일명을 가진다. __path__는 단일 파일 모듈(.py)에는 존재하지 않고 하위에 __init__.py가 명시된 패키지에만 존재하는 속성이다. 때문에, 단일 파일 모듈에서 __path__에 접근하면 다음과 같은 에러가 raise된다. NameError: name '__path__' is not defined. Did you mean: '__name__'? 파이썬 인터프리터는 패키지가 포함된 폴더를 import를 통해 호출할 때, 1. __path__ 변수를 만들어 __init__.py에 삽입한다. 2. 패키지의 위치를 __path__ 변수에 리스트 형태로 저장한다. 부분적으로 패키지의 하위 모듈을 호출하고 싶을 때 pkgutils.walk_packages(__path__)를 사용하면 모듈들을 탐색할 수 있다.  

CSS : 하드웨어 픽셀 VS 소프트웨어 픽셀

VueJS 프로젝트를 만들고나면 기초 css 파일에 #app의 max-width값이 지정되어 있는 것을 확인할 수 있다. CSS의 미디어 쿼리를 작성할 때는 보통 base가 되는 최상위 컴포넌트의 픽셀값을 따로 명시하지는 않고 HTML의 head 태그 안에 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 를 명시하여 디바이스의 디스플레이 크기에 따라 device-width가 적용되게한다.    CSS는 하드웨어 픽셀 대신 소프트웨어, 즉 , CSS 픽셀을 참조한다. 하드웨어 픽셀은 기기의 디스플레이 스펙 그 자체라고 보면 된다. 디스플레이의 해상도 글에서도 언급했듯이 같은 해상도여도 디스플레이의 크기와 작고 큼에 따라서 화질이 다르게 보인다. CSS픽셀은 DPR을 사용하여 하드웨어 픽셀이 CSS 픽셀값으로 매핑된다. DPR = Device Pixcl Ratio. 갤럭시S22의 경우 DPR값은 3이고 하드웨어 디스플레이의 가로의 픽셀 수가 1080이다. S22에서 크롬 앱 등의 브라우저 앱을 사용할 때, 브라우저는 웹사이트에 1080px 물리 픽셀 값을 DPR값 3으로 나눈 값인 370px을 전달한다. 서버는 이 값을 인식하고 적당한 미디어쿼리 값에 맞는 CSS를 Return한다. 위와 같은 경우 모바일 페이지에 적합한 CSS를 Return 할 것이다. 최종적으로 S22의 웹브라우저에서는 CSS 뷰포트의 가로 길이가 360pixel인 디자인이 페인팅된다.

Unsloth 웹 기반 모델 트레이닝 프로그램 (프로젝트 설명/버그)

Unsloth은 웹 기반 로컬 모델 개발 도구다. 자세한 설명은 아래 링크를 참고. https://unsloth.ai/ 설치  최근 AI 관련 프로젝트 전용 SSD를 추가로 장착하여 C: 경로에 있던 Unsloth를 삭제하고  E: 경로에 재설치하려고 했는데 여전히 공간을 많이 차지 하고 있었다. Unsloth docs에 나와있는 Uninstall 방법은 프로그램만 삭제되고 프로그램을 통해 다운받은 모델 파일은 삭제되지 않는다.   WSL로 설치했을 경우 {home}/.cache/huggingface/에 다운로드 받은 모델들이 저장되어있다. Uninstall 할 때 참고. 버그 2025.5.2 버전으로 업데이트하고나서 한/중/일어가 <textarea>에 입력되지 않는 현상 발생. https://github.com/unslothai/unsloth/issues/5318 일본어 입력이 안 된다고 이슈가 생겼고 같은 IME이슈라 생각해서 나도 한국어 입력 테스트와 환경 정보를 제공했다. 영자와 달리 한국어/중국어/일어의 경우 여러 영자 입력 조합으로 글자가 완성된다. 이들은 영자와 달리 키 하나에 1:1 대응이 안 되므로 먼저 buffer에 저장한 뒤 조합이 완성되면 문자를 input으로 출력한다.  한/영 전환 키를 눌렀을 때부터 입력이 되지 않았다. <한영전환> KeyboardEvent isTruste:true, key:HangulMode, code:'Lang1' <영문 입력> KeyboardEvent isTrusted:true, key: 'k', code: 'KeyK' <한글 입력> TextEvent > textinput isTrusted:true, data: 'ㅎ' key: Process   12시간도 안돼서 수정되었다. https://github.com/unslothai/unsloth/pull/5327 FE > unsloth / studio / fr...

CSS 가상 클래스 대 가상 요소

가상 클래스 (  element: ) pseudo-class 요소에 특정한 이벤트 마다 스타일을 적용할 수 있는 키워드다. 즉, 스타일을 동적으로 입힌다. display: block display: none 처럼  가상 class show를 적용해서 조직으로 변할 때 배치 영향 받지 않게 구성한다,. 가상 요소 / 가상 Element (  element:: ) pseudo-element 요소의 특정한  부분 에 새 컨텐츠를 추가하거나, 선택하는 키워드이다. CSS1, 2 에서는 콜론 :이었으나  CSS3에서 가상 클래스와 구분하기 위해 ::로 표기한다.

이 블로그의 인기 게시물

Blogger 커스터마이징 : CSS 수정 (sticky-header)

Vue 첫 걸음

Python의 빌트인 class들의 관계