- 0x0000007b
- 2차세계대전
- 3.20해킹
- 4대강
- 502 error
- 53빌딩
- 7840hs
- 88체육관 수영장
- ABI
- abortive close
- abortive shutdown
- AHCI
- akmods
- ALC1220
- alma linux
- alternatives
- AM4 메인보드
- AMD
- amd 7840hs
- amd 그래픽 게임용
- amd 내장 그래픽 최적화
- anonymous file
- API
- apple.com
- APT
- apt-get
- Armagnac
- Asrock
- ASTALIFT
- audacious player
- Today / Yesterday
- /
- Total
목록컴퓨터 관련 (99)
Linux Programmer
보호되어 있는 글입니다.
C언어 공부법과 책추천마지막 수정일 : 2020-11-16처음 쓴 날짜 : 2015-01-15 이 글은 C언어를 공부할 때 헤메지 않고 국제 표준인 C언어를 배우는데 도움을 주고자 쓰여졌다. 특히 C언어 관련 용어나 기반지식, 추천 도서인 KNK, TCPL(K&R)에 대해 소개한다. 여기에서 제시하는 방향이나 책이 올바르고 유일한 진리의 길은 아니다. 이는 주관적인 견해가 포함되어있으니 감안하고 보길 바란다2015년을 기준으로 할때, 현대 컴퓨팅 환경에서 C언어의 위치는 거의 바닥에 존재하는 기초 언어이다. 따라서 C언어 뒤에 등장한 프로그래밍 언어들은 C언어의 문법체계를 따라했을 정도로 큰 족적을 남기기도 했다. 또한 운영체제(Operating system, 이하 OS)의 설계 및 구현에 사용되었기에 ..
* 2020년 기준으로 마이크로소프트에서 직접 만든 winget을 사용하기를 권장한다. choco는 아무래도 deprecated될 가능성이 높아 보인다. 따라서 아래 글은 무시하고 winget 설치 글로.... => winget 설치 : https://sunyzero.tistory.com/271 많은 사람들이 윈도우즈에서 인스톨쉴드(install shield)를 패키지 관리자로 생각하지만, 사실 인스톨 쉴드는 설치,삭제를 해주는 프로그램일뿐 패키지로 관리해주지는 못한다. 무릇 패키지 관리란 설치, 삭제, 업데이트 및 검색이 가능해야 하며, 명령만 내리면 인터넷을 통해 다운로드하고 자동 설치까지 해줄 수 있어야만 한다. 예로 리눅스에서 레드햇 계열은 yum이라는 패키지 관리자가 있고, 데비안 계열은 apt..
에러로 인하여 키보드 보안이 시작되지 않았습니다. ERROR_CODE : 4 얼마전부터 이런 메시지가 등장하면서 인터넷 결제가 실패하였다. 더불어 키보드 보안 핸들을 얻어오는데 실패했다고 뜬다. 소프트캠프의 홈페이지에서 이것저것 받아서 수동설치해도 여전히 실패... 그러다가 알게된게 SCSKInstUserMode.exe 를 설치하면 된다고 한다. http://webserver.softcamp.co.kr/scsk/ 에 접속하면 아랫쪽에 키보드보안(WEB) User-Mode 설치파일이 있다. 이걸 다운받고 설치하면 끝.
* 리눅스에서 엔비디아(nvidia) 그래픽 카드의 드라이버 설치Last updated on Sat 14 May 2022리눅스를 공부할 때 vmware, virtualbox를 설치한 뒤에 가상머신으로 리눅스를 설치하고 있는가?만일 가상머신으로 리눅스를 돌리고 있다면, 중급 이상의 리눅스 실력으로 성장하기 힘들다. 왜냐하면 가상머신은 오류가 발생되지 않도록 vmware, virtualbox에서 호환성이 높은 드라이버를 가상으로 제공하기 때문이다. 그래서 오류 메시지를 경험하지 못하고 리눅스를 사용하게 된다.그러나 회사나 연구실에서 머신러닝(machine learning)을 위해 CUDA를 사용하거나, 혹은 그래픽 처리를 위해 리눅스를 사용한다면 리눅스를 직접 설치해야만 한다. 허나 직접 설치해보면 가상머신..
마우스 클릭 버튼이 더블 클릭이 되거나 반응이 이상하면 스위치가 고장 난 것이다. 대부분의 마우스에는 옴론(Omron) 스위치가 들어가는데, 옴론 스위치는 일본제와 중국제 2가지중에 하나가 사용된다. 그런데 웃기게도 고가의 로지텍이나 MS 마우스에도 중국제 스위치가 사용된다는 점이다. 중국제 옴론 스위치는 D2FC-F-7N 제품으로서 사진을 보면 다음과 같다. 이 제품은 내구성이 약해서 1~3년 이내에 사망한다. 증상은 제멋대로 더블 클릭이 되거나 드래그가 맘대로 해제되는 것들이다. 위 사진은 본인의 MS 인텔리 옵티컬 마우스에서 떼어낸 부품으로서 선명하게 CHINA라고 적혀있다. 원래는 사망하면 바로 새로 샀는데, MS 인텔리 옵티컬이 최근 생산이 중단되었다고 한다. 그래서 남아있는 재고들은 오래전에 ..
RTFM(Read The Fine Manual) RTFM은 IT업계의 명언으로, 매뉴얼 좀 읽으라는 뜻을 담고 있다. 사실 RTFM은 오랫동안 단축된 단어로 쓰이다보니 오리지널 철자는 정확하지 않지만 대부분 뜻은 비슷하다.(그림처럼 속된 표현도 있다.) RTFM을 이야기 하는 이유는 요새 학생들이 정말 매뉴얼, 책을 읽지 않는다는 것을 느끼기 때문이다. 질문을 하기 전에 매뉴얼이나 책을 읽었는가? 그리고 충분히 고민한 뒤에 질문을 하였는가? 좋은 답을 얻기 위해서는 질문을 잘해야 한다는 말이 있다. 질문하는 사람 스스로 무엇을 아는지, 그리고 무엇을 모르는지 구분조차 못한다면 답변자가 어떻게 답변해줄 수 있을까? 충분한 고민과 사전 지식이 갖춰진 뒤에 질문하는 습관을 들이지 않는다면 횡설수설 하는 사람이..
* TCP의 TIME_WAIT는 없애는 방법은 무엇인가? TCP 소켓 네트워크 프로그래밍을 하다 보면 TIME_WAIT 상황에 대한 고민을 하는 시점이 오게 된다. 학부 시절 네트워크 프로그래밍 수업을 듣고 실습실에서 열심히 프로그래밍 해봤다면 학부 때 맞닥뜨리게 되는 경우도 있다. 만일 학생 때 고민하지 않고 넘어갔다면 회사에서 주먹구구식으로 혼동을 일으키는 내용이기도 하다. 그래서 이에 대해 좀 정확한 정보를 전달하고자 이 글을 쓴다. 아래 글은 각종 책과 표준안의 레퍼런스와 실제 코딩으로도 검증했지만, 그래도 혹시 틀린 점이 있다면 개의치 말고 지적해주면 감사하겠다. ^^ TIME_WAIT란 무엇인가? 이 글을 쓰게 된 계기 TIME_WAIT는 당신을 해치지 않는다. 그래도 없애고 싶다면? SO_R..
IT관련 직종은 다른 직종보다 사내 교육이 많은 편인데, 같은 과목을 2번 교육 받는 사람은 거의 없는 것 같다. 하지만 제대로 배우려면 같은 교육을 다른 강사에게 2번 이상 받는 것을 추천한다. 그 이유는 크게 2가지이다. 하나는 틀린 내용을 교정 받을 수 있고, 또 하나는 빠진 내용을 보충할 수 있다. 덤으로 복습 효과도 있으니 큰 도움이 된다. 강의를 좀 해보니 비전공자이면서 백지 상태에서 수강하는 사람도 많았다. 특히 이들은 수강 후에 학습 효과가 크지 않았는데, 그래서 더더욱 재교육이 필요하다고 생각된다.만일 재교육 없이 계속 새로운 내용만 주입한다면 곧바로 흥미를 잃고, 직무 관련 교육은 산(山)으로 가는 경향이 많았다. 많은 내용을 가르치는 것보다 적어도 제대로 된 내용을 가르치는게 중요하지..
실무에서 쓰이지 않지만 시험에서만 출제되는 C언어 시험 문제의 세계를 고발(?)하고자 한다. 고발이라고 하면 좀 자극적이긴 하지만 사실 특별한 내용은 아니다. 대부분 C언어 하시는 분들은 예전부터 생각해온 것일지도... 사실 요새 몇몇 기관의 시험문제를 출제, 감수 하면서 현실과 동떨어진 시험의 세계를 느낀 후 적는 글이다. 어떤 시험을 출제하느냐고 묻지는 말았으면 한다. 보안서약상 구체적인 기관이나 정보를 이야기할 수는 없다. 시험 문제 출제를 할 때면 출제를 요구하는 기관에서 과목, 출제 목표, 세부사항 등을 일일히 정해준다. 따라서 누가 문제를 내든지 비슷한 형태가 나올 수 밖에 없다. 예를 들면 다음과 같은 요구 사항이 있다고 치자. 과목 대분류 소분류 세부 사항/출제 목표 C언어 예약어 연산자 ..
* TOC부모와 자식 프로세스의 관계fork와 fork-execvfork와 문제점posix_spawn의 등장2줄 결론 fork란?fork는 유닉스/리눅스 계열에서 새로운 프로세스를 만드는 표준 함수이다. 그런데 fork는 새로운 프로세스를 만들 때 기존 프로세스를 복제하는 방식을 사용한다. 이 때 원본 프로세스를 부모 프로세스(parent process)라고 부르고 새로 복제된 프로세스를 자식 프로세스(child process)라고 부른다. 1. 부모와 자식 프로세스의 관계현실 세계에서 부모와 자식은 끊을 수 없는 강한 연결점이 있지만, 유닉스 계열의 부모와 자식 프로세스는 그런 것과는 상관이 없이 이름이 지어졌다. 그냥 유전자가 복제되듯이 정적 자원 만을 복제하는 것이라고 생각하면 된다.정적 자원에는 ..
"안녕하세요!! 매번 블로그 들리는데요~ 이번에 글보고 저도 티스토리 가입하고 싶어서요 ㅎㅎ ..." = 요런 댓글은 스팸 댓글입니다. 안녕하세요!! 매번 블로그 들리는데요~ 이번에 글보고 저도 티스토리 가입하고 싶어서요 ㅎㅎgirl30166@hotmail.com 로 초대장좀 받을수있을까요? ㅠㅠ 부탁드립니다. 전 스포츠와 일상사진으로 글적고싶습니다. 부탁드립니다. 새해복많이받으세요. [비밀댓글] 최근에 위와 같은 댓글을 다는 경우가 있다. 내용인즉 초대장을 달라고 하는 댓글로서 임시로 생성된 메일주소를 이용해서 초대장을 구걸한다. 대부분의 블로거들이 그냥 보내주는 것 같은데 절대로 주면 안된다. 이건 광고 낚시를 하는 스패머다. * 낚시질 방법이들이 티스토리 계정을 달라고 하는 이유는 2가지이다. 첫째..
윈도8을 사용해 봤다. 좀 더 빠른 느낌을 원했는데 결론부터 이야기 하자면 역시 짝수 버전의 윈도 저주는 유효했다. 성능 뿐 아니라 소소한 버그까지 있는 것 같았다. 아래는 benchmark3d.com 사이트에서 게임 퍼포먼스 위주로 진행한 결과인데 토탈 점수를 보면 윈도8의 처참한 패배를 볼 수 있다.[1] 이 외에 tomshardware.com에서 진행한 결과도 별반 다르지 않았다.[2] 플웨즈의 벤치 결과도 오차범위 이내라고 볼 정도의 수치...[3] 위의 점수 놀이와 상관없이 약 2주간 사용하면서 개인적으로 느낀 문제점도 몇 가지 나열해 보겠다. (1) 뚝뚝 끊김 현상이 있다. (2) 하이버네이션(hibernation) 절전 모드를 기본으로 사용한다. (3) 전원을 내린 뒤에 부팅하면 USB 키보..
리눅스나 유닉스에서 사용되는 메시지큐는 XSI와 POSIX 두가지 방식이 있다. 이 두 메시지큐의 모델과 프로그래밍 방식에 대해 간략하게 살펴보자. 1. 유닉스 표준과 IPC 현재 유닉스 계열(리눅스 포함)은 OpenGroup의 SUS(Single UNIX Specification) 표준을 따르고 있다. SUS는 기존에 나왔던 유닉스 계열의 다양한 표준인 POSIX, SVR4(SysV Release4), BSD 등의 표준을 통합했기 때문에 같은 기능이 중복된 경우가 꽤 있다. 그 중에서도 IPC(Inter-Process Communication) 기법이 대표적이다. IPC는 좁은 의미로는 세마포어, 공유메모리, 메시지큐를 다루고 넓은 의미로는 파일, 소켓, 메모리맵 등을 포함한다. 하지만 일반적으로 IP..
TCP/IP 소켓 프로그래밍을 하다보면 초보자는 물론이고 중급이상의 숙련된 프로그래머도 실수하는 경우가 많다. 초급자는 경험이 없어서 실수하고, 중급자는 까먹어서 실수한다. 최근에는 미들웨어나 각종 통신 관련 라이브러리가 많아서 직접 TCP/IP 소켓 프로그래밍을 하는 경우는 줄어들고 있지만, 그렇다고 아예 없어지는 것은 아니니 주의할 점을 한 번 정도는 읽어두면 좋다. * 목차 1. TCP 소켓의 연결 종료가 감지되면 꼭 close를 해야만 한다. 2. SIGPIPE 시그널 처리 3. 재전송 1. TCP 소켓의 연결 종료가 감지되면 꼭 close를 해야만 한다. TCP 소켓은 1:1 스트림 연결이기 때문에 상대편이 소켓 연결을 종료하면 이쪽도 같이 종료해야 한다. 자동으로 닫히는 것이 아니므로 꼭 닫아..
대부분의 프리웨어나 혹은 악성코드 프로그램들은 툴바 설치를 유도하는 경우가 많다. 하지만 툴바들은 시스템을 느리게 하고 지속적으로 네트워크 대역폭을 조금씩 사용하는 경우도 있으니 조심해야 한다. 간혹 친척들이 와서 컴퓨터를 사용하거나, 혹은 컴퓨터를 잘 사용하지 못하는 사람들은 툴바를 엄청나게 설치하는 경우가 있다. 그림처럼 심각하게 된 경우라면 아예 컴퓨터를 밀고 새로 설치하는게 나을 정도다. 그리고 몇몇 검증되지 않은 툴바들은 시스템을 해킹하는 경우도 있으므로 금융정보나 각종 사이트 암호가 유출될 수도 있다. 또한 툴바 외에 다른 코덱이나 프로그램으로 해킹을 하는 경우도 있다. 예를 들어 다음과 같은 경우는 꼭 의심해봐야 한다. 1. 코덱 및 플러그인 설치 유도몇몇 동영상의 경우는 재생을 위해서 코덱..
vmware로 작동하는 시스템을 사용할 일이 생겼는데, 해상도가 이상했다. 모니터 자체의 해상도는 1920x1080인데 리눅스 시스템 설정의 해상도 리스트에 1920x1200까지만 있고 1920x1080가 없었다. 그래서 xorg 패키지의 버그인가 해서 이것저것 패키지를 업데이트 해보기도 했는데 결국 안됐다. 검색해보니 해결책이 있었다. (http://pastebin.com/ZjuHkK44) 원문을 보기 귀찮은 사람을 위해 요약하자면 /etc/X11/xorg.conf 파일에 다음과 같은 코드를 넣어두면 시스템 설정의 해상도 리스트에 1920x1080이 나타난다. Section "Device" Identifier "Configured Video Device" EndSection Section "Monito..
gettimeofday는 유닉스, 리눅스 시스템 프로그래밍에서 시간을 구할 때 쓰는 함수이다. 마이크로초(백만분의 1초)단위로 구할 수 있는 기능을 가지고 있어서 많이 사용되는 함수이다.그러나 앞으로 gettimeofday는 지양해야 할 함수가 되었다. 왜냐하면 gettimeofday는 2008년도 유닉스 표준인 SUSv4-2008에서 앞으로 제거될 구식(obsolescent) 함수로 지정했기 때문이다. 물론 하위 호환성을 위해 gettimeofday 함수는 계속 제공될 것이다. 하지만 몇몇 시스템에서는 기본 라이브러리에서 제거되고, 구식 라이브러리를 따로 포함해야 사용할 수 있게 될지도 모르기 때문에 멀티 플랫폼 용으로 개발된다든지 하는 경우라면 gettimeofday를 쓰지 않는 편이 좋다. 참고로 ..
SearchMyFiles는 파일을 검색하는 프로그램인데, 검색 모드 중에 중복 파일을 찾아주는 유용한 기능이 있다. 반대로 중복되지 않은 파일만 찾는 기능도 있다. 이 프로그램을 사용한 것은 하드 디스크를 정리하면서 중복된 영상, 그림, 음악 파일들이 하두 많아서 중복 파일을 지우기 위해서 찾았다. 사실 처음에는 파일 찾기 기능과 리눅스에서 쓰이는 유틸로 작업햇는데 헷갈리기도 하고 시간도 너무 많이 걸렸다. 그래서 검색을 해봤더니 같은 용량의 파일을 찾아주는 프로그램들을 소개한 페이지가 있지 않은가? (참조 URL : http://www.techsupportalert.com/best-free-duplicate-file-detector.htm) 그 중에서도 SearchMyFiles가 가장 레이팅이 높길래 ..
벌써 몇 년이 지난 이야기다. 교육을 받던 분이 굳이 C언어를 배워야 할 필요가 있냐고 물어보셨다. 그에 대한 개인적인 생각을 적어보도록 하겠다.(이 글은 컴관련 전공자에 한하여 유효한 이야기이다. 비전공자라면 굳이 꼭 C언어를 배울 필요는 없다. 물론 개인적인 공부 방향이 컴관련 하부구조이거나 혹은 나중에 컴관련 대학원을 진학하려면 C언어 공부는 필수다.) 1. 체계화된 프로그래밍 순서를 익힐 수 있다. 모든 프로그래밍은 기본적으로 연산에 필요한 데이터를 메모리에 적재(load)하고 일련의 계산 결과를 저장(store)하게 된다. 이 후에 결과 데이터를 특정 위치로 전송하거나 복제하기도 한다. 이런 기본적인 계산 단위가 논리적으로 분기되고 복합적으로 연결된 것이 바로 프로그래밍이 되겠다. 그러나 가장 ..