분류 전체보기 (90) 썸네일형 리스트형 JS는 왜 이래요? JS는 세달 전 한 일주일 정도 맛만 본 게 다인데 Node를 쓰려고 급하게 다시 공부중이다. 예전에는 강의를 보고 코드를 따라 치기 급급했는데, 기초 개념면에서 파이썬과 다른 점을 좀 짚고 들어가려 한다. 머릿속에 물음표가 뜨는 일이 좀 많다. 제목을 왜 이래요?라고 쓰긴 했지만 이유를 뜯어보는 건 아니고 그냥 받아들이는 수 밖에 없다. 외우기. 정현님께서 추천해주신 강의 링크. 영상이 짤막하게 많고(한글 cc 없음) 중간중간에 퀴즈 있다. 신규가입자는 할인 받아서 15000원. 브라우저 콘솔 쓸 때 변수 선언 직후 바로 아랫줄에 undefined가 뜨는게 뭔가 이상한 게 아니고 변수명 찍어보면 그제서야 넣어준 값이 보인다. 정상임. primitive types number, boolean, strin.. Git 속이기 - rebase $ git log로 이제껏 남겨둔 commit을 볼 수 있다. branch들이 각기 origin/main에서 언제 분화되어 나오고 거기서 얼마나 멀리, 몇 commit이나 떨어졌는지도 알 수 있다. 이렇게 쌓아둔 commit 중에는 무언가 중요한 변화가 담겨있는 것도 있고, branch를 옮겨다니느라 대충 남긴 것도 있다. 이걸 그대로 merge하면 이 기록이 전부 남는다. 여러 branch를 받아들이는 main의 이력이 특히 엄청 지저분해진다. rebase를 쓰면 이 이력을 원하는 대로 조작할 수 있다. 여러번의 commit을 마치 한 번의 commit에 해낸 것처럼 합쳐 넣을 수 있고, 한참 전에 파생된 branch지만 최신 main의 상태를 따와 만든 것처럼 히스토리를 바꿀 수 있다. 기능이 센 만.. RESTful API 처음에는 RESTful API를 백엔드 입장에서의 사용자(프론트엔드 개발자)가 API를 사용할 때 엔드포인드 url과 용도를 명확하게 인지할 수 있도록 깔끔하게 만든 API라고만 생각했다. REST가 무엇인지에 대해 더 찾아보니 이게 많은 목적 중 일부라는 걸 알았다. 프립 사이트의 URI를 예시로 이해한 바를 정리했다. REST Representational State Transfer의 약자로, 아키텍쳐 디자인 가이드이다. REST의 6가지 조건(constraints) 옆에 붙인 설명은 내가 이해한 대로 쓴 표현이라 추후 더 공부하다보면 틀린 점이 나올 수도 있겠다. 1. client-server: 서버, 클라이언트가 각자의 자세한 사항에 대해 신경쓸 필요가 없다. 2. steteless: 서버측에서 .. DateTimeField를 추가할 때 데이터의 생성 일시와 수정 일시를 저장할 땐 대개 아래 두가지를 사용한다. auto_now_add는 최초로 생성할 시에만 들어가고, auto_now는 저장될 때마다 업데이트 된다. 둘 다 직접적으로 건드릴 수 없다.(editable=False) created_at = DateTimeField(auto_now_add=True) updated_at = DateTimeField(auto_now=True) 이런 column은 당장 사용하지 않더라도 확장성을 고려하여 나중에 필요할 법한 곳에 미리 추가해두는 게 좋다. DB에 이미 저장되어 있는 데이터가 있는데 DateTimeField를 추가하고자 한다면 이 column에 값을 채워넣어야 되기 때문에 아래와 같은 메세지가 나온다. 3을 선택해서 나간 뒤 model.. DB에 csv로 초기 데이터 넣기 장고 프로젝트의 settings.py에 들어가는 데이터베이스 정보는 자신의 로컬 DB에 대한 정보이다. AWS에 DB서버를 올려두고 쓰는 환경이 아닌 이상 팀원들이 가지고 있는 DB는 다 다른 것이고, 안에 들어있는 정보도 다르다. 로직을 테스트하기 위해서라면 방드시 같은 정보일 필요는 없지만, 텅 빈 DB에 새로 데이터를 손수 채워넣는 건 매우 귀찮다. 특히 레퍼런스 테이블이 존재하거나 이리저리 fk가 얽혀있는 모델에 데이터를 넣으려면 어디에 무얼 먼저 넣어야 되는지 신경쓸 게 많다. csv파일로 미리 만들어 둔 데이터를 공유하고 이를 각자 DB에 넣으면 이런 불편이 상당부분 해소된다. 한 사람의 DB에 데이터를 쳐넣고 이를 백업 떠서 sqldump 파일을 공유하는 방법도 있겠지만, 처음 데이터를 넣는.. TypeError: Object of type JsonResponse is not JSON serializable 장고를 사용하여 스타일쉐어 클론 프로젝트를 할 때 리팩토링을 하면서 냈던 에러다. 에러 메세지가 내가 예상하는 순서대로 나지 않는다는 걸 상기했다. 그리고 디버깅시 값 뿐만 아니라 타입도 찍어봐야 겠다는 생각을 하게 되었다. 응답에 정보를 담아 프론트로 보낼 때 JsonResponse로 보내는데, exception 처리 코드를 이리저리 붙여보고 가독성을 위해 리팩토링을 하다 이전에 테스트를 할 때는 나지 않았던 에러가 발생했다. JsonResponse 안에 들어있는 키-값 쌍 하나하나를 주석처리를 해보며 문제가 있는 라인을 찾았다. get_current_user_id는 사용자가 로그인을 한 상태라면 users 테이블 상의 id를, 아니라면 0을 반환하는 함수다. 에러가 났을 당시에는 바로 찾지 못했지만,.. Style We 프로젝트 이미지 2 user 17명의 게시글 이미지 unsplash.com/ 학습 목적으로 사용 중 user1 feed1 feed2 - onverse sneakers 1 feed3 feed4 user2 feed1 - onverse high top 1 feed2 - onverse high top 2 feed3 feed4 user3 feed1 feed2 feed3 feed4 - onverse high top 1 user4 feed1 feed2 feed3 - cike high top 1 feed4 user5 feed1 feed2 - cike sneakers 1 feed3 user6 feed1 - naddidas sneakers 1 feed2 feed3 - naddidas sneakers 1 feed4 user7 feed1 fee.. Style We 프로젝트 이미지 1 상품 12종 unsplash.com/ 학습 목적으로 사용 중 cike running shoes 1 naddidas running shoes 1 naddidas running shoes 2 naddidas running shoes 3 (5) cike sneakers 1 (6) naddidas sneakers 1 (7) naddidas sneakers 2 (8) onverse sneakers 1 (9) cike high top 1 (10) cike high top 2 (11) onverse high top 1 (12) onverse high top 2 django.db.utils.IntegrityError: NOT NULL constraint failed 메세지만 읽어도 nullable하지 않은 데에 값을 안 넣었구나 싶은 에러다. 설 연휴 때 장고 책을 보고 따라하다 save(commit=False)를 기억하기 위해 일부러 내 보았다. 참고한 장고 책에서는 not null인 생성일 데이터를 timezone.now()로 직접 입력하게 안내했다. 하지만 나는 책을 따라가는 초반부터 auto_now_add 속성을 사용해 생성일을 자동으로 넣게 만들었으므로 다른 테이터를 가지고 연습했다. 질의응답 게시판의 답변은 반드시 질문을 참조해야 되는 모델을 만들었다. 따라서 답변의 question이 not null이어야 한다. def answer_create(request, question_id): question = get_object_or_404(Question, .. TemplateSyntaxError: 'pybo_filter' is not a registered tag library 설 연휴 때 장고 책을 보며 템플릿 필터를 만들다 난 에러다. 시도와 해결을 기록하고자 글로 남긴다. 에러가 나기 전에 한 것 1. app directory 아래에 templatetags 폴더 생성 2. 이 폴더 안에 pybo_filter.py 파일 생성 3. 파일 내용은 이 링크를 참고 4. templates/pybo/question_list.html 파일에 만든 파일을 load 5. 이미 돌아가고 있던 서버. 페이지를 새로고침 함 -> {% load pybo_filter %} 라인에서 에러가 발생했다. 시도 1. 서버 끄고 다시 켜기 혹시나 해서 해봤다. 서버를 재시작하니 에러 이름이 바뀌었다. AttributeError: type object 'Library' has no attribute 'tag.. 이전 1 2 3 4 5 6 ··· 9 다음