본문 바로가기
반응형

Develop/CS38

[1% 네트워크] chapter 1. 웹 브라우저가 메시지를 만든다. 이 글은 '성공과 실패를 결정하는 1%의 네트워크 원리'를 읽고 정리하는 글입니다. 웹 브라우저가 메시지를 웹 서버에 전송하기까지의 과정을 읽고 전체 글을 읽으면 좋을 것 같다. HTTP Request Message 작성 웹 서버의 IP 주소를 DNS 서버에서 조회 프로토콜 스택에 메시지 송신 의뢰 📕 1. HTTP Request Message 작성 📕 📑 1-1. 브라우저에서 URL 입력 브라우저 : 여러 클라이언트 기능을 겸한 복합적인 클라이언트 소프트웨어 ex: 웹 서버에 액세스하는 클라이언트, 파일 다운/업로드하는 FTP의 클라이언트, 메일의 클라이언트, ... 어떤 클라이언트를 사용하는지는 URL에서 알려줌 URL = Uniform Resource Locator http, ftp, mailto .. 2022. 7. 2.
[OS] 프로세스와 스레드 프로그램 vs 프로세스 vs 스레드 프로그램 어떤 작업을 위해 실행할 수 있는 파일 메모리에 올라가지 않은 Windows의 *.exe 같은 정적 파일 (메모리에 올라가다: 실행을 하려면 OS가 독립적인 메모리 공간을 할당해줘야 함) 프로세스 메모리에 올라와 실행되고 있는 프로그램의 인스턴스 OS로부터 시스템 자원을 할당 받는 작업의 단위 스레드 프로세스 내에서 실행되는 여러 흐름의 단위 프로세스의 코드에 정의된 절차에 따라 실행되는 특정한 수행 경로 프로세스 내에 여러개 존재할 수 있으며 Code, Data, Heap 영역은 공유하고 Stack은 각자 할당 받음 실행 중 오류 발생 시 다른 스레드까지 강제 종료될 수 있음 🔻 데이터 영역 더보기 코드: 현재 프로세스에서 실행 중인 프로그램의 바이너리 코드.. 2022. 2. 8.
[MariaDB] 설치 방법 (+the same name already exists 에러) 설치 환경: Windows 10 MariaDB는 설치가 간단하다. MariaDB 공식 홈페이지로 들어가서 원하는 버전을 선택 후 Download 버튼을 클릭하기만 하면 된다. msi를 받았다면 해당 프로그램을 실행, zip를 받았다면 압축 해제 후 설치 실행하면 된다. 여기서 재설치를 한 사람이라면 a service with the same name already exists라는 에러가 났을 수 있다. 나같은 경우에는 옛날에 MariaDB를 사용 안 할줄 알고 폴더 보이는 대로 막 삭제했더니...(이러면 안된다ㅠ.ㅠ) 정상적인 삭제 방법이 아니라 일부분이 지워지지 않은 것 같다. 명령 프롬프트를 '관리자 권한'으로 실행시켜 다음 명령어를 입력하면 삭제된다. > sc delete 서비스명 💡 sc란? Se.. 2021. 12. 26.
[MySQL] SQL 오류: Data truncation: Incorrect string value ... Data truncation: Incorrect string value: '\xED\x85\x8C\xEC\x8A\xA4...' for column ~~ at row 1 에러 오류 위치를 살펴보니 INSERT 구문을 실행하던 중 한글을 입력하려고 하니 발생하는 오류였다. RDS 생성할 때 가장 먼저 체크했던게 UTF8이라 DB 설정 문제는 아니라고 생각했고 (물론 이런 과신은 좋지 않으니 한번 체크하는게 좋긴 하다...😅) 다른 DB에서 사용 시에는 해당 오류가 발생하지 않아 sqlDeveloper의 문제도 아니라고 생각했다. 알고보니 테이블 생성 시 UTF 8 설정이 되어있지 않았다. ALTER TABLE 테이블 convert to charset UTF8; 테이블 생성할 때 바로 설정할 수도 있다. CR.. 2021. 12. 3.
세션과 Redis 세션을 어떻게 관리하는지에 대한 고민을 하다가 Redis에 대해 알게 되었다. Redis를 사용하는 이유가 뭘까?에 대한 궁금증을 해결하기 위해 포스팅하게 되었다. 목차 1. 세션이란? 2. Redis란? 3. Redis를 사용하는 곳 4. Redis를 왜 사용하는가? 🤔 세션이란? 서버에 저장되는 쿠키 클라이언트와 서버의 통신 상태 서비스가 직접 관리 해야하는 중요한 정보 관리 여러 요청들을 포함해 하나의 트랜잭션이나 작업을 완료하는데 걸리는 시간 Sticky Session sticky? 끈적끈적한, 잘 떨어지지 않는. Session Stickiness = Session Persistence 로드 밸랜서가 세션 기간 동안(IP가 웹 사이트에서 보내는 시간) 클라이언트와 특정 네트워크 서버 간의 관계를 .. 2021. 11. 29.
NoSQL이란? 이번에 토이 프로젝트를 만들기 앞서 NoSQL에 대해 이야기가 나왔다. 대용량 데이터를 처리하는데 쓴다... 정도로만 알고 있어서 한 번 정리해보기로 한다. NoSQL이란? 비관계형 데이터베이스 ( RDBS: 관계형 데이터베이스) ACID 특성을 제공하지 않음 확장성, 가용성, 높은 성능 데이터 저장 및 검색을 위해 특화된 매커니즘 제공 = No SQL, Not Only SQL, Non-Relational Operational Database, ... 🔻 ACID란? 더보기 데이터베이스 트랜잭션의 안전한 수행을 보장하기 위한 성질 Atomicity; 원자성 각 트랜잭션들이 단일 단위로 취급하도록 보장 트랜잭션 연산이 DB 모두에 반영되도록 commit 또는 전혀 반영되지 않도록 rollback 모든 명령.. 2021. 11. 18.
What is Hosting? 호스팅이란? Hosting : 어떠한 서비스를 빌려서 사용하다 1. Web hosting 2. Cloud hosting 3. Web hosting vs Cloud hosting 1. Web hosting 서버에 웹사이트 파일을 저장하는 서비스 www(웹) 공간을 hosting(임대)하는 것 인터넷만 있다면 누구나 웹사이트에 접근 가능하게 함 크게 Virtual Hosting, Dedicated Hosting으로 나눌 수 있음 Virtual Hosting 호스팅 회사 서버의 일정 공간을 구입해 서비스 이용 호스팅 회사의 다른 고객과 같은 서버를 사용하기 때문에 비교적 저렴한 편 Dedicated Hosting Virtual과 달리 서버를 단독으로 사용하며 서비스를 이용 Web Hosting에 포함된게 아닌 Server.. 2021. 10. 28.
브라우저의 동작 원리 목차 1. Web browser 2. Render Engine 3. Parsing 3-1. Parsing-general 3-2. HTML Parser 3-3. CSS parsing 4. Render tree construction 5. Layout 6. Painting 7. Dynamic changes 1. Web Browser 웹 브라우저는 크롬, 익스플로러, 파이어폭스, 사파리, 오페라 등이 있다. 누구든지 인터넷만 있다면 언제 어디서나 이용할 수 있게 해준다. 내 데스크 톱이나 모바일 기기 등에 다른 웹으로부터 가져온 정보를 보여준다. HyperText Transfer Protocol (텍스트, 이미지, 비디오 등이 웹에서 어떤 방식으로 전송될지를 결정) 를 이용해 전송되는 이 정보는 전세계 어디서.. 2021. 10. 7.
페이스북이 멈췄다? (DNS와 BGP에 대해) 목차 1. 페이스북 네트워크 이슈 2. DNS의 개념과 작동 방식 3. BGP의 개념 1. 페이스북 네트워크 이슈 페이스북이랑 인스타가 먹통이라고? 오늘 새벽에 페이스북에서 운영하는 몇몇 서비스가 먹통됐다길래 궁금해서 찾아봤다. (페이스북 계열사의 모든 서비스가 중단됐던 모양이다. 페이스북, 인스타그램, 왓츠앱, ...) 많은 사람들이 DNS와 BGP에 대한 언급이 많았기 때문에 개념을 정리하기 위해 포스팅 한다. 페이스북이 먹통된 원인이 뭘까? 페이스북에서 공식적인 입장이 있지는 않았지만, Cloudflare 측에서 대규모 BGP 변경이 있었다는 트윗이 올라왔다. 이를 통해 BGP 설정 오류로 인해 네트워크가 통째로 내려갔다고 추측한다. 장애 5시간 반만에 BGP가 업데이트 되었고, 최소한의 서비스가 .. 2021. 10. 5.
반응형