🕸️ Web

    Cloud Database Service(2) - Firebase의 Realtime Database 규칙

    이전 글에도 설명했다시피 Realtime Database를 선택할 일은 거의 드물다. 그래서 Realtime Database 규칙에 관한 글을 찾기에도 꽤나 정보가 부족했다.(사실 아예 없었다) 그래서 혹여나 Realtime Database를 사용할 사람이 있다면 아래와 같은 규칙으로 사용하면 된다. 직접 코드부터 보고 싶다면 예시부터 확인하는 게 좋다. 규칙 { "rules": { ".read": false, ".write": false } } 초기 권장 설정으로 진행하면 해당 DB에 대한 읽기 쓰기 권한을 다 false로 설정이 된다. { "rules": { ".read": "auth != null", ".write": "auth != null" } } 그리고 Firestore의 인증 서비스를 이용해..

    Cloud Database Service(1) - 클라우드 DB의 종류

    이게 왜 필요할까? 이 글의 고민은 아래의 생각에서 시작한다. "나는 DB를 좀 더 쉽게 쓰고싶어." 어플리케이션을 좀 구축해본 사람이라면 느끼는 부분이 있다. 어떠한 어플리케이션을 만드느냐에 따라 서버 구축의 형태는 다 다를 수 있다는 점이다. 나는 개인적으로 서버가 존재하지 않는 어플리케이션을 만들고자 하는 열망이 있다. 실제로 서버가 존재하지 않는 어플리케이션이 한 해 영업이익 100억을 돌파하는 경우를 봤기 때문이다. 근데 그건 그렇다쳐도 서버가 존재하지 않으면 만들 수 있는 어플리케이션이 한정적인건 변함없는 사실이다. 그럴때 서버를 어떻게 구축할 지에 대한 고민은 빠지지 않는다. 그럴때마다 아래의 일련의 고민이 튀어나온다. "간단하게 만들거라 서버가 필요하긴 한데 전기세 감당하기도 싫고 서버에 ..

    SOP(Same Origin Policy)와 CORS(Cross Origin Resource Sharing)의 차이

    SOP(Same Origin Policy) 같은 출처에서만 리소스를 공유할 수 있다. 즉, 자신의 프로젝트 내에 있는 리소스만 공유가 가능하다는 정책이다. 에선 클라이언트에 head 요청 헤더에 origin을 담아 서버에 보내고 다시 클라이언트로 가져온 값과 비교를 해야하는데, 비교 결과가 같으면 Same Origin( 프로토콜, 포트, 호스트 모두 일치해야 Same Origin ) 다르면 Cross Origin으로 판단하고 불러오질 못한다. CORS(Cross Origin Resource Sharing) 교차 출처 리소스 공유라는 뜻이다. 예를들어 내 프로젝트에서 다른 프로젝트의 자원을 요청하는 것을 말한다. CORS는 html 태그인 link(css), img, script, iframe 등에서는 기..

    최초의 웹과 스프링이 나오기까지 (2)

    서블릿(Servlet) 이전에 CGI는 프로세스를 할당하는 방식이라 서버가 사용자의 수를 감당할 수 없다고 들었습니다. 그리고 1995년 세상에 Java가 공개가 되고 1년 뒤인 1996년 Java 환경에서 사용 가능한 서블릿이 등장하게 됩니다. 바로 이 서블릿이 CGI를 대체할 수 있는 기술이었습니다. 서블릿은 앞서 말한 CGI처럼 규약을 뜻합니다. 서블릿도 동적인 페이지를 보여주기 위해 나온 기술이지만 CGI와 차이점은 서블릿은 쓰레드를 사용했습니다. 쓰레드는 프로세스 내부에 있는 작업 단위 입니다. 프로세스 1개 안에 여러개의 쓰레드가 돌고 있습니다. 그리고 서블릿은 사용자마다 1개의 쓰레드를 할당을 해줘서 사용자 과부하 문제를 해결할 수 있게 되었습니다. 자바 객체 생성의 과부화 서블릿을 이용해 ..