hoim
✔️ 주변 장치 프린터 LPRng : 리눅스 초기에 사용하던 시스템 CUPS(Common Unix Printing System): 애플이 개발한 오픈 소스 시스템 LPD(Line Printer Daemon) : 리눅스에서 프린트 서비스를 담당하는 데몬 - BSD 계열 명령어 lpr : 프린터 작업요청 pq : 프린터 큐의 작업목록 출력 lprm : 프린터 큐에 대기작업 삭제 lpc : 라인 프린터 컨트롤러 - System V 계열 명령어 lp : 프린터 작업요청 lpstat : 프린터 큐 상태 학인 cancel : 프린터 작업 취소 사운드 OSS(OpenSoundSystem): 리눅스에서 사운드를 만듥 캡쳐하는 인터페이스 표준 ALSA(Advanced Linux Sound Architecture): 사운..
LVM(Logical Volume Manager) - 리눅스의 저장 공간을 효율적이고 유연하게 관리하기 위한 커널의 한 부분. - 기존 파일 시스템은 물리적 스토리지에 직접 접근하여 읽고 쓰는 작업을 진행한다. - LVM은 추상적 레이어를 두어 논리적 스토리지에서 읽고 쓰기 작업을 하므로서 스토리지의 확장, 변경에 유연하게 한다. - 파티션 대신 볼륨이라는 단위로 저장 장치를 다루어, 물리 디스크를 볼륨 그룹으로 묶고 이것을 논리 볼륨으로 분할하여 관리한다. - 장치 이름 지정 가능하며, disk striping, mirror volume 제공 ✔️용어 정리 PV(Physical Volume) /dev/sda1, /dev/sda2 등의 블록 스토리지를 PV로 초기화하여, LVM에서 사용할 수 있게 변환한..
RAID(Redundant Array of Inexpensive Disks) - 여러 개의 하드 디스크에 일부 중복된 데이터를 나눠서 저장하는 기술. - 데이터를 나누는 다양방 방법이 다양하며 이 방법들을 레벨이라고 구분한다. - striping, mirroring, parity 의 근원이 되는 기술로 이루어지며 세가지 기술을 적용하느냐에 따라 레벨이 나누어진다. - HW RAID, SW RAID 로 나뉜다. ✔️ STANDARD RAID LEVELS RAID 0 (striping) parity(오류검출기능) 없이 striping된 형태. 안정성 보다는 고성능을 위해 사용된다. 장점: 빠른 I/O 성능, 구성된 디스크 N개 용량 모두 활용 가능 단점: 낮은 안정성 RAID 1(Mirroring) 안정성에..
내멋대로 요약 우리는 코드로 의도를 표현하지 못해, 그러니까 실패를 만회하기 위해 주석을 사용한다. 주석은 나쁜 코드를 보완하지 못한다. 나쁜 코드에 주석을 달지 마라. 새로짜라. 주석은 오래될수록 코드에서 멀어진다. 오래될수록 완전히 그릇될 가능성도 커진다. 프로그래머들이 주석을 유지하고 보수하기란 현실적으로 불가능하니까. 주석을 엄격히 관리하는 것 보다 코드를 깔끔하게 정리한고 표현력을 강화하는 방향으로, 그래서 애초에 주석이 필요 없는 방향으로 에너지를 쏟겠다. (아래와 같이 주석이 필요하지 않도록 코드를 개선한 예시를 보여준다.) 예시 1. // [BEFORE] // 직원에게 복지 혜택을 받을 자격이 있는지 검사한다. if((employee.flags & HOURLY_FLAG) &&(employe..
✔️ 클린코드 입사하고 바로 읽었으면 좋았을 텐데, 사실 그 땐 모르는게 너무 많아 깔끔한 코드를 위해 멈칫 고민하다가도 성공적인 배포가 절실했기에 신경쓸 겨를이 없었다. 회사에 다닌지 벌써 2년이 넘어 이제 3년차가 되었다.(3년차라는 소리 별로 안좋아하지만..) 이제서야 서비스의 상세 로직들을 고려하고, 앞으로의 유지보수를 고민하며 개발을 하는 것 같다. 이전 내가 짰던 똥을 보면서 반성도 하게된다. 다음 개발자가 욕하면서 commit 이력을 찾아볼거란 생각을 하니 정신도 번쩍든다. 어떻게 해야 더 나은 코드를 짤 수 있을까. 어떻게 하면 덜 후회할까. 이런 고민하는 시간이 늘어난 요즘 다시 클린코드라는 책을 읽어야 겠다는 생각을 했다. ✔️ 노마드개발북클럽 "클린코드" 노개북 클린코드 – 노마드 코..
import selenium from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.common.keys import Keys import time # url 및 로그인 정보 url= '' googl_id = ${아이디} password = ${패스워드} service = Service(ChromeDriverManager().install()) driver = webdriver.Chrome(service=service) driver.get(url) driver.imp..
1. selenium 설치 $pip3 install selenium 참고: https://www.selenium.dev/documentation/ The Selenium Browser Automation Project Selenium automates browsers. That's it! www.selenium.dev 2. chrome driver 설치 → webdriver 설치 2-1. chrome driver 수동 설치 현재 사용하고 있는 크롬과 같은 버전의 드라이버를 설치한다. https://chromedriver.chromium.org/downloads ChromeDriver - WebDriver for Chrome - Downloads Current Releases If you are using..
1. 동기 나는 구독서비스를 좋아한다. 최신의 컨텐츠를 접할 수 있는 기회가 주어지는 것은 설레는 일이다. 뉴스레터도 재밌어 보인다면 유료라도 욕심껏 구독을 했었다. 주로 출퇴근길에 읽었는데 운전을 시작하고 나서는 거의 보지 못했다. 최근엔 매일같이 오는 뉴스레터는 쌓이기만 하고 있어서 uppity, awesome-devlog, geeknews 만 남기고 다 해지했다. python 토이프로젝트 주제를 고민하던 중, 이 뉴스레터들을 떠올랐다. 이 뉴스레터들을 스크래핑하면 어떨까? 메일로 전달되는 뉴스레터들을 한번에 볼 수 있도록 크롤링해서, 텔레그램으로 전송하는 python 토이 프로젝트를 해보고자 한다. 2. 실행 python 웹 크롤링(1) : selenium, webdriver 설치 python 웹 ..