TEAM STUDY156 [스터디 기록 📋] #채팅시스템설계 #폴링 #롤폴링 #웹소켓 #규모확장성 혜지 저는 채팅 시스템 설계 아는 웹소켓 방식이 제가 다 따로 채팅 시스템은 아닌데 파일을 전송하는 거를 웹 소켓 방식으로 하는 게 있다고 해서 공부를 했을 때 당시에는 이거를 왜 웹 소켓으로 하지라는 생각을 했었거든요. 근데 그게 파일 전송에 적합하지 않다는 거를 이 채팅 시스템에 좀 더 적합한 통신 방법이구나 라고 좀 이 문장에서 좀 읽으신 그걸 느꼈고요 파일 전송에도 쓰는 방식이 있는 걸로 알고 있는데 그거는 왜 웹 소켓을 쓰는지 그런 것도 조금 더 내가 왜 그때 웹 소켓으로 그거를 만들어 보려고 했는지 좀 의문이 들더라고요 그래서 그 부분을 조금 왜 그렇게 했는지에 대해서 좀 생각해보는 계기가 됐고 또 뉴스 피드는 여기에 있는 것들이 다 어쨌든 대량의 어떤 트위터나 페이스북 카카오톡 이런 메신저들.. TEAM STUDY/가상 면접 사례로 배우는 대규모 시스템 설계 기초 2022. 3. 3. Apache apxs 툴을 통해 Apache 모듈 작성하기 Apache apxs는 Apache 모듈을 작성 시에 사용되는 Apache 웹서버에 번들되어 있는 툴(APache eXtenSion)이다. apxs를 통해 Apache 모듈 - 보통 DSO(Dyna mic Share Object) 형태의 shared library를 작성하고, 설치할 때 활용한다. WebLogic 등과 같은 WAS와 연결 시에 필요한 플러그인 모듈 역시 apxs를 통해 작성되었다고 보면 된다. 사용 순서 1) 모듈 생성 $ [아파치홈]/bin/apxs -g -n 모듈명 예시) 해당 디렉터리에 sample 디렉터리를 생성하고, mod_sample.c 라는 기본 골격을 갖춘 소스 파일을 생성함 $ /usr/sw/apache/bin/apxs -g -n sample 2) 모듈 개발 및 컴파일 우.. TEAM STUDY/LINUX 2022. 2. 25. [스터디 기록 📋] #DFS #BFS #미수집URL저장소 #분산크롤링 #알림시스템설계 #메세지큐 #알림데이터손실방지 #알림고려사항 #큐모니터링 수빈 😁 저는 오늘 이거 할 때 알림 설정 같은 거 큐 요즘에 뭐 큐트 메시지 큐에 관심이 좀 많은데 그런 거에 대해서 좀 한 번 더 짚고 넘어갈 수 있어서 좋았던 것 같고 크롤러 같은 경우에 뭔가 그냥 크롤러가 이런 거다라고 알고 있었는데 이렇게 다양한 것들을 고려해야 된다는 것도 다시 한번 생각해봤던 것 같아요. 끝입니다. 혜지 😗 또 알림 시스템 보고서 저희가 사용하고 있는 이메일이랑 텔레그램 알람이 좀 어디가 부족한지에 대해서 생각해 볼 수 있었고요 특히나 제시도 하는 것도 저희는 알람을 보내고 나서 그 알람이 제대로 갔는지 확인하는 게 좀 안 되어 있다고 생각돼서 그것도 조금 생각이 났고요 크롤링 하는 거는 저희는 크롤링을 직접 하는 거는 안 하다 보니까 크롤링에 대해서 이렇게 전반적으로 알 수.. TEAM STUDY/가상 면접 사례로 배우는 대규모 시스템 설계 기초 2022. 2. 23. [스터디 기록 📋] #URL단축 #URL변환 #웹크롤러설계 #웹마이닝 #웹모니터링 #중복콘텐츠 #컨텐츠저장소 #URL필터 # 주완 😁 단축 url 같은 경우는 좀 그래도 써본 적이 있어서 이게 어떻게 구성이 되는가를 한번 생각해 보는 좀 좋은 시간이었고요 아무래도 시스템 설계 그리고 이런 그림 9-4 같은 이런 시스템 설계도 같은 거를 그리기가 되게 어려운데 이런 식으로 참조해서 그리면 될 것 같아서 좀 좋았어요. 이런 게 좀 자주 나오니까 수빈 😋 저는 지금 하고 있는 업무가 딱 마침 url 문제였는데 이거 보면서 되게 많은 생각을 한 것 같아요. 근데 뭔가 좀 딱 이거 이런 생각했어요라고 말하기 어려울 정도로 많은 생각을 해서 느낀 점은 여기까지요. 혜지 😎 그냥 와닿는 게 없는거 아니에요 ? 수빈 😋 아니에요 너무 많아가지구요 혜지 😎 저는 그래서 여기에 관련된 내용이 조금 와닿지는 않았는데 그냥 책 부분에서 144 페이.. TEAM STUDY/가상 면접 사례로 배우는 대규모 시스템 설계 기초 2022. 2. 22. [스터디 기록 📋] #분산시스템을위한유일ID생성기설계 #티켓서버 #트위터스노플레이크접근법 #타임스탬프 #UUID #데이터다중화 #데이터일관성 #일관성모델 #데이터버저닝 #장애처리 #장애감지 .. 준언 🙄 처음에 이거 봤을 때 앞쪽 배터시계 이런 부분에서 뭔 말인지 이해가 안 돼서 다시 정독했었는데 지금도 이해는 잘 안 되지만 한번 인터넷으로 찾으면서 또 다시 공부해야 될 것 같고 이 아이디 값 만드는 것도 여러 개 있는 거 보니까는 좋았어요. 주완 😃 근데 저는 좀 최근에 조금 제가 아무래도 겪고 분산 시스템을 많이 겪고 있어서 되게 재미있었고요 제일 재미있었던 게 코랑 컨센서스 같은 경우에는 일단 주키퍼나 주키퍼에서 되게 일단은 많이 강조했던 부분이어서 되게 이렇게 개념적으로 접근한 적이 없는데 개념적으로 접근해 보니까 되게 재미있었어요. 네 그래서 상당히 이런 분산 시스템에 대한 아키텍처가 진짜 기본부터 들어가기 시작하면 너무 어려운 것 같아요. 저도 조금 다시 한번 읽어봐야 될 것 같아요... TEAM STUDY/가상 면접 사례로 배우는 대규모 시스템 설계 기초 2022. 2. 19. [스터디 기록 📋] #안정 해시 #해시서버 #해시키 #서버조회 #서버추가 #서버제거 #가상노드 준언 😃 오늘 공부했었던 부분 중에 가장 흥미로웠던 부분은 93페이지 쪽 clp 제품 쪽인데요. 분산 시스템 분산 해시 테이블 설계할 때 이렇게 구분해가지고 설계해야 된다는 부분이 흥미로웠고 그리고 네 적용해보고 싶다 라는 생각이 들었습니다 정민 🙄 저도 cep 그거에 대해서 알아서 너무 좋았고 그리고 가상 모드 이런 거 만들어서 캐시 이런 거 캐시 key 이렇게 하는 것도 알게 돼서 좋았습니다. 혜지 🥰 저도 그 안전 해시 설계는 언젠가는 한번 제가 적지 않을까 데이터를 계속 다루다 보면 그래서 안전 해시 설계는 한번 계속 좀 머릿속에 계속 기억해내야 될 것 같고요. 그 외에도 여기 cep 정리 같은 경우에도 확실히 데이터 모든 시스템 설계할 때 이런 비슷한 내용들은 좀 많이 나오는 것 같아서 되게 좀.. TEAM STUDY/가상 면접 사례로 배우는 대규모 시스템 설계 기초 2022. 2. 17. 리눅스 메일 발송 데몬 ( Linux mail send Daemon ) 한글 깨짐 Daemon 을 개발 후 local 에서 테스트를 했는데 잘 되서 서버에 업로드를 했더니 한글이 부분부분 깨져서 들어가는 것이다. 빌드 될 때 문제가 생기는 것 같다. String name = company.getCom_name() + "사용자로그"; InputStream nameIs = new ByteArrayInputStream(name.getBytes()); String nameUtf8 = IOUtils.toString(nameIs, StandardCharsets.UTF_8); String contents = "기간 : " + sdate + " ~ " + edate + "\n이 메일은 자동으로 발송되었습니다."; InputStream contentsIs = new ByteArrayInputStrea.. TEAM STUDY/LINUX 2022. 2. 15. [스터디 기록 📋] #처리율제한장치설계 #처리율제한알고리즘 #성능최적화 효정 😋 저는 오늘 내용이 약간 그림으로 보여주는 게 되게 흥미로우면서도 재미있기도 했고 어디였지 68페이지에 http 응답 해더에서 이런 걸 확인할 수 있다는 이런 개념들도 처음봐가지고 다시 한 번 이 파트는 정리해 보면서 봐야겠다는 생각이 들었어요. 정민 😁 일단 차류 제한 장치 자체 알고리즘도 그렇고 저희가 지금 회사에서 쓰고 있는 시스템은 사용자가 그렇게 많이 접속하지가 않기 때문에 그 부분에 대해서 고민할 필요가 없었었는데요. 그래서 그런지 약간 흥미로 약간 궁금증이 생겼어요. 준언 😎 저희가 쓰는 시스템에서 10명이 들어오면은 꺾거든요. 모든 시스템이 그렇게 너무 열악한 상황 아무것도 안 하거든요. 그러니까 대규모 데이터가 정한 시스템에 10명이 들어와도 되는데 데이터가 많은 그런 내가 10명.. TEAM STUDY/가상 면접 사례로 배우는 대규모 시스템 설계 기초 2022. 2. 10. [스터디 기록 📋] #샤딩 #면접자세 #면접의도파악 #자동화 #로그,매트릭 그리고 자동화#데이터베이스 규모 확장 #수평적확장 #수직적확장#백만 사용자 그리고 그 이상#모든 프로그래머가 알아.. 2022 02 09 - 오늘의 스터디 🙋♀️ #샤딩 #면접자세 #면접의도파악 #자동화 #로그,매트릭 그리고 자동화 #데이터베이스 규모 확장 #수평적확장 #수직적확장 #백만 사용자 그리고 그 이상 #모든 프로그래머가 알아야 하는 응답지연 값 #가용성에 관계된 수치들 #트위터 QPS 와 저장소 요구량 추정 혜지 🙂 저는 느낌 점은 이렇게 가까이 사실 면접 부분보다는 저는 앞에 있는 부분이 조금 저한테는 많이 와 닿았거든요. 저는 이제 실제로 검색 엔진에 샤드라는 개념이 있어서 근데 여기에도 샤드 부분에 중간에도 있지만 샤드로 한다고 해서 모든 게 다 완벽하지 않아서 실제로도 검색 엔진 엘라스틱에 자동 샤딩을 해 주는데도 그 자동 샤딩이 제대로 안 돼서 임의로 샤딩을 옮기는 경우가 있어요. 여기 쓰여있는 것.. TEAM STUDY/가상 면접 사례로 배우는 대규모 시스템 설계 기초 2022. 2. 9. CI/CD 란 ? 지속적인 통합 관리 배포 !! 😏😏 CI/CD 란 우리는 여태까지 어떻게 하면 더 좋은 코드를 만들어낼 수 있을지에 대해서 고민해왔다. 하지만 궁극적으로 우리가 하고 싶은 것은 사용자에게 우리가 멋드러지게 만든 코드를 결과물로 만들어 보여주는 것이다. 어떻게 하면 사용자에게 우리의 코드를 보여줄 수 있을까? ✅ 컴파일 첫번째로 우리가 만든 코드를 컴파일 한다. 컴파일이란 우리가 만든 프로그래밍 언어를 기계가 이해할 수 있는 기계의 언어로 번역하는 것이다. 우리가 사용한 java, c와 같은 프로그래밍 언어는 기계가 이해할 수 없다. 이렇게 개발자의 편의를 위해 개발자의 언어로 작성한 프로그래밍 언어를 컴파일러가 컴파일 해 기계가 이해할 수 있는 언어로 번역해준다. ✅ 빌드 다음은 컴파일된 기계의 언어를 사용자에게 보여주기 위해 빌드하여 완.. TEAM STUDY/한 권으로 읽는 컴퓨터 구조와 프로그래밍 2022. 2. 4. 직렬화 ( Serializable ) 란 ? 직렬화를 사용하는 이유 사용하고 있는 데이터들을 파일 저장 혹은 데이터 통신에서 파싱 할 수 있는 유의미한 데이터를 만들기 위함이다. - 데이터 직렬화 serialization 메모리를 디스크에 저장하거나 네트워크 통신에 사용하기 위한 형식으로 변환 하는 것. - 역직렬화 반대로 디스크에 저장한 데이터를 읽거나, 네트워크 통신으로 받은 데이터를 메모이네 쓸 수 있도록 다시 변환하는 것. 데이터의 메모리 구조는 값 형식 데이터, 참조 형식 데이터 두 가지로 구분된다. 이 두가지 데이터 중에서는 디스크에 저장하거나 통신할 때는 값 형식 데이터만 가능하다. - 값 형식 데이터 ( Value Type ) 흔히 선언해서 사용하는 int, float, char 등 값 형식 데이터들은 스택에 메모리가 쌓이고 직접 접.. TEAM STUDY/한 권으로 읽는 컴퓨터 구조와 프로그래밍 2022. 1. 17. 런타임 라이브러리와 표준 입출력 런타임 라이브러리와 표준 입출력 C프로그램을 실행 하려면 우리가 작성한 코드를 컴파일한 다음, 컴파일된 코드와 이 코드가 사용하는 stdio 라이브러리 등의 다른 코드를 링크 해야 한다. C에서 런타임 라이브러리는 crt0 등의 이름으로 불린다. 런타임 라이브러리는 스택과 힙을 설정해서 사용 할 수 있도록 준비하는 등의 설정을 담당한다. 런타임 라이브러리는 추가로 터미널 장치 드라이버와 연관된 파일을 하나는 입력을 위해, 하나는 출력을 위해 연다. stdio 라이브러리는 ( 런타임 라이브러리가 연 ) 시스템 파일 디스크립터를 파일 포인터와 연관 시킨다. 파일 포인터는 버퍼링이나 파일 관리에 필요한 데이터 구조를 가르킨다. stdio 는 기본적으로 세 가지 파일 포인터를 제공한다. stdio - 표준 입력.. TEAM STUDY/한 권으로 읽는 컴퓨터 구조와 프로그래밍 2022. 1. 7. 이전 1 ··· 5 6 7 8 9 10 11 ··· 13 다음