728x90 반응형 개념16 Django: mysqlclient connection Meta 수업을 듣다가 mysql 을 사용해서 DB 를 연결해야하는 부분이 있었는데 pipenv 로 가볍게 설치해서 진행하면 되겠지 싶었다. 그런데 예상치 못한 에러가 계속해서 발생했다. [pipenv.exceptions.InstallError]: Collecting mysqlclient==2.2.0 (from -r /var/folders/3t/xyg5mpbn57dchy7qksj9n2vr0000gn/T/pipenv-_macr11_-requirements/pipenv-hu_mma6k-hashed-reqs.txt (line 1)) [pipenv.exceptions.InstallError]: Using cached mysqlclient-2.2.0.tar.gz (89 kB) [pipenv.exceptions.I.. Dev./Django & DRF 2023. 11. 4. Dev: How a CDN improves scaling CDN (Contents Delivery Network), 굳이 한글로 하자면 컨텐츠 전달네트워크(?) 는 HTML, CSS, JS, 이미지와 같은 웹 애플리케이션의 정적 파일을 저장하기 위해 널리 사용된다. CDN 은 세계 각지의 서버(가까운 서버)로 부터 컨텐츠를 전달한다. CDN CDN 은 여러 서버를 가지고 있으며 이를 Point of Presence (PoP) 또는 Point of Service 라고 한다. 이러한 서비스 지점 들은 전 세계 다양한 국가에 위치하고 있다. 웹 애플리케이션을 CDN 에 연결하면, 각 PoP는 웹 애플리케이션의 정적파일 복사본을 저장한다. 이를 통해, 유저가 웹 애플리케이션을 아시아 지역에서 방문할 경우, 그 지역에 가장 가까운 서비스 제공자(ISP)를 통해 애플리케.. Dev./Basic knowledge 2023. 11. 3. Dev: 네트워킹 in Cloud 클라우드 컴퓨팅을 이해하기 위해서는 몇가지 개념들을 알아야 한다. 특히 서버가 어떻게 공개 혹은 비공개로 통신을 하는지 이해해야 한다. Public network vs Private network Public 네트워크에서는 클라우드 컴퓨팅 유닛이 IP 주소나 URL 을 사용하여 공개적으로 접근이 가능하다. 반면에 Private 네트워크의 컴퓨팅 유닛은 공개적으로 접근 할 수 없다. 이러한 유닛은 관리 콘솔에서 접근 가능하지만 공개 인터페이스르 제공하지 않기 때문이다. 그렇기 때문에 Public 네트워크의 경우 완전히 다른 네트워크에서도 접근이 가능하지만 Private 네트워크의 경우 같은 네트워크 안에서만 접근이 가능하다. 로드 밸런서는 일반적인 인프라의 앞에 위치 하고 여러 웹 서버에 연결이 된다. 이.. Dev./Basic knowledge 2023. 11. 2. Dev: Self-hosted, PaaS, SaaS and DBaaS 클라우드 도구를 사용할 때 선택할 수 있는 다양한 옵션이 있다. Self-Hosted 공개 또는 개인 클라우드 네트워크를 생성하고 모든 것을 직접 관리하는 것을 자체 호스팅 또는 Self-Hosted 라고 한다. 비용이 많이 들고, 초기 구축 비용과 같은 투자를 많이 해야한다. 따라서 이것은 클라우드 컴퓨팅에서 선호되는 것은 아니다. 그러나 민감한 데이터를 다루거나, 추가적인 보안이 필요하거나, 공개 클라우드 제공자가 충족시키지 못하는 맞춤 요구 사항이 있을 때 선택할 수 있는 옵션이다. IaaS Infrastructure as a Service 는 클라우드 제공자가 요구에 따라 로드 밸런서, 서버, 컴퓨팅 유닛, Storage, 가상화 등의 인프라 단위를 제공하는 것이다. IaaS 를 사용하면 인프라를.. Dev./Basic knowledge 2023. 11. 1. Python: map, extend map Return an iterator that applies function to every item of iterable, yielding the results. If additional iterables arguments are passed, function must take that many arguments and is applied to the items from all iterables in parallel. With multiple iterables, the iterator stops when the shortest iterable is exhausted. For cases where the function inputs are already arranged into argument tup.. Dev./Python 2023. 10. 22. Python: product, permutations https://docs.python.org/ko/3/library/itertools.html itertools — Functions creating iterators for efficient looping This module implements a number of iterator building blocks inspired by constructs from APL, Haskell, and SML. Each has been recast in a form suitable for Python. The module standardizes a core set... docs.python.org Product (생산, 과정에 의한 산물) itertools.product(*iterables, repeat=1) 입력.. Dev./Python 2023. 10. 21. Python: enumerate, zip, sorted enumerate iterable 객체를 인자로 받아 인덱스와 원소를 함께 반환 for index, element in enumerate(["apple", "banana", "cherry"]): print(index, element) # 0 apple # 1 banana # 2 cherry zip iterable 객체를 인자로 받고, 각 iterable 의 원소를 튜플로 묶어 반환한다. list1 = [1, 2, 3] list2 = ["a", "b", "c"] for num, char in zip(list1, list2): print(num, char) 1 a 2 b 3 c list1 = "asdqwease" list2 = "zxcasdqwr" for num, char in zip(list1, list2.. Dev./Python 2023. 10. 20. Python : functools.cmp_to_key() def compare(x, y): t1 = x + y t2 = y + x return (int(t1) > int(t2)) - (int(t1) < int(t2)) # t1이 크다면 1, 작다면 -1, 같으면 0) def solution(numbers): answer = '' n = [str(x) for x in numbers] # 리스트 컴프리헨션 문자 배열로 변환하여 n 에 저장 print("before sorted: ", n) n = sorted(n, key=functools.cmp_to_key(compare), reverse=True) print("after sorted: ", n) answer = str(int(''.join(n))) return answer # 예시 데이터 1 numbers1 = .. Dev./Python 2023. 10. 17. Python - 배열 Python 에서 배열은 하나의 식별자로 여러 데이터 항목을 저장할 수 있는 객체이다. 동일한 데이터 유형의 요소 집합을 저장해야 할 경우 배열이 유용하다. Python 에서 배열의 크기는 동적으로 증가하거나 감소할 수 있다. 배열과 리스트는 다르다. 배열은 리스트보다 적은 메모리를 사용한다. 1차원 배열 : 단일 행, 다중 열 다차원 배열 : 다중 행, 다중 열 배열 # 배열 생성 및 원소 접근 import array stu_roll = array.array("i", [101, 102, 103, 104, 105]) print(stu_roll[0]) print(stu_roll[1]) print(stu_roll[2]) print(stu_roll[3]) print(stu_roll[4]) # 101 # 102.. Dev./Python 2023. 6. 13. Python - 패키지 패키지는 점으로 구분된 모듈 이름을 사용하여 구성된 파이썬 모듈 및 하위 패키지의 모음 from MyApp.Handlers.text_handler import handle_text # 여기서 '.' 로 구분 되어 있는 단순히 보면 __init__.py 라는 특별한파일이 포함된 디렉터리 이다. __init__.py 의 존재는 해당 디렉터리가 파이썬 패키지임을 나타낸다. 실습 : 패키지 및 하위 패키지 생성 MyApp 이라는 디렉터리를 생성하여 파이썬 패키지를 만든다. MyApp 디렉터리 내부에 빈 파일인 __init__.py 를 생성한다. MyApp 디렉터리 내부에 Utils 와 Handlers 라는 두 개의 하위 디렉터리를 생성한다. Utils 및 handlers 하위 디렉터리에 각각 빈 .. Dev./Python 2023. 6. 12. Python - 클래스 상속 (Inheritance) 기존 클래스에서 새 클래스를 파생하여 새 클래스가 기존 클래스의 모든 멤버(변수와 메서드)를 상속 하는 메커니즘을 상속 또는 유도라고 한다. Old Class >>>>>>>>>>> New Class 기존 클래스를 슈퍼 클래스 (Super Class) 라고 하며, 새 클래스를 서브 클래스 (Sub Class) 라고 한다.자식 클래스, 파생 클래스, 새 클래스, : 서브 클래스 부모 클래스, 기존 클래스, 기본 클래스 : 슈퍼 클래스 파이썬의 모든 클래스는 object 라는 단일 슈퍼 클래스로부터 빌드되므로, 파이썬에서 클래스를 생성하면 내부적으로 object 가 슈퍼 클래스가 된다. 상속의 주요 장점은 코드 재사용성이다. 상속의 종류 단일 상속 (single Inheritance) 다중 레벨 상속 (mut.. Dev./Python 2023. 6. 12. Python - 함수 : 작동원리, return, 기본값, 가변, 키워드 함수란? 함수는 값을 계산하거나 작업을 수행하는 하위 프로그램이다. 함수의 유형에는 내장함수, 사용자 정의 함수가 있다. 한 번 작성하면 필요한 만큼 여러번 사용할 수 있다. → 코드의 재사용성이 증가한다. 함수로 관리하기 때문에 코드 유지 관리가 쉬워진다. 큰 작업을 여러 작은 작업을 나눌 수 있기 때문에 디버깅에 도움이 된다. 함수에 새로운 기능을 추가하거나 제거하는 것으로 영향을 줄 수 있다. 함수 정의 함수를 정의하기위해서는 def 키워드를 사용하여 함수이름과 괄호 뒤에 함수를 정의한다. def 함수명(): 지역변수 코드블록 return (변수 또는 표현식) def 함수명(매개변수1, 매개변수2, ...): 지역변수 코드블록 return (변수 또는 표현식) 함수 호출 함수는 호출할때 실행된다. .. Dev./Python 2023. 6. 11. 이전 1 2 다음 728x90 반응형