목록분류 전체보기 (85)
개발일지
컴퓨터 구조를 왜 배워야 하는가? 컴퓨터 구조를 배움으로써 소스 코드를 작성만 하는 개발자가 아닌 더 나아가 문제 해결 능력을 키우고 문제를 분석하는 능력을 키울 수 있어서 2, 성능 용량 비용 개발에서 제일 중요한 것들 자신이 웹사이트를 만들었다고 가정하고 그 웹 사이트가 유명해져서 게시글이 매일 100개씩 댓글이 1000개씩 생성된다고 했을 때 회원정보와 회원이 남긴 게시글과 댓글을 어떤 저장 장치에 저장할지도 스스로 판단해야 하는데 이런 부분 들어 알려면 컴퓨터 구조에서 성능 용량 비용을 알아야 합니다 프로그래밍 언어의 문법만 안다고 해결하기는 어려운 부분이다 컴퓨터 구조를 알면 입력과 출력에만 집중하는 개발자가 아닌 성능, 용량, 비용까지 고려하는 개발자가 될 수 있다. 컴퓨터 구조의 큰 그림 컴..
소셜 로그인 기능 client : 소셜로그인 기능을 사용하는 주체, 즉 서비스를 만드는 "나"이다. resource owner : 소셜로그인 기능을 제공하는 서비스를 사용하는 유저이다. 어떻게 보면 진짜 고객 인것! resource server : 소셜로그인 기능을 제공하는 곳, 그리고 그 기능을 제공하기 위한 데이터를 가지고 있는 진짜 서버이다. 일종의 우리가 만드는 서비스의 서버 기능을 하는 것. google, facebook, twitter 소셜 로그인 장점 로그인 간소화 : Facebook이나 Google 계정을 이용하면 버튼만 몇 번 클릭하여 타사 웹 페이지에 간편하게 로그인 할 수 있습니다. 비밀번호에 대한 의존도 감소 : 비밀번호 로그인의 근본적인 취약점 외에도 비밀번호를 하나 더 기억해야 ..
CORS(Cross-Origin Resource Sharing) - 교차 출처 리소스 공유 CORS 에러 이해하기 🚨 Access to fetch at ‘https://myhompage.com’ from origin ‘http://localhost:3000’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. If an opaque response serves your needs, set the request’s mode to ‘no-cors’ to fetch the resource with CORS disabled. 💬 'https://myhomepage.c..
암호화(양방향 암호화)와 해싱(단방향 암호화) 이전 시간에 회원가입을 하면 DB에 비밀번호가 그대로 저장되었습니다. 만약 DB가 해킹을 당하게 된다면 해커가 해당 서비스 사이트의 이메일과 비밀번호를 가져갈 수 있는데 일반적으로 많은 사람들이 여러 사이트에 동일한 이메일과 비밀번호를 사용하는 경우가 많으므로, 다른 서비스까지 추가 해킹을 당하는 일이 발생할 수 있습니다. 따라서, 기밀성을 유지하기 위해 DB에 비밀번호를 저장할 때는 비밀번호를 암호화(Encrypt) 하여 저장하게 됩니다. 암호화를 하여 저장을 하면 암호화에 사용된 키(비밀번호)를 통해 데이터를 복호화 할 수 있다 암호화를 구성하는 요소 양방향 암호화 : 암호화와 복호화과정을 통해 송 ・ 수신 간 주고받는 메시지를 안전하게 암호화하고 평문으..
이름에서부터 알수 있듯이 작은 서비스 여러개가 모여서 하나의 시스템을 제공하는 아키텍처를 뜻합니다. 여러 모듈로 분리가 되어 있어서 팀별로 독립적으로 개발이 가능 서비스가 점점 커질경우 하나의 프로젝트로 함께 묶는것이 점점 버거워지고 복잡해지게 됩니다.이런걸 해결하기 위해서 나온 아키텍쳐 입니다 서비스 운영시 만나게 되는 장애로부터 조금은 자유로워 질 수 있습니다 기존 모놀리식 구조에서는 장애 발생시 서버가 죽게 되면 모든 API가 사용 불가능했지만, 마이크로서비스로 분리하게 되면 어떠한 기능에 장애가 생겨도 해당 API만 사용이 불가능하고, 다른 기능에는 문제없이 서비스를 운영할 수 있게 됩니다. 그럼 과연 모든 서비스에 적용하는 것이 좋을까요? 이러한 마이크로서비스 아키텍쳐를 적용했을 때에는 전체적인..
DNS 웹사이트에 접속 할 때 우리는 외우기 어려운 IP 주소 대신 도메인 이름을 사용한다. DNS(도메인 네임 시스템)이 사람이 읽을 수 있는 도메인 이름(www.naver.com)을 IP 주소로 변환하는 시스템 Load Balancer 이제 유저의 접속량이 늘어날수록 백엔드 서버 컴퓨터가 늘어날 것이기 때문에 백엔드 서버 컴퓨터를 하나로 묶어줄 인스턴스 그룹을 만들어 줄 것입니다. 이때 DNS를 통해 A레코드로 바뀐 채, 백엔드 서버 컴퓨터로 접속하게 되는데 백엔드 서버 컴퓨터 중 특정 컴퓨터에만 바뀐 A레코드가 적용될 수 있습니다. 그렇게 된다면 부하 관리를 위해 늘려준 백엔드 서버 컴퓨터를 추가로 만들어 준 의미가 없게 됩니다. 따라서, DNS와 백엔드 서버 컴퓨터 가운데 로드밸런서를 두고 DNS..