전체 글 56

django - 게시판 수정하기 구현하다가 그냥 정책변경으로 해결

※ 정보 제공이 아닌 기록용 게시물입니다! 게시판 수정을 권한을 부여하는 과정에서 며칠을 애먹었다. 버튼 클릭 시 수정페이지로 이동해야하는데, 비회원인 경우, 게시자가 다른 경우, 게시자가 동일한 경우 이렇게 세 가지 조건에 맞게 작업을 해야했다. 처음에 Response 클래스를 사용해서 context 에 값을 담아 프론트에서 분기를 했다. fetch로 GET 요청해서 백에서 받은 값으로 프론트에서 분기를 했는데 SyntaxError: Unexpected token < in JSON at position 0 이런 에러가 발생했다 부분에서 < 인 것으로 보여 템플릿이 전달될 때 뭔가 문제가 있구나..했다. 며칠 헤매다가 결국 버튼을 없애부럿다 크흠흠 보안적으로 이게 더 안전한 것도 있고!! 다른 커뮤니티 ..

git - 내가 필요해서 써놓은 커밋 방법

1. 깃허브 홈페이지에서 퍼블릭/프라이빗 저장소를 만든다. 2.해당 저장소 링크 ex) https://블라블라.git 해당 git init git remote add origin(저장소 약칭) 저장소링크 git pull origin(저장소약칭) main(브랜치명) # 이렇게 먼저 동기화를 해준다음. git add . # 추가할 거 추가하고 git commit -m "커밋내용" # 내용 쓰고 git status, git log # 잘 들어갔는 지 확인하고 git push origin main 해주면 된다. git add 했던거 취소하는거는 git reset 파일명.

프로그래밍/git 2022.06.09

django - model, DateTimeField 옵션

게시판 최초 작성일, 수정일을 datetime 패키지로 일일이 했는데, 데이터타입 모델을 다시 확인해보니 auto_now_add, auto_now 라는 옵션이 있다. auto_now_add 는 최초 데이터 인서트 시 업데이트 되고 auto_now 는 데이터 갱신 시 업데이트 되는 옵션이다 처음에는 수정일 부분에 auto_now를 넣으면 되겠구나 했는데, 게시글을 클릭만 해도 수정일이 변경되는 문제가 있었다. 같은 테이블에 조회수 필드 값을 추가하는 코드가 있어서 데이터가 갱신되어 게시물을 보기만해도 수정일이 변경되는 것이었다. write_date = models.DateTimeField(auto_now_add = True) # 작성일 modified_date = models.DateTimeField(au..

django no change database db 생성 안되는 원인

기본적으로 웹프레임워크 하나는 잘 다룰 줄 알아야 할 것 같아서 장고 다시 공부중.. python3 manage.py startapp '앱이름' 생성한 폴더에서 makemigrations 을 해도 migrations 폴더에 아무것도 생성되지 않고, 지정한 db(sqlite3..) 에 테이블 생성이 되지 않으며 반복적으로 no change database 가 뜨는 원인은 setting.py INSTALLED_APPS 란에 '앱이름' 을 추가해줘야한당 ^^,,

(백준) 셀프 넘버(Python3)

단계별로 차근차근 풀다보니, 쉬운 문제지만 자신감도 생기고 재밌어졌다 알고리즘은 순수하게 내 머리로 푸는게 실력 아닐까 하는 생각에 사로잡혀 나에게는 버거운 문제부터 시작하다보니 못 풀어서 재미없고 멀리하게 됐던 것 같다. 기반지식이 없으면서 욕심은.. 일단 해보고 안되면 힌트받고 안되면 답 보면서 이렇게 푸는구나 하고 기반지식을 쌓는 것이 나에게는 맞는 방법같다. 역시 프로 똥찍먹러의 인생길은 험난하다 개인 풀이 arr = [0] * 10050 def solve(a): for num in range(a): num = str(num) score = 0 for n in num: score += int(n) score += int(num) arr[score]+=1 for i in range(10000): i..

카테고리 없음 2022.05.25

갓스코드

