728x90
728x90

github pages를 사용하기위해 만들었던, repository 이름 그대로 도메인을 사용해도 되지만, 저는 제가 구입한 도메인을 연결해서 사용하고 싶었습니다.

도메인은 hiio420.com 으로 가비아에서 구입했습니다. https://www.gabia.com/

 

가비아에 로그인 후 My가비아에 들어가면 현재 이용중인 도메인 1개가 있습니다.클릭!

관리로 들어가 줍니다.

관리페이지에 있는 DNS 정보에서 도메인 연결 설정 > 수정으로 들어가 줍니다.

github에서는 CNAME으로 현재 github page 주소를 적어 줍니다. 뒤에 .을 붙여줍니다.

또는

A 에 아이피를 입력해 줍니다.

저는 그냥 다 했습니다.

저장!

 

가비아에서 설정이 끝나면

Gihub repository에서 settings > pages 에 있는 Custom domain에 구입한 도메인을 입력하고 저장해 줍니다.

 

Repository 세팅이 끝나면 gh-pages 브랜치에 반영되는 파일에 CNAME 파일이 필요합니다.

public > CNAME 파일에도 도메인을 작성하고 deploy 해줍니다.

반영!!

https://hiio420.com 

728x90
728x90
https://docs.github.com/ko/pages/getting-started-with-github-pages/creating-a-github-pages-site

 

github pages를 사용하기 위해서는 3가지가 필요합니다.

1. git

2. github repo

3. gh-pages

먼저 https://git-scm.com/downloads 에서 파일을 다운로드 받아 설치해 줍니다.

 

 

 

 

github에 회원가입 후 접속하면 repository를 만들 수 있습니다.

 

New 버튼을 클릭하면 repository 생성 페이지로 이동하게 되고, 필요한 내용을 작성합니다.

github pages를 사용하기 위해서 repository는 <username>.github.io 의 이름을 가져야하고, public으로 만들어줘야 합니다.

 

 

 

 

git 초기화 후 원격 레포지토리를 등록해 줍니다.

git init
git remote add origin "https://github.com/hongsamhc2/hongsamhc2.github.io.git"

gh-pages 를 이용해 배포를 진행하기위해서 설치해 줍니다.

npm install gh-pages --save-dev

package.json 의 scripts 부분에 명령어를 추가해 줍니다.

    "deploy": "gh-pages -d build",
    "predeploy": "npm run build"​

이제 npm run deploy를 실행하면 build 후에 생성된 파일들이 원격 레포지토리 gh-pages 브랜치에 반영되게 됩니다.

 

npm run deploy

github의 settings 탭에서 pages로 들어갑니다.

Branch 섹션에서 gh-pages를 선택하고 save해 줍니다.

 

원격 레포지토리에 코드를 올리고 실제 사이트에 반영되기 위해서는  조금 시간이 필요합니다.

이제 https://hongsamhc2.github.io/ 에 접속하면 build된 코드가 반영된것을 볼 수 있습니다.

728x90
728x90

React 개발환경을 구성하는 방법은 webpack + babel 부터 하나씩 하나씩 하는 방법도 있으나, 그냥 CRA ( create-react-app) 을 해서 리액트 프로젝트에 필요한 부분을 만들어 주자

npx create-react-app <프로젝트명>
https://create-react-app.dev/

공식 사이트로 접속을 하면 필요한 Document들을 보고 따라해 볼 수 있다. 

추가적으로 --template 인자를 통해서 원하는 template 프로젝트를 만들수 있는데, typescript,pwa등등 나는 이번에는 pwa로 한번 포트폴리오 프로젝트를 시작해 보려고 한다.

npx create-react-app <프로젝트명> --template cra-template-pwa
PWA (Progressive Web App) 프로그레시브 웹 앱
웹 앱과 네이티브 앱의 장점을 모두 제공하는 진보된 형태의 웹 애플리케이션 개발
Google I/O 2016에서 처음 소개
오프라인에서 동작설치가 가능쉬운 동기화푸시 알림, 등을 만족해야한다.
출처 - https://developer.mozilla.org/ko/docs/Web/Progressive_web_apps/Introduction

설치가 쭉쭉쭉 되고, 완료되면

위와 같이 디렉토리와 파일들이 생성된 걸 볼 수 있다.

--template cra-template-pwa로 생성된 프로젝트와 기본 cra와 다른점 중 하나는 service-worker 의 유무이다.

pwa에 관련된 포스팅이 아니므로 우선 넘어가기로 하고, 정상적으로 실행이 되는지 npm run start를 해보자.

 

npm run start

정상적으로 잘 실행이 된다 !!! 야호

 

 

728x90
728x90

블로그 작성을 중단한지 엄청 오래 된거 같다. 

직장 생활도 하고 개인적인 시간도 보내고, 공부도 하고 많은 일들이 있었다.

그러다가 문득 블로그를 다시 써봐야한다는 생각이 들었고, 그런김에 포트폴리오 사이트를 리뉴얼하는 제작기를 시작으로 차근차근 하나씩 작성해 보고자 한다.

 

포트폴리오는 React를 통해서 Github Page를 이용해 배포를 하고, 포트폴리오에 들어갈 프로젝트나 시연 Demo를 위한 초간단 서버를 네이버 클라우드를 통해서 배포해보고자 한다.

퀄리티는 어떨지 모르겠지만, 차근히 하나씩 다시 해봐야지 

 

728x90
728x90

  컨텐츠 채우기  

- 이번 포스팅에서는 portfolio 페이지에 들어갈 image 와 text content 내용을 채워 보겠습니다.

