[카테고리:] 컴퓨터

  • 인터넷 뱅킹

    공인인증서 파일을 삭제하는 바람에 재발급 받았다.

    우리은행에서 받은 공인인증서를 기업은행에 등록하기 위해서 삽질을 하고 있는데

    문득 이런 생각이 들었다.

    어차피 웹으로 해도 수십가지의 프로그램을 설치하느라 삽질을 해야 하고, 그나마도 운영체제마다, 운영체제 버전마다 되고 안되고가 달라지는데, 그냥 ‘컴퓨터 뱅킹 프로그램’ 하나만 설치해서 그 안에서 지지고 볶고 하면 되는거 아닌가.

    왜 이 병신들은 굳이 ‘인터넷 익스플로러 뱅킹’이라는 명제를 사수하기 위해서 삽질을 하는 것인가.

    고객 관점에서 그저 ‘윈도우즈용 클라이언트 프로그램’ 하나가 있으면 되는 것을 키보드 보안 프로그램을 비롯한 온갖 것들을 설치시키는 걸 보고 정말 경악을 금치 못했다. 심지어 오픈뱅킹을 하려고 하니 컴퓨터 접속 제한 프로그램을 설치하라고 하는데, 이건 인터넷 뱅킹 사용을 몇대의 컴퓨터로 제한시키는 프로그램이다.

    이럴거면 그냥 클라이언트 프로그램을 제작해서 뿌리는 것이 낫지 않나?

    아니면 은행 통합으로 개발해서 그 프로그램 안에서 돌고 돌아도 되고. 프로그램을 금감원같은데서 개발해서 인증하고 배포하면 위험도 없을 것이다.

    리눅스용, 맥OS용도 마찬가지로 개발할 수 있고.

    대체 이럴거면 오픈뱅킹은 왜 존재하는 것인가.

  • 맥북에 리눅스 깔기

    맥북에 리눅스를 설치했을 때

    GRUB이 설치 안되어서 부팅 안될거라고 경고하는 경우에

    refind를 설치하고

    꼭! efibootmgr을 실행시켜서 부팅 순서를 바꿔줘야 한다.

    한 이틀 삽질했더니 깨달음이 왔다.

    Capslock을 Control로 바꾸는 xmodmap 설정파일 .Xmodmap 파일

    clear Lock

    keycode 66 = Control_L

    add Control = Control_L

    그나저나 무선랜이 잡히다 말다 한다. 관련 버그 리포트가 우분투 포럼에 올라가 있긴 한데…

    고쳐지려나 모르겠다. 포럼 댓글에 보면 지난주에 버그 고쳐서 올려놨다던데.

    무선랜이 안잡히는 이유는 서버 인증서를 무시하라는 설정을 그놈의 네트워크 관리자가 제대로 알아듣지 못하기 때문이다.

    (여기서 그놈은 GNOME이다.)

    /etc/NetworkManager/system-connections/에 있는 파일에서 cert를 확인할거냐는 항목을 삭제해버리면 거짓말처럼 잘 작동한다.

    다음 버전에서는 버그가 고쳐질 것 같은데, 아무래도 불편하긴 하다.

  • append와 insert

    list에는 append와 insert가 구현되어 있다.

    numpy에도 마찬가지로 append와 insert가 구현되어 있는데, 사용할때 주의가 필요하다.

    import numpy

    numpy.insert(a, n, m)

    a라는 array의 n번째 자리에 m을 끼워넣은 array를 되돌려 준다.

    가장 마지막에 뭘 넣고 싶은 경우 n=-1을 쓰면 될 것 같지만 사실은 그렇지 않다. 가장 마지막에 넣고 싶을땐 append를 사용해야 한다.

    numpy.append(a, m)

    이건 a라는 array의 가장 끝에 m을 끼워넣은 array를 되돌려 준다.

    배열의 위치 지정이 실제 배열 요소가 아니라 배열 요소의 바로 앞에 있는 칸막이에 번호가 붙어있고, 배열에서 원소를 가져올 때는 그 칸막이의 바로 뒤에 있는 원소를 갖고 오는 방식이다보니 나타나는 일이다. insert는 칸막이가 있는 곳에 가서 한칸 만들고 거기에 원소를 하나 추가할 뿐이다.

  • 망할 보안

    많은 사람들이 지적했고 나도 또다시 말하는 건데

    IBK 인터넷 뱅킹에 접속하려고 하니 보안 프로그램을 설치하라고 한다. 설치했더니 시스템 재시작을 해야 한다고 한다. 시스템 재시작을 했더니 아까 설치한 그 보안 프로그램을 다시 설치한다. IPsecure인가 하는 놈이다.

    그리고 Xecure web인가 하는 애는 가장 악질인데, 공인인증서 로그인을 하고 나면 설치되는데 IE를 재시작 해야 하기 때문에 로그인이 풀린다. 그래서 IE를 재시작하면 다시 설치된다.

    그래서 로그인만 하면 되는 문제인데 로그인하는데 10분정도 걸린다.

    다음번에 사용할 때 이 프로그램들은 다시 설치하게 되는데, 그 사이에 프로그램이 위, 변조되었을 가능성이 있기 때문이다. 또한, 어차피 사용할때마다 다시 설치하는 주제에 백그라운드 서비스로 들어가서 돌고 있는 프로그램도 있다. 원래 백그라운드 서비스로 돌리는 경우는 자주 사용할 때 빠른 응답을 위해 사용하는 것인데 이래서는 아무 의미도 없다.

    IBK도 그렇고, 다른 은행사들도 그런데, 물론 법이 보안 프로그램 사용을 강제한다는 사실은 아는데, 그래도 사용자 편의성을 생각해서 개선할 수 있는 부분 아닌가?

  • 로또번호 추천기


    페이스북 생활코딩에서 봤다.

    45개중 6개의 번호를 알려주는 알고리즘을 생각해 보자.

    1. 6개의 빈칸을 만든다.

    2. 6개의 칸 중 가장 처음 만난 빈칸에 1~45사이의 임의의 정수를 넣는다.

    3. 6개의 칸에 중복된 것들이 있나 없나 검사하고, 중복된 것이 있으면 지운다.

    4. 2번으로 돌아가서 반복. 6개의 칸이 모두 차 있으면 종료.

    가장 간단한 알고리즘인데 2중 반복구문을 써야 하니까 아무래도 효율성이 떨어지지 싶다.

    여기에 내가 제안한 알고리즘은 다음과 같다.

    0. 1부터 45중 6개를 골라서 만들 수 있는 모든 패턴을 미리 생성해서 기록한다. 이건 26!과는 달리 약 100메가바이트 정도의 작은 용량을 차지하므로 미리 해둘 수 있다. 이 때 기록에 인덱스를 만드는데, 1부터 8145060이 적당할 것이다.

    1. 1부터 8145060사이의 임의의 정수를 선택한다.

    2. 선택된 정수에 해당하는 인덱스로 찾아가서 로또 번호를 고르면 된다.

    이건 저장공간이 많이 필요해서 그렇지 일단 계산만 해두면 상수시간 내에 계산할 수 있는 알고리즘이 된다.

    저장공간이 필요하지도 않은 매우 간단한 알고리즘이 있는데, 다음과 같다.

    1. “2, 11, 21, 31, 41, 43″을 출력한다.

    로또 번호는 뭘 고르더라도 당첨될 확률이 같으므로, 굳이 프로그램에서 난수를 생성할 필요 없이 로또 추첨을 기다리면 추첨할 때 난수가 생성되므로 알고리즘이 매우 간단해진다.


    (https://kldp.org/node/118661

    왜 그런지는 이 글을 참고바람.)

    장난치지 말고 1~n의 정수중에서 k개를 겹치지 않게 선택해주는 그럴듯한 알고리즘을 만들어달라고 한다면 다음과 같다.

    1. k개의 빈칸을 만든다.

    2. 1과 n-k 사이에 있는 임의의 정수를 선택한다. 이것이 첫번째 수이고, n1이라고 하자.

    3. (n1)+1과 n-k+1 사이에 있는 임의의 정수를 선택한다. 이것이 두번째 수이고 n2라고 한다.

    이걸 k번 반복한다.

    이 알고리즘은 결과물을 심지어 정렬된 상태로 출력시켜준다.

    이런 알고리즘도 가능하다.

    1. 1~7사이의 정수를 하나 선택한다. x라고 하자.

    2. i=1~6까지 반복하여 i*x를 출력한다.

    어차피 로또는 뭘 골라도 그게 그거라 별로 의미는 없다.

  • 윈도우즈 8.1

    차라리 윈도우즈 8이 낫다.

    아니 그냥 윈도우즈 7을 쓰거나 리눅스를 쓰는게 낫다.

    내 관점에서 볼 때, 인터넷뱅킹과 아래한글이 작동한다는 것 외에 별다른 장점이 없다.

  • 페이스북

    페이스북 계정 개설

    http://www.facebook.com/snowall

    여전히 인터페이스가 구리다. 타임라인 빼고는 다 쓸데없는 정보들인데.

    * 페북으로 연락하는 것 보다는 전화, 문자, 카톡, 블로그 연락이 더 빠를겁니다.

  • 윈도XP의 함정


    http://news.naver.com/main/read.nhn?mode=LSD&mid=shm&sid1=105&oid=001&aid=0006493902

    윈도XP에서 윈도7로 전환시에 여러가지 이용자 불편이 우려된다는 내용의 보고서가 나왔다고 한다.

    애초에 리눅스와 같은 오픈소스 운영체제를 썼으면 시스템이 급격하게 바뀌지도 않을 것이고, 사용자나 회사 입맛대로 개조할 수 있었을 것이며, 지원이 끊겨도 소스가 공개되어 있으니 얼마든지 전문가를 고용해서 스스로 지원할 수 있다.

    이 상황에서 윈도XP의 지원을 끊는 MS가 아니라 MS의 독과점을 알아서 실현해준 멍청한 기업들이 욕을 먹어야 한다.

  • 람다 함수

    파이썬에서 람다 함수는 이름없는 함수이다. 이름이 없기 때문에 한번 쓰면 다시 불러올 수 없다. 즉, 1회용 함수이다.

    왜 쓰냐건, 웃지요.

    바꿔 말해서, 한번쓰고 버릴 함수를 만들기 위해서 쓴다.

    문법은 lambda를 써 주고, 인자를 써주고, 리턴값을 쓰면 된다.

    (lambda x, y, z: x+y+z)(1,2,3)

    이게 전부다. 저러면 6이 나온다.


    http://coreapython.hosting.paran.com/dive/chap04.html#apihelper.lambda

    어쨌든 파이썬의 강력한 기능 중 하나라고 한다.

    한가지 중요한건, 람다 함수로 할 수 있는건 람다 함수를 쓰지 않고도 전부 할 수 있다는 점이다. 반대로, 람다 함수가 아닌 다른 함수로 할 수 있는 일 중에는 람다 함수로 할 수 없는 것도 있다.

    그럼 람다 함수가 뭐가 좋아서 쓰는걸까? 파이썬 사용자들의 말에 의하면 더 우아하고 더 효율적이라고 한다.

    사실 이걸 사용하면 한줄에 다 담을 수 있고, def를 써서 정의하지 않아도 되므로 이름을 붙이는 수고를 덜 수 있고(인간적 관점과 메모리 점유율 관점에서), 함수를 찾아보러 어디 다녀오지 않아도 된다.

    내 경우에는, 어떤 함수를 람다 함수로 정의하기 위해서 코드를 머릿속에서 만드는데 걸리는 시간이 15초 이하라면 써볼만 할 것 같다. 그 이상 걸린다면 그냥 함수를 하던대로 정의해서 쓰는 것이 낫겠다는 생각이 든다.

    이 문제를 어떻게 풀 것인가? 에 관한 고민에서, 어떤 경우는 람다 함수를 사용하면 매우 간단하고 간결한 해법이 나올 수도 있으므로 사용법과 문법은 익혀두는 것이 좋겠다. map, reduce, filter 등의 함수와 함께 쓰면 조금 더 강력해진다.

  • 윈8

    여러가지 부득이한 사정으로 윈8을 설치하게 되었다.

    1. 설치는 매우 쉬워졌다.

    2. 태블릿에서 쓰기에 매우 좋아졌다.

    3. 마우스로 쓸 때는 매우 불편해 졌다. 도저히 어떻게 써야 하는지 모르겠다.

    4.

    작업표시줄에서 한글 IME아이콘을 삭제할 수 없다.

    알림영역 설정에서 끌 수 있다.



    근데 꺼놔도 부팅을 다시 하면 저절로 켜진다. 뭐야 이거 버그인가??

    5. 왜 파이어폭스 앱 모드에서 ‘뒤로가기’는 있는데 ‘앞으로 가기’는 없는걸까. 그리고 마우스만으로 탭 전환을 하려면 탭 추가 버튼을 눌러야만 하는건가??

    6. 같은 프로그램인데 앱 모드와 데스크탑 모드 사이의 정보 공유가 아예 안되는건 말이 안되는 사태다. 차라리2개의 운영체제를 동시에 사용하는 기능이라고 광고했다면 납득할 수 있을지도 모르겠다. 심지어 환경설정 내용도 공유가 안된다. 이 얘기는, 파이어폭스를 앱 모드와 데스크탑 모드 사이에서 따로 설정하라는 뜻이다. 물론 파이어폭스는 동기화 기능이 있기 때문에 설정을 공유할 수는 있지만, 그거랑 이거랑은 다른 얘기지.

    7. 결국 단축키 모르면 사용하기 불편한 데스크탑 컴퓨터를 만든 MS의 선택. Back to DOS인가.

    8. 어쨌든 파이어폭스에서 마우스 클릭만으로 주소표시줄을 열 수가 없다. 그럼 Ctrl+L을 어떻게 알아내지?

    9. 이런저런 이유로 파이어폭스 쓰기가 불편하다.

    10. 키트윅도 안 먹는다. Caps-lock 자리에 Ctrl을 쓰지 못한다면 작업 속도가 절반으로 줄어든다.

    11. 윈7로 복귀 결정.

    결국은, 어쩌다보니 부득이하게 윈8을 쓰게 되었다. 윈7로 포맷해도 되지만 그것도 또 귀찮고, 키보드로 해피해킹프로2를 사용하면 굳이 키트윅을 안 써도 되므로 당분간은 괜찮을듯. 그러나…

    12. 앱모드에서 전체 앱 목록을 볼 수 있는데, 이거 뭘 찾기가 매우 어렵다.

    13. 잠금화면은 데스크탑 모드에서는 화면보호기 이상의 의미가 없다. gpedit에서 없애자.

    14. Classic shell을 설치하면 기존의 시작메뉴를 사용할 수 있다. 여기서 몇가지 설정을 하고 Active corner를 모두 꺼버리면 윈7과 비슷해진다. 그래도 뭔가 좀 부족하지만. 윈8.1 업데이트에서 시작버튼을 다시 제공한다고 하니까 그때까진 기다려야겠다.

    15. Windows 95 스타일을 지원하지 않는다.


    터치패드 없이는 정말 사용하기 어렵게 만들었다.