'분류 전체보기'에 해당되는 글 1286건

허니몬의 IT 이야기
스타일 시트(Style Sheet) : HTML 문서에서 자주 사용하는 서체나 색상, 정렬, 각 요소들의 배치 등의 유형을 가리킨다. 웹 브라우저 창의 한쪽에 배치하는 등의 다양한 스타일을 한군데 모아놓은 것을 '스타일 시트'라고 한다.
  <h4><font size="12px" color="blue">HTML 이 뭘까?</font></h4>
   <h4><font size="12px" color="blue">스타일 시트는 또 뭐고</font></h4>
-> 스타일 시트 사용 시에는 한번만 적용하면 된다.
   <head>
   <style type="text/css">
   h4 {font-size:12px; color:blue}
   </style>
   </head>
   <h4>HTML이 뭘까?</h4>
   <h4>스타일 시트는 또 뭐고?</h4>



스타일 시트를 사용해야 하는 이유
    ◎ 웹 문서의 디자인과 내용을 분리할 수 있습니다.
      ⊙ CSS를 이용해서 웹문서를 디자인할 경우 HTML 소스 부분은 그대루 두고 CSS 소스만
         수정하면되기 때문에 작업이 훨씬 효율적이다.

    ◎ 다양한 매체에 적합한 문서를 만들 수 있습니다.
      HTML로 작성된 내용은 그대로 두고 CSS에서 대상 매체(Media)가 프린터인지, 모바일
        기기인지만 지정해주면 같은 내용을 여러 매체에서 사용할 수 있다.
자신이 작성한 문서에 자신이 원하는 형식의 매체 스타일(Style or Design)을 적용시키면 된다.


CSS 명령어 사용하기

CSS 명령어의 구조

선택자 { 프로퍼티 : 값 }       ex) body { color : black }
선택자 : 주로 태그가 기술됨. 이 태그에 프로퍼티와 값이 적용됨
프로퍼티 : 왼쪽의 선택자에 적용될 속성을 기술함(프로퍼티 = 속성)
값 : 프로퍼티의 값. 즉, 속성값을 기술함. 이 값은 프로퍼티마다 다름

①. 모든 CSS 구문은 위와 같이 선택자, 프로퍼티, 값으로 구성

②. 프로퍼티와 값은 중괄호 { }내에 기술되며, 콜론(:)으로 구분합니다.

③. 값이 2개 이상의 단어로 구성되면 따옴표 내에 기술합니다.

      p {font-family:"sans serif"}

④. 하나의 태그에 여러 개의 프로퍼티:값 쌍을 지정할 경우는 값 프로퍼티:값 쌍을 세미콜론(;)으로 구분합니다.

      p {text-align:center; color:red }

⑤. 여러 개의 프로퍼티를 지정할 경우, CSS 구문을 읽기 쉽도록 한 개 라인에 한 개의 프로퍼티:값 쌍을 기술할 수도 있습니다.

   p {
       text-align: center;
       color: black;
       font-family: arial
   }



● CLASS 속성 사용하기 ( Tag.class name )

 class 속성은 두 가지 경우에 유용하다. 첫 번째는 하나의 태그에 여러 개의 스타일을 적용하는 경우이고, 두 번째는 여러 개의 태그에 하나의 스타일을 적용하는 경우이다.
<style type="text/css">
       p.right {text-align: right}         -> P 태그 하나에 두 개의 스타일을 정의함
       p.center {text-align: center}
   </style>
   
   <p class="right"> 이 문장은 오른쪽으로 정렬됩니다. </p>
   <p class="center"> 이 문장은 가운데로 정렬됩니다. </p>

   <style type="text/css">
    .center {text-align: center}
   </style>
   <h1 class="center"> 이 제목은 가운데로 정렬됩니다.</h1>
   <p class="center">이 문장도 가운데로 정렬됩니다.</p>



