전체 글
-
Docker - Express(TS) - Config(Prod,dev,test)JavaScript 2022. 1. 30. 19:36
참고 링크 Docker https://nodejs.org/en/docs/guides/nodejs-docker-webapp/ Express https://expressjs.com/ Directory structure for JavaScript, Node projects https://gist.github.com/daehan0226/52aaaecd44735ecf8f8c4f37cb98b6c2 Docker, proxy 설정 # docker-compose.yml version: "3" services: proxy: build: context: ./proxy # proxy 폴더 안의 도커파일 빌드함 container_name: proxy ports: - "16610:80" # 도커 ip:16610 를 proxy 컨..
-
AWS Lambda - ECR(Elastic Container Registry)Docker 2022. 1. 28. 08:39
aws cli 설치 https://docs.aws.amazon.com/AmazonECR/latest/userguide/getting-started-cli.html aws configure(Access Key ID, Secret Access Key, Region, Output 설정 https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html 도커 파일 - From amazon/aws-lambda-python:3.8, WORKDIR /var/task 설정 실행 함수 - 파일 이름 lambda_function.py, 파일 내 함수 handler(event, context)로 설정 https://docs.aws.amazon.com/..
-
DNSNetwork 2022. 1. 27. 20:11
호스트명에 대응하는 IP주소를 자동으로 찾음(=이름 해석) 호스트명으로 서버에 접속/통신해야한다면 TCP/IP 통신에 필요한 IP주소도 DNS를 통해서 IP 주소를 얻음 DNS를 이용하려면 DNS 서버가 필요함 DNS 서버에 등록하는 리소스 레코드 A : 호스트명에 대응하는 IP주소 AAAA: 호스트명에 대응하는 IPv6주소 CNAME: 호스트명에 대응하는 별명(서브도메인) MX: 도메인명에 대응하는 메일 서버 NS: 도메인명을 관리하는 DNS 서버 PTR: IP 주소에 대응하는 호스트명 www.abc.com 의 ip 주소를 얻는 과정 DNS 리졸버가 아래와 같은 기능을 수행 DNS 서버 캐시에 있는지 확인 있으면 바로 IP 주소 보내주고, 없으면 루트 도메인에게 해당 호스트명의 IP주소를 질의 -> 루..
-
Python Asyncio - 코루틴, 크롤링Python 2022. 1. 18. 16:15
복수개의 사이트에서 웹 페이지 가져오는 작업을 비동기로 구현하여 속도 개선 (https://docs.python.org/ko/3/library/asyncio-task.html) (https://docs.python.org/ko/3/library/asyncio-eventloop.html) 코루틴 async/await 문법으로 선언된 코루틴은 asyncio 응용 프로그램을 작성하는 기본 방법 Awaitable Object await 표현식에서 사용될 수 있을 때 어웨이터블 객체 - 직접 async 함수를 작성하거나 외부 라이브러리의 경우 async로 구현된 것을 사용해야함 Future 비동기 연산의 최종 결과를 나타내는 특별한 저수준 awaitable object로, Future 객체를 기다릴 때, 그것은 ..
-
OOP - 상속,변수, 초기화- Crawling/Custom ExceptionsPython 2022. 1. 13. 18:04
클래스 변수 - 모든 인스턴스가 변경, 모든 클래스에서 공유 인스턴스 변수 - 인스턴스 마다 사용, 해당 인스턴스만 사용, 클래스 객체에서 접근 불가능 클래스 변수에 접근할 때는 특별히 이유가 없다면 '인스턴스.클래스변수' 나 'self.클래스변수'와 같이 접근하는 것을 피해야함 방법 cls.변수(클래스메소드 안에서), Class.변수(클래스 외부에서) type(self).변수(메소드내) 인스턴스 변수를 인스턴스 객체로부터 생성하는 것이 가능하므로 의도치 않게 클래스 변수를 인스턴스 변수로 은폐해버릴 수 있음 -> 인스턴스 변수와 클래스 변수 혼용하지 말것 class Crawler: # 크롤링을 하며 인스턴스마다 다른/저장하는 데이터들은 인스턴스 변수에 저장 def __init__(self, loggin..
-
쓰레드와 프로세스 공부하기CS 2022. 1. 11. 23:06
이 글은 크롤링을 이용한 데이터 수집 시, 구글 API에 이미지 업로드시 적용하기 위해 공부하게 되었다. 프로세스와 쓰레드 + 멀티 프로세스, 멀티쓰레드 비교 프로세스 운영체제로부터 할당 받는 자원 단위(실행 중인 프로그램) CPU동작 시간, 주소공간, Code, Data, Stack, Heap - 독립적 최소 1개의 메인쓰레드 보유 파이프, 파일, 소켓등을 사용해서 프로세스간 통신 Context Switching - Cost 높음 많은 메모리 필요, 데드프로세스 생성 가능성 높음, 오버헤드 큼, 생성 소멸 느림 쓰레드 프로세스 내에 실행 흐름 단위로서 프로세스의 자원을 사용 Stack만 별도 할당(함수의 시작점, 끝나는 부분등) 나머지는 공유(Code, Data, Heap) 메모리 공유(변수 공유) -..
-
빌트인 객체, 래퍼 객체JavaScript 2021. 12. 17. 16:24
자바스크립트의 3가지 객체 표준 빌트인 객체 Object, String, Number, Boolean, Symbol, Date, Math, Array, Promise 등등 사용 환경에 상관 없이 사용 가능 호스트 객체 브라우저 환경 DOM, Canvas, XMLHttpRequest, fetch 등 노드 환경 - 노드 고유의 API 사용자가 정의한 객체 원시값과 래퍼 객체 const strObj = new String('Lee'); // String {"Lee"} console.log(Object.getPrototypeOf(strObj) === String.prototype); // true // String 생성자 함수를 통해 생성한 strObj 객체의 프로토타입은 String.prototype이다. c..
-
변수(var, let, const) + feat.메모리JavaScript 2021. 12. 16. 16:25
변수 하나의 값을 저장하기 위해 확보된 메모리 공간/ 그 공간을 식별하기 위한 이름 값의 위치(메모리 주소)를 가리킴 개발자는 메모리 주소가 아닌 변수를 통해 값에 접근 하나의 값 또는 여러개의 값이 그룹화된 값(배열, 객체) 메모리 메모리 셀 하나의 크기는 1바이트(8비트), 컴퓨터는 1바이트 단위로 데이터 저장, 읽기 값은 고유의 메모리 주소를 가짐 모든 데이터는 2진수로 저장됨 변수-메모리-값 var result = 10 + 20; // 10과 20이 각각 다른 메모리 공간에 먼저 저장되고 // cpu를 통해 계산된 30이 다른 공간에 저장됨 // result 변수는 30이 저장된 *메모리 위치*를 가르키는(식별하는, 기억하는) 식별자 var result = 30; // 할당 : 변수에 값을 저장하..