목록컴퓨터 관련 (86)
Linux Programmer
언젠가부터 chrome brower에서 검색할 때 502 error가 자주 발생하였다. 처음에는 가끔 발생했는데, 점점 횟수가 늘어나더니 이젠 image 검색은 무조건 502 error로 실패하고, google map은 그냥 나오지 않았다. 특히 google map을 실행하면 화면에 아무것도 나오지 않았다. googling을 해서 확인해보니 다들 plugins의 문제라고 해서 plugin을 1개씩 끄면서 테스트 해봤는데도 여전했다. 결국 스스로 해결하기 위해, 프로파일링을 했다. 그 결과 config settings의 문제였다. chrome을 오랫동안 쓰다보니 계속 update가 되었던 것인데, 과거에 쓰던 config와 새로 updated chrome의 config가 충돌을 일으키는 것이다. 따라서 "..
얼마전부터 이상하게 시스템의 SSD 중에 1개가 데이터를 쓸려고 하면 인식이 끊겼다가 다시 인식되곤 했다. 그래서 파일 복사는 자꾸 실패...제품명을 살펴보니 Seagate ST200FP0021 (200G) 제품이었다. 하드웨어 문제로 예상된 것은 OS가 리눅스일 때나 윈도우즈 일때나 불규칙하게 오류가 발생한다는 상황 때문이었다. 처음에는 SATA cable오류일지 몰라서 교체를 해봤으나 여전히 문제가 발생했다. 그래서 firmware version 문제가 아닐까 생각되어 살펴봤다. 내 시스템의 ST200FP0021 펌웨어 버전은 B690 이었다.시게이트 홈페이지에서 검색해보니 B770 버전이 나와있길래 업그레이드를 시도했다.그런데 펌웨어 업그레이드 방법이 리눅스 부팅 디스크를 만들어서 해야했다. (나는..
리눅스 아재력 or 할배력 테스트 (2023-06-28일 업데이트) 이 테스트는 리눅스 옛날 명령어만 알고 있는지, 아니면 대체된 새로운 명령어도 알고 있는지 알려줍니다. deprecated된 옛날 명령어(일명 아재명령어 or 할배명령어)만 알고 있다면 이제 새로운 명령어와 기능들도 열심히 배우도록 합시다. 0. 사용방법 아래 명령어나 기능 중에 a가 가장 오래된 기능이고, 이후 보기들(b,c,d)은 대체된 새로운 기능이거나 명령어입니다. 예를 들어 문항에서 a, b, c를 모두 알고 있다면 최근 새로운 기능까지 모두 알고 있는 것입니다. Part 1 : 기초 명령어, 셸 1-1. 터미널 화면 clear (or scroll up) a) clear b) 아직도 화면을 지우기 위해 clear를 타이핑하고 있..
기술의 발전은 많은 직업군을 사라지게 하거나 축소시켰다. 그러나 사라진 직업만큼 새로운 직업군을 만들내기 마련이다. 새로운 기술에 능동적으로 대응한 인간들은 새로운 시대에 주역이 되는 직업을 가졌고, 새로운 기술을 적극적으로 거부한 사람들은 직업을 잃거나 안좋은 직업군으로 밀려났다. 그렇다고 새로운 기술 발전에 본인의 직업이나 학문이 사라질 것을 너무 두려워할 필요는 없다. 오히려 새로운 기술, 학문에 대해 궁금증을 가지고 적극적으로 받아들이면 되니까 말이다. 그러기 위해서는 신기술과 학문에 오픈 마인드를 가져야 하고 다양한 전공과 필드 스펙트럼을 가진 사람들과 접촉해야 한다. 왜냐하면 신기술의 시대에는 항상 다양한 기술과 이론들이 서로 경쟁한다. 어떤 것이 최후에 살아남을지는 폭넓은 시각을 가지고 관찰..
보호되어 있는 글입니다.
C언어 공부법과 책추천 마지막 수정일 : 2020-11-16 처음 쓴 날짜 : 2015-01-15 이 글은 C언어를 공부할 때 헤메지 않고 국제 표준인 정종(正種) C언어를 배우는데 도움을 주고자 쓰여졌다. 그러기 위해 알아야 하는 용어나 기반지식들을 살펴보고, 추천 도서인 KNK, K&R에 대해 소개하겠다. 참고로 여기에서 제시하는 방향이나 책이 올바르고 유일한 진리의 길은 아니다. 이 길은 개인적이고 주관적인 견해가 포함되어있으니 감안하고 보길 바란다 2015년을 기준으로 할때, 현대 컴퓨팅 환경에서 C언어의 위치는 거의 바닥에 존재하는 기초 언어이다. 따라서 C언어 뒤에 등장한 프로그래밍 언어들은 C언어의 문법체계를 따라했을 정도로 큰 족적을 남기기도 했다. 또한 운영체제(Operating syst..
* 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-exec vfork와 문제점 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. 코덱 및 플러그인 설치 유도몇몇 동영상의 경우는 재생을 위해서 코덱..