ID 속성 사용하기 ( #ID name )

  ID 속성은 CLASS 속서오가 유사하다. ID 속성도 두 가지 경우에 유용하다. 첫 번째는 동일한 ID를 가진 모든 태그들에 동일한 스타일이 적용되는 경우이고, 두 번째는 동일한 태그라도 해당 ID를 가진 경우만 스타일이 적용된다. 
<style type="text/css">
   #intro
   {
   font-size:110%;
   font-weight:bold;
   color:#0000ff;
   background-color:transparent
   }
   </style>

   <h1 id="intro"> 이 제목은 intro 스타일로 표시됩니다. </h1>
   <p id="intro"> 이 문장도 intro 스타일로 표시됩니다.</p>




주석 사용하기
/* 와 */ 사이에 기술한다(여러 줄 주석)

   <style type="text/css">
   /* 이것은 주석입니다. */
   p {
       text-align: center;
       /* 이것도 주석입니다. */
       color: black;
       font-family: arial
   }




CSS 를 이용하는 3가지 방법

   1. <head> ... </head> 사이에 기술(내부 파일 방식)  [우선순위 1]
   2. HTML 태그 내에 직접 기술(인라인 방식) [우선순위 2]
   3. 별도의 .css 파일에 기술(외부 파일 방식) [우선순위 3]
      @import 문 이용
CSS 입력 위치

[1].  <head> ... </head> 사이에 기술(내부 파일 방식) 기재분량 적을 떄
   <style type="text/css">
       body {background-color: yellow}
       h1 {font-size: 36pt}
       h2 {color: blue}
       p {margin-left: 50px}
   </style>



[2]. html 태그 내에 직접 기술(인라인 방식)
   <body style="backgrount-color: yellow">
   <h1 style="font-size: 36pt"> 이 제목은 36 포인트입니다.</h1>
   <h2 style="color: blue"> 이 제목은 푸른색입니다.</h2>  
   <p style="margin-left: 50px">이 문장은 왼쪽 여백이 50픽셀 입니다.</p>



[3]. 별도의 .css 파일에 기술(외부 파일 방식)
  <link rel="stylesheet" type="text/css" href="style12.css" />
style12.css
   body {background-color: yellow}
   h1 {font-size: 36pt}
   h2 {color: blue}
   p {margin-left:50px}



[4] @import 문 이용
   <style type="text/css">
       @import "외부 스타일 시트 파일"
   </style>


@import 문 사용시 <link> 태그와 함께 사용
      <link rel="stylesheet" href="style1.css">
      <style type="text/css">
       @import "style2.css"
      </style>


Border Style
      p.solid {border-style: solid }
      p.double {border-style: double}
      p.dashed {border-style: dashed}
      p.dotted {border-style: dotted}
      p.groove {border-style: groove }
      p.ridge {border-style:ridge}
      p.inset {border-style: inset}
      p.outset {border-style: outset }


Border Style 2(border width, style, color, boder-right-color)
  <style type="text/css">

      p.one
      {
      border-style: solid;
      border-width: 5px;
      border-color: blue
      /*border-right-color: #ff0000*/
      }
      p.two /* 색상 두개 지정할 경우, 먼저 색은 위아래 선색, 다음 색은 좌우 선색 */
      {
      border-style: solid;
      border-width: 10px;
      border-color: blue yellow
      /*border-right-color: #ff0000*/
      }
      p.three /* 색상 세개 지정할 경우, 먼저 색은 위, 다음 색은 좌우 색, 다음 색은 아래로 나타난다. */
      {
      border-style: solid;
      border-width: 15px;
      border-color: blue yellow red
      /*border-right-color: #ff0000*/
      }
      p.four /* 시계 방향으로 적용됨 */
      {
      border-style: solid;
      border-width: 20px;
      border-color: blue yellow red gray
      /*border-right-color: #ff0000*/
      }
      </style>



<a> 태그 설정과 관련된 CSS
      /* 문서가 처음 표시될 때 */
      a:link { color:black; text-decoration:none; font-family:돋움; font-size:9pt;}
    
/*링크가 한번이라도 클릭 된후 */
       a:visited{ color:red; text-decoration:none; font-family:돋움; font-size:9pt;}
      /* 링크를 클릭하고 나면 */
      a:active{ color:blue; text-decoration:none; font-family:돋움; font-size:9pt;}
      /* 커서가 링크 위로 올라왔을 때 */
      a:hover { color:green; text-decoration:underline; font-family:돋움; font-size:9pt; background-color:#0066cc }



테이블에 CSS 적용하기
    <HTML>
      <HEAD>
      <TITLE> 테이블에 스타일시트 적용하기  </TITLE>

      <STYLE type="text/css">

      TABLE {/*테두리 종류: double*/
                  border-style:double;
             /*테두리 굵기: 5px*/
                  border-width:5px;
             /*테두리 색: #006600*/
                  border-color:#006600
            }

      TH { /*테두리 종류: solid*/
              border-style:solid;
           /*border-top-width :위쪽 테두리 굵기: 0px*/
              border-top-width:0px;
           /*아래쪽 테두리 굵기: 5px*/
              border-bottom-width:5px;
           /*오른쪽 테두리 굵기: 0px*/
              border-right-width:0px;
           /*왼쪽 테두리 굵기: 0px*/
              border-left-width:0px;
           /*테두리 색: #006600*/
              border-color:#006600;
           /*padding :셀안의 데이터와 테두리 간 여백: 5px 5px 5px 5px*/
              padding:5px 5px 5px 5px;
           /*배경색 : #ffffff*/
              background-color:#ffffff;
           /*글자색: #006699*/
              color:#006699;
           /*폰트크기: 15pt*/
              font-size:15pt;
           /*폰트체: 바탕*/
              font-family:바탕;
           /*글자 간격: 10px*/
              letter-spacing:10px
           
           }

      TD {
            /*테두리 종류: dotted*/
            border-style:dotted;
            /*border-top-width :위쪽 테두리 굵기: 0px*/
              border-top-width:0px;
           /*아래쪽 테두리 굵기: 1px*/
              border-bottom-width:1px;
           /*오른쪽 테두리 굵기: 0px*/
              border-right-width:0px;
           /*왼쪽 테두리 굵기: 0px*/
              border-left-width:0px;

           /*테두리 색: #006600*/
              border-color:#006600;
           /*padding :셀안의 데이터와 테두리 간 여백: 5px 5px 5px 5px*/
              padding:5px 5px 5px 5px;
           /*칸 높이 : line-height: 150%*/
              line-height:150%;
            /*폰트크기: 15pt*/
              font-size:15pt;
           /*폰트체: 바탕*/
              font-family:바탕7
      }

      </STYLE>

      </HEAD>

      <BODY leftmargin="0" topmargin="0" background="../images/back_line4.jpg">
      <IMG src="../images/css_title4.jpg">
      <BR><BR><BR>
      <TABLE align="center" width="600" >
      <TR>
          <TH> 영어속담  </TH>
      </TR>
      <TR>
          <TD> Better late than never. <BR>
               아무리 늦더라도 전혀 안 하는 것보다는 낫다.
          </TD>
      </TR>
      <TR>
          <TD> Rome was not built in a day. <BR>
               로마는 하루 아침에 이루어지지 않았다.
          </TD>
      </TR>
      <TR>
          <TD> The beginning is half of the whole. <BR>
               시작이 반이다.
          </TD>
      </TR>

      <TR>
          <TD> Nothing ventured, nothing gained. <BR>
               모험을 하지 않으면 얻는 것도 없다.
          </TD>
      </TR>

      <TR>
          <TD> Little strokes fell great oaks. <BR>
               열번 찍어 안 넘어가는 나무 없다.
          </TD>
      </TR>

      </TABLE>
      </BODY>
      </HTML>


Margin(바깥 여백), Boder(선), Padding(안쪽 여백) 명칭

box_position.jpg

[1]. padding-top      [2].padding-right       [3]. padding-bottom      [4].padding-left

[5]. border-top        [6]. border-right        [7].border-bottom          [8]. border-left

[9]. margin-top      [10]. margin-right      [11]. margin-bottom      [12].margin-left




border-style 속성
   border-top-style
   border-right-style
   border-bottom-style
   border-left-style
   border-width-style : 위 4 가지 속성을 한꺼번에 지정할 때 사용.



목록 스타일 지정하기 -  list-style
   list-style-type:value


허니몬의 IT 이야기/프로그래머, '코드 엔지니어'
사용자 삽입 이미지
녕하세요? 허니몬 입니다.

황사가 유달리 심한 요즘 건강하시죠? ^^  물을 많이 드시는 것이 건강에 좋다고 합니다. 하루 2리터 이상의 물을 마셔주세요!

오랜만에 맞이하는 주말에 포스팅을 몇개 해볼자 하면서 이렇게 글을 올립니다. 요즘 게으름을 물리치기 위해 고군분투 중이니까, 많은 분들의 응원을 부탁드립니다.



  현재 저는 아래 그림에 나와있는 CJ에서 운영하고 있는 JAVA EXPERT 과정을 수강하고 있습니다.
  작년 12월 직장 상사와의 불화로 일을 그만두고, 3개월의 재충전 시간을 갖은 후에 새로운 분야(SW/프로그래밍) 쪽으로의 전환을 궁리하면서 찾아보던 중에 눈에 띄는 몇 개의 교육기관 중에서 비교적 괜찮다는 평가를 받고 있 곳이고, 약간의 친분관계(혹은 혈연관계?)가 있는 이도 근무하고 있는 곳이어서 큰 망설임없이 이 곳(CJ Java Expert)을 선택하였습니다.

  Java 관련 과정은 다음 달(4월)에 열리는 것이 마지막이라고 하는 군요. 관심있으신 분들은 한번 알아보시기 바랍니다.
사용자 삽입 이미지
  학원 수강에 있어서 가장 중요한 것은 비용이겠죠?
  제가 듣고 있는 Java Expert는 실직자와 고학력 미취업자를 대상으로 노동부에서 지원을 해주는 시스템으로 운영이 되고 있습니다. 5개월의 기간 동안 수강비 300만원 중 200만원을 노동부에서 지원하고 남은 100만원을 본인이 부담해야 합니다. 한번에 완납도 되고 분납도 되니까 원하시는 대로 선택하시면 됩니다.
  5개월이라는 시간은 상당히 긴 기간입니다. 요즘 무료로 과정을 진행하는 곳도 있지만, 자신의 돈을 어느정도 투자하지 않으면 마음이 헤이해질 수 있을거라 생각하고 적더라도 내 돈을 어느정도 내면서 다니는 것이 좋을 겁니다.

사용자 삽입 이미지

다음 스카이뷰 발췌, 저의 목적지

  제가 매일 아침 8시 반 전까지 도착을 해야하는 곳입니다. 출석이 매우 중요합니다!! 그건 어쩔 수 없음을 저도 잘 알고 있습니다. 나 잘되자고 하는 일이니 가능하면 지각 결석을 피해서 개근상을 노려볼까 합니다. 초,중,고 13년 개근을 한 허니몬이기 때문에 아마 큰 문제(20대가 되어 음주를 즐길 수 있게 되고 나니... ㅡ0-);; 술(과음)마시고 난 다음날은 살짝쿵 늘어지는 건 어쩔 수가 없더군요. 저만 그럴까요?

사용자 삽입 이미지
  교육장에 양재역 부근에 위치하고 있기 때문에 제가 있는 곳(도농역 부근)에서 가기 위해서는 대략 1시간 10분 정도가 소요됩니다. 6시에 일어나서 떠날 채비를 해야합니다. 7시만 되어도 출근을 준비하는 직장인들이 많습니다. 저기 계신 분들과 함께 양재역을 향해 고고싱!!
사용자 삽입 이미지
  옥수역에서 환승하여 3호선으로 갈아타야 합니다. ^^; 초상권을 피하기 위해!! 많은 분들이 계단을 지나간 다음에 쓰윽 뒤에서 찍어주는 센스!? OTL... 그것보다는 카메라 렌즈로라도 사람들과 눈이 마주치는게 부끄러워서... ㅎㅎ 어려운 경기 중에도 열심히 사시는 많은 분들의 모습이 보기 좋았습니다.
사용자 삽입 이미지
사용자 삽입 이미지
  어느새 양재역에 도착. 서울 외곽에서 서울로 들어오는 지점이기 때문인지 많은 차량과 많은 사람들이 출근길을 재촉하며 자신의 직장을 향하고 있었습니다. 월요일에는 정말 말도 못할만큼 도로가 막힙니다. ㅡㅅ-)b
사용자 삽입 이미지
자, 교육장을 향해 걸어가볼까요? 위에 사진에서 보신 것처럼, 양재역에서 멀다면 멉니다. 부지런히 걷고 걸어도 아직 교육장이 다가오지 않더군요. ㅡㅅ-)b 가운데 살짝쿵 삐져나온 건물 지하에 교육장이 위치합니다.
사용자 삽입 이미지
헉헉. 한참 걸어왔는데도 아직 멀었군요. 중앙 왼쪽부분에 보이는 건물입니다. 요즘은 날씨가 굉장히 좋더군요. 실업급여를 신청하기 위해 선릉역에 다녀오는 길에 내리쬐는 햇살도 따스하니 좋고, 옆 화단에 서서히 피어나기 시작하는 개나리꽃의 모습을 보니 웬지 수업을 잠시 들어가기 싫어지더라만, 부지런히 걸음을 재촉합니다!!
사용자 삽입 이미지

