목록분류 전체보기 (281)
내 잡다한 노트
3-Tier architecture는 모든 계층이 3개의 논리 계층으로 분할되는 아키텍처 패턴이다. 애플리케이션을 3개의 계층으로 나눈다. 1. Presentation 계층 사용자가 사용할 수 있는 프레젠테이션 계층. UI와 직접적인 관련이 있다. 웹 애플리케이션의 경우, html, css, javascript가 포함된다. 2. Logic 계층 비즈니스 로직이 수행되는 곳이다. 사용자의 입력을 처리하고, 데이터를 조작하며, 그 결과를 프레젠테이션 계층으로 전달하거나 데이터 계층으로부터 데이터를 가져온다. 3. Data 계층 데이터베이스가 있는 계층으로 데이터와 직접적으로 상호작용한다. 이런 아키텍쳐를 따름으로써 오는 이점 주된 장점은 계층의 분리이다. 1. 서로 다른 개발 팀이 각자의 전문 분야에 대해 ..
docker 네트워크는 컨테이너가 서로 통신하고, 외부 네트워크와 통신할 수 있는 방법을 제공한다. 여러 네트워크 유형이 존재한다. - bridge 기본적인 도커 컨테이너의 네트워크이다. 도커 호스트와 컨테이너 간의 사설 내부 네트워크를 제공하며, 컨테이너가 서로 통신할 수 있게 해준다. NAT를 활용해 호스트 IP를 가지고 외부와 통신할 수도 있다. - none 이걸 사용하면 컨테이너에는 네트워크가 존재하지 않게 된다. - host 컨테이너가 호스트의 네트워크 스택을 직접 사용할 수 있게 된다. 따라서 호스트의 IP 주소와 포트번호를 사용할 수 있고 네트워크 환경을 공유한다. - overlay 다중 호스트에서 실행되는 컨테이너의 경우에 자주 사용된다고 한다. 연관된 개념이 docker swarm과 오케..
팀프로젝트를 진행 중인데 PR을 모르시는 분들이 있어서 알려줘야 할 일이 생길 수도 있을 것 같아... 배웠지만 복습할 겸 포스팅을 하게됐다. 1. Fork 원본 레포지토리를 개인 계정으로 fork 해야한다. 이렇게 하면 원본 레포지토리의 복사본이 개인 계정에 생성된다. 포크 과정이 꼭 필요한 단계는 아니긴하다. clone만 해서 pr을 날리는 경우가 될 수 있는데 그 경우에는 원본 레포지토리에 쓰기 권한을 가지고 있을 경우에는 가능하다. 쓰기 권한을 가지려면 권한을 부여받아야하는데 Collaborators에 추가가 되어야 한다. 2. Clone 포크한 레포지토리를 로컬로 클론을 해서 가져온다. 이렇게 되면 레포지토리의 모든 파일이 로컬에 복사된다. git clone [내 레포지토리 주소] 3. remo..
관련 내용은 추가되거나 수정될 예정. - 정의 인터넷과 같은 공용 네트워크에서 개인 네트워크처럼 데이터를 안전하게 주고받는 기술. vpn이라는게 이런 기술이나 서비스를 지칭하는 용어이고 실질적으로 VPN을 구현하기 위한 프로토콜이 있다. - PPTP(Point to Point Tunneling Protocol) 초기의 vpn 프토코로 중 하나. 오늘날에는 보안 취약점때문에 쓰이지 않는 편. - L2TP (Layer 2 Tunneling Protocol) IPsec와 함께 사용되어 데이터를 암호화하고 VPN 터널을 안전하게 만든다. L2TP 자체는 암호화를 제공하지 않기 때문에 IPsec와 결합하여 사용한다. - IPsec (Internet Protocol Security) IP패킷의 암호화 및 인증을 위..
앞으로 어떤 글을 읽고 정리, 설명하는 식으로 글을 작성하면 좋을 것 같다는 생각이 든다. 남에게 설명할 수 있을때야 말로 진짜 이해를 할 수 있는지 알 수 있기 때문이다. 면접에서 깨달았다.ㅠ 틀린 부분이 있을 수 있으니 지적해주시면 감사하겠습니다. 모놀리식 아키텍처는 단일 코드베이스에서 여러 서비스가 같이 존재하는 아키텍쳐이다. 그래서 레거시 어플리케이션에서 자주 사용되는 아키텍처이다. 레거시 어플리케이션이 보통 하나의 코드에서 여러 기능들이 다 동작하는 오래된 소프트웨어다보니 모놀리식 아키텍처를 사용한 소프트웨어가 많다. 단일 코드베이스에서 동작하다보니 확장성이 떨어지는 단점이 있다. 또한, 단일 코드베이스에서 작성을 하다보니 코드를 살펴보기도 굉장히 어렵고 복잡하다. 그리고 코드를 수정할 때 모든..
포스팅은 안하고 공부만 했지만 복습한다는 차원에서 포스팅을 해보려고 한다. # whoami 현재 로그인한 사용자가 누구인지 확인하는 명령어 # 사용자 추가 명령어 adduser 또는 useradd 형식은 adduser 옵션은 -d : 홈 디렉터리 변경 -g : -G : 으로 사용자의 그룹을 지정할 수 있다. sudo cat /etc/passwd 명령어를 통해 사용자 정보가 담긴 파일을 cat 으로 출력할 수 있다. 사용자명:비밀번호:사용자 ID:그룹 ID:코멘트:홈 디렉터리:기본 쉘 # 사용자 삭제 userdel # 사용자 설정 변경 설정이라 함은 홈 디렉터리, 비밀번호, 그룹명 등을 뜻한다. 실행 형식 : usermod 옵션 -d : 홈 데릭터리 변경 -g : 그룹 id 변경 -p : 비밀번호 변경 #..
리눅스에는 다양한 디렉터리가 많이 존재하는데 각각 무슨 역할을 하는지 적어볼 것이다. / : 루트 디렉토리로, 전체 파일 시스템의 시작점이다. /bin : 필수적인 사용자 바이너리가 저장된다. 예를 들어 ls, cp 등의 명령어가 여기에 포함된다. /sbin : 시스템 바이너를 저장한다. 시스템 관리와 관련된 명령어가 있다. /etc : 시스템의 설정 파일들이 위치한다. 사용자 계정 정보, 부팅 스크립트, 서비스의 설정 파일 등이 포함된다. /dev : 디바이스 파일들이 위치한다. 리눅스에서는 하드웨어 장치를 파일로 취급하기 때문이다. 예를 들어 /dev/sda 는 첫 번째 SATA 하드 드라이브를 나타낸다. /proc : 가상 파일 시스템으로써 실행 중인 커널 및 프로세스에 대한 정보를 제공한다. /v..
apt를 업데이트하는데 disco Release does not have a Release file 이라고 에러가 뜨는 경우엔 그 리눅스 버전이 오래되서 그렇다고 한다. 그래서 /etc/apt/sources에 들어가 sources.list file을 수정해야한다. deb http://old-releases.ubuntu.com/ubuntu disco main restricted deb http://old-releases.ubuntu.com/ubuntu disco-updates main restricted deb http://old-releases.ubuntu.com/ubuntu disco-security main restricted 뒤에 disco main restricted로 구별해서 archive. 이..