DEV/Backend

· DEV/Backend
직렬화 (serialization) Java의 직렬화는 객체를 파일에 저장하거나 네트워크를 통해 전송할 수 있는 바이트 스트림으로 변환하는 프로세스입니다. 직렬화된 바이트 스트림을 다시 개체로 변환하는 역과정을 역직렬화라고 합니다. Java에서 직렬화는 클래스가 직렬화될 수 있음을 나타내는 Serializable 인터페이스와 보조 스트림를 사용하여 구현됩니다. 정확히는 Serializable 인터페이스는 클래스를 직렬화 가능으로 표시하는 데 사용되지만 실제 직렬화 프로세스는 개체를 읽고 쓸 때 추가 기능을 제공하는 보조 스트림인 ObjectOutputStream 및 ObjectInputStream 클래스를 통해 수행됩니다. ObjectInputStream과 ObjectOutputStream 생성자 설명 ..
· DEV/Backend
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
객체 지향 프로그래밍(Object-Oriented Programming, OOP) Intro. 프로그래밍 패러다임을 조곰 알고가자 객체 지향 프로그래밍(Object-Oriented Programming, OOP)과 절차 지향 프로그래밍(Procedural Programming)은 두 가지 다른 프로그래밍 패러다임입니다. 절차 지향 프로그래밍 순차적인 프로그래밍 접근 방식 프로그램이 일련의 절차 또는 단계에 따라 실행 이러한 절차는 종종 함수 또는 프로시저로 묶임 절차 지향 프로그래밍의 주요 목표는 프로그램의 흐름을 제어 Ex. C 언어 객체 지향 프로그래밍 프로그램을 여러 개의 독립적인 객체로 구성하는 프로그래밍 접근 방식 객체는 데이터와 이 데이터를 조작하는 메소드를 포함 객체 지향 프로그래밍의 주요 ..
· DEV/Backend
txProcess 분석 백엔드 보일러 플레이트를 만들고 있는데, 옆에 계신 개발자 분이 자신이 짠 코드를 보여주셨다 처음엔 보고 이해가 안되었는데 보다보니, 놀랍다. 내가 갈 길이 멀다 즉 함수 명 그대로 트랜잭션 프로세스만 담당하는 함수이다 이 함수가 존재함으로써 안전하게 트랜잭션 처리가 되고 있음이 자명해졌다 또한 트랜잭션 처리를 하나로 묶음으로써 코드도 간결해졌다 Contents export const txProcess = async (callback: (manager: EntityManager) => Promise) => { const queryRunner = _datasource.createQueryRunner(); await queryRunner.connect(); await queryRunn..
· DEV/Backend
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
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
WebRTC Signaling 프로세스 - 기초 Intro. WebRTC는 완전 P2P 기술이라, 서로 다른 네트워크에 있는 2개의 디바이스들을 연결하기 위해, 디바이스들의 위치와 미디어 포맷 협의가 필요하다 이 과정을 시그널링이라고 한다. 혼자 프로그램을 만들다보니, 디렉터리 구조나 함수 등을 모듈화하는데에 고민이 있고, 시그널링 관련 로직 처리에 대한 지식이 부족하기에 기술한다 Server 측 준비 사항 WebRTC 자체에서는 시그널링에 관한 전송 메커니즘을 제시하지 않으므로, 개발자가 취향껏 시그널링 서버를 통해 시그널링 관련 정보를 전달하면 된다. 서버의 역할 새로운 유저 등록, username 세팅 ,채팅 메세지 전송 등등 시그널링과 ICE Negotiation 특정 유저에게 메시지를 보낼 수 ..
· DEV/Backend
WebRTC 통신 설정하는 방법 Intro. 왜 궁금한가? socket.io로 방 관리를 하고, 시그널링 서버와 미디어 서버를 배포했다. fastify로 서버 인스턴스도 만들고 말이다. 그런데 막상 시그널링 코드를 짜려고 보니, 모르는 것 투성이라 기록한다. 일반적인 연결 흐름은 어떻게 되는가? 사용자 연결 가장 먼저 해야 할 일은 사용자 간의 연결이다. 가장 쉬운 방법은 두 사용자가 동일한 웹 사이트를 방문하는 것이다. 웹 페이지는 각 브라우저를 판별하고, 방 번호나 유저 ID 등을 발급함으로써 유저를 특정한다. 그 후 socket.io 등으로 시그널링 서버에 연결한다. 시그널링 시작 동일한 웹 페이지에 사용자가 접근했으니 이제 시그널링 메시지만 교환하면 된다. 시그널링 메세지란? 단순히 브라우저 사이..
· DEV/Backend
WebRTC Overview WebRTC(Web Real Time Communication)이란 중간자 없이 브라우저 간에 오디오나 영상 미디어를 포착하고, 스트림 등의 임의 데이터를 교환할 수 있도록하는 기술 제 3자 소프트웨어 설치 없이 종단 간 데이터 공유와 화상 회의를 가능하게 한다 WebRTC 사용법 RTCPeerConnection : 두 피어 간의 커넥션을 위한 인터 페이스 커넥션이 열리면 미디어 스트림/데이터 채널들울 커넥션에 연결할 수 있다. 시그널링을 하는 이유는 RTCPeerConnection에 사용할 정보를 얻기 위함 프로토콜,채널,코덱 및 형식, 데이터 전송 방법 등등 MediaStreamTrack : 미디어 스트림 정보를 다루는 인터페이스 Object로 음성,영상,텍스트를 포함하는..
· DEV/Backend
Fastify - Property ‘view’ Does Not Exist on Type view를 ejs 렌더링을 하려는데, 패키지를 받았음에도 에러가 발생하였다 해결 방법 fastify 미들웨어로 view 엔진을 등록하면 된다. 프로젝트 구조를 나누면서, fastify 인스턴스에 view를 넣지 않아 발생한 문제였다. yarn add @fastify/view import {FastifyInstance} from "fastify"; import fastifyView from "@fastify/view"; import ejs from "ejs"; export default async function (fastify: FastifyInstance) { fastify.register(fastifyView, {..
berom
'DEV/Backend' 카테고리의 글 목록 (5 Page)