본문 바로가기

연구관련/연구생활

(61)
이런 거 하지 말라고 정규 표현식 있는 거다 뭐냐면, 문자열 처리를, 진리의 C++로 해보자. 위 코드는 value가 한 줄에 있는 xml 형식을 처리하기 위한 코드이다. 어차피 xml 파일 자체도 전부 내가 만들기 때문에 이 경우만을 고려하면 되어서 이렇게 했다. 위는... 만약 정규 표현식을 쓴다면, (.*?) 정도로 하겠지. 이 한 줄이면 되는 것을 C++로, 그것도 예외 처리도 별로 하지 않고 하면 위처럼 지저분해지는 거다, >.
아오, visual studio 는 왜 하위호환성이 없냐고... 하여튼, 그러니까 5년 10년된 걸로 계속 개발을 하는 거 아니냐고... VS2010 으로 개발을 쭉 해 오다, 얼마 전, 이제 나온지도 몇 년 됐으니까 괜찮겠지, 하고 2013으로 올려 봤더만 하여튼 오만가지 문제가 튀어 나온다. 게다가 windows 10 으로 올리라고 계속 뜨는 것을 없앨 수가 없어서 결국 windows 까지 7 에서 10 으로 올렸더니, 이게 도대체 어디서부터 문제가 발생한 것인지 찾을 수가 없고, 인터넷 검색을 해도 visual studio 2013 에 관해선 내가 겪는 문제에 대한 해답이 별로 없고 대부분은 vs2010 을 기준으로 한 답변들이다. windows 10 을 올리면서도 이것들이 멋대로 사용자의 성향을 가정해서 설정해 놓은 부분들이 마음에 안 드는 것이 한두가지가 아..
드뎌! 서버 미러링 작업중. 약간 병적으로 집착하는 것은, ㅋㅋ, 데이터가 날아가지 않을까, 하는 것. 왜 그런지 정확히는 모르겠지만 지금까지 HDD 가 망가진 경우가 많다. bad sector 같은 것이 생겨서 못 쓰게 된 HDD 만 모아 놓아도 열 개는 족히 되리라. 그래서 항상 데이터의 백업에 집착하곤 했었지, ㅋㅋ. 그래서 dropbox 가 나왔을 때도 꽤 이른 시기부터 사용했었다. 유료로 사용한지도 꽤 되었지. 아, 물론, 아이 클라우드 역시 한 달에 천원 더 내고 50GB 사용 중. 내 생각은 항상 그랬다, 핸드폰이나 컴퓨터같은 딱딱한 기계 덩어리가 문제가 아니라 그 안에 들어 있는 데이터가 문제다, 따라서 기계가 망가지는 것은 관심 없고 데이터가 날아 가는 것이 문제다! 뭐... 물론 기계가 망가져도 가슴이 좀 아프지만..
노가다에 의한 철야? 오래간만이다, 이 시간까지 있는 것이. 물론 집에 들어 간다고 해도 보통 2시 정도에 자기는 하는데, 연구실에 이 시간까지 있던 경우는 꽤 오랜만이다. 아무래도 모니터를 두 개 사용하고, 키보드를 사용하는 것이 랩탑을 이용하는 것보다 편하다보니 뭔가 마우스와 키보드를 오가며 해야 할 일이 있을 경우에는 연구실에 늦게까지 있게 되곤 한다. 코딩이라면야 방에 들어가서 침대에 누워서도 할 수 있으니 일찍 - 그래봐야 10시에서 12시 정도지만 - 들어 가곤 하는데 말이다. 왠만한 것들은 코딩을 해서 해결하려 하지만, 결코 코딩으로 해결할 수 없는 경우들이 있다. 이런 경우 엄청난 노가다를 며칠이고 하곤 한다. 어쩔 수 없지, ㅋ. 엑셀을 매우 많이 한다거나, 하여튼 그런 것. 지금은 한문으로 된 문서를 분석하..
autodock vina를 직접 compile 해서 사용하기 protein-chemical binding affinity 를 계산하는 프로그램인 autodock vina 를 컴파일 해보자. 컴파일을 하는 이유는 실제로 이 프로그램을 실행시킬 컴퓨터에서 컴파일을 해서 사용하면 제공되는 실행 파일을 이용하는 것보다 속도가 좀 더 빠르기 때문이다. 정확한 test 는 아니지만 linux > windows 8 > windows 7 순서로 속도가 빠른 것을 확인할 수 있었고, 각 경우 언제나 직접 컴파일 한 실행 파일이 속도가 더 빠르게 나왔다. 위 결과는 컴퓨터가 아주 안좋은 경우부터 아주 좋은 경우까지 모두 해당된다. 리눅스에서의 컴파일 윈도우즈에서의 컴파일 리눅스에서의 컴파일 우선 결론적으로 정리된 절차는 다음과 같다. 32bit 운영체제(OS)에서 한 것이기 때문에..
일중독일 것이라 생각하여 하던 코딩을 멈춘다. 대략 25~30대의 컴퓨터를 엮어서 사용 중이다. 그런데 중간에 연결이 끊기면 조치를 취해야 하므로 이것을 메일로 자동으로 보내는 프로그램을 작성 중이었다. 더불어 몇 가지 더 확인할 사항들을 집어 넣은 후, 이것들이 조건을 만족시키지 못하면 이 상황을 메일로 보내는 프로그램. 대략 30분에 한 번씩 확인해서 메일을 보내는 것. 잠시만이라도 컴퓨터가 놀고 있는 것을 보아 넘어 갈 수 없기도 했고, 내가 직접 확인하지 않을 때도 언제나 확인작업은 진행 중이라는 마음의 안도. 곧, 반대로 말하면, 내가 일을 하지 않고 쉬고 있어도 일이 진행되고 있다는 것을 확인할 수 없으면 생기는 불안감. 그러니까, 잠시라도 일이 진행되는 상황을 파악할 수 없으면 불안한 것. 중독인 것이다. 그래서, ..
연구 자원(DB 등) 개인적 사용 용도로 정리해 놓으려던 것을 공개용으로 전환하여 정리한다, 별 문제가 없으므로. 개별 설명은 최소한으로 하며 글을 읽는 사람은 전공자라 간주한다. 새로 알게 되는 내용에 따라 전체 구조가 수시로 변경될 수 있음을 미리 언급해 놓는다. 사견은 * 표시 뒤에 언급한다. 참고 문헌 링크 중 (PMC)는 누구나 읽을 수 있는 Open Access 에 대한 link 이다. Chemical DB 연번 이름 제공 설명 1 ChEMBL 현존하는 chemical DB 중 생물학적 관점에서 가장 방대한 두 DB 중 하나. 1 mysql 과 oracle의 dump 를 제공한다. 2 DrugBank 승인 받은 것과 실험중인 것 등, 약물에 관한 정보를 제공. 1 모든 구조를 단일 SDF 파일로 제공하며, 기타 정..
100개가 넘는 core를 사용하는 요즘 매우 많은 컴퓨터를 사용해서 계산을 하고 있다. 물리적인 CPU의 개수가 아닌, hyper-threading으로 늘린 thread의 개수를 core라 하겠다. 즉, 요즘 보통 core 개수가 100개 이상을 갖고 작업을 하곤 했다. 우선 다른 연구실의 cluster 에 계정을 얻어서 돌렸다. 각 job이 어느 정도까지 실행되었는지 보기 위해 위와 같이 간단한 script를 만들어 확인해 보았다. 보통 200~300시간 정도가 걸려야 job 하나가 끝나는데, 이런 job이 200개 남짓. 이것을 한 번에 20개의 노드에 날렸고, 각 노드에서 core 4개를 점유해서 사용했다. 주말이나 연휴에 확인했을 때 다른 사람들이 node를 사용하고 있지 않으면 이 때는 대부분의 node를 이용했었다. 그러다 보니....