mysql2011. 8. 29. 02:19
-- T-SQL
-- SQL 문 내에서의 프로그램 문법 : 변수/연산자/제어문

-- 1~100 까지의 숫자중에 3의 배수 OR 4의 배수의 합을 



-- [1] 변수 선언
declare @i int
declare @sum int

-- [2] 변수의 초기화

set @sum = 0

-- [3] 반복문

set @i = 1      --초기값
while @i <= 100 --조건식
begin
if(@i % 3 =0) or (@i % 4 = 0)
begin
set @sum = @sum + @i
begin
set @sum = @sum + @i
end
set @i =@i+1  --증감식
end

select '1부터 100까지의 3의 배수, 4의 배수의 합:'
+cast(@sum as varchar)
go
Posted by babuzzzy
mysql2011. 8. 29. 02:18
--[1]create문 : 테이블 만들기
create table dbo.table1
(
num int identity(1,1) not null primary key, --번호
name varchar (30) not null, -- 이름
email varchar(30) null, --이메일
title varchar(30) not null, --제목
postdate datetime default(getdate()), --작성일
postip varchar(30)
)
go

--[2]. drop 문 : 테이블 삭제
 drop table dbo.memos
go

--[3]. insert 문 : 입력

insert table1(name,email,title,postdate,postip)
values('노종현','babuemf@naver.com','나의목표',default,'127.0.0.1')
go
-- [4] 1.상세 select 문 : 출력
select * from table1 order by num desc
go

--     2. 상세 select 문 : 출력
select num,name,title,postdate from table1 where num=3
go

-- [5] update 문 : 수정

update table1 set name='백두산',email='kk000@.naver.com' where num=1
go

-- [6] select 문 : 조건이용     

select * from table1 where name like '%현' 
go
Posted by babuzzzy
카테고리 없음2011. 8. 28. 02:03
/etc/init.d/mysql start


sudo service mysql start 
sudo service mysql stop


우분투 mysql 초기화 

1. 우선 mysql이 깔린 폴더로 간다
나는 /etc/mysql 이다 
여기서 

풀패스는
/etc/mysql/conf.d에 파일이 mysqld_safe_syslog.cnf 파일이 있다

이 폴더를 vi로 보면 
[mysqld_safe]
syslog 라고 되어있다

이게 mysqld_safe 파일로도 실행된다는 뜻같다
그래서 
./mysqld_safe --skip-grant & 이라고 실행하니까 뭐라고나온다
[1] 4924 등등등 



/etc/init.d/여기에 mysqld_safe가 있네
Posted by babuzzzy
it trend2011. 8. 23. 00:54
IT한국, SW홀대로 20년만에 최대위기
PC시대 가고 애플ㆍ구글發 트라이버전스 혁명중인데
기사입력 2011.08.22 17:48:05 | 최종수정 2011.08.22 19:40:27 트위터 미투데이 블로그 스크랩
# "2000억원의 빚을 졌습니다. 사람은 삼성, LG로 다 빠져나갔고요. 그때 정부나 대기업이 소프트웨어(SW)에 관심을 가졌으면 그렇게 되지는 않았을 겁니다."

한때 국내 최대 SW 회사였던 티맥스소프트의 전 임원은 구글롤라(구글+모토롤라) 등장으로 SW 산업이 다시 강조되자 울분을 토했다. 마이크로소프트(MS)에 맞짱을 뜬다는 각오로 국산 SW 개발에 매진했으나 계속된 경영 악화로 지금은 법정관리에 놓인 상태다. 특히 핵심이었던 운영체제(OS) 개발 인력(티맥스코어)은 인수ㆍ합병을 통해 삼성에 넘어갔다. 이 임원은 "국가 SW 경쟁력의 핵심은 기업일 텐데 지금 국산 SW 기업 중 매출 1000억원을 넘긴 기업이 10년째 없다"며 "지금 받고 있는 관심도 반짝 관심 아니겠는가"고 말했다.

