SEO
·
개발정보
SEO ( Search Engine Optimisation )에 대해서 알아보자! 우선 영어 그대로 해석해보면 검색 엔진 최적화이다. 검색 엔진에는 어떤게 있을까? ( Search Engine ) ? ▶ 구글 검색 엔진 ▶ 덕덕고 ▶ 네이버 검색 엔진 ... 등등등 이러한 검색 엔진은 어떻게 동작할까? ▶ 크롤러가 공개된 IP의 데이터를 전부 긁어 온다 ▶ 긁어온 데이터를 가공해서 화면에 노출시킨다. ▶ 여기서 어떤 데이터를 먼저 노출 시킬 지를 결정한다. => 여기서 SEO를 통해서 최상단에 나오게 하려는 노오력을 하게된다. 즉, SEO는 검색 결과로 내가 상단에 나오게 하기 위해서 하는 노오력이다. SEO는 어떻게 해야할까? 흔히 아는 방식으론 ▶ HTML 잘 사용하기 ▶ 웹 접근성 개선하기 ▶ 메타..
Error: Cannot find module 'semver'
·
개발정보
Node의 버전이 10버전이라서 ( 충격?! ) 업데이트를 진행하니 오류가 나타났다. 알고보니 내가 사용한 방법으로 node의 버전이 올라가지 않아서 버전 문제였다. (내가 사용한 방법이란 npm install -g n ) 그리서 nvm을 사용해서 버전을 올리는 작업을 했다 . sudo apt-get install build-essential libssl-dev curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash source ~/.bashrc 먼저 nvm이 없어서 설치하는 작업을 수행했다. nvm install 18.12.1 그리고 원하는 버전을 설치해서 정상적으로 node의 버전이 올라간 것을 확인했다.
Naver Cloud 서버 만들기
·
개발정보
들어가며. 본인 AWS 밖에 사용해보지 못했습니다. 그것도 대학교에서 과제한다고 한번.. 근데 이번에 Naver Cloud 서버를 만드려고 하는데 최신 버전은 뭐가 많아서 머리가 핑핑 돌아버려서 저와 같은 실수를 하지 않으셨으면 해서 적어봅니다... 고고! NCloud에 로그인을 하고 콘솔화면을 들어가면 위와 같이 있습니다. 좌측의 Services를 누르고 Server를 선택합니다. 그러면 본격적으로 서버를 생성해봅시다! 본인의 지갑 사정에 맞는 디스크 크기를 설정하고, 서버 이미지를 선택하세요! 여기가 어질어질한 곳이다.. VPC가 뭐여?! VPC는 내부 네트워크 대역을 선택하는 것이다. 사용할 수 있는 대역으로는 10.0.0.0/8, 172.16.0.0/12 192.168.0.0/16 대역을 사용할 ..
Docker 이미지 실행 중 발생한 오류 /bin/sh: 1: [npm,: not found
·
개발정보
사건의 발단 CI / CD 자동 배포를 공부하던 중 Docker Image를 만들어야 했다. 그런데 분명 코드가 문제 없다고 생각했는데, /bin/sh: 1: [npm,: not found npm이 없다는 오류를 내는 거였따?! 분명 처음에 node를 From을 통해서 받아왔는데, 안될 이유가 없었다... 해결 FROM node:18.12.1 RUN mkdir -p /client WORKDIR /client ADD . /client/ RUN npm i RUN npm run build ENV HOST 0.0.0.0 EXPOSE 3000 CMD ['npm', 'run', 'start'] 뭐가 문제인지 보이십니까?! 정말 홀리 몰리한 문제였습니다. FROM node:18.12.1 RUN mkdir -p /cl..
GitHub Actions 을 사용한 CI / CD - 이론편
·
개발정보
GitHub Actions? 소프트웨어 개발에서 Pull Request, Push 등 작업을 할 때 마다 자동화된 작업을 할 수 있게 해주는 기능이다. 자동화 작업을 하는 경우는 아래와 같다. ▶ CI / CD 이번에 하게되는 작업으로, 자동으로 Push 후 빌드를 해서 배포를 해주는 작업을 할 것이다. 프로젝트를 작업할 때 자동화를 시키면 매번 수동으로 배포하는 일을 할 필요가 없어진다. ▶ Testing Pull Request를 보내면 자동으로 테스트 하는 작업도 구현이 가능하다. 그래서 테스트 성공하면 PR을 Open 또는 Close가 가능하다. ▶ Cron Job 특정 시간대에 스크립트를 반복해서 실행할 수 있는 기능을 구현할 수 있다. GitHub Actions의 구성 요소 GitHub Acti..
비즈니스 로직
·
개발정보
앞서 비즈니스 로직에 대한 피드백을 받은 후 술먹은 듯한 게시글을 쓰고 다시 한번 비즈니스 로직에 대해서 공부를 해봤다. 멘토님께서도 너무 고민하고 있는 것이 눈에 보이셨는지, 본인이 생각하는 비즈니스 로직이란 특정 도메인에서 해당 도메인의 데이터를 중심으로 일어나는 서비스의 핵심 로직이라고 하셨다. 여기서 내가 생각하지 못한 단어가 등장했는데, 바로 도메인이다. 지금까지 비즈니스 로직을 알기 위해서 공부했을 때 디자인 패턴에서 사용하는 비즈니스 로직 등 자연스럽게 디자인 패턴으로 구분한 로직은 전부 비즈니스 로직이라고 생각했다. 하지만 도메인을 추가해서 검색을 했을 때는 전혀 다른 검색 결과가 나오게 되었다. 그래서 비즈니스 로직과 비즈니스 로직이 아닌 것으로 공부를 이어나갔다. 먼저 비즈니스 로직에 ..
Service Worker
·
개발정보
서비스 워커는 브라우저가 백그라운드에서 실행하는 스크립트로, 웹페이지와 별개로 작동하면서 웹페이지 또는 사용자의 인터랙션이 필요하지 않는 기능을 제공한다. 오프라인에 문제가 생겼을 때 해결을 하기 위해서 등장하였다. 개발자에게 오프라인 환경을 통제할 수 있는 권한을 부여해서, 오프라인 환경에서 캐시와의 상호작용, 백그라운드 동기화, 푸시 알람 등의 기능을 가능하게 했다. 서비스 워커의 특징 ▶ 사용자가 요청해야 동작하고, 목표하는 일이 끝날 때까지 꺼지지 않는다. ▶ 웹페이지 밖에서 동작하기 때문에 브라우저의 열고 닫힘과는 무관하게 동작한다. ▶ 브라우저 밖에서 동작하므로 DOM 요소에 접근할 수 없다. 활용 예시 ▶ 캐시와의 상호 작용 서비스 워커가 Fetch 이벤트의 중간자 역할로 HTTP를 통해 정..
CI / CD
·
개발정보
개발을 하다보면 CI 또는 CD에 대한 이야기를 많이 들어본다. 간단하게 알기론 내가 git에 코드를 올리면 누군가가 빌드와 테스트, 배포를 해줘서 쓸대없는 시간이 낭비되는 것을 방지할 수 있다 프로젝트를 진행할 때 수정, 빌드, 배포하는 과정을 통해 작업한 내용이 실제로 동작하는지 테스트하고 검증할 필요가 있다. 이것을 매번 수동으로 반복하면 시간이 걸리고 실수를 할 수 있다. 이를 위해서 CI / CD가 생겻다. CI ? 지속적인 통합이라는 뜻이다. 개발을 진행하면서 품질도 관리할 수 있는 것으로 여러 명이 하나의 코드에 수정을 진행해도 지속적으로 통합해서 관리할 수 있다. CI는 개발자가 빌드와 테스트를 직접 하지 않고도 수정한 코드를 브랜치에 병합하기만 하면 자동으로 빌드와 테스트를 검증할 수 있..