1주차에는 웹서버를 구축하고 웹 페이지의 기획서를 작성해보았다.

웹서버 구축을 통해 AWS에 처음 가입하여 사용해보았고 VPC, 서브넷, EC2 등의 개념을 알 수 있었다.

 

기존에 프론트엔드를 위주로 학습하다보니 Google Firebase를 이용하여 간편하게 서버리스 아키텍처를 구현한 적은 있으나

이렇게 직접 네트워크를 설정하고 서버를 열어서 웹 페이지에 접속해본건 처음이었다.

전공 과목 내장형시스템 수업에서 PuTTY를 이용해본 적은 있으나, 왜 사용하는지 잘 이해가 되지 않았는데 이번에 과제를 수행하면서 알게 되었다.

개발 지식에 비해 상대적으로 부족했던 네트워크 개념을 학습할 수 있는 시간이었다.

 

또한, 웹 페이지 기획서를 직접 작성하면서 기획 과정에서 고려해야할 부분에 대해 생각해볼 수 있었다.

AWS Calculator을 이용하여 처음으로 비용 산정을 하는게 낯설었지만 비용 산정 시 고려할 값에는 어떤 것이 있는지 알게 되었다.

 


 

웹서버 만들기

네트워크 설정

VPC 생성하기

  • VPC(Virtual Private Cloud) : 사용자의 AWS 계정 전용 가상 네트워크
  • 하나의 VPC는 하나의 Region 내에서만 생성 가능
  • Default VPC는 실무에서 사용하지 않는다, 큰 서비스 단위로 VPC를 생성하여 사용한다.
  • VPC이름 / IPv4 CIDR 블록 (IP 대역대) 지정 후 생성 완료

서브넷 만들기

  • Public 서브넷과 Private 서브넷으로 나뉘어짐
  • Private 서브넷은 인터넷 inbound/outbound가 불가능하고 다른 서브넷과의 연결은 가능함
  • Public 서브넷 생성하기
    • 생성한 VPC 선택
    • 가용 영역 설정 (프리티어는 a존만 이용 가능하다)
    • IPv4 CIDR 블록 지정

인터넷 게이트웨이 생성

  • VPC의 구성 요소로 인스턴스와 인터넷 간의 통신을 가능하게 함
  • 만들었던 VPC와 연결하는 작업 필요

 

EC2 설정

  • EC2로 AWS의 컴퓨터 한대를 빌려서 사용할 수 있음
  • 원하는 스펙의 가상 서버를 구축하고 사용한 만큼의 비용을 지불함

보안그룹 만들기

  • 만들었던 VPC와 연결하기
  • 인바운드 규칙 : EC2로 들어오는 방향의 제어를 설정함
    • TCP 포트번호 22 (SSH) / 소스 : 내 IP
    • TCP 포트번호 80 (HTTP) / 소스 : 내 IP
  • 다른 사람에게 공개할 목적으로 구축하는 것이 아니므로 내 IP로 설정한 것

EC2 인스턴스 만들기

1단계 : AMI (Amazon Machine Image) 선택하기

  • AMI란 EC2가 만들어낼 때 사용하는 OS 정보가 담긴 이미지 파일
  • Linux2 AMI가 가장 일반적으로 사용된다.

2단계 : 인스턴스 유형 선택

  • EC2의 제품 스펙을 설정하는 단계
  • vCPU란 실제 물리 CPU를 논리적으로 쪼개서 사용하는 가상 CPU임
  • 프리티어로 이용

3단계 : 인스턴스 세부 정보 구성

  • 인스턴스 개수는 1개로, 네트워크와 서브넷은 만들었던 VPC와 서브넷 선택
  • 퍼블릭 IP 자동 할당을 활성화하여 인터넷망을 사용한다.
  • 인스턴스 종료 시 자동으로 삭제되도록 종료 방식 설정

4단계 : 스토리지 추가

  • EBS(Elastic Block Storage)는 EC2에 주로 사용되는 스토리지 유형으로, 용량 증설은 가능하나 축소는 불가능하다.
  • EBS옵션은 GP2나 GP3 중 아무거나 선택
    • GP2 : 일반적인 SSD 방식
    • GP3 : 업그레이드 된 SSD 방식으로, 1TB 미만일 때도 최저 네트워크를 보장한다.
  • 30GB까지 무료로 이용 가능하다.

5단계 : 태그 설정

  • 관리자가 확인하기 편하도록 구분하는 것, 반드시 설정할 필요는 없음

6단계 : 보안 그룹 구성

  • 미리 만들었던 보안 그룹 선택

