나의 이야기/Funny2007. 8. 29. 02:04

  흠.. 정작 본인은 쇼 * 쇼 = 쇼 이것이 뭔지도 모르고 이 광고 한번도 본적이 없는데 어느샌가 이게 유행처럼 흐르고 있더라. 그러다 보니 이 이상한 수식에 대한 여러가지 증명 가설이 나오고 있는데, 그 중 대표적인것은 쇼 = 0 or 1이라는 가설. 그런데 친구 블로그에 가보니 이 가설에 대한 반론의 글을 펼치면서 사건(?) 은 다시 미궁속으로 빠져 들어가고 있었다.

  사실 이놈의 말도 안되는 상업적 수식을 별로 좋아하지는 않지만 그래도 친구 블로그에다가 나의 의견을 한번 적어 보겠다고 했으니 한번 써 본다. 사실 나는 굳이 어느 쪽을 지지하라면 쇼 = 0 or 1이라는 가설 쪽이다. 그래서 그것에 대해 한번 보충 설명을 하고자 한다.

  다음은 친구 블로그에 올라와 있는 글이다.


어떤수를 제곱했을때 자기자신이 되는 숫자는 0 과 1이죠

어떤수를 세제곱해도 네번제곱해도 0하고 1은 자기자신이 됩니다

근데 이걸가지고 사람들이 "그러므로 쇼는 0or 1이다"라고 정의하는데.....

헛소리입니다 ^^ 쇼는 결코 0or 1이 될수없죠

광고에서보면 사람숫자가 늘어나는데 0과 1은 늘어나는 사람숫자를

만족시켜주지 못하기때문입니다.


  우선 쇼 = 0 or 1. 뭔가 생각나는게 있지 않은가? 그렇다. 비트(bit)다. 위 글에서 0과 1은 늘어나는 사람 숫자를 만족시켜 주지 못한다고 했는데, 그렇지 않다. 예를 들어 비트 수가 1개라면 2가지의 정보를 표현할 수 있고, 2개라면 4가지, 4개라면 2^4 = 16가지,n개라면 2^n가지의 정보를 표현 할 수 있다. 그렇다. 그 수가 기하급수적으로 늘어나는 것이다. 사람의 수가 늘어나면 늘어날수록 그것보다 나타낼 수 있는 정보의 수가 훨씬 더 빨리 올라가므로 얼마든지 만족시켜 줄 수 있다. 다음은 위 글에 다음 설명이다.


이제 본론으로 들어가서 쇼 x 쇼 = 쇼 가되는 것을 증명해드리겠습니다

증명을 하기전에 우선 정의를 내려야 할 것이 있는데,

광고를 보면 "쇼를하라" 라고 하자나요?

여기서 알수 있듯이 일단 쇼는 "행위"라는 것입니다.

그 행위는 범위가 한정되어있는 것이 아니기때문에 무한히 많습니다.

이 무한히 많은 것을 수학적으로 표현을 하면 ∞(무한대) 가 됩니다.

그러므로 쇼 = 행위 = ∞ 라는것이 성립이 되고


  여기서 쇼의 행위가 무한이라고 했는데, 그림을 자세히 보자. 이 캐릭터는 '춤'이라는 행동과, '자기 복제'라는 행동만 반복하고 있다. 즉 이녀석의 행위는 0과 1로 얼마든지 표현이 가능하다. OOP의 관점에서 '쇼'라는 놈은 'Class'가 될 수 있고, 이 '쇼'라는 클래스는 '춤'이라는 메소드와 '자기 복제'라는 메소드를 가지고 있다. 자세한 사항은 Encapsulste되어 있어서 알수가 없다. 그리고 그림의 캐릭터는 그 클래스에 대한 '객'체일 뿐이다.


  자.. 이상으로 컴퓨터공학적 관점에서 쇼에 대한 생각을 늘어놓아 봤다. 그렇다. '궤변'일 뿐이다. 그냥 나도 이것 가지고 놀아보고 싶어서 한번 써 봤다. 긴 글 읽어주어서 고맙다.


