본문 바로가기

TIL

TIL 042523

.replace(): 그냥 쓰면 한꺼번에 다 바꿔버린다.

문자열.replace("없애버릴문자", "새로넣을문자", 횟수): 앞에서부터 횟수만큼 replace한다.


리스트의 요소들에 모두 같은 연산을 하고 싶을 때: map, lambda 이용

board = [7, 9]
board_m = map(lambda x : (x-1)/2, board)  # [3, 4]


중복 순열
from itertools import product
base = [0, 5]
list(product(base, repeat=1))  # [(0,), (5,)]

list(product(base, repeat=2))  # [(0, 0), (0, 5), (5, 0), (5, 5)]

list(product(base, repeat=3))  # [(0, 0, 0), (0, 0, 5), (0, 5, 0), (5, 0, 0), (0, 5, 5), (5, 0, 5), (5, 5, 0), (5, 5, 5)]


https://www.daleseo.com/python-collections-counter/

 

파이썬 collections 모듈의 Counter 사용법

Engineering Blog by Dale Seo

www.daleseo.com

.most_common(숫자): 숫자만큼 많이 나온 항목을 알 수 있다.

.most_common(1): 가장 많이 중복된 요소

.most_common(2): 많이 중복된 요소 상위 2개

 

.elements(): 요소 반환

X = "12321"

Y = "42531"

Counter(X)  # {'1': 2, '2': 2, '3':1}

Counter(Y)  # {'4': 1, '2': 1, '5': 1, '3': 1, '1': 1}

Counter(X)&Counter(Y)  # {'1': 1, '2': 1, '3': 1}

list((Counter(X)&Counter(Y)).elements())  # ['1', '2', '3']


두개의 리스트를 하나로 합치기

list1 = [(0,), (5,)]

list2 = [(0, 0), (0, 5), (5, 0), (5, 5)]

list_sum = list1 + list2  # [(0,), (5,), (0, 0), (0, 5), (5, 0), (5, 5)]


(5, 0, 5)

list((5, 0, 5))  # [5, 0, 5]

map(str, list((5, 0, 5)))  # ['5', '0', '5']

"".join(map(str, list((5, 0, 5))))  # "505"

int("".join(map(str, list(5, 0, 5))))  # 505


.gitignore.io에서 Windows, macOS, Python, Django, Visual Studio Code, Pycharm 이렇게 입력하면 나오는 텍스트들을 전부 다 .gitignore에 넣어주면 알아서 Django SECRET_KEY를 숨겨주는줄 알았는데 아닌것 같다.

 

https://velog.io/@tk_kim/TIL-DAY-11-Igonoring-Django-Secret-Key-with-.gitignore

 

TIL DAY 11 || Igonoring Django Secret Key with .gitignore

How to handle Django Secret Key?

velog.io

이대로 따라해봐야겠다.

  • master로 브랜치 변경
  • SECRET_KEY값 복사
  • 포스팅에 나온 대로 secrets.json 파일 생성 및 작성
  • settings.py도 포스팅 그대로 똑같이 작성
  • python manage.py runserver로 확인.
  • .gitignore의 Django부분 맨 마지막 줄에 secrets.json 추가
  • git add, commit, push
  • 원격 리포에 secrets.json 없고 settings에도 없는 것 확인

그런데 예전 첫번째 커밋에 SECRET_KEY가 그대로 남아있다. .......???


원격 리포 변경하기

https://gist.github.com/480/4681b67d2a906db8c6c1321cc678f05f

 

github 리모트 리포지토리 변경하기

github 리모트 리포지토리 변경하기. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

기존 리포지토리는 이미 깔끔하니까 첫번째 단계는 건너뛰었다.

다음 단계인 새 리포지토리 연결을 하려다가 git log를 쳐보니 예전 커밋들이 그대로 있다.

그러면 이 상태로 push하면 또 똑같이 예전 commit들이 push되겠지?


해알

.git 폴더를 지우고 새로 git init하기로 했다.

https://sudo-minz.tistory.com/11

 

[깃 init 다시하기] Git init 취소, 삭제, 연결 끊기

뭔가 잘못 누른 것 같을 때..... 불안해서 다시 커밋하려고 쓰는 포스팅 1. 로컬 저장소의 git 히스토리 삭제 rm -rf .git 2. 로컬 저장소를 다시 초기화 git init 3. 초기화할 파일을 추가 & 커밋 git add . $

sudo-minz.tistory.com

'rm'은(는) 내부 또는 외부 명령, 어쩌구저쩌구

검색 -> rm 은 리눅스 계열의 명령입니다. 관련 패키지(Cygwin 같은..)를 설치 하지 않았다면 사용할수가 없죠.
윈도우는 rmdir 로 사용합니다.

-> rmdir /s .git : /s는 대상 폴더 안에 들어있는 것들까지 모두 삭제할 때 쓰는 것.


rmdir /s .git으로 .git 지운 후

git init

git remote add origin 복사한주소

git add .

git commit -m "init project"

git push origin master


원래 user 브랜치를 만들어서 startapp users를 했는데 add/commit하지 않아도 master로 checkout이 됐다.

master로 checkout해도 users가 안 없어졌다.

이 상태로 그냥 git init 다시해서 원격 리포에 push 했다...

그냥 이 상태에서 과제를 시작하기로 했다.

ERD작성부터 하려고 했는데 목요일 특강 이후로 미뤘다.

postman에서 새 workspace를 만들고 진짜로 과제를 시작해야겠다. 

'TIL' 카테고리의 다른 글

TIL 042723  (0) 2023.04.27
TIL 042623  (0) 2023.04.26
TIL 042423  (0) 2023.04.24
TIL 042123  (0) 2023.04.21
TIL 042023  (0) 2023.04.20