Recoil
·
Web/React.js
사용목적React 컴포넌트는 공통된 상위 요소까지 끌어올려야만 공유될 수 있기에 거대한 트리가 다시 렌더링 되는 상황이 존재한다. Recoil은 React 자체 내장된 상태 관리 기능의 한계를 개선하기 위해 사용한다. 장점get/set 인터페이스로 사용할 수 있도록 boilerplate-free API를 제공React 기능들과 호환 가능성을 갖음상태 정의가 점진적이고 분산되어 있어 코드 분할이 용이함컴포넌트 수정 없이 상태(Atom)를 파생된 데이터(Selector)로 대체 가능 설치npm install recoil 사용RecoilRootRecoil 상태 컴포넌트를 부모 트리에 넣어준다. 예제는 루트 컴포넌트를 활용한다.import React from 'react';import { RecoilRoot, ..
docker-compose.yml 설정
·
Docker
extra_hosts컨테이너에 외부 호스트 정보를 추가한다.extra_hosts: - "somehost=162.242.195.82" - "otherhost=50.31.209.229" - "myhostv6=::1" IPv6는 대괄호도 사용할 수 있다.extra_hosts: - "myhostv6=[::1]" 컨테이너 내 /etc/hosts에 호스트 정보가 생성된다.162.242.195.82 somehost50.31.209.229 otherhost * localhost 대신 host.docker.internal를 사용하면 자동으로 mapping
RabbitMQ Docker compose 구성하기
·
Docker
1. 목표 Docker compose를 사용하여 RabbitMQ 컨테이너를 생성하고, Management 페이지를 실행한다. 2. 파일구성 2-1. docker-compose.yml version: "3.8" services: rabbitmq: image: rabbitmq:3-alpine container_name: rabbitmq volumes: - ./.docker/rabbitmq/etc/:/etc/rabbitmq/ - ./.docker/rabbitmq/data/:/var/lib/rabbitmq/ - ./.docker/rabbitmq/logs/:/var/log/rabbitmq/ ports: - 5672:5672 # default port - 15672:15672 # management port env..
Apache Bench 웹서버 부하 테스트
·
Tool
Apache Bench?Apache Bench(이하 ab)는 아파치 하이퍼텍스트 전송 프로토콜 (HTTP) 서버의 성능을 검사하는(benchmarking) 도구이다.  ab - 아파치 웹서버 성능검사 도구 - Apache HTTP Server Version 2.4ab - 아파치 웹서버 성능검사 도구 이 문서는 최신판 번역이 아닙니다. 최근에 변경된 내용은 영어 문서를 참고하세요. ab는 아파치 하이퍼텍스트 전송 프로토콜 (HTTP) 서버의 성능을 검사하는(benchttpd.apache.org사용ab [option] [http://]hostname[:port]/path테스트- 부하테스트 타겟은 "http://www.google.com/"- 총 테스트할 요청 수는 100개- 동시접속은 10개 ab -n 10..
Docker 명령어 정리
·
Docker
docker 버전 확인docker --versiondocker 이미지 가져오기docker pull docker 이미지 가져와서 컨테이너 실행docker run docker 실행중인 컨테이너 확인[-a] 전체 목록 확인docker ps [-a]docker 컨테이너 실행docker start docker 컨테이너 종료docker stop  docker 컨테이너 제거docker rm  docker 컨테이너 모두 제거docker rm -f $(docker ps -a) docker 이미지 제거docker rmi  docker 사용하지 않는 이미지 모두 제거docker image prune docker 이미지 모두 제거docker image prune -a docker 컨테이너 환경을 이미지로 생성docker co..
Javascript 정규표현식으로 URL 찾아서 변환하기
·
Web/Javascript
정규표현식 /(https?:\/\/[^\s]+)/g https?:\/\/ http:// 또는 https:// 찾음 [^\s]+ 공백이 아닌 문자열을 하나 또는 그 이상 찾음 g Global을 표현하며 문자열 내 모든 패턴을 검색 활용 var str = `Kakao: https://www.kakaocorp.com` let formatted = str.replace(/(https?:\/\/[^\s]+)/g, '$1');
executor failed running [/bin/sh -c apt-get update]: exit code: 100 이슈
·
Docker
1. 이슈 docker-compose php 컨테이너 실행 중 "executor failed running [/bin/sh -c apt-get update]: exit code: 100" 에러 발생. 2. 원인 ubuntu system 시간과 실제 시간이 달라서 Dockerfile 내 "apt-get update" 실행 시 에러 발생 3. 해결 apt-get update 수행 전 명령어를 추가 RUN echo "Acquire::Check-Valid-Until \"false\";\nAcquire::Check-Date \"false\";" | cat > /etc/apt/apt.conf.d/10no--check-valid-until RUN apt-get update
PHP sort()
·
Web/PHP
sort(array &$array, int $flags = SORT_REGULAR): true 정렬 유형 flag SORT_REGULAR - 적상적으로 항목을 비교 SORT_NUMERIC - 숫자로 항목을 비교 SORT_STRING - 문자열로 항목을 비교 SORT_LOCALE_STRING - 현재 로케일을 기준의 문자열로 항목을 비교. setlocale()을 사용하여 변경된 로케일을 사용 SORT_NATURAL - natsort()와 같은 "자연 순서"로 항목을 비교 SORT_FLAG_CASE - 대/소문자 구분없이 정렬하기 위해 SORT_STRING 또는 SORT_NATURAL와 결합하여 사용 대/소문자 구분없이 정렬
PSR-1: Basic Coding Standard
·
Web/PHP
PSR-1: 기본 코딩 표준 1. 파일(Files)1-1.PHP 태그(PHP Tags)PHP 코드는 > 또는 을 사용해야 한다(MUST) 1-2. 문자 인코딩(Character Encoding)PHP 코드는 BOM 없이 UTF-8을 사용해야한다.(MUST) 1-3. 부작용(Side Effects)파일은 "Side effects"를 발생시키지 않으며 새로운 클래스, 상수, 함수 등 을 선언하거나(SHOULD),"Side effects" 로직을 실행 해야한다(SHOULD).둘 다(선언과 "Side effects") 수행하면 안된다(SHOULD NOT). "Side effects"는 선언된 클래스, 함수, 상수 등 과 직접적으로 관련되지 않은 로직을 파일에 포함하여 실행하는 것을 의미한다. "Side eff..
Docker commit
·
Docker
1. 목표Docker container의 환경을 Docker image로 만들면 내가 필요한 컨테이너 환경을 커스텀하여 사용ubuntu기반 NVM(Node Version Manager)가 설치된 Docker container를 Docker image로 생성 2. 환경Windows11Docker version 20.10.16Docker Compose version v2.6.0Ubuntu 18.04NVM 3. 진행과정3-1. Docker Hub에서 사용할 OS image 선택 3-2. 선택한 OS image로 Docker container 실행# docker-compose.ymlversion: "3.7"services: ubuntu: image: ubuntu:18.04 command: tail ..