7단계 : 인스턴스 시작 검토

  • 앞서 선택한 옵션을 확인하고 생성하기
  • 새 키 페어 생성 - 키 페어 이름 설정 후 다운로드 (.pem 파일)
  • 키 페어 파일은 재발급되지 않으므로 잘 보관해야함

 

서버 열기

  • Windows에서는 pem 파일을 직접 사용할 수 없음
  • 따라서 ppk 파일로 변환하는 작업을 거쳐야한다.

PuTTY 다운로드

pem -> ppk 파일 변환

  • PuTTYgen 실행
  • File - Load private key에서 pem 파일을 불러온 후 save private key 버튼 클릭
  • ppk 파일은 C드라이브의 aws 폴더 안에 보관하는게 국룰이라고 함

PuTTY에서 서버 설정하기

  • PuTTY는 서버에 접속할 수 있는 툴
  • 관리자가 작업하기에 가장 좋은 환경은 SSH 클라이언트이다.
    • EC2에서 할 수 있는 대부분의 작업 수행 가능
    • 개발자가 가장 선호하는 서버 접근 방식
  • Connection - SSH - Auth 메뉴에서 ppk 파일 불러오기
  • Session 설정
    • Host Name (for IP address) : EC2 인스턴스의 Public IPv4 주소 입력
    • Saved Sessions에 현재 세션을 Save, 설정한 정보는 Load를 통해 불러올 수 있음
  • Open 버튼을 클릭해서 서버에 접속한다.

EC2 접속하기

  • 아이디는 ec2-user (AWS Linux를 사용할 때 최고 권한을 가진 사용자 계정)
  • EC2를 웹서버로 바꾸기 위해 Apache 다운
sudo yum install httpd -y
  • Apache 시작하기
sudo service httpd start
  • http://(EC2 Public IP):80 으로 웹사이트 접속 가능

 


 

EC2 추가 관리 기능

고정 IP 부여하기

  • 기본적으로 EC2를 중지하면 재시작할 때 IP 주소가 변경됨
  • 이것을 방지하기 위해 고정 IP를 설정함
  • 탄력적 IP 주소 연결 - 생성한 인스턴스 선택해서 연결하기

백업본 이미지 만들기

  • EC2 백업은 AMI + EBS 백업을 통해 이루어진다.
    • AMI : OST 정보가 담겨있음
    • EBS : 스토리지 백업으로 웹서버가 백엄됨
  • 인스턴스 선택 후 작업 - 이미지 및 템플릿 - 이미지 생성 선택
  • 이미지 이름과 설명 입력 후 생성 완료 (AMI, EBS는 자동 생성됨)
  • 백업된 AMI 이미지를 복원해서 새 EC2를 만들 수 있다.

 


웹 페이지 기획하기

1. 웹 페이지 기획 목적

  • 웹 페이지 디자인 및 구현 경험
  • 공부한 기술 스택 목록 정리
  • 진행했던 프로젝트 목록 정리

2. 트래픽 목표 수치 산정

  • 일주일에 한 번 접속, 한 번 접속 시 평균 5분의 사용 시간을 예상함
  • 누구나 접속할 수 있는 페이지이므로 24시간 내내 오픈되어야 함
  • 1개월에 최대 1시간의 사용량을 가질 것

3. 컨텐츠 종류 파악

  • 텍스트 박스
  • 이미지 파일 : 파비콘(.ico) 1개, 픽토그램(.png) 약 5개, 프로필 이미지(.jpg) 1개, 프로젝트 썸네일(.png) 약 5개

4. 기술 선정

  • HTML, CSS, Javascript 언어 사용
  • AWS EC2 웹서버

5. 비용 산정

  • AWS 프리티어 이용 시 처음 12개월 동안은 무료로 사용
  • AWS Simple Monthly Calculator을 이용하여 인스턴스 비용 산정

  • t3.xlarge Linux 유형의 인스턴스 1개가 1개월에 1시간의 사용량을 가진다면 월별 비용은 $0.21일 것으로 나타남

신입사원 기본역량교육 두번째 날!

이 날은 오전 4시간, 오후 4시간동안 교육이 진행돼서 교육이 끝나고 나서 지친 상태였다.

그래도 얻어가는게 있으니까 교육 시간에 열심히 참여했다!

 

오전에는 문제해결역량 교육이 있었다.

 


문제 정의의 중요성

문제를 해결하기 위해서는 먼저 문제를 정의하는 과정이 필요하다.

그런데 문제를 어떻게 정의하느냐에 따라서 복잡한 해결책이 나올 수도, 간단한 해결책이 나올 수도 있는 것이다.

 

강사님이 언급하신 예시는 "우주에서 사용할 수 있는 필기구"에 대한 문제에 대해

미국은 "무중력 상태에서도 볼펜을 사용할 수 있는 방법",

