기본 콘텐츠로 건너뛰기

HTML의 기초 강좌 1. HTML 파일을 만들어보자!

HTML의 기초

HTML을 업무용으로 사용하기 위한 기초부터 시작을 하려고 합니다. HTML이란 Hyper Text Markup Language의 약자로 WWW의 초기부터 인터넷 상에 정보를 보다 간단하게 표시하기 위한 규약으로 자리 잡았습니다.

시작하기 전에

HTML 편집 툴은 다양하게 있고 심지어는 윈도우의 메모장 등 기초적인 텍스트 편집기만 있으면 편집이 가능합니다.

하지만 여기서는 프로젝트로서 서버와의 연동까지 생각해서 만들고 있으므로 github 프로젝트와 같이 하는 것으로 하겠습니다.

아래 사이트에서 편집기인 Visual Studio Code(무료) 및 Git for windows(무료)를 다운 받으시기 바랍니다.

Git for Windows는 설치시에 물어보는게 많은데 그냥 디폴트로 다음다음 넘어가도 문제가 없습니다. 상세 선택은 고급 사용자가 하는 걸로 ...

편집기의 기초

vscode를 설치하면 아래와 같은 화면이 뜹니다.

vscode-start

일반적으로 프로젝트 단위로 열곤 하는데 저의 경우는 다양한 프로젝트를 일괄 관리를 하다보니 project라는 폴더를 만들고 하위에 각각 git에서 다운 받은 레포지터리가 있고 vscode에서는 상위 폴더인 project 폴더를 열어서 크로스 프로젝트로 관리하고 있습니다.

이건 얼마나 프로젝트끼리 연동해서 사용하느냐에 따라 다르기 때문에 좋아하는 형태로 열어서 사용하시기 바랍니다.

github에서 프로젝트를 만들자

