본문 바로가기
관리자

Programming-[Base]/Basic of Coding

(9)
인코딩 하는 이유, Base64 Base32 차이: 대소문자 인코딩/디코딩하는 이유이메일, URL, JSON, XML과 같은 텍스트기반 프로토콜에서 이진 데이터(이미지, 파일, 암호화 키 등)을 그대로 사용하면 문제가 될 수 있기 때문에 사용 Base64 특징Base64가 Base32 대비 길이가 짧아서 공간 절약이 됨.Base64는 숫자, 영문자 외에 +, / 기호도 사용하는데 URL 인코딩 등에서 사용 못할 수 있으므로 URL-safe Base64도 있음. +를 -로, /를 _로 변환함  Bas32 특징대소문자 구분을 하지 않으므로 소문자로 변환 가능!예시 => email을 암호화, 인코딩 처리 후 DB에 삽입하고, 이를 디코딩하여 복호화해야되는 상황. 로직상 소문자만 사용이 가능하다면 Base64에서 Base32 방식으로 변경하고 toLowerCase() 처..
[link] base64 인코딩, Basic Authentication Base64 인코딩 base64라는건 2의 6승인 64개의 문자로만 인코딩한다는 것이다. 바이너리 코드 (0110101101010101010...) 를 6개 bit로 쪼개서 위 ASCII 코드에 맞는 형식으로 변환하여 전송한다. 64개의 ASCII 코드를 넘어서기 시작하면 특수문자등이 포함되고 ASCII 전체가 2의 7승 = 124개인데, 제어문자가 포함되어 시스템마다 처리 방식이 달라서 통일하기가 어렵기 때문에 Base64를 사용한다. 6자리로 끊다가 맨 마지막 자리가 6bit가 안되면 해당 수의 우측에 0을 추가하여 처리한다. 1111000011110000 -> 111100 001111 000000 Basic Authentication Authorization: Basic 형태로 Authorizati..
[TIL] URL % 인코딩과 python 처리 메시드(urllib-quote, unquote) 1. URL은 ASCII 코드로만 표현된다. ASCII 코드에서 특수 문자들은 %에 2개의 16진수로 표시한다. ex) 띄어쓰기는 %20, +는 %2B 특정 문자열이 URL로 변환되는 경우 ASCII 코드로 변환될 수 있음을 염두에 두어야한다. 2. python의 urllib로 ASCII 쉽게 변환하기 from urllib.parse import quote, unquote를 통해 불러와서 아래처럼 사용하면된다. https://docs.python.org/2/library/urllib.html#urllib.quote_plus 일반적으로 URL 주소상 허용되는 (_는 사용을 지양해야할 거 같지만..) . / - _ 4가지 문자는 처리되지 않는다 물론 기본적으로 이것들도 ASCII로 표현은 할 수 있다. re..
정규표현식, 비밀번호 특수문자 포함(자바, 자바스크립트, 파이썬) 비밀번호 : 문자+숫자+특수문자 가능한 정규식(22.03.02 추가) 영어 및 숫자를 허용하며, 숫자키와 관련된 특수문자만 허용한다. 일반적인 방식이다. ^[a-zA-Z\\d`~!@#$%^&*()-_=+]{8,24}$ ^[ ] : 대괄호 안의 문자로 시작한다. a-zA-Z : 영어문자 \\d : 숫자 (\d 로도 표현함, 언어마다 escape 기준이 다른듯함) 대괄호 나머지 부분 : 특수문자들 {8,24}$ : 8-24자리수를 허용하며, 중괄호 안의 문자로 끝난다($) ^[a-zA-Z0-9`~!@#$%^&*()-_=+\|[]{};:'",./?]{8,24}$ 위 식에서 숫자키 위 특수문자 외 다른 특수문자들도 허용한다. 다만, \\'\\" 등('와 "는 문자가 아니라 정규표현식의 기능처럼 인식될 수 있어서..
Git 공부_2. 동작원리와 명령어 등 (Linux CLI) *선행 이해가 필요한 문서 1. Git 공부_1. 기본개념과 사용방법 2. 1. Unix의 기본 - 1-1. Unix의 역사, CLI의 기초 사용방법( ls, cd) , 1. Unix의 기본 - 1-2. 여러가지 기본 커맨드 살펴보기 1. Github 시스템의 이해 fork : github에서 다른 사람(Maintainer)의 respository(repo.)를 통째로 복사해오는 것이다. clone : github(remote repository)에서 local(local repo.)로 source code를 복사해오는 것이다. >> 'git pull 대상(origin) branch이름(master)' : source code를 local repo.로 복사해올 수 있다. >> 'git pull upstr..
VS Code 자동완성, 단축키 모음 1. Emmet Abbreviation (HTML 문서에서 특정 Class, ID를 갖는 Tag 만들기) Tag HTML 문서에서 '.class_name' 또는 '#ID_name' 작성 후 Enter tag 로 둘러싸인 class 또는 ID를 하나 만들어준다. >>'.class_name(또는 #ID_name) * 숫자' : '숫자'에 해당하는 갯수만큼 div class, ID를 만들어준다. other Tags '.' 이나 '#' 앞에 span, nav 등 다르게 지정할 tag의 이름을 넣어주면 된다. ex) span.navigation_bar*3 Link link:link할 요소로 작성할 수 있다. 대표적으로 많이 사용하는 css stlyesheet의 경우, 'link:style' 이라고 입력하면 된다...
Chrome Extension-ColorZilla, Page Ruler Red 1. ColorZilla ColorZilla는 Web Page의 특정 위치의 색상을 알려주고, clipboard에 복사해준다. 2. Page Ruler Redux Web Page의 image, text 등의 크기를 pixel 단위로 알아낼 수 있다.
VS Code-extension:prettier, material theme(Icon) 설치 및 사용방법 좌측 Side bar 에 있는 extensions에 들어가서 원하는 extension이름으로 검색 후 install을 클릭한다. Ctrl + Shift + P를 누르면 실행을 위한 창이 뜨는데, 거기서 설치했던 extensions의 설정을 바꿀 수 있다. 1. Prettier : 코드들이 색깔별로 구분되도록 해주고, css나 javascript에서 색깔 미리 보기 등 디자인뿐만 아니라 기능적으로도 편리함을 제공한다 2. Material Theme(Icon) : VS Code의 Interface, Icon등을 예쁘게 꾸며줘서 가독성이 좋도록 해준다.