삽입 글 출처 : 하켄의 블로그 http://haken.tistory.com

Posted by 머리
나의 이야기/Funny2007. 8. 29. 02:02



젠장..


Posted by 머리
카테고리 없음2007. 8. 29. 01:59

2007.8.25 토요일 날씨 맑음


  오랫만에 자전거를 타고 삼락공원에 갔다 왔다. 전에 현이가 자전거 타고 제천<->안동 이렇게 갔다 온다길래 그렇게까지는 꿈도 못꾸겠고 그냥 가까운 삼락 공원까지만 갔다 왔다.

  우리집 나가기 직전. 자 이제부터 저 찜통을 달려야 한다. 현재 시간 오후 2시 15분.. 시간을 잘못 선택했다 너무 더우 시간이다.


  상완이네 집 쪽의 내리막길. 여기서 잠깐 생수 한통 사고 내려가야한다. 다시 올라올 걱정은 나중에 하고, 신나게 내려갔다


  강변도로 입구. 이 길만 쭉 가면 삼락공원. 꽤 길다. 자 한번 달려볼까?


  이런.. 너무 멀리 와버렸다. 어쩐지 전에 왔을때 삼락공원 입구랑 비슷한 데를 지나친거 같다고 생각했는데 실수로 강변도로 끝까지 와버렸다. 결국 다시 되돌아감.

 

  삼락공원 도착. 도착시간 3시 정각. 여기는 축구장, 축구장 건너편에 시민 공원이 있다. 여기서 살짝 물 보충하고, 세수하고 움직였다.


  공원의 자전거 연습장(?) 레일이 꽤 크다. 한바퀴 정도 돌고 집에 돌아갔다. 돌아가기 시작한 시간 3시 15분.

  아까 그 내리막길.. 흐.. 어찌 올라가 저기를.. 뭐 어찌어찌 타고 가지는 않고 자전거 끌고 올라가기는 했다. 헥헥 여기서 더워 죽는줄 알았음.


  도착하고 나니 3시 반. 갈때는 45분 걸리더만 올때는 15분 걸렸다. 뭐지... 아무튼, 오랫만에 자전거 타서 기분 좋았다. 하지만 다음탈때는 좀 자제해야지.. 흐..


  갔다 와서 바로 씻고 PC방 가서 게임을 했다. 건강을 위해 운동해놓고 바로 건강 버리로 피씨방으로...

Posted by 머리
카테고리 없음2007. 8. 29. 01:57