교육장 풍경 1


사용자 삽입 이미지

교육장 풍경 2


  위에서 보시는 것처럼 교육하기에는 좋은 환경입니다. 운이 좋게도 우리 동기들이 들어오기전 교육장 컴퓨터가 싸악 바뀌었거든요. 인터넷 상태만 양호하면 요즘 나온 대부분의 게임을 즐길 수 있을 정도니까요. 개인적으로 직장이나 교육장에서 컴퓨터 게임을 하지는 않습니다^^. 오해하지 마세욥!
내부의 다른 사진이나 내용에 대해서는 추후에 또 올리도록 하겠습니다. 일주일이 후딱 지나가버렸거든요. ^^; 반장도 하고, 회식도 하고, 오랜만에 교육 받으면서 머리를 굴리려니 진도 따라가기도 조금 버겁더군요.


사용자 삽입 이미지

잠시 짝꿍이었던 진석군.


  앞으로 이곳에서 5개월이 생활을 해야합니다. 24명의 동기들과 함께 즐겁게 공부하면서 JAVA 전문가가 되어 가는 이야기를 올리도록 하겠습니다. ^^;; 이제 첫주 보냈습니다!! 아직 이야기 할 거 많이 남아있습니다.
사용자 삽입 이미지
또 찾아오겠습니다. +_+)/
허니몬의 취미생활/스쿠버다이버!
'친구따라 강남간다.'

  내 스쿠버 다이빙의 시작은 위 속담처럼 스쿠버 다이빙을 해붜보려는 친구를 따라서 시작되었다. 그 친구는 주변 친구들에게 '다이빙 함께하자.'라고 얘기했다가 퇴짜에 퇴짜를 거듭하다가 나에게까지 순번이 오게 되었다. 결과적으로 나는 '친구따라 강남가서 강남에서 살게되었다.'라고 할 수 있을 듯 하다.

  나는 현재, PADI의 Rescue Diver 자격증을 소유하고 20여회 이상의 다이빙을 한 초급을 막 벗어난 중급 다이버이다. 나 자신 스스로는 '초보 다이버'라고 하지만, 강사님이 '지헌씨도 이제 중급다이버.'라고 해주시니 '그런가요? ^^'하며 '아, 나도 중급이구나.'하는  정도다.

  PADI의 스쿠버 자격을 얻기 위한 최소연령은 주니어는 10세, 오픈워터 다이버나 스쿠버 다이버 자격은 15세 이상이면 누구나 습득이 가능하다.
 * PADI : Professional Association of Diving Instructors
  -> 세계에서 가장 큰 다이빙 교육기관으로 다이빙에 대해 체계적인 교육체계를 갖추고 있는 곳이다.

  오픈워터 다이빙 코스는 세 개의 분야(제한수역 다이빙|수영장, 개방수역 다이빙|바다)에 대한 학습목표들을 완수해야 오픈워터 다이버가 될 수 있다.
 
  제한 수역 다이빙에서 다이빙 원리를 적용시키고, 다이빙 절차와 기술들을 배우고 실천하는 가운데 재미가 시작된다. 수영장이나 유사한 곳에서 강사의 지도와 감독하에 실시.
  지식 개발은 모든 다이버들이 다이빙을 안전하게 즐기기 위해서 필요한 원리와 기초 지식을 습득하게 되어 있다.
  개방 수역 다이빙은 강사의 감독과 지도 아래 지식개발과 다이빙 기술을 적용하고 더욱 발전시켜서 초급 다이버로서 훈련을 완결하도록 한다.

  친구를 통해 두터운 오픈워터 다이버 매뉴얼을 먼저 받아서 공부를 시작했다. '스쿠버 다이빙'이 물 속에서 즐기는 레저이기 때문에 물, 공기, 장비 등에 대해 미리 학습해두지 않으면 그것들을 설명하는데 많은 시간이 소모된다. 안전을 위해서 반드시 숙지해야 한다.
