본문 바로가기

server

(34)
코딩을 하기전 해야할 일들 1. 요구사항의 명확화 - 정확히 무엇을 할것인지를 정의할것 2. 파라미터 정의 - int / array / date / timestamp 인지 파라미터를 명확히 한다. 3. 기능의 순서 설계 - 요구사항을 진행하기 위해서 어떤 순서로 코드를 작성할 것인가? UML / 다이어그램 / 순서도 등을 통해 순처리/예외처리를 확인 을 통해 간결해 진다. 4. 코드 작성 및 리팩토링 (코드를 짜면서 기능을 추가 할수도 있으며, 기능 단위로 다시 묶음으로써 리팩토링이 가능해 진다. ) 5. 추가 사항이 있는가 확인. 있다면 다시 1번으로 - 버그나 에러는 1, 2번에서 빠진게 있는것. 만일 이게 아니라면 기능상의 오류 (기능정의부터 잘못됨) - 코드부터 작성하지 말자. 기능과 파라미터를 명확히 하면 더 시간을 아낄..
No such file or directory: 'geckodriver': 'geckodriver' No such file or directory: 'geckodriver': 'geckodriver'selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.혹시 selnium 패키지를 이용하여 테스트를 할시 위와 같은 에러가 발생한다면 selenimu에서 사용하는 gecko 브라우져의 드라이버를 추가해줘야 한다. https://github.com/mozilla/geckodriver/releases 자신의 OS에 맞는 드라이버를 다운로드 한후 MAC의 경우 /usr/local/bin/ 폴더에 복사 해주면 정상 작동한다.
web developer roadmap 출처 : https://github.com/kamranahmedse/developer-roadmap 눈에 띄는 것은 1. 테스트 작성 및 TDD가 최상단에 있다는것. (6번) 2. Docker / GraphQL을 배워야 한다는것 (19 / 21 번) 자신이 스타트업같이 개발자가 10명 이내의 회사라면 프론트엔드 + 백엔드 + 데브옵스 까지 기본적인 것은 다 해야 한다. (위의 것은 한번쯤은 건들어봐야 한다... 그게 스타트업이다....아무것도 없으니 만들어야됨.. 누가? 네가!)규모가 있는 회사라면 백엔드와 데브옵스 팀이 구분되어 있다. (데브옵스가 인프라팀으로 세분화 된다)게임에서만 케릭터 스킬 뭐 찍을까 몇일씩 고민하지 말고 자신의 테크트리도 잘 보고 찍자.- 단 천재는 알아서 다 잘한다. 저걸 전부..
Elasticsearch {"error":"Content-Type header [application/x-www-form-urlencoded] is not supported","status":406} 5.5.0 이상 버전에서 아래와 같은 에러 발생 시 {"error":"Content-Type header [application/x-www-form-urlencoded] is not supported","status":406} curl의 헤더에 content-type을 추가해 줘야 한다. -H 'Content-Type: application/json'ex) $ curl -XPOST "http://localhost:32769/board/guest"-H ‘Content-Type: application/json’-d'{ "name": "test", "title": "title", "content": "content content"}'
포털 사이트는 http/2를 지원하는가? http/2 는 무려 2015년동에 이미 공식 프로토콜로 승인되어 많은 웹서버에서 지원하고 있다. ( 설정하는것은 나중에 따로 포스팅으로..)기존 http보다 무려 2배 이상 빠르다. 만일 전송해야 될 파일이 많으면 많을수록(크기는 중요치 않다, 양이 중요하다) 이론상으론 더 빨라진다. 기존 브라우저에서 6개만의 소켓으로 통신하는 프론트엔드 파일을 한꺼번에 던져 줄 뿐더러, 압축률까지 좋다. http1에서의 클라이언트 서버는 6개의 차가 도로를 모두 차지 하므로 나머지 차량은 대기 해야 한다. (저 소켓 6개의 한계 때문에 리소스 서버는 도메인을 바꾼다 던지, gzip 압축을 추가 / 스프라이프이미지 / minify로 용량 줄이기 등 수많은 짓을 하지 않았는가!!) http2에서는 한차량으로 여러 차량이..
SSL / TLS SSL(Secure Sockets Layer) / TLS(Transport Layer Security) 는 통신상의 패킷에 암호화를 통한 보안을 제공. 1. SSL 보안 소켓 계층의 약자로, 1990년대 넷스케이프가 처음 개발한 것으로 데이터를 안전하게 전송하기 위한 인터넷 통신 규약 프로토콜. 1.0 (비공개) -> 2.0 (결함으로 빠른 칼퇴) -> 3.0을 1996년 표준으로 지정. 2. TLS 전송 계층 보안의 약자로 1999년 SSL 프로토콜의 다음 버전으로 출시. IETF( Internet Engineering Task Force)에서 표준화. SSL 3.0과 큰 차이가 없다. TLS프로토콜은 모든 종류의 인터넷 통신을 암호화 한다. URL의 https / 이메일 / 유즈넷 등에서 사용된다. ..
DSR ( direct server return ) http://novatechservices.com/use-dsr-to-take-a-load-off-your-load-balancer/ 보통의 서버 앞 단에 있는 로드밸런스(L4)에서 사용할수 있는 기능으로 기본적인 통신에서의 클라이언트와 서버의 응답은 client -> load balancer -> server -> load balancer ->client 의 형식으로 로드밸런서가 응답에 대해서도 작동을 하게 된다. ( Inline(proxy) mode 라 한다. )만일 요청이 많아지면 로드밸런서의 처리 때문에 서버가 놀게 되는 현상이 일어날수 있다.이를 막기 위해 응답은 로드밸런서를 거치지 않고 서버가 바로 클라이언트에 응답을 준다. (상단의 그림 참조 )client -> load balancer ->..
http 통신 1. content-type클라이언트와 서버의 통신시 리소스를 보낼때 해당 리소스가 어떤 컨텐츠 유형인지 알려준다.content-type 설정을 위해 MIME타입 목록 파일을 사용한다.https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/MIME_types 2. multipart/form-data post 제출 브라우저에서 서버로 HTML form 내용을 전송시 사용.데이터간의 경계를 '--' 로 구분하며, 가가 파트의 content-type은 다를수 있다.또한 너무 큰 데이터일 경우 --를 경계로 재전송을 시도할수 있다. (3번 참조) 3. 엔터티 재요청 4. 리다이렉트 5. 캐시expires : 해당 날짜까지만 캐시 유효cache-control..