프론트개발자 20

캐시(Cache)/캐시전략 이란?

캐싱 전략은 웹 서비스 환경에서 시스템 성능 향상을 기대할 수 있는 중요한 기술이다. 일반적으로 캐시(cache)는 메모리(RAM)를 사용하기 때문에 데이터베이스 보다 훨씬 빠르게 데이터를 응답할 수 있어 이용자에게 빠르게 서비스를 제공할 수 있다. 따라서 어느 종류의 데이터를 캐시에 저장할지, 얼만큼 데이터를 캐시에 저장할지, 얼마동안 오래된 데이터를 캐시에서 제거하는지에 대한 '지침 전략' 을 숙지할 필요가 있다. 크게 캐시 읽기 전략(Read Cache Strategy) / 캐시 쓰기 전략(Write Cache Strategy) 가 있다 캐시 읽기 전략 (Read Cache Strategy) 1. Look Aside 패턴 데이터를 찾을때 우선 캐시에 저장된 데이터가 있는지 우선적으로 확인하는 전략...

기타 2023.02.28

Module 이란?

개발하는 프로그램의 크기가 커지면 기능들을 분리해야 된다. 이때 분리된 파일 각각을 모듈이라고 한다. 모듈화는 파일을 작은 조각으로 나누어 다루기 쉽도록 하는 과정이다. 프로그램 코드를 기능별로 나눠서 독립된 파일에 저장하는 방식을 모듈화 프로그래밍이라고 한다. - export 지시자를 변수나 함수 앞에 붙이면 외부 모듈에서 해당 변수나 함수에 접근할 수 있다. - import 지시자를 사용하면 외부 모듈의 기능을 가져올 수 있다. * 모듈과 컴포넌트의 차이점 - 코드에서 재사용성을 높이기 위해서 컴포넌트화를 많이 시킨다. - 의미는 비슷하지만 둘의 차이점이 존재하는데 모듈은 구조의 최소단위고 컴포넌트는 런타임에 독립적으로 실행되는 단위이다.

기타 2023.02.28

Bundle 이란? About Bundle and WebPack

Webpack이란 ? Webpack = 모듈 번들링이라고 한다. html 파일에 들어가는 자바스크립트 파일들을 하나의 자바스크립트 파일로 만들어주는 방식을 모듈 번들링이라고 한다. 쉽게 말하면, 필요한 다수의 자바스크립트 파일을 하나의 자바 스크립트 파일로 만들어 주는 것을 Webpack 이라고 한다. Webpack을 사용하게되면 웹에서 사용하는 다양한 파일들을 모듈별로 다룰 수 있게된다. Bundle이란 ? 서로 참조관계에 있는 파일들을 모아서 하나의 파일로 묶는것을 Bundle 이라고한다. Webpack이 이렇게 Bundle을 시켜줌으로써, Webpack은 모듈 번들러라고도 불린다. Bundle이 중요한 이유 1. 모든 모듈을 로드하기 위해 검색하는 시간이 단축 2. 사용하지 않는 코드를 제거 3. ..

기타 2023.02.28

[JavaScript] 프로그래머스 코딩테스트 ChatGPT 로 풀기 - 2

두 문자열 s와 skip, 그리고 자연수 index가 주어질 때, 다음 규칙에 따라 문자열을 만들려 합니다. 암호의 규칙은 다음과 같습니다. 문자열 s의 각 알파벳을 index만큼 뒤의 알파벳으로 바꿔줍니다. index만큼의 뒤의 알파벳이 z를 넘어갈 경우 다시 a로 돌아갑니다. skip에 있는 알파벳은 제외하고 건너뜁니다. 예를 들어 s = "aukks", skip = "wbqd", index = 5일 때, a에서 5만큼 뒤에 있는 알파벳은 f지만 [b, c, d, e, f]에서 'b'와 'd'는 skip에 포함되므로 세지 않습니다. 따라서 'b', 'd'를 제외하고 'a'에서 5만큼 뒤에 있는 알파벳은 [c, e, f, g, h] 순서에 의해 'h'가 됩니다. 나머지 "ukks" 또한 위 규칙대로 바..

코딩테스트 2023.02.27

[JavaScript] 프로그래머스 코딩테스트 ChatGPT 로 풀기 - 1