2007.8.24 금요일 맑음


  대학 동기들이랑 애기소에 갔다 왔다. 상욱이 수정이 강성이 희곤이 석희 건우 나 이렇게.


  아침 9시 덕천역 집합. 저번에 갔을때는 애들이 석희 생일떄문에 완전 죽어서 8시 집합을 10시로 미뤄 버리는 상황이 발생했지만 이번에는 다행이 제 시간에 모였다. 저번 애기소 나들이때는 준비도 허술했고 무엇보다 취사가 안된다는 것을 몰라서 고생을 많이 해서 이번에는 거기서 시켜 먹기로 하고 몸만 갔다. 다만, 나는 음료수와 물 및 과자를 샀다. 집이 가깝다는 이유로.


  전날에 프로그래밍 뭐 좀 공부한다고 3시에 자버려서 어떻게 일어나나 싶었는데 나름 거뜬하게 일어났다. 7시 15분에 일어나서 아침밥 먹고 대충 옷가지 챙기고 스타리그 한번 봐주는 여유까지 보여주면서 8시 15분쯤에 출발했다.장만 아니였으면 45분에 출발했을 것이다. 아아 이 얼마나 여유로운가? 애기소 만세! 아무튼, 나와서 장을 보러 나갔는데, 홈플러스 익스프레스에서 사려고 헀더만 이런, 아직 문을 안열었다. 두배로마트도 확인해 보니 아직 안열었고.. 덕천에는 별로 사러 갈만한데가 없어서 어쩌지 싶었는데 삼정 상가 쪽에 탑훼밀리마트는 열어 놨더라. 얼씨구나 하고 가서 사러 갔다. 얼린 생수 3병, 써니텐 오렌지 한병, 포카리 한병, 게토레이 한병 양파링, 매운새우깡, 새우깡 포스틱 이러니 만원도 안나오더라, 거기다 쓰레기 봉투도 잊지 않고 사갔다. 이렇게 사고 보니 혼자서 어떻게 들고가나 싶었는데 의외로 박스에 넣고 보니 그리 무겁진 않더라. 차비도 아낄겸 버스로 가서 덕천역 도착. 역시 1등!! 장까지 봐도 10분이라는 여유가 있더라. 훗 역시 이래서 근처에 사는게 좋아 뭐 이번에는 다들 제 시간에 도착해서 바로 출발 할 수 있었다.


  가는 길은 나름 운이 따라 주었다. 내가 박스를 들었는데 그 자주 안오던 1번 버스가 바로 도착했다. 바로 타서 여유롭게 애기소 도착. 그런데 이번에는 실망이 좀 컸다. 예전에 갔을때는 쓰레기 없이 깨끗했는데 이번에는 완전 쓰레기 투성이였다. 우리야 뭐 저번에 갔을때는 이렇지 않았다는건 알았지만 처음 가는 수정이는 실망이 크겠더라. 뭐 어쩃든 저번에 앉았던 자리에 돗자리도 없이 자리를 잡고(돗자리 없기를 잘했다. 그 자리도 너무 더러워서) 물에 들어갈 준비를 했다. 주위에 동네 초딩들이랑 웬 중고딩 남녀들이 있었는데 초등학생들은 뭐 제껴 놓고, 참 그 중고딩들이 볼만하더라. 남자는 은근히 물에서 스킨십을 즐기질 않나 나중에는 남녀 옹기종기 바위에 몰려누워(?) 단체로 담배를 피울질 않나.. 가관이였다. 뭐 이런건 무시하고, 아무튼 물놀이는 재밌게 했다. 물놀이 조금 하다가 배고파서 피자랑 치킨 시켜 먹고, 다시 물놀이 열심히 했다 주위에 초딩들이 우리가 먹을것도 있고 물놀이 기구들도 있어서 그런지 많이 달라 붙었는데 처음에는 뭐 어린애들이고 하니까 재밌게 놀아 주었고 우리도 재밌었다. 특히 물총이나 튜브 같은 물놀이 기구들이 있어서 재밌게 놀았다.

  한 한시 반쯤 대서, 사람도 슬슬 많아지고, 물도 탁해지고 춥기도 하고 해서 슬슬 집에 가기로 했다. 그런데 이놈의 초딩들이 너무 건방지게 달라붙어서 화를 내버리는 사태까지 발생했다. 수영하다 부딛쳤다고 나랑 싸우려고 하질 않나 참.. 많이 참았다. 막 나한테 머리 대라고 반말하면서 꼬집고 햘퀴고 하며 생 난리를 부리질않나. 튜브 회수 하려니까 도망치고 떙깡을 부리질 않다.. 돌아올떄 그런 점에서 아쉬움이 많았다. 정리하고, 전에 내려오는 길에 퐁퐁을 봤다고 해서 그거나 타러 가기로 하고 버스로 그 길을 내려갔다. 생각보다 많이 멀더라.. 한 10분쯤 걸어서 기껏 퐁퐁에 도착했더니 젠장, 그 초딩들 또 있더라.. 저것들은 지치지도 않다.. 그냥 상대하지 말자 해서 타지 않고 버스정류장까지 계속 걸어갔다.


  버스에서 시계를 보니 2시.. 대충 집에 가면 두시반.. 평소 같았으면 슬슬 일어나서 밥먹고 본익이랑 피씨방 갈 시간대인데.. 이대로 그냥 피씨방 갈까 생각도 했지만 이왕 온거 애들이랑 덕천이나 구경시켜주러 가기로 하고 덕천에 갔다. 처음에 나는 노래방을 가자고 할줄 알고 노래방에 데려다 주려고 헀는데 피씨방을 가자네? 덕천에 아는 피씨방은 별로 없는데.. 그나마 크다는 웁스로 갔다. 각자 자리 잡고 앉았는데.. 아.. 전에도 별로 웁스 맘에 들진 않았는데 이번에도 스타 베넷도 제대로 안되고 썩 맘에 들지 않았다. 대충 한시간 반쯤 하고 서로 헤어졌다.


  아.. 구남 도착하니 네시반.. 아직 시간이 이르다.. 한 10시까지 피방 달리까 생각해서 본익이한테 전화하니 안나온단다. 그렇게 되니 피방 가기도 귀찮아서 그냥 집에 돌아갓다. 씻고 바로 잠들어 일어나니 10시.. 하.. 엄청 피곤하긴 했나보다. 뭐 이래 저래 일이 있었지만 나름 그래도 잘 놀았다. 이번 여름 마지막 피서였는데 좀 찝찝하게 놀긴 했지만 좋았다.

