본문 바로가기
관리자

Programming-[Base]/Basic of Coding

(10)
아스키 아트(ASCII Art) 특정 테스트 케이스의 경우(특히 시간 관련) 테스트 메서드 내용만 봐서는 이해하기가 힘들다.(아무리 주석을 열심히 달아도…)그래서 이런 경우 아스키 아트를 활용하면 리뷰어나 테스트 코드를 작성하는 작성자에게도 가독성을 크게 향상 시킬 수가 있다. /* * ┌────────────────────────────────────────────────────────────┐ * │ Timeline │ * │ │ * │ 1/20 (today) ..
인코딩 하는 이유, 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 단위로 알아낼 수 있다.