목록개발 (194)
파파비의 블로그
Django는 주로 서버사이드를 다룬다, 따라서, 개발 과정에서 만든 것들을 테스트하고 preview할 필요가 있다. 그 것을 로컬에서 해주는 것이 development server이다. 그 방법은 다음과 같다. 1. ide 내 terminal를 킨다. 2. python manage.py runserver 3. 브라우저에 http://127.0.0.1:8000/ 로 들어가본다 4. 위 그림처럼 나온다면 테스팅 development server가 잘 돌아가고 있는 것. 5. 서버를 끌 때는 ctrl + c 로 하면 된다.
터미널에서 명령어를 통해 프로젝트를 만들기 때문에, 1. 먼저 프로젝트가 만들어지길 원하는 곳으로 이동한 뒤에 2. 터미널 명령어를 통해 프로젝트를 만든다. 1. 원하는 곳으로 이동 > 터미널을 켜고, cd 명령어를 통해 원하는 곳으로 이동한다. 2. django-admin startproject 을 입력한다. (ex. django-admin startproject mypage)
1. 파이썬을 먼저 설치한다. https://www.python.org/ Welcome to Python.org The official home of the Python Programming Language www.python.org 여기에 다운로드 > 최신버전 클릭, 쭉 내리면 아래에 원하는 OS에 따라 다운로드 가능 > 난 windows installer 64-bit을 다운해서 설치했다. 설치할 때, add path에 체크해두는 것이 좋다 > 제대로 설치했는지 확인해보자 터미널에 들어가서 python을 쳐보라. 제대로 설치됐으면 python 버전이 나온다. 2. Django를 설치한다 > 터미널에서 "python -m pip install Django"를 입력한다 > (아까 버전체크했다면 ctrl +..
파이썬에서 int는 임의 정밀도 (Arbitrary - Precision)라는 개념을 활용한다. 그렇기 때문에 아무리 큰 정수값이 와도 int에 담을 수 있다. 어떻게 메모리를 처리하길래 사이즈에 상관이 없을까? > 임의 정밀도 정수형은 자릿수를 별로 쪼개서 저장한다. > 123456 > 12 / 34 / 56 이렇게 저장하고 계산할 때 다시 합침 > 따라서 숫자가 커질수록 계산이 느려질 수 있음, 그러나 매우 편리함 참고로 자바에서도 BigInteger라는 별도의 자료형이 존재하고 이는 임의 정밀도 연산을 활용함.
> enumerate()는 매개변수에 sequence가 있는 자료형 (list, string, tuple 등)을 인덱스를 포함하여 enumerate 객체로 return한다. a = [1,2,3,4,5] list(enumerate(a)) > [(0,1), (1,2), (2,3), (3,4), (4,5)] #앞이 인덱스, 뒤가 값 # a = ['a1', 'b2', 'c3'] 의 리스트를 값과 인덱스 함께 출력하라 #1) for i in range(len(a)): print(i, a[i]); #2) for i,v in enumerate(a): print(i, v);
C#, 유니티의 코루틴 같은 것이다. 호출할 때 마다 리턴되는 값이 달라지게 할 수 있는 기능이다. 제너레이터가 유용한 이유는, 예를 들어 숫자 1억개를 만들어내려면 그만큼 메모리 공간이 필요하지만, 제너레이터를 활용하면 생산해내는 조건만 메모리에 두고, 호출할 때마다 조건에 의해 새로운 값들이 나오게 할 수 있다. 제너레이터를 활용하는 방법은 기본 함수든 어디든, return 대신, yield를 사용하면 된다. 그러면 제너레이터가 return된다. 해당 제너레이터를 next() 함수에 인자로 넣으면 값이 나온다. 예시를 살펴보자 def get_natrual_number(): n = 0; while True: n += 1; yield n; g = get_natrual_number(); # g는 제너레이터..
Firebase에서는 Auth 기능이 존재합니다. 회원가입 등의 절차를 대신 해주는 기능인데요 Firebase를 이용하면 코드 단 몇줄로, 서버도 따로 구축할 필요없이 !! firebase에서 다 알아서 해줍니다. 이메일 가입이나 익명 가입 등등 다양한 기능들은 다른 곳에서도 소개가 많이 되어 있으니, 제가 오늘 다뤄볼 내용은 바로 이메일 인증에 관한 내용입니다. 보통 많은 서비스들이 이메일로 가입하면, 제대로 된 이메일인지 확인하기 위해 인증이메일을 보내서 이메일에 있는 링크누르면 인증되는 절차를 거치잖아요? 그 기능입니다. 구현하는건 무지 간단합니다 일단 Firebase 기능들을 다 제대로 설치했다고 가정합니다. 일단 코드부터 보죠 절차는, 먼저 가입을 진행하고, (await으로 완전히 가입될때까지 ..
여기서 포인트는, 언제 새로 연속을 끊어야 하는가? 이다. 음수 값이 나온다고 무조건 끊고 다시 생각해야하게 아니다. 예제 2번을 보면 -4 > 3 > 4 이다. 저 3개의 합은 +3으로, -4가 나오더라도. 연속 수에서 count를 끊고, 다시 새는 순간은 여태 누적합이 음수가 되는 순간이다. 그래서 난 이 문제를 풀 때, 누적합과 dp 배열을 각각 만들어서 dp[i]의 값은 sum[i]와 dp[i-1] 중 비교를 통해 선택했다. (Data)10 -4 3 1 5 6 -35 12 21 -1 (Sum)10 6 9 10 15 21 -14 12 33 32 (DP)10 10 10 10 15 21 21 21 33 33 dp[i]의 값은 i까지 연속합중 최고의 값을 말한다. 저기 표 가운데를 보면, 음수일 때는 그..