본문 바로가기

개발 공부30

TypeScript - Keys, Type 지정하기 서문 업무 도중 TypeScript 파일에서 dictionary 형태를 가진 object 변수(ex: const dict = {ket : value, ...}를 사용해야 했다. 이때에 TS의 type을 어떻게 지정할 수 있는 지 알아보았다. 나는 단순한 형태 한 개만 있는 줄 알았지만 3가지 종류가 있기에 이들을 비교하고 정리하고자 기록을 남긴다. Record 가장 일반적인 구조이다. Keys와 Type에서 각각 지정한 속성을 type으로 가지는 object를 생성한다. 또 이 유틸리티는 타입의 프로퍼티를 다른 타입에 매핑 시키는데 사용될 수 있다.(이 부분은 아직 잘 이해가 되지 않는다.) interface CatInfo { age: number; breed: string; } type CatName .. 2021. 10. 23.
인터넷 서문 이 포스팅은 생활코딩의 WEB > 웹 애플리케이션 만들기 > 인터넷 파트의 내용을 정리한 글입니다. IP 주소(Internet Protocol Address) 인터넷이란 뭘까? 나에겐 인터넷은 다른 하나의 세계이다. 인터넷(영어: Internet, 문화어: 인터네트)은 컴퓨터로 연결하여 TCP/IP(Transmission Control Protocol/Internet Protocol)라는 통신 프로토콜을 이용해 정보를 주고받는 컴퓨터 네트워크이다. 라는 기술적 정의도 있지만 결국에 사람들이 컴퓨터를 통해 가상 공간에 만나서 여러 상호작용을 하는 우리가 사는 현실의 모습과 비슷하며 또 완전히 다른 속성을 가지고 있다. 그래서 다른 하나의 세계라고 생각한다. 세계에서 사람들이 정상적으로 살아가기 위해서.. 2021. 8. 18.
F() Expression 서문 Django의 성능을 높이기 위한 여러 방안을 검색하면서 F() Expression에 대해 알게 되었다. 이 포스팅은 F() Expression에 대해 내가 공부한 내용들을 정리한 것이다. F() Expression 이란? django 공식문서에서 설명하는 F()는 다음과 같다. F() 개체는 모델 필드의 값, 모델 필드의 변환 값 또는 주석이 달린 열을 나타냅니다. 이를 통해 실제 데이터베이스에서 Python 메모리로 가져올 필요 없이 모델 필드 값을 참조하고 이를 사용하여 데이터베이스 작업을 수행할 수 있습니다. 대신 Django는 F() 개체를 사용하여 데이터베이스 수준에서 필요한 작업을 설명하는 SQL 식을 생성합니다. 위의 설명에서 내가 주목한 것은 바로 Python 메모리이다. 이것이 F.. 2021. 8. 18.
pop(0)와 pop()의 차이 list.pop([i]) 목록에서 지정된 위치에서 항목을 제거하고 반환합니다. 인덱스를 지정하지 않으면 a.pop()이 리스트의 마지막 항목을 제거하고 반환합니다. pop(0)의 시간 복잡도가 O(n)인 이유 먼저 pop()을 살펴보자. 위에서 말했듯이 pop()이 리스트의 마지막 항목을 제거하고 반환한다. 그렇기에 별다른 처리 과정이 필요하지 않기에 pop()의 시간 복잡도는 O(1)이다. 그렇다면 끝 원소가 아닌 그 외의 원소를 pop하는 것은 무엇이 다를까? 우선 python의 list는 배열로 설계되었음을 알아야 한다. 따라서 중간의 원소를 삭제하려면 해당 원소 다음 인덱스 원소들을 앞으로 당겨주어야 한다. 예를 들어, a= [1, 2, 3, 4] 란 list가 있을 때 원소 2를 지우고 싶으면 .. 2021. 8. 17.