전체 글

전체 글

    시청후기 - 얄팍한 코딩사전 "세션 VS. 토큰! JWT가 뭔가요?"

    영상 세션 / 토큰의 가장 큰 차이점은 사용자가 정상적인, 유효한 사용자 라는 것을 서버에 저장하냐, 사용자의 컴퓨터에 저장하느냐이다. 서버에 저장하는 세션은 보안에 강한 장점이 있지만 서버에 부하가 비교적 심하다는 단점이 있고, 사용자의 컴퓨터에 저장하는 토큰은 서버에 부담이 적다는 장점이 있지만 비교적 보안이 취약하다는 단점이 있다. 세션이란 Session ID를 사용해서 어떤 사용자가 서버에 로그인 된, 되어있음이 지속되는 상태 접속량이 증가하면 메모리가 부족해지게 되는 단점이 있다. 메모리가 부족해져서 서버가 재부팅을 하게되는 상황이 생기면 휘발성인 메모리의 특성으로 인해 모든 사용자의 세션이 삭제 되어 다시 로그인을 해야한다. 만약 메모리의 단점을 보완하기 위해 세션을 하드에 보관하게 되면 그로..

    개인 전문 분야 - 강화된 JWT (Access Token / Refresh Token)

    JWT 정리 위캔 토큰에 대한 간결한 정리가 포함된 위캔 강화된 JWT (Access Token / Refresh Token) 기존 JWT와의 차이점 JWT의 문제점은 제 3자에게 토큰을 탈취당할 경우 보안이 취약해진다는 점이다. 기존 JWT 방식에서 보안을 높이기 위해 토큰의 유효기간을 단축시킬 경우 그만큼 사용자는 로그인을 더욱 자주 해줘야 하는 불편함이 있다. 유효기간을 짧게하면서 보안은 향상 시키는 방법으로 기존 Access Token과 더불어 Refresh Token이라는 새로운 토큰도 발급하는 방법이 생겨났다. - Access Token 기존의 JWT에서의 Access Token과 같다. - Refresh Token Access Token과 같은 형태의 JWT이다. 처음에 로그인을 완료할때 A..

    CI / CD

    CI란 여러 개발자가 작성하거나 수정한 소스를 지속적으로 통합하고 테스트하는 것 정의 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미한다. 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 원격저장소에 통합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있다. - 지속적인 통합이란 지속적 통합을 통해 개발자들은 코드 변경 사항을 공유 프랜치로 다시 병합하는 작업을 더욱 수월하게, 자주 수행할 수 있다. 개발자가 애플리케이션에 적용한 변경 사항이 병합되면 이러한 변경 사항이 애플리케이션을 손상시키지 않도록 자동으로 애플리케이션을 구축한다...

    git - github flow 사용법

    이전 내용 git 명령어 Git Flow 방식이란? Git에서 제안하는 프로젝트 관리방법 주기적으로 배포를 해야하는 프로젝트에는 적합하지만, 브랜치가 많아 복잡하고 어떤 프로젝트에 따라서는 몇몇 브랜치가 애매한 포지션을 가질 수 있다. 브렌치를 크게 4가지로 나누어 개발하는 전략이다. 메인 브랜치 (Main branch) 가장 중심이 되는 master와 develop master : 배포 가능한 상태만을 관리하는 브랜치 deveop : 다음에 배포할 것을 개발하는 브랜치 통합 브랜치의 역할을 하며, 평소에는 이 브랜치를 기반으로 개발을 진행한다. 피처 브랜치 또는 토픽 브랜치 (Feature branch, Topic branch) 보조 브랜치 기능을 개발하는 브랜치, develop 브랜치로부터 분기되었다..

    시청후기 - 얄팍한 코딩사전 "서버란 무엇인가요?"

    영상 서버란 네트워크로 연결된 다른 컴퓨터에게 serve 해주는 컴퓨터 반대 개념 : 클라이언트 - 서버로부터 servies 받은 컴퓨터 예) 저장된 글과 사진을 보여주거나 파일을 보관해주는 등 시청후기 서버컴퓨터가 경우에 따라 클라이언트가 될 수 있다는것을 새로 알게 되었다.

    MySQL - 유저 관련 명령어

    관리자 작업을 위해 root 계정으로 접속 mysql -u root -p 비밀번호; 회원 추가 사용자만 추가 create user 사용자id; 사용자 추가와 동시에 비밀번호 설정 create user 사용자id@localhost identified by '비밀번호'; 사용자 추가, 비밀번호 설정, 권한 범위 설정 grant all privileges on *.* to 사용자id@`%` identified by '비밀번호'; 권한 회수 revoke all privileges on _._ from 사용자id@localhost; 회원 삭제 등록된 모든 사용자 id 조회 select * from user; 사용자 삭제 delete from user where user = '사용자id';

    시청후기 - 생활코딩 (관계형 데이터 모델링)

    영상 시청후기 '순수하게 이상적인 것을 향해 가다가 물리적인 모델링 단계에서 현실에 맞게 수정하는 것이 인상적이었다' - 생활코딩 '이상이 없다면 현실은 혼란스러울것이고, 이상이 현실을 외면한다면 이상은 더이상 이상적이지 않을것이다.' - 생활코딩 위의 문구는 재생목록의 마지막 영상 "8. 수업을 마치며" 에서 나온 문구이다. "이상은 정규화, 현실은 비정규화"라 생각하고 위의 문구를 보면 데이터 모델링과 우리가 살아가는 세상이 굉장히 닮아있다는 생각이 든다. 평소에 정리, 청소를 좋아하는 부분에서 코드가 맞았는지 정규화, 비정규화 개념이 굉장히 즐겁게 느껴졌다. jump to Django를 하면서 부족하다 느껴졌던 부분들이 채워지는 느낌을 받았다.

    Django - mysite (폼)

    링크 이 페이지의 내용 정리 위캔입니다. 완성 소스 깃허브 폼 질문 등록 질문 등록 버튼 생성 경로 : ...templates\pybo\question_list.html ... # 추가 질문 등록하기 {% endblock %} 는 링크이지만 부트스트랩의 btn btn-primary 클래스를 적용하면 버튼으로 보인다. 버튼을 클릭하면 pybo:question_create 별칭에 해당되는 URL을 호출한다. 1 URL 매핑 pybo:question_create 별칭에 해당되는 URL 매핑을 추가한다. 경로 : ...misite\pybo\urls.py ... urlpatterns =[ ... # 추가 path('question/create/', views.question_create, name=..