# 국산 검색엔진 벤처 `큐로보`는 지난해 이명박 대통령이 다녀간 유망 업체. 이 회사 조관현 사장(31)의 고민은 `지방이전자금`을 둘러싼 테크노파크와의 갈등 해결이다. 조 사장은 "대통령도 다녀갔는데 그 이후 지원은커녕 투자만 계속하고 있다"며 "SW 기업의 속성을 이해하지 못하는 정부와 지자체가 답답하다"고 하소연했다.

애플이 아이폰과 아이패드 등으로 세계 시장을 휩쓸고, 구글이 모토롤라를 인수한 데 이어 세계 1위 PC 업체 HP도 소프트웨어 올인을 선언하는 등 최근 글로벌 IT 시장 구도가 급변하면서 IT코리아가 20년 만에 최대 위기를 맞았다.

하드웨어 제조업 기반, 통신 네트워크(망) 중심의 한국 IT 산업 구조가 한 번에 붕괴될 수 있다는 위기감이다. 특히 선진국의 3분의 1 수준인 SW 경쟁력은 IT 산업은 물론 제조, 금융, 국방 등 전체 국가 산업의 경쟁력도 떨어뜨리고 있다는 지적이다.

최근 글로벌 IT 산업은 실리콘밸리의 스티브 잡스(애플 CEO)와 래리 페이지(구글 CEO)가 만든 구상대로 흐르고 있다. 강력한 SW 경쟁력(아이튠즈, 구글 검색)을 기반으로 하드웨어(아이폰, 모토롤라)를 결합하고 이를 서비스로 구현하는 능력이다.

`하드웨어+소프트웨어+네트워크 서비스`의 융합인 소위 `트라이버전스(삼중 융합)`는 MS, IBM, 시스코 등 글로벌 IT 기업의 공통된 방향이다.

그러나 한국은 고질적인 `소프트웨어 홀대`로 전체 산업 붕괴까지 걱정해야 할 상황이 됐다.

삼성경제연구소(SERI)가 분석한 `한국 SW 산업의 경쟁력 분석` 결과 한국은 경제협력개발기구(OECD) 19개 회원국 중 하위권인 14위에 머물렀다. 한국의 산업 생산 내 SW 활용도는 선진국의 3분의 1 수준(34.2%)에 불과했다.

■ < 용어설명 >

트라이버전스(Trivergence) : 하드웨어, 소프트웨어, 네트워크 서비스가 융합되는 현상을 말한다. PC 기반의 인터넷, TV 기반의 미디어, 휴대폰 기반의 커뮤니케이션이 하나로 합쳐지는 것이 대표적이다. 운영체제(OS)와 스마트폰 제조(하드웨어)의 결합은 이제 `대세`가 됐다.

◆ 위기의 IT코리아…2008년 IT한국의 3가지 실패

① 정통부 폐지 ② IT예산 축소 ③ 하드웨어에 집중

방통위는 "예산 없다" 지경부는 "관심 없다"…부처별 떠넘기기 급급

"우린 어디 가서 기대야 하나요. 방송통신위원회는 예산이 없다고 하고, 지식경제부는 관심도 없어요."

과거 정부가 육성했던 한국형 모바일 플랫폼 `위피`를 개발하다 최근 스마트폰 애플리케이션(앱) 개발사로 변신한 한 IT 벤처기업 대표가 한 말이다. 그는 "3~4년 전만 해도 정부가 추진하는 계획대로 기술을 개발하면 투자비는 지원받을 수 있었는데…"라며 고개를 떨궜다.

정부 측 몰이해와 무관심이 `IT 코리아` 위기를 부추겼다. IT를 지원하는 정부 기능이 지식경제부, 방송통신위원회, 문화체육관광부, 과학기술부 등으로 뿔뿔이 흩어지면서 IT에 대한 무게감이 작아졌다는 분석이다.

미국 등 선진국과 달리 벤처캐피털 투자에 선순환 체계가 없는 한국에서 정부 측 무관심은 중소 IT기업들에 `돈 가뭄`을 가져왔다.

