본문 바로가기
반응형

🌱 Computer Science66

리눅스 명령어 정리1. 서버접속/프로세스/네트워크 관련 명령어 (btmp/wtmp/utmp/ps명령어/ifconfig) 1.서버접속 관련 명령어 1) ssh 접속실패 로그 : last –f /var/log/btmp btmp로그 : 누군가 로그인을 시도했지만 실패했다는 내용이 기록되는 로그 2) ssh 접속성공 로그 : last –f /var/log/wtmp wtmp로그 : 사용자들의 로그인아웃 정보, 시스템관련 정보 기록 +최근 접속(로그인과 재부팅) 성공로그: last 3) 현재 접속로그 확인 : last –f /var/run/utmp Utmp : 현재 로그인한 상태 정보를 담고 있는 로그파일 4) 사용자 내 접속로그 확인 : lastlog 2.프로세스(스레드상태) 관련 명령어 : ps 1) ps : 프로세스 상태확인 명령어 현재 특정 프로세스가 실행되고 있는지, 실행되고 있는 프로세스가 어떤 pid를 갖고 있는지 확인.. 2020. 3. 30.
[NetWork/Web] HTTP 상태코드 정리 Status Code 2xx 코드 : 성공응답 200 : ok, 정상 204 : No Content, 삭제에 대한 응답코드 206 : Range, 헤더를 지정한 요청에 대한 응답코드 3xx 코드 (Redirection 응답) : request가 완료하기 위해서 추가 동작필요 301 : Moved Permanently 영구적으로 URI가 변경됨 302 : Found 일시적으로 URI가 이동됨 304 : Not Modified, 변경없음 307 : Temporary Redirect, 임시적인 redirect 4xx 코드 (클라이언트 오류) : Client가 보내는 error response 400 : bad request, 잘못된 요청 원인 : 클라이언트가 잘못된 형식의 요청을 전송, 그래서 서버가 이 요청을 이해할 수 없음 4.. 2020. 3. 23.
[MySQL] 인덱스구조 : 클러스터링인덱스/넌 클러스터링인덱스 클러스터 : 여러개를 하나로 묶는다는 의미 mysql에서 클러스터링인덱스는 innoDB와 TokuDB 스토리지 엔진에서만 지원 클러스러링 인덱스 테이블의 PK에 대해서만 적용된다. (PK는 클러스터링 인덱스의 기준) 프라이머리 키 값이 비슷한 레코드끼리 묶어서 저장하는 것 PK에 의해 레코드 저장 위치가 결정된다. PK값이 변경되면 -> 레코드의 물리적인 저장위치가 바뀐다->랜덤액세스가 많이 발생해서 IO증가 그러니까, PK를 신중하게 결정해야한다. 그럼 뭐가 좋은데? PK기반의 검색속도는 빠르다. 넌클러스터링구조와 비교 테이블 구조 자체는 일반 B-트리랑 비슷 B-트리구조의 리프로드에는 파일이 저장되어 있는 주소들이 있음. 그래서 이 주소를 따라 페이지번호로 가면 자식주소까지 찾아가서 데이터를 찾는 방.. 2020. 1. 30.
[MySQL] 로그(General/Slow쿼리) 로그 어떤 에러가 발생했는지, 어떤 쿼리를 돌렸는지 볼 수 있음 디폴트는 에러보고 로그 접속 정보나 쿼리에 대한 로그를 알고 싶으면 따로 설정을 해줘야댐 1. 제너럴 로그(General_log) 사용자가 던진 모든 쿼리에 대한 기록 ->어떤 에러가 발생했는지, 어떤 쿼리를 돌렸는지 볼 수 있음 해당하는 경로에 들어가면 쿼리정보를 볼 수 이씀 sud vi 위에 경로명 2. 슬로우쿼리 로그 어떤 쿼리 때문에 느린지 알고 싶을때 *슬로우쿼리 : 클라이언트로 부터 받은 쿼리를 수행할때 일정시간 이상 수행되지 못한 쿼리들 슬로우쿼리가 많으면 성능저하가 발생한다. mysql을 사용할때 mysqld가 cpu를 많이 잡아먹거나 db접속이 원활하지 않으면 슬로우쿼리 확인하기 제너럴 쿼리랑 다른점은? 둘다, 사용자가 던진.. 2020. 1. 27.
[MySQL] 트랜잭션 격리수준(Isolation level) 트랜잭션 : 하나의 작업처리단위 이렇게 작업을 하나씩 순차적으로 진행하면? 1)데이터무결성 보장(ACID특징) 모두 성공적으로 처리되나(Commit) 실패할 경우 원상태로 되돌아가기 때문에(Rollback) 부분업데이트가 발생하지 않음 *데이터 정합성(Automicity) 보장 : 트랜잭션 -> 동시에 수행되는 트랜잭션끼리 데이터의 일관성 유지하도록 보장 *데이터 고립성(Isolation) 제어 : Lock기능 -> 동시에 수행되는 트랜잭션끼리 영향을 미치지 않도록 제어 2)직렬화(Serialization)가 됨 하지만, 다수의 클라이언트가 DB에 동시에 접근해서 사용해야 됨 -> 동시성도 보장되어야 함 -> 어떻게? 격리수준(Isolation level) 동시에 여러 트랜잭션이 처리될 때 다른 트랜잭션.. 2020. 1. 25.
[NetWork] 동기(sync) vs 비동기(async) 데이터를 받는 방식의 차이점 동기식(synchronous) 요청과 결과가 한자리에서 '동시에' 일어난다. 요청을 하면 바로 시간이 얼마나 걸리던지 요청한 자리에서 그 결과가 나타남 작업처리시간이 같다. (추구하는 목적이 같아서) 장점 : 설계가 간단하고 직관적 단점 : 결과가 주어질때까지 아무것도 못하고 대기해야함 예시 : 계좌입출금 --> A에서 B로 송금할때 A에서 돈이 빠져나가고 B에 돈이 들어오는게 동시에 일어나야함 비동기식(asynchronous) 요청과 결과가 동시에 일어나지 않음 요청을 하면 요청한 자리에서 결과가 나타나지 않음 작업처리 시간을 동시에 맞추지 않아도 됨(추구하는 목적이 달라서) 장점 : 결과가 주어지는데 시간이 걸리더라도 그 시간동안 다른 작업 할 수 있음 단점 : 동기식보다.. 2020. 1. 25.
[MySQL]복제구축(mysqldump로 백업하기) 1. MySQL복제란?(Replication) 물리적으로 다른 서버의 저장공간안에 동일한 데이터를 복사하는 것 즉, 1개의 Master 서버를 여러개의 Slave 서버에 복제하는 작업 2. 왜 사용하는가? 무슨목적으로? 1. 백업 2.부하분산 1) 백업 실시간으로 Master서버에서 변경된 데이터를 Slave서버에 복사하여 백업할 수 있습니다. 그래서 Master서버의 장애가 발생하였을 경우 Slave서버로 변경할 수 있습니다. 2) 부하분산 사용자가 증가하여 1대의 서버에서 읽기 부하가 발생할 경우 유용하게 사용가능 그래서 Master는 INSERT/UPDATE/DELETE 요청을 받아 쓰기전용으로 사용하고, Slave는 로 SELECT 요청을 받아 읽기전용으로 사용 3. 실시간으로 데이터 복제가 가능.. 2020. 1. 23.
데이터파이프라인/데이터프로덕트/수집/정제 용어정리 1. 데이터파이프라인 : 데이터가 흘러다니는 길 데이터를 수집하고 정제하고 다시 보내는 과정은 데이터 파이프라인을 통해 이루어짐 1) 데이터 스키마 어떤 형태로 어떤 값들이 언제 남아야 하는지 남겨둔 규칙이나 모양 2) 로킹 : 데이터를 남기는 활동, 사용자의 활동을 앱에서 Google Analytics처럼 바로 보낼수도 있고, 서버에서 이벤트를 디비에 저장하고, 그것을 옮겨 가거나 아니면 api의 로그파일로 남겨 긁어가는 방법. 3) 수집 데이터를 어디로 전송하거나, 파일로남겼거나, 디비에 저장했다면 중앙화된 저장소로 옮김 연산된 형태를 고려해서 값을 변경하거나, 필요한 저장소를 결정 4) 정제 로그를 전송 중에(데이터가 파이프라인 안에서 이동되는 동안) 유실이나 중복이 될 수 있음, 또는 서버의 버그.. 2020. 1. 23.
[Mysql아키텍쳐3] InnoDB특징/MyISAM특징 내부적으로 어떻게 작동는지 이해하기 출처 RealMysql 서적을 기반으로 이해한 내용 정리 1.InnoDB 스토리지 엔진 특징 1) 트랜잭션 지원 -> 데이터 무결성 보장 트랜잭션 위주로 진행되기 때문에 ACID특징을 보장함(커밋/롤백지원) 그래서 데이터의 일관성,정확성이 높다. https://pearlluck.tistory.com/17 트랜잭션 특징(ACID) /Rollback /Commit 트랜잭션 데이터베이스의 상태를 변화시키는 하나의 작업단위를 의미합니다. DB의 상태는 딱! 2개 Rollback과 commit만 있음 그래서 두가지 상태를 작업하는 실행단위들 왜 트랜잭션이 필요할까? 왜 DB는 트랜잭션.. pearlluck.tistory.com 2) 동시성 수준 높음 -> Row-level의 L.. 2020. 1. 22.
스크래핑 기술 vs 크롤링 크롤링 여러 인터넷 사이트의 페이지(문서,HTML)를 수집해서 분류 하는것 대체로 찾아낸 데이터를 저장한 후 쉽게 찾을 수 있게 인덱싱 일종의 스크래핑 기술 자동화된 웹크롤러가 정해진 규칙에 따라서 데이터를 수집? ​ 스크래핑 HTTP를 통해 웹사이트 내용을 긁어다 원하는 형태로 가공하는것 웹사이트의 데이터를 수집하는 모든 작업 원하는 부분을 자동으로 추출 및 수집? 출처 2020. 1. 22.
728x90