사용자 삽입 이미지

  위에서 보시는 것처럼 오픈워터 다이버는 입문자용 책 치고는 나름 두텁다. 그러나 상세한 설명을 담고 있기 때문에 정독을 권장한다. 친절한 강사님(김쌤이라 부름. http://psiscuba.co.kr, 이하 '김쌤'으로 통일)을 만나서 철저하게(꼼꼼하신 분이라 교육기간 동안 브리핑과 디브리핑을 반드시 하심)하시는 분이었기에 기본부터 차근차근 실력을 쌓아갈 수 있었습니다.
ㅡㅅ-)b 이 책을 읽고 친구와 함께 사무실에서 이론수업을 마치고 수영장으로 GoGo!! 사무실이 강동에 위치하고 있기 때문에 올림픽 공원으로 이동하는 데에는 그리 오랜 시간이 걸리지 않았다. 올림픽 수영장 다이빙 풀은 우리 이외에도 제한 수역 다이빙을 하려는 2~3팀이 다이빙 교육을 하는 광경도 볼 수가 있다. 평일에는 여유롭게 즐길 수 있고, 주말에는 평일에 비해서 많은 팀(아마도 직장인들)이 오기 때문에 북적거린다.
장비도 조립하고 슈트를 입고 가볍게 스킨 다이빙을 즐긴 다음에 브리핑, 장비 착용하고 장비 점검 요령, 입수요령 학습 후 입수하기, BCD부력확보 방법 등을 배우게 된다.

  다이버는 충분한 부력을 확보하고 체온 유지를 위해 슈트를 착용한다. '잠수복'이라고도 하는데 몸에 밀착되어 슈트 밖의 물과 피부에 닿은 물의 교환을 지연시켜 체온 손실을 줄이면서 슈트 내부의 기포를 통해 일정한 부력을 제공한다.

