DEV/Backend68 Kurento Media Server Local 설치하는 방법 Kurento Media Server Local 설치하는 방법 GnuPG 설치 터미널을 열고 다음 명령을 실행하여 GnuPG가 설치되었는지 확인합니다. sudo apt-get update ; sudo apt-get install --no-install-recommends gnupg Kurento 저장소 추가 다음으로 시스템 구성에 Kurento 리포지토리를 추가해야 합니다. 다음 명령을 실행합니다. # Get DISTRIB_* env vars. source /etc/upstream-release/lsb-release 2>/dev/null || source /etc/lsb-release # Add Kurento repository key for apt-get. sudo apt-key adv \ --keys.. DEV/Backend 2023. 5. 15. Tomcat Tomcat Tomcat이라고도 하는 Apache Tomcat은 Apache Software Foundation에서 개발한 오픈 소스 웹 서버 및 Servlet 컨테이너입니다. Tomcat은 Java Servlet, JSP(JavaServer Pages) 및 EL(Java Expression Language)을 포함하여 Java 플랫폼의 여러 핵심 기술을 구현합니다. Java 코드를 실행할 수 있는 “순수한 Java” 웹 서버 환경을 제공합니다. 톰캣의 특징 서블릿 컨테이너 본질적으로 Tomcat은 웹 애플리케이션에서 요청과 응답을 처리하는 작은 서버측 애플리케이션인 Java 서블릿을 실행하는 서블릿 컨테이너입니다. JSP 엔진 Tomcat에는 실행을 위해 JSP를 서블릿으로 변환한 다음 컴파일하고 나중.. DEV/Backend 2023. 5. 13. AWS의 서버 종류 AWS의 서버 AWS 서버를 보다보면, EC2와 S3 등이 보입니다. 사실 서버 인스턴스를 생성해서 사용했었지만 정확히 어떤 것을 목적으로 만들어진 서비스인지 모르고 사용해서 정리합니다 Amazon EC2 - 크기 조정이 가능한 컴퓨팅 용량을 클라우드에서 제공하는 웹 서비스 Amazon S3 - 확장성, 가용성, 내구성을 가진 데이터 저장 공간(Simple Storage)을 제공. Amazon RDS - 관계형 DB 관리 서비스. 관계형 DB(MySQL, Oracle 등)를 모니터링, 주기적 백업 S3란 무엇인가요? Amazon S3(Simple Storage Service)는 인터넷 데이터를 위한 안정적이고 빠르며 저렴한 데이터 스토리지 인프라를 제공하는 개체 스토리지 서비스입니다. 사용자는 웹 어디에.. DEV/Backend 2023. 5. 10. Ubuntu PostgreSQL 원격 접속시 발생하는 에러 해결 방법 Connection to IP Address Refused. Check That the Hostname and Port Are Correct PostgreSQL을 학교에서 대여 받은 NHN 클라우드에 배포해서 연결하려고 했더니 에러가 발생 하였습니다. TypeORM으로 Ubuntu의 PostgreSQL의 접근하는 상황이었습니다 먼저, 대여한 클라우드의 기본 PostgreSQL 포트인 5432를 열어주었습니다 해결 과정 - PostGreSQL 접근 제어 이슈 방화벽을 해제했음에도 여전히 접근 할 수 없었습니다. 찾아보니 기본적으로 PostgreSQL에서 접근 제어를 하고 있었습니다 이를 해결하기 위해 먼저 설정 파일들이 몰려 있는 쿼리 파일 구성 위치를 찾습니다 sudo -u postgres psql SH.. DEV/Backend 2023. 5. 9. 직렬화 (serialization) - 🐥 카카오 테크 캠퍼스 직렬화 (serialization) Java의 직렬화는 객체를 파일에 저장하거나 네트워크를 통해 전송할 수 있는 바이트 스트림으로 변환하는 프로세스입니다. 직렬화된 바이트 스트림을 다시 개체로 변환하는 역과정을 역직렬화라고 합니다. Java에서 직렬화는 클래스가 직렬화될 수 있음을 나타내는 Serializable 인터페이스와 보조 스트림를 사용하여 구현됩니다. 정확히는 Serializable 인터페이스는 클래스를 직렬화 가능으로 표시하는 데 사용되지만 실제 직렬화 프로세스는 개체를 읽고 쓸 때 추가 기능을 제공하는 보조 스트림인 ObjectOutputStream 및 ObjectInputStream 클래스를 통해 수행됩니다. ObjectInputStream과 ObjectOutputStream 생성자 설명 .. DEV/Backend 2023. 5. 3. java error release version 17 not supported Java Error Release Version 17 Not Supported Intro. 왜 발생했는가? 강의에서 11 LTS 버전과 Spring boot 3.0 이전 버전으로 설치하라고 했는데 내가 잘못 설치했다 프로젝트에서 설정된 SDK는 11인데 인텔리제이가 pom.xml에 JDK 버전을 17로 설정해뒀었다 해결 방안 이 문제를 해결하려면 프로젝트 설정에서 모듈 SDK를 Java 17로 업그레이드하거나 소스 코드의 버전을 Java 11로 낮춰야 합니다. Java 17로 업그레이드하기 Java 17을 설치합니다. 설치 방법은 Java 다운로드 페이지(https://www.oracle.com/java/technologies/javase-jdk17-downloads.html)를%EB%A5%BC) 참조하.. DEV/Backend 2023. 4. 23. 객체 지향 프로그래밍(Object-Oriented Programming, OOP) 객체 지향 프로그래밍(Object-Oriented Programming, OOP) Intro. 프로그래밍 패러다임을 조곰 알고가자 객체 지향 프로그래밍(Object-Oriented Programming, OOP)과 절차 지향 프로그래밍(Procedural Programming)은 두 가지 다른 프로그래밍 패러다임입니다. 절차 지향 프로그래밍 순차적인 프로그래밍 접근 방식 프로그램이 일련의 절차 또는 단계에 따라 실행 이러한 절차는 종종 함수 또는 프로시저로 묶임 절차 지향 프로그래밍의 주요 목표는 프로그램의 흐름을 제어 Ex. C 언어 객체 지향 프로그래밍 프로그램을 여러 개의 독립적인 객체로 구성하는 프로그래밍 접근 방식 객체는 데이터와 이 데이터를 조작하는 메소드를 포함 객체 지향 프로그래밍의 주요 .. DEV/Backend 2023. 4. 14. 내가 본 멋진 코드 txProcess 분석하기 txProcess 분석 백엔드 보일러 플레이트를 만들고 있는데, 옆에 계신 개발자 분이 자신이 짠 코드를 보여주셨다 처음엔 보고 이해가 안되었는데 보다보니, 놀랍다. 내가 갈 길이 멀다 즉 함수 명 그대로 트랜잭션 프로세스만 담당하는 함수이다 이 함수가 존재함으로써 안전하게 트랜잭션 처리가 되고 있음이 자명해졌다 또한 트랜잭션 처리를 하나로 묶음으로써 코드도 간결해졌다 Contents export const txProcess = async (callback: (manager: EntityManager) => Promise) => { const queryRunner = _datasource.createQueryRunner(); await queryRunner.connect(); await queryRunn.. DEV/Backend 2023. 4. 9. PostgreSQL 터미널에서 접속하는 방법 PostgreSQL 접속하는 방법 터미널이나 명령 프롬프트를 열고 다음과 같이 입력합니다. psql -U [username] -h [hostname] -p [port] -d [database_name] Ex. psql -U berom -d postgres 예를 들어, 사용자 이름이 postgres, 호스트 이름이 localhost, 포트 번호가 5432, 데이터베이스 이름이 mydb인 경우 다음과 같이 입력합니다. psql -U postgres -h localhost -p 5432 -d mydb 비밀번호를 입력하라는 메시지가 나타나면 입력하고 Enter를 누릅니다. DEV/Backend 2023. 4. 5. PostGreSQL 모든 권한 부여하는 방법 PostGreSQL 모든 권한 부여하는 방법 먼저, PostgreSQL 쉘에 접속합니다. psql -U postgres -W -h localhost 데이터베이스를 생성합니다. CREATE DATABASE your_database_name; 새로운 사용자를 생성합니다. CREATE USER your_user_name WITH PASSWORD 'your_password'; 사용자에게 데이터베이스에 대한 모든 권한을 부여합니다. GRANT ALL PRIVILEGES ON DATABASE your_database_name TO your_user_name; 사용자에게 데이터베이스 생성 권한을 부여합니다. ALTER USER your_user_name CREATEDB; 이제 사용자는 모든 권한이 부여된 상태에서 데.. DEV/Backend 2023. 4. 2. WebRTC Signaling 프로세스 - 기초 WebRTC Signaling 프로세스 - 기초 Intro. WebRTC는 완전 P2P 기술이라, 서로 다른 네트워크에 있는 2개의 디바이스들을 연결하기 위해, 디바이스들의 위치와 미디어 포맷 협의가 필요하다 이 과정을 시그널링이라고 한다. 혼자 프로그램을 만들다보니, 디렉터리 구조나 함수 등을 모듈화하는데에 고민이 있고, 시그널링 관련 로직 처리에 대한 지식이 부족하기에 기술한다 Server 측 준비 사항 WebRTC 자체에서는 시그널링에 관한 전송 메커니즘을 제시하지 않으므로, 개발자가 취향껏 시그널링 서버를 통해 시그널링 관련 정보를 전달하면 된다. 서버의 역할 새로운 유저 등록, username 세팅 ,채팅 메세지 전송 등등 시그널링과 ICE Negotiation 특정 유저에게 메시지를 보낼 수 .. DEV/Backend 2023. 3. 1. Webrtc 통신 방법 WebRTC 통신 설정하는 방법 Intro. 왜 궁금한가? socket.io로 방 관리를 하고, 시그널링 서버와 미디어 서버를 배포했다. fastify로 서버 인스턴스도 만들고 말이다. 그런데 막상 시그널링 코드를 짜려고 보니, 모르는 것 투성이라 기록한다. 일반적인 연결 흐름은 어떻게 되는가? 사용자 연결 가장 먼저 해야 할 일은 사용자 간의 연결이다. 가장 쉬운 방법은 두 사용자가 동일한 웹 사이트를 방문하는 것이다. 웹 페이지는 각 브라우저를 판별하고, 방 번호나 유저 ID 등을 발급함으로써 유저를 특정한다. 그 후 socket.io 등으로 시그널링 서버에 연결한다. 시그널링 시작 동일한 웹 페이지에 사용자가 접근했으니 이제 시그널링 메시지만 교환하면 된다. 시그널링 메세지란? 단순히 브라우저 사이.. DEV/Backend 2023. 2. 28. 이전 1 2 3 4 5 6 다음