실제 2008년 새 정부 들어 IT에 대한 정부 측 투자는 10% 가까이 줄었다. 2006년 1조6260억원 수준이던 IT 관련 정부 투자액은 2007년 1조9079억원으로 증가했지만 2008년에 1조7269억원으로 떨어졌다. 2008년 이후 자료는 아예 집계되지 않아 정부가 무관심함을 잘 보여주고 있다.

한 분야에 여러 소관부처가 있다 보니 부처 간 밥그릇 싸움이 벌어지기도 했다. 콘텐츠 소관부처 문제는 오랫동안 부처 간 갈등을 빚은 주제였다. 급기야 방송 콘텐츠는 방통위가 담당하고 나머지 문화 콘텐츠는 문화부가 맡는 기형적인 상황을 만들었다. 최근에는 스마트폰 결제 기술인 근거리결제(NFC)를 두고 방통위와 지경부가 각각 단체를 만들기도 했다.

통신, 방송, 소프트웨어, 콘텐츠, 네트워크 등이 유기적으로 돌아가는 환경을 만들지 못했다는 것이다. 애플처럼 단말기 제조사이자 플랫폼 서비스 사업자가 나오기 어려운 상황이다. 이런 문제는 바로 IT 경쟁력 하락을 불러왔다. 세계 정보통신기술(ICT) 개발지수 보고서에 따르면 2007년까지 1위였던 한국 ICT 경쟁력은 2009년 2위, 2010년 3위로 떨어졌다. 세계경제포럼(WEF) 네트워크 준비지수 순위도 2007년 9위에서 지난해 15위로 추락했다.

소프트웨어를 제조업 중 부품산업 정도로만 이해해 왔던 정부의 각종 정책도 국내 소프트웨어 산업 경쟁력 하락을 부채질했다는 평가가 나온다. 특히 IT 투자예산을 가장 많이 확보하고 있는 지식경제부조차 하드웨어에 중심을 두고 투자를 집행했다. 소프트웨어에 대한 투자는 전체 IT 투자 예산 중 5분의 1(2000억원) 정도다. 문화체육관광부는 한 해 소프트웨어 예산이 10억원에도 못 미친다.

소프트웨어 관련 부서를 2개 운영 중인 지경부는 애플 아이폰 약진을 계기로 2009년 초부터 소프트웨어 공동 운영체제(OS) 구축을 위해 국내 기업들 의견을 수렴해왔다. 그러나 "독자적인 OS 전략을 유지하겠다"거나 "국내 업체(삼성) 영향력 아래 놓이든, 외국 업체(구글) 영향력 아래 놓이든 다를 게 없다"는 식으로 이해관계가 엇갈리면서 뚜렷한 진전을 거두지 못했다.

결과적으로 개방형 플랫폼을 앞세운 구글 안드로이드의 시장 지배력 확대에 사실상 무방비로 노출됐다는 지적이 나오고 있다. 정부는 뒤늦게 삼성 LG 등과 공동으로 올해 하반기 `국가대표급 OS`를 만드는 방안을 추진 중이라고 밝혔다.

김재홍 지식경제부 성장동력실장(1급)은 22일 "웹에 기반한 오픈형 OS를 공동으로 개발해 독자적으로 OS 기반을 육성할 필요가 있다"며 "정부가 하반기 추진 중인 월드 베스트 소프트웨어 3차 프로젝트에 공동 OS 컨소시엄 계획을 포함시킬 예정"이라고 말했다.

그러나 정부 계획대로 순조롭게 기업들이 동참할지, 그리고 얼마나 실효성 있는 대항 체제가 구축될지는 여전히 불투명하다. 이에 앞서 정부는 지난해 2월 소프트웨어 생태계 재편과 신수요 창출, 인재 양성, 외국 진출 등을 골자로 한 4대 핵심전략과 12개 정책과제를 범부처 차원에서 지정했지만 소프트웨어 산업 분야에서 비약적인 경쟁력 강화로는 이어지지 않고 있다는 평가가 지배적이다.

