전체 글
![[AWS] EC2 Instance에 MariaDB 설정하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDK0C7%2FbtrXaETzjNv%2FprPKfq6r1spqTPiy5pkYz1%2Fimg.png)
[AWS] EC2 Instance에 MariaDB 설정하기
서버 접속하기 ssh -i I8A704T.pem ubuntu@i8a704.p.ssafy.io 22(ssh), 80(http), 443(https), 8080 이외의 포트는 외부에서 막혀있음 이게 외부에서 접근할 때 4개만 제한된다는거지 서버 내부에서 어떤 포트를 쓰는지는 상관없음 ex) mariaDB가 3306사용하는데 서버 내부에서는 어떤 포트 쓰는지 상관없으니까 3306 써도된다는 의미 sudo apt-get update sudo apt-get upgrade sudo apt install git sudo apt install docker.io #서버 시작시 도커가 시작되게 함 sudo systemctl start docker sudo systemctl enable docker #docker는 기본적으..
[SpringBoot] CORS 설정
CORS(Cross Origin Resource Sharing) Origin 이 다른 경우에 자원을 주고 받을 수 있도록 하는 http 통신 프로토콜 요청하는 클라이언트와 응답해야하는 서버의 Origin 이 다른 경우 CSRF(Cross-Site Request Forgery)나 XSS(Cross-Site Scripting) 같은 공격에 취약하기 때문에, 특정 Origin 과 request method 에만 요청을 허용하기 위함이다. CORS 정책 설정은 Spring MVC 와 Spring Security 두 프레임워크에서 모두 설정이 가능하다. 둘 중 하나만 설정해도 충분한데, 가장 중요한 점은 Spring Security 가 가장 앞단에서 사용자 요청을 처리하기 때문에, Spring Security 에..
![[CS] HashTable & Set & Map에 대해](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkUBXM%2FbtrWQH5bDca%2Fph1eCMXqXXjAwxkcK2oHfK%2Fimg.jpg)
[CS] HashTable & Set & Map에 대해
Set 집합 순서가 없다. 집합이므로 중복된 데이터가 들어갈 수 없다. 중복되지 않는 숫자(데이터)를 구할 때 사용하면 유용하다. 순서가 없고, 중복을 허용하지 않는다 HashSet 순서를 보장 하지 않는 set TreeSet Binary Search Tree 구조 추가와 삭제에는 시간이 좀 더 걸리지만, 정렬 및 탐색에 성능이 좋음 오름차순으로 데이터를 저장 TreeSet set1 = new TreeSet();//TreeSet생성 Map Key와 Value로 이뤄진 데이터의 집합 Key의 중복은 허용되지 않고, Value의 중복은 가능하다. HashMap 순서를 보장하지 않는 map, Key와 Value로 null이 허용된다. HashTable 동기화를 지원하는 map, Key와 Value로 null이..

Git Flow 전략에 대해
# 브랜치 확인 git branch # 브랜치 전환하기 git checkout # 브랜치 작성과 체크아웃을 한번에 git checkout -b # 브랜치 삭제 git checkout -d git branch -d # 원격저장소의 브랜치 삭제하기 명령어 git push origin -d # 생성한 branch를 origin Repository에 push하기(이래야 완전한 브랜치 완성) git push --set-upstream origin # 특정 branch의 내용만 로컬로 clone 하기 git clone -b 현재 위치해있는 로컬 디렉터리에서 브랜치를 만들고 push를 하게되면 현재 값들이 branch에 저장된다Ex) master - test1.txt, develop - test2.txt가 있는데 현..
![[CS]가상 메모리, 페이징과 세그멘테이션에 대해](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNr4N3%2FbtrVzl3xqAq%2FanYKj93KR85L727AuIj8E1%2Fimg.png)
[CS]가상 메모리, 페이징과 세그멘테이션에 대해
메모리 관리 컴퓨터 내의 한정된 메모리를 극한으로 활용해야 하기 때문에 가상 메모리 운영체제 관련 프로세스만 몇GB가 넘을텐데, 스마트폰에 앱 하나 실행하는 것도 아닌데 물리 메모리의 크기에 한계를 극복하기 위한 기술 실제 메모리 주소가 아닌 가상의 메모리 주소를 주는 방식으로 사용 Swapping 가상 메모리에는 존재하지만 RAM에는 없는 데이터나 코드에 접근할 땐 오류가 발생하게 되는데, 이때 메모리에서 지금 당장 사용하지 않은 영역을 저장공간으로 옮기고 저장공간의 일부분을 마치 메모리처럼 불러와 쓰는 것 말 그대로 메모리와 저장공간을 서로 Swap해서 쓰는 기술 메모리 할당 메모리에 프로그램을 할당할 때는 시작 메모리 위치, 메모리 할당 크기를 기반으로 할당 연속 할당 그냥 프로세스를 순차적으로 메..

Kurento와 Openvidu에 대해
여러 미디어 서버 중 Janus, Jitsi, Kurento, mediasoup, Medooze가 있었는데 kurento를 사용하기로 했다 ==> 관련 레퍼런스가 많아 사용하기 쉬울 것 같아서 미디어 서버를 왜 쓸까? 피어 투 피어로 설정하게 되면 시청자가 몰리게 될 떄 호스트의 컴퓨터가 터지지 않을까? 그래서 씀 kurento 자체를 쓰려고 하니 설정할께 너무 많고 사용하기 힘들어서 관련 프레임워크를 알아보다가 openVidu를 알게됨 OpenVidu Openvidu는 모든 하위 수준의 작업들을 래핑해서 숨기고 있다. 그래서 개발자는 WebRTC, ICE 후보, 미디어 서버와 같은 까다롭고 복잡한 구현 사항에 대해 관여하지 않아도 될 정도로 간단한 API를 제공한다. 내부적으로는 미디어 파이프라인을 생..

WSL1을 WSL2로 업데이트 하는 방법
wsl 1을 wsl 2로 업데이트를 하고 이미 설치가 되어 있는 ubuntu18.04를 wsl 버전 2로 업데이트를 하는 것을 목표로 한다 1. Linux용 Windows 하위 시스템 사용 PowerShell 관리자 권한으로 실행 후 해당 명령어를 이용해서 하위 시스템 관리 도구 설치 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 2. Virtual Machine 기능 사용 PowerShell에서 Virtual Machine 플랫폼 옵션 기능 사용 설정 후 컴퓨터 재시작 dism.exe /online /enable-feature /featurename:VirtualMachinePl..