소련은 "무중력 상태에서 우주 실험을 기록할 수 있는 가장 효과적인 방법"으로 문제 정의를 한 사례가 있었다.

 

 

이미지 자동 분류를 위한 접근 방식 토의 실습

말 그대로 이미지를 자동 분류하기 위해서는 어떤 기술과 방법이 필요한지 토의해보는 시간이었는데

사실 전공 또는 관심 분야가 IT쪽인 사람들이 모였다보니, 다들 딥러닝 또는 머신러닝을 떠올렸다.

우리 팀은 각자의 의견을 모아 "여러 샘플 데이터를 이용하여 모델 학습을 시킨 후 차이가 나는 특징들을 추출함"으로써 이미지 분류를 할 수 있다고 아이디어를 적었다.

 

 

5why 문제 해결 기법

사고역량강화를 위한 기법 중 하나로 5why 문제 해결 기법을 배웠다.

적용 사례 중 하나는 제퍼슨기념관 외벽 손상 사례에 대한 것이었는데

Why1 : 외벽 부식이 강한 이유는? -> 비누 청소를 자주 하기 때문

Why2 : 비누 청소를 자주 하는 이유는? -> 비둘기 배설물이 많기 때문

Why3 : 비둘기 배설물이 많은 이유는? -> 거미가 많기 때문

Why4 : 거미가 많은 이유는? -> 불나방이 많기 때문

Why5 : 불나방이 많은 이유는? -> 직원들이 일찍 퇴근하기 위해 전등을 일찍 키기 때문

결국 5번의 Why로 늦게 전등을 키는 해결 방법을 얻을 수 있었다고 한다.

 

나는 왜 이 일을 하고 싶은가? 브레인스토밍

사고 역량에는 창의적 사고, 논리적 사고, 비판적 사고가 있는데 창의적 사고 기법 중 하나가 브레인스토밍이다.

브레인스토밍은 자유분방하게 아이디어를 제시하는 것인데

나는 왜 이 일(희망 진로)을 하고 싶은가? 라는 주제로 브레인스토밍 실습을 했다.

 

줌의 주석 기능을 이용하여 강의를 듣는 사람들이 각자 자신의 생각을 적어보았는데

 

금전적인 수단, 내가 가장 잘 할 수 있는 일, 틀에 박히지 않은 일, 보다 편리한 세상을 만들 수 있어서 등의 의견이 있었다.

 

나는 FE개발자가 목표라, "작성한 코드에 따라 시각적 결과물이 나오는게 흥미로워서" 라는 의견을 작성했다.

나의 희망 진로를 꿈꾸는 이유를 떠올리며 공부를 하다보면 꾸준히, 포기하지 않고 열심히 달릴 수 있을 것 같다.

 

 

해적 금화 나누기 문제 실습

논리적 사고 실습 시간으로 "해적 금화 나누기" 문제를 팀별로 풀어보았다. (해당 문제는 인터넷에 검색하면 쉽게 찾을 수 있으므로 설명은 생략한다.)

각 해적에게 분배할 금화의 액수를 정해야 하는데 그 값을 정하기 위해 팀원들과 다양한 의견을 주고받았다.

여러 의견을 듣고 각 의견을 종합하여 가장 합리적이라고 생각되는 답을 찾아내서 실습 자료에 적었다.

나는 평소에도 어떤 주제에 대해 내 생각을 전달하며 생각의 근거를 대는 논리적인 대화를 좋아하기 때문에

이번 실습이 굉장히 재밌었다. 다른 사람들과 각자의 의견을 펼칠 수 있는 장이 열린 느낌ㅋㅋㅋ

 

 

문제 해결 실습

강의에서 배운 내용들을 종합하여 해결하고자 하는 문제 선정, 문제 원인 분석, 해결안 도출 시간을 팀별로 가졌다.

 

우리 조가 선정한 문제는 유튜브에서 한국어 댓글을 찾기 어렵다는 점이었다.

유튜브를 이용하는 사람들은 한번쯤은 공감했을 것이다.

외국인 시청자가 많은 영상일수록 한국 영상임에도 불구하고 한국인이 작성한 댓글을 찾기가 굉장히 어렵다.

 

이것의 원인은 한국어 댓글이 댓글 순서 알고리즘 상 낮은 우선순위를 차지하고 있기 때문이라고 분석했다.

따라서 각 언어별 댓글 분류 기능을 이용하여 사용자가 접속한 나라의 언어, 또는 사용자가 선택한 언어의 댓글을 우선순위로 보여주는 기능을 제공하면 해결할 수 있을 것이라 작성했다.

 

 

