본문 바로가기

전체 글

(222)
장고 게시판 작성하기(Model) CRUD - C https://hbsowo58.tistory.com/514 장고 게시판 작성하기(Model) CRUD - R https://hbsowo58.tistory.com/512 장고 시작하기 필요한 프로그램 python git bash vscode 작업 환경(폴더) 설정 git bash 또는 vscode의 터미널 기능을 활용하여, 작업할 환경으로 이동한다 가상환경 생성 & 활.. hbsowo58.tistory.com 위 글에 이어서 작성합니다. CURD의 READ 부분을 작성하였으나, 현재 데이터가 없어 조회가 어렵습니다. CREATE 기능을 구현하여 데이터를 조회해보겠습니다. 데이터의 흐름에따라, url -> views -> templates순으로 작성하겠습니다 현재 articles 애플리케이션의 urls.py..
장고 게시판 작성하기(Model) CRUD - R https://hbsowo58.tistory.com/512 장고 시작하기 필요한 프로그램 python git bash vscode 작업 환경(폴더) 설정 git bash 또는 vscode의 터미널 기능을 활용하여, 작업할 환경으로 이동한다 가상환경 생성 & 활성화 $ python -m venv [가상환경이름] 가상환경.. hbsowo58.tistory.com 기존글에서 이어서 진행합니다. 현재 프로젝트 구성은 다음과 같습니다. 현재는 1개의 "프로젝트"만 존재합니다. 애플리케이션을 생성합니다 django는 애플리케이션의 모음과 같습니다. 명령어를 입력하면, 다음과 같이 articles 애플리케이션이 생성됩니다. 프로젝트에서, 애플리케이션을 사용하기 위해서는 "프로젝트"의 settings.py 파일안에, ..
빅오 표기법(Big-o Notation) 시간 및 공간 복잡도 분석을 위한 표기법 (Big - O) -> 알고리즘의 최악의 경우 복잡도 측정 n은 입력의 개수 그림의 O(1)은 입력에 따라, 시간이 변하지 않습니다 -> 상수 시간 배열의 인덱스를 사용해 접근 하는 경우가 O(1)의 예입니다. const arr = [1,2,3, ... , 1004, ...] // 많은 데이터라고 가정 console.log(arr[1004]) 인덱스로 접근하는 시간은 정해져 있습니다. 최악의 경우에도 한 번에 접근할 수 있으며, 연결 리스트와 차이를 갖는 배열의 특징입니다. O(n)은 선형 시간이고, 최악의 경우에는 n번 연산해야 합니다. 반복문을 통해, 숫자를 출력하는 경우가 O(n)의 예입니다. const linear = n => { for(let i = 1;..
장고 시작하기 필요한 프로그램 python git bash vscode 작업 환경(폴더) 설정 git bash 또는 vscode의 터미널 기능을 활용하여, 작업할 환경으로 이동한다 가상환경 생성 & 활성화 $ python -m venv [가상환경이름] 가상환경 생성 $ source [가상환경이름]/Scripts/activate 가상환경 활성화 폴더를 확인해보면 다음과 같이 출력됩니다. source 명령어로 가상환경을 실행시키면, 상단처럼 (가상환경이름)이 계속 출력됩니다. 터미널 별 활성화 방법 Git Bash $ source [가상환경이름]\Scripts\activate CMD $ [가상환경이름]\Scripts\activate.bat PowerShell $ [가상환경이름]\Scripts\Activate.ps1 mac..
크로미움 기반 제로데이 이슈(크롬 버전 업데이트) 현재 크로미움 기반 이슈가 발생했다고 합니다. (99대 버전) https://www.boannews.com/media/view.asp?idx=105717 구글, 크롬에서 발견된 제로데이 취약점 긴급히 패치 보안 외신 시큐리티위크에 따르면 구글이 긴급 패치를 배포하기 시작했다고 한다. 크롬 브라우저에서 제로데이 취약점이 발견됐기 때문이다. 이 취약점은 CVE-2022-1096으로, 이미 해커들 사이에서 www.boannews.com 제로 데이 이슈란? 제로 데이 공격(또는 제로 데이 위협, Zero-Day Attack)은 컴퓨터 소프트웨어의 취약점을 공격하는 기술적 위협으로, 해당 취약점에 대한 패치가 나오지 않은 시점에서 이루어지는 공격을 말한다. 이러한 시점에서 만들어진 취약점 공격(익스플로잇)을 제로..
변수와 메모리 적재 과정 변수는 왜 필요할까요? 다음과 같은 코드가 있다고 가정합니다 console.log(1) console.log('heo') console api의 log 메서드를 통해, 1과 heo를 출력하였습니다. 문제는, 이를 '재사용'할때 발생합니다 1을 재사용 해서 출력할 경우 아래와 같이 될 것 입니다. console.log(1) console.log(1) console.log(1) 큰 문제는 없어보이는데, 모든 1에 2를 더해야 한다고 가정한다면 console.log(1+2) console.log(1+2) console.log(1+2) 이렇게 바뀔 것이며 나아가 이런 작업을 무한대로 반복한다면? 반복 작업을 많이 수행할 것 입니다. 또한, '특정' 1만 선택해서 3을 더한다면? "어떤"기준으로 1을 선택할 수 ..
Bracket Pair Colorizer is no longer being maintained. 해결 vscode 확장 프로그램 Bracket Pair Colorizer & Bracket Pair Colorizer 2 사용 중에, 하단과 같은 내용이 출력되었습니다. 더 이상 유지 & 관리되지 않는다는 내용으로 판단되며 21년 8월경 vscode에서는 해당 익스텐션의 성능 문제로 자체적으로 기능을 제공한다고 합니다. (링크 참조 https://code.visualstudio.com/updates/v1_60#_high-performance-bracket-pair-colorization) 내장 기능을 사용하기 위해서 Bracket Pair Colorizer & Bracket Pair Colorizer 2를 삭제합니다. 이미지 1을 참고하여, 빨간색 사각형의 확장(extions)에 가서 Bracket Pair ..
[CSS] pointer-events 사용으로 인한 클릭 이슈 그림과 같은 css구조가 있다고 가정하겠습니다. (이하 빨간색 box1, 주황색 box2) 형제 관계처럼 보이지만, box1을 기준으로 box2를 absoulte로 배치한 부모-자식 관계입니다. box1,2에게 클릭 이벤트가 있다고 가정할 때, 겹치는 부분(교집합)을 클릭하면 이벤트가 2개가 발생합니다. 방지하기 위해, box1에 pointer-events라는 속성을 사용하였습니다. (default auto) pointer-events:none; 문제는 box1과 box2가 부모-자식 관계였고, box2의 버튼도 클릭이 되지를 않는다는 것을 알게 되었습니다. 1. css상속을 생각하지 않았습니다. 2. 잘 모르는 것을 함부로 사용하면 안 된다는 점과, 3. 이벤트 계열은 되도록 스크립트단에서 해결을 하는..