최근 포스트
-
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
인기글
-
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
-
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
-
git) 기본 브랜치(branch) 이름 바꾸기 (master -> main)
1. 로컬에서 git init 명령어를 이용해 repository를 생성했을 때 기본 브랜치 이름이 main 이 아닌 master로 생성될 수 있다. 현재 github에서 새로 생성하는 repository는 기본 브랜치가 main 이기 때문에 기본 branch를 master 로 생성한 git을 깃허브와 remote 연결할 경우 로컬의 master 가 아닌 main 이 default로 설정되기 때문에 번거롭고 수고스러운 상황이 발생한다. (repository 설정에서 default branch를 교체할 수 있다. 또한 이름도 바꿀 수 있다.) 2. 과거에는 기본 브랜치 이름을 master 로 많이 사용하였으나, IT 산업에서 관습적으로 사용해 왔던 master/ slave 용어는 인종차별적인 의미로 사용..
2022.03.30
-
error) 자바, MySQL) 예외 : Statement.executeQuery() cannot issue statements that do not produce result sets
Statement.executeQuery() cannot issue statements that do not produce result sets 프로젝트 진행중에 발생한 SQL Exception 이다. 원인을 빠르게 찾지 못해 고생했다. SELECT 쿼리: .executeQuery() 사용 그외 (INSERT, DELECT 등)의 쿼리: .execute() 혹은 .executeUpdate() 사용 위 두개의 메서드를 혼동하여 사용할 경우 에러가 발생한다. .executeQuery() - ResultSet 을 리턴 .executeUpdate() - int 값 리턴 - 영향받는 레코드의 수를 리턴한다 - CREATE / DROP 는 -1을 리턴 .execute() 는 boolean 값 리턴 - 쿼리 결과가 ..
2022.02.19
-
도커_03) 컨테이너와 로컬 사이의 볼륨(폴더, 디렉터리) 공유
도커_03) 컨테이너와 로컬 사이의 볼륨(폴더, 디렉터리) 공유, 연결 도커를 공부하면서 작성한 테스트 메모 내용을 블로그에 한 번 더 정리. 1. 정리 도커 명령어의 -v 옵션 -v [로컬저장소의 절대 경로]:[컨테이너 저장소의 절대 경로] 컨테이너와 로컬 디렉터리를 연결시킨다. 작동 방식은 로컬 디렉터리를 설정한 컨테이너에 마운트 하는 방식 따라서 컨테이너 내부에 디렉터리가 존재하지 않는다면 자동으로 생성되고 컨테이너 내부에 디렉터리가 존재한다면 로컬 디렉터리로 덮어 씌워진다. 명령어의 로컬 디렉터리가 존재하지 않는다면 자동으로 생성 2. 예제 예제 1) 알파인 리눅스 볼륨 마운트 시도 (1) (* alpine linux : 작은 용량과 최소한의 기능을 추구하는 리눅스. 이미지의 크기가 5.32MB로..
2022.03.28
-
(Eng) error) java, MySQL) Exception : Statement.executeQuery() cannot issue statements that do not produce result sets
Eng) java, MySQL ) Exception : Statement.executeQuery() cannot issue statements that do not produce result sets Error message : Statement.executeQuery() cannot issue statements that do not produce result sets When I did my first project using MySQL DB, this error made me stuck for a time. In conclusion, this error is occurred by the incorrect use of java SQL statement syntax. If you want to exec..
2022.03.16
-
error, 도커) Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist 해결방법
error, 도커) Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist 해결방법 1줄 요약 : centos:centos7 이미지 사용 요약: CentOS 8 의 지원이 종료되었기 때문이다. End Of Life가 남아있는 다른 버전을 사용하면 해결된다. CentOS 7 의 지원기간은 2024년 6월까지이며 CentOS Stream 9 가 최신 CentOS 버전이다. (신형 CentOS 는 뒤에 'Stream' 태그가 붙는다) 1. 리눅스 마스터 2급의 문제의 기준이 CentOS 이기 때문에 실습용으로 CentOS 도커 컨테이너를 띄웠다. 도커 이미지는 ..
2022.05.04
-
카라비너(Karabiner-Elements) caps lock 커스텀 키 매핑, json 편집
1. 제가 사용하고 있는 카라비너 Complex modifications 세팅 json 파일입니다. 코드 깃허브 링크: https://github.com/dpcalfola/Karabiner_custom_json/blob/main/fola_custom.json 2. Caps Lock 버튼 조합으로 단축키를 만들어 사용하고 있습니다. caps + hjkl : 방향키 caps + space : 한영전환 (기본 한영전환을 ctrl + space로 맞춰주셔야 동작합니다) caps + n : backspace caps + m : delete 3. 사용 방법 첨부된 json 파일을 ~/.config/karabiner/assets/complex_modifications 폴더 안에 넣으면 Complex modificat..
2022.04.24
-
개발일지_3) 데이터베이스 백업
프로젝트와 관련된 DB를 외부 서버로 옮긴 이후 보안과 백업에 부쩍 신경쓰고 있다. 데이터베이스 스키마를 스냅샷 찍듯 옮기고 싶었다. 하지만 사용하고 있는 DB툴인 DataGrip을 한참 둘러봤음에도 만족스런 기능을 찾을 수 없었다. 기능이 없을리는 없는데, 어떻게 해야 할까. 현재 사용하고 있는 방법은 다음과 같다. 1. DDL Generator 이용하여 각 테이블을 정의하는 쿼리 생성 2. 생성한 쿼리를 백업용 스키마에서 실행하여 테이블 생성 3. 각 테이블마다 Export to file 을 통해 .csv 파일로 레코드 추출 4. 추출한 레코드 데이터를 백업 스키마의 테이블에 import 진행중인 '아파트 실거래가 조회 프로그램' 프로젝트의 데이터베이스는 레코드는 많지만 테이블의 수는 몇개 안되기 때..
2022.03.06
-
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 poj.c E0) AWS 대신 NAS - 30일차
Code E - Server 0번 글, 프로젝트 30일차 (화) 1. 지금부터는 코딩보다는 서버 호스팅에 도전하는 시간. 리눅스, 도커, 네트워크 지식의 부족함을 여실히 느끼고 있다. 검색하고 배워서 적용하고 익히자 ⭐️ 2. AWS와 같은 클라우드 인스턴스는 비용 발생 위험이 있고 나는 Docker 컨테이너를 띄울 수 있는 시놀로지 NAS를 가지고 있기 때문에 웹 개발을 하게 된다면 내 서버에 직접 띄울 생각이었다. 웹 서버는 아니어도 지난 프로젝트를 거치며 사용하고 있는 모든 데이터베이스는 NAS 위에 도커 컨테이너로 사용하고 있다. 3. 웹 서버도 DB 서버를 구축하듯 간단하게 서버를 올리고 코드를 복사하면 될 것이라 생각했는데 만만치가 않았다. 계획은 이러했다. 일단 마치 AWS나 구글 클라우드 ..
2022.05.18
-
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
-
개발일지_12) 나의 첫 깃허브 업적(Github Achievements)
개발일지_12) 나의 첫 깃허브 업적(Github Achievements) 0. 어느 날 내 깃허브 페이지에 못 보던 아이콘이 나타났다. 왜일까 궁금해서 마우스를 올려보니 Pull Request 가 Merge 되는 조건으로 해금되는 업적이었다. 1. 얼마 전, 코드를 여러 브런치를 오가며 코드를 작성하다가 커밋 푸시한 코드의 마크다운 파일이 웹에서 잘 보이는지 확인하고자 깃허브 작업 브런치의 웹 페이지를 열었다. 그날따라 상단에 Compare & pull request라는 버튼이 보였다. 그동안 PR은 서로 다른 계정끼리만 가능하다고 생각했었으나, 자기 소유의 레파지토리에도 스스로 PR 하고 Merge 할 수 있다는 것을 알게 되었다. 좋은 기회라고 생각했다. 마치 실제로 다른 오픈소스 프로젝트에 기여하..
2023.02.04
-
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
-
Django poj.c F1) 프로젝트 마무리, 해킹 공격, 프로젝트 기록 보류 - 36일차
Code F 기타 1번 글, 프로젝트 36일 차 5월 23일 (월) 0. 5월 28일 토요일 sqld 시험 준비 관계로 프로젝트와 관련된 모든 기록이 일시 중지. 1. 가까스로 프로젝트를 마무리했다. 모든 도커 컨테이너가 유기적으로 돌아간다. 또 구입한 도메인을 ngnix 컨테이너로 연결하였다. 간단하게 시연 방식으로 학원에서 발표. 2. 그러나 일요일 저녁에 연결한 도메인 주소를 어떻게 알았는지 12시간도 넘지 않은 시점에 끊임없이 해킹 시도가 들어왔다. .env 를 요청, admin 접속을 시도 등등등. 그리고 내가 만든 앱이 워드프레스 페이지라고 생각했는지 관련 파일을 계속 요청하고 있었다. 당장은 공격자의 ip를 추적해서 차단할 수 있는 기술이 없어서 서버를 내려놓은 상태. 3. 프로젝트를 완성하..
2022.05.25
-
Django poj.c E3) 프로젝트 서버 진척 내역 - 33일차
Code E - Server 3번 글, 프로젝트 33일 차 (금) 33일 차 프로젝트 서버 진척 내역 1. 파이썬 패키지 pip freeze > requirements.txt pip install -r requirements.txt 사용된 python 패키지 목록을 만들고 그 목록을 이용하여 서버 컨테이너에 패키지를 설치 2. gunicorn 설치 gunicorn은 웹 서버와 장고 애플리케이션을 연결해주는 인터페이스이며, 웹 페이지가 요청하는 동적 로직을 장고로부터 전달한다. 서버 컨테이너 내부에서는 이제 python manage.py runserver 0.0.0.0:포트번호 대신 gunicorn --bind 0.0.0.0:포트번호 config.wsgi:application 명령어를 이용해 웹 애플리케이..
2022.05.21
-
개발일지_9) 백준 골드 달성. 자료구조가 너무 재밌어서 큰일😆😆
1. 백준 티어 골드를 달성했다. 처음으로 문제 푼 날 기준으로는 약 5개월. 코딩을 처음 해본 날 그러니까, html 문서에 hello world를 찍은 날 기준으로는 약 8개월. 배경지식 없이 시작한 것 치고는 꽤 빠른 편이지 않을까..? 2. 요즘 자료구조가 너무 재밌다. 자료구조란 말을 처음 들은 순간을 기억한다. java에서 원시 타입과 참조 타입의 차이에 대한 수업 내용이었다. 여기서 처음으로 스택과 힙이라는 용어를 배웠다. 그 뒤론 그래프 문제 해결을 목표로 공부하면서 자연스레 하나씩 찾고 이해하고 사용하게 되었고. 그래프를 코드로 표현하는 방법을 깨우치니까 갑자기 dfs, bfs, 재귀, DP, 백트래킹 등등의 알고리즘 기법들의 코드가 눈에 들어오기 시작했다. 백준 골드 달성의 1등 공신 ..
2022.04.12
-
개발일지_8) 빛보다 빨랐던 애드센스 심사. 그리고 대체 텍스트
1. 빛보다 빨랐던 애드센스 심사. 약 18시간 만에 승인. 2. 요즘 블로그 글을 좀 자주 쓰기도 하고. 생각보다 구글을 통한 유입이 되는 것 같아서. 큰 기대 없이 신청했었다. 짧게는 몇 주 길게는 몇 달 걸린다던 심사가 하루도 걸리지 않아서 조금 놀랐다. 포스팅한 글의 주제가 명확한 편이고, 구글링으로 유입되는 트래픽의 퀄리티가 나름 괜찮았기 때문이 아닐까. 삽입하는 모든 이미지에 대체 텍스트를 붙이기도 했고. 3. 대체 텍스트. 이미지를 알아보기 어려운 사람들(ex 시각장애인)을 위해 덧붙이는 이미지 묘사 글이다. html을 공부하면서 알게 된 개념이었다. 이미지 태그에는 alt 값을 붙일 수 있고 이 값이 대체 텍스트가 된다. 나는 html 문서를 편집할 때 주로 웹스톰이라는 툴을 사용한다. 이..
2022.04.01
-
HTML, CSS) 블로그 스킨 꾸미기
레이아웃의 큰 틀 대부분은 유튜브의 영상을 따라갔고 이후엔 내 취향을 듬뿍 담아 곳곳에 포인트를 넣었다. 심플함을 유지하면서 전체 그림을 한 번에 볼 수 있도록 오브젝트를 배치했다. 또 포인트 색상 하나를 골라 군데군데 적용하고 식상했던 폰트도 몇 개 수정했다. 1. 요즘 웹 개발을 공부하다 보니 평소 무의식 적으로 사용하던 웹 페이지들이 조금 다르게 보인다. 요건 이렇게 만들었겠구나, 이런 게 있으면 좋겠다. 이런 건 별로 보기 안 좋네. 등등 운영하는 블로그 디자인이 썩 마음에 들지 않았었다. 티스토리에서는 몇 가지 스킨을 제공하고 수정도 가능했지만, GUI 환경으로 튜닝할 수 있는 요소는 한계가 있었고, HTML CSS 편집 기능은 내 프런트엔드 지식으로는 너무 복잡하고 어려워 보였다. 유저 배포/..
2022.03.26