목록[Project_만들다]/[Project_자아내다] (53)
브렌쏭의 Veritas_Garage
묘하게 향수를 불러일으키는 문장이다. 샴푸를 불러일으킨다고 해야하나? 어쨌든, 엘라스틱 서치는 이름 그대로 검색을 위한 솔루션이다. 보통 뭔가를 찾는다고 한다면, 특히나 SQL과 같은 테이블에서 뭔가를 찾고 싶다면, 일단 검색할 칼럼을 선택하고 그 행을 전부 돌아보면서 일치하는 것이 있는지 보는 것이 정상이다. 혹은 평범한 방법이다. 라고 해야할까. 놀랍게도 어딘가에 사는 사이코들은 검색할만한 키워드로 검색이 될 객체들을 전부 거꾸로 연관지어서 새로운 검색전용 인덱스를 만들면 어떨까? 하고 생각했고, 그렇게 구글이 되었답니다. 메데타시 메데타시. Inverted Index 위에서 말한 보통의 평범한 방식은 SQL에서 "LIKE" 방식으로 불리고, 데이터 양이 늘어날 수록 느려지는 비례적 탐색속도를 가지고..
포괄적으로, 검색이라함은 어떤 기억 매체 중에 축적되어 있는 정보 중에서 필요한 정보를 찾아내는 것을 뜻한다. 우리가 인터넷으로 정보를 보기 위해 키보드 타이핑으로 특정 단어를 검색하여 결과를 도출하게 하는 것을 말한다. 사실 검색(fact retrieval) 주어진 질문에 대해 직접 사실을 구하는 것으로 확정 검색(deterministic retrieval)이라고도 한다. 문헌 검색(document retrieval) 어떤 사실에 관하여 관계되는 문헌명을 찾아내는 행위. 확률 검색(stochastic retrieval)이라고도 한다. 우리가 컴퓨터로 정보를 찾아내는 것은 보통 문헌 검색이다 사실 검색의 경우는 우리가 보편적으로 생각하는 검색이라기 보다는, 조사나 탐구에 가깝다. 따라서 자연스레 우리가 ..
다른건 그렇다 쳐도, A와 I는 구현하기 상당히 골때린다. 사실 4개 다 그렇다.. 1단계: 커밋되지 않았어도 조회되게 한다. 영문을 알수없게 되어버린다 2단계: 커밋된 것은 조회되게 한다. 커밋되지 않았다면 이전 정보를 조회시킨다. 커밋여부에 따라 조회결과가 달라진다. 3단계: 조회결과가 일관되도록 한다. 커밋되지 않았다면 조회도 없다. 팬텀리드 라는 것은 일어난다고 한다. 4단계: 먼가 무조건 좋은 상태....가 아니다. 성능 이슈가 있다. 완전탐색처럼 몹시 비효율적인 진행이라고 생각하면 된다. 낙관적락 비관적락 격리 수준을 시리얼라이즈드까지 올린다고 하면 보통 이쪽인가..? 쿼리요청이 들어와도 응답하지 않는다. 대기상태로 기다리다가, 업데이트가 완료되면 그 이후에 쿼리응답이 이루어진다. select..
따라서 페이지를 나눠서 보여준다. 당연한거 아닌가? 놀랍게도 이 페이지화 작업은 단순한 것이 아니라, 백엔드와 프론트 양쪽에서 작업을 해줘야 하는 고난이도의 콤보기술이었던 것이다. 현재 위치 : Offset 데이터가 시작될 위치다. '여기부터 저기까지 주세요' 의 여기를 담당하고 있다. 보여줄 컨텐츠의 수 : Limit 얼마나 많은 데이터를 한번에 보여줄지 정하는 수이다. 보여줄 컨텐츠의 수, 혹은 한 페이지 안에 보여줄 데이터의 수 라고도 할 수 있겠다. '여기부터 저기까지 주세요' 에서 지갑을 담당하고 있다. 좀 더 테크니컬한 썸띵: "커서 기반 페이지네이션" 페이지네이션(Pagination) 이란 한정된 네트워크 자원을 효율적으로 활용하기 위해 쿼리의 결과값으로 리턴된 리소스를 `분할하여 전달`하는..
GraphQL은 사실 REST였다. 누가 봐도 다르잖아;; 이미 블로그에 포스팅도 했다고;; GraphQL은 뭔가? 그리고 REST와 비교 GraphQL은 뭔가? 그리고 REST와 비교. GraphQL ??? 그래프 수식 작성용인가?? 이름에 QL 이라는 단어가 들어가는 것을 보면, SQL 형식을 가지는 놈 같다. 즉, 쿼리기반 언어이다. 엑셀처럼 키와 밸류를 가진 여러 데이터를 처리하고, 그 데 veritasgarage.tistory.com 분명 다른 구조에 다른 방식처럼 보이는데, 결국 GQL의 역할은 REST로 존재하는 요청과 응답을 번역해서 간결화 시킨 것이었다. 그리하여 리졸버라는 것이 필요했던 것이고, GQL을 위한 데코레이터를 따로 추가적으로 사용해 작성했던 것이다. 거... 당황스러운 이야..
Image Upload Process 라고 써뒀지만, 실제로 그런가? 그냥 이미지경로를 저장해두면 되지 않을까 생각했다가, 결국 그 디렉토리 안에 파일이 있어야 한다는 점을 금새 깨달았다. 음... 그렇다면 파일을 받아서 이미지 파일 디렉토리에 때려넣고, 그러면서 파일 이름도 유니크하게 중복없이 바꿔주고, 그 이름과 경로를 이미지 데이터베이스 테이블에 넣어줘야겠구나, 하고 생각이 드는데. https://stackoverflow.com/questions/59957394/typeorm-uploading-and-serve-downloading-files TypeORM uploading and serve (downloading) files Introduction In my Project, I try to sto..
Cross-Origin Resource Sharing 교차 출처 자원 공유 라는 희대의 기괴한 번역...아닐까 생각이 드는 저 물건은, 서로 다른 경로로 부터 받아온 자원을 함부로 섞이지 않도록 선을 긋는 안전장치라고 할 수 있다. 실제론 안전장치 보다는 초기 프로젝트의 실행을 막는 성가신 물건 취급을 받는게 대다수인거 같다. 마치 쓰지 말라고 하면서 안쓸수가 없는 super user root 같은 존재다. 그리고 찾아보니 친절한 설명이 많았다. https://evan-moon.github.io/2020/05/21/about-cors/ CORS는 왜 이렇게 우리를 힘들게 하는걸까? 이번 포스팅에서는 웹 개발자라면 한번쯤은 얻어맞아 봤을 법한 정책에 대한 이야기를 해보려고 한다. 사실 웹 개발을 하다보면 ..
온라인 서비스나 플랫폼이라면 응당 붙이려는 이름이 바로 클라우드 되시겠다. 예로부터 지상 위의 천상은 동서고금을 가리지 않고 더 높은 격을 가진 무언가가 존재하는 공간이라는 개념이 팽배해 있는데, 실제로는 어쨌든간에 그 개념을 디지털에 적용한 것으로 볼 수 있겠다. 그냥 한번 해본 소리다 물론 파고들어 보면, 내세는 인간의 뇌 안에만 있는 것 처럼 마찬가지로 클라우드 또한 물리적인 서버들의 총체이다. 그냥 니 눈에 안띄는 곳에 있을 뿐이지, 데이터 센터는 앵간한 도시에는 하나씩 존재하고 해저케이블 등으로 연결되어 있을 뿐. 비 클라우드 컴퓨팅과 클라우드 컴퓨팅은 한끝차이다. 헛소리는 그만 일단 클라우드계의 거물인 Cloudflare의 설명을 가져왔다. "클라우드"는 인터넷을 통해 액세스할 수 있는 서버와..
https://brunch.co.kr/@jehovah/20 Redis 기본 정리 캐시를 알아야 하는 순간! | 캐시를 접하게 되는 순간 서비스를 처음 운영할 때는 WEB-WAS-DB의 전형적인 3티어 구조를 취하는 편이 보통입니다. 사용자가 몇 명 되지 않는 서비스의 경우에는 3티어 brunch.co.kr https://sanghun219.tistory.com/22 #9. 분산 서버 구조 9.분산 서버 구조 분산 서버 구조 1. 수직 확장과 수평 확장 확장성 사용자 수가 늘어나더라도 쉽게 대응할 수 있어야 한다는 의미 확장성의 목표 최대로 처리할 수 있는 사용자 수가 무제한이어 sanghun219.tistory.com https://d2.naver.com/helloworld/206816 https://d..
중간자 공격으로 부터의 탈출 : JWT (tistory.com) 중간자 공격으로 부터의 탈출 : JWT https://jwt.io/ JWT.IO JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. jwt.io JSON Web Tokens are an open, industry standard RFC.. veritasgarage.tistory.com 저번 포스팅에서 SSO에 대해서 잠깐 말했었는데, 싱글 사인 온 방식이란 간단히 말해 통합 로그인, 로그인계의 어음 정도 되겠다. Single sign-on (SSO) is an authentication..