본문 바로가기

분류 전체보기33

DI(Dependency Injection)이 뭘까? 이번 글에서 DI(Dependency Injection) 의존성 주입에 대해 설명하도록 하겠습니다. DI란? DI는 Dependency Injection에 줄임말로 의존성 주입이란 뜻을 가지고 있습니다. 의존성 주입을 알기 전에 의존성이 무엇인지에 대한 개념을 먼저 짚고 넘어가야 합니다. Depencency(의존성) 이란 A 가 B에 의존하면 B 가 변경되었을 때 A에게 영향을 미친다. 예시를 들자면 요리사가 레시피에 의존하고 있을 때 레시피가 변경되면 요리사에게 영향을 끼친다는 것을 생각하면 이해하기 쉬울 것 같습니다. 코드적 관점으로 보면 A 클래스에서 B 클래스를 의존하고 있다면 B 클래스의 기능 혹은 변경사항이 있다면 그 영향이 A 클래스에게 미친다고 이해할 수 있습니다. 코드를 보면서 설명하도록.. 2024. 1. 10.
MVC,MVP,MVVM 디자인 패턴 이번엔 디자인 패턴 중 MVC, MVP, MVVM에 대해서 알아보려 합니다. 일단 먼저 디자인 패턴이 무엇 인지에 대해 알아보도록 하겠습니다. 디자인 패턴이란? 소프트웨어 개발 과정에서 발견된 설계의 노하우를 축적하여 그 방법에 이름을 붙여서 이후에 재사용하기 좋은 형태로 특정 규약을 만들어서 정리한 것입니다. 표준화된 방법을 사용하다 보니 개발자들간의 협업 또한 수월해지고 각 역할을 나누어놨기 때문에 유지보수하기도 수월하다는 장점이 있습니다. Presentation Logic 화면상의 디자인 구성을위한 로직을 일컫는 말입니다. Business Logic 원하는 값은 얻기 위해 사용자 눈에 보이지 않는 내부 로직을 일컫는 말입니다. MVC (Model View Controller) 패턴 MVC 디자인 패.. 2023. 8. 18.
TCP 에 대해 ( 3way handshake / 4way handshake) TCP / IP의 역사 인터넷의 시초인 ARPANET이 있었는데 ARPANET은 PC A에서 PC B에게 데이터를 전달하기 위해 전달할 경로를 하나를 정해놓으면 그 경로로만 데이터를 전달하게 되는데 만약 이 경로가 망가지게 되면 데이터를 전달할 수 없었습니다. 이 단점을 보완해 경로를 설정해 데이터를 전달하는 방식이 아닌 핵폭탄이 떨어져도 다른 경로가 있다면 데이터 전송이 가능한 패킷 교환 방식을 사용해 데이터를 전달하는 프로토콜을 만들게 된것 입니다. TCP(Transmission Control Protocol)는 인터넷 프로토콜 스위트 중 하나로, IP(Internet Protocol)와 함께 인터넷에서 가장 많이 사용되는 프로토콜 중 하나입니다 그래서 TCP/IP 라 널리 불립니다. TCP는 데이터.. 2023. 8. 13.
WebRTC 란? WebRTC 란 무엇인가 Web Real-Time Communications의 약자로 별도의 소프트웨어 없이 음성, 영상 미디어 같은 데이터를 브라우저끼리 주고받을 수 있게 만든 기술을 뜻합니다. WebRTC 데이터 교환 클래스 MediaStream 카메라와 마이크 등의 미디어 스트림에 접근할 수 있게 해주는 클래스입니다. 브라우저에서 비디오 및 오디오 데이터를 스트림으로 캡처하고, 다른 피어와 공유할 수 있도록 도와줍니다. RTCPeerConnection 암호화와 대역폭 관리를 수행하며, 오디오와 비디오 연결을 설정하는 클래스입니다. 피어 간에 데이터 스트림을 교환하기 위한 P2P(피어 투 피어) 연결을 생성하고 관리합니다. RTCDataChannel 일반적인 데이터를 P2P(피어 투 피어) 통신을 통.. 2023. 8. 8.
#안드로이드 API 오류 Firebase와 Daum map api 를 사용하는 중인데 갑자기 다음 지도를 못 불러오고 Firebase 전화번호 인증이 되지 않는 오류가 있었다. 어떻게 해결 해야 하지 생각하다가 처음엔 네트워크가 문제인가 생각하면서 데이터 테더링을 사용해 다시 시도 해봤는데 실패했다.. 하나하나 해결해보자 생각해서 일단 firebase 전화번호 인증부터 해결 시도..! 하나하나 에러 코드를 보는중 처음 보는 에러코드를 봣는데 이런 에러를 뱉고있었다. 해석 하니 앱 식별자가 없다는거다. 환경이 바뀌면서 sha-1이 바뀌어서 api 요청을 못하고 있었던거였다!! 그래서 firebase console을 접속해 sha-1 을 바꾸어줬더니 정상적으로 요청하면서 오류를 해결했다. 똑같이 DaumMap 도 Hashkey를 변.. 2023. 5. 20.