Posted by 머리
나의 이야기/Diary2007. 8. 29. 01:55

2007.8.22일 수요일 맑음(한번 소나기)


  아침 일찍(그래 봤자 9시)일어나 모처럼 오전에 학교에 갔다. 학교에 도착하니 11시. 평소에는 바로 학회실로 갔겠으나 공부 하고 가자고 생각해서 과도에 먼저 갔다. 가니 아무도 없었다. 내가 1등!! But, 과도가 너무 너무 더워서 바로 나와서 학회실로 갔다.

 

  학회실로 가니 정호선배님이랑 양현이, 흥종이, 예슬이 이렇게 있었다. 정호선배는 그냥 컴퓨터 하고 계셨고, 흥종이는 빈둥 빈둥, 예슬이는 자고 있었고, 양현이는 코딩하고 있었다. 전에 내준 건수 선배 숙제였다. "발로 짜~ 발로 짜~" 하면서 살살 약올려 주고 피보나치 수열 구현법 힌트 조금 주고 점심 먹으러 갔다. 정호선배님이 오병이어에서 점심을 사 주셨는데, 돈가스가 맛있었다, 양도 딱 적당했다. 점심을 먹고 나서야 결국 과도로 올라가서 공부 조금 했다. 한 한시간쯤 했나? 애초 목표였던 물리를 생각보다 일찍 끝내서 애들 건수 선배 스터디 하는거 구경하러 갔다. 뭐 했더라? 숙제 설명 조금 하고 뭔가 많이 하긴 했는데 기억이 안난다. 포인터 했던건 확실히 기억나는데... 아무튼 건수 선배의 숙제의 압박은 대단하더라, 애들한테 strcpy랑 strcmp, strlen을 어떻게 구현해 오라는건지.. 아 strlen은 그나마 쉽겠군.

 

  스터디가 금방 끝날 줄 알았는데 엄청 오래 하길래 기다리다 지쳐서 그냥 과도로 올라갔다. 가니 민제 선배 계셔서 전에 부탁했던 델파이 CD를 받았다. 새로운 공부거리다. 내일 도서관 가서 자바 책이랑 델파이 책 빌려야지. 이전에 빌린 자바 책은 너무하더라.. 민제선배한테 공부한다고 막 큰소리(?) 치고 그랬는데 결국 해커스 토익 몇문제(그래도 한단원이라고!!) 풀고 과도에서 나왔다. 선배 오시기 전에 좀 하긴 했지만 왠지 부끄러웠다.

 

  내려 왔더니 애들이 없더라. 어디 갔나 했더니 나를 버리고 저녁 먹으러 갔더군. 쳇 살짝 삐진 상태로 애들 있는 식당에 가서 저녁 먹고 신바람에 갔다. 용민이가 세미나 했었는데 주제는 알고리즘과 자료구조. 나름 정말 열심히 했더라. 뭐 긁어 붙인 흔적이 많이 보였지만 연습장에 혼자 나름 적어서 연구하고 발표 하려고 노력해서 대단하단 생각이 들었다. 내 다음이라 부담이 좀 있었을텐데. 하지만 태클은 인정사정 없이 걸어줬다. 황용민 심히 당황해 하더라. 한 5개는 더 내줄수 있었는데 그냥 두개로 그쳤다 .용민이한테 심히 미안하다. 문자 보냈지만 답장이 없네?

 

  신바람 끝나고 뒤풀이 할 줄 알았는데 뒤풀이는 안하더라, 시간도 7시. 구남에 도착하면 8시. 모처럼 일찍 마치고 일찍 들어가 동네에서 본익이랑 술이라도 마실까 생각하면서 좋아했었다. 영준선배랑 지하철역으로 같이 가고 있었는데 영준선배님이 부산대에서 서면까지 같이 걸아가자고 하시길래 술은 제껴두고 시간도 많은데 걸어 가기로 했다. 헌데, 이거 진짜 멀더라. 온천천을 따라서 쭉 갔는데, 온천천 정말 좋더라, 청계천을 가보지는 않았지만 거기 못지 않다고 생각한다. 시민 공원도 잘 조성되어 있고, 물도 괜찮고, 음악도 가로등에 스피크럴 달아서 틀어 주며, 중간 중간에 식수대도 있다. 정말 좋더라. 문제는 실수로 거의 15분치 거리를 잘못 걸어갔다. 교대 쪽에서 온천천을 빠져 나갔어야 했는데 무작정 쭉 걸었으니.. 근처에 사시는 두상이 형한테 영준 선배님이 연락하셔서 되돌아가는 길에 합류하고 서면으로 걸어 갔다. 다리랑 발이 아픈건 문제가 아니였다. 그냥 흔들면서 움직이면 되니까. 문제는 가방이 너무 무거웠다. 이럴줄 알았으면 사물함에 넣어 놓을걸.. 거기다 땀을 너무 많이 흘려서 수분이 부족한지 쉽게 지쳤다. 거기다 거리는 엄청 멀더군.. 7시반 쯤에 출발해서 서면 역에 도착하니까 10시더라.. 지하철 기다리는동안 포카리 스웨트를 2캔이나 뽑아서 벌컥 벌컥 마셨다. 그건 잘한 일인 것 같더라. 땀 많이 흘린 후에 그런 식으로 수분을 보충해 주니까 회복이 빨리 되더라. 안그랬으면 이 시간에 이미 집에서 자고 있었을 것이다.

 

  아아 너무 피곤하다. 블로그질 조금만 더 하고 20세기 소년 마저 보고 자야겠다. 피곤해 죽겠는데 준이 녀석 갈수록 빌려 오는 양이 많아지고 있다. 어제는 5권 빌려 오더만 오늘은 6권이다. 내일쯤이면 완결까지 빌리겠군. 지금은.. 좀 어지럽네 왜이러지? 오랫만에 운동해서 그런가? 흠.. 그런데 자전거로 가면 얼마 안걸릴 것 같다. 사상 통해서 온천천 갈수 있으면 자전거로 한번 가보고 싶지만 절대 안갈거다!!

