일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- codility
- 타입 객체
- 디자인패턴
- 병행성
- DirectX12
- 운영체제
- 자료구조
- 다이나믹 프로그래밍
- 그리디 알고리즘
- 스케줄링
- 파일시스템 구현
- DirectX 12
- 멀티쓰레드
- 다이나믹프로그래밍
- 쓰레드
- 백준
- 그리디알고리즘
- 락
- 알고리즘
- 병행성 관련 오류
- 렌더링 파이프라인
- 멀티프로세서
- OS
- 동적계획법
- directx
- 프로그래머스
- 영속성
- I/O장치
- 컨디션 변수
- Direct12
- Today
- Total
목록전체 글 (500)
기록공간
주석은 양날의 검과 같다. 잘 달면 정말 도움되지만, 그렇지 않으면 오히려 잘못된 정보를 제공하기 때문에 코드 이해를 더 어렵게 만든다. 만약에 깔끔하고 직관적인 코드로 그 의도를 표현할 능력이 있다면, 주석은 거의 필요가 없다. 우리는 결국 이런 의도를 표현하지 못하는 실패를 만회하기 위해 그 의도를 설명하려고 주석을 사용한다. 오히려 의도를 잘못 설명할 수도 있는데 말이다. 이런 점에서 어떻게 보면 주석은 '필요악'이라고 할 수 있겠다. 그렇기 때문에 주석이 필요한 상황에서는 어떻게 의도를 잘 표현하여 주석을 사용하지 않을지 고민을 해봐야한다. 주석을 달때마다 의도를 표현하지 못하는 본인을 한탄하고 이런 실수를 만회하기 위해 노력하자. 주석은 거짓말쟁이이다. 주석은 너무 자주 거짓말을 한다. 주석은 ..

