<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>white-sheep.log</title>
        <link>https://velog.io/</link>
        <description></description>
        <lastBuildDate>Thu, 10 Aug 2023 10:41:33 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <copyright>Copyright (C) 2019. white-sheep.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/cozy-hwan" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[MAC 로컬 환경에서 AWS EC2 접속하기]]></title>
            <link>https://velog.io/@cozy-hwan/MAC-%EB%A1%9C%EC%BB%AC-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C-AWS-EC2-%EC%A0%91%EC%86%8D%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@cozy-hwan/MAC-%EB%A1%9C%EC%BB%AC-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C-AWS-EC2-%EC%A0%91%EC%86%8D%ED%95%98%EA%B8%B0</guid>
            <pubDate>Thu, 10 Aug 2023 10:41:33 GMT</pubDate>
            <description><![CDATA[<ul>
<li><ol>
<li>EC2 서버에 접속하기</li>
</ol>
</li>
<li><ol start="2">
<li>pem 파일 권한 설정하기</li>
</ol>
</li>
<li><ol start="3">
<li>SSH로 EC2 접속하기</li>
</ol>
</li>
</ul>
<h2 id="1-ec2-서버에-접속하기">1. EC2 서버에 접속하기</h2>
<p><strong>MAC 환경</strong> </p>
<ol>
<li>터미널 환경에서 SSH가 저장된 폴더 경로로 이동합니다.</li>
</ol>
<p><img src="https://velog.velcdn.com/images/cozy-hwan/post/0bb37981-4915-415b-ad50-eeb9706b1e95/image.jpg" alt=""></p>
<h2 id="2-pem-파일-권한-설정하기">2. pem 파일 권한 설정하기</h2>
<ol>
<li><code>my-key.pem</code> 프라이빗 키 파일을 찾습니다. </li>
<li>프라이빗 키에 리눅스 명령어 권한을 설정합니다.<pre><code>  chmod 700 my-key.pem</code></pre></li>
</ol>
<h2 id="3-ssh로-ec2-접속하기">3. SSH로 EC2 접속하기</h2>
<ol>
<li><p>AWS EC2 인스턴스의 IPv4 주소 또는 퍼블릭 DNS를 확인합니다.
<img src="https://velog.velcdn.com/images/cozy-hwan/post/12f2b139-68ae-4ee8-bd16-f094d57371a3/image.jpg" alt=""></p>
</li>
<li><p>터미널에서 명령어를 입력합니다.</p>
<pre><code class="language-shell">ssh -i &quot;key이름&quot; ubuntu@&quot;IPv4주소&quot;</code></pre>
</li>
<li><p>터미널에 접속합니다.
<img src="https://velog.velcdn.com/images/cozy-hwan/post/88646bdc-9ea1-48ca-8656-ed133da2826a/image.jpg" alt=""></p>
</li>
<li><p>EC2 서버에 접속합니다.
<img src="https://velog.velcdn.com/images/cozy-hwan/post/1b8e3a6a-f727-4c7e-98f5-6edd5627da19/image.jpg" alt=""></p>
</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS CLI 설치 및 등록해보자]]></title>
            <link>https://velog.io/@cozy-hwan/AWS-CLI-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EB%93%B1%EB%A1%9D%ED%95%B4%EB%B3%B4%EC%9E%90</link>
            <guid>https://velog.io/@cozy-hwan/AWS-CLI-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EB%93%B1%EB%A1%9D%ED%95%B4%EB%B3%B4%EC%9E%90</guid>
            <pubDate>Sat, 05 Aug 2023 14:14:25 GMT</pubDate>
            <description><![CDATA[<ul>
<li><ol>
<li>AWS CLI(Command Line)이란?</li>
</ol>
</li>
<li><ol start="2">
<li>AWS CLI 설치 방법</li>
</ol>
</li>
<li><ol start="3">
<li>AWS CLI 자격 증명 인증 방법</li>
</ol>
</li>
</ul>
<h2 id="1-aws-clicommand-line이란">1. AWS CLI(Command Line)이란?</h2>
<p><strong>AWS Command Line Interface</strong>(<code>AWS CLI</code>)는 AWS 서비스를 관리하는 통합 도구입니다. 
AWS CLI는 로컬 터미널에 명령줄로 aws 서비스를 이용하는것과 같습니다.
개발자들은 CLI를 사용하여 직접 클라우드 서비스들을 생성, 설정, 수정, 삭제할 수 있습니다.</p>
<h2 id="2-aws-cli-설치-방법">2. AWS CLI 설치 방법</h2>
<p>Mac OS 환경에서는 Homebrew를 사용해서 명령어로 간단히 설치가 가능합니다.</p>
<pre><code class="language-shell">brew install awscli //awscli 설치방법

which aws //현재 설치 경로

aws --version //aws 버전 확인</code></pre>
<h2 id="3-aws-cli-자격-증명-인증-방법">3. AWS CLI 자격 증명 인증 방법</h2>
<p>CLI 설치가 완료되면 AWS 계정의 IAM 사용자를 이용하여 설정해야 합니다.
AWS 계정에서 IAM 사용자의 <code>AWS Access Key ID</code>와 <code>AWS Secret Access Key</code>가 필요합니다.</p>
<ol>
<li>AWS 홈페이지에 접속합니다. 
<img src="https://velog.velcdn.com/images/cozy-hwan/post/570376ed-2526-421a-8548-4625e61eaeb0/image.jpg" alt=""></li>
</ol>
<ol start="2">
<li>AWS IAM 대시보드에 내 보안 자격 증명 페이지로 이동합니다.
<img src="https://velog.velcdn.com/images/cozy-hwan/post/f8e6e5a8-885e-4ecb-8000-9c71dcc0bc78/image.jpg" alt=""></li>
</ol>
<ol start="3">
<li>대시 보드에 <strong>액세스 관리자</strong> 내에 <strong>사용자</strong>로 이동합니다.
<img src="https://velog.velcdn.com/images/cozy-hwan/post/2e6999d1-093a-4d3f-8e27-46f1bc00da85/image.jpg" alt=""></li>
</ol>
<ol start="4">
<li><p>사용자 내에 <strong>생성된 사용자</strong>를 클릭합니다.
<img src="https://velog.velcdn.com/images/cozy-hwan/post/98583371-e2f4-413a-857b-9851f3cd3326/image.jpg" alt=""></p>
</li>
<li><p><strong>보안 자격 증명</strong> 탭을 클릭 한 후 액세스 키에 <strong>액세스 키 만들기</strong> 버튼을 클릭합니다.
<img src="https://velog.velcdn.com/images/cozy-hwan/post/1cb388ee-e632-4658-9366-84738f8f17cf/image.jpg" alt=""></p>
</li>
<li><p>CLI(<code>Command Line Interface</code>) 버튼을 클릭하고 다음으로 넘어갑니다.
<img src="https://velog.velcdn.com/images/cozy-hwan/post/272a7e3b-6b4a-493f-8106-a90d6fca0dd7/image.jpg" alt=""></p>
</li>
</ol>
<ol start="7">
<li>설명 태그에 이름을 설정 한 후 <code>AWS Access Key ID</code>와 <code>AWS Secret Access Key</code> 이 제공됩니다.
 <img src="https://velog.velcdn.com/images/cozy-hwan/post/aa5d3e01-6736-48bd-8081-8dc191453e4b/image.jpg" alt=""></li>
</ol>
<blockquote>
<p>AWS Secret Access Key는 따로 저장을 해야 합니다. csv파일 혹은 자신만의 메모장에 기록해둡니다.</p>
</blockquote>
<p>AWS Access Key ID<code>와</code>AWS Secret Access Key 값을 복사하여 CLI에 값을 불여 넣으면 성공적으로 설정이 완료가 됩니다.</p>
<pre><code class="language-shell">$ aws configure
AWS Access Key [Access Key ID]:
AWS Secret Access Key [Secret Access Key]:
Default region name [ap-northeast-2]:
Default output format []:</code></pre>
<h2 id="참고">참고</h2>
<ul>
<li><a href="https://www.thelambdablog.com/a-concise-guide-to-setting-up-the-aws-command-line-libraries-on-your-local-development-environment/">A concise guide to setting up the AWS command-line libraries on your local development environment</a></li>
<li><a href="https://inpa.tistory.com/entry/AWS-%F0%9F%93%9A-AWS-CLI-%EC%84%A4%EC%B9%98-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%89%BD%EA%B3%A0-%EB%B9%A0%EB%A5%B4%EA%B2%8C%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%89%BD%EA%B3%A0-%EB%B9%A0%EB%A5%B4%EA%B2%8C">[AWS] 📚 AWS CLI 설치 &amp; 등록 방법 - 쉽고 빠르게 설명</a></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[만들면서 배우는 클린 아키텍처]]></title>
            <link>https://velog.io/@cozy-hwan/%EB%A7%8C%EB%93%A4%EB%A9%B4%EC%84%9C-%EB%B0%B0%EC%9A%B0%EB%8A%94-%ED%81%B4%EB%A6%B0-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98</link>
            <guid>https://velog.io/@cozy-hwan/%EB%A7%8C%EB%93%A4%EB%A9%B4%EC%84%9C-%EB%B0%B0%EC%9A%B0%EB%8A%94-%ED%81%B4%EB%A6%B0-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98</guid>
            <pubDate>Mon, 31 Jul 2023 15:14:04 GMT</pubDate>
            <description><![CDATA[<p>“만들면서 배우는 클린 아키텍처” 이 책은 전통적인 계층형 아키텍처 스타일을 단점을 지적하고 도메인 중심 아키텍처의 장점을 설명하는 책입니다. 도메인 중심 아키텍처를 어떻게 구현하는지 실습을 보여주고 다양한 계층 간 매핑 전략과 아키텍처의 요소들을 어떻게 애플리케이션에 녹여낼지에 대해서 책을 통해 배울 수 있습니다.</p>
<p>저자인 톰 홈버그는 자바 생태계에서 소프트웨어 개발자, 아키텍트 멘토로 일하면서 소프트웨어 프로젝트에서 마주했던 주제들에 대해서 깊이 파고들고 이 책을 통해서 아키텍처 스타일에 대해서 소개합니다.</p>
<p>이 책의 전반적인 내용은 기존 계층형 아키텍처의 문제점에 대해서 설명합니다. 문제점은 계층형 아키텍처는 데이터베이스 주도 설계에 있다고 합니다.</p>
<p>도메인 주도 설계에는 주체가 도메인의 행동으로 모델링이 되어야 하는데 데이터베이스에 의존하게 되면 비즈니스 관점에서는 전혀 맞지 않은 방법입니다. 따라서 로직을 제대로 이해하기 어렵습니다.</p>
<p>데이터베이스 중심 아키텍처가 만들어지는 주원인은 ORM(object-relational-mapping) 프레임 워크를 사용하는데 이서 비롯됩니다.</p>
<p>ORM에 의해서 엔티티들이 영속성 계층에서 관리가 되고 영속성 계층과 도메인 계층 사이의 강한 결합이 생깁니다. 영속성 코드가 도메인 코드에 녹아들어 가면서 유연하고 선택의 폭을 높여주는 계층형 아키텍처의 목표와 정반대 되는 상황이 됩니다.</p>
<p>계층형 아키텍처의 문제점을 지적하고 이를 해결하는 방법 중 헥사고날 아키텍처(=육각형 아키텍처)에 대해서 설명합니다. 헥사고날 아키텍처가 기존 아키텍처의 문제점을 어떻게 해결하고 도메인 중심 아키텍처에 필요한 요소들과 각 계층 간에 매핑 전략을 설명합니다.</p>
<p>백엔드 개발에서는 클린 아키텍처 구조를 어느 정도 정형화 되어 있는 거 같습니다. 이전에는 MyBatis 같은 SQL 매퍼 프레임워크를 사용했지만 현재는 JPA 와 같은 ORM를 많이 사용합니다. 사실 JPA가 좀 더 도메인 중심의 설계에 맞게 사용하기 위해서 사용하는 걸로 알고 있었는데 이 책에서는 ORM이 데이터베이스 중심 아키텍처를 만드는 원인 중 하나라고 말을 해서 놀랐습니다. 그 문제는 설계 단계에서 비즈니스 관점으로 생각하기보다는 먼저 데이터베이스 테이블 설계 중심으로 생각해서 이런 문제점이 생긴 거 같습니다.</p>
<p>이 책을 읽으면서 도메인 중심 설계는 도메인의 행동 바탕으로 설계가 되어야 한다는 것을 알게 되었습니다.</p>
<p>앞으로도 이 점을 유의하면서 도메인 중심 설계 아키텍처를 해봐야겠다는 생각이 들었습니다.</p>
<p>저자는 도메인 중심 설계 아키텍처를 어떻게 해야 하는지 이 책을 통해서 설명합니다. DDD(도메인 주도 개발)에 관심이 많은 분들은 이 책을 읽어보시고 개인 프로젝트에서도 한 번쯤 시도해 보면 좋을 것 같습니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[한 권으로 읽는 컴퓨터 구조와 프로그래밍]]></title>
            <link>https://velog.io/@cozy-hwan/%ED%95%9C-%EA%B6%8C%EC%9C%BC%EB%A1%9C-%EC%9D%BD%EB%8A%94-%EC%BB%B4%ED%93%A8%ED%84%B0-%EA%B5%AC%EC%A1%B0%EC%99%80-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D</link>
            <guid>https://velog.io/@cozy-hwan/%ED%95%9C-%EA%B6%8C%EC%9C%BC%EB%A1%9C-%EC%9D%BD%EB%8A%94-%EC%BB%B4%ED%93%A8%ED%84%B0-%EA%B5%AC%EC%A1%B0%EC%99%80-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D</guid>
            <pubDate>Mon, 31 Jul 2023 15:13:15 GMT</pubDate>
            <description><![CDATA[<p>“한 권으로 읽는 컴퓨터 구조와 프로그래밍” 은 컴퓨터 구조와 프로그래밍에 대해 설명하는 책으로, 저자인 조너선 스타인하트가 중학교 때부터 하드웨어 설계를 시작하여 고등학교 때 소프트웨어 설계 경험을 쌓고 벨 연구소에서 일했다는 배경을 갖고 있습니다.</p>
<p>책은 컴퓨터 과학의 개요를 다루며, 시스템 프로그래밍과 논리 설계 사이에 위치한 컴퓨터 하드웨어를 주제로 다룹니다. 책은 세 부분으로 나누어져 있으며, 첫 번째 부분에서는 컴퓨터 하드웨어에 대해 다룹니다. 하드웨어의 개념과 제작 과정에 대해 살펴보고, 두 번째로는 하드웨어에서 소프트웨어가 어떻게 동작하는지를 설명합니다. 마지막으로 세 번째 부분에서는 프로그래밍 기술을 다룹니다.</p>
<p>책은 설명이 간결하게 이루어져 있어서 상세한 세부 사항은 다루지 않으며, 주요 내용에 초점을 맞추고 있습니다. 그럼에도 불구하고, 책은 컴퓨터의 깊은 지식을 알려주어 매우 가치 있는 내용입니다. 이러한 지식을 기반으로 프로그래밍을 진행하면 좀 더 품질 높은 코드를 작성할 수 있을 것으로 기대됩니다.</p>
<p>“한 권으로 읽는 컴퓨터 구조와 프로그래밍”은 컴퓨터 과학에 대한 기본 개념과 원리를 소개하는데 탁월한 도움을 줄 것입니다. 컴퓨터에 대한 이해를 바탕으로 프로그래밍을 하면서 컴퓨터 구조에 대해 생각한다면, 보다 효율적이고 최적화된 코드를 작성할 수 있을 것입니다.</p>
<p>이 책은 깊은 내용을 다루고 있고, 컴퓨터 구조와 프로그래밍에 관심 있는 독자에게 매우 유익할 것입니다.</p>
<h2 id="참고">참고</h2>
<ul>
<li><a href="https://www.aladin.co.kr/shop/wproduct.aspx?start=short&amp;ItemId=268444562">한 권으로 읽는 컴퓨터 구조와 프로그래밍 — 조너선 스타인하트</a></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[제 1정규형(1NF)]]></title>
            <link>https://velog.io/@cozy-hwan/%EC%A0%9C-1%EC%A0%95%EA%B7%9C%ED%98%951NF</link>
            <guid>https://velog.io/@cozy-hwan/%EC%A0%9C-1%EC%A0%95%EA%B7%9C%ED%98%951NF</guid>
            <pubDate>Sun, 30 Jul 2023 04:46:48 GMT</pubDate>
            <description><![CDATA[<h2 id="제-1정규형이란">제 1정규형이란?</h2>
<p>제 1형규형(<code>1NF</code>)의 조건은 <code>릴레이션이어야 할 것</code>이다.</p>
<p>릴레이션이 1NF가 되기 위한 조건은 다음과 같습니다.</p>
<ol>
<li>행이 위에서 아래로 정렬돼 있지 않아야 한다.</li>
<li>열이 왼쪽에서 오른쪽으로 정렬돼 있지 않아야 한다.</li>
<li>중복하는 행이 존재하지 않아야 한다.</li>
<li>각 행과 열의 교착점은 도메인에 속하는 요소의 값을 딱 한 개만 가져야 한다.</li>
<li>모든 열의 값은 정의된 것이어야 하고 각 행은 항상 존재해야한다.</li>
</ol>
<h2 id="칼럼열이나-행로우의-순서">칼럼(열)이나 행(로우)의 순서</h2>
<p>1NF에 조건에 충족을 하려면 1과 2의 해당하는 부분이 정렬이 되어 있어야 한다.
SQL의 사양으로는 테이블의 칼럼은 순서가 존재한다. 이를 해결하기 위해서 칼럼이나 행의 위치에 의존하는 쿼리를 작성하지 않는다.</p>
<p>칼럼의 순서에 의존하는 처리 하는 방법은 다음과 같습니다.</p>
<ul>
<li><code>SELECT *</code>로 모든 칼럼을 검색하고 응용프로그램이 칼럼의 위치에 따라 데이터를 접근하는 방법</li>
<li><code>ORDER BY</code> 절의 인수로 칼럼의 위치를 지정하는 것</li>
</ul>
<h2 id="중복되는-행을-제거">중복되는 행을 제거</h2>
<p>중복도니 행을 제거하기 위해서 &#39;똑같은 행의 값이 최대 1개 이상 포함되지 않으면 된다&#39;이다의 테이블에 기본키나 유니키처럼 고유성의 제약 조건을 붙입니다.</p>
<p>중요한 것은 저장되는 값이 중복되지 않게 하는 것입니다.
고유성 제약 조건을 걸어도 정규화는 단순하게 중복을 해결할 수 없습니다. 
강조할 부분은 중복하는 행은 반드시 제거해야 합니다.</p>
<h2 id="null이-포함되면-안-된다">NULL이 포함되면 안 된다</h2>
<p>테이블의 모든 행, 모든 칼럼은 구체적인 값을 가져야 합니다. 만약 NULL이 포함돼 있으면 관계형 데이터베이스는 무너집니다.</p>
<p>기존 테이블에 NULL인 칼럼에 NOT NULL 제약 조건을 걸어도 응용프로그램에서는 기본값으로 할당합니다.
테이블을 나눠서 NULL을 해결하는 방법을 선택합니다.</p>
<p>여기서 테이블에 NULL 포함이 되서는 안된다고 생각을 해야 합니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[정규화란 무엇일까?]]></title>
            <link>https://velog.io/@cozy-hwan/%EC%A0%95%EA%B7%9C%ED%99%94%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C</link>
            <guid>https://velog.io/@cozy-hwan/%EC%A0%95%EA%B7%9C%ED%99%94%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C</guid>
            <pubDate>Sun, 30 Jul 2023 04:22:37 GMT</pubDate>
            <description><![CDATA[<p>정규화는 RDB(<code>관계형데이터베이스</code>)를 잘 다루는데 필요한 기술이며, 관계형 모델 기반으로 구축 된 DB설계 이론입니다.</p>
<h2 id="정규화의-이점">정규화의 이점</h2>
<ul>
<li>정규화는 모순을 방지할 수 있습니다.<ul>
<li>모순이란 데이터가 논리적인 불일치가 일어나는 상태를 의미합니다.</li>
<li>모순이 발생하는 살태의 변칙 상황을 방지 할 수 있는 역할을 정규화가 맡고 있습니다.</li>
<li>모순이 발생하는 원인은 중복이다.  중복을 제거하는 작업을 시행하는데 정규화 이론이 도움이 된다.<h2 id="정규형">정규형</h2>
정규형(<code>Normal Form</code>)은 정규화의 단계를 나타내는 것이다.</li>
</ul>
</li>
</ul>
<h3 id="정규형의-종류">정규형의 종류</h3>
<ul>
<li>제1 ~ 6 정규형</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[우리의 창업 도전기 - MVP 기획]]></title>
            <link>https://velog.io/@cozy-hwan/IT-%EC%A4%91%EA%B2%AC-%EC%A4%91%EC%86%8C-%EA%B8%B0%EC%97%85-%EC%B6%94%EC%B2%9C-%EC%84%9C%EB%B9%84%EC%8A%A4-%EC%A0%9C%EC%9E%91%EA%B8%B0</link>
            <guid>https://velog.io/@cozy-hwan/IT-%EC%A4%91%EA%B2%AC-%EC%A4%91%EC%86%8C-%EA%B8%B0%EC%97%85-%EC%B6%94%EC%B2%9C-%EC%84%9C%EB%B9%84%EC%8A%A4-%EC%A0%9C%EC%9E%91%EA%B8%B0</guid>
            <pubDate>Sat, 29 Jul 2023 08:14:46 GMT</pubDate>
            <description><![CDATA[<h1 id="서비스-소개">서비스 소개</h1>
<p>&#39;IT 중견 중소 기업 추천 서비스&#39;는 취업 준비 중인 IT 개발자들을 위한 서비스입니다. 이 서비스는 각 채용 사이트에서 제공되는 회사의 영업 이익, 매출, 코딩 테스트와 과제 유무, 그리고 기술 스택 정보를 분석하여 회사 랭킹을 제공합니다.</p>
<h1 id="배경">배경</h1>
<p>안녕하세요! 저희 서비스는 취업 준비 중인 백엔드 개발자를 대상으로 하고 있습니다. 취업을 준비하면서 Node.js 백엔드 개발을 공부하고 있으며, 이를 활용한 채용 사이트에서 Node.js 관련 기술 스택을 가진 회사를 찾고 있었습니다. 하지만 각 채용 사이트에서 원하는 정보를 한눈에 볼 수 없어서 구글 스프레드시트에 회사 정보를 정리해두고 있었습니다.</p>
<p><img src="https://velog.velcdn.com/images/cozy-hwan/post/f2361f6b-4641-49eb-9539-c045ef97113a/image.jpg" alt=""></p>
<p>최근 유튜버 <strong><a href="https://www.youtube.com/@yangdongjun">양동준 Yang DongJun</a></strong>분께서 <strong>개발 초보자 상담 - 프론트엔드 백엔드</strong> 라이브에 참여하면서 많은 얘기가 오가던 중 정리된 데이터를 보여드렸더니 좋은 아이디어라고 하셨고, 이 데이터를 활용하여 서비스를 만들면 어떨까라는 제안을 받았습니다. 이에 저희 3명이 함께 협력하여 이 서비스를 개발하게 되었습니다.</p>
<h1 id="mvp로-가설-세우기">MVP로 가설 세우기</h1>
<p>이 서비스는 취업 준비 중인 IT 회사 개발자들을 대상으로 하며, 채용 전략 수립에 도움이 되는 서비스를 제공하기 위해 개발하고 있습니다.
취업 준비하는 사용자들이 회사를 선택할 때 고려해야 할 요소들에 대한 정보를 한눈에 제공하여 도움을 드리고자 합니다. 
사용자들에게 좋은 회사란 어떤 회사일지에 대해 고민한 결과, 저는 중소/중견 기업의 도메인이 명확한 회사가 좋은 회사라고 생각합니다. 다른 한 분은 매출/이익이 명확한 회사가 좋은 회사라고 생각하고, 마지막 한 분은 포지션이 잘 구분되어 있고 워라밸이 좋은 회사가 좋은 회사라고 의견을 내놓았습니다.
<img src="https://velog.velcdn.com/images/cozy-hwan/post/f9a86b60-fece-434d-9210-f851855ea8bf/image.jpg" alt=""></p>
<p>각자의 의견을 조합하여, 매출과 이익이 명확하며 도메인이 명확한 회사가 좋은 회사라는 가설을 세우게 되었습니다.</p>
<p><img src="https://velog.velcdn.com/images/cozy-hwan/post/e289acef-310c-42de-a1ea-0a336fecf539/image.jpg" alt=""></p>
<h1 id="mvp-실행하기">MVP 실행하기</h1>
<p>현재 저희는 채용 사이트를 크롤링하여 데이터를 추출하고, Node.js와 Express를 활용하여 서버를 구성하고 있습니다. 
크롤링한 데이터를 바탕으로 웹 프론트엔드를 개발하여 사용자들이 쉽게 정보를 확인할 수 있는 환경을 제공하고자 합니다. 또한 데이터 정확성을 높이기 위해 파인튜닝 기술을 고려하고 있으며, 서비스 규모가 커지면 추가적인 기술적 개선을 고려할 계획입니다.</p>
<p><img src="https://velog.velcdn.com/images/cozy-hwan/post/10096b88-622c-4b64-a476-e91e52b1cbaf/image.jpg" alt=""></p>
<p>관심을 가져주셔서 감사합니다! 현재까지도 개발을 진행하고 있으며, 사용자들에게 유용한 서비스를 제공하기 위해 노력하고 있습니다. 
궁금한 점이 있거나 후원을 희망하신다면 언제든지 문의해주시기 바랍니다. 감사합니다!</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Typescript  개발 환경 설정하기]]></title>
            <link>https://velog.io/@cozy-hwan/Typescript-%ED%99%98%EA%B2%BD-%EC%84%A4%EC%A0%95</link>
            <guid>https://velog.io/@cozy-hwan/Typescript-%ED%99%98%EA%B2%BD-%EC%84%A4%EC%A0%95</guid>
            <pubDate>Fri, 28 Jul 2023 11:40:22 GMT</pubDate>
            <description><![CDATA[<p><strong>tsconfig.json</strong>은 타입스크립트 컴파일러 설정이 담긴 파일입니다. 
<strong>tsconfig.json</strong>을 생성합니다.</p>
<pre><code>npx tsc --init</code></pre><p><strong>tsconfig.json</strong></p>
<pre><code class="language-json">{
  &quot;compilerOptions&quot;: {
    &quot;target&quot;: &quot;es2020&quot;, // target : es2016 -&gt; es2020
    &quot;module&quot;: &quot;esnext&quot;, // module : commonjs -&gt; esnext
    &quot;esModuleInterop&quot;: true,
    &quot;sourceMap&quot;: true,
    &quot;allowJs&quot;: true,
    &quot;lib&quot;: [
      &quot;esnext&quot;,
      &quot;dom&quot;
    ],
    &quot;outDir&quot;: &quot;./dist&quot;,
    &quot;rootDir&quot;: &quot;./src&quot;,
    &quot;moduleResolution&quot;: &quot;node&quot;,
    &quot;strict&quot;: true,
    &quot;useDefineForClassFields&quot;: true,
    &quot;allowSyntheticDefaultImports&quot;: true,
    &quot;isolatedModules&quot;: true,
    // &quot;importsNotUsedAsValues&quot;: &quot;error&quot;,
    &quot;noUncheckedIndexedAccess&quot;: true
  },
  &quot;include&quot;: [
    &quot;src/**/*&quot;
  ]
}
</code></pre>
<h2 id="명령어-실행">명령어 실행</h2>
<pre><code>npx tsc</code></pre><p>typescript 파일을 </p>
<pre><code class="language-typescript">npx ts-node &lt;&lt;파일명.ts&gt;&gt;</code></pre>
<h2 id="참고-사항">참고 사항</h2>
<ul>
<li><a href="https://jjnooys.medium.com/typescript-5-0%EC%9D%98-verbatimmodulesyntax-7ecb36d833bc">https://jjnooys.medium.com/typescript-5-0%EC%9D%98-verbatimmodulesyntax-7ecb36d833bc</a></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[Codesandbox로 JavaScript 환경 구축하기]]></title>
            <link>https://velog.io/@cozy-hwan/Codesandbox%EB%A1%9C-JavaScript-%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@cozy-hwan/Codesandbox%EB%A1%9C-JavaScript-%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0</guid>
            <pubDate>Tue, 25 Jul 2023 14:10:57 GMT</pubDate>
            <description><![CDATA[<p><strong>1. Codesandbox 접속하기</strong>
<strong>2. JavaScript 템플릿 사용하기</strong>
<strong>3. JS파일 실행(Code Runner)</strong></p>
<h2 id="1-codesandbox-접속하기">1. Codesandbox 접속하기</h2>
<p>로컬 환경에서는 JavaScript 환경을 설정하기 위해서는 Node.js 환경과 Npm을 설치해야 합니다. 하지만 <a href="https://codesandbox.io/dashboard">Codesandbox</a>은 설치가 필요 없이 클라우드 환경에서 개발 환경을 구축 할 수 있습니다.</p>
<p><a href="https://codesandbox.io/dashboard">Codesandbox</a>으로 접속하면 회원가입 화면이 나옵니다.
회원가입은 <strong>GitHub 계정</strong>으로 연동이 가능합니다.</p>
<p><img src="https://velog.velcdn.com/images/cozy-hwan/post/ed5b1156-5714-4741-af40-d559bd6387b6/image.jpg" alt=""></p>
<p>회원 가입 후 메인 화면이 나옵니다.</p>
<p><img src="https://velog.velcdn.com/images/cozy-hwan/post/68f5bd3e-dca1-47de-b613-21e200874d5f/image.jpg" alt=""></p>
<p>메인 화면이 나왔다면 원하는 템플릿을 사용해서 개발 환경을 구축 할 수 있습니다.</p>
<h2 id="2-javascirpt-템플릿-사용하기">2. JavaScirpt 템플릿 사용하기</h2>
<p>Codesandbox 회원가입 후 메인화면으로 접속을 하면 JavaScript 환경을 설정을 합니다. </p>
<p>JavaScript 환경 설정은 다음과 같습니다.</p>
<p><strong>Create -&gt; Vanilla 템플릿</strong> 선택하기
<img src="https://velog.velcdn.com/images/cozy-hwan/post/debb616a-5e8d-47f2-a2fa-b1a0a355083b/image.jpg" alt=""></p>
<p><strong>Vanilla(JavaScript)</strong> 템플릿을 선택하면 JavaScript환경을 자동으로 구성이 됩니다.</p>
<h2 id="3-javascript-파일-실행하기">3. JavaScript 파일 실행하기</h2>
<p>JavaScript 환경에는 <strong>package.json</strong>에 다음과 같은 설정이 되어 있습니다.</p>
<p><strong>package.json</strong></p>
<pre><code class="language-json">  &quot;scripts&quot;: {
    &quot;start&quot;: &quot;parcel index.html&quot;,
    &quot;build&quot;: &quot;parcel build index.html&quot;
  }
...</code></pre>
<p>package.json에는 npm 실행 하기 전 scripts에 npm 명령어를 설정 할 수 있습니다.
기본적으로 <code>npm start</code>는 JavaScript를 실행 할 수 있는 명령어로 설정 되어 있습니다.</p>
<p>JavaScript 환경이 설치가 되었다면 명령어 <code>npm start</code>를 실행합니다. 
<img src="https://velog.velcdn.com/images/cozy-hwan/post/c3b00b2b-3099-461c-afa3-43a81245f6c5/image.jpg" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[FiveLins of Code]]></title>
            <link>https://velog.io/@cozy-hwan/Five-Lins-of-Code</link>
            <guid>https://velog.io/@cozy-hwan/Five-Lins-of-Code</guid>
            <pubDate>Tue, 25 Jul 2023 05:08:23 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[JavaScript]]></title>
            <link>https://velog.io/@cozy-hwan/JavaScript</link>
            <guid>https://velog.io/@cozy-hwan/JavaScript</guid>
            <pubDate>Tue, 25 Jul 2023 05:08:03 GMT</pubDate>
        </item>
    </channel>
</rss>