10/22/2014

종교인들이 무신론자에게 물어서는 안되는 바보같은 질문들

1. 어디서 도덕심을 충족시키는가?

종교인들이 쉽게 착각하는 것중에 "종교가 없으면 양심도 팔아 먹을 사람" 으로 잘못 알고 있는것이 대표적이며, 종교가 없다거나 믿는 신이 없다고 해서 도덕적이지 않다는 건 종교에서 그렇게 반복적으로 받아들이도록 세뇌되었기 때문일 뿐이고, 무신론자는 유치원 - 초등학교 - 중학교 - 고등학교 - 대학교 그리고 사회에서 배운대로 도덕을 지키며 자신의 삶을 알아서 잘 산다.

2. 아무것도 믿지 않으니 인생이 정말 공허할 것 같은데?

아니다. 당연하지만 대다수의 종교인들 조차도 믿음이나 신앙만이 인생의 목표가 되어야만 한다고 생각하지 않을 것이다. 무신론자가 신앙을 가지지 않는다고 해서 목표가 없거나 할짓이 없는 것은 절대 아니다. 친구, 꿈, 도덕, 친절함, 지식, 사랑, 가족, 음악 그리고 좋아하는 모든 것들.. 종교인과 달리 우리는 어떤 하나에만 목숨 걸고 빠순이 혹은 빠돌이 짓을 하는 것이 아닌 존재하는 모든 것을 위해서 살아가는 사람들일 뿐.

3. 왜 신에게 화가 나있는가?

신에게 화가 나다니 무슨 바보 같은 소리일까? 없는 신에게 어떻게 화를 내지? 하지만 종교에 대해 불만이 있는 거라면 그렇다. 무신론자는 애초에 존재증명이 가능하지도 않은 신이라는 존재에게 불만이 없다. 마치 우리가 유니콘에게 화가 나있거나 증오하지 않듯이. 다만 참지 못하는 것은 그의 팬덤들의 꼬장부리는 행위. 쉽게 말해 "빠"가 "까"를 만든다.

4. 당신은 신의 존재를 반증할 수 없는데?

객관적인 과학에는 반증가능성이 필수불가결하게 따라 붙는다. 반증 가능성이야말로 과학이 가지고 있는 최대의 무기인 점을 모르나보다. 굳이 과학적인 부분까지 들어가지 않아도 이 문제는 논리적으로 쉽게 논파 당한다. 어떤 특수한 존재를 증거도 없이도 믿을 수 있다면 그 특수한 존재는 증거 없이도 얼마든지 부인될 수 있다. 특수한 주장에는 특수한 증거가 필요하다. 증명할 수 없으며 더더욱 반증할 수도 없는 것은 궤변, 말장난에 불과하다.

5. 만약 당신이 틀렸다면?

만약 무신론자인 내가 틀렸다면?? 틀리면 틀린 것이다. 무신론자가 틀렸다고 해서 아무런 일은 일어나지 않는다. 세상은 아무런 일도 없던 듯이 아주 잘 돌아갈 것이다. 근데 "종교인이 틀렸다면?" 이라는 생각은 안해봤는가?

6. 그냥 조금 믿어보기만 하면 돼!

마찬가지로 무신론자들도 이렇게 말해줄 수 있다. "신께서 날 무신론자로 만드셨는데 감히 누구시길래 그의 지혜를 의심하는지?"

7. 그냥 마음을 열어보는 건 어떤가?

미안하지만 무신론자들의 마음에는 아무 이상이 없다. 그냥 일반적인 사람들과 별 다를바 없는 같은 "인간"이다. 폐쇄적인 마인드라고 생각했다면 오해에 불과하다. 우리는 어떤 문제점이 발견되고 틀렸다는 것이 증명되면 마음을 고쳐먹고 새로운 정보를 갱신시켜서 그것을 받아들인다. 비록 스스로가 만든 과학 가설이나 이론단계까지 이른 것일지라도 틀리고 새롭게 더 고쳐진 정보가 나오면 당연히 폐기하고 새로운 정보로 갈아탄다.

8. 당신은 인생에서 종교적이던 적이 없지 않은가?

이건 상당히 틀린 일종의 "어림짐작" 에 불과하다. 실제로 종교적인 가정에서 모태신앙인으로 태어나서 종교에 한번 미쳐보고 이게 뭐하는 짓인가 싶어서 벗어나고 싶어도 가족이나 주변의 눈치 때문에 문제를 겪는 사람들이 주위를 둘러보면 상당히 많이있다. 이는 단지 기독교 국가나 이슬람국가만의 문제가 아닌 전세계적인 문제이고, 앞으로도 상당히 오랜기간 존재할지도 모르는 사안이다. 오히려 신앙이 없이 살기를 원하는 자세를 존중하지 않으려는 종교인들의 강압때문에 반종교적인 자세를 가지는 경향이 오히려 더 강해진다. 자유를 억누르면 뛰쳐 나가버리고 싶은 것이 인간 본성이기에.

