python 8

[Python/파이썬] dotenv로 환경변수 설정하기

전에 진행했던 프로젝트 리팩토링중에 만났던 큰 변수. 모두가 clone받아 쓸 수 있는 코드지만 정작 나만 쓸 수 있는 코드. ip나 port 번호같이 민감한 정보들을 노출시키고 싶지 않아서 처음엔 JSON의 형식으로 저장해서 필요할 때마다 꺼내썼다. 그마저도 저렇게 경로를 다써줘야 작동해서 내 컴퓨터 경로를 전세계 모든 사람에게 공개해버린 셈이다. 나중에 수정하자는 마음으로 냄겨뒀는데 드디어 고치기로 마음먹었다! JSON말고 더 좋은 방법이 없을까 구글링을 해봤지만 구글링도 실력이라고.. 어떻게 검색해야할지 몰라서 답을 못찾고있었다. 나에게 믿을 건 한줄기의 오픈채팅방. 들어가기 빡센 방인데 들어가면 정말 귀한 정보들을 빠르고 친절하게 알려주신다. 취업해도 지박령마냥 머물고 싶음. 분위기도 넘 좋고 다..

Study/Python 2023.05.30

[자료구조/파이썬] 스택(Stack) / 큐(Queue) 개념 및 구현

1. 자료구조 (Data Structure) - 자료구조 : 데이터를 표현하고 관리하고 처리하기 위한 구조 2. 스택과 큐 - 스택과 큐는 삽입(push) 과 삭제(pop) 함수로 구성된다. - 삽입(push)함수는 자료구조에 데이터를 삽입하는 역할을 하고, 삭제(pop)함수는 자료구조에서 데이터를 삭제하는 역할을 한다. 스택과 큐를 사용할 때 주의해야하는 부분 → 오버플로우와 언더플로우 - 오버플로우(overflow)는 특정 자료구조에 수용할 수 있는 데이터의 크기를 넘어선 상태에서 삽입연산을 수행하는 경우 발생한다. → 저장공간을 벗어나 데이터가 넘칠(over)때 발생한다. - 언더플로우(underflow)는 자료구조에 데이터가 전혀 들어있지 않은 상태에서 삭제연산을 수행하는 경우 발생한다. 3. 스..

Study/Algorithm 2022.01.08

[Python/파이썬] lambda와 sort 정리

파이썬에서 정렬을 할 때 기준(key)로써 사용하는 lambda에 대한 정리 1. 람다(lambda)란? 람다는 익명함수라고도 하며 함수를 딱 한 줄로 완성시켜주는 표현식이다. 2. 람다(lambda)의 장점람다 표현식은 기존의 함수보다 메모리, 속도 측면에서 더 빠르다. 파이썬은 객체지향 프로그래밍 언어이므로 모든 것이 객체로 저장이 된다. 함수 또한 마찬가지.함수를 정의하게 되면 실행하면서 메모리를 쓰게 되는데 , 람다의 경우 함수이지만 일회성이므로 한 번 사용하고 없어진다. 따라서 메모리 소모도 없음! 3. 람다(lambda)의 형태 람다 표현식은 lambda 인자 : 표현식 의 형태를 띄고있다. 4. 람다(lambda)의 사용법 람다는 여러 형태로 사용이 가능하다.fu = lambda x : x ..

Study/Python 2021.03.23

[Django/Python] (진행중) 점프 투 장고 2-1. 주소와 화면을 연결하는 URL과 뷰

이전 내용 1. Python과 Django 설치 ✔️ 2. Pycharm 설치 ✔️ 3. cmd로 프로젝트 디렉토리 생성 (mkdir) ✔️ 4. 가상환경 만들기 ✔️ 5. 환경변수(PATH) 설정 ✔️ 6. 개발서버 구동해보기 ✔️ 1. 앱 생성하고 확인해보기 프로젝트에는 장고가 제공하는 기본 앱과 개발자가 만든 앱 등이 포함될 수 있다. (앱보다 프로젝트가 더 큰 범위) 장고에서 말하는 '앱' 은 우리가 아는 안드로이드/ios 앱과는 다르다. 우리가 만들 파이보 서비스에 필요한 앱을 만들어보자. 명령 프롬프트(or Pycharm 의 터미널) 에서 진행 django-admin startapp pybo 위 명령어를 치면 pybo라는 이름의 디렉토리가 생성됨을 확인할 수 있다. __init__.py, ad..