정부 전략이 뚜렷하게 효과를 발휘하지 못하고 부처 간에 손발이 맞지 않는 만큼 정치권을 중심으로 IT 컨트롤타워를 부활해야 한다는 요구가 나오고 있다. 특히 구글 애플 등 글로벌 기업이 국내 기업에 무차별 공격을 가하고 있는 만큼 정확한 목표를 설정하고 발 빠르게 움직여야 한다는 판단이다. 민주당은 최근 IT 컨트롤타워인 정보미디어부를 신설하겠다는 계획을 내놓았다.

전문가들 역시 세분된 IT 정책을 한데 모아 추진할 수 있는 IT 컨트롤타워를 다시 만들어야 한다고 지적한다.

`한국 IT산업의 멸망` 저자인 김인성 씨는 "현재 소프트웨어를 관리할 정부 컨트롤타워가 없다. 과거처럼 정보통신부, 산업자원부 등 관련 부처를 부활시켜 역할 분담과 협업을 해야 할 때라고 생각한다"고 지적했다.

정태명 성균관대 교수 역시 "지식경제부에 IT는 일부분일 뿐이고 문화관광체육부는 문화관광이 중심, 방통위는 방송이 현안"이라면서 "IT에 대한 목표가 없으니 관련 부처가 모두 겉돌고만 있다"고 강조했다.

◆ 구글 눈치보는 반도체왕국 이대로가단 3년내 몰락의 길로

세계 최대 검색기업인 구글의 모토롤라 인수, 세계 1위 PC업체인 HP의 PC사업 매각으로 촉발된 글로벌 IT전쟁으로 IT코리아는 20년 성장가도에 최대 위기를 맞고 있다. 미래를 미리 준비하지 못한 불확실성으로 국내 IT기업 주가는 급락했다. 글로벌 기업들이 하드웨어와 소프트웨어를 네크워크와 결합해 새 시장을 열고 있는 데 비해, 한국은 하드웨어와 네트워크만 강조하다가 세 가지 축 중 하나인 소프트웨어가 몰락했다. 한국 SW산업을 살리기 위한 방안을 전문가들에게 들어봤다.

"심각한 위기다. 우리는 제조업 기반 하드웨어에만 집중돼 있는 산업구조를 가지고 있었다. 서비스나 콘텐츠의 가치가 하드웨어를 역전한 것이 오래전이고 그 가치는 계속 올라가고 있는데, 우리는 그러한 생태계를 디자인할 계획이 전무한 상태다."

국내 최고 IT 전문가들은 현재 상황을 `심각한 위기`, 마치 최소 데프콘 1, 2단계라는 것에 인식을 같이했다. 산업구조는 대기업 위주에서 한 치도 벗어나지 못했고 구시대 방식으로 제품을 만들어서 이윤을 남기는 것에 중심을 두고 있는 상황이다.

때문에 소프트웨어(SW) 개발비도 몇 명이 몇 시간 했느냐는 산출 방식이 관행으로 잡혀 있다.

창의적 SW 개발도 `시간당 계약`에 묻혔다. 산업구조의 근본 패러다임 변화 없이 한국 IT 산업의 경쟁력 회복은 사실상 불가능하다는 지적이 제기됐다.

정태명 성균관대 교수는 "한국은 여전히 반도체, LCD, 단말기 제조에만 매달리고 있다"며 "특히 소프트웨어 분야가 중요하다고 강조됐는데 특히 정부도 소프트웨어의 당장의 실적만을 보지 몇 년 후에 어느 위치를 추구하자는 장기적인 안목을 갖고 있지 않다.

즉 소프트웨어 개발의 생태계 조성이 안 돼 있다"고 비판했다.

이에 대한 해법도 다양하게 제기됐다. 주로 단기적 처방이 아닌 `근본적 처방`을 요구했다.

이석채 KT 회장은 "한국은 지금 소프트웨어 분야에서 앞서가는 선진국과 하드웨어 분야에서 추격하는 신흥개도국 사이에 끼인 `샌드위치`다. 위기에서 탈출하려면 소프트웨어 인재를 대기업ㆍ중소기업 간 `갑을병정` 관계가 아닌 우리의 자산으로 대우해야 한다.