- 우선 1개의 content를 채운뒤 나머지 content들을 추가하는 방식으로 진행합니다.

- 아래의 단계별로 진행 해 보겠습니다.

 

  단계  

1. image 추가 

2. text Content 채우기

3. content 태그 추가 

4. CSS 수정

 

 

  1.image 추가  

- subimage 태그 안에 img태그를 추가합니다. 

- 경로는 static > img > portfolio 디렉토리 안에 Trading_predict_price.png 를 지정해 줍니다.

- 대체 문자로는 ' 주식가격예측'을 넣어 줍니다.

        <div class="image">
            <img src="../static/img/portfolio/Trading_predict_price.png" alt="주식가격예측">
        </div>

 

- img 태그의 max-width 값으로 100% 를 지정해 줍니다.

#portfolio > .content > .image > img {
    max-width: 100%;

}

  2. text Content 채우기  

- subtitle / subdescription / sublink 에 들어갈 문구들을 각 태그들의 span 안에 넣어 줍니다.

        <div class="textcontent">
            <div class="subtitle">
                <span>
                    Stock price prediction model
                </span>
            </div>
            <div class="subdescription">
                <span>
                    -The domestic stock price prediction model using Keras and Tensorflow trains RNN and LSTM neural network model with time series data to predict the next price according to period
                </span>
            </div>
            <div class="sublink">
                <span>
                    Link - https://github.com
                </span>
            </div>
        </div>

- link 부분은 우선 임의로 넣어 놨습니다.

- 이부분을 a태그로 감싸 주겠습니다.

                <span>
                   <a href="">
                       Link - https://github.com
                   </a>
                </span>

- 잘 들어 갔네요.

 

  3. content 태그 추가  

- 이제 만들어 놓은 content태그를 복사하여 2개 더 추가 해주고 안에 있는 내용을 수정해 줍니다.

 

    <div class="content">

        <div class="image">
            <img src="../static/img/portfolio/Trading_predict_price.png" alt="주식가격예측">
        </div>
        <div class="textcontent">
            <div class="subtitle">
                <span>
                    Stock price prediction model
                </span>
            </div>
            <div class="subdescription">
                <span>
                    -The domestic stock price prediction model using Keras and Tensorflow trains RNN and LSTM neural network model with time series data to predict the next price according to period
                </span>
            </div>
            <div class="sublink">
                <span>
                    <a href="">
                        Link - https://github.com
                    </a>
                </span>
            </div>
        </div>
    </div>

    <div class="content">

        <div class="image">
            <img src="../static/img/portfolio/oil_price_korea.jpg" alt="국내주요소가격분석">
        </div>
        <div class="textcontent">
            <div class="subtitle">
                <span>
                    Oil price analysis
                </span>
            </div>
            <div class="subdescription">
                <span>
                -Analyzing the status of domestic gas stations and analyzing prices by region, visualization through a map library, receiving and analyzing changes in oil prices as data, and conducting visualization and preparatory work for distribution
                </span>
            </div>
            <div class="sublink">
                <span>
                    <a href="">
                        Link - https://github.com
                    </a>
                </span>
            </div>
        </div>
    </div>

    <div class="content">

        <div class="image">
            <img src="../static/img/portfolio/feature_impotance%20Chart.png" alt="중요특성분석">
        </div>
        <div class="textcontent">
            <div class="subtitle">
                <span>
                    ML model Features Analysis
                </span>
            </div>
            <div class="subdescription">
                <span>
                    -Analysis and visualization of the importance of learning and feature_importances along with the analysis of fearures to learn machine learning and the data set required for learning
                </span>
            </div>
            <div class="sublink">
                <span>
                    <a href="">
                        Link - https://github.com
                    </a>
                </span>
            </div>
        </div>
    </div>

- 내용은 잘 들어 갔지만 , 컨텐츠들이 정렬 되지 않았습니다.

- CSS를 몇가지 수정하고 정렬시켜야 합니다.

 

  4. CSS 수정  

- 우선 content들을 정렬 시켜 보겠습니다.

- 정렬이 되지 않은 이유는 content의 높이가 자식 태그들의 높이들 만큼 반영 되지 않았습니다.

- image 와 textcontent가 float값이 지정 되어 있기 때문에 붕 떠있는 상태와 같습니다.

- 해결방법은 몇가지가 있지만 저는 image와 textcontent의 부모 태그인 content태그에 float 값으로 left를 주어서 해결하겠습니다.

 

#portfolio > .content {
    float: left;
    margin-top: 50px;
    width: 1240px;
}

- 이제 잘 정렬 되엇습니다.

- 다음으로 image 부분과 sidebar 부분에 간격을 60px만큼 주겠습니다.

- margin-left 값으로 60px만큼 지정하고 textcontent의 width 값을 60px만큼 감소 시킨 680px로 수정합니다.

#portfolio > .content > .image {
    float: left;
    width: 500px;
    margin-left: 60px;
}

#portfolio > .content > .textcontent {
    float: left;
    width: 680px;
}

 

- 잘 만들어 졌습니다!!

- Js 나 서버 측에서 작업물의 개수만큼 자동으로 content를 만들어 보여주면 좋을것 같습니다.

- 위와 같은 기능들은 우선 페이지들의 레이아웃을 완성 시킨 후 진행해 보도록 하겠습니다.

- 다음 포스팅에서는 마지막 페이지인 contact 페이지를 진행해 보겠습니다.

728x90
728x90
728x90

+ Recent posts