물 속에서 필요한 기본기(호흡기 찾기, BCD 부력 조절, 마스크 물빼기(본인에게는 이게 젤 어려웠다))를 학습했다. 오픈워터 다이빙은 다이빙을 하는데 필요한 기본 스킬을 배우는 과정이다. 자동차를 운전하기 위해서 자동차 면허증이 필요하듯이, 다이빙을 즐기기 위해서 필요한 교육과정이다. 오픈워터 다이빙의 단계를 통과하면, 자신의 버디와 함께 계획을 잘 세우면 리조트에서 장비를 빌려서 다이빙을 할 수 있게 된다.

개방수역 다이빙(바다 다이빙)도 제한수역 다이빙(수영장 다이빙)에서 했던 스킬들을 연마하게 됩니다.
그러고 나면, 오픈워터 다이버가 됩니다. ㅡ0-)b 마무리는 오리발주를 원샷하며 땡땡땡!!
이것이 PADI의 오픈워터 다이버 라이센스다!!

이것이 PADI의 오픈워터 다이버 라이센스다!!


ㅡㅅ-);; 오래전 다이빙이라 조금은... 기억이 나지 않아서 넘 대충대충 쓴 것 같네요....
자세한 사항은... 직접 배워보시는 것이 빠릅니다.

당신도 신비한 바다의 세계로 빠져보십시오. 풍덩!!!


