본문 바로가기

전체 글

(152)
"Node.js 교과서" 정리 노트 - 2장, 알아두어야 할 자바스크립트 JavaScript는 매년 새로운 버전으로 업데이트되고 있습니다. 이 장에선, JavaScript의 새로운 문법을 간단히 알아보고, 프런트엔드에서 사용하는 자바스크립트 코드를 알아봅니다. 1. ES2015(ES6) 2015년 JavaScript 문법에 큰 변화가 있었습니다. JavaScript는 현재 ES2020까지 발표되었고, 일부 구형 브라우저에선 최신 JavaScript 문법을 사용할 수 없습니다. 이로 인해, 호환성에 문제가 있었지만 babel과 같은 구형 브라우저에 맞게 문법을 변환해주는 도구가 있어서 큰 문제는 되지 않습니다. ES6 부터는, 다른 언어들의 장점을 본딴 편리한 기능이 많이 추가되었기 때문에, 이제는 ES6 문법을 배워야 할 때입니다. 2. const, let 이전에는 변수를 선..
Rocky Linux에 node.js 설치하기 1. 먼저, 패키지를 모두 업데이트 해줍니다. dnf update 2. 소스 코드를 빌드할 때 필요한 라이브러리를 설치합니다. 설치 후에는 gcc, g++, make, perl 등과 각종 라이브러리들이 설치됩니다. dnf groupinstall "Development Tools" dnf install kernel-devel kernel-headers 3. url로 데이터를 전송하는 데 필요한 모듈인 curl을 설치합니다. dnf install curl 4. curl 명령어로 NodeSource를 dnf 저장소에 추가합니다. curl -sL https://rpm.nodesource.com/setup_14.x | bash - 5. node.js를 설치합니다. dnf install nodejs 6. 노드와 n..
m1 맥에 도커 설치, Rocky Linux 컨테이너 생성, SSH 접속 테스트 도커? 도커(docker)는 리눅스 환경에서 동작하는 컨테이너 기반 가상화 프로그램으로, 프로세스를 격리시키고 OS를 가상화해서 하나의 서버에 여러 독립적 환경을 구축할 수 있게 해주는 오픈소스 프로젝트입니다. 기존의 Virtual Machine 프로그램들과 비교하여 가볍고, Dockerfile 빌드를 통해 서버 구축을 자동화할 수 있는 등, 서버 관리에 많은 이점이 있습니다. 하지만, 도커는 리눅스 기반의 프로그램이기 때문에, 리눅스 이외의 환경(Windows, Mac 등)에서 도커를 실행하려면 가상화가 필요합니다. 이 글에선, 도커 엔진과 CLI 클라이언트 등의 기능이 포함된 Docker Desktop을 설치해서 컨테이너를 만들고, SSH로 접속하는 내용을 다룹니다. 도커 데스크탑에 대해 자세히 알고..
iTerms 설치 / 테마 적용하기 목차 1. Mac Terminal과 iTerms 2. iTers 다운로드 / 설치 3. iTerms 테마 적용하기 4. 결론 1. Mac Terminal과 iTerms 맥에서도 기본 터미널 애플리케이션이 있지만, 기능이 제한적이고 불편한 부분이 있습니다. iTerms를 사용하면 맥 기본 터미널에 추가적인 편의 기능이나 유용한 기능을 사용할 수 있습니다. iTerms의 상세한 스펙이 궁금하시다면, 아래 링크에서 확인해 보시는 걸 추천드립니다. https://iterm2.com/features.html 2. iTerms 다운로드 / 설치 공식 사이트에서 iTerms2를 다운받아 설치할 수 있고, brew 명령어를 통해 설치할 수도 있습니다. 1. 공식 사이트에서 다운로드 / 설치 https://iterm2...
"Node.js 교과서" 정리 노트 - 1장, 노드 시작하기 목차 1. 서버 2. javascript Runtime 3. 이벤트 기반 4. 논 블로킹 I/O 5. 싱글 스레드 6. 서버로서의 노드 7. 서버 외의 노드 1. 서버 서버(Server)란 네트워크 상에서 클라이언트의 요청을 받아 응답을 제공하는 프로그램을 뜻합니다. 예를 들어, 브라우저 주소창에 www.google.co.kr 를 입력하고 엔터를 치면, 구글 페이지가 브라우저 화면에 나타나게 되죠? 이 구글 페이지가 바로 클라이언트(사용자)의 요청에 대한 구글 서버의 응답인 것입니다. 과정을 좀 더 자세히 살펴보면... 1. 클라이언트가 브라우저에 주소를 입력하고 엔터를 치면, 브라우저는 도메인 네임 서버(DNS)에게 이 도메인(www.google.co.kr)에 대한 IP 주소를 물어봅니다. DNS는 요..
[Swift] 앱의 화면 회전 제어 목차 1. 개요 2. 구현 1. 개요 프로그래밍적으로 아이폰 또는 아이패드임을 인지해서 각각의 화면 회전을 제어해줄 수 있다. if (UIDevice.current.userInterfaceIdiom == .pad 또는 .phone ) { ... } 하지만 코드의 복잡성이 늘기 때문에, 좀 더 간단한 방법을 찾게 되었고 Info.plist에서 간단히 해결할 수 있다는 걸 알게 되었다. 2. 구현 먼저, Xcode의 Info.plist에 아래의 키들을 추가해야 한다. 1. Supported interface orientations 2. Supported interface orientations (iPad) 3. Supported interface orientations (iPhone) 위와 같이 세로, 가로..
Virtual Box로 Ubuntu Server에 SSH 접속 환경 만들기 목차 배경 Oracle VM Virtual Box 다운로드 및 설치 우분투 서버 이미지를 다운받고 Vitual Box에 설치 SSH 설정 후 VS Code에서 접속 테스트 1. 배경 가상머신(Virtual Machine)이란, 컴퓨터의 하드웨어 등의 자원들을 소프트웨어로 구현해서 하나의 호스트에 여러개의 독립된 OS 환경을 구축할 수 있는 소프트웨어이다. 즉, 하나의 컴퓨터에서 다른 여러대의 컴퓨터를 생성하고 구축해 테스트하거나, 서버를 가상화 해서 사용할 수 있도록 도와준다. 평소에 PHP를 사용해 개발하고 있지만, 조금씩이라도 집에서 Node.js를 공부하고 싶었고, 실무 환경과 비슷하게 구성해서 실습해보고 싶어서 직접 환경을 구성해보기로 했다. 이 글에선, Virtual Box에 우분투 서버를 설치..
[Swift] WkWebview의 쿠키 저장 및 로드 목차 배경 구현 1. 배경 앱을 사용 중이거나, 홈 버튼을 눌러 잠시 내려두면 쿠키가 유지되었지만, 앱을 종료하면 저장된 쿠키가 모두 지워지는 현상이 있어서 앱을 수정하게 되었다. 특히, 앱을 종료한 직후엔 쿠키가 유지되었지만.. 다른 앱을 열어 아이폰의 메모리를 사용하게 되면 쿠키가 지워진다는 걸 알았다. 로그인 유지에 쿠키 인증값을 사용하기 때문에 쿠키를 유지하는 방법을 찾게 되었다. 2. 구현 개인적으로 생각한 구현 프로세스는 아래와 같다. Step 1. 앱이 Background 상태가 되면 쿠키를 UserDefaults에 저장해둔다. var result = [Any]() WKWebsiteDataStore.default().httpCookieStore.getAllCookies { (cookies) ..