*개요 - 하도 ChatGPT가 난리 법석이여서 코테를 얼마나 잘푸는지 확인해보고 싶었다. - 코테가 어려워서 다양한 풀이 방법을 보고 싶었다. - 코테 싫어!!!! 코니는 영어 단어가 적힌 카드 뭉치 두 개를 선물로 받았습니다. 코니는 다음과 같은 규칙으로 카드에 적힌 단어들을 사용해 원하는 순서의 단어 배열을 만들 수 있는지 알고 싶습니다. 원하는 카드 뭉치에서 카드를 순서대로 한 장씩 사용합니다. 한 번 사용한 카드는 다시 사용할 수 없습니다. 카드를 사용하지 않고 다음 카드로 넘어갈 수 없습니다. 기존에 주어진 카드 뭉치의 단어 순서는 바꿀 수 없습니다. 예를 들어 첫 번째 카드 뭉치에 순서대로 ["i", "drink", "water"], 두 번째 카드 뭉치에 순서대로 ["want", "to"]가..

코딩테스트 2023.02.27

ECMAScript 2022 특징

1. 클래스 필드 - 속성/메소드 앞에 '#'을 붙이면 private filed가 된다. - static 메소드를 가질 수 있다. 2. in 을 사용한 프라이빗 필드 체크 3. 정규식 플래그 d 4. await 호출하기 - async함수가 없어도 await를 사용할 수 있게 됨 5. .at() 매서드 추가 - at()안의 숫자로도 접근할 수 있게 됨 - 마이너스로 뒤에서부터 요소를 조회할 수 있음 6. Object.hasOwn() 추가 - 기존 오브젝트뿐만 아니라 다른 프로퍼티에서도 사용가능 7. Error.prototype.cause - 에러의 더 상세한 원인을 기술할 수 있음 자세한 특징 설명은 아래 참조 https://yozm.wishket.com/magazine/detail/1570/

JavaScript 2023.02.24

JavaScript(JS) - 프로그래머스 문제풀기 (feat.배열,김선생)

​ 문제1 : arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return => 중복을 찾지만 순서를 유지해야된다. (기존 중복제거 함수들 사용불가, 사용하면 [1,3,0] return) ​ 해결: 포문으로 돌려서 계속해서 데이터를 저장하고 비교하는 방식으로 풀어봄 => ​ let result = []; let check = ""; for (let i=0; i 인덱스값을 추출 ​ 해결: findIndex 배열 함수를 사..

JavaScript 2023.02.20

JavaScript(JS) - window.open(); url 짤림 현상

페이지이동시에 보통 window.location.href 를 마니 사용한다 윈도우를 사용해서 기존의 창을 냅두고 새창을 띄울때는 window.open(관련 url);을 사용한다. 하지만 이번에 작업하면서 뒤에 파라메터가 끊기면서 제대로 작동이 안되었다. 찾아보니깐 단순이 url 복사 말고 이런식으로 해주니 제대로 들어갔다. window.open(path, '_blank', 'noreferrer'); ​ 다음부터는 헤메지고 말고 이런식으로 작성해보자.

JavaScript 2023.02.15

JavaScript(JS) - Math

Math - 수학적인 상수와 함수를 위한 속성과 메서드를 가진 내장 객체 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math Math - JavaScript | MDN 위에 사이트에서 다양한 형태를 볼수있지만 최근에 내가 썻던거 위주로 정리해보았다. 1) Math.abs( X ) - X 값을 절대값 (양수)으로 반환한다. => 2) Math.celi( ) - 주어진 숫자보다 크거나 같은 숫자 중 가장 작은 숫자를 integer 로 반환한다. => 3) Math.round( ) - 함수는 입력값을 반올림한 수와 가장 가까운 정수 값을 반환한다. => 4) Math.trunc( ) - 주어진 값의 소수부분을 제거..

JavaScript 2023.02.15

JavaScript(JS) - list filtering 관련 함수 (feat. 중복제거)

리스트를 다양한 기준으로 필러링을 하기 위해서 filter 라는 함수를 쓴다. 첫번째는 리스트 count 라는 객체기준으로 2 이상이 넘어가는것을 필터링하는 것이다. 두번째 리스트는 filter 와 indexOf 라는 함수를 사용해서 중복제거를 하는 것이다. 세번째 리스트는 find 라는 함수를 사용해서 여러 리스트중에서 'Honey'라는 name을 가진 것을 찾아서 배출(필터링)해주는 것이다. 추가적으로 중복제거에 있어서 Set라는 함수를 쓰는데 사용법은 아래와 같다. * Set라는 함수 자체가 중복 객체를 저장하지 않기 때문

JavaScript 2023.02.14
반응형