반응형

전체 글 24

소수 찾기

에라토스테네스의 체 알고리즘 https://velog.io/@reasonz/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%86%8C%EC%88%98-%EC%B0%BE%EA%B8%B0-JS-%EC%97%90%EB%9D%BC%ED%86%A0%EC%8A%A4%ED%85%8C%EB%84%A4%EC%8A%A4%EC%9D%98-%EC%B2%B4 0 . 2부터 N까지의 배열을 만든다 // 1. 방법 Array.from({length: n-1}, (v, i) => i+2); // 2. 방법 Array(n-1).fill().map((v, i) => i+2); 1. 맨 앞 숫자를 소수로 간주 2. 리스트에서 해당 숫자로 나눠 떨어지는 숫자들을 모두 제거 3. 리스..

카테고리 없음 2023.12.13

리스코프 치환원칙

정의 부모 클래스의 인스턴스 대신에 자식 클래스의 인스턴스를 사용해도 코드가 원래 의도대로 작동해야한다. => 자식 클래스의 인스턴스는 부모 클래스의 행동 규약에서 벗어나는 행동을 하면 안된다. 리스코프 치환원칙에 위배되는 경우 1. 자식 클래스가 부모 클래스의 변수 타입을 바꾸거나, 메서드의 파라미터 또는 리턴 값의 타입 이나 개수를 바꾸는 경우 2. 자식 클래스가 부모 클래스의 메서드를 의도와 다르게 오버라이딩 하는 경우 - 코드를 실행해도 즉각적으로 에러가 나지 않아 발견하기 더 어려움 리스코프 치환원칙을 준수하는 자식 클래스를 만들려면 - 상속은 'A는 B이다' 라는 부분집합 관계가 성립하면 B를 부모로 하는 상속관계를 만들 수 있다. - 그러나 객체 상속 관계를 만들 때, A가 B의 행동 규약을..

카테고리 없음 2023.11.12

Object.freeze()

https://velog.io/@brgndy/Object.freeze%EB%8A%94-%EC%A0%95%EB%A7%90-%EC%96%BC%EB%A0%A4%EC%A4%84%EA%B9%8C https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze Object.freeze() - JavaScript | MDN Object.freeze() 메서드는 객체를 동결합니다. 동결된 객체는 더 이상 변경될 수 없습니다. 즉, 동결된 객체는 새로운 속성을 추가하거나 존재하는 속성을 제거하는 것을 방지하며 존재하는 속성의 developer.mozilla.org 객체를 동결시키는 역할을 한다. 객체 동결 시에는 객체의 ..

카테고리 없음 2023.11.10

Jest 공부

Mocking - 단위 테스트를 작성할 때 해당 코드가 의존하는 부분을 가짜로 대체하는 기법 jest.fn() - mock function을 생성하게끔 하는 함수 - 호출 결과를 지정하지 않으면 기본적으로 undefined를 리턴 toBeCalled*** - Times : 몇 번 호출되었는지 - With : 무엇으로 호출되었는지 spyOn() - 함수의 구현을 가짜로 대체하는 mock function과 다르게 직접 알아내야하는 경우 사용 - jest.spyOn(object, methodName) https://www.daleseo.com/jest-fn-spy-on/ Jest의 jest.fn(), jest.spyOn()를 이용한 함수 모킹 Engineering Blog by Dale Seo www.dale..

카테고리 없음 2023.11.09

세션과 토큰

세션 : 서버가 클라이언트와 상호작용을 유지하기 위해 서버 내 클라이언트의 상태 정보를 저장하는 방식 - 매장 점원이 얼굴을 기억하는 것 - 인증이 된 사용자라는 것을 세션id를 생성하여 저장한다. - 이 세션 id를 클라이언트에 보냄 - 클라이언트는 이 세션 id를 인가가 필요한 요청에서 같이 보낸다. 토큰 : 사용자 인증에 대한 정보가 담긴 징표 - JWT (Json Web Token) : xxxx.yyyyy.zzzzz - Header, Payload, Signature - Header : 토큰의 유형과 서명에 사용된 암호화 알고리즘에 대한 정보를 포함 - Payload : 사용자정보 혹은 토큰 정보를 나타내는 클레임을 포함한다. (발행시간 등) - Signature : 토큰의 무결성 보장, 변조 방..

Computer Science 2023.10.16

백준 python 입력 받는 방식