Posted by 머리
Study- MSC/Computer2007. 8. 29. 01:52

  몇 분 전에 있었던 일이다.


  MSYS랑 MinGW깔아서 연습하고 있었는데

  실수로 무한 루프를 돌게 코드를 짰다.


  그렇게 컴파일 하고 실행시키니 역시 빠져나오질 못했다. 그래서 그냥 응용프로그램 끄듯이 MSYS를 껐었다. 처음엔 아무 이상이 없었다.


  그러다가 무한 루프가 도는 이유를 정확하게 잡지 못하고 디버깅하고 컴파일하고 실행시키길 3번..


  갑자기 컴퓨터가 엄청나게 느려졌다. 왜 이러지 싶었는데 혹시나 그 프로그램이 아직도 돌아가고 있나 싶어서 작업 관리자의 프로세스를 확인해 보았다.


  역시나.. 그 프로그램이 무한루프를 돌면서 CPU를 50 가까이 잡아먹고 있었고, 그게 3개나 켜져 있었다. 당장 꺼버리니 나아졌다.


  아무리 메신저랑 웹 브라우저 몇 개를  켜 놓고 있었다지만 램이 1GB나 되었는데 그런 상황까지 벌어 졌었다.


  보통 윈도우 상에서 콘솔 기반 프로그래밍을 할때,  포인터를 잘못 만진다거나, 무한루프가 돌거나, 동적 할당을 해제 안했다거나 하는 오류를 범하면 웬만한건 윈도우가 알아서 종료시켜 준다. 대표적으로 MSVC에서 포인터 잘못 만졌을때 윈도우에서 오류 메세지를 보여주면서 강제로 종료시켜 버린 것은 많이 봤을 것이다.  하지만 모든 컴퓨팅 환경이 그렇게 친절하다고 생각하면 큰 오산이다. 예를 들어 예전 도스 환경이나 유닉스 쉘 환경에서 프로그래밍 하던 프로그래머들이 이런실수를 범했다면 어떘을까? 단순이 프로그램 하나가 강제 종료되는 수준이 아닌 자칫하면 시스템 자체가 다운되어 버리는 사태가 발생할 수 도 있을 것이다. 특히 동적 할당 같은 경우는 해제를 잘 안해 주면 처음엔 프로그램이 잘 돌아가다가 나중에 다운되어 버리는 기막힌 상황이 발생한다. 이런건 디버깅위치를 찾는것도 어렵다.


  사실, 공부할 때 이런 에러들을 겪으면서 이게 만약 윈도우 환경이 아닌 다른 환경이였다면 어땠을까? 하는 생각을 하긴 했었다. 그런데 이렇게 실감을 하니 더 무서워졌다. 좋은 경험 하나 했다. 앞으론 더 섬세히 코딩하는 습관을 들여야겠다.

