전체 글
-
JavaScript 소수점 계산 오류와 해결Javascript 2022. 2. 23. 10:10
컴퓨터는 기본적으로 0과 1만 사용하는 2진법을 사용한다. 보통 우리가 계산을 할 떄는 10진법을 사용하는데, 이 과정에서 10진법을 2진법으로 변환을 시켜줘야 한다. 하지만 이 과정에서 소수 일부중에는 무한소수가 된다. 그래서 컴퓨터의 메모리 한계가 있기 때문에 무한 소수를 다 담지 못하고 중간에 잘려서 유한 소수로 저장을한다. 이러한 아래와 같은 메서드로 문제를 해결을 할 수 있다. toFixed() 입력받은 숫자를 배개변수만큼 반올림하여 String으로 반환해주는 함수이다. toFixed()는 0부터 20까지 매개변수로 입력할 수 있고, 매개변수 숫자에 따라서 반올림을 해준다. Default값은 0이기 떄문에 매개변수를 담지 않으면 소수를 정수로 나타낸다. 하지만 toFixed()는 String으로..
-
OSI 7계층Back-End 2022. 2. 23. 09:47
7계층 (응용계층, Application) 사용자와 컴퓨터간의 연결을 제공할 수 있는 User Interface를 제공하는 영역이다. Application을 이용해서 필요한 영역과 대화를 할 수 있다. 6계층 (표현계층, Presentation) 7계층에서 만들어진 데이터에 확장자를 붙여 어떤 유형의 데이터인지를 알려주는 계층 암호화를 수행한다. 또한 데이터의 동일된 형식을 제공해준다. 5계층 (세션계층, Session) 통신 대상 중 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공한다. 동시 송수신 방식 (duflex), 반이중 방식 (harf-duflex), 전이중방식 (full-duflex), 체크포인팅, 유효, 종료, 재시작 등의 과정을 수행한다. 통신 경로 확립이나 단절, 전달방식을..
-
CI/CDBack-End 2022. 2. 22. 20:33
CI (Continuous integration) 지속적인 통합을 의미 직속적인 통합은 어플리케이션의 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어서 공유 레포지토리에 통합하는 것을 의미한다. CI가 필요한 환경에서의 조건 다수의 개발자가 형성관리 툴을 공유하여 사용하는 환경 자동화된 빌드와 테스트는 원천 소스코드의 충돌 등을 방어 MSA(Micro Service Archietecture) 환경 최근에 떠오르고 있는 아키텍쳐 모델 MSA는 작은 기능별로 서비스를 짧게 나누어 개발하는 형태를 의미 MSA환경에서는 대부분 소규모 기능 단위로 빠르게 개발하는 것과 적용을 반복하는 개발방법론이 적용되기 때문에 기능 추가가 빈번하게 발생하게 된다. 이러한 상황에서 CI의 적용은 기능 충돌 방지 등을 제..
-
Google Analytins개발지식 2022. 2. 18. 09:10
Google Analytins 구글에서 무료로 제공하는 웹 로그분석 툴이다. Google Analytins를 사용하여 방문자의 유입 소스나 사이트 내 행동과 같은 유용한 정보를 수집하고, 저장 및 분석을 할 수 있다. Google Abs와 연결해서 구글 광고를 최적화 하는데 필요한 데이터를 제공한다. Google Analytins 사용하는 이유 방문자 유입 출처 확인 Google Analytins에서 '획득 -> 전체 트래픽 -> 소스/매체'를 클릭하면 보고서를 확인할 수 있다. 광고를 통해 몇명이 접속을 했는지 네이버나 페이스북을 통해서 몇명이 방문했는지 알 수 있다. '소스/매체'에서 소스는 유입의 출처가 되는 사이트나 서비스명, 매체는 유입의 유형을 분리해놓은 카테고리다. 사용자 행동 파악 이탈률이..
-
MongoDB 장점Back-End 2022. 2. 17. 22:26
장점 RDBMS 속도보다 100배 이상 빠르다. 스키마 관리가 필요없다. 그 이유는 Schema-less라서 어떤 형태의 데이터도 저장이 가능하다. JSON 형태로 저장을 해서 직관적이다. 데이터를 읽고 쓰기가 빠르다. Scale-out 구조여서 쉽게 운영이 가능하고, Auto-sharding을 지원한다. Scale-out: 하나의 장비에서 처리하던 일을 여러 장비에 나눠서 처리할 수 있는 확장 기능이다. Sharding: 데이터를 여러 서버에 분산해서 저장하고 처리할 수 있도록 하는 기술이다. 단점 JOIN이 없어서 복잡한 쿼리를을 사용할 수 없다. 메모리 사용량이 큰 편이다. 정합성이 떨어진다. SQL을 완전히 이전할 수 없다. 출처: https://www.byfuls.com/programming/r..
-
Node.js 장점 및 단점Node.js 2022. 2. 17. 21:15
장점 싱글 스레드 기반 비동기IO 처리로 매우 빠른 고성능 서버다. 브라우저 외 다른 용도의 서버로 사용이 가능하다. restart 시간이 1초 미만이여서 프로세스가 종료가 되어도 다시 빠르게 시작할 수 있고, 빠른 배포와 업그레이드 작업이 가능하다. JavaScript는 Java 같은 언어 대비 같은 서버 코드를 짜도 걸리는 시간이 적어서 생산성이 좋다. 싱글 스레드여서 스레드간의 동기화 처리 등 복잡한 과정을 생략할 수 있다. Apache나 nginx와 같은 도움 없이 HTTP 서버 라이브러리를 포함하여 웹 서버 동작이 가능하다. Socket.io를 통해서 싱글 스레드 멀티 플렉싱 기반으로 대량의 사용자에 대한 Push 처리를 가능하게 한다. (WAS는 스레드 수 만큼 밖에 동시 커넥션 처리를 할 수..
-
REST APIBack-End 2022. 2. 15. 19:42
REST API REST API에서 REST는 Representational State Transfer의 약자로 소프트에어 프로그램 아키텍처의 한 형식이다. 자원의 이름 (자원의 표현)으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미한다. REST는 기본적으로 웨의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일이다. 구체적인 개념 HTTP URI를 통해 자원을 명시하고, HTTP Method (POST, GET, PUT, DELETE)를 통해서 해당 자원에 대한 CRUD OPERATION을 적용하는 것을 의미한다. 즉, REST는 자원 기반의 설계의 중심에 Resource가 있고, HTTP Method를 통해 Resource를 처리하..