소프트웨어 혁명은 국가, 시간, 공간 등 모든 경계를 의미 없게 할 것이다. 전 세계 콘텐츠를 제한 없이 모두가 즐길 수 있는 때가 올 것을 대비해 소프트웨어와 콘텐츠의 강자가 돼야 한다"고 말했다.

또 그는 "그동안 한국 IT기업들이 국내에서 너무 치열한 마케팅 경쟁을 펼친 것도 바꿔야 한다. 마케팅비를 해외 투자와 신규 서비스 개발로 돌려야 한다"고 지적했다.

정지훈 관동의대 교수는 "산업 면에서 지금의 상황을 타파하려면 말만이 아닌 소프트웨어 개발과 콘텐츠 개발에 더 많은 노력을 기울여야 한다. 이를 위해선 제조업에서 성공 평가를 내리는 3개월 위주의 단기적인 평가 체질을 고쳐야만 한다"고 제안했다.

전문가들은 특히 인력양성 문제를 집중 제기했다.

이상철 LG유플러스 부회장은 "소프트웨어 플랫폼에서 가장 기본이 되는 `운영체제(OS)`를 대학에서부터 가르쳐야 한다. OS를 잘 알아야 좋은 사용자 인터페이스(UI)와 사용자 경험(UX)도 만들어낼 수 있는데, 우리나라는 OS를 가르치지 않고 있다.

또 대학생들을 제조업에서 1년간 일하게 해야 한다. 광운대 총장 시절 기업에서 인턴을 하면 한 학기 전체 학점인 18학점을 인정해주는 제도를 만들었다.

기업은 정상 급여의 80%를 학생에게 지급하고 `인재 평가서`를 쓰게 했다. 이런 것들을 많이 해야 어떤 능력이 우리나라 IT 발전에 필요한지 서로 알게 된다"고 말했다.

조현정 비트컴퓨터 회장은 "삼성만 하더라도 인도에서 3000명을 고용하는데, 왜 나가겠느냐. 한국에 수요가 있으면 안 나갈 것이다. 외국에서 한국으로 올 수 있다"며 "SW 인력 15만명은 너무 적다"고 지적했다.

김은현 SW저작권협회 회장직무대행은 "하드웨어와 소프트웨어의 동반 성장 중요성을 간과했기 때문"이라고 지적했다.

김 회장은 "전 세계 SW시장은 1조121억달러 정도로 파악되고 있으며 이는 반도체 시장의 3.4배, 휴대폰 시장의 6배 규모. 소프트웨어 산업의 부가가치율(49.6%)은 제조업(24.6%)의 2배다. 그러나 한국은 소프트웨어 불법복제로 인해 소프트웨어 산업의 경쟁력이 위축됐다"고 말했다.

김명호 MS코리아 내셔널 테크놀로지 오피서는 "한국에선 소프트웨어 개발자에 대한 기업과 사회의 인식이 낮아서, 나이 들어서 개발자로 남아 있으면 무능한 사람으로 취급하는 게 문제다. 인식과 처우가 낮으니 개발자들도 어느 정도 하다가 관리직으로 옮기려고만 한다"며 "MS 본사의 경우 90년대 초반 윈도NT 개발을 주도했던 데이브 커틀러가 지금도 개발자로 일하고 있다. 한국 소프트웨어 개발자에게 경험을 통한 기량 향상은 쉽지 않은 현실이다. 연륜 쌓인 개발자가 없는 게 문제"라며 인력 문제를 제기했다.

[손재권 기자 / 채수환 기자 / 황지혜 기자 / 김명환 기자] 
Posted by babuzzzy
common sense2011. 8. 3. 21:31
int strcmp(string str1, string str2)
두개의 문자열을 비교하여 음수, 양수, 0으로 결과값을 반환한다. 
strcmp()는 str1과 str2를 비교하여 같은 문자열이면 0을 반환하고 그렇지 않으면 0이 아닌 정수형 값을 반환한다.
이때 str1이 str2보가 긴 문자열이면 0보다 큰 값을, 그 반대이면 0보다 작은 값을 반환한다.
문자열 비교시에 대소문자를 구분한다.