허니몬의 IT 이야기
리눅스 하면 소스를 컴파일해서 설치하는 방식이 여러면에서 깔끔할 수 있겠지만,
패키지 설치를 통해서도 손쉽게 의존성 해결 및 업그레이드가 가능해졌기 때문에 쉬운 방법으로 가겠다.

APM 이란, Apache + PHP + MySQL
을 모아서 지칭하는 오픈소스로 제공되는 웹서버 패키지라 할 수 있다.
저렴한 비용으로 손쉽게 웹서버를 구축할 수 있고, 관리 유지도 안정적이기 때문에 많은 이들에게 사랑받고 있다.

Apache는 웹서버를 구동하는 프로그램으로서 HTTP 프로토콜을 사용한다. 또한 HTTPS, FTP 등도 지원한다. 오픈 소스 개발 방식을 통하여 수많은 개발자들이 계속해서 자발적으로 업데이트와 보완 작업에 참여함으로써 오늘날 사용하고 있는 웹서버이며 PHP 와 가장 궁합이 잘 맞는 서버가 되어가고 있다.
관련정보 : http://httpd.apache.org/  에서 윈도우용 등을 손쉽게 얻을 수 있다.

PHP는 웹 프로그래밍 언어의 한 종류로서 강력한 성능과 코딩의 편리함 등 때문에 전 세계적으로 가장 많이 사용되고 있는 웹 프로그래밍 언어이다. PHP(Professional Hypertext Preprocessor)를 의미한다. 사용에 제한이 없고 모든 운영체제에서 동작하며, 데이터베이스와 궁합이 좋은 점 등의 많은 장점으로 많은 인기를 받고 있다.
관련정보 : http://www.php.net/

MySQL 은 공개된 관계형 데이터베이스로서 상용 데이터베이스인 오라클이나 MS-SQL에 비해 성능이 결코 뒤지지 않는, 매우 뛰어난 데이터베이스다. 물론 안정성이나 대용량 지원 등의 면에서 상용 데이터베이스에 비해 조금 떨어지는 부분이 없지 않지만, 이 모든 것을 고려해도 상용 데이터베이스에 비해 조금 떨어지는 부분이 없지 않지만, 이 모든 것을 고려해도 공개프로그램이라는 장점과 함께 관리만 잘하면 매우 유용하게 사용할 수 있다.
관련정보 : http://www.mysql.com/

