본문 바로가기

dev

(48)
Authentication plugin 'caching_sha2_password' cannot be loaded 시작은 아래와 같은 에러였다 >python manage.py runserver .... NameError: name '_mysql' is not defined. mysql 때문에 고생했던 지난 날.. 재설치해서 해결했던 에러였다 바로 mysqlclient 재설치 그리고 난생 처음보는 (여기와서 보는 에러가 전부 난생처음본다만..) 에러를 만났다 >python manage.py runserver .... MySQLdb._exceptions.OperationalError: (2059, "Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/Users/jayce/miniconda3/envs/westagram/lib/plugin/cach..
[python] 함수의 결과는 언제나 하나다? [python] 함수 - 함수 기본 [python] 함수 - 일반적이지 않은 함수 [python] 함수 - *args, **kwargs def func_1(num1,num2): return num1,num2 func_1(10,20) 입력받은 수를 그대로 내보내는 간단하고 쓸모없는 함수다 이 함수의 리턴값은 어떤 것일까? 함수는 값이 1개 뿐이어야 하는데 2개의 값이 나오니 에러가 뜰까? 아니면 그냥 쉽게 값을 1개씩 리턴할까? 정답은 (10,20) 튜플값으로 리턴한다 10과 20을 모두 리턴하면서 1개만 리턴할 수 있는 좋은 방법인듯하다 이렇듯 함수의 리턴값은 무조건 하나다! 하지만 사람의 욕심은 끝이 없는 법 튜플형식의 값이 아니라 각각의 값을 리턴받고 싶다면 다음과 같이 결과값을 뽑을 수도 있다 de..
[python] 함수 - *args, **kwargs [python] 함수 - 함수 기본 [python] 함수 - 일반적이지 않은 함수 *args (가변매개변수) 만약에 매개변수가 몇개인지 모른다면 어떻게 할 것인가?? 다음의 상황을 가정해보자 입력받은 값을 모두 더하는 함수를 만든다 하지만 어떤 숫자가 몇개나 입력될지는 모른다 이럴 때 사용하는게 가변인자다 함수를 정의할 때 인수 자리에 *를 앞에 붙여서 아무 인수이름만 넣으면 된다 *args *a *abc *qwer 어떤 형태든 상관없다 다만 관례적으로 *args 를 많이 사용한다 def sum (*anything): result=0 for i in anything: result+=i return result print(sum(1,2,3,4,5)) >>15 *args 가 아니어도 정상적으로 함수는 동작하..
[django] url 분리 [django] 프레임워크란? [django] 프로젝트 생성, 개발 서버 구동하고 접속하기 [django] Hello world 이 전 글에서 우리는 hello world 를 출력하기 위해 다음과 같은 과정을 거쳤다 폴더 생성 1의 폴더에 프로젝트 폴더 생성 1의 폴더에 앱 폴더 생성 프로젝트 폴더의 urls.py에서 url 매핑 매핑된 url에 표시될 화면을 앱 폴더의 views.py 에서 만듦 위 과정에서 우리가 눈여겨 봐야하는 점은 app과 관련된 작업은 앱 디렉토리 내부에 있어야 하는데 그렇지 않고 프로젝트 폴더 내의 urls 파일에서 작업을 했다는 것이다 그럼 우리는 생성된 앱과 관련된 url 매핑을 추가할 때마다 urls.py를 수정해야 하는데 말했다시피 urls.py는 프로젝트 폴더 하위에 ..
[django] Hello world [django] 프레임워크란? [django] 프로젝트 생성, 개발 서버 구동하고 접속하기 프로젝트 생성은 했다만 우리가 만든 개발 서버는 아직 아무 기능도 할 수 없다 우리가 개발 언어를 배울 때 제일 먼저 해보는 것이 있지 않은가? 그렇다 이번엔 Hello world를 출력해볼 것이다 앞서 우리가 startproject config .로 폴더 내에 프로젝트 파일을 생성하고 나면 디렉토리 구성은 아래와 같았다 앞선 글에서 장고는 많은 기능이 있고 우리는 그걸 입맛에 맞게 사용하면 된다고 했다 그럼 일단 뭔가 하기를 위해선 앱이 필요할 것 아닌가? 앱을 만들어보자 터미널을 열고 mysite 로 이동한 후 다음과 같은 명령을 입력한다 django-admin startapp 앱 이름 그럼 아래와 같이 새로운..
[django] 프로젝트 생성, 개발 서버 구동하고 접속하기 우선, 프로젝트들을 저장할 폴더를 하나 만들어보자 터미널을 켜고 다음의 순서로 폴더를 하나 생성해보자 cd ~ # 홈 디렉토리로 이동 mkdir myproject # 폴더 생성, 이름은 자유 cd myproject # 생성한 폴더로 이동 mkdir mysite # 프로젝트 폴더 생성 cd mysite # 프로젝트 폴더로 이동 django-admin startproject config . # 장고 프로젝트 생성 # mysite 디렉토리 생성 안 하고 프로젝트 생성하기 # 프로젝트 모음 폴더만 생성한 후에 폴더로 이동해서 django-admin startproject mysite 아래의 방법은 mysite 디렉토리 하위에 mysite라는 이름의 앱 디렉토리가 생성되어 mysite/mysite 같은 구조가 되..
[django] 프레임워크란? The web framework for perfectionists with deadlines. (마감에 쫓기는 완벽주의자를 위한 웹 프레임워크) 마음에 드는 문장이다 장고는 뭘까? 장고는 웹 프로그램을 빠르고 쉽게 만들어 주는 웹 프레임워크다 그럼 웹 프레임워크는 뭘까? 쿠키, 세션, 로그인/아웃, 권한, 데이터베이스 등등 개발을 모르더라도 들어본적이 있을 것이다 웹 프로그램을 위해 만들어야 할 기능들인데..인간은 도구를 사용하는 동물이다 그렇다 우리는 상기한 기능들을 쉽고 빠르게 만드는 도구들이 필요하고 그걸 모아놓은게 프레임워크고 그 프레임워크들 중에 장고는 파이썬으로 만들어졌다 필자는 지금 파이썬을 공부 중이니 당연히 장고도 공부해야 하지 않겠는가? 내 소중한 시간과 체력을 아껴주는다는데 ㅋㅋㅋ
[python] 함수 - 일반적이지 않은 함수 [python] 함수 - 함수 기본 사실 일반적이지 않다고 하기도 뭐한게.. 자주 쓸 수도 있는거고 (응애 나 아기 개발자 아직 현업 몰라) 근데 일반적으로 쓰는 '입력값--(함수)->결괏값' 의 형식을 따르지 않는 함수들을 포스팅해볼까 한다 3가지가 있는데 입력값이 없는 함수 결괏값이 없는 함수 입력값도 결괏값도 없는 함수(예?) 입력값이 없는 함수 입력값이라고 하면 뭐가 있겠나? 당연히 매개변수! 인수라고도 한다! 입력값이 없어도 출력값이 나오는 함수가 있을 수 있을까? 당연하다! 입력값을 넣든 안 넣든 hi가 리턴되는건 똑같은 것을 확인할 수 있다 입력값이 없는 함수는 위처럼 그냥 함수의 내용에 아무런 인수도 넣지 않으면 된다 결괏값이 없는 함수 함수에서 결괏값은 항상 return을 통해 받는다 그..