계기 회사 개발업무를 하면서 리눅스 터미널을 만질 일이 정말 많았다. 학부 시절 리눅스는 고사하고 윈도우 파워셸도 다뤄보지 못한 나로서는 개발에 어려움이 많았다. (여담이지만 운영체제 과목도 소홀히 했다...) 때문에 리눅스 공부에 대한 필요성을 크게 느꼈다. 그러면서 자연스럽게 리눅스 자격증을 알아보기 시작했다. 사실 자격증이 실무에 직접적으로 큰 도움이 된다고 생각하지는 않는다. 기술 트랜드에도 둔감한면이 없지않아 있고, 합격 후 공부한 내용을 리마인드 하지 않으면 백지처럼 날아가 버리기 때문이다. 하지만 자격증 취득이라는 목표아래 공부에 대한 동기부여를 해준다는 점에서는 확실한 이점이 있다고 생각한다. 그리고 실무에서도 간접적으로나마 도움이 된다고 생각한다. 회사 우대사항에 자격증 취득란이 왜 있겠..
# rpm * 의존성 목록을 확인할 경우 -R 혹은 --requires 옵션을 사용한다. * 패키지 파일이 설치될 파일이나 디렉터리를 미리 확인할 경우 기본 질의 옵션인 -q와 목록 확인을 위한 -l , 패키지를 대상으로 하는 -p 옵션을 함께 사용하여 -qlp가 된다. * rpm의 기본 옵션 -v : 자세한 정보를 출력한다. --quiet : 에러 메시지 외에는 다른 정보를 출력하지 않는다. --version : rpm의 버전을 출력한다. * rpm의 설치 및 업데이트 옵션 -i : 동일한 패키지가 설치되어 있지 않은 경우 패키지를 새로 설치한다. -h : 설치 혹은 업그레이드 진행 상황을 # 문자를 이용해 표시한다. -U : 패키지를 업그레이드한다. 기존에 설치된 패키지가 없을 경우 새로 설치한다. ..
# /etc/login.defs 주요 설정 MAIL_DIR : 기본 메일 디렉터리 PASS_MAX_DAYS : 패스워드의 최대 사용일 PASS_MIN_DAY : 패스워드의 최소 사용일 PASS_WARN_AGE : 패스워드의 만료 경고일 PASS_MIN_LEN : 패스워드의 최소 길이 UID_MIN, UID_MAX : 사용자 계정의 UID 범위 GID_MIN, GID_MAX : 사용자 계정의 GID 범위 SYS_GID_MIN, SYS_GID_MAX : 시스템 계정의 GID 범위 CREATE_HOME : 홈 디렉터리의 생성 여부 UMASK : umask 기본 값 생성 USERGROUPS_ENAB : 사용자 계정 삭제 시 그룹 삭제 여부 설정 ENCRYPT_METHOD : 암호화 기법 USERDEL_CMD :..
# make 관련 주요 명령어 make : Makefile을 이용하여 object, library, binary(실행 파일)을 생성한다. make install : make로 만들어진 결과물을 타깃 디렉터리로 복사(설치)한다. make distclean : 소스코드를 처음 다운로두 후 압축 해제한 상태로 만든다. (최초상태) make clean : 컴파일 이전 상태로 만든다. 컴파일로 생성한 파일은 삭제한다. make mrproper : 컴파일 환경설정값, 버전 정보 등 컴파일에 영향을 주는 정보들은 삭제한다. make menuconfig : 텍스트 기반의 메뉴를 제공하여 옵션을 설정한다. make xconfig : X 윈도 환경의 Qt 기반 설정 도구를 사용한다. make nconfig : 텍스트 기반..
FTP는 TCP/IP 프로토콜 기반으로 서버와 클라이언트 사이에 파일을 주고 받기 위한 프로토콜이다. vsftpd는 간결하고 안전하며 처리 속도도 매우 빠른 프로그램으로 리눅스 및 유닉스 계열에서 사용할 수 있다. 주요 파일 /etc/vsftpd.conf : vsftpd의 서버의 환경 설정 파일 /etc/rc.d/init.d/vsftpd : vsftpd 데몬을 제어하는 데몬 스크립트 파일로 stop, start, restart 등의 인자값을 사용하여 제어 /etc/pam.d/vsftpd : vsftpd의 PAM 관련 설정 파일 /etc/vsftpd/ftpusers : PAM 관련 설정 파일인 /etc/pam.d/vsftpd에 사용되는 파일로 기본 설정이 접근 거부될 사용 목록으로 이용 /etc/vsftp..
DHCP 서버란 클라이언트들에게 자동으로 IP주소, Gateway 주소, Name Server 주소 등을 할당해주는 서버를 말한다. 주요 파일 /etc/dhcpd.conf : DHCP 서버의 환경 설정 파일로 rpm 패키지로 설치하면 이 파일이 존재하지 않는다. 'rpm -ql dhcp' 명령으로 dhcpd.conf.sample을 찾아서 복사하거나 이름을 바꾸어서 생성하도록 한다. /etc/rc.d/init.d/hdcpd : dhcpd 데몬을 제어하는 데몬 스크립트 파일로 stop, start, restart 등의 인자값을 사용해서 제어한다. 주요 옵션 range : 클라이언트에게 할당한 IP 주소를 시작 주소와 마지막 주소를 기입한다. range dynamic-bootp : DHCP 클라이언트 뿐만 아..
삼바(SAMBA)는 리눅스를 비롯한 유닉스 계열 운영체제와 윈도우 운영체제간의 자료 공유 및 하드웨어를 공유 할 수 있도록 해준다. 삼바 설정 파일 위치 : /etc/samba/smb.conf smb.conf의 주요 섹션 [global] : 삼바 서버 전체적인 환경 설정을 담당하는 섹션 [homes] : 각 사용자들이 자신의 홈 디렉터리로 접근할 때의 권한을 설정하는 섹션 [printers] : 프린터 관련 권한을 설정하는 섹션 Share Definition 주요 옵션 comment : 간단한 설명을 설정 path : 공유 디렉터리의 경로를 설정 read only : 공유 디렉터리를 읽기 전용으로 설정 writable, write ok : 공유 디렉터리를 쓰기 가능하게 설정 valid users : 공유..