설치순서 : 1. Apache
               2. MySQL
               3. PHP



1. Apache 설치
터미널을 열고 다음 명령어를 입력한다.
sudo apt-get install apache2
다음으로 MySQL 인증을 위한 모듈을 설치한다.
sudo apt-get install libapache2-mod-auth-mysql

2.
MySQL 설치
sudo apt-get install mysql-server mysql-client
설치가 완료되면 자동으로 MySQL 이 작동된다.

3.
PHP 설치
sudo apt-get install php5-common php5 libapache2-mod-php5
추가로 MySQL 과 연동하기 위한 모듈 설치
sudo apt-get install php5-mysql



PHP 설치까지 완료되면 MySQL 이 정상적으로 작동하고 있는지 확인한다.
sudo netstat -tap | grep mysql
정상 작동하고 있을 경우 아래와 같이 나옵니다.
tcp        0      0 localhost:mysql         *:*                     LISTEN      4914/mysqld 
혹은 mysql 이라고 입력하시면, 아래와 같이 MySQL 모니터 안으로 접속된다.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 33
Server version: 5.0.67-0ubuntu6 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>
exit 입력하시고 엔터 치시면 접속 종료된다.

만약 위의 내용을 확인할 수 없다면,
sudo /etc/init.d/mysql restart
로 수동으로 재시작을 시켜준다.

이제 APM이 정상적으로 설치되어있는지 확인할 차례이다.
/etc/apache2/sites-available/default 에서
DocumentRoot /var/www/
부분을 수정하지 않았다면,
/var/www/ 폴더가 localhost가 된다.

cd /var/www
입력한다. 루트권한을 잃었을 경우 /home/계정 이외의 폴더에서는 파일을 추가 혹은 수정을 할 수 없다. 우선 테스트를 위해서 아래와 같이 입력한다.
sudo vi test.php
       <?
              phpinfo();
      ?>
     
아래와 같이 입력한 후 ESC 누르고 x를 입력한 후 종료한다.

브라우저를 실행하고, 주소창에 localhost/test.php 라고 입력하면 아래 화면을 볼 수 있다.
내용은 사용하고 있는 환경에 따라서 다를 수 있다.


위의 내용이 나온다면 정상적으로 APM 설치가 완료되었다.
이후 웹서버와 PHP프로그래밍 등의 공부를 할 때에는 /var/www 폴더에서 파일을 생성하고
브라우저에서 읽어오는 방식으로 테스팅을 해볼 수 있을 것이다.

그런데 /var/www 에서 파일을 생성하려고 하면 권한이 없다는 이야기가 나오면서 파일 생성을 제한받게 된다. 로그인한 계정에 /var/www 소유권한을 주었다.
sudo chown 계정:계정 /var/www -R
하여서 해당 디렉토리에 소유권한을 얻었다.




허니몬의 IT 이야기
저는 개인 적으로 Internet Explorer(이하 IE) 를 좋아하지는 않습니다. 여느 분들은 윈도우에 설치되어있는 기본 브라우저 이기 때문에 그냥 사용하시는 분도 계시지만, 파이어폭스를 사용하면서 부터는 그 매력에 빠져서 IE는 사용하지 않고 있지요. 하지만 여전히 IE 사용자는 많습니다. ^^;

MS에서 Internet Explorer 8 설치 방지툴킷을 공개했습니다.

관련기사 : http://article.joins.com/article/article.asp?total_id=3456977&cloc=rss|news|ITScience
MS 사이트에 접속해서 열심히 찾아봤지만, 이와 관련된 공식적인 글이나 내용은 나타나 있지 않았습니다.

이때 발휘된 것이 구글 검색, IE8 blocker toolkit 이란 검색으로 IEbloger 라는 사이트를 찾아냈습니다.
http://blogs.msdn.com/ie/archive/2009/01/06/ie8-blocker-toolkit-available-today.aspx
위에서 보실 수 있는 것처럼 2009/01/06 에 공개되었습니다만, 구글 리더를 읽다가 오늘에서야 발견을 했습니다.
사용자 삽입 이미지
링크를 클릭해서 Microsoft 사이트에 가서 재빠르게 다운로드를 받았습니다. Blockertoolkit 으로 검색했을 때는 검색할 수가 없더군요.
사용자 삽입 이미지
http://www.microsoft.com/downloads/details.aspx?FamilyID=21687628-5806-4ba6-9e4e-8e224ec6dd8c&displaylang=en
다운로드 받으실 수 있는 주소는 위와 같습니다.
고 : IE8 방지툴킷은 자동업데이트를 통해서 IE8이 설치되는 것을 방지하는 툴킷입니다. 사용자가 개인적으로 IE8을 다운로드 받아서 실행, 설치할 경우에는 이를 방지할 수 없습니다.