9. 유년기에 무슨 일이 있었나? 그래서 무신론자인가?

종교인들이 가끔 묻는 질문중에 하나다. 종교적 집안에서 학대를 받아 무신론자가 된건 아닌지 역시 "어림짐작"만 한다. 그래도 답변 해주자면 내가 아는 모든 무신론자들의 유년 시절은 문제가 없었으며 주변인들과 별 다를바가 없다. 사람이기 때문에 그저 사람처럼 살아온 것이고 인간적인 선택을 했을 뿐이다. 그것이 무슨 문제라도..?

10. 종교 경전(※예 : 성경)은 읽어봤는가?

물론 당신이 "만들어진 신 - 리처드 도킨스" 혹은 "신은 위대하지 않다. - 크리스토퍼 히친스" 같은 유명한 무신론자들이 자필한 무신론 저서를 읽을 수도 있다. 하지만 토라, 바이블, 꾸란을 처음부터 끝까지 정독하는 것? 장담하는데 당신이 가진 이성의 눈이 완전히 닫히지 않았다면 경전을 처음부터 끝까지 정독해보길 바란다. 그 행위가 당신을 무엇보다도 빠르게 무신론자로 만들것이다. 읽고도 무신론자가 아니라면 그것은 이성이 마비되었거나 그렇게 믿고싶어하는 희망적 사고(Wishful Thinking)에 너무 물들어 있기 때문이다. 무신론자들이 종교인들보다 종교를 더 잘아는 것은 이상한 것이 전혀 아니다. 오히려 정보가 있기 때문에 애시당초 믿지 않는 것이다. 구태여 집어서 성경 뿐만이 아니라 다른 경전들도 취미 삼아 읽는 무신론자들도 있다.

11. 널 위해 기도할게.

당신이 한 말은 "널 위해 기도하겠다" 겠지만, 정작 무신론자들이 듣고 이해 한 말은 "널 위해서 내 자신과 대화 해볼게" 이다. 당신이 시간낭비를 하겠다면 굳이 막지는 않겠다. 사람은 자신이 원하는 것을 하고 살 권리를 법치아래 보장받고 살고 있기에.

12. 당신들은 악마 숭배자가 아닌가?

악마도 존재 증명이 불가능한 초자연적인 존재이며 신화, 미신적인 존재이므로 신과 같은 취급을 받는다. 따라서 우리를 무신론자에서 변형해 무악마론자라고 부르고 싶은대로 불러도 좋다. 아이러니하고도 웃긴 것은 "무신론자를 악마숭배자가 아니냐"라고 이렇게 질문을 사람들은 악마의 존재를 믿고 있으며, 무신론자들인 우리는 악마가 있는지에 대해 신경도 안쓰며 있다고 믿지도 않는다.

13. 불가지론자 아닌가?

객관적으로 보면 무신론자는 100% 신의 존재를 믿지 않는다. 당신 말대로 특수한 존재할 수는 있을지는 모른다. 이 생각은 과학이 패러다임 교체를 준비하고 열린 가능성을 두는것과 비슷한 것이다. 하지만 이 주장은 요리를 하다가 가스레인지가 폭발할 확률을 우려해 두려워 배를 쫄쫄 굶는 것과 유사하지만 오히려 당신이 믿는 신이 존재할 확률은 이 가스레인지 폭발 확률에 비교하면 거의 없을 정도로 낮다. 혹시나 잘 몰라서 설명을 하나 더 추가하자면

"불가지론적 무신론"은 신이 있는지 없는지는 모른다. 하지만 과학적 증거를 유추해보면 있을만한 것이 아니라고 생각하는 쪽이며,
"순수 불가지론"은 신은 있을 수도 있고 없을수도 있는데, 확률은 50 대 50 이라는 것이 다르다.

14. 무신론은 종교가 아닌가?

무신론이 종교라는 주장은 총알(신앙)을 넣지 않는 총(종교)에서 총알이 발사된다는 것과 같은 논리이며, 대머리도 헤어 컬러이며, 배터리가 없는 휴대폰으로 전화를 걸겠다는 말과 같으며, 꺼진 텔레비전도 채널이라는 소리와 동일하다.

15. 왜 그리도 화가 나있는가?

있다고 믿지도 않는 신이나 초자연적 존재들에게 딱히 화가 나있는 것은 아니다. 다만 일부이단으로 치부하기에는 실제적으로 그보다 훨씬 많은 종교인들이 미친짓을 하고 있으며, 당사자는 싫다는데 신이라는 명목하에 강요를 하기 때문일 것이다. 그만 하라고 하면 너무나도 간단히 "종교박해"로 몰고 가는데 이것은 명백한 이중잣대이다. 쉽게 말하자면 "내가하면 로맨스, 남이 하면 불륜"이라는 논리다.

