본문 바로가기

전체 글

(197)
macOS에 MariaDB 설치하기 Homebrew 패키지 매니저를 이용하여 MariaDB를 설치하자. brew update // 홈브류 업데이트 brew search mariadb // 버전 확인 brew install mariadb // mariadb 설치 // 설치 완료 후 mysql.server start // MariaDB Server start brew services start mariadb // mysql.server start brew services stop mariadb // mysql.server stop brew services list // mysql.server status MySQL과 충돌날 경우, 아래 명령어 먼저 실행 후, MariaDB를 깔아주자. brew unlink mysql brew remove my..
MSA(마이크로 서비스 아키텍쳐)와 MA(모놀로식 아키텍쳐) MSA ( Micro Service Architecture ) - 작고 독립적으로 배포 가능한 각각의 기능을 수행하는 서비스로 구성된 프레임워크 - API를 통해서만 상호작용 - 각각의 서비스는 모듈화 되어있음 - 서비스별로 독립적인 배포가 가능 - 복잡. 통합 테스트가 어려움. MA ( Monolithic Architecture ) - 소프트웨어의 모든 구성요소가 한 프로젝트에 통합되어 있는 형태 - 개발이 완료된 웹 애플리케이션을 하나의 결과물로 패키징하여 배포되는 형태 - 웹의 경우 WAR 파일로 빌드되어 WAS에 배포하는 형태 - 소규모 프로젝트에서 사용 단점 - 부분 장애가 전체 서비스의 장애로 확대될 수 있음
HTTP 구조 (Request, Response, method, Status) 1. HTTP 개념 HyperText Transfer Protocol -> 하이퍼텍스트 전송 프로토콜 = HTML 전송할 때 지킬 약속 컴퓨터들은 HTTP를 지키지 않으면 통신할 수 없다! 웹에서 데이터를 안전하게 주고 받을 수 있게 하는 원천이 바로 HTTP 통신 방식 요청과 응답 구조 (Request Headers와 Response Headers를 가짐) 클라이언트가 요청을 보내면 서버가 응답을 보내는 구조 즉, HTTP가 없다면 클라이언트와 서버는 서로 통신을 할 수 없다! ** 쿠키나 세션을 사용했던 이유는 HTTP와 관련이 있다. HTTP는 Stateless, 상태를 가지지 않는다. 이 말은 요청과 응답은 독립되어 있다는 것이다. 즉, 방금 전에 보낸 요청을 또 보내도 모른다는 것이다. 그렇다면..
docker start 안될 때 이번에 업데이트 때문인지 어떤 이유로 docker start가 되지 않았다. 구글링 해보면 업데이트하면서 경로명이 변경되어서 라고 하는 것 같은데, 제일 쉬운 방법은 컨테이너를 지우고 다시 run 하는 것이다. 기존에 tar 파일 백업해놓은 것이 있어서 그걸 활용해서 다시 컨테이너를 생성했다. 아래 이미지는 에러 메세지다. 다음에 또 이런 에러가 발생하면 참고하자. error while creating mount source path '/host_mnt/private/var/db/timezone/tz/2020d.1.0/zoneinfo/Asia/Seoul': mkdir /host_mnt/private/var/db/timezone/tz/2020d.1.0: operation not permitted
TCP/IP 프로토콜 소켓 프로그래밍 소켓을 이용한 통신 프로그래밍 소켓 프로세스간의 통신에 사용되는 양쪽 끝단 컴퓨터끼리는 국가 상관없이 어디서든 연결 되도록 전 세계를 통일한 언어를 정했다. 그것이 바로 OSI 모델과 TCP/IP이다. OSI 모델 네트워크의 기본 구조를 7계층으로 나누어 표준화한 통신규약 현재 다른 모든 통신 규약의 기반이 됨 TCP/IP 모델 OSI 모델 계층의 네트워크에서 데이터를 전송하는 과정을 4계층으로 단순화 시켜 사용하는 모델. 인터넷 모델.
[LINUX] 인터넷, 네트워크, 서버, 도메인 인터넷이 돌아가는 원리 클라이언트는 요청하고, 서버는 응답하고~ 구글 사이트에 접속하는 방법 google.com --> domain name (엄마) 172.21.25.78 --> ip address (010-1234-5678) DNS서버 이 세상에 있는 모든 도메인이 어떤 ip를 가지는지 저장되어있는 사전이라고 생각해라. 내가 google.com 이라고 검색하면 DNS 서버에 접속해서 뒤진 후, 구글의 ip를 내컴에게 몰래 알려준다. 그럼 내컴은 그 ip를 가지고 구글 서버에 접근하게 되는 것이다. 라우터 = 공유기 하나의 회선으로 여러 대의 컴퓨터 사용 가능 라우터가 하나의 ip를 가짐 = 대표번호 = public address = public ip 각각의 컴퓨터도 ip를 가짐 = 내선번호 = pri..
[LINUX] 사용자와 권한 유닉스 계열 운영체제는 여러 명이 함께 사용 가능하다. (다중 사용자) 하지만 배우기 어렵고, 보안 상의 문제가 발생할 수 있다. id 나의 정보 who 누가 접속했는지 리스트 super(root) user VS user sudo: 관리자의 권한으로 실행한다. ex) sudo apt-get update; * 실행을 취소하고 싶으면 ctrl+C su A라는 사용자에서 B라는 사용자가 되고 싶을 때 / 슈퍼유저가 되고 싶을 때 되도록이면 슈퍼유저로 바꾸지 말고 꼭 필요할 때만 sudo 명령어로 사용하는 편이 좋다. sudo password -u root 슈퍼유저로 바꿀 때 막혀있다면, 락을 풀기 위한 명령어 권한 Permission 사용자가 파일과 디렉토리에 대한 접근 권한을 설정 Read(읽기) & Wri..
[LINUX] 프로세스와 실행 Process 실행 중인 프로그램 Storage SSD, HDD, SD카드 정보를 저장 싸다 - 용량이 크다 - 느리다 Memory RAM 정보를 저장 비싸다 - 용량이 작다 - 빠르다 Processor CPU (중앙처리장치) Storage에는 우리가 필요로 하는 프로그램들이 설치되어 있다. 하지만 너무 느리기 때문에 필요한 프로그램을 속도가 빠른 메모리에 올려서 CPU에 의해서 처리되는 상태. 실행 중인 프로그램을 프로세스라고 한다. ps 현재 사용중인 프로그램 확인 top, htop 현재 사용중인 프로그램을 리눅스 상에서 확인 가능한 명령어 ctrl + z 실행 중인 프로그램을 백그라운드로 보내는 단축키. 이 기능을 실행하면 명령어가 일시 정지됨. 종료되는 것이 아님! jobs 백그라운드 작업들의 목..