import sys n = int(sys.stdin.readline().rstrip()) a, b = map(int, sys.stdin.readline().rstrip().split()) arr = map(int, sys.stdin.readline().rstrip().split()) # 1 2 3 4 a = list(map(int,input().split())) 1. sys는 python에서 인터프리터를 제어하는 모듈이다. https://wikidocs.net/78 [5.3 여러 가지 모듈 이번 시간도 계속해서 모듈에 대해 알아볼까요? 파이썬에서 기본적으로 제공하는 수많은 모듈 중에서 자주 쓰이는 것들을 이번 시간에 살짝 소개해 드리려고 합니다. ## sys 처… wikidocs.net](https://..

카테고리 없음 2023.09.12

디자인시스템구축, 어떤 것으로 할 것인가? 컴포넌트기반 vs 클래스기반 비교 [유데미 스나이퍼팩토리 10주완성 프로젝트 캠프 프론트엔드(리액트/react)]

1. 컴포넌트 기반 디자인 시스템: 컴포넌트 기반 디자인 시스템에서는 구조와 스타일링이 포함된 재사용 가능한 UI 컴포넌트를 만듭니다. 장점 캡슐화: 컴포넌트는 기능과 스타일을 캡슐화하여 자체적으로 동작하며, 프로젝트 전체에서 재사용할 수 있습니다. 모듈성: 컴포넌트를 조합하고 결합하여 복잡한 UI를 구축할 수 있습니다. 재사용성: 컴포넌트는 프로젝트 전반에서 쉽게 재사용할 수 있어 일관성을 유지하고 중복을 줄일 수 있습니다. 유지 보수성: 컴포넌트의 변경 사항은 격리되어 유지 관리가 용이합니다. 고려 사항 학습 곡선: 팀 구성원은 컴포넌트 API와 사용 패턴을 익혀야 합니다. 개발 오버헤드: 컴포넌트 라이브러리 생성 및 유지 관리에는 추가 개발 작업이 필요합니다. 유연성: 모든 사용 사례를 커버하지 못..

카테고리 없음 2023.07.19

[css] styled-component vs tailwind css

스타일드 컴포넌트 - CSS in JS 라이브러리로, 자바스크립트 코드 내에서 CSS를 작성할 수 있다. 장점 1. 컴포넌트 기반 스타일링이 가능하다. 각 개별 컴포넌트 안에 스타일을 캡슐화 하는 접근을 하는 라이브러리이다. 이러한 구조가 코드의 유기성, 재사용성을 높이고 스타일 코드에 대한 이해를 쉽게 해준다. 2. 중첩스타일 중첩 문법이나, 선택 참조자 &, 다른 컴포넌트 호출 ${} 등을 통해 편리하게 스타일링 코드를 작성할 수 있다. (SCSS 문법과 유사) 3. 동적 스타일링 props에 따라 적용되는 스타일링을 다르게 하면서, 동적 스타일링을 가능케 한다. 4. 테마 적용 글로벌 스타일이나, 테마 적용을 위한 빌트인 지원이 있어 디자인 시스템 적용을 유지하는데 있어 도움이 될 수 있다. ex)..

카테고리 없음 2023.07.05

[python] enumerate 함수

enumerate() 함수는 리턴 값을 리스트의 순서값과 함께 튜플 형태로 Return 한다. 주로 반복문에서 많이 쓰인다. list = [1, 2, 3, 4, 5, 6] for p in enumerate(list): ... print(p) ... (0, 1) (1, 2) (2, 3) (3, 4) (4, 5) (5, 6) 시작 순서값을 변경할 때에는 두번째 인자로 start=x 형태로 지정해주면 된다. list = [1, 2, 3, 4, 5, 6] for p in enumerate(list, start=1): ... print(p) ... (1, 1) (2, 2) (3, 3) (4, 4) (5, 5) (6, 6)

카테고리 없음 2023.07.04

[JavaScript] 실행 컨텍스트 이해하기

JavaScript의 원리를 담고 있는 실행 컨텍스트 자바스크립트는 유독 밈이 많은 개발 언어이기도 하다. 다른 언어에 비해 다소 난감한 결과들을 우리에게 표출하곤 해서 그러한 밈들이 많이 생겨난 듯하다. 그렇다면 왜 자바스크립트가 독특한 결과물을 내는지 이해해보는 건 어떨까? 여기 실행 컨텍스트라는 개념이 있다. 실행 컨텍스트는 자바스크립트의 구동원리를 이해하는데 있어서 근간이 되는 개념이다. 오늘 이 개념을 공부해보면서 다소 난감한 자바스크립트의 비밀을 조금은 이해해보도록 하자. 실행 컨텍스트란? 그렇다면, 이 실행 컨텍스트라는 것은 무엇일까? context라는 단어가 가진 뜻 그대로, 자바스크립트의 요소들이 실행되는 환경 자체를 의미한다. 여기서 코드들은 '콜스택' 이라는 실행컨텍스트..

카테고리 없음 2023.06.26
반응형