2009년 12월 29일 화요일

구성 요소 기본 포트 번호

구성 요소 기본 포트 번호

구성 요소

포트

용도

Administration Server

390

표준 HTTP 포트

Application Server

8080

표준 HTTP 포트

443

HTTP over SSL

3700

표준 IIOP 포트

4849

Administration Server 포트

7676

표준 Message Queue 포트

8686

JMX 포트

8181

HTTPS over SSL

Calendar Server

80

표준 HTTP 포트

389

LDAP 포트

443

HTTP over SSL

57997

ENS

59779

DWP

공통 에이전트 컨테이너

10162

JMX 포트(TCP)

10161

SNMP 어댑터 포트(UDP)

10162

트랩용 SNMP 어댑터 포트(UDP)

10163

Commandstream 어댑터 포트(TCP)

Directory Proxy Server

489

LDAP 수신기

Directory Server

389

표준 LDAP 수신기

636

LDAPS over SSL

Instant Messaging

49909

멀티플렉서 포트

49916

보안 모드, Netlet 나가는 포트

49917

보안 모드, Netlet 들어오는 포트

49919

Instant Messaging 서버 대 서버 포트

49999

Instant Messaging 포트

Message Queue

80

표준 HTTP 포트

443

HTTP Over SSL

7676

포트 매퍼

7677

HTTP Tunnelling Servlet 포트

Messaging Server

25

표준 SMTP 포트

80

Messaging Express(HTTP) 포트

110

표준 POP3 포트/MMP POP3 프록시

143

표준 IMAP4 포트/MMP IMAP 프록시

443

HTTP over SSL

992

POP3 over SSL

993

IMAP over SS 또는 MMP IMAP Proxy over SSL

7997

이벤트 알림 서비스 포트

27442

제품 내부 통신을 위해 작업 제어기에서 사용

49994

내부 제품 통신을 위해 감시자가 사용

Portal Server Secure Remote Access

8080

표준 HTTP 포트

443

HTTP over SSL

10443

Rewriter 프록시 포트

10555

Netlet 프록시 포트

49916

보안 모드, Netlet 나가는 포트

49917

보안 모드, Netlet 들어오는 포트

서비스 레지스트리

6060

ServerInstancePort

6443

ServerInstanceSecurePort

6484

ServerJMSPort

6485

ServerIIOPPort

6486

ServerIIOPSecurePort

6487

ServerIIOPMutualAuthPort

6488

AdministrationJMXPort

6489

AdministrationPort

Web Proxy Server

8081

WPS_ADMIN_PORT

8080

WPS_SERVER_PORT

Web Server

80

표준 HTTP 포트

443

HTTP over SSL

8888

표준 관리 포트

2009년 12월 28일 월요일

더미 파일 만들기

http://hoshins.egloos.com/3476141

간혹 파일의 크기가 큰 더미 파일이 필요할 때가 있다. 이런때 사용하자.

Windows의 경우:
fsutil file createnew <filename> <size_in_byte>

Linux의 경우:
dd if=/dev/zero of=<filename> <block_size> <count>

2009년 12월 25일 금요일

Obj-C 오늘의 성과

1. #include 문을 그대로 쓸 수 있다.

2. MinGW에서는 m확장자만, cygwin에서는 m, mm확장자를 쓸 수 있다.(이후 Cygwin으로 설명한다.)

3. m확장자는 완전한 Obj-C문법을 요구한다.(C++형 class사용불가. Obj-C형으로 선언해야 하는 듯,,)

4. g++ ??.m(Obj-C문법) ??.mm(Obj-C, C++문법) ??.cpp(C++문법)사용가능

ex)

1) g++ -o test mm.mm cpp.cpp   (O)

2) g++ -c mm.mm cpp.cpp

    g++ -c m.m

    g++ -o test m.o cpp.o mm.o (O)

3) g++ -o test m.m mm.mm (O)

(각 m.m은 obj-c로 mm.mm은 obj-c와 cpp로 cpp.cpp는 cpp로 작성

단 m.m에서 cpp의 클래스 호출불가(헤더 삽입이 안됨))

 

뭐 이 정도인 것 같다. Obj-C가 흥미롭긴 하지만, 귀찮으면 전부 C++로 짠 다음 확장자만 mm으로 붙여도 될 듯 하다..

 