16. 믿는다고 손해볼 것은 없는데 왜 안 믿는가?

무신론자가 믿어도 손해볼 것은 없는 것은 당연히 안다. 그러나 반대로 무신론자 입장에서는 안 믿어도 손해볼 것은 마찬가지로 없다. 그리고 이 논리는 파스칼의 내기라는 논리로 겁쟁이들이 주로 선택하는 보험심리에 불과한 헛된 희망이다. 만약 어느 신자가 야훼를 평생 믿기로 가정했고 만약에 사후세계에 갔다고 치자, 그런데 야훼가 아닌 아누비스가 떡하니 버티고 있다면, 그가 줄곧 믿어온 "무조건 야훼가 있을 것이다. 아니면 사탄이다." 라는 이분법적인 논리는 쉽게 무너진다. 야훼가 다른 그리스의 신들이나 여타 신화보다 더 그럴싸 해 보이는 것은 주변에서 더 많이, 그리고 더 쉽게 접하기 때문이고 이를 받아들이도록 대중 매체속에서 반복적으로 세뇌 되었기 때문이다.

17. 당신이 죽으면 당신의 영혼은 무사 할 것 같은가?

당신이 있다고 믿는 영혼은 당신의 뇌에서 나온 개념에 불과하다. 당신은 실제적으로는 뇌가 비추고 있는 홀로그램을 믿는 것이다. 즉, 현실이 아닌 믿음을 믿는 것이다. 영혼의 존재 또한 증명이 불가능하며 있다고 보고된 공식적인 기록은 없다. 혹시나 있다고 주장하는 그런자가 있다면 전세계에서 가장 유명한 초자연현상 검증자인 제임스 랜디에게 검증 받기를 추천한다. 자신이 얼마나 멍청한 행위를 하는지 만천하에 까발려 질 것이다.


출처: https://www.facebook.com/notes/366262840216508/

8/23/2014

미국 소프트웨어 회사에서 일하면서 느낀점

나의 회사 건물




대학교 졸업 후 미국 소프트웨어 회사에서 일한지 이제 3달이 다 되어간다 (아직 꼬꼬마).  대기업은 아니지만 그래도 현재 계속 성장을 하고 있는 회사임.

물론 그 전에도 미국 회사에서 인턴쉽을 했었지만 뭐 그건 말 그대로 '인턴' 이였으니까 크게 느낀 점 같은 것은 없었다. 아, 근데 커피타고 복사하고 이런 잡무는 안시킴. 인턴 기간동안 다른 개발자가 쓴 코드를 읽고 많이 배운 것 같다. 

아무튼 내가 한국의 분위기와 많이 다르다고 느낀 것을 적어보도록 하겠다. 참고로 난 한국에서 태어나고 한국에서 자란 토종 김치맨 (군필)이다.


  • 2주마다 월급(?)이 나옴
가장 신기했던게 급여가 2주마다 나온다는 것이다. 다른 미국 회사들은 이것도 선택할 수 있다고 한다. 3주마다 받거나 4주마다 받거나.. 근데 대부분이 2주마다 받는데 이유는 나도 잘 모른다. 이게 은근 괜찮은거 같은 이유가 급여 나오면 막 지르는데 2주만 있으면 또 월급이 들어온다. 그래서 또 지른다..ㅋㅋㅋㅋ



  • 무제한 병가