'common sense' 카테고리의 다른 글

vmware tools 설치방법  (0) 2013.01.03
apache2 루프백 도메인 오류  (0) 2011.08.03
리다이렉션 기능  (0) 2011.08.03
drm 이란  (0) 2011.07.25
네트워크 관리사 2급 핵심 키워드 -TCP/IP  (0) 2011.07.25
Posted by babuzzzy
common sense2011. 8. 3. 20:01
 
 
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
 
 
 
 
 
 
vi /etc/apache2/apache2.conf 로 파일을 오픈한 다음
 
 ServerName localhost 를 추가
 
 
 

 
/etc/init.d/apache2 restart

끝 

'common sense' 카테고리의 다른 글

vmware tools 설치방법  (0) 2013.01.03
strcmp함수  (0) 2011.08.03
리다이렉션 기능  (0) 2011.08.03
drm 이란  (0) 2011.07.25
네트워크 관리사 2급 핵심 키워드 -TCP/IP  (0) 2011.07.25
Posted by babuzzzy
common sense2011. 8. 3. 19:59
리눅스에서 리다이렉션 기능은 매우 강력하여 리눅스 쉘에 있어서 필수적인 기능이다.,

표준 입력, 출력, 에러

리눅스 박스는 표준입력과 표준출력, 그리고 표준에러를 가지고 있다. 표준입력이란 키보드로부터의 입력을 말하며, 표준출력과 에러는 모두 텍스트 화면 출력을 의미한다. 다만 표준에러는 버퍼에 기록하지 않고 바로바로 출력한다는 것에 차이가 있다. 

표준 출력 리다이렉션

표준 출력 리다이렉션은 표준 출력과는 다르게 정상적인 출력 결과가 화면에 표시 되는 것이 아니라 파일에 저장되도록 방향을 전환시키는 것을 말한다. 
출력 리다이렉션은 쉘의 기능으로 프로그램의 입장에서는 그에 대해 알지도 못하고 또 알 필요도 없다. 앞의 쉘에 대한 설명에서 다뤘듯이 쉘은 프로그램과는 별도로 명령을 해석하고 리다이렉션을 처리함으로서 프로그램은 이에 대해 알 필요가 없다. 프로그램은 항상 자신이 표준 출력을 이용해 출력을 하고 있다고 생각한다. 따라서 리다이렉션의 존재를 모른다. 다시 한번 강조하자면 쉘이 출력물을 파일로 전환시켜 주는 것이다. 

다음은 출력 리다이렉션을 사용하는 예이다.

$ cat temp.txt > temp2.txt 

위와 같은 형식을 사용하면 cat의 표준출력 내용(여기에서는 temp.txt 파일의 내용)이 temp2.txt에 기록된다. 앞의 cat는 예로 들었을뿐 리다이렉션이 가능한 명령이면 어떤 것이라도 올 수 있다. (사실 표준출력은 거의 모든 명령이 이용한다.) 주의할 것은 뒤에 오는 temp2.txt는 중복되는 파일이 아니어야 한다는 것이다. 기존에 같은 이름의 파일이 있다면 쉘은 기존 파일 내용을 삭제해버리고 새로운 내용으로 채운다.

$ ls -al > temp_list.txt 

위의 명령을 내리면 ls -al 결과를 파일로 저장한다. 만약 > 대신에 >>를 사용하면 기존내용에 추가하겠다는 의미이다. 

표준에러 리다이렉션

어떤 명령의 표준에러를 어떤 파일에 기록하려면 >나 >>로는 기록할 수 없다. 이는 표준 에러가 화면에는 표준출력과 함께 표시되더라도 내부적으로는 별도의 장치를 이용하기 때문이다. 표준에러만 따로 기록하려면 2>나 2>>를 이용해야 한다. 이 둘의 차이는 >와 >>와의 관계와 같다. 