Github(https://github.com) 에 가입하는 것은 생략하겠습니다.

github에 로그인을 한 뒤에 오른쪽 위의 자기 프로필 사진 아이콘 옆에 + 를 눌러 나오는 메뉴에서 Create Repository를 선택하여 레포지터리를 만듭니다.

레포지터리가 생성이 되었으면 레포지터리 홈에서 URL을 복사합니다.

그리고 vscode에서 clone repository 링크를 클릭해서 나온 입력창에 붙여넣기를 합니다.

github-clone repository

이렇게 하면 바로 서버에서 하드 디스크로 내려 받아서 작업이 가능하게 됩니다.

폴더 위치를 정리하고 싶다면 왼쪽의 레포지터리 이름에 오른쪽 버튼을 누른 뒤에 Reveal in File Explorer 를 선택해서 파일 위치가 표시되면 vscode를 닫고 폴더채로 이동 후에 vscode를 다시 열면 변경된 디렉토리에서 작업이 가능합니다. (vscode를 닫지 않으면 vscode에서 디렉토리를 lock걸고 있기 때문에 이동이 안됩니다.)

이렇게 작업 준비가 끝났으면 본격적으로 시작을 해봅시다!

기본 형식

vscode의 레포지터리 이름에 오른쪽 버튼을 눌러 New File을 선택, index.html이라고 적습니다. 그리고 오른쪽에 빈 화면이 뜨면 거기에 아래 내용을 입력후 ctrl + s로 저장을 합니다.

<html>
  <head> 여기쓰면 탭에 표시되요. </head>
  <body>
    요기가 내용이지요.
  </body>
</html>

이런 형식으로 <> 에서 시작해서 </> 로 끝나게 하는 태그 형식으로 HTML이라고 합니다.

에디터 또는 메모장에서 위 내용을 입력하고 html이라는 확장자로 저장한 뒤 더블클릭 하면 브라우저에서 표시 됩니다.

공부를 위해서는 먼저 평소에 하는 메모를 HTML로 적어보는 연습을 하는 것이 중요합니다.

그리고 그 HTML을 휴대폰 등에서 보면서 수정해 나가면 충분히 빠른 시간내에 숙지하게 됩니다. ^^

<BR> - 줄바꿈

HTML 파일에 메모를 하다보면 줄바꿈이 안되는 것을 볼 수 있습니다. 소스에서는 줄바꿈이 되어도 브라우저에서는 줄바꿈 표시가 되지 않죠.

줄바꿈을 하고 싶은 곳에 <BR> 이라고 입력해보세요. 그 위치가 줄바꿈이 된 것이 보일 겁니다.

이렇게 HTML은 특수 문자코드나 기호는 직접 입력을 못하기 때문에 여러가지 표현을 사용하게 됩니다.

<A> - 링크

내용을 적다보면 특정 문자를 클릭하면 관련 파일 또는 URL, Google Drive file, Chat등으로 이동을 시키고 싶을 겁니다.

그럴 때 사용하는 것이 <A> 태그 입니다.

<a href="https://giipasp.azurewebsites.net/"> giip 홈페이지 </a>입니다.

이렇게 입력하면 giip 홈페이지 라는 부분만 색깔이 바뀌어 있을 겁니다. 이게 링크 태그이구요, href안에 google drive의 링크를 넣는다거나 line 챗방의 링크를 따서 넣으면 모바일 유저는 라인 메신저를 바로 열 수도 있습니다.

활용도는 상상하는 만큼 자유롭게 사용할 수 있습니다!

마우스 오버 옵션을 위한 alt 등의 속성들도 있고 다양하지만, 이번에는 초심자용이므로 가볍게 이 정도만 설명합니다.

vscode에서 github에 업로드

vscode는 github 연동을 지원하기 때문에 github 연동 부분을 클릭해서 바로 연동시킬 수 있습니다.

아래 이미지에서 왼쪽의 1이라고 표시된 github마크를 클릭하면 수정된 내용이 확인 됩니다. 1이란 숫자는 1개의 파일이 수정되었다는 표시 입니다.

github-commit01

두 번째 빨간 박스 안에 수정 내용을 기입(나중에 디버그하거나 팀 프로젝트시에 중요하니 입력하는 버릇을 들여야 합니다!)하고 ctrl + enter를 입력하면 commit이 됩니다.

commit은 어디까지고 소스에 덮어쓰기 완료.. 까지 이므로 서버에 올리는 작업을 해야 합니다.

commit이 되면 아래 이미지 처럼 동기화가 필요한 파일 갯수가 표시됩니다. 그 숫자나 숫자 왼쪽의 동기화 마크를 클릭하면 서버에서 동기화가 완료 됩니다.

github-commit01

동기가 완료 된 것은 github의 자신의 레포지터리에서 확인할 수 있습니다.





계속 추가해서 업데이트 하겠습니다. ^^


giip :: Free mixed RPA orchestration tool! 


댓글

이 블로그의 인기 게시물

Alter table 에서 modify 와 change 의 차이 :: SQL Server

두 개의 차이를 모르는 경우가 많아서 정리합니다.  modify는 필드의 속성값을 바꿀때 사용하구요.. change는 필드명을 바꿀떄 사용합니다.  alter table tbbs modify bNote varchar(2000) NULL; alter table tbbs change bNoteOrg bNoteNew varchar(2000) NULL; change에는 원래 필드와 바꾸고 싶은 필드명을 넣어서 필드명을 바꾸는 것이죠~ 더 많은 SQL Server 팁을 보려면  https://github.com/LowyShin/KnowledgeBase/tree/master/wiki/SQL-Server giip :: Control all Robots and Devices! Free inter-RPA orchestration tool! https://giipasp.azurewebsites.net/

책에서는 안 알려주는 대규모 트래픽을 위한 설계

음성 버전 :  https://www.youtube.com/watch?v=ZZlW6diG_XM 대규모 트래픽을 커버하는 첫 페이지 만드는 법..  보통 DB를 연결할 때 대규모 설계는 어떻게 하시나요?  잘 만들었다는 전제 하에 동접 3000명 이하는  어떤 DBMS를 사용해도 문제 없이 돌아갑니다.  여기서 이미 터졌다면 이 콘텐츠를 보기 전에 DB의 기초부터 보셔야 합니다.  아.. 개발 코드가 터졌다구요? 그럼 개발자를 때리셔야지요..  만약 3000명을 넘겼다면? 이제 Write/Read를 분리해서  1 CRUD + n개의 READ Replica를 만들겠죠?  보통 Read Replica는 5개가 최대라고 보시면 됩니다.  누가 연구한 자료가 있었는데...  6번째 레플리카를 만든느 순간 마스터가 되는 서버의 효율 저하 때문에  5번째에서 6번쨰로 올릴때의 성능이 급격히 줄어든다는 연구 결과가 있습니다.  때문에 Azure에서도 replica설정할 때 5대까지 밖에 설정 못하게 되어 있지요.  유저의 행동 패턴에 따라 다르긴 하지만,  1 CRUD + 5 Read Replica의 경우 동접 15000명 정도는 커버 합니다.  즉, 동접 15000명 에서 다시 터져서 저를 부르는 경우가 많지요..  이 때부터는  회원 DB, 게시판DB, 서비스DB, 과금 DB 등등 으로 성격, 서로의 연관도에 따라 나누기 시작합니다.  물리적으로 DB가 나눠지면 Join을 못하거나 Linked Table또는 LinkDB등의 연결자를 이용해서 JOIN이 되기도 합니다.  그에 따라 성능 차이가 생기지만 가장 중요한 포인트는  서로 다른 물리적 테이블의 JOIN은 인덱스를 타지 않는다!  라는 것입니다. 즉, JOIN할 테이블들을 최소한으로 만든 뒤에 JOIN을 걸지 않으면 NoSQ...

BI의 궁극판! Apache Drill을 써보자!

사실 Apache Drill 은 BI(Business Intelligence)라고 부르는 것 보다는 단순 데이터 연결 엔진이다. https://drill.apache.org/ 하지만 내가 왜 극찬을 하느냐면.. DBA로서 항상 문제가 되어왔던게, 이기종 데이터의 변환이나 처리였다. 포맷을 맞추는데 엄청난 시간이 걸리고, 데이터 임포트 실패가 무수하게 나고.. 한 번 잘못 데이터를 추출하면 다시 조정, 변환, 추출하는데 시간이 많이 걸린다. 그런데! Apache Drill은 그냥 RDB를 CSV랑 연결해서 조인해서 통계를 낼 수 있다. 그것도 표준 SQL을 사용하여! 예를 들어, CSV의 세 번째 컬럼이 price 이고, 물건의 판매이력을 PG사에서 CSV로 출력 받았다. 우리 DB와의 검증을 위해서는 수동으로 Import를 한 뒤에 포맷이 안맞아 잘리는 데이터가 있다면 다시 맞춰주고, 재 임포트를 수십 번, 그리고 나서 겨우 들어간 데이터를 조인하여 빠진 데이터를 분간한다. 숫자가 적다면 개발자가 개발로 처리할 수도 있지만, 건수가 하루에 300만건 짜리라면.. 한 달 온 파일은 9천만 건이다. 프로그램으로 고작 처리하는 것이 초당 500건. 거의 20만초, 에러 없이 약 56시간.. 에러가 생기면 다시 56시간.. ㅠㅡㅠ 이런게 현실이기 때문에 쿼리 말고는 방법이 없다. apache drill 의 진면목을 보자! 이번에는 좀 범용 적인 MySQL DB와 붙여 보자. . 난 이번에는 Mac에서 작업을 했기 때문에 그냥 다운 받아서 풀었음.. https://drill.apache.org/download/ 여기서 자기 OS에 맞는 버전을 받아서 설치하시길.. 압축을 풀고 나면 MySQL 커넥터를 붙여야 한다. https://dev.mysql.com/downloads/connector/j/5.1.html 여기서 다운로드 이런 커넥터 들을 붙일 때마다 콘피그를 수정해 줘야 하지만, 몇 번만...