최근 포스트
-
TIL: Today I Learn Log
TIL: Today I Learn Log 공부한 내용을 날짜 기준으로 간략하게 기록합니다. 2023년 3월 19일: PR: 해머스푼 단축키 개발(v0.21) - 활성화된 윈도우를 Chrome으로 옮기지 않은 채 미디어 컨트롤(재생/중단/앞으로/뒤로) 강의 실습중인 IDE에 커서를 고정한 채 서브 모니터에서 재생되는 강의를 재생/중단/앞뒤로 움직이기 위해 개발함 https://github.com/dpcalfola/hammerspoon_config/pull/3 20일: AWS EC2 Create instance Establishing an SSH connection with RSA Install docker engine 21일: Study Rust basic syntax. Complete Rust lectu..
2023.04.14
-
Task-driven Study Log - 개발/공부 티켓(=Task) 기록 일지 (기록중단)
블로거의 개발/공부 티켓(=Task) 기록 일지 * 이 기록은 2023-01-22부터 시작합니다. Task-driven Study Log 방법론 이전의 기록에 대한 내용과 링크는 아래 접은 글 안쪽에 있습니다. 더보기 Task-driven Study Log 방법론 이전에는 트위터 개발자 계정에서 주간 목표 제시와 달성 현황을 매주 트윗하며 메인트윗 타래로 엮어 사용했습니다. https://twitter.com/dpcalFola/status/1480332217956339720?s=20 트위터에서 즐기는 Fola Flor 🌊 “1월 셋째 주 목표 (1월 10일 ~ 16일) - git repository 정리 - 매일 백준 1문제 이상 - 프로그래머스 시작 : 1문제 이상 풀어보기 - my web room 페..
2023.03.21
-
개발일지_13) TDS Log 포스팅 스프레드 시트로 옮길까..?
Task-driven Study Log 방법론이 참 마음에 든다. 그런데 복잡도가 너무 심하게 올라가고 있다. 단기간에 티켓 코드를 관리하는 api 프로젝트가 끝나지 않을 것 같고 가고 싶은 회사에 입사 지원 준비를 서둘러야 할 것 같아서 구글 스프레드 시트로 옮길까 고민 중 아니면 DB 테이블 하나에 SQL문으로 다 집어넣고 조회하는 정도로만 빨리 구현할까 내 작업 내용들이 블로그 방문자들에게 쉽게 노출되는 현재 상황이 마음에 들지만서도 아무튼 현재 리스트들이 너무 정신이 없어서 조금 마음이 아프다. 언제나처럼 하고 싶은 건 많고 시간은 부족하네
2023.02.28
-
Hammerspoon, lua ) 해머스푼 init.lua v0.206a
Hammerspoon, lua ) 해머스푼 init.lua v0.206a 이전글/관련글 2022.04.24 - [기술 기록/기타] - 카라비너(Karabiner-Elements) caps lock 커스텀 키 매핑, json 편집 2022.06.29 - [기술 기록/기타] - Hammerspoon, lua ) 해머스푼 코딩 0. Github Link https://github.com/dpcalfola/hammerspoon_config GitHub - dpcalfola/hammerspoon_config Contribute to dpcalfola/hammerspoon_config development by creating an account on GitHub. github.com 위의 링크를 타고 들어가시면 ..
2023.02.19
-
(Eng) error) Docker) Solving the Psycopg2 Installation Issue in Docker Containers
Docker ) Solving the Psycopg2 Installation Issue in Docker Containers (Eng) Note: This article was written by ordering the chatGPT to write with my idea, and I refined and completed it. 0. When working with Python applications in a Docker container, one common issue you might face is the failure to install the psycopg2 pip package. This issue may arise when attempting to install the package with..
2023.02.11
-
개발일지_12) 나의 첫 깃허브 업적(Github Achievements)
개발일지_12) 나의 첫 깃허브 업적(Github Achievements) 0. 어느 날 내 깃허브 페이지에 못 보던 아이콘이 나타났다. 왜일까 궁금해서 마우스를 올려보니 Pull Request 가 Merge 되는 조건으로 해금되는 업적이었다. 1. 얼마 전, 코드를 여러 브런치를 오가며 코드를 작성하다가 커밋 푸시한 코드의 마크다운 파일이 웹에서 잘 보이는지 확인하고자 깃허브 작업 브런치의 웹 페이지를 열었다. 그날따라 상단에 Compare & pull request라는 버튼이 보였다. 그동안 PR은 서로 다른 계정끼리만 가능하다고 생각했었으나, 자기 소유의 레파지토리에도 스스로 PR 하고 Merge 할 수 있다는 것을 알게 되었다. 좋은 기회라고 생각했다. 마치 실제로 다른 오픈소스 프로젝트에 기여하..
2023.02.04
-
git) CLI branch 정리
1. branch 생성 git branch 2. branch 목록 확인 git branch 3. checkout (이동) git checkout 4. merge (병합) git checkout git merge 결과: 에 의 변경 사항이 반영된다 5. Delete branch git branch -d 6. Rename branch git branch -m - After then. This command make rename on remote repository as well git push origin : * 변경/추가 이력 2022-04-22: 1번~4번 작성 2023-01-19: 5번~6번 작성
2023.01.19
-
개발일지_11) 건강 문제로 코딩을 쉬고 있습니다
0. 건강 문제로 코딩과 공부와 취업준비 모두 쉬고 있습니다. 8월 말부터 한 달 정도, 그리고 10월 20일 즈음부터 지금까지 깃허브에 잔디가 없는 이유입니다. 지금은 치료와 회복에 집중하고 있어요. 1. 추간판 탈출증 본래 허리가 건강하지 않았습니다. 코딩을 시작하면서 컴퓨터 앞에 앉아있는 시간이 점점 길어졌고 허리의 통증이 점점 심해짐을 느껴 올해 중반기부터는 줄곧 치료를 병행하고 있었습니다. 그러나 결국에는 허리가 버티지 못하고 무너졌어요. 앉거나 서있지 못하고 지팡이가 없으면 걷지도 못하게 되었습니다. 긴 예약대기 끝에 mri 촬영을 했고 4개의 디스크에 문제가 있음을 확인했습니다. 특히 5번 척추와 1번 천추 사이의 디스크가 파열-탈출하여 신경을 많이 누르고 있는 상태입니다. 파열된 디스크를 ..
2022.11.16
-
DRF api 서버 만들기 진행 기록
1. 깃허브 레파지토리 링크 https://github.com/dpcalfola/fola_api_server 2. 진행 기록 Django settings.py core_app (개발중) Custom user model (계획) Custom superuser model (계획) Custom admin page for custom user model (계획) Custom django command (계획) wait for db to be available (계획) docker-compose docker-compose 와 Dockerfile 연동 CI github action을 이용한 CI 환경 구축 github secrets 을 이용하여 Dockerhub 로그인 steps: Django test flake8..
2022.09.30
-
2022.09.21 - Django poj.c A4) 개발과정 정리 페이지
Howdimt - 주류 정보 공유 웹 애플리케이션 바로가기: http://www.howdimt.xyz/ Github: https://github.com/dpcalfola/cocktail_how_did_i_make_this Web Framework: Python Django DB: postgreSQL Web Server: Nginx Deploy: 개인 NAS의 Docker 1. 프로젝트 진행 과정 시간 순으로 보기 더보기 2022.04.18 - Django poj.c A0 ) 진행과정 기록에 관하여 - 0일차 2022.04.19 - Django poj.c C0 ) DB 선택 - 1일차 2022.04.20 - Django poj.c B0 ) Bootstrap5 설치 및 base.html 작성 - 2일차 20..
2022.09.21
-
DRF stu.d.a A0) DRF + TDD + CI
0. 정말 오랜만의 블로그 포스팅 한동안 새 글이 없었음에도 일일 방문자가 꽤 많아 기분이 좋았다. 1. 근래에는 Django REST framework를 이용한 API 서버 개발을 공부하고 있다. 코드: https://github.com/dpcalfola/study_django_rest_framework 2. 구조 * 코드는 TDD(Test Driven Development)에 입각하여 작성 * Docker-compose를 사용하여 모든 컨테이너를 통합, 제어하여 빌드 * CI(Continus Integration) 구현 - Github Action을 통해 매 git push 때마다 빌드, Test Code, Lint 등을 체크 3. 문제 해결 일화 - env 숨김 파일을 Github Action에 적..
2022.08.29
-
파이썬PS) 백준 14729 칠무해 - 최대힙 사용
파이썬PS) 백준 14729 칠무해 - 최대힙 사용 문제 링크 : https://www.acmicpc.net/problem/14729 제출 코드: https://www.acmicpc.net/source/45496454 14729번: 칠무해 조(Joe)는 중앙대학교 교수이고, 논리회로 설계 과목을 담당하고 있다. 그는 수업을 하면서 7명의 학생을 제외한 나머지 학생들에게 좋은 학점을 주겠다고 약속을 하였다. Joe 교수님을 돕기 위해 www.acmicpc.net 0. 파이썬으로 풀 경우 단순하게 모든 입력값을 리스트에 append 하고 정렬하여 7개만 출력하는 방법으로도 제한시간내에 통과된 제출이 있었다. 그러나 학생 수의 입력 범위가 최대 10,000,000으로 매우 크고 출력 값은 최솟값 7개만 필요했..
2022.07.04
-
프로젝트 기록
Howdimt - 주류 정보 공유 웹 애플리케이션 바로가기: http://www.howdimt.xyz/ Github: https://github.com/dpcalfola/cocktail_how_did_i_make_this Web Framework: Python Django DB: postgreSQL Web Server: Nginx Deploy: 개인 NAS의 Docker 1. 프로젝트 진행 과정 시간 순으로 보기 더보기 2022.04.18 - Django poj.c A0 ) 진행과정 기록에 관하여 - 0일차 2022.04.19 - Django poj.c C0 ) DB 선택 - 1일차 2022.04.20 - Django poj.c B0 ) Bootstrap5 설치 및 base.html 작성 - 2일차 20..
2022.07.03
-
Hammerspoon, lua ) 해머스푼 코딩
Hammerspoon, lua ) 해머스푼 코딩 관련글 2022.04.24 - [기술 기록/기타] - 카라비너(Karabiner-Elements) caps lock 커스텀 키 매핑, json 편집 (2023-02-19 수정함) 다음글 2023.02.19 - [기술 기록/기타] - Hammerspoon, lua ) 해머스푼 init.lua v0.206a 위 링크의 포스팅에 사용방법이 안내되어 있는 기능적으로 개선된 해머스푼 코드가 있습니다. 0. 해머스푼 init.lua 코드의 대다수는 '기계인간' 님의 Hammerspoon 블로그를 참고하여 작성하였습니다. 감사의 마음을 전합니다. '기계인간' 님의 Hammerspoon 블로그 포스트 주소 https://johngrib.github.io/wiki/hamm..
2022.06.29
-
Toy.didIPass 1) 객체지향적 접근 - 추상화/캡슐화
토이 프로젝트 > Toy poj.pf 1) 자격증 과락, 합격, 불합격 계산 프로그램 (Ver. 1.0) 0. 코드 링크: https://github.com/dpcalfola/toy_projects/tree/main/did_i_pass 1. 객체지향 프로그래밍의 특징 객체지향 프로그래밍의 특징에는 캡슐화, 상속, 추상화, 다형성 4가지가 있다. 이번 토이 프로젝트는 상속과 다형성을 적용시킬 만큼 복잡하지 않아서 제외하고, 추상화와 캡슐화 관점에서 'Subject' 클래스를 해석해 보았다. 2. 추상화 1) 추상화 '과목'을 하나의 클래스(class Subject:)로 만들고 각 과목을 객체로 생성, 저장한다. 자격증 시험의 '과목'은 현실 세계의 관점으론 수없이 많은 의미가 될 수 있다. 수 없이 많은 ..
2022.06.19
-
Toy.didIPass 0) 자격증 과락, 합격, 불합격 계산 프로그램
토이 프로젝트 > Toy poj.pf 0) 자격증 과락, 합격, 불합격 계산 프로그램 (Ver. 1.0) 0. 코드 링크: https://github.com/dpcalfola/toy_projects/tree/main/did_i_pass 대화형 텍스트 방식의 프로그램. 문제의 개수와 맞은 문제 수 또는 틀린 문제 수를 입력하면 백분율 환산 점수, 과락 여부, 합격여부를 출력한다. mode1 : 총 문제수와 맞은(또는 틀린) 문제 개수를 입력받아 합격 여부 출력 mode2 : 세부 과목의 문제수와 맞은(또는 틀린) 문제 개수를 가각 입력받아 과락 여부와 종합 합격 여부 출력 프로그램 실행 결과 화면 (하늘색 숫자는 유저가 입력한 값) 1. 요즘 자격증 시험에 많이 응시하고 있다 가채점 결과로 과락, 합격, ..
2022.06.19
-
개발일지_10) 국비 수료 후 근황
12월 27일 ~ 5월 25일 java 국비 과정 수료. 6월 말 까지는 개발과 관련 없는 개인 일정이 잡혀 있어서 적극적인 취업 준비나 구직 활동이 불가능. 알고리즘 문제풀이 하루 한문제 이상, 자격증 시험 위주로 공부. 5월 28일 SQLD 6월 11일 리눅스 마스터 2급 2차 6월 18일 정보처리 기능사 시험 하나 당 준비기간 5일 이내로 벼락 치는 중.
2022.06.08
-
Django poj.c E5) CSRF token에 대하여, 토큰 검증 문제 해결 - 프로젝트 마감 추가글 2번
Code E - Server 5번 글, 6월 1일 (수) 자격증 시험 준비로 미뤄 두었던 프로젝트 34~35일 차 (5월 21일~22일) 프로젝트 진행 과정 기록 ( 프로젝트 마감 추가글 2번 ) 1. Error 상황 CSRF 토큰을 사용하는 form 태그의 post 요청 시 접근하고 있는 호스트가 신뢰할 수 있는 origins 목록에 없다는 Debug 메시지와 함께 403 forbidden 에러가 발생하였다. 2. CSRF 토큰? Django Framework는 form tag로 데이터를 전송할 때 필수로 {% csrf_token %} 코드를 요구한다. CSRF는 Cross-site Request Forgery의 약자이다. 사이트 간 위조 요청..
2022.06.01
-
Django poj.c E4) Django / nginx 도커 컨테이너 간 정적 파일 공유 - 프로젝트 마감 추가글 1번
Code E - Server 4번 글, 5월 31일 (화) 자격증 시험 준비로 미뤄 두었던 프로젝트 34~35일 차 (5월 21일~22일) 프로젝트 진행 과정 기록 ( 프로젝트 마감 추가글 1번 ) 0. 컨테이너 간 정적 파일(static / media files) 공유 과정 niginx 웹 서버가 정적 파일 요청을 처리하기 위해서는 Django 컨테이너의 정적 파일을 nginx 서버와 동기화하는 작업이 필요하다 1. Django 컨테이너 세팅 Django 컨테이너에서 정적 파일을 한 곳에 모은다 python manage.py collectstatic 정적 파일은 setting.py의 STATIC_ROOT에 명시된 경로로 모두 모이게 된다. 2. nginx 컨테이너 세팅 ngnix.conf 파일에 정적 ..
2022.05.31
-
error, 파이참버그) ValueError: invalid literal for int() with base 10: '' / 파이참 인풋 버그
error, 파이참, PyCharm) ValueError: invalid literal for int() with base 10: '' / 파이참 인풋 버그 0. 요약 : PyCharm 2022.1.1 의 알려진 버그 PY-54238 - 콘솔에서 인풋 값을 입력받을 때 두 번째 인풋이 강제로 empty string로 변환되는 현상 해결방법: Run > Run/Debug Configurations > Execution > Emulate terminal in output console > 체크박스 체크 (2022/06/02 추가 내용) 정식 릴리즈된 PyCharm 2022.1.2 업데이트로 버그 픽스됨 1. 버그 내용 콘솔에서 인풋 값을 키보드로 직접 입력받을 때 두 번째 인풋이 강제로 empty strin..
2022.05.30
인기글
-
Django poj.c B3 ) 제로베이스!! - 5일차
Code B Django 3번 글, 프로젝트 5일차 zero-base : 타동사 백지상태로 되돌려 결정하다, 출발점으로 되돌아가 결정[검토]하다 1. 구현했던 google 소셜 로그인 커밋을 revert 했다. Django의 User 모델을 제대로 이해하지 못하고 있기 때문에 소셜 로그인 정보와 user 모델 간 상호작용하는 코드를 작성할 수 없었다. 2. revert 이후 User 모델에 대해 공부했다. 유저 커스텀 모델에 관련한 글을 찾았고 이를 프로젝트에 도입하려고 시도했으나... 실패. Django 프레임 워크의 User 관련 코드를 오버라이딩 하는 과정인 것 같았다. 이해하지 못한 채 사용해야 하는 코드가 너무 많았고, 설상가상으로 superuser 생성과 접근이 불가능해졌으며, 관련 코드를 삭..
2022.04.23
-
error) git) 리모트 레파지토리 끊고 다시 연결하기
// 연결되어 있는 원격 레파지토리 확인 $ git remote -v // 원격 레파지토리와 연결 제거 $ git remote remove origin // 연결이 잘 해제 되었는지 다시 확인 $ git remote -v // 새로운 레파지토리로 깃 연결 $ git remote add origin // 새 레파지토리로 push 할때 발생하는 error 메세지 // // fatal: The current branch main has no upstream branch. // To push the current branch and set the remote as upstream, use // // git push --set-upstream origin main // 깃에서 제시한 위 명령어 입력 (원격 저장소..
2022.03.27
-
개발일지_12) 나의 첫 깃허브 업적(Github Achievements)
개발일지_12) 나의 첫 깃허브 업적(Github Achievements) 0. 어느 날 내 깃허브 페이지에 못 보던 아이콘이 나타났다. 왜일까 궁금해서 마우스를 올려보니 Pull Request 가 Merge 되는 조건으로 해금되는 업적이었다. 1. 얼마 전, 코드를 여러 브런치를 오가며 코드를 작성하다가 커밋 푸시한 코드의 마크다운 파일이 웹에서 잘 보이는지 확인하고자 깃허브 작업 브런치의 웹 페이지를 열었다. 그날따라 상단에 Compare & pull request라는 버튼이 보였다. 그동안 PR은 서로 다른 계정끼리만 가능하다고 생각했었으나, 자기 소유의 레파지토리에도 스스로 PR 하고 Merge 할 수 있다는 것을 알게 되었다. 좋은 기회라고 생각했다. 마치 실제로 다른 오픈소스 프로젝트에 기여하..
2023.02.04
-
Django poj.c B10) get_or_create !! - 18일차
Code B Django 10번 글, 프로젝트 18일차 (목) get_or_create() get_or_create(defaults=None, **kwargs) A convenience method for looking up an object with the given kwargs (may be empty if your model has defaults for all fields), creating one if necessary. Returns a tuple of (object, created), where object is the retrieved or created object and created is a boolean specifying whether a new object was created...
2022.05.06
-
Django poj.c B9) 프로필 카드 레이아웃, Class Based View - 15일차
Code B Django 9번 글, 프로젝트 15일차 (월) 1. 컨셉은 트위터 프로필 디자인을 참고했다. 하지만 디자인 완성하는데 너무 많은 시간을 쏟았다. 프런트엔드나 풀스택이 아닌 백엔드를 지향하는 처지에 불필요하게 너무 많은 시간을 허비하지 않도록 경계해야겠다. 그래도 꽤 마음에 든다. 2. 완성된 레이아웃이 나오기까지 정말 무수한 시행착오가 있었다. 부트스트랩의 css와 내가 작성한 css 속성의 우선순위가 어떻게 되는지 잘 모르겠다. css 어렵다. 3. Django 코드, CBV 이야기. 일요일 회원가입 페이지를 클래스 베이스 뷰로 작성했다가 scccuss url에 context를 같이 넘기는 방법을 못 찾아서 FBV로 다시 작성했다. CBV가 여러 편의성을 제공한다는 건 알겠으나, 필요한 ..
2022.05.03
-
Django poj.c B4 ) account 기능 구현 중 - 6일차
Code B Django 4번 글, 프로젝트 6일차 (토) Login, Logout 기능 - CBV(Class Based View) Signup 기능 - FBV(Function Based View) UserCreationForm을 상속받은 새로운 Form class를 만들고, 추가 정보(ex - email, 생년월일)를 받는 방법을 시도하는 중. 결국엔 User 모델을 상속 받아서 새 계정 모델을 만들고 마이그레이션 해야 하는 것 아닌가 싶은데 한번 실패한 방법이라. 조금 걱정이다. ORM이 영 익숙해지지가 않네.
2022.04.24
-
DRF api 서버 만들기 진행 기록
1. 깃허브 레파지토리 링크 https://github.com/dpcalfola/fola_api_server 2. 진행 기록 Django settings.py core_app (개발중) Custom user model (계획) Custom superuser model (계획) Custom admin page for custom user model (계획) Custom django command (계획) wait for db to be available (계획) docker-compose docker-compose 와 Dockerfile 연동 CI github action을 이용한 CI 환경 구축 github secrets 을 이용하여 Dockerhub 로그인 steps: Django test flake8..
2022.09.30
-
파이썬PS) 백준 14729 칠무해 - 최대힙 사용
파이썬PS) 백준 14729 칠무해 - 최대힙 사용 문제 링크 : https://www.acmicpc.net/problem/14729 제출 코드: https://www.acmicpc.net/source/45496454 14729번: 칠무해 조(Joe)는 중앙대학교 교수이고, 논리회로 설계 과목을 담당하고 있다. 그는 수업을 하면서 7명의 학생을 제외한 나머지 학생들에게 좋은 학점을 주겠다고 약속을 하였다. Joe 교수님을 돕기 위해 www.acmicpc.net 0. 파이썬으로 풀 경우 단순하게 모든 입력값을 리스트에 append 하고 정렬하여 7개만 출력하는 방법으로도 제한시간내에 통과된 제출이 있었다. 그러나 학생 수의 입력 범위가 최대 10,000,000으로 매우 크고 출력 값은 최솟값 7개만 필요했..
2022.07.04
-
Django poj.c E4) Django / nginx 도커 컨테이너 간 정적 파일 공유 - 프로젝트 마감 추가글 1번
Code E - Server 4번 글, 5월 31일 (화) 자격증 시험 준비로 미뤄 두었던 프로젝트 34~35일 차 (5월 21일~22일) 프로젝트 진행 과정 기록 ( 프로젝트 마감 추가글 1번 ) 0. 컨테이너 간 정적 파일(static / media files) 공유 과정 niginx 웹 서버가 정적 파일 요청을 처리하기 위해서는 Django 컨테이너의 정적 파일을 nginx 서버와 동기화하는 작업이 필요하다 1. Django 컨테이너 세팅 Django 컨테이너에서 정적 파일을 한 곳에 모은다 python manage.py collectstatic 정적 파일은 setting.py의 STATIC_ROOT에 명시된 경로로 모두 모이게 된다. 2. nginx 컨테이너 세팅 ngnix.conf 파일에 정적 ..
2022.05.31
-
error, 파이참버그) ValueError: invalid literal for int() with base 10: '' / 파이참 인풋 버그
error, 파이참, PyCharm) ValueError: invalid literal for int() with base 10: '' / 파이참 인풋 버그 0. 요약 : PyCharm 2022.1.1 의 알려진 버그 PY-54238 - 콘솔에서 인풋 값을 입력받을 때 두 번째 인풋이 강제로 empty string로 변환되는 현상 해결방법: Run > Run/Debug Configurations > Execution > Emulate terminal in output console > 체크박스 체크 (2022/06/02 추가 내용) 정식 릴리즈된 PyCharm 2022.1.2 업데이트로 버그 픽스됨 1. 버그 내용 콘솔에서 인풋 값을 키보드로 직접 입력받을 때 두 번째 인풋이 강제로 empty strin..
2022.05.30
-
Django poj.c E2) 실패한 모든 시도의 원인은 방화벽이었다 - 32일차
Code E - Server 2번 글, 프로젝트 32일차 (목) 0. 해결 방법 Docker 가 사용하는 172번으로 시작하는 IP의 nas 방화벽 개방 (default bridge - 172.17.0.1~ , custom bridge - 172.18.0.1~ ) 1. 기존에 시도했던 Docker in docker 가 작동하지 않았던 이유도, 우분투 컨테이너에 정상적으로 설치했던 도커 엔진이 작동하지 않았던 이유도, 도커 브릿지에 묶여 있는 컨테이너 사이에 통신이 불가능했던 이유도, 그 외에 수없이 생성되었다 삭제된 컨테이너와 이미지들 모두가, 그 모두의 원인은 단 하나였다. 그 한 가지 원인을 깨닫는데 하루 해결하는데 하루가 걸렸다. 2. 원인 22번 포트를 이용한 ssh 접속이나, DB와 연동하여 레..
2022.05.21
-
Django ) 데코레이터를 이용한 유저 검증
관련글 2022.05.16 - [프로젝트/Django - How Dimt?] - Django poj.c B16) Security logic - 403 forbidden - 28일차 views.py 에서 모델 객체 변경을 요청하는 유저의 권한을 체크하는 3가지 코드 1. CBV에서 'GET' 요청과 'POST' 요청을 처리하는 함수를 오버라이드 GET' 또는 'POST' 요청을 처리하는 함수가 콜 되었을 때 - 로그인이 되어있지 않거나 - 객체의 작성자와 request에 담겨있는 로그인 user가 같지 않을 경우 403 forbidden를 raise CBV에서 REST 요청이 들어왔을 때 내가 원하는 로직을 추가하는 방법. 매우 중요!! 2. Decorator를 이용한 검증 (기존 오버라이드 방식의 코드는..
2022.05.16
-
Django poj.c B15) 자유게시판 CRUD - 25일차
Code B Django 15번 글, 프로젝트 25일차 (목) 1. CBV !!! 드디어 CBV를 제대로 활용했다 CreateView, DetailView(==Read 역할), UpdateView, DeleteView -> CRUD 모두 Class Based View로 구현하는데 성공. 이제야 Django의 CRUD 가 어떻게 돌아가는지 큰 그림이 조금 보인다. 2. 아쉬운 점 (1) CBV를 자유자재로 사용하진 못하고 있는 게, 게시물 삭제 이후로 Delete 성공 메시지를 출력하고 싶었는데 잘 되지 않았다. FBV로 만든 간단한 함수를 통해 Delete 성공 메시지를 담고 있는 html 파일로 연결하는 방법으로 해결했다. 3. 아쉬운 점 (2) 삭제, 수정 이후 자유게시판으로 돌아갔을 때 페이지네이션..
2022.05.14
-
Django poj.c D1 ) 금요일, 3주차 중간 발표, ORM - 19일차
Code D 발표 1번 글, 프로젝트 19일차 1. 3주차 중간발표를 했다. 내 프로젝트와 관련한 이야기는 짧게 하고 ORM 에 대해 소개하는 내용을 중점적으로 담았다. 새벽까지 자료 만드느라 조금 피곤했지만 만족. 2. 발표 자료를 첨부
2022.05.06
-
Django poj.c B6) error) blank input ValueError 해결 - 10일차
Code B Django 6번 글, 프로젝트 10일차 (수) # 발생한 문제와 관련한 이전 글 링크 2022.04.26 - [프로젝트/Django - How Dimt?] - Django poj.c B5 ) 주류가격정보 테이블 구현 / 현재 봉착한 문제 - 9일차 1. html의 form태그의 POST방식으로 레코드를 생성하는 코드에서 blank=True, null=True로 지정했던 field에 input value 가 비어 있는 상태(blank)로 summit 했을 때 원하지 않는 ValueError 가 발생했다. blank=True 가 있으니 유효성 검사는 통과했어야 하고 null=True 기 때문에 DB에 비어있는 값이 들어갔어야 했다. 왜일까..? 2. 같은 상황의 스택오버플로우 질문 글에는 다음..
2022.04.27
-
Django poj.c A2 ) 칵테일 브레인스토밍 기록 - 3일차
Code A 2번째, 프로젝트 3일차 브레인스토밍 기록 1. 기능 - 보편적인 칵테일 레시피를 제공 - 유저의 오리지날 레시피를 공유 - 그리고 칵테일 사진 포스팅 - 좋아요 기능 2. develpment tasks - 레시피 DB 모델링 -> 4순위 - 계정 생성/관리 -> 1순위 - 프로필 페이지 -> 3순위 - 사진 CRUD -> 2순위 - 레시피 CRUD -> 5순위 3. DB modeling > 레시피 model 작성자(not null) 작성일 (not null) 출처 (null) - ex) 조주기능사 레시피 잔 (not null) 레시피 순서(not null) - 기주, 음료, 기법 구분없이 최대 30 필드 > 기주 model 기주 (max 10, 순서 있음) 음료 (max 10, 순서 있음)..
2022.04.20
-
개발일지_4) 데이터 가공
"아파트 실거래가 조회 프로그램" 프로젝트 마감날이 얼마 남지 않았다. 그 동안 2021년 데이터만으로 작업을 해왔고 실용성을 제고하기 위해 데이터 양을 늘리고 있다. 데이터는 공공데이터 포털에서 배포하는 자료에 기반한다. 국내에서 신고된 모든 아파트 거래 자료를 대상으로 하기 때문에 전체 데이터를 가져와야 하는데 간단치가 않다. 1. 지역 구분이 없는 전체 데이터는 월 단위로만 다운로드가 가능하다. 2. 받은 자료의 형식은 .csv 이나 문서 제일 앞단에 문서 안내 텍스트가 있어 사용하기 위해선 한번 가공해야 한다. 3. 인코딩이 UTF-8 이 아닌 ECU-KR 이다. ( 이게 다 마이크로소프트가 윈도우 한글 기본 인코딩을 ECU-KR로 고집하고 있기 때문이다. 그리고 나는 한국에서 비 윈도우 환경 컴..
2022.03.08
-
DRF stu.d.a A0) DRF + TDD + CI
0. 정말 오랜만의 블로그 포스팅 한동안 새 글이 없었음에도 일일 방문자가 꽤 많아 기분이 좋았다. 1. 근래에는 Django REST framework를 이용한 API 서버 개발을 공부하고 있다. 코드: https://github.com/dpcalfola/study_django_rest_framework 2. 구조 * 코드는 TDD(Test Driven Development)에 입각하여 작성 * Docker-compose를 사용하여 모든 컨테이너를 통합, 제어하여 빌드 * CI(Continus Integration) 구현 - Github Action을 통해 매 git push 때마다 빌드, Test Code, Lint 등을 체크 3. 문제 해결 일화 - env 숨김 파일을 Github Action에 적..
2022.08.29
-
프로젝트 기록
Howdimt - 주류 정보 공유 웹 애플리케이션 바로가기: http://www.howdimt.xyz/ Github: https://github.com/dpcalfola/cocktail_how_did_i_make_this Web Framework: Python Django DB: postgreSQL Web Server: Nginx Deploy: 개인 NAS의 Docker 1. 프로젝트 진행 과정 시간 순으로 보기 더보기 2022.04.18 - Django poj.c A0 ) 진행과정 기록에 관하여 - 0일차 2022.04.19 - Django poj.c C0 ) DB 선택 - 1일차 2022.04.20 - Django poj.c B0 ) Bootstrap5 설치 및 base.html 작성 - 2일차 20..
2022.07.03
-
Hammerspoon, lua ) 해머스푼 코딩
Hammerspoon, lua ) 해머스푼 코딩 관련글 2022.04.24 - [기술 기록/기타] - 카라비너(Karabiner-Elements) caps lock 커스텀 키 매핑, json 편집 (2023-02-19 수정함) 다음글 2023.02.19 - [기술 기록/기타] - Hammerspoon, lua ) 해머스푼 init.lua v0.206a 위 링크의 포스팅에 사용방법이 안내되어 있는 기능적으로 개선된 해머스푼 코드가 있습니다. 0. 해머스푼 init.lua 코드의 대다수는 '기계인간' 님의 Hammerspoon 블로그를 참고하여 작성하였습니다. 감사의 마음을 전합니다. '기계인간' 님의 Hammerspoon 블로그 포스트 주소 https://johngrib.github.io/wiki/hamm..
2022.06.29