#6 편집기를 사용하여 타입 시스템 탐색하기
·
✏️ Study/🧽 JS & TS
이펙티브 타입스크립트 (댄 밴더캄 지음) 를 읽고 정리 📍에디터에서 타입 에러의 이유를 알려줌 - 타입 에러가 발생하는 이유를 에디터에서 친절하게 설명해준다 - 타입 에러 예시 function getElement(elOrId: string | HTMLElement | null): HTMLElement { if (typeof elOrId === "object") { // typeof null === object return elOrId; // null 을 반환할 수 없어서 (HTMLElement에 할당할 수 없어서) 에러 발생 } else if (elOrId === null) { return document.body; // 전역 객체로 body에 접근 } else { // elOrId가 string인 경우..
튜플(Tuple) 타입
·
✏️ Study/🧽 JS & TS
📍튜플 (Tuple) - 요소의 타입과 갯수가 고정된 배열을 표현할 수 있다 - 변경이 불가능 - Array 인터페이스를 만족하는 객체 - 예시 // 튜플로 표현하고 싶으면 타입을 명시해 줘야함 type t1 = { x: [number, number, number], // 튜플 bar: { name: string; } } const foo: t1 = { x: [1, 2, 3], // t1 타입에서 x 프로퍼티에 튜플 타입을 지정하지 않으면 number[]가 디폴트 // x 심벌 위에 커서를 올리면 number[] bar: { name: "Fred" } }
[Python] Class, 특수 메서드, Docstring
·
✏️ Study/🐍 Python
📍클래스 및 메서드 정의class ClassName: def method_name(self, other_parameters): body_of_method - 메서드의 첫 번째 매개변수(self)는 현재 인스턴스를 나타낸다- self 예시class Dog: years = 0 def dog_years(self): return self.years * 7fido = Dog()fido.years = 3print(fido.dog_years()) # 21 - 클래스 예시 1class Person: apples = 0 ideas = 0johanna = Person()johanna.apples = 1johanna.ideas = 1martin = Person()mart..
[Python] dir, help 메서드 +a
·
✏️ Study/🐍 Python
📍dirdir(인스턴스) : 해당 인스턴스의 클래스가 갖는 프로퍼티와 메서드를 모두 반환 예시 - 문자열 클래스의 모든 프로퍼티와 메서드 반환print(type("")) # print(dir(""))# ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__',# '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__',# '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__',# '__mod__', '__mul_..
[Python] Dictionary 연산, 메서드
·
✏️ Study/🐍 Python
1️⃣연산len(dictionary)for key in dictionary : 딕셔너리의 각 키를 순회 가능for key, value in dictionary : 딕셔너리의 각 키와 밸류를 순회 가능if key in dictionarydel dictionary[key] : 해당 필드 제거 2️⃣메서드dict.get(key, default) : 키에 해당하는 요소를 반환하거나 존재하지 않는 경우, 기본값을 반환dict.keys() : 키 시퀀스를 반환dict.values() : 값 시퀀스를 반환dict.items() : (키, 값) 형태의 튜플들의 시퀀스를 반환dict.update(other_dict) : concat처럼 다른 딕셔너리 필드를 추가 (형태가 같아야 함) 3️⃣예시- 딕셔너리 순회 + 튜플 ..
[Python] list comprehension, 시퀀스 연산, list 메서드
·
✏️ Study/🐍 Python
📍list comprehension- 빠르게 배열 만들기 가능- 조건문도 사용 가능 countries = ["Korea", "Japan", "China", "France", "Germany", "USA"]name_lengths = [len(country) for country in countries]print(name_lengths) # [5, 5, 5, 6, 7, 3]first_alphabet = [country[0] for country in countries]print(first_alphabet) # ['K', 'J', 'C', 'F', 'G', 'U']# 1부터 100까지 3의 배수 배열에 담아 출력하기num_arr = [x for x in range(1, 101) if x % 3 == 0]pr..
[원티드 FE 프리온보딩] 2-1. CI & CD, Github Actions
·
✒️Notes/🎥활동
원티드 프론트엔드 프리온보딩 (22.12.19 월 ~ 23.01.20 금) 1. CI & CD 📍CI (Continuous Integration) - 코드의 지속적 통합 - 일반적으로 코드를 통합한다고 하면 dev -> main 브랜치로 merge하는 것을 떠올린다 - 진정한 CI는 코드를 합치는 것 뿐만 아니라 코드를 테스트하고 유효한지 검사하는 확인까지 포함 📍CD (Continuous Deployment 또는 Delivery) - 코드의 지속적 배포 - CI를 통해 성공적으로 통합된 코드를 Development 또는 Production 환경에 자동으로 배포 - deployment : production 환경에 배포 - delivery : development 환경에 배포 📍CI/CD 플랫폼 - 개발..
[원티드 FE 프리온보딩] 1-2. Husky - git hook을 쉽게하는 라이브러리
·
✒️Notes/🎥활동
원티드 프론트엔드 프리온보딩 (22.12.19 월 ~ 23.01.20 금) 📍git hook - git 에서 특정 이벤트 발생하기 전, 후로 특정 hook 동작을 실행할 수 있게 하는 것 예) commit, push 전 후 lint - 모든 팀원들의 코드 컨벤션을 강제적으로 통일 pre-commit hook 또는 pre-push hook 을 통해서.. - 설정이 까다로워서 husky 라이브러리의 도움을 받음 📍husky - git hook 설정을 도와주는 라이브러리 - 번거로운 git hook 설정이 편함 - (팀 프로젝트 시, 최초 생성자가 만든 프로젝트를 클론한 뒤) npm install 과정에서 사전에 세팅해둔 git hook을 모두 적용시킬 수 있어서 팀원들이 편리 - husky를 통해 pre-c..