Study/Python 2021.03.22

[Python/파이썬] 리스트의 두 요소 위치 변경하기 (스와프,swap)

파이썬의 리스트 요소의 위치를 변경하고 싶을 때 사용하는 간단한 방법을 소개한다. #리스트의 0번째 요소와 3번째 요소의 값을 변경하고 싶다. array = [1,2,3,4,5] #스와프 array[0], array[3] = array[3], array[0] print(array) #[4,2,3,1,5] 만약에 리스트의 0번째 요소와 3번째 요소의 값을 변경하고 싶다면, 파이썬에서 사용하는 대입 연산자를 이용해 간단하게 표현이 가능하다. 코드를 해석해보자면 array의 0번째 요소에 3번째 요소를 넣고, array의 3번째 요소에 0번째 요소를 넣는다는 뜻. 호기심에 해봤는데 요소 3개도 위치 변경이 가능하다. array = [1,3,5,7] array[0], array[1] , array[3] = ar..

Study/Python 2021.02.10

[Python/파이썬] 리스트 요소추가 (append / insert / extend)

파이썬에서 '리스트' 는 다양한 자료형( 숫자, 문자열, 리스트 등)을 포함할 수 있는 만능 자료형이다. 이러한 리스트에 새로운 요소를 추가하려면 list 자료형에 딸려있는 append 메소드를 사용해야한다. append 메소드는 특징이 메소드의 인자를 하나만 받는다는 것이다. new_list = [0,1,2,3,4] new_list.append(5) print(new_list) #[0,1,2,3,4,5] 만약에 여러개의 요소를 넣고싶다면 아래와 같이 append메소드를 일일이 호출해서 사용해야한다. new_list = [0,1,2,3,4] new_list.append(5) new_list.append(6) new_list.append(7) print(new_list) #[0,1,2,3,4,5,6,7] ..

Study/Python 2021.01.27

[알고리즘 / Algorithm] chapter 3. Greedy Algorithm (그리디 알고리즘)

Greedy Algorithm (그리디 알고리즘) 그리디 알고리즘은 매 순간 가장 좋아보이는 것을 선택하며, 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않는다. 그리디 알고리즘을 번역하면 '탐욕적인' 알고리즘이다. 여기서 '탐욕적' 이라는 말은 현재 상황에서 지금 당장 좋아보이는 것만 고르는 방법을 의미한다. 그리디 알고리즘은 문제의 유형이 매우 다양하기 때문에 암기해서 잘 푼다고 할 수 없다. 대신 많은 유형을 접해보고 문제를 풀어보며 훈련을 해야한다. 그리디 알고리즘은 기준에 따라 좋은 것을 선택하는 알고리즘이므로 문제에서 '가장 큰 순서대로' , '가장 작은 순서대로' 와 같이 기준을 은근슬쩍 제시해준다. 대체로 그리디 알고리즘은 정렬 알고리즘과 짝을 이뤄 출제가 된다. 예제 3-1 거스름..

Study/Algorithm 2021.01.04

[Git/Pycharm/Python] Pycharm에 github 연동하는 방법

자주 사용하는 파이썬 IDE인 Pycharm을 바로 github와 연동해서 사용하고 싶었다. 아무래도 github와 바로 연동이 되면 파이썬 파일을 github에 직접 업로드하거나 PuTTY로 리눅스 접속해서 업로드할 필요가 없기 때문이다. (내가 아는 방법은 이 두 가지뿐...) 한 번 해두니 pycharm 에서 commit, push도 되고, branch도 따고 pull request도 할 수 있어 굉장히 편했다. pycharm 첫 화면 맨 위 상단메뉴에서 [VCS] 클릭 밑에서 4번째에 있는 [Get from Version Control]을 클릭한다. repository url을 직접 입력해서 clone 받을 수도 있고 github 계정으로 로그인해서 연동할 수도 있다. github랑 연동하고 싶기..

Study/Git 2020.10.12