본문 바로가기
728x90

전체 글89

디자인패턴 - 싱글톤(Singleton) 패턴 공부하면서 느낀 정의와 코드 작성! 해당글에서 공부하면서 오답을 알게 되었다면 글을 업데이트 할 예정입니다. 싱글톤(Singleton) 패턴의 정의는 단순하다. 객체의 인스턴스가 오직 1개만 생성되는 패턴을 의미한다. 싱글톤 패턴을 사용하는 이유나 주의할 점은 조금 후에 살펴보기로 하고, 어떻게 생겼는지 그 모습을 책에서 나온 코드로 먼저 만나보자. class Singleton { private static instance: Singleton; private constructor() { } public static getInstance(): Singleton { if (!Singleton.instance) { Singleton.instance = new Singleton(); } return Single.. 2024. 2. 15.
디자인 패턴 디자인 패턴이란? 디자인 패턴은 소프트웨어 디자인 과정에서 자주 발생하는 문제들에 대한 전형적인 해결책 입니다. 이는 코드에서 반복되는 디자인 문제들을 해결하기 위해 맞춤화할 수 있는 미리 만들어진 청사진과 비슷하다고 한다. 쉽게말해서 sw개발에 있어서 많은 경험이 있었고 그 경험을 토대로 잘 만들어진 템플릿 같은 느낌으로 받아들여진다. 디자인 패턴을 공부하는 이유? 사실 패턴을 알지 못해도 개발하는데엔 문제가 없다고 생각이 드는데, 실제로 많은 프로그래머가 패턴에 대한 지식없이 업무를 수행하기도 하고 또 자신도 모르는 사이에 일부 패턴들을 구현하고 있을 수도 있다. 그럼에도 패턴을 공부하는 이유는 디자인 패턴은 소프트웨어 디자인의 일반적인 문제들에 대해 시도되고 검증된 해결책들을 모은 것입니다. 이러한.. 2024. 2. 15.
Reactjs code snippets을 사용해서 자동 템플릿을 설정해보자 유튜브를 보다가 한 유튜버가 fc를 입력했을뿐인데 컨포넌트 형식이 툭 떨어지는것을 보고 이거다 싶어서 검색을 해봤다. 검색해보다가 vscode 확장프로그램인 Reactjs code snippets를 많이 사용하는것을보고 바로 설치했다. 설치를 하였다고 내가 원하는 형식으로 바로 툭떨어지는 것이아니라 내가 하고싶은 형태에 따라 따로 커스텀을 해줘야했는데 vscode 에서 command + shift + p를 누르고 snippets을검색하면 위와같이 사용자 코드 조각 구성이라고 나온다 이걸 선택하면 종류별로 많이 나오게되는데 나는 컨포넌트를 만들고싶어서 typescriptreact.json 파일을 선택했다. 맨처음 선택하게된다면 이렇게 모두 주석처리가 되어있는것으로 보이게 되는데 여기서 템플릿 설정을 하면된.. 2023. 6. 11.
[webRTC] H264코덱을 사용해보자 본 테스트는 Firefox와 Chrome을 기준으로 작성하였습니다. 기본적으로 Chrome과 Firefox의 동영상 코덱은 VP8코덱을 디폴트 값으로 가지고 있다. 어떤 코덱을 디폴트로 가지고있는지는 sdp를 생성하고 그안의 정보를 확인하면 알 수 있는데 바로 이부분이다. m=video 9 UDP/TLS/RTP/SAVPF문우 뒤의 숫자 순서대로 우선순위를 가지며 사용가능한 코덱을 나열해 놓은 것이다. 해당 번호가 어떤 코덱인지는 스크롤을 내리면 아래쪽에 나와있다. a=rtpmap 이라는 문구를 찾아서 보면 FF기준 제일 우선순위가 높던 120번이 VP8코덱임을 알 수 있었다(크롬도 마찬가지로 내려보면 96번은 VP8코덱으로 나와있다). 이제 우선순위가 높은 코덱을 H264로 변경해보자. 방법은 생각보다 .. 2022. 6. 9.
[webRTC, React, TypeScript] 간단하게 1:1 화상 통화를 만들어보자 webRTC에 대한 개념은 다른글에 설명을 하였습니다. 개념이 필요하시다면 하단글 먼저 읽어 주세요 https://kbs77.tistory.com/94 Web RTC? WebRTC(Web Real-Time Communications)란, 웹 어플리케이션(최근에는 Android 및 IOS도 지원) 및 사이트들이 별도의 소프트웨어 없이 음성, 영상 미디어 혹은 텍스트, 파일 같은 데이터를 브라우져끼리 주고 받 kbs77.tistory.com 어떻게 구현해야 할까 ? Peer A가 먼저 Room에 들어와있는 상태이고, Peer B가 이후에 Room에 접속을 하였다고 가정해봅시다. ㅁ 먼저 PeerA는 브라우저에서 미디어 스트림을 받습니다.(getUserMedia) stream을 등록합니다(addStream x.. 2022. 5. 27.
MQTT MQTT(Message Queueing Telemetry transport)의 약자로 국제 표준화된 발행 - 구독 기반의 메시지 송수진 프로토콜 입니다. MQTT는 M2M, IoT를 위한 프로토콜로써 최소한의 전력과 패킷량으로 통신하는 프로토콜 입니다. 다라서 IoT와 모바일 어플리케이션 등의 통신에 매우 적합한 프로토콜 입니다. MQTT는 HTTP, TCP등의 통신과 같이 클라이언트-서버 구조로 이루어지는 것이 아닌, Broker, Publisher, Subscriber 구조로 이루어집니다. Publisher는 Topic을 발행하고, Subscribers는 Topic에 구독합니다. Broker는 읻르을 중계하는 역할을 하며, 단일 Topic에 여러 Subscriber가 구독할 수 있기 때문에 1 : N.. 2022. 5. 19.
728x90