일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- CI
- 성능 개선
- nginx
- 3-Way HandShake
- 렌더링 과정
- certbot
- pm2
- https
- workflow
- 브라우저
- 리버스 프록시
- SSH
- 자동화
- 무중단
- 이미지 최적화
- nextJS
- ec2
- 이미지 압축
- gitgub actions
- 인증서
- DNS
- aws
- 배포
- 이미지 포맷 변경
- 로드 밸런싱
- tcp
- 검색엔진최적화
- webp
- SSL
- TLS
- Today
- Total
목록전체 글 (103)
개발일기
1.얕은 복사복사본의 속성이 복사본이 만들어진 원본 객체와 같은 참조(메모리 내의 같은 값을 가리킴)를 공유하는 복사이다.var person = { name: 'Lee'};var copy = person;copy.name = 'Kim'console.log(person) //{name : 'Kim'}console.log(copy) //{name : 'Kim'} 따라서 위와 같이 원본이나 복사본을 변경하면, 다른 객체 또한 변경될 수 있다. 2.얕은 복사 방법1. Array.prototype.slice()앝은 복사 방법의 대표적인 방법이다. slice() 메서드는 어떤 배열의 begin부터 end 까지 (end 미포함)에 대한 얕은 복사본을 새로운 배열 객체로 반환한다. 원본 배열은 바뀌지 않는다. ..
원시타입과 객체타입1. 원시타입이란 ?원시타입은 변경이 불가능한 값이다. 원시 값을 변수에 할당하면 변수에는 실제 값이 저장된다.var score = 80;var copy = score;console.log(score); //80console.log(copy); //80score = 100;console.log(score); //100console.log(copy); //80 값에 의한 전달변수에 원시 값을 갖는 변수를 할당하면 할당받는 변수(copy)에는 할당되는 변수(score)의 원시 값이 복사되어 전달된다.이를 값에 의한 전달 이라 한다. var score = 80;var copy = score;console.log(score,copy); //80 80console.log(score === cop..
useRef의 기능 두가지 첫번째, 저장 공간으로서의 기능을 한다. 리액트에서 값을 바꾸거나 UI를 렌더링할 때 상태관리(useState)를 한다. useRef는 변수처럼 값을 저장할 필요가 있는 변수로 사용되고, UI에 보일 필요가 없는 경우에 사용된다. 간단하게 예제를 들겠다. 검색을 하는데 같은 검색어를 입력하여 검색할 경우 불필요한 호출이 일어날 수 있다. 그렇기 때문에 useRef를 사용하여 이전에 검색한 값을 prevInputValueRef에 담아주고, 그 값과 동일한 검색어로 검색할 경우 호출이 일어나지 않게 하는 방법이다. const Search = () => { const [inputValue,setInputValue] = useState("") const prevInputValueRef..
1.var의 특징첫번째,가장 기본적인 특징으로는 재정의와 재선언이 가능하다.아래와 같이 같은 변수 이름에 다른 값을 할당할 수 있다는 특징이 있다.let과 const가 생긴 가장 큰 문제가 아닐까 한다.var a = 1;console.log(a)//expected output : 1var a = 2;console.log(a)//expected output : 2 두번째,var로 선언한 변수는 호이스팅 되면서 변수는 메모리에 할당되지만 아직 값을 가지지 않으며 undefined로 초기화가 된다.변수를 선언하기 전에 해당 변수를 사용하더라도 오류가 발생하지 않고 undefined가 반환된다.console.log(a)//expected output : undefinedvar a = 1console.log(a)..

내가 찾아본건 다음과 같다. 버튼을 클릭시 이전 페이지로 이동하는 것 react-router-dom의 useNavigate를 사용하여 navigate안에 인덱스 -1을 입력하면 뒤로가기 기능이 구현된다. 그래서 현재 진행중인 프로젝트에 사용해 봤다. 내가 진행중인 프로젝트는 어떤 함수를 실행하고 그 함수가 완료되었을 때 이전페이지로 이동 하도록 했다. PointCharge.tsx callback이라는 함수가 실행되고 결제가 완료되면(success) navigate(-1)를 사용하여 이전페이지로 이동하도록 했다. 안된다. 여기서 navigate(-1)을 사용하는건 뒤로가기 버튼에만 사용해야된다는 걸 알았다. 그래서 다른 방법을 생각해야 되는데 다른 방법을 한 3일은 고민한거 같다. 글을 작성하면서 느끼는 ..
1 관계형 데이터베이스 - 동일한 구조(릴레이션)의 관점에서 모든 데이터를 논리적으로 구성 - 선언적인 질의어를 통한 데이터 접근을 제공 - 응용 프로그램들은 데이터베이스 내의 레코드들의 어떠한 순서와도 무관하게 작성됨 - 사용자는 원하는 데이터만 명시하고, 어떻게 이 데이터를 찾을 것인가는 명시할 필요가 없음 - 관게 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델 특징 - 바탕이 되는 데이터 구조로서 간단한 테이블(릴레이션)을 사용 - 중첩된 복잡한 구조가 없음 - 집합 위주로 데이터를 처리 - 숙련되지 않은 사용자도 쉽게 이해할 수 있음 - 표준 데이터베이스 응용에 대해 좋은 성능을 보임 2 비관계형 데이터베이스 - NoSQL 이라고도 부르며, not Only S..

1. 컴퓨터의 구성 1.컴퓨터 구조 https://hongong.hanbit.co.kr/%EC%BB%B4%ED%93%A8%ED%84%B0%EC%9D%98-4%EA%B0%80%EC%A7%80-%ED%95%B5%EC%8B%AC-%EB%B6%80%ED%92%88cpu-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EB%B3%B4%EC%A1%B0%EA%B8%B0%EC%96%B5%EC%9E%A5/ [컴퓨터 구조] CPU, 메모리, 보조기억장치, 입출력장치를 알아보자 컴퓨터의 핵심 부품은 CPU, 메모리, 보조기억장치, 입출력장치입니다. 이 네 가지 부품의 역할만 이해하고 있어도 컴퓨터의 작동 원리를 대부분 파악할 수 있습니다. 주기억장치에는 크게 RAM과 RO hongong.hanbit.co.kr 2. 보조..
1. 캐시 - 데이터를 미리 복사해 놓는 임시 저장소 - 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리 - 데이터 접근에 오래 걸리는 경우를 해결하고 다시 계산하는 시간을 절약 - 즉, 캐시는 계층과 계층 사이에서 속도차이를 해결하기 위한 임시 저장소이다. 지역성의 원리 - 최근 사용한 데이터나 최근 접근한 데이터를 이루고 있는 공간, 그 가까운 공간에 접근하는 특성 2 메모리 할당 연속할당 고정 분할 방식 - 메모리를 미리 나누어서 관리하는 방식 내부 단편화 발생 - 메모리를 나눈 크기보다 프로그램이 작아서 들어가지 못하는 공간이 많이 발생하는 현상 가변 분할 방식 - 매 시점 프로그램의 크기에 맞게 동적으로 메모리를 나눠 사용하는 방식 외부 단편화 발생 - 메모리를 나눈..