HTML 공백 삽입 & 엔티티

프로그래밍/Web 2014. 12. 9. 18:43 Posted by 카레이서

공백 White Space

HTML에서는 공백 처리가 스페이스를 아무리 여러번 쳐도 한번만 인식하기때문에 공백처리하기위해서는 특수한 엔티티(entity)를 사용해야한다.

 

※ 예를들어

 소스코드

 출력결과

 <body>

나는 자랑스러운 태극기 앞에 조국과 민족의...

</body>

 

 <body>

나는                    자랑스러운

태극기 앞에 조국과

민족의...

</body>

 

 

 

 

 

 

 

빨간 공백이 아무리 많아도 엔터를 2번 쳐도 이와 같이 결과는 똑같다.

그래서 엔터와 공백을 넣기 위해서는 다음과 같이 해야 한다.

 

 

 소스코드

 출력결과

 <body>

나는 &nbsp&nbsp&nbsp&nbsp자랑스러운<br />

태극기 앞에 조국과<br />

민족의...

<body>

 

 

 

이와 같이 &nbsp 는 스페이스 와 같고

<br /> 태그는 엔터와 같다.

 

 

 

 자주 쓰는 엔티티(entity)

 기호

 &nbsp

 space

 &lt

 <

 &gt

 >

 &amp

 &

 &quot

  "

 &copy

 

 

 

예제 소스

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title></title>
  <meta name="generator" content="editplus" />
  <meta name="author" content="권성순" />

</head>

<body> 

<!--    Ex02_whitespace.htm

   엔티티 - 미리 약속되어 있는 내용을 출력시 바꿔치기
   &nbsp;  엔티티(Entity)
   &lt; <
   &gt; >
   &amp; &
   &quot; "
   &copy; ⓒ
  -->
  HTML &lt;문서&gt;는 공백&nbsp;&nbsp;처리 방식이 <br /><br />특이합니다.

</body>

</html>

-- 파일 첨부하기 (File Uploading)

우선 문서올리기(또는 편집) 모드로 들어가시면, 하단에 파일 첨부가 있습니다. 이를 클릭하면 첨부파일을 할 수 있습니다.

우선 첨부가능한 파일은 다음과 같습니다. 교우님들의 요청에 따라 확장명을 추가해드립니다. 단 zip, php, sh 등과 같이 보안상 문제를 야기할 수 있는 스크립트의 확장명은 허용이 불가함을 미리 말씀드립니다.

jpg jpeg gif png // 그림 또는 이미지 파일
txt html htm doc // HTML 또는 문서 파일
xls // MS 엑셀 파일
ai // Adobe Illustrator 파일
pdf // Adobe PDF 파일
psd // Adobe Photoshop 파일
swf // Adobe Flash 파일
ppt // MS 프리젠테이션 파일 
hwp // 한컴사의 한글 파일 
mp3 mid // MP3 와 MIDI 파일 (음악 파일)
nwc // 성가대에서 사용하는 악보 음악 파일

파일 첨부는 여러개까지 허용합니다만 한번에 10MB 정도의 파일 첨부가 가능합니다.(설정가능) 그 주요 이유는 본당웹이 사용하는 호스팅 서비스 업체가 허용하는 최대 파일사이즈가 제한되어 있기 때문입니다.

첨부한 모든 파일은 서버의 /files 란 폴더에 저장됩니다. 그러므로 이후 링크를 걸때 반드시 /files/ 라는 식으로 앞에 써주셔야 합니다.

그 이상되는 크기의 파일을 업로드하실 때에는 FTP를 사용합니다.

 

-- 첨부한 파일에 링크걸기

첨부된 파일에 적절한 HTML 링크를 걸어주지 않으면, 화면에 표시되지 않습니다.(편집 모드에서는 첨부파일이 보이실 것입니다.) 그러므로 링크를 걸어주어야 하는데, 파일에 대한 링크는 다음과 같이 해주시면 됩니다.

<a href="/files/파일이름">링크를 걸어줄 내용</a>

권장하지는 않지만 새로운 기본 브라우져 윈도우는 그대로 두고 새 윈도우에 링크를 표시하고 싶을 때가 있습니다. 그럴 때는 다음과 같이 해주시면 됩니다.

<a href="/files/파일이름" target="_blank">링크를 걸어줄 내용</a>
// target="_black" 란 코드를 삽입

이런 식으로 첨부한 파일에 쉽게 링크를 걸어주실 수 있습니다.

Visual Studio 2010 개발 환경 바꾸기

프로그래밍/etc. 2014. 9. 1. 18:01 Posted by 카레이서
비주얼 스튜디오는 각 개발자가 주로 사용하는 언어에 따라서 최적화된(?) 개발 환경을 지원해준다. 그런데 이 부분이 단축키 등의 설정 또한 포함하고 있기 때문에 기존에 C# 개발 설정으로 사용하고 있던 나로써는 C++ 프로그래밍을 하고자 하니 왼쪽에 필요 없는 도구 상자라던가 속성 같은 사용하지 않는 창이 자리를 차지하는 현상이 생겼다.

 

▲ Visual Studio 2010 에서 제공하는 개발 설정들...
 

 

▲ C# 개발 설정 상태로 되어 있는 Visual Studio 2010... 도구 상자와 속성창이 자리를 차지하고 있다.

 최초 이 상태를 바꾸고자 했었을 때는 '대체 변경 옵션이 어디에 있는지'  굉장히 헷갈렸지만 이제는 잘 알지만! 글로 남겨둔다. (누군가 필요한 사람은 보러오겠지..)

 