$ cat temp > temp2.txt 2> temp_error.txt 

입력 리다이렉션

입력 리다이렉션은 키보드로 한줄, 한줄 입력해야 하는 자료를 일단 파일에 저장해 두고 키보드 입력으로 한 줄씩 입력하는 것처럼 해주는 쉘의 기능이다. 이 역시 프로그램의 입장에서는 명령이 키보드로부터 오는지 파일로부터 오는지 알 수 없다. 

$ ls -al > ls_list.txt
$ sort < ls_list.txt > list_sorted.txt 

위의 예는 ls -al 결과를 ls_list.txt라는 파일에 기록하고 이를 표준입력으로 sort해 그 결과를 다시 list_sorted,txt에 저장하는 것이다. 


 

'common sense' 카테고리의 다른 글

strcmp함수  (0) 2011.08.03
apache2 루프백 도메인 오류  (0) 2011.08.03
drm 이란  (0) 2011.07.25
네트워크 관리사 2급 핵심 키워드 -TCP/IP  (0) 2011.07.25
네트워크 관리사 2급 핵심키워드 -window 2000 server  (0) 2011.07.25
Posted by babuzzzy
My PROJECT/1st project2011. 8. 3. 14:16
1. 아파치 설치
 sudo apt-get install apache2



2. 아파치와 mysql 연동
sudo apt-get install libapache2-mod-auth-mysql

3. DBMS 인 MYSQL 설치
sudo apt-get install mysql-server mysql-client 
(mysql 비밀번호 설정)

4. php5 설치
apt-get install php5-common php5 libapache2-mod-php5
 

5.  php5와 mysql 연동
sudo apt-get install php5-mysql


6. 서버 재시작
sudo /etc/init.d/apache2 restart

7. mysql 서버가 정상적으로 동작하는지 알아보기
sudo netstat -tap | grep mysql

tcp 0 0 localhost.localdomain:mysql *.*LISTEN 이라고 뜨면 정상


8. 웹서버가 정상적으로 동작하는지 테스트
sudo vi /var/www/phpinfo.php

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

www.localhost/phpinfo.php 실행시 
it works 라고 뜨면 정상


var/www 폴더가 내가 개발할 홈페이지의 기본폴더




 

'My PROJECT > 1st project' 카테고리의 다른 글

openssl 생성 및 간략 정리  (0) 2011.09.27
프로젝트에 필요한 cgi 에 대한 개념 잡기  (0) 2011.09.03
SNMP  (0) 2011.07.09
APACHE 란  (0) 2011.07.07
1. 시스템 모니터링 교수님 질문내용-답변  (0) 2011.07.07
Posted by babuzzzy
카테고리 없음2011. 7. 27. 15:09

- 매크로 상수

#define은 단순한 치환을 하기 위한 내용을 정의하는 기능

형식

#define 매크로_상수 치환할_내용

간단한 예)

#define TRUE 1

#define FALSE 0

원주율을 매크로 상수로 정의

#include<stdio.h>

//원주율을매크로상수로정의

#define PI 3.141592

void main()

{

int r;

double area, dulre;

printf(" 반지름을입력: ");

scanf("%d", &r);

//전처리기에의해서매크로확장

area= r * r * PI;

dulre = 2 * r * PI;

printf(" 원의면적=> %lf \n", area);

printf(" 원의둘레=> %lf \n", dulre);

}

- 매크로 함수

함수와 같은 기능을 하는 매크로

간단한 예)

#define SQUARE1(x) ((x)*(x))

제곱 구하는 일반 함수와 매크로 함수

#include<stdio.h>

//매크로함수

#define SQUARE1(a) a*a //잘못된예

#define SQUARE2(a) ((a)*(a))

int square(int a) //일반사용자정의함수

{

return a*a;

}

void main()

{

printf(" square => %d \n", 100/square(2+3));

printf(" SQUARE1 => %d \n", 100/SQUARE1(2+3));

printf(" SQUARE2 => %d \n", 100/SQUARE2(2+3));

}

