DevGround. 개발분야와 관계없이 알아야 하는 기술 10가지(ALL)
- Essay
- 2019. 12. 14. 19:04
데브그라운드 리뷰를 위한 글 작성입니다..
문자열 인코딩
EUC-KR : LEGACY, 이니시스 결제
UTF-8 : 보통
UTF-16 : java windows api에서
base64 : binary --> 아스키코드(텍스트)
-> 이메일, http, 텍스트기반 규격
-> OTP 코드 인코딩
-> binary보다 33% 늘어남
-> 암호화기술이 아니므로, 암호화가 필요한 경우 Hash 사용해야 함.
json : 텍스트기반 규격, 쇼핑몰, 주문처리 서버
-> Restful api가 범용적으로 되면서..
-> 생산성이 높다(텍스트 기반, 디버깅 쉽다.)
-> 가독성이 좋다.
** JSON Class 직렬화 ** : 찾아보기
** 찾아보기.. Graph QL?, YAML, Protocol buffer
단점 : 텍스트기반 규격의 단점, 데이터가 많음, 빠른시간안에 처리해야 하는경우 문제가 됨..
직접 가공해야함(key, 칼럼이 많아질 수록 힘듬, 개발 후반기에 생산성이 떨어짐)
다국어 처리 :
Resource, 언어설정, 프로그램으로 구성
**i18n/library 모듈
**메시지 길이 유의
**getText 프로그램
날짜와 시간 : 타임존, 나라마다 규격이 다름
**하드웨어는 바뀔 수 있다.
단조시간을 사용하는 곳
ㅇ 어떤 작업을 10초, 1분마다 수행해야 할 때
ㅇ 특정 작업의 실행을 계산할때
실제시간을 사용하는 곳
ㅇ 어떤 작업을 한달단위 주기로 실행해야할때
ㅇ 티켓팅, 랭킹리셋, 실제시간
정규 표현식 : 비밀번호 검사 전체 검증
8글자 이상
1개 어쩌구 대문자 이상..
UUID : v4의 특징(유저ID, 작업ID, 세션ID, 아이템ID 등)이 필요함
v1,v2는 거의 사용 안함
v4 해쉬함수로 대체?, 하이픈의 위치 고정, 하이픈을 제외한 16byte 저장
json처럼 모듈에서 가져와서 쉽게 사용
사용하기 좋은 곳, 논리적 작업의 ID, 프로그램 자체의 ID
요청IP 같이 출력?
충돌발생하는 경우 체크
난수 : 현대에는 완벽한 난수를 생성할 수 있다.
게임 규칙, 랜덤박스, OTP인증
1) 유사난수(시드값(timestamp?)을 알고있으면 예측가능, 난수를 흉내낸 난수, 암호학적으로 안전하지 않다.),
2) 암호학적 난수(하드웨어로 난수를 만듬, 유사난수에 비해 3~4배 느림, 모든 암호나 프레임워크에서 지원)
**해시 : 임의의 입력 값을 고정된 길이의 값으로 변환하는 함수
해시길이는 입력값과 관계없이 항상 동일
같은 해시값이 나오면 해시 충돌, hashmap..
**checksum
**비밀번호 검증, hash해서 저장, hash에 저장하면 비밀번호가 같은지 확인이 가능(key?)
해시함수종류 SHA-256이상 사용.
HTTP :
텍스트 기반의 통신, 웹의 기초 프로토콜
상태가 없는 프로토콜 : 요청 --> 응답
대부분 1.1, 2.0도 사용하고 있음
JSON인지 텍스트인지 헤더에 넣을 수 있다.
응답코드 : 성공하면 200대
다른 서버 가야해 300대
인증에 실패 400에러
서버내부 에러 500
HTTPS : 통신 내용 암호화
TLS를 적용한 기술
오래된 버전의 프레임워크 운영체제 도입
인증서 필요
브라우저 연결을 막아버리는 경우
**Websocket, HTTP/2 기술을 사용해 단점 보완
**Sticky Session, 교차도메인 리소스 공유
godaddy,,,
'Essay' 카테고리의 다른 글
티메프 사태를 바라보며.. 씁쓸한 전직원 시점. (0) | 2024.08.19 |
---|---|
DevGround. 개발자의 9가지 스킬(ALL) (0) | 2019.12.14 |