다운받은 프로그램을 실행하면, 아래와 같이 Internet Explorer 8 Blocker Toolkit License 와 관련된 안내문이 뜹니다. Yes를 눌러주십시오. ^^

그러면 아래와 같이 툴킷을 해제할 폴더를 지정하라고 나옵니다.
저의 경우에는 임시파일들은 보통 C:\tmp 라는 폴더를 만들어 그곳에 압축을 풀고 필요에 따라 옮기거나 합니다.

압축이 풀린 폴더에 가면 아래와 같이 4개의 파일이 생성됩니다.

  • 윈도우 XP 사용자는 IE80Blocker.cmd 를 실행하시면, .cmd 명령을 통해 레지스트리에 IE8 설치를 제한하는 명령이 입력됩니다.

  • 아래에서 보시는 것처럼, cmd 상태에서 /u 옵션을 입력을 해야 정상적으로 실행됩니다.

  • 아래는 IE80Blocker.cmd 내용입니다.
set ProductName=Internet Explorer 8
set REGBlockKey=HKLM\SOFTWARE\Microsoft\Internet Explorer\Setup\8.0
set REGBlockValue=DoNotAllowIE80

set RemoteMachine=%1

if ""=="%1" goto Usage
if "/?"=="%1" goto Usage
if /I "/H"=="%1" goto Usage
if /I "/B"=="%1" goto LocalMachine
if /I "/U"=="%1" goto LocalMachine
set RemoteMachineName=%1
set Action=%2

:Parse
if /I "/B" == "%Action%" goto Block
if /I "/U" == "%Action%" goto UnBlock
goto Usage

:Block
Echo Blocking deployment of %ProductName% on %RemoteMachineName%
REG ADD "\\%RemoteMachine%\%REGBlockKey%" /v %REGBlockValue% /t REG_DWORD /d 1 /f
goto End
rem 위의 내용이 IE8의 자동업데이트를 차단하는 레지스트리 추가부분 입니다.

:UnBlock
Echo Unblocking deployment of %ProductName% on %RemoteMachineName%
REG DELETE "\\%RemoteMachine%\%REGBlockKey%" /v %REGBlockValue% /f
goto End
rem 위의 내용이 IE8의 자동업데이트 차단을 해제하는 레지스트리 부분입니다.

:LocalMachine
echo LOCAL!
set Action=%1
set RemoteMachine=.
set RemoteMachineName=the local machine
goto Parse

:Usage
Echo.
Echo This tool can be used to remotely block or unblock the delivery of
Echo %ProductName% via Automatic Updates.
Echo.
Echo ------------------------------------------------------------
Echo Usage:
Echo %0 [machine name] [/B] [/U] [/H]
REM [machine name] [/B|U|H]
Echo B = Block %ProductName% deployment
Echo U = Allow %ProductName% deployment
Echo H = Help
Echo.
Echo To block or unblock installation on the local machine use
Echo period ("." with no quotes) as the machine name
Echo.
Echo Examples:
Echo %0 mymachine /B (blocks delivery on machine "mymachine")
Echo.
Echo %0 /U (unblocks delivery on the local machine)
Echo ------------------------------------------------------------
Echo.

:End


  • 윈도우 Vista 사용자는 IE80Blocker.adm 을 실행하면 됩니다. 설정 방법과 관련된 내용은 아래에 있는 IE80BlockerHelp-GPFilteringDialog.jpg 이미지 파일을 참고하시거나 HTML로 작성된 IE80BlockerHelp.htm 을 참조하시면 되겠습니다. ^^;


자세한 내용은,
이 파일을 참고해주세요. ^^

즐거운 하루 보내세요.
1 ··· 203 204 205 206 207 208 209 ··· 258
블로그 이미지

Email : ihoneymon@gmail.com 안녕하세요, 꿀괴물 입니다. ^^ 멋진 비행을 준비 하는 블로그 입니다. 만능형 인간이 되어 많은 이들에게 인정받고, 즐겁고 행복하게 살기를 간절히 원합니다!! 달콤살벌한 꿀괴물의 좌충우돌 파란만장한 여정을 지켜봐주세요!! ^^

허니몬