Posted by 머리
Study- MSC/Computer2007. 8. 29. 01:51

  타입 캐스팅 관련 부분을 읽고 있다가 쉬어가는 식으로 아리안 5호의 폭발 사고 이야기가 있길래, 인터넷에서 찾아 본 내용이다.

 

  1996년 4월 프랑스에서 발생한 아리안(Ariane) 5호의 폭발사고는 소프트웨어 안에 숨어있는 버그의 위력을 실감할 수 있는 사례다. 5억 달러에 달하는 거금이 투입된 유럽의 상업용 우주선 아리안 5호는 발사된 지 불과 40여초 만에 공중에서 폭발하여 수많은 사람들을 망연자실하게 만들었다. 당시 사고로 깊은 충격을 받은 유럽 우주기구(Europe Space Agency)와 프랑스 우주연구센터는 즉각 조사팀을 구성해 로켓의 폭발 원인을 찾아내기 위한 정밀조사에 착수했다. 이 같은 정밀조사를 통해 채 한 달도 안 돼 폭발 원인이 드러났다. 5억 달러를 허공에 흩뿌린 충격적인 사고의 원인이 에이다(Ada)로 작성된 소프트웨어 내부에 존재하는 버그로 밝혀졌다. 그 당시 조사팀의 보고 내용이 폭발 사고를 일으킨 소프트웨어가 우주선의 운항과 직접적인 연관성이 없었다고 밝혀져 더 큰 충격을 주기도 했다.