SQUARE1은 일반적인 함수처럼 호출되어 결과를 얻지 않고 단순 치환을 하기 때문이다.

SQUARE2가 일반 함수와 동일한 결과를 얻은 이유는 괄호를 철저히 붙여 주었기 때문이다.

- #if, #elif, #else, #endif

조건부 컴파일을 위한 것으로 특정 조건이 만족하면 컴파일 작업을 수행하고 그렇지 않으면 수행하지 않도록 하기 위해 사용된다.

조건부 컴파일을 위한 전처리 지시자 살피기

#include<stdio.h>

#define MAX 20

void main()

{

int size;

#if MAX > 100

size=100;

#elif MAX > 10

size=10;

#else

size=0;

#endif

printf(" size = %d \n", size);

}

- #ifdef, #ifndef

특정 매크로가 정의되어 있는지를 확인하기 위해 사용된다.

#ifdef문은 특정 매크로가 정의되어 있는지를 물어 본다.

#ifndef문은 “if not define”, 특정 매크로가 정의되어 있지 않았는지를 물어 볼 때 사용한다.

#ifdef, #ifndef문 사용하기

#include<stdio.h>

#define _MYDEBUG 10

#ifdef _MYDEBUG

void sub(){

printf(" debug \n");

}

#endif

#ifndef _MYDEBUG

void sub(){

printf(" release \n");

}

#endif

void main()

{

sub();

}

- #undef

#define과는 정반대의 역할을 하는 것으로 이미 정의된 기호 상수를 취소시켜 정의되지 않은 상태로 만들고자 할 때 사용한다.

#define SIZE 10

i = SIZE;

#define SIZE 20

j = SIZE;

위와 같이 SIZE를 중복 정의한 것이 되면 컴파일 시 에러가 발생하게 된다.

따라서 #undef를 사용하여 삭제 후 재 선언할 수 있다.

#define SIZE 10

i = SIZE;

#undef SIZE

#define SIZE 20

j = SIZE;

#undef문 사용하기

#include<stdio.h>

#define SIZE 10

void main()

{

int i, j;

i=SIZE;

#ifdef SIZE

#undef SIZE

#define SIZE 20

#endif

j=SIZE;

printf(" i=%d, j=%d \n", i,j);

}

Posted by babuzzzy
programmming tips2011. 7. 26. 22:03
다음 코드로 설명을 하죠. 앞의 숫자는 쉽게 이해하기 위해 임시로 적어 놓은 라인 번호입니다.
_______________________________
01:#define _DEBUG
02:
03:func()
04:{
05: #ifdef _DEBUG
06: printf("디버그 모드\n");
07: #endif
08:
09: #ifndef _DEBUG
10: printf("일반 모드\n");
11: #endif
12:}
--------------------------------

#ifdef _DEBUG는 _DEBUG가 #define문으로 정의 되어 있다면 아래라인 부터
#endif전 라인까지 포함시키라는 전처리 지시어입니다.

그리고 #ifndef _DEBUG는 _DEBUG가 #define문으로 정의 되어 있지 않다면 아래라인 부터 #endif전 라인까지 포함시키라는 전처리 지시어입니다.

첫번째 라인에서 #define _DEBUG "_DEBUG"를 정의해 주었으므로
#ifdef _DEBUG ~ #endif사이는 포함이 될것이고 #ifndef _DEBUG ~ #endif사이는
포함이 안 될것입니다.
아래는 전처리기로 처리된 소스입니다.

_______________________________
02:
03:func()
04:{
06: printf("디버그 모드\n");
08:
12:}
--------------------------------

이정도면 충분히 이해하실거라 생각합니다. =)
참고로 _DEBUG는 실제로 Visual C에서 디버그 모드에서 기본으로 포함시키는 이름으로 디버그 모드에서만 실행시키고 쉽은 디버그 전용 코드를 #ifdef _DEBUG ~ #endif로 감싸서 사용합니다. 
Posted by babuzzzy