반응형

오늘부터 제가 자주 사용하는 마크다운 문법 위주로 중리를 시작 합니다. ^^

Index
- 문서내부 링크
- 글자 색 바꾸기

문서 내부에 링크 걸기

[이동 위치 링크](#testid) <= 누르면 "이동 위치"로 이동 합니다.

<div id="testid">이동 위치</div>

위와 같이 사용하면 문서내에 링크를 걸 수 있습니다.

글자 색 바꾸기

사실 마크다운에서 글자 색 바꾸는 기능을 지원하지는 않습니다. 위와 마찬가지고 HTML 문법을 사용하는게
현재로서는 유일한 방법인것 같습니다. (2020.09.17)


<span style="color:blue">테스트 텍스트</span>

실제 실행
테스트 텍스트

반응형

Index


- 단락 - p
- 줄바꿈 - br
- 이미지 - img
- 표 - table
- Link (현재 페이지)

- 주요 Tag

 

단락 - p

<html>
    <head><meta charset="utf-8"></head>
    <body>

<p>HyperText Markup Language, commonly referred to as HTML, is the standard markup language used to create web pages. 
  Along with CSS, and JavaScript, HTML is a cornerstone technology</p>

<p>HTML elements form the building blocks of all websites. HTML allows images and objects to be embedded and can be used to create interactive forms.</p>

<p>The language is written in the form of HTML elements consisting of tags enclosed in angle brackets . Browsers do not display the HTML tags and scripts, but use them to interpret the content of the page.</p>
    </body>
</html>

실제 실행 결과

HyperText Markup Language, commonly referred to as HTML, is the standard markup language used to create web pages. Along with CSS, and JavaScript, HTML is a cornerstone technology

HTML elements form the building blocks of all websites. HTML allows images and objects to be embedded and can be used to create interactive forms.

The language is written in the form of HTML elements consisting of tags enclosed in angle brackets . Browsers do not display the HTML tags and scripts, but use them to interpret the content of the page.

- 줄바꿈 - br

br은 내용이 없는 태그이기 때문에 이 필요 없음.

<html>
<head><meta charset="utf-8"></head>
<body>
한 줄 바꿈<br>
두줄 바꿈<br><br>
끝
</body>
</html>

실행 결과

한 줄 바꿈
두줄 바꿈

 

- 이미지 - img

<html>
<body>
    <img src="/이미지경로" width="200" height="300" alt="이미지 대체 텍스트" title="타이틀(툴팁)">
</body>
</html>
 

- 표 - table

<tr> : Table Row

<td> : Table Data

<html>
<head><meta charset="utf-8"></head>
<body>
<table border="2">
    <tr>
        <td>이름</td>     <td>성별</td>   <td>주소</td>
    </tr>
    <tr>
        <td>최진혁</td>  <td>남</td>      <td >청주</td>
    </tr>
    <tr>
        <td>최유빈</td>  <td>여</td>      <td>청주</td>
    </tr>
</table>
</body>
</html>

실행 결과

 

이름 성별 주소
최진혁 청주
최유빈 청주

- 좀 더 의미론 적으로 구분한 테이블 구조.

  <html>
<head><meta charset="utf-8"></head>
<body>
<table border="2">
    <thead>
        <tr>
            <th>이름</th>     <th>성별</th>   <th>주소</th> <th>회비</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>최진혁</td>  <td>남</td>      <td >청주</td> <td>1000</td>
        </tr>
        <tr>
            <td>최유빈</td>  <td>여</td>      <td>청주</td> <td>500</td>
        </tr>
    </tbody>
    <tfoot>
        <tr>
            <td>합계</td>  <td></td>      <td></td> <td>1500</td>
        </tr>
    </tfoot>
</table>
</body>
</html>

 

 

- Link (현재 페이지)

<a href="#id_test">Top</a>
<div id="id_test">Here is top</div>

위 코드에서 Top을 클릭 하면 페이지 내부에 있는 위치로 이동 하게 된다.

 

반응형

[Save Zip Example]

Sting(Text)를 Zip파일로 저장.

public void SaveFileWithString()
{
  using (var zip = new ZipFile(Encoding.UTF8))
  {
      zip.CompressionLevel = CompressionLevel.BestSpeed;
      //string을 파일로 저장하기 위한 추가.
      string text= "저장할 텍스트";
      zip.AddEntiry("압축파일내 경로", text);
      zip.Save("zip파일 저장 경로")

  }
}

Directory를 Zip파일로 압축 저장.

public void SaveFileWithDirectory(string addDirectory, string saveZipPath)
{
    using (var zip = new ZipFile(Encoding.UTF8))
    {
        zip.AddDirectory(addDirectory, "압축파일내 저장경로");
        zip.Save(saveZipPath);
    }
}

[Load Zip Example]

zip파일 내에 Text파일을 추출 하기.

public void LoadFileWithPath(string loadZipFile, string archiveInPath)
{
    if (!ZipFile.IsZipFile(loadZipFile)) return;

    using (var zip = ZipFile.Read(loadZipFile))
    {
        var filesInZip = zip.SelectEntries("name = *.txt", archiveInPath); // archiveInPath 경로의 모든 파일 .txt 파일을 추출.

        foreach (var zipEntry in filesInZip)
        {
            if(!zipEntry.IsText) continue; //텍스트 파일인 경우만.

            using (var ms = new MemoryStream())
            {
                zipEntry.Extract(ms);
                ms.Seek(0, SeekOrigin.Begin);
                using (var sr = new StreamReader(ms))
                {
                    var resultString = sr.ReadToEnd();//text 파일을 가져온다.
                }
            }

        }
    }
}
반응형

기존에 Lock 키워드를 사용해도 되지만, 좀더 간단한 방법이 있어서 글을 씁니다.

//헤더파일에 정의되어 있는 static 필드
static  Object^ _obj = gcnew Object();;
static bool _openKernel;

//길게 쓰기 싫어서 Using을 합니다.
using namespace System::Threading;
static property bool OpenKernal
{
    bool get()
    {
        return _openKernel;
    }

    void set(bool value)
    {
        Monitor::Enter(obj); //System.Threading에 존재 하는 Monitor, Enter로 락을 겁니다.
        try
        {
            _openKernel = value;
        }
        finally
        {
            Monitor::Exit(obj); //Lock을 해제 합니다.
        }
    }
}

이렇게 해서 Lock을 좀더 간편 하게? 걸어 보았다.

End

'Programing > C++|CLi' 카테고리의 다른 글

C++ Managed , Exception Catch & Handling  (0) 2022.08.23
C++/Cli , Convert String^ , const char* ,string  (0) 2017.06.08

+ Recent posts