다른 회사같은 경우는 1년에 병가를 낼 수 있는게 정해져있다고 들었는데 내가 다니는 회사 같은 경우는 무제한이다. 아프거나 치과같은데 가야하면 얘기하면 된다. 물론 악용하면 짤리겠지..  내가 왜 이런 방침을 갖고 있는지 궁금해서 찾아봤다 (http://www.businessnewsdaily.com/4250-sick-days-employee-productivity.html). 요약하자면 만약 병가 기간이 정해져있으면 사람들은 어떻게든 그걸 다 쓰려고 한다는 것이다 (아프지가 않더라도). 왜냐하면 1년이 지나면 없어지니까 손해를 본다고 느낀다는 것. 그래서 난 이런 방침이 참 마음에 든다고 생각한다.


  • 자유 시간, 자유 복장 
아마 이건 소프트웨어 회사니까 그런데 출근 시간에 제한이 없다. 그냥 가고싶은데로 회사 가서 할일 다 하면 퇴근하면 된다. 복장도 청바지에 반팔 셔츠 입고가도 아무도 뭐라고 하지 않는다. 가장 컬쳐 쇼크였던건 점심시간이 정해져있지 않다. 배고프면 11시든 1시이든 아무렇게나 나가서 밥 먹고 오면 된다. 또 회사에 간이 주방? 처럼 된 곳이 있는데 거기 가면 항상 땅콩이나 초콜릿, 커피가 구비되어 있어서 먹고 싶으면 가서 먹으면 된다. 코딩하다 막히면 M&M 먹으면서 하면 잘 풀림 ㅋㅋ


  • 새로운 테크놀로지
항상 새로운 기술, 언어가 있는지 조사를 한다 (뭐 이거야 모든 회사 공통일듯..).  예를 들어 Front-end 에 JQuery를 계속 써왔었는데 현재 회사의 분위기는 Angular-JS로 갈아타는 분위기이다. 나도 제이쿼리를 참 좋아했었는데 이제 Angular-JS 신봉자가 되었다. Angular-JS 진짜 편함..ㅋㅋㅋㅋ 아무튼 항상 새로운 기술을 프로젝트에 도입하여 뒤쳐지지 않도록 노력을 많이 한다.



  • 자기가 맡은 일만
내가 가장 처음 했던 인턴이 뉴욕 시티에 있는 작은 홈페이지 만들어주는 회사였는데, 그때는 프로그래밍 이외에 포토샵도 같이 했었다. 그때 기억으로 프로그래밍하는 것보다 포토샵이 더 어려웠던 기억이 나는데, 현재는 진짜 내가 할일만 한다. 기능 짜는 일들은 프로그래머들이 하고 디자인 관련 부분은 디자이너가 한다. 물론 더 좋은 아이디어 있으면 건의를 하면 된다. 


  • 가족 중심
8월달에 회사에서 피크닉을 간 적이 있었다. 시간은 물론 점심때쯤이였다. 회사에서 절대 업무시간 이외에 행사를 하지 않는다는게 참 좋았다. 아, 그리고 피크닉도 안가고 싶으면 안가도 된다. ㅋㅋㅋㅋ 가니까 바베큐해먹고 배구하고 놀았는데 참 재미있었다.



마침 아이스크림 트럭이 와서 꼬마들 폭주함


기억에 남았던 것은 결혼한 회사 사람들은 자식들을 데리고 와서 같이 즐겼다는 것이었다. 내 팀의 리드 프로그래머도 얼마전에 둘째를 낳았는데 같이 와서 사람들이 축하해주고 하는걸 보면서 참 가족 중심적이라고 느꼈다.

그리고 회식도 없다. 모든 회사 축제나 이벤트 같은 경우는 업무 시간에 이루어진다. 업무 시간 이 외에는 전혀 터치를 하지 않는다. 철저한 공과 사를 지키는듯..



  • 안쪼음
이건 내가 개인적으로 느낀건데 프로젝트 매니저나 리드 프로그래머나 밑에 사람들을 막 쪼으고(닥달하고) 그러지 않는다. '빨리 빨리' 이런 마인드가 없다. 처음 일을 시작했을 때 프로젝트의 구조나 이런걸 몰라서 엄청 해매고 간단한 것도 시간이 걸려서 힘들었었는데 그 때 리드 프로그래머가 빨리 처리할 필요가 없으니까 걱정하지말라고 하면서 '제대로' 만드는게 중요하다고 했던 것이 기억에 남는다.



  • 피자 금요일
이건 우리 회사 한정이지만..ㅎㅎ 회사에서 금요일마다 점심때 피자를 시켜준다. 대기업 피자 (파파존스나 피자헛)를 시켜주는게 아니라 주변의 로컬 피자 스토어가 5-6 군데 있는데 돌아가면서 시킨다. 

금요일마다 핫소스만 들고 출근한다.


목요일날 일하고 있으면 먹고 싶은 피자를 골라라고 메일이 날라오면 홈페이지(회사에서 피자 주문받는 홈페이지도 특별 제작함 ㅋㅋㅋ)에 들어가서 먹고싶은걸 시키면 된다. 어떤 스토어는 어떤게 더 맛이 좋다 이런게 있는데 난 잘 몰라서 사람들이 제일 많이 시킨 슬라이스를 시켜서 먹는다. ㅋㅋ




  • 기타


회사가 엄청 큰게 아니라서 시설이 많이 있는건 아니지만 탁구 테이블이 있어서 심심할 때마다 탁구를 친다. 근데 미국 사람들 탁구 엄청 못치더라..ㅎㅎ 근데 이것도 회사가 커지면서 사람들 더 뽑는 바람에 탁구 테이블 치워버리고 책상이랑 의자를 놔뒀다. 흑흑...ㅜㅜ

다만 좀 아쉬운점이 있다면 회사에 외국인이 나 혼자뿐이다..ㅋㅋㅋㅋㅋ 영어는 내가 제일 못함 ㅋㅋㅋㅋㅋㅋㅋ ㅜㅜㅜㅜㅜ


막상 적어놓고 보니까 별로 많이는 없는 것 같다. 계속 일해보고 새로운 느낀점들이 있으면 적도록 하겠음.










8/03/2014

요즘 근황




대학교의 마지막 학기는 정말 너무 바빠서 블로그를 포스팅할 시간 조차도 없었다 (약간 오바해서).

많은 시간을 인터뷰와 개인 프로젝트, 공부에 시간을 쏟아부었다.

다행히도 미국 소프트웨어 회사에 취직을 했고 현재는 슬슬 자리를 잡아가고 있는 중임.

조만간 내가 예전에 갔던 해카톤Hackathon들 (프로그래밍 대회) 후기 사진들을 올려야겠다.  크로스핏 정보도 함께!


2/21/2014

맥에서 동영상을 gif로 변환하는 어플 (움짤 만들기)




윈도우 머신이 하나도 없어서 윈도우를 쓸 때 자주 썼던 프로그램이 그리운 경우가 많다. 동영상 변환 같은 경우는 Adapter (http://www.macroplant.com/adapter/) 라는 프로그램을 쓰고 있는데 무료에다가 기능도 많아서 자주 쓴다.

물론 Adapter에서도 동영상을 gif 로 변환이 가능하지만 최근에 디자인이 예쁜 앱을 발견해서 포스팅해본다.

바로 Gifrocket (http://www.gifrocket.com/)이라는 앱이다. 

Flat한 느낌의 디자인이 최근 추세인데 느낌을 잘 살렸고 실제로 앱을 실행시키면 저 동그란게 부들부들 움직이는게 그게 귀엽다. ㅎㅎ

사용방법도 아주 간단하다. 그냥 드래그해서 드랍하면 끝.

아 나랑 저 개발자랑은 아무 상관없는 관계임.



2/13/2014

시놀로지 DS213 AIR 개봉기


시놀로지 DS 213 Air를 선물받았다. 드디어 나에게도 NAS 가 생기는구나.




개봉~





구성물은 간단하다. 케이블, 메뉴얼, 본체.





NAS 서버는 처음으로 이용해본다.





투박한 느낌일줄 알았는데 생각보다 귀여웠다. ㅋㅋ






그리고 사이즈도 작았다. 하드는 2개가 들어감.





같이 선물받은 WD 3테라바이트 NAS용 하드 드라이브.







저런식으로 뚜껑을 밀면은 본체가 열린다. 물론 나사로 하드 삽입후에 고정하면 된다.




둘다 장착!






그리고 나사로 전부 조여주면 된다. 근데 나사 갯수가 딱 맞게 들어있음.. 여분으로 1~2개 정도 더 넣어주지..





그리고 http://find.synology.com 여기로 접속하면 알아서 설치를 다 해준다.

살짝 사용해보고 느낀점은, 

1. 생각보다 엄청 조용함. 
2. 시놀로지 업계 1위답게 사용이 엄청 쉽게 되어있다.
3. 특히 설정같은건 웹브라우저를 통해 전부 다 가능함 (웹 개발에 관심이 많아서 이걸 어떻게 구현했을까 라는 생각 ㅋㅋ).

DS213 Air는 와이파이도 탑재되어 있어서 라우터로도 쓸 수도 있고 아니면 무선으로도 연결가능하다. 하드 베이가 2개인게 조금 아쉽지만 그래도 8테라까지 지원하므로 개인이 쓰기엔 적당.

한달간 쭉 써보고 사용기 다시 올리겠음.

이제 내가 가진 서버만 해도 3개가 넘어가네..ㅋㅋ 서버 부ㅋ자ㅋ



1/20/2014

IT관련 무료 eBook을 다운받을 수 있는 사이트





우연히 발견한 사이트인데,

IT관련된 eBook들을 PDF 형식으로 다운로드를 제공한다.

주로 프로그래밍에 관한 원서가 굉장히 많다.

그리고 모두 무료!

내가 좋아하는 Head First 시리즈들이 거의 다 있길래 전부 다운받았다.

아 그리고 물론 영어.

1/17/2014

OpenNLP 1.5.3 API를 C# 라이브러리로 변경하는 방법


1. ikvm 최신버전을 다운 받는다 (http://www.ikvm.net/download.html).

2. OpenNLP 바이너리 파일도 다운 받는다 (http://opennlp.apache.org/cgi-bin/download.cgi). apache-opennlp-1.5.3-bin.zip 을 다운받으면 됨.

3. UIMA 바이너리 파일을 다운 받는다 (http://uima.apache.org/downloads.cgi).

4. 오라클에서 javamail api을 다운 받는다 (http://www.oracle.com/technetwork/java/index-138643.html).

5. 다운 받은 파일들의 압축을 전부 푼다.

6. ikvm 압축푼 폴더로 가서 bin 폴더에다가 2,3,4 에서 다운받은 jar 파일들, jwnl-1.3.3.jar, mail.jar, opennlp-maxent-3.0.3.jar, opennlp-tools-1.5.3.jar, opennlp-uima-1.5.3.jar, uima-core.jar, 이 6개 파일을 집어넣는다.

7. 윈도우에서 command 명령어를 이용해 ikvm의 bin 폴더로 이동한다.

8. 그리고 아래의 명령어를 입력해준다.

ikvmc -target:library -assembly:opennlp opennlp-maxent-3.0.3.jar jwnl-1.3.3.jar opennlp-uima-1.5.3.jar opennlp-tools-1.5.3.jar uima-core.jar mail.jar

9. 그럼 오류가 뜨긴 뜨는데 무시해도 된다.

10. 이제 아래의 파일들을 C#에서 add reference를 통해 추가만 해주면 쓸 수 있다.


  • opennlp.dll
  • IKVM.Runtime.dll
  • IKVM.OpenJDK.Core.dll
  • IKVM.OpenJDK.Jdbc.dll
  • IKVM.OpenJDK.Text.dll
  • IKVM.OpenJDK.Util.dll
  • IKVM.OpenJDK.XML.API.dll
  • IKVM.OpenJDK.Charsets.dll



참고로 모델 파일들은 [여기]에서 다운이 가능하며, 예제들은 [여기]에서 확인이 가능하다.

시간나면 예제들 올리겠음.


추가:

모델 파일 중에서  en-pos-maxent.bin 이 파일이 있는데, 이 파일을 winrar이나 압축 프로그램으로 열면 (압축을 풀라는 말이 아님) tags.dagdict 이라는 파일이 있는데 그걸 지워줘야지 제대로 쓸 수 있다.


예제:

만약 문장을 분리해내고 싶다면,

string ModelPath = @".\Model\";
java.io.FileInputStream modelInpStream = new java.io.FileInputStream(ModelPath + "en-sent.bin");
opennlp.tools.sentdetect.SentenceModel sentenceModel = new opennlp.tools.sentdetect.SentenceModel(modelInpStream);
private opennlp.tools.sentdetect.SentenceDetectorME sentenceDetector = new opennlp.tools.sentdetect.SentenceDetectorME(sentenceModel);
string[] input = sentenceDetector.sentDetect(txtboxInput.Text);
txtboxOutput.Text = string.Join("\n", input);

이런식으로 사용하면 된다.

1/05/2014

우분투 서버 아파치2에서 계정마다 주소 주는 방법


일단 vsftpd같은 ftp 프로그램으로 접속이 되는지 확인한다.

그리고 유저 계정에 public_html 이라는 폴더를 생성한다.

cd /etc/apache2/mods-enabled/
sudo ln -s ../mods-available/userdir.conf
sudo ln -s ../mods-avaiable/userdir.load

위의 명령어를 실행시킨 후

sudo service apache2 restart 

를 해주면

http://서버ip/~계정

이런식으로 접속이 가능해진다.


출처: http://www.androidstar.net/?p=22

우분투 서버 (13.10) 20분마다 ping 보내기


터미널에서

sudo crontab -e

를 치면 원하는 에디터를 고르라는 메뉴가 뜬다. 원하는 에디터를 고르고

*/20 * * * * ping -c1 보내고_싶은_주소

입력후 저장.

그리고 sudo service cron restart 를 해주면 된다.


만약 로그를 남기고 싶다면

*/20 * * * * ping -c1 google.com; echo "DONE AT $(data)" >> /var/www/pinglog.log

*/20 * * * * ping -c1 google.com >> /var/www/pinglog.log && echo "DONE AT $(data)" >> /var/www/pinglog.log   결과물도 저장하고 싶다면



이런식으로 입력해주면 된다.


우분투 서버 백업 / 복원 하기


우선 루트 디렉토리로 간다.

cd /

그리고 tar 을 이용해서 전체 백업을 한다.

sudo tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system / 

혹시 빼주고 싶은 폴더가 있다면

--exclude=/필요없는_폴더

이런 식으로 옵션을 추가 해주면 된다.

백업이 다 되었으면 usb 에 따로 저장을 해주자.

sudo fdisk -l

명령어로 usb의 파티션과 파일시스템을 확인한다. 보통 /dev/sdb1 일 것이다. 파일 시스템은 FAT 아니면 NFTS 일 것이다.

이제 media 폴더에 usb 마운트를 위한 폴더를 만들어주자.

sudo mkdir /media/usb

그리고 여기에다가 USB를 마운트해주자.

sudo mount -t vfat /dev/sdb1 /media/usb 파일 시스템이 FAT일 경우
sudo mount -t nfts-3g /dev/sdb1 /media/usb 파일 시스템이 NFTS일 경우
마운트가 되면 백업 파일을 복사 (또는 이동)을 해주자.

sudo cp backup.tar.gz /media/usb/backup.tar.gz

복사가 다 되면 마운트를 해지하고

sudo umount /dev/sdb1

USB를 뽑으면 된다.




복원하는 방법은 일단 Live CD가 필요하다 (만드는 방법). 그리고 부팅을 Live CD로 한 다음, gparted 명령어를 이용해 하드를 포맷을 해주자.

그리고 하드를 USB처럼 마운트를 해준다.

그리고 난 후, 백업 파일이 있는 곳으로 가서

sudo tar -xvpzf backup.tar.gz -C /마운트한_경로 --numeric-owner

입력해주고 압축이 다 풀리면 sudo reboot 을 통해 재부팅을 하면 된다.

1/04/2014

넷빈즈 프로젝트 별로 메모리 할당 늘리는 방법


넷빈즈 프로젝트에서 오른쪽 버튼을 누르고

Properties -> Run 을 보면 VM Options 라고 보이는데

거기에

-Xms64m -Xmx256m

위의 값을 넣어주면 된다. 숫자는 바꿔줄 수 있음.

넷빈즈 기본 인코딩 UTF-8 로 변경하기


넷빈즈가 설치된 폴더로 가서 etc 폴더를 찾는다.

그리고 netbeans.conf 파일을 열어서

netbeans_default_options 로 시작하는 줄을 찾아서

-J-Dfile.encoding=UTF-8

이걸 추가 하고 넷빈즈를 재시작하면 된다.

맥에서 넷빈즈 완전 삭제하기


넷빈즈(Netbeans)를 완전 삭제 하는 방법은 다음과 같다.

우선 기본 Application 폴더에서 Netbeans를 찾아서 폴더를 삭제한다.

맥에서 Library 폴더는 2개가 존재하는데, 최상위에 있는 라이브러리 폴더와 그리고 유저 하위에 있는 라이브러리 폴더가 있다. 이 두개 라이브러리 폴더에서 다음과 같은 폴더를 찾아서 싹 다 삭제하면 된다 (없는 폴더도 있음).


  • /Library/NetBeans
  • /Library/Application Support/NetBeans
  • /Library/Preferences/NetBeans
  • /Library/PreferencePanes/NetBeans
  • /Library/StartupItems/NetBeans
  • /Library/Caches/NetBeans


1/03/2014

크롬 깨알 같은 팁


새로고침을 할 때 캐시된 걸 불러오지 않고 다시 서버에서 받아오는 방법

CTRL(CMD) + SHIFT + R 을 누르면 됨.




크롬 주소창에 자동완성된 사이트를 지우기

마음에 들지않는 주소가 나올 때 SHIFT + DEL 키를 눌러서 삭제하면 됨.

JQuery(제이쿼리)로 화면 중앙에 나타내기


HTML

<div class="className">THISHALL.COM</div>



JQUERY

<script type="text/javascript">
$( document ).ready(function() {
 $(window).resize();
}); 
$(window).resize(function(){
    $('.className').css({position:'absolute'}).css({
        left: ($(window).width() - $('.className').outerWidth())/2,
        top: ($(window).height() - $('.className').outerHeight())/2
    });
});
</script>

className은 마음대로 해줘도 됨.

이렇게 해주면 브라우저 크기를 바꿔도 계속 화면 가운데에 정렬이 된다.

우분투 서버(Ubuntu Server)에서 Device failed to enter state 1 오류 해결 방법


노트북이 RT2500 (Ralink) 랜카드를 쓰는데

자꾸

[숫자.숫자] ieee80211 phy0: rt2500pci_set_device_state: Error - Device failed to enter state 1 (-16)

이런 오류가 자꾸 떴다.

구글링 결과 커널 문제라고 하길래 커널을 최신버전으로 깔기 위해서

우분투 서버 12.04 에서 우분투 서버 13.10으로 새로 설치하고

업데이트까지 싹 하니까 오류 메시지가 안나오는가 싶더니..

또 뜨기 시작. 노트북에 깔아서 자동으로 랜카드에 전원이 차단되는거 같아서

/etc/systemd/logind.conf

여기서

HandlePowerKey=ignore
HandleSuspendKey=ignore
HandleHibernateKey=ignore
HandleLidSwitch=ignore

위의 설정들을 추가하고 reboot. 참고로 저 설정들은 노트북 닫았을 때 절전모드 (sleep 모드)로 안빠져가게 해주는 옵션들. 그래도 또 오류가 뜨기 시작함.

그래서 다시 구글링을 열심히 한 결과

sudo iwconfig wlan0 power off

이 명령어를 실행시켜주면 안뜬다.



추가:

우분투 서버를 껐다켜면 다시 또 뜰텐데

sudo vi /etc/rc.local

를 통해서 exit 0 전에 위의 명령어를 추가해주면 됨.

1/02/2014

우분투 서버 (Ubuntu Server) 13.10 AMP + Tomcat 서버 세팅

까먹을까봐 미리 포스팅해놓는다.

일단 우분투 홈페이지에서 Ubuntu Server를 다운받고 USB로 설치를 한다 (이것도 못하면 우분투 쓰지마라. 진심).

마지막 설치 과정에서 미리 설치할 것을 고를 수 있는데

OpenSSH server
LAMP server
Tomcat Java server
를 고를 것.

그리고 설치 후에


sudo apt-get update && sudo apt-get dist-upgrade -y
sudo do-release-upgrade // 이건 우분투 자체 업데이트. 하고 싶으면 해도 됨

를 해서 업데이트를 해준 후

sudo reboot

으로 서버를 껐다켜준다.


그리고 라우터에 접속해서 포트 포워딩을 해줌.

참고로 서버에서

ifconfig

라고 치면 ip가 나오니까 그리로 포트 포워딩을 해주면 된다.

포트 번호는 참고로

FTP: 21
SSH: 22
MySQL: 3306
Tomcat: 8080
Apache: 80


그 후에 

sudo apt-get install vsftpd

로 vsftpd 를 다운로드 받는다.

sudo vim /etc/vsftpd.conf

해서 

anonymous_enable = NO
local_enable = YES
write_enable = YES

이정도로만 바꿔주면 된다. 상세 설정은 구글링하면 되고.

sudo /etc/init.d/vsftpd restart

저장 후 재시작하기

vsftpd에서 이용할 계정 추가는

sudo adduser 사용자아이디
로 추가 하면 됨.

/var/www/ 의 권한이 필요한데,

sudo chown -R 계정이름 /var/www
sudo chmod -R 755 /var/www

이렇게 해주고

ln -s /var/www /home/계정이름/html

뭐 이런식으로 심볼릭 링크를 만들어주거나


sudo vi /etc/passwd

를 통해서 계정의 홈 디렉토리를 변경해주자.


그 다음 MySQL에서 외부 접속을 허용하도록 하자.

sudo vi /etc/mysql/my.cnf

저 파일을 열어서

bind-address = 127.0.0.1

이 부분에 #을 붙여서 주석처리 한다.

sudo service mysql restart

그리고 재시작


여기까지 하면 AMP (Apache, MySQL, PHP) 까지는 작동이 잘 된다. 물론 Tomcat서버도 잘 작동한다.

확인을 위해서

http://ip주소

를 치면 It works! 라고 뜨면 아파치 서버는 잘 작동하는 것임.


/var/www/

이 경로에 test.php 파일을 만들고

<?php
    print_r(phpinfo());
?>

저렇게 입력후 저장한 다음

http://ip주소/test.php

로 접속해서 잘 나오는지 확인한다.

php도 잘 나온다면

Tomcat 서버를 확인하기 위해

/var/lib/tomcat7/webapps/ROOT/

경로로 간 후 

로 폴더를 하나 만들어주고 그 안에다가

jspTest.jsp 파일을 이렇게 하나 만들어주자

<HTML>
 <HEAD>
  <TITLE>Hello World</TITLE>
 </HEAD>
 <BODY>
  <H1>Hello World</H1>
  Today is: <%= new java.util.Date().toString() %>
 </BODY>
</HTML>

그리고 저장 후

http://ip주소:8080/jspTest.jsp

로 확인해주자.


만약 Tomcat 웹 어플리케이션을 이용하고 싶다면

sudo vi /etc/tomcat7/tomcat-users.xml

에서 쭉 내리다가 </tomcat-user>바로 이 전에

<user name=“아이디” password=“비번” Roles="admin-gui, manager-gui, manager-script, manager-jmx, manager-status" />

추가 하고 저장, 재시작한다.

그러면 

http://ip주소:8080/manager/html
http://ip주소:8080/host-manager/html

로 접속이 가능하다.




이제 AMP랑 Tomcat 서버랑 같이 나오게 하기위해 libapache2-mod-jk 를 설치해주자.

sudo apt-get install libapache2-mod-jk


그리고

sudo vi /etc/tomcat7/server.xml

를 열어서

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

이 부분을 주석해제하고 저장


sudo vi /etc/apache2/workers.properties

파일을 하나 만들어주자. 내용물은

worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=1 // 이 부분의 숫자를 늘리면 jsp 처리속도가 빨리진다.



그 후에 

sudo vi /etc/apache2/mods-available/jk.conf

를 열어서 보면 JkWorkersFile 항목의 경로가 다르게 되어있는데 밑에처럼

JkWorkersFile /etc/apache2/workers.properties

이렇게 경로를 방금만든 파일로 바꿔준다.


마지막으로

sudo vi /etc/apache2/sites-enabled/000-default (숫자 0임)

파일을 열어서

<VirtualHost *:80>
# DocumentRoot /var/lib/tomcat6/webapps/ROOT/
DocumentRoot /var/www/
....중략....
JkMount /*.jsp worker1
</VirtualHost>

DocumentRoot 경로와 마지막줄에 처리할 파일 확장자를 추가해주자.


sudo /etc/init.d/tomcat7 restart
sudo /etc/init.d/apache2 restart

서버 둘다를 재시작해주고 테스트 jsp 파일을 /var/ www/ 에 만들어준다음

http://ip주소/testJsp.jsp

이렇게 입력해서 아까의 화면이 나오는지 확인한다.