백준에 있는 최댓값 문제를 풀기 위해 다음과 같이 작성하였다 n = 9 arr = [] for i in range(n): a = int(input()) arr.append(a) m = max(arr) i = arr.index(m) print(m) print(i+1) 그런데 for 반복문 안에서 input을 다 받지 못하는 문제가 발생했다? 왜 안되지 안되지 하다가, 혹쉬.. mac 이? 하고 window에서 해보니 잘 돌아갔다 확인해보니 그냥 pycharm 문제였다 mac이어도 vscode 에서는 잘 돌아갔슴ㅎ 간혹 있는 일이지만 이런 일로 인해 pycharm의 입지가 좁아질까 걱정된다ㅎㅎ 하하 내 걱정이나 할까? 파이참 홧팅 나도 화이팅

Mac 2022.05.24

(백준) 더하기 사이클(Python3) (해설없음)

더 어려운 문제를 풀다가 자괴감이 들어 다시 차근차근 기초를 다지는 중인데.. 나중에 보니 mod 10으로 하면 되는 쉬운 문제인데.. 빙빙 돌아와뿠네 문법 처음 떼고 알고리즘 풀 때 보다 더 머리가 안돌아가는 것 같다 두정엽이 쪼그라들고있는 거 같다.. n = int(input()) nn = n count=1 def solution(n,count): if n < 10: n = '0' + str(n) else: n = str(n) # '26' ten_num = n[-1] # '6' one_value = int(n[0]) + int(n[1]) one_num = str(one_value)[-1] result = ten_num + one_num result = int(result) if nn != result..

(SW Expert Academy) - [파이썬 S/W 문제해결 기본] - 전기버스 (미완성) (해설없음)

금방 풀릴 거라고 생각했는데 크흠 7 / 10 맞은 코드다 결국 다른분들 코드를 확인해보니 접근방식이 달랐다 깔끔하게 술술 풀리는 코드.. #나중에 풀기 line_cnt = int(input()) for i in range(line_cnt): mv, dt, cn = map(int, input().split()) charger_index = list(map(int, input().split())) load = [0] * (dt+1) charge_cnt = 0 # 도달 불가능 판단 조건 flag = True for idx in range(len(charger_index)-2): if mv < (charger_index[idx+1] - charger_index[idx]): flag = False if flag..

(백준) 슬라임 합치기(Python3) (해설없음)

일만 할 줄 알고 기술만 알면 된다고 생각했는데..,, 해보고 나니.. 알고리즘의 중요성을 깨달았다. 프로그래머스에서 한 문제를 풀고 1년 동안 손도 안댔었다니.. 이제 다시 알고리즘을 시작한다. 늘 똥을 찍어먹어봐야 아는 고집쟁이는 이렇게 뒤늦은 후회를..한...다 흑 slime_cnt = int(input()) slime = list(map(int, input().split())) slime.sort() slime_point = 0 new_slime = 0 while 1: if len(slime)

에어팟 맥스도 사버렸네

쿠팡에서 적절하게 만족 할 만한 가격에 구매 했다. 53마넌 구매 사유는 장시간 에어팟 프로를 착용함에 따른 귀 건강 악화 방지 업그레이드 된 노이즈 캔슬링으로 얻을 수 있는 나만의 공간 ( INTJ 임 ) 귀르가즘 귀르가즘을 느끼기 위해 멜론에서 애플뮤직으로도 갈아 탔건만,, 무선..연결로는 해골물이라는 얘기가 있었다. 그래서 45000원 짜리 (맞나?) 3.5mm 오디오 단자 유선 케이블을 구매했다. 충전 및 연결 단자가 usb c 가 아닌 점은 심히 아쉽다 음. 인터넷에서는 유선으로 연결하더라도 무손실을 들을 수 없다는 얘기가 있더라 애플의 변환방식이 뭐니머니money 어떻니 했는데 나는 만족하고있다 아니 만족해야한다 45000원이니까 참고로 맥북에 연결해서 듣고있음 그래서 만족하냐 물으면 애플의 ..

토이/구매 2022.02.02