사고는 64비트 숫자 값을 16비트 정수로 변환하는 과정에서 일어났다. 문제가 된 모듈은 보다 작은 수에 한해서 정상적으로 작동하는데 그 보다 큰 수가 입력되는 바람에 수치 오버플로우(numeric overflow)가 발생하였다.
이 오버플로우는 우주선을 운행하는 중앙 소프트웨어에게 터무니없이 잘못 계산된 고도가 전달되도록 만들었고, 그 이상한 값을 읽고 당황한 소프트웨어는 눈 깜빡할 사이에 자동 폭발 장치를 작동시켰다.


출처 : http://blog.naver.com/hippo1969?Redirect=Log&logNo=20035014367

 

  어처구니 없는 사고가 아닐 수 없다. 참고로 말하자면 이 부분은 프로그래머가 이 부분의 코드를 작성한 것이 아니라, 아리안 4호의 동일 기능 부분의 코드를 그대로 복하사면서 생긴 사고라고 한다. 무조건적인 코드 복사의 남발이 부른 결과인 것이다. 같은 기능이라도, 로켓의 스펙이 달라졌는데 좀 더 체크를 했으면 이런 어이없는 사고는 발생하지 않았을 것이다.

Posted by 머리
Study- MSC/Computer2007. 8. 29. 01:49

  얼마 전에 동아리 홈페이지에다 올려 놓은 글이 있었다.(이거 말했다간 익게에 내가 올렸다는거 들키는데..)


  if(조건 a && 조건 b) 이렇게 되어 있을 때 조건 a가 False라면 조건 b를 확인할까 안할까?


  답은 확인하지 않는다이다. 효율을 따져보면 당연한 이야기일 것이다. a가 틀렸는데 굳이 뒤에까지 체크할 필요가 없으니까. 이렇게 연산할 때 한쪽에서 그 연산의 값이 판단되면 연산을 멈추는 규칙을 숏 서킷 규칙(Short Circuit Rule)이라고 한다. &&연산자 이외에, ||도 마찬가지이다.


  이 규칙은 프로그래밍 언어가 도입되기 전에 논리 회로에서 사용되고 있는 것이라고 한다.

  그런데 이런 규칙이 오히려 프로그래머에게 혼동을 줄 수 있는 경우가 있다. 그래서 한가지 팁이 있다면, &&으로 비교하지 않고, 비트 연산자인 &로 비교하면, 숏 서킷 규칙이 적용되지 않는다.

Posted by 머리
Study- MSC/Computer2007. 8. 29. 01:47

vi 시작 명령어 설   명

vi filename 파일 열기, 작성
vi 18 filename 18행에서 커서 시작
vi +/"문자열" filename "문자열"부터 커서 시작
vi -r filename  손상된 파일 복구
view filename 읽기 전용으로 파일 열기

vi 커서 이동 명령어 설   명
h 왼쪽으로 커서 이동
j 아래로 커서 이동
k 위로 커서 이동
l 오른쪽으로 커서 이동

w 오른쪽 한 단어의 처음으로 커서 이동
e 오른쪽 한 단어의 끝부분으로 커서 이동
b 왼쪽 한 단어의 처음으로 커서 이동
Enter 한 행 아래로 커서 이동
Back space 한 문자 왼쪽으로 커서 이동
Space Bar 한 문자 오른쪽으로 커서 이동
^ 행의 맨 왼쪽으로 커서 이동
$ 행의 맨 오른쪽으로 커서 이동
H 현재 보이는 화면의 맨 위로 이동
M 현재 보이는 화면의 중간으로 이동
L 현재 보이는 화면의 맨 아래로 이동
1G 파일의 맨 처음으로 이동
G 파일의 맨 끝으로 이동
숫자G 숫자'만큼 지정한 줄로 커서 이동