P.S. 참고할 점은 Obj-C에서 클래스의 메소드를 호출할 때는 [class method]식으로 하는 듯 한데, C++스타일의 클래스는 그냥 class.method()형식으로 불러야 한다.(C++은 C++, Obj-C는 Obj-C로 다뤄야 하는 듯,, 대략 소스도 첨부한다.

2009년 12월 24일 목요일

개소리,,

이 세상에 누구 하나
본 적도 없는 게 있다

 

그건 다정하고도
무척이나 달콤하다

 

아마 눈에 보인다면
누구나 그걸 갖고 싶어할 거다

 

그렇기에 아무도
그걸 본 적이 없다

 

그리 쉽게 손에 넣지 못하도록
세상은 그걸 숨겨온 거다

 

하지만, 언젠가는
누군가가 발견할 거다

 

손에 넣을 단 한 사람이
분명 그걸 발견해낼 것이다

 

그렇게 돼 있다

 

                    -by Toradora

2009년 12월 23일 수요일

살아가며 알아두면 유용한 팁

부모님께
- 효도할 것. (나중에 후회한다.)
패스트 푸드
- 음료를 시킬 때는 얼음을 빼달라고 하는 것이 좋다.(양이 많아진다고 함.)
맥도날드
- 감자튀김 먹을 때 100원 더 내고 너겟소스 하나 구입해서 먹으면 맛있다.(과일소스가 맛있다고 함.)
버거킹
- 와퍼 시킬 때 '올엑스트라'로 시키면 야채가 2배가 된다. (추가요금 없음.)
롯데리아
- 아이스크림, 후라이 제품 등을 흘릴 경우 말하면 새것을 준다.
- 양념감자 분말은 원칙상 3개 다 주어야 한다.
- 쉑쉑치킨은 정량에 미달되는 편이 많으므로 주의해서 볼 것.
- 정장이나 하얀 모자를 쓴 직원이 짬밥이 높다.
음료
- 파인애플로 만든 것은 대부분 시럽+설탕 맛이다.(원래 맛이 약해서라고 함.)
도미노 피자
- 주문 시 늦는다고 미리 말씀 드리지 않은 경우, 30분 지나면 1판당 2000원 할인/ 45분 지나면 전액무료.
베스킨라빈스
- 맛보기 스푼으로 32가지를 맛볼 수 있다.
휴게소
- 위생상 불량 시 발급받은 영수증을 첨부하여 환불 신청하면 다 먹은 경우에도 전액 환불 및 보상금 지급한다.
롯데월드
- 대기 줄 길 때, 정문 앞에 있는 엘리베이터 타고 3층 민속박물관or석촌호수 쪽 매직아일랜드 매표소에서 자유이용권을 끊는다.
- 놀이기구 중 몇 가지는 예약해서 줄 서지 않고 탈 수 있다.
마트
- 과일(수박 등등) 직원한테 골라달라고 하지 말 것 (알바라서 잘 모른다)
- 실제가격과 진열대라벨가격이 다를 경우 계산 후 고객센터에 가서 가격이 다르다고 하면 5천원 상품권을 준다. (가격변동 시 라벨교체작업을 못하는 경우가 있다고 함.)
- 주류구매 할 경우, 행사알바에게 마른안주 서비스를 달라고 하면 (열에 일곱 정도는) 행사에 없는 상품도 몰래 준다.(단, 같은 회사제품만 준다고 한다.)
- 빵 구매 할 때 마감시간 끝날 때 쯤이면 알바라고 말하면 빵 라벨 싼 걸로 붙여준다.(혹은 빵 더 넣어준다.)
- 정육코너 양념된 돼지고기는 (앞다리 살이라고 되어있지만) 잡육이 많이 섞여있다고 한다. (게다가 무게측정 시 양념 무게도 같이 들어가서 실제 고기양은 적은 편이라고 함.)
- 파손, 변질, 흠집, 유통기한 임박 등의 상품은 직원에게 50%의 가격으로 판매하고 있다.
이마트
- 고객센터에서 종이 봉투를 받을 수 있다.
편의점
- 캔음료 사먹을 때 입 대는 부분은 닦아서 먹을 것. (빨대도 비닐에 싸여 있는 것이 아닐 경우도 마찬가지)
- 현금영수증 안 챙기고 번호만 입력하는 경우 영수증 나오는지 확인 할 것. (그냥 가면 종료 키를 누르는 경우도 있다고 함.)
- (뒤에 진열된 것이 신선할 것 같지만, 사실 진짜 신선한 것은 창고에서 대기하고 있다.)
회사
- 퇴사or회사가 폐업할 때, 경력확인증을 받을 것.
- 계약직근무에서도 계약서는 근무경력확인이 되는 경우가 있으므로 보관할 것.
- 폐업회사에 대해 경력확인 받을 때는 폐업사실증명원+4대 보험 가입 증명서 중 1부(일 단위까지 기입된 것)로 확인 가능
- (여직원들과 친하게(깍듯하게) 지낼 것.(여직원 입김이 무시 못 할 수준이라고 함.))
이삿짐
- 집안 구석구석 숨겨진 동전(지폐)들은 다 챙겨 갈 것. (주인이 안보면 슬쩍 한다고 함.)
대중교통카드
- 교통카드 구입 후 뒷면 카드번호는 메모해 둘 것.(부러지거나 훼손됐을 경우, 카드번호로 잔액환불이 가능하다.)
아파트 카탈로그
- 가장 중요한 사실은 가장 작은 글씨로 적혀있다.
공익근무요원
- 4급 판정자들은 근무지 본인신청일 오전 9시 이전부터 병무청 홈페이지에서 대기할 것. (편한 것을 배정받을 수 있다고 함.)
핸드폰
- 오프라인에서 사지 말 것. (손님에게 3만원씩 엎을 때마다 만원씩 인센티브가 올라간다고 함.)
- A/S센터에서 맡기기 힘든 경우, 대리점에서 레인보우포인트로 a/s접수 가능 한지 물어보고 맡기는 편이 편하다.(판매점과 대리점은 다르다고 하니 주의할 것. 대리점은 유니폼을 입고 있다고 한다.)
- 한 기계를 오래 쓴 경우(730일 동안 명의 변경 없이 쓴 경우) 행복기변이라는 것이 될 수 있다. (대신 장기가입 혜택이 없다.)
- 대리점과 고객센터 사이가 별로 안 좋다고 한다.(대리점 사기를 고객센터에 불평하기 때문이라고 함.)
- 폰 가입 시 부가서비스 유지하는 것 안 해도 된다.
- 쇼킹스폰서(할부 값 중 전화 비에서 만원 할인)에 속지 말 것.(24개월간 24만원씩 들어가게 하곤, 기본료+통화료가 4만원 넘어야 구매료 할인된다고 함. 즉, 문자는 많이 써도 해당 안됨.)
승강기
- 승강기구석에 달린 까만 색 반구는 감시카메라다.(므흣한짓 하지 말 것!!!)
인터넷 면세점
- 오프라인으로 직접 가서 구입해도 할인율은 동일.(오히려 사은품을 더 챙겨 주는 경우가 많다고 함.)
비상교육
- 위급상황 시엔 119에 연락하는 것이 좋다.(112는 위치추적하기 어렵다.)
- 위치추적은 '보험사'에 연락하는 것이 최고다.
학원
- 전화로 먼저 통화해서 담당자 이름, 번호를 적어놓았다가 밀고 당기기(다른 학원 알아보고 연락주기, 다른 학원 할인율 언급 등등)을 잘하면 할인을 많이 받을 수 있다. (학원상담도 일종의 영업이라 매출을 올리기 위해 해준다고 함.) (but!!! 꼭 다닐 생각이 있을 때만 문의할 것.)
- 잘 가르친다고 소문나더라도 학생이 너무 많을 경우 보내지 않는 편이 좋다.
과일 장사하는 포터 차량
- 아침에 살 것.(같은 가격 같은 개수에 제일 싱싱하고 시알 큰 것으로 구입할 수 있다.)
인테리어
- 마감을 잘 해주는 집에서 할 것.
- (천장에 화재감지등이 불필요하게 많이 달린 경우, 천장작업 중 보드를 잘 못 뚫어서 그렇다고 함.)
- 구체적인 요구사항을 지시할 것.
병원
- (병원마다 다르지만 환자블랙리스트가 있다고 함.)
- 대학병원 급의 큰 병원은 2월 초~3월 중순까지는 응급실을 피해서 다니는 편이 좋다.
- 큰 병이 날 경우에 큰 병원에 가는 편이 좋다. (작은 병으로 가는 경우 상대적으로 덜 관심 받고 덜 중요하게 여겨져 시간이 덜 할애되어 진료를 받는다고 함.)
- 규모가 작고 시설이 안 좋더라도 아는 사람 있는 병원에 가는 편이 가장 좋다. (유명한 대학병원도 환자가 많아 관리가 소홀 할 수 있다고 함.)
- 약을 적게 쓰는 의사가 좋은 의사이다.
의학 관련 (혹시나 모르니 '꼭' 밑의 팁을 이용할 경우 '꼭' 의사에게 '꼭' 물어 봅시다.)
- 간에 좋은 음식, 약품을 먹고 악화되는 경우가 많다. (좋다고 알려진 것들이 간에서 해독되느라 그런 경우가 많다고 함.)
- 영양 수액의 경우 보험등재 제품을 쓸 것. (등재 제품은 국가에서 가격을 정했기에 정가만 받지만 미등재 제품은 수익성으로 쓰이는 경우가 있다고 함.)
- 처방약에 대한 것은 '드러그인포'라는 곳에서 정보를 알 수 있다.
- 임산부가 철분보충 할 경우에는 철분 주사를 맞는 편이 좋다.(철분 약은 효과가 미비할 뿐만 아니라 오래 걸린다고 함.)
- 소화가 잘 안 되는 경우 'prokinetics제제'만 쓰는 편이 좋다.(위 운동이 잘되게 도와주는 약이라고 함. 소화효소제보다 낫다고 함.)
계란가게
- (달걀 껍데기에 똥 묻은 경우 넘어가 줍시다.)
주유소
- 가급적이면 천정형 주유기에서 넣는 편이 좋다. (정량보다 조금 더 나온다고 함.)
- 고급휘발유는 사실 불스원샷성분이 조금 들어가있는 휘발유이다. (분기별로 한번씩 넣으면 불스는 따로 넣을 필요가 없다.)
- 휘발유는 오직 말통에만 판매하지만 경유,등유는 페트병(양동이)에도 살 수 있다.
- 자동차 세차 시 저속으로 넣어주세요 라고 할 것. (천천히 진입되면서 더 오래 닦는 다고 함.)
도장
- 도장을 고를 땐 가서 한 시간 정도 견학을 하고 결정하는 편이 좋다.(from. 대야망(최배달 전기만화))
보험
- TV에서 광고하는 보험은 싼 것처럼 보이지만 실제로는 수수료가 높아 비싸다.
- 차량보험 중 다이렉트 보험은 하지 않는 편이 좋다. (협상방법에 따라 보상받는 것이 달라진다고 함.)
장기 해외여행
- 옷은 최소한으로 줄일 것. (오래있다 보면 사서 입게 된다고 함.)
- '여행'시엔 캐리어보다 배낭이 편하다.
제품(핸드폰, 차 등등) 구매
- 제품이 막 나온 경우엔 사지 않는 편이 좋다. (최초에 나간 물품 A/S내역을 정리 후 수정해서 제품을 판다고 함.)
옷 가게
- 진열상품(마네킹)은 되도록 안 사는 편이 좋다. (벌레가 똥싸놓아 더러운 경우가 많다고 함.)
- 동대문에 갈 경우 원가를 말하는 은어를 알고 가면 좋다. (야리, 후리, 까치, 다마, 대부 등등)
- 사장이 있는 가게에서 살 것. (직원들은 한정선 이하로 절대 못 깎는다고 함.)
온라인 쇼핑몰
- 포인트를 많이 주는 경우가 아니면 물건 구입 후 탈퇴하는 편이 좋다.(대게 신규회원에게 혜택이 많은 편 이라고 함.)
- 너무 자주 하는 사람은 블랙리스트에 오른다.(리스트가 공유된다고 함.)
신나
- 100%, 80%, 60% 구분해 놓았지만 모두 60%인 경우가 많다.
피시 방
- 관리 프로그램이 피카이면 천존 캐릭터 만들고 10분 있으면 2시간 공짜쿠폰을 받는다.(2009/12/11일 작성.)
노래방
- 사람 적은 시간에 가면 가격이 싸진다.
- 다수 인원인 경우 일부분이 들어가 방 받고 사람이 더 들어 가는 편이 좋다.(노래방에 따라 인원 수에 맞춰 가격이 올라간다고 함.)
- (서비스 요구 시 잘생긴(예쁜)사람이 하도록 한다.)
- 소파, 테이블에 부비적 대지 말 것. (제대로 청소되어 있지 않는 편이 많다.)
유흥가
- 월요일은 되도록 피하는 편이 좋다.
- 양주나 맥주 짝으로 시켰을 경우 노래방 시간비를 안받는 경우가 많다.(받으면 바가지.)
- 계산서에 RT요금은 웨이터에게 팁을 주었을 시 안 줘도 된다. (T/C는 꼭 계산해야 하므로 착각하지 말 것.)
성인오락실
- 발 들이지 말고, 발 들였을 때도 얼른 빠져 나올 것.
- 기계들 확률조절이 가능하다.
사진관
- 사진을 정리해서 들고 가면 인화 시간을 줄일 수 있다.
중고차
- 매장 삐기 에게 걸려 사지 말 것.(하바를 많이 넣어 판다고 함.)
극장
- 팝콘은 튀긴지 30분 정도 지나서 수분이 날라가야 더 바삭 하고 고소하다고 한다. (막 튀긴 것 보다 식은 것이 맛있다고 함.)
CGV
- 콜라는 리필이 된다. (팝콘과 에이드는 안 된다고 함.)
빵집
- 아침 일찍 튀김 류나 페스츄리 등이 적은 편이면 전날에 해놓은 경우가 많다.
- 알바생과 사장에게 무엇이 맛있냐고 묻지 않는 편이 좋다. (알바는 모르고 사장은 그 중에 오래된 것(유통기간을 넘기진 않는다.)을 추천하는 경우가 많다고 함.)
- 따뜻하게 먹는 게 맛있는 빵은 데워준다.
- 큰 빵은 잘라달라면 잘라 준다.
- 와인에 대해 묻지 말 것.(모른다.)
- 뒤쪽에 진열된 빵이 더 신선한 빵이다.
법률 문제
-지역 법률구조공단에 전화해 물어 보는 게 가장 정확하다. (법대생, 고시생들은 보통 실체법만 공부하는 경우가 많아 잘 모른다고 함.)
타이어
- 보관장소가 괜찮은 경우(자외선, 비등을 피한 곳) DOT(생산연도)를 확인할 필요 없다. (오래된 것을 가격을 깎아 사는 편이 낫다. 성능이 동일하다.)
콜 센터
- 물어 봤을 때 오래 기다리게 하면, 끊고 다시 거는 편이 좋다. (신입인 경우 물어볼 때 마다 오래 걸린다고 함.)
- 중요한 서비스 신청이나 재확인이 필요할 땐 상담원의 이름을 물을 것. (정신을 번쩍 차린다고 함.) (보험, 은행, 쇼핑몰의 경우엔 필수적으로 하는 편이 좋다고 함.)
장례
- 장례식장에서 장례식장과 상조 가격을 비교해 보고 선택하는 편이 좋다. (굳이 가입한 상조를 쓸 필요는 없다.)
- 상조상품은 100%만기 후에 79~81% 환불이 된다고 한다.
- 상조를 안들을 경우 장례식 직원에게 견적을 맡기면 건수를 올리기 위해 덤핑을 많이 때려준다고 한다.
- 화장할 경우 고인에게 제공되는 관,수의는 제일 싼 것으로 하는 편이 좋다.
- 매장일 경우 수의는 좋은 것으로 할 것.(유골에 나일론이 칭칭 감겨 있는 경우가 생길 수 있다고 함.)
- 관은 두께 치오푼이상(1.5) 쓰는 것이 좋다.(얇은걸 쓰는 경우 봉분 안이 무너질 수 있다.)
- 입관할 때 고인 목욕시키는 것을 본다고 하는 편이 좋다. (간혹 대충 하는 경우가 있다.)
- 고인에게 노자돈을 올리라고 할 경우 장례지도사 몫임을 알아도 아끼지 않는 편이 좋다.(서비스가 급 좋아진다고 한다.)
- 발인제후에 제물은 깨끗한 과일이므로 챙겨가는 편이 좋다.
은행
- 적금이나 예금가입 시, 5천만 원이 넘지 않는다면 저축은행에서 가입하는 것이 이율이 높다.(세금까지 계산하면 실제로는 2금융권이 더 결과가 좋은 경우도 있다고 함.)
- 은행 금리도 흥정이 가능하다.
식자재
- 도라지, 연근, 마, 우엉 같은 건 껍질이 있는걸 사서 가공할 것.(가공된 것은 표백제나 약품이 많이 들어있다.)
- 국내산 돼지고기 경우 브랜드를 확인 하는 것이 좋다. (브랜드 없는 돼지고기는 위생관리가 안 좋은 편이 많다.)
(우수 국내산 돼지고기브랜드
포크밸리(부경양돈조합), 크린포크(선진), 청미원올리브포크(청미원)
보리먹인돼지가천맥돈(해드림푸드), 돈마루(돈마루), 제주포크(제주양돈축협)
CJ프레시안포크(CJ), 백두대간포크(강원창영영농법인), 웰팜포크(다비육종)
도드람포크(도드람양돈농협), 하이포크(팜스코), 인삼포크진생원(도원진생원영농조합)
의성마늘포크(의성축산업협동조합), 프로포크(농협 목우촌), 한라산도야지(탐라유통)
장군포크(논산축협), 동설맥포크(진왕영농법인), 안동참마돼지(안동축협)
치악산금돈(금보육종), 실라리안소백산쑥돈(소백산쑥돈영농법인), 보성회천녹돈(보성그린티영농법인))
인터넷(+전화+TV)
- 해지 하려고 하면 못하게 하려고 여러 가지를 제공한다.(할인, 속도 업그레이드, 상품권 등등)
다른 건 몰라도 1번만 알면 됩니다;;

2009년 12월 22일 화요일

지금은 집 입니다.

집에 도착했습니다.

 

사실 도착한지는 꽤 됐지만 이래저래 일이 많아서요,,

 

타블렛 토착 포스팅도 못하고 있네요.

 

일단 팔에 알이 배겨서 병원에 갔다 왔고요,,

 

머리도 파마를 했습니다.(이건 머리 정리되는 내일저녁 인증샷을 올리도록 하죠,,

 

지금 x킨토시 환경도 거의 완성되어가고, 일단 프로그램 모듈은 C++로 작성할 계획입니다.

 

그래야 윈도랑 아이폰에서 껍데기만 바꿔 쓸 수 있죠,,

 

오늘은 html 파서나 만들어 봐야겠습니다.

2009년 12월 12일 토요일

현재 생활,,,

프로그래밍을 하고 싶은데,

뭐가 되는지도 모르겠고,,
당장 아이디어도 없고,,
슬럼프에 빠져서 잉여잉여고,,
여자친구는 없고,,
크리스마스는 다가오고,,
내일모래 시험인데, 나가서 고기먹고
울대 정복하고 오고,,
지금은 맥주까고있고,,,

2009년 12월 4일 금요일

UNIST 2009년 2학기 기말고사 시간표


블랙보드(UEE)에 김태성 교수님께서 올려주셨네요,,,

누락이 있었을 줄이야,, 다시 올렸습니다,,,

2009년 11월 29일 일요일

야후검색엔진 등록!!

안녕하세요? 고객님.

야후! 코리아 고객센터 임현 입니다.

고객님께서는 dcmichael.textcube.com 의 등록을 요청하신 것으로 확인됩니다.  

우선 야후! 검색을 이용해 주시고 블로그 등록을 요청해주셔서 진심으로 감사 드립니다.  

요청하신 블로그 등록은 처리가 완료되어, 

검색 시 dcmichael.textcube.com 에 대한 링크가 확인되고 있습니다.  

URL : http://kr.blog.search.yahoo.com/search/comm?p=dcmichael.textcube.com&subtype=CommBlogger  

참고로 약, 10일 후에 고객님의 블로그를 다시 한 번 방문하여

만약 블로그 내에 스팸, 성인 블로그 내용이 확인될 경우에는 삭제 처리 되고 있으니,

이 점 유의하여 블로그 운영 부탁드리겠습니다.

저희 야후!의 블로그 검색 서비스를 통해 고객님의 블로그에 더 많은 블로거들이  

방문할 수 있게 되기를 기원하겠습니다.  

다시 한번 야후! 검색 서비스를 이용해주셔서 깊이 감사드리며,

앞으로도 많은 관심과 애정 부탁드립니다.

답변이 고객님의 문의사항을 해결하는데 도움이 되셨습니까? 
혹시라도 아직 문의사항이 해결되지 않으셨거나 더 궁금한 부분이 있으시면
언제든지 다시한번 저희 야후! 코리아 고객센터로 메일 부탁 드립니다. 
항상 성심 성의껏 답변 드리겠습니다. 

오늘도 행복한 하루 보내십시오. 
감사합니다. 

생활의 활력소! 야후!코리아 http://kr.yahoo.com/ 

드디어 검색엔진 한군데에 등록되었습니다...
textcube.com은 검색봇이 직접 찾아오진 않는건지,, 내 블로그가 링크된곳이 없는건지,,,
야후, 네이버, 다음, 파란, 기타등등 검색이 아직도 안됬었는데 야후 한군데 등록성공!!ㅋㅋ

각종 별찍기 문제 (위키펌)

별 찍기

위키책, 위키책

별 찍기 문제는 프로그래밍 입문자에게 제어문과 배열을 접하게 하기 위한 과제로 사용된다. 보통 콘솔 환경에서 순환문을 통해 직접 아스테리스크(*)를 출력하거나 배열을 조작한 후 순환문으로 출력하는 등의 방법이 사용되며, 이 과정을 통해 입문자들은 변수, 제어문 및 배열 등을 직접 다루어보게 된다.

학원이나 대학교에서 신입생을 위한 과제로 출제되며, 일반적으로 기본적인 별 찍기 문제는 다음의 출력을 만들어낼 것을 요구한다.

Result :
*
**
***
****
*****

위 피라미드형은 가장 간단하고 난이도가 낮은 문제이다. 이 외에는 나비형이나 다이아몬드형 등의 응용 문제들이 있으며 해법도 여러 가지가 존재한다.

신학기에 위 문제를 처음 접하는 많은 대학생들이 프로그래밍 포럼에 찾아가 이 문제에 관한 질문을 올려, 신학기엔 많은 포럼들의 게시물 다수가 별 찍기 질문글들로 채워지곤 한다. 여러 포럼에서는 단순히 문제의 해답만을 요구하는 학생들에 대해서 불성실하다는 이유로 부정적인 입장을 보인다.

프로그래밍 커뮤니티 중 하나인 디시인사이드 프로그래밍 갤러리에서는 "새싹밟기"라는 제목으로 일반적으로는 생각하지 못했던 창의적인 별 찍기, 다이아몬드, 전문 별 찍기 솔루션 등이 올라오는 등 여러 가지 방법의 별 찍기 프로그램을 등록하는 것이 하나의 유행이 되기도 했다.

Wikipedia-logo.png 한국어 위키백과에 수록된
별찍기 관련 문서 참고.

차례

[숨기기]

[+/-] 별 찍기에 대한 일반적 접근

일반적인 별 찍기 문제에 대한 접근법으로는 아스태리스크(*)를 모니터에 찍을 수 있는 함수와 제어문을 사용하여 모니터 좌측 상단에서 순차적으로 찍어내리는 방법을 사용한다. 이는 일반적으로 출력이 좌측 상단에서부터 시작되기 때문이다. 이에 대한 일반적인 C 언어의 코드는 다음과 같다. 사용자에 따라 일부 코드에 차이가 있을 수 있음을 밝혀둔다.

#include <stdio.h>

int main(void)
{
int i, j;

for(i = 0; i < 5; i++)
{
for(j = 0; j <= i; j++)
{
putchar ('*');
}
putchar('\n');
}

return 0;
}

그러나 삼각형의 모양이 바뀌어 좌측에 공백이 필요한 경우 일반적으로 " "(공백, 스페이스) 문자를 같이 이용하여 별 찍기 문제를 해결한다. 대표적인 예로는 정삼각형 출력이나 다이아몬드 출력 등이 있다. 이 이외에 별을 화면 중앙이나 그 외 임의의 위치에 출력해야 하는 문제가 존재하기도 한다. 이 경우 일반적으로 출력 커서의 위치를 옮기는 명령을 사용한다. 출력해야 할 도형이 복잡할 경우 - 특히 수학적 도형이나 규칙없는 그림 같은 경우 - 배열을 사용하여 그 정보를 넣은 후 제어문을 통해 배열을 읽어 별을 출력하기도 한다.

이 이외에 별 찍기 문제의 경우 제어문의 심층적 활용이나 아스키 코드의 활용, 재귀함수의 이해 등 여러 분야의 예제로 사용되고 있으며 어떤 경우 디자인 패턴에 관한 예제로 사용되기도 한다.

[+/-] 일반적인 별 찍기

[+/-] 그루비

[+/-] 일반적

(1..5).each { println '*' * it }

[+/-] 웹서비스

GroovySoap 모듈이 필요하다.

서버쪽

StarService.groovy

def getStar() {
def result = (1..5).inject('') { str, it -> str += '*' * it + '\n' }
}

StarServer.groovy

import groovy.net.soap.SoapServer

def server = new SoapServer("localhost", 6980)
server.setNode("StarService")
server.start()

StarServer를 실행한다.

클라이언트쪽

import groovy.net.soap.SoapClient

def proxy = new SoapClient("http://localhost:6980/StarServiceInterface?wsdl")
println proxy.getStar()

호스트 IP가 서버쪽을 향하게 만든 후 실행한다.

[+/-] 루비

puts (1..5).map{ |i| "*" * i }.join("\n")

또는

5.times { |i| puts "*" * (i+1) }

또는

(1..5).each{ |i| puts "*"*i}

[+/-] 루아 스크립트

for i = 1, 5 do
for j = 1, i do
io.write "*"
end
io.write "\n"
end

[+/-] 베이직

For I = 1 To 5
Print String$(I, "*")
Next I

[+/-] 본 어게인 셸 스크립트(BASH)

 #!/bin/bash
for((i=1;i<6;i++))
do
for((j=0;j<i;j++))
do
echo -n '*'
done
echo
done

또는

 #/bin/sh
n=5
for i in `seq 1 $n`;
do
for j in `seq 1 $i`;
do
echo -n '*'
done
echo ''
done

[+/-] 스몰토크

"Dolphin Smalltalk에서 테스트"
i := 0.
[i < 5]
whileTrue:
[
j := 0.
[j <= i]
whileTrue:
[
Transcript show: '*'.
j := j + 1
].

Transcript cr.
i := i + 1
].

[+/-] (좀 더 간단한 버전)

"Squeak에서 테스트"
1 to: 5 do: [ :i |
i timesRepeat: [ Transcript show: '*'].
Transcript cr.
].

[+/-] 스킴

;(plt scheme 의 개발환경 DrScheme에서 language를 standard(R5RS)로 맞춘후 테스트)
(define-syntax when
(syntax-rules ()
((_ e0 e1 e2 ...)
(if e0 (begin e1 e2 ...)))))

(define (print-ntimes n s)
(when (> n 0) (display s) (print-ntimes (- n 1) s)))

(define (star n)
(let loop ((i 1))
(when (<= i n) (print-ntimes i "*") (newline) (loop (+ i 1)))))

(star 5)

[+/-] 자바

[+/-] (일반적)

 package org.wikibooks.ko;
public class PrintStarBasic {
public static void main(String[] args) {
for(int line = 0; line < 5; ++line) {
for(int width = 0; width < line + 1; ++width ) {
System.out.print("*");
}
System.out.println("");
}
}
}

[+/-] (루프 하나와 문자열 이용)

 package org.wikibooks.ko;
public class StarPrinter {
public static void main(String args[]) {
String star ="*****";
for(int i = 0 ; i < star.length() ;i++) {
System.out.println(star.substring(0,i+1));
}
}
}

[+/-] 자바스크립트 (ECMAScript)

XHTML 1.0 표준을 따름

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Printing Star</title>
<script type="text/javascript">
/* <![CDATA[ */
var printStar = function() {
for(var count = 1; count < 6; ++count) {
for(var floor = 0; floor <= count; ++floor) {
if(floor == count) { document.write("<br/>"); }
else { document.write("*"); }
}
}
};
/* ]]> */</script>
</head>
<body onload="printStar()">
</body>
</html>

[+/-] 파이썬

for i in range(1,6):
print "*" * i

[+/-] (한줄)

print "\n".join("*" * i for i in range(1, 6))

[+/-]

[+/-] (일반적)

print "*"x$_."\n" for 1..5

[+/-] (펄 5.10 버전)

say "*"x$_ for 1..5

또는

map{say"*"x$_}1..5

[+/-] (스페셜 버젼)

아래 코드는 모습은 특이하지만 잘 실행된다.

                              ''=~('('."\?".
'{'.('`'|'%').(('[')^
'-').('`'|'!').('`'|(',')).
'"'.'#'.'!'.'/'.('['^'.').("\["^
'(').('['^')').'/'.('`'|'"').("\`"|
')').('`'|'.').'/'.('['^'+').('`'|'%').
('['^')').('`'|',').('!'^'+').('[' ^((
'+'))).('['^')').('`'|')').('`'|'.' ).(
'['^'/').('{'^'[').'\\'.'"'.'*'.'\\' .((
'"')).('['^'#').'\\'.'$'.'_'.'.'.'\\'. '"'.
'\\'.'\\'.('`'|'.').'\\'.'"'.('{'^'[').( "\`"|
'&').('`'|'/').('['^')').('{'^'[').('^'^( ('`')|
'/')).'.'.'.'.('^'^('`'|'+')).('!'^'+').'"'. '}'.')');
$:='.'^'~';$~="\@"| '(';$^=')'^('[');$/=
'`'|'.';$,="\("^ '}';$\='`'|'!';
$:=')'^'}';$~= '*'|"\`";$^=
'+'^"\_";$/= '&'|"\@";
$,='['&'~'; $\=','
^'|';$:='.' ^'~';
$~='@'|'(' ;$^=')'^'[';$/ ='`'|'.';$,='(' ^'}'
;$\="\`"| ( '!');$:= ( ')')^
'}';$~="\*"| ( ( ( ( '`'))));$^='+'^
"\_";$/= ( ( ( ( '&')))
)|'@';$, = (( ( ( ( '[')))
))&"\~"; ( ( ( ( $\))))
=(',')^ '|';$:=('.')^ '~';$~='@'|"\("; $^ =(
')')^ ( ( (
( ( ( ( (
( ( ( (
( ( ( (
( ( ( ( (
( (( '[')) )) )
) ) )
) )
) ) )
) ) )
))))))));( ( ( (
( $/)))))=('`')| (
( '.') );$, = ( (
( ( (( ( (
( ((
( (( '(' )
))))))))))))) ^
( '}');#;#;#; #
;
# ;
#
;
# ;
# ;
# ;
# ;
#;#;#;#;#;#

[+/-] (펄 ppencode)

출처[[1]]

length q bless glob and print chr oct oct oct ord qw q dump q and print chr length q closedir vec and print chr oct oct oct ord qw q dump q and print chr oct oct oct ord qw q dump q and print chr length q continue vec and print chr oct oct oct ord qw q dump q and print chr oct oct oct ord qw q do q and print chr oct oct oct ord qw q dump q and print chr length q binmode glob and print chr oct oct oct ord qw q dump q and print chr oct oct oct ord qw q do q and print chr oct oct oct ord qw q do q and print chr oct oct oct ord qw q do q and print chr length q closedir vec and print chr oct oct oct ord qw q dump q and print chr oct oct oct ord qw q do q and print chr oct oct oct ord qw q do q and print chr oct oct oct ord qw q do q and print chr oct oct oct ord qw q die q and print chr length q closedir vec

[+/-] 포스

: star ( -- ) [char] * emit ;
: stars ( n -- ) 0 ?do star loop ;
: pyramid ( n -- )
cr
0 ?do
i 1 + stars cr
loop
cr
;
5 pyramid

[+/-] C

[+/-] (근성찍기)

 #include <stdio.h>

int main()
{
printf("*\n");
printf("**\n");
printf("***\n");
printf("****\n");
printf("*****\n");
return 0;
}

[+/-] (문자배열을 포인터로 사용)

#include <stdio.h>
#include <string.h>

int main()
{
char stars[] = "-*****";
char* p = stars+strlen(stars)-1;
while( *p != '-' )
printf("%s\n", p--);
return 0;
}

[+/-] (재귀호출 사용)

#include <stdio.h>

int PrintStar(int Width,int Height){
int i;
for(i=0;i<width;i++){
printf("*");
} printf("\n");

if(Width==Height) return 0;
else PrintStar(width+1,Heght);
}
int main(){
int First_Width=1;
int Heghit=5;
PrintStar(First_Width,Heghit);
return 0;
}

[+/-] C++

[+/-] (일반적)

#include<iostream>
using namespace std;

int main(void)
{
for(int line = 0; line < 5; line++)
{
for(int width = 0; width <= line; width++)
{
cout << "*";
}
cout << endl;
}

return 0;
}

[+/-] (템플릿 사용)

원래는 TMP(템플릿 메타 프로그래밍)을 하려 하였으나 실패했다.

#include <iostream>

template<int x>
struct Star : public Star<x-1>
{
Star()
{
std::cout << std::string(x, '*').c_str() << std::endl;
}
};

template<>
struct Star<0>
{
//
};

int main(int argc, char * argv[])
{
Star<5> _Star;

return 0;
}

[+/-] C#

using System;
class Star{
public static void Main(){

for (int a=1; a<6; a++){
for (int b=0; b<a; b++){
Console.Write("*");
}
Console.WriteLine("");
}

}
}

[+/-] Common Lisp

(dotimes (j 5)
(dotimes (i (1+ j))
(princ "*"))
(fresh-line))

[+/-] Win32 API (C)

#include <windows.h>

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
HINSTANCE g_hInst;
HWND hWndMain;
LPCTSTR lpszClass=TEXT("Class");

int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance
,LPSTR lpszCmdParam,int nCmdShow)
{
HWND hWnd;
MSG Message;
WNDCLASS WndClass;
g_hInst=hInstance;

WndClass.cbClsExtra=0;
WndClass.cbWndExtra=0;
WndClass.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
WndClass.hInstance=hInstance;
WndClass.lpfnWndProc=WndProc;
WndClass.lpszClassName=lpszClass;
WndClass.lpszMenuName=NULL;
WndClass.style=CS_HREDRAW | CS_VREDRAW;
RegisterClass(&WndClass);

hWnd=CreateWindow(lpszClass,lpszClass,WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
NULL,(HMENU)NULL,hInstance,NULL);
ShowWindow(hWnd,nCmdShow);

while (GetMessage(&Message,NULL,0,0)) {
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return (int)Message.wParam;
}

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;

switch (iMessage) {
case WM_CREATE:
hWndMain=hWnd;
MessageBox(hWnd,TEXT("*\r\n**\r\n***\r\n****\r\n*****\r\n"),TEXT("별찍기"),MB_OK);
return 0;
case WM_PAINT:
hdc=BeginPaint(hWnd, &ps);
EndPaint(hWnd, &ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

[+/-] 프롤로그(Prolog)

star(0) :- nl.
star(N) :- X is N-1, write(*), star(X).

prymid(1) :- star(1).
prymid(N) :- X is N-1, prymid(X), star(N).

[+/-] 개성있는 별 찍기

별 찍기의 범주 안에 들어가는 개성 있는 방법으로 별을 찍는다.

[+/-] C언어 별 찍기(1)

#include <stdio.h>

int main()
{
printf("*");
return 0;
}

[+/-] C언어 별 찍기(2)

#include <stdio.h>

int main()
{
printf("☆★");
return 0;
}

[+/-] C언어 별 찍기(3)

#include <stdio.h>

int main(void)
{
int n, floor,cnt_star;

n=floor=1;

printf("Enter a Start");
scanf("%d",&cnt_star);

while(n<=cnt_star){
floor=1;
while(n>=floor){
if(n!=floor) printf("*");
else printf("*\n");
floor++;
}
n++;
}

return 0;
}

[+/-] C언어 별 찍기(4)

루프 하나와 ASCII code를 이용하여 출력

#include <stdio.h>

//ASCII code를 이용한 별 찍기.
int main()
{
int star = 0x002A;
int nline = 0x000A;
char out;

int width = 0;
int line = 1;

for (;width < 5; ((line == width)?(out = nline, line++, width = 0):(out = star, width++)), printf("%c", out));

return 0;
}

[+/-] OpenGL(GLUT)

정12면체를 이루는 12개의 오각뿔을 역으로 한 별 모양의 폴리곤을 *로 찍음

#include <GL/glut.h>
#include <stdlib.h>

double vertex[][3] = {
// first pentagon
{-1.00000000, -1.00000000, 1.00000000}, { 0.00000000, -0.61803399, 1.61803399},
{ 0.00000000, 0.61803399, 1.61803399}, {-1.00000000, 1.00000000, 1.00000000},
{-1.61803399, 0.00000000, 0.61803399},

// second pentagon
{ 0.00000000, -0.61803399, 1.61803399}, { 1.00000000, -1.00000000, 1.00000000},
{ 1.61803399, 0.00000000, 0.61803399}, { 1.00000000, 1.00000000, 1.00000000},
{ 0.00000000, 0.61803399, 1.61803399},

// third pentagon
{ 0.00000000, 0.61803399, 1.61803399}, { 1.00000000, 1.00000000, 1.00000000},
{ 0.61803399, 1.61803399, 0.00000000}, {-0.61803399, 1.61803399, 0.00000000},
{-1.00000000, 1.00000000, 1.00000000},

// forth pentagon
{-1.61803399, 0.00000000, 0.61803399}, {-1.00000000, 1.00000000, 1.00000000},
{-0.61803399, 1.61803399, 0.00000000}, {-1.00000000, 1.00000000, -1.00000000},
{-1.61803399, 0.00000000, -0.61803399},

// fifth pentagon
{ 1.00000000, 1.00000000, 1.00000000}, { 1.61803399, 0.00000000, 0.61803399},
{ 1.61803399, 0.00000000, -0.61803399}, { 1.00000000, 1.00000000, -1.00000000},
{ 0.61803399, 1.61803399, 0.00000000},

// sixth pentagon
{-0.61803399, 1.61803399, 0.00000000}, { 0.61803399, 1.61803399, 0.00000000},
{ 1.00000000, 1.00000000, -1.00000000}, { 0.00000000, 0.61803399, -1.61803399},
{-1.00000000, 1.00000000, -1.00000000},

// seventh pentagon
{-1.61803399, 0.00000000, -0.61803399}, {-1.00000000, 1.00000000, -1.00000000},
{ 0.00000000, 0.61803399, -1.61803399}, { 0.00000000, -0.61803399, -1.61803399},
{-1.00000000, -1.00000000, -1.00000000},

// eighth pentagon
{ 0.00000000, 0.61803399, -1.61803399}, { 1.00000000, 1.00000000, -1.00000000},
{ 1.61803399, 0.00000000, -0.61803399}, { 1.00000000, -1.00000000, -1.00000000},
{ 0.00000000, -0.61803399, -1.61803399},

// ninth pentagon
{-1.00000000, -1.00000000, 1.00000000}, { 0.00000000, -0.61803399, 1.61803399},
{ 1.00000000, -1.00000000, 1.00000000}, { 0.61803399, -1.61803399, 0.00000000},
{-0.61803399, -1.61803399, 0.00000000},

// tenth pentagon
{-1.00000000, -1.00000000, 1.00000000}, {-0.61803399, -1.61803399, 0.00000000},
{-1.00000000, -1.00000000, -1.00000000}, {-1.61803399, 0.00000000, -0.61803399},
{-1.61803399, 0.00000000, 0.61803399},

// eleventh pentagon
{ 0.61803399, -1.61803399, 0.00000000}, { 1.00000000, -1.00000000, 1.00000000},
{ 1.61803399, 0.00000000, 0.61803399}, { 1.61803399, 0.00000000, -0.61803399},
{ 1.00000000, -1.00000000, -1.00000000},

// twelveth pentagon
{-0.61803399, -1.61803399, 0.00000000}, { 0.61803399, -1.61803399, 0.00000000},
{ 1.00000000, -1.00000000, -1.00000000}, { 0.00000000, -0.61803399, -1.61803399},
{-1.00000000, -1.00000000, -1.00000000}};

double r = 0;
short cxWidth, nStarWidth;
unsigned char cStar[64 * 64 * 3]; // star buffer
bool bstop = false;

void resize(int width, int height)
{
double rate = (double)nStarWidth;

glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();

glOrtho(-1 * rate, rate, -1 * rate, rate, -1 * rate, rate);

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

glutPostRedisplay();
}

void display(void)
{
short i, j, k;
double dx = -7.9225, dy = 7.6775, dcw = 0.2475; // proper charactor location
double center[3];

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glClearColor(1, 1, 1, 1);
glColor3d(0, 0, 0);

glPushMatrix();

glRotated(r, 3, 2, 1);
glScaled(1 / 2.75, 1 / 2.75, 1 / 2.75); // proper scaling

for(i = 0; i < 12; i++) {
center[0] = 0; center[1] = 0; center[2] = 0;
for(j = 0; j < 5; j++) {
center[0] += vertex[i * 5 + j][0];
center[1] += vertex[i * 5 + j][1];
center[2] += vertex[i * 5 + j][2];
}

center[0] = center[0] / 5 * 2;
center[1] = center[1] / 5 * 2;
center[2] = center[2] / 5 * 2;

for(j = 0; j < 5; j++) {
glBegin(GL_TRIANGLES);
glVertex3d(center[0], center[1], center[2]);
glVertex3d(vertex[i * 5 + j][0], vertex[i * 5 + j][1], vertex[i * 5 + j][2]);
glVertex3d(vertex[i * 5 + (j + 1) % 5][0], vertex[i * 5 + (j + 1) % 5][1], vertex[i * 5 + (j + 1) % 5][2]);
glEnd();
}
}

glPopMatrix();

glReadPixels((cxWidth / 2) - 32, (cxWidth / 2) - 32, 64, 64, GL_RGB, GL_UNSIGNED_BYTE, cStar);

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glClearColor(1, 1, 1, 1);
for(i = 0; i < 64; i++) {
for(j = 0; j < 64; j++) {
if(!cStar[(i * 64 + j) * 3]) {
glRasterPos2d(dx + dcw * j, dy - dcw * i);
glutBitmapCharacter(GLUT_BITMAP_8_BY_13, '*');
}
}
}

glutSwapBuffers();

if(!bstop) r++;
}

void key(unsigned char key, int x, int y)
{
switch (key)
{
case 27 :
case 'q':
exit(0);
break;
case ' ':
bstop = !bstop;
break;
}

glutPostRedisplay();
}

void idle(void)
{
glutPostRedisplay();
}

int main(int argc, char *argv[])
{
glutInit(&argc, argv);

nStarWidth = glutBitmapWidth(GLUT_BITMAP_8_BY_13, '*');
cxWidth = 64 * nStarWidth;

glutInitWindowSize(cxWidth, cxWidth);
glutInitWindowPosition(10, 10);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

glutCreateWindow("active star printer");

glutReshapeFunc(resize);
glutDisplayFunc(display);
glutKeyboardFunc(key);
glutIdleFunc(idle);

glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LESS);

glutMainLoop();

return EXIT_SUCCESS;
}

[+/-] Fractal 별찍기

Fractal star.jpg

java code라서 어떻게 올릴까 고민중임.

[+/-] Ruby언어 별 찍기 웹 서버

require 'socket'

server = TCPServer.new 'localhost', 80

while(client = server.accept)
client.print "HTTP/1.1 200/OK\r\nContent-type: text/html\r\n\r\n"
client.print "<html><body><h1>*<br>**<br>***<br>****<br>*****</h1></body></html>"
client.close
end