▲ '도구 - 설정 가져오기 및 내보내기' 메뉴에서 개발 설정을 변경할 수 있다.

 

▲ 모두 다시 설정을 선택하고 다음을 누른다. (기본 설정 모음을 사용하기 위해)

 

▲ 현재 설정된 환경을 저장하고 싶다면 저장해 두도록 한다.

 

▲ 기본 설정 모음에서 변경할 개발 설정을 선택하고 마침.!

 

▲ C++ 개발 설정으로 바뀌어 코드를 쓰는 창이 넓어졌다!

 물론 개발 설정을 바꾸지 않고 그냥 쭉~ 써도 상관은 없겠지만.. 그래도 각각의 언어 특성에 따라 설정된 환경에서 코딩을 한다면 왠지 더 효율적이지 않을까?

 

Visual Studio 6.0 코드를 VS2008로 포팅하면서 발생할 수 있는 문제 중 하나....

형변환 캐스팅 관련 문제인데 상위 버전으로 오면서 캐스팅이 더욱 엄격해지면서 발생한는 문제로 사료됨

일단 에러가 발생한 부분

 

 ON_MESSAGE(LOGGING_LIST, LoggingListBox)

 

이곳의 정의가 이렇게 되어 있다.

 

#define ON_MESSAGE(message, memberFxn) \
 { message, 0, 0, 0, AfxSig_lwl, \
  (AFX_PMSG)(AFX_PMSGW) \
  (static_cast< LRESULT (AFX_MSG_CALL CWnd::*)(WPARAM, LPARAM) > \
  (memberFxn)) },

 

빨간색으로 표시한 저 부분이 문제를 일으키는 부분인데 이전 6.0이전의 버전에서는 메세지 핸들러를 이용해서 변경이 되었으나 2008이상(2005는 사용 안해봐서 잘 모르겠음)부터는 static_cast를 이용해서 변경되면서 이곳이 문제가 된다.

따라서 정의를 수정하지 않고 다음과 같이 수정하면 문제가 해결 가능하다.

 

수정 전 : ON_MESSAGE(LOGGING_LIST, LoggingListBox)

수정 후 : ON_MESSAGE(LOGGING_LIST, (LRESULT(AFX_MSG_CALL CWnd::*)(WPARAM, LPARAM))LoggingListBox)

 

 

참고!( LRESULT )

--> long 타입형으로 win32환경에서 메시지 처리를 마친후 OS에게 신호를 주기 위한것으로 사용함

--> 0을 반환시는 메세지 처리를 알아서 할테니 OS는 더이상 신경쓰지마라! (꼭 그렇지는 않지만 대부분)

 

'프로그래밍 > MFC' 카테고리의 다른 글

[MFC 초급] 디지털시계(+예제파일)  (0) 2014.06.15

MySQL을 설치하고 실행시 아래와 같은에러가 발생했다.

    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

    위 1045 오류는 mysql에 접속하지 못하고, ID / PASSWORD가 다르거나 접근권한이 없을 경우에 발생한다.



※ APM_Setup이 사전에 설치되어 있던 경우에는 사전 패스워드가 apmsetup이다.

 C:\> mysql -u root -p

 Enter Password: apmsetup

 



01. MySQL을 실행한다.

 ① cd ../.. (C드라이브이 최 상위 부분까지 이동한다.)

 ② cd c:Developer\MySQL\MySQL Server 5.5\bin(MySQL 설치 경로의 bin 디렉토리 까지 이동한다.)

 ③ mysql -u root -p mysql (MySQL에 접속한다.)

 ④ Enter password : (비밀번호 설정 전이므로 그냥 Enter를 쳐서 넘어간다.)

 ⑤ mysql이 실행된다.





02.  데이터 베이스를 선택한다.

 mysql> use mysql;

 




03. root 계정의 비밀번호를 변경하기위해 아래 순서대로 입력한

 ① update user set password=PASSWORD('비밀번호') where user='root';

 ② FLUSH PRIVILEGES;

 ③ GRANT ALL ON *.* TO 'root'@'localhost' IDENTIFIED BY '비밀번호' WITH GRANT OPTION;

 ④ FLUSH PRIVILEGES;

 ⑤ exit




04. root 계정의 패스워드가 변경되었다면 이제 MySQL을 재시작 하기위해

     MySQL 설치 경로의 bin 폴더까지 이동한다.




05. 다음과 같이 입력하여 MySQL을 종료 한다.

 mysqladmin -u root -p shutdown

 




06. 다음과 같이 입력하여 MySQL을 재시작 한다.

 mysqladmin -u root -p reload

 




07. 이제 정상적으로 mysql에 접속되는 것을 확인 할 수 있다.


'프로그래밍 > Web' 카테고리의 다른 글

HTML 공백 삽입 & 엔티티  (0) 2014.12.09
파일 첨부(Upload) 와 첨부된 파일에 링크걸기  (0) 2014.12.09

[MFC 초급] 디지털시계(+예제파일)

프로그래밍/MFC 2014. 6. 15. 01:07 Posted by 카레이서

Practice3_2 워크스페이스 설명- 디지털 시계

 - Miscrosoft Visual C++
- SDI기반

 - 사용 클래스
  BOOL 클래스 사용_MFC 레퍼런스 파일 참조

 - 사용 이벤트 메세지
  WM_TIMER
  WM_RBUTTONDOWN
  WM_LBUTTONDOWN

 - SetTimer() 함수 사용_MFC 레퍼런스 파일 참조
- AfxMessageBox() 사용(메세지 박스)

- BOOL m_bTimerRun 변수 사용(타이머 동작 체크 변수)