Ctrl + f 한 화면 위로 이동
Ctrl + b 한 화면 아래로 이동
Ctrl + d 반 화면 위로 이동
Ctrl + u 반 화면 아래로 이동
Ctrl + e 한 줄씩 위로 이동
Ctrl + y 한 줄 씩 아래로 이동

문자,행 삽입 명령어 설  명
i 커서 왼쪽에 문자 삽입
a 커서 오른쪽에 문자 삽입
A 커서 오른쪽 행의 끝에 문자 삽입
I  커서 왼쪽, 행의 처음에 문자 삽입
o 커서 아래에 행 삽입
O  커서 위에 행 삽입

텍스트 변경 명령어 설   명
cw 단어 변경
cc 행 변경 (현재 행 삭제)
C 커서 오른쪽의 행 변경
s 커서가 위치한 문자열 대체

Posted by 머리

커맨드 버튼 하나만 만들어 놓고 붙여넣기


나머지는 알아서 주석으로 해결~~


Option Explicit
'가변 인수 테스트
'Inputbox로 수를 입력받아 그 합을 구한다.


'UBound 함수 : 배열의 마지막 번호를 넘긴다
'LBound 함수 : 배열의 첫 번호를 넘긴다.
'ex : Dim exam(2 to 4) as Integer
'Debug.print LBound(exam) 결과 : 2
'Debug.print UBound(exam) 결과 : 4

Public Function Sum(ParamArray vArgs())

    Dim i As Integer '루프 변수
    Sum = 0
   
    For i = LBound(vArgs) To UBound(vArgs) '합계 구하는 루프
   
        Sum = Sum + vArgs(i)
   
    Next i
   
End Function

Private Sub Command1_Click()
Dim Args() As Integer '인자 배열
Dim InputNumber As Integer '입력 변수
Dim Count As Integer '첫 입력인지 확인
Dim i As Integer '출력값

Count = 0



Rem 입력 받는 루프, 0이 나올때까지 루프

Do
    InputNumber = Val(InputBox("수를 입력해 주세요(0 : 입력 종료)", "입력")) '입력 받는다
   
    If InputNumber <> 0 Then '입력 받은게 0이 아니라면 배열에 수를 넣는다.
       
        If Count = 0 Then '제일 처음 입력하는 것이면
            ReDim Args(1) As Integer '일단 배열 한개 만들고
            Args(0) = InputNumber '0번째 배열에 첫 수를 넣는다.
            Count = Count + 1 '카운트 추가 -> 사실 이거는 bool형으로 해서 처음이냐 아니냐만 체크해도 되는데.. 일단 이걸로 수도 셀수 있고 하니 놔둠.
       
        Else '처음 입력이 아니면
       
            ReDim Preserve Args(UBound(Args) + 1) As Integer '데이터를 보존하면서 배열 크기 재선언
            Args(UBound(Args) - 1) = InputNumber 'VB의 배열 틍징 -> 배열 크기를 1로 하면 공간이 2개 생긴다 -_-;; -> 그래서 마지막 번호 앞의 거에다가 입력 값을 넣는다
        End If
   
    End If
   
Loop While InputNumber <> 0 '0이 입력안되는동안 계속 루프

If Count <> 0 Then
    ReDim Preserve Args(UBound(Args) - 1) As Integer '이거 지우고 한번 debug.print로 배열 첨부터 끝까지 루프 돌려보면 안다,(UBound,LBound 참조) 맨 마지막에 배열 요소 하나가 남기 때문에 공간 하나를 없앤다.
End If

'출력
For i = LBound(Args) To UBound(Args)
    Debug.Print "Args(" & i & ") : " & Args(i)
Next i

'가변 인수 테스트
Debug.Print
Debug.Print Sum(1, 2, 3, 4, 5)
End Sub

Posted by 머리