이번 강의에서 배운 내용들을 바탕으로 실생활 또는 조직에서 발생하는 문제들을 정확히 파악하고, 적합한 해결책을 도출할 수 있도록 문제해결능력을 키워야겠다.

성남산업진흥원 주관 ICT 기업 인턴 프로그램에 합격하고

7월 마지막 주에는 신입사원 기본역량교육이 있었다.

교육을 받은지 한달이나 지난 시점이지만 활동 내용과 당시에 느꼈던 점을 기록해보겠다.

 

첫번째 교육은 의사소통역량 교육이었다!

교육은 줌을 이용해 실시간으로 진행되었고 ICT 인턴 프로그램의 첫 활동이라 긴장이 되는 상태로 줌에 입장했다.

 


3가지 키워드로 자기소개하기

강의가 시작된지 얼마 안돼서 각자 자신을 3가지 키워드를 이용하여 소개하는 시간을 가졌다.

이름, 학교, 전공 등을 말하는 뻔한 자기소개가 아니라

키워드를 이용해서 소개를 하니 각자의 개성이 묻어나오는 듯 했다.

 

구글 슬라이드를 이용해서 각자 페이지에 작성한 내용을 바탕으로 발표했는데

나는 스스로를 [1. 다양한 경험을 추구하는 사람 / 2. 몰입을 즐기는 사람 / 3. 어쩌다 보니 컴공] 이라는 키워드로 소개했다.

 

그렇게 적은 이유는,

1. 몇 년간 블로그를 운영하면서 새로운 맛집, 카페 등을 자주 방문했었고

서포터즈와 같은 다양한 대외활동에 참여하면서 전공이 아닌 분야에 대한 경험도 쌓았기 때문

2. 한번 컴퓨터 앞에 앉았다 하면 6시간 이상은 거뜬히 개발에 몰입을 하고 그 과정을 즐기기 때문

3. 중,고등학생 때부터 막연하게 프로그래머가 되기 위해 컴공에 가야지! 라고 생각했는데

막상 컴공에 오고 처음으로 프로그래밍 공부를 해보니 생각보다 적성에 잘 맞아서 어느덧 졸업반이 되었기 때문이었다.

 

키워드 자기소개 준비 시간이 길진 않아서 생각나는대로 바로 작성했지만

나중에 취업을 위한 자기소개서를 작성할 때 이런 식으로 나에 대한 키워드를 떠올려보는 것도 좋을 것 같다는 생각이 들었다.

 

팀 PR

자기소개를 마친 후에는 팀을 이루어서 팀 PR 자료를 만들고 소개하는 시간을 가졌다.

이제 막 처음 만난 팀원들과 PR 자료를 만들려고 하니 어색하긴 했지만

팀 이름을 정한 이유, 이 프로그램에 참여한 이유, 우리가 지킬 약속, 깃허브 아이디 등을 적으며 PR 자료를 완성했다.

 

열정 뿜뿜했던 우리 세자매 팀🔥🔥🔥

 

DISC 성격유형 검사

DISC 검사를 통해 자신의 소통, 행동 유형과 강점을 발견하고 효과적인 타인과의 상호작용을 위해서는 어떻게 해야하는지 알아보았다.

DISC 검사 결과는 D형(주도형), I형(사교형), S형(안정형), C형(신중형)으로 나뉘는데 나는 그 중에서 D형이 나왔다.

 

D형을 한마디로 나타내자면 "내 사전에 불가능이란 없다" 이라고 할 수 있고

자아가 강하고 목표 지향적이며, 도전, 목적 달성, 발전 가능한 기회 등에 의해 동기부여를 받는 유형이라고 한다.

타인을 몰아붙이거나 고압적으로 요구하는 것을 지양하고 타인의 제안과 의견을 경청하는 자세를 가져야 원활한 소통을 할 수 있다고 한다.

검사 결과로 알 수 있던 나의 성격의 강점을 잘 활용하되, 약점은 보완하도록 주의해야겠다.

 

소통에 실패했던 사람 파악해보기

마지막으로 지금까지 소통했던 사람 중 소통이 어려웠던 상황과 나와 맞지 않았던 점을 생각해보고 그 사람의 DISC 예상 유형을 적어보는 시간이 있었다.

그 사람의 유형을 예상하며 어떤 점에서 나와 달랐는지 파악해보고 왜 소통이 어려웠는지 그 사람 입장에서도 생각해보게 되었다.

 


나에 대해 소개하는 것이 어렵게만 느껴졌는데 키워드를 이용하며 소개를 해보니

자기소개가 마냥 어려운 것은 아니구나 라는 생각이 들었고

DISC 성격유형 검사로 의사소통 면에서의 나의 강점과 약점을 파악할 수 있는 시간을 가져서 좋았다.

+ Recent posts