CS연구소👨💻 (22) 썸네일형 리스트형 [GIT] 깃 특정파일을 지워야할때 필요한 작업들 깃은 굉장히 쓰기 쉬운 형상관리 툴이다. 내 파일 전체의 상태를 매번 기억해 놓는 것이 아니라 커밋별로 변경내역을 저장해 놓기 때문에 가볍고 편하다.근데 이런 특성 때문에 올라가면 안되는 파일이 이미 커밋됐고 그걸 모른채로 개발을 하게되면 나중에 여러 문제가 생긴다.크게 두가지로 나눌 수 있다필요없는 파일이 올라간 경우올라가면 안되는 파일이 올라간 경우필요없는 파일이 올라가는 경우필요 없는 파일이 올라가는 경우는 비교적 대처하기 쉽다. 누가 파일을 지운 커밋을 올린뒤 머지 하기만 하면 된다. 예를 들어 이런 상황이있다.쓸데없는 파일 a가 시작지점에 모든 원격저장소 사용자들한테 뿌려졌어 내가 그걸 눈치채고 내 컴퓨터에서 내 브랜치에서 파일을 지우고 올려. 그런데 다른사람들은 그걸 눈치 못채서 다른 브랜치.. [미디어 서버] ffmpeg 미디어 서버 프로젝트 4월부터 현재까지 RTMP 프로토콜과 DIY 미디어 서버를 활용한 스트리밍 사이트 프로젝트를 만들고 있는데 워낙 배우는 것들이 많아서 정리를 해야할 것 같았다.왜 미디어 서버였나일단 내가 다른 프로젝트에서 WebRTC 기술인 OpenVidu를 사용해 본 적이 있어 관련된 공부를 해놨고 스트리밍도 비슷한점이 있을 것이라 판단해 어려우면서도 많이 배울 수 있는 프로젝트겠다! 라는 결론이 들어 제작을 시작했다처음 계획1. kurento를 이용한 제작일단 스트리밍 서비스 만들려고 인터넷에 구조나 실현방법을 검색해보면 미디어 서버가 많이 나온다. 스트리밍을 위해선 스트리머가 보내는 데이터를 인코딩등의 처리를 하는과정이 필요하고 이때문에 미디어 서버가 필요하기 때문이다. 그래서 이전에 kurento를 래핑한 Op.. [C++] 포인터와 스마트 포인터 지난번 참조와 포인터에서 이어진다. 최근 백준 문제를 풀면서 메모리 문제가 있었다. 한 객체를 두 개의 포인터로 지정해놓았는데. 다른 한 포인터로 delete를 해버리니 다른 포인터에 접근을 하는 것 자체만으로도 에러가 발생했다. 나중에 알고보니 이게 C++에서 흔히 일어나는 댕글링 포인터 문제라는걸 알았다. Dangling pointer는 메모리가 해제된 뒤에 그 메모리를 가리키는 포인터를 의미한다고한다. 지난번에 말한 것 처럼 C++은 다른 언어들에 비해 메모리를 수동으로 등록하고 해제하는게 가능한데 그러다보니 해제된 메모리에 접근하는 일들이 생기고 그것때문에 접근 위반 오류(segmentation fault)가 나는 것이다.수동 메모리 관리는 빠르지만 이런 문제들이 많다 이외에도 메모리 누수같은 .. [C++] 포인터, 참조 포인터는 C하면 가장 큰 특징으로 생각되는 용어다. 그만큼 질문도 많고 내용도 많다. 그러다보니 겉핥기만 허게되기 십상이다.우선 내가 여태까지 생각하던 포인터는 무엇인지 생각해 봤다.포인터는 데이터가 저장된 메모리를 가리키는 데이터인가포인터는 어떤 의미에선 참조와 비슷한 역할을 한다. 참조 역시 데이터가 저장된 메모리의 정보를 가지고 있다. 이렇게 되면 참조는 포인터와 대조군이다 그럼 참조랑 포인터는 정확히 뭐가 다를까.일단 내가 아는바에 따르면 참조는 선언과 초기화가 동시에 일어나며 한번 초기화하면 다시 초기화 할 수 없다.반면 포인터는 한번 변수를 초기화하고 다시 초기화 할 수 있으며 null값을 가질 수도 있다. G쌤한테 이걸 물어도 크게 틀렸다고 말하진 않았다. 그래도 궁금한건 왜 그런가였다. 아.. [미디어 서버] 대환장 미디어 서버 제작 프로젝트로 실시간 미디어 스트리밍 서비스를 만들고자 했다. 일단 처음엔 기세좋게 kurento서버를 미디어서버로 두고 통신을 하려했으나 문제가 한 두개가 아니었다. 일단 납기 문제가 제일 중요하기 때문에 빠르게 기존의 방식을 버리고 갈아타기로했다. 다른 방식이 예제가 많은 nginx방식인데 많이들 한다는 점에서 쉬운점이 있겠으나 한 번도 안써봤으니 예상못한 문제로 터져버릴 수도 있을 것 같았다. 그런 점에서 이번엔 하나하나 문제점을 써가면서 풀어가기로했음 일단 시나리오는 스트리머가 서버에 방을 만들겠다고 요청을 보냄서버가 채널을 열어줌스트리머가 자신의 미디어 내용을 보냄이렇게 하려했고 빠르게 G쌤과 대화했다나는 nginx로 실시간 미디어 서버를 하기로 결정했어내 지금 시나리오상으론 두개가 필요해 [스트리.. [C++] RTTI 한 개의 개념을 이해하기 위해선 절대적인 정의가 중요한게 아니라 상대적인 관계 속 위치가 중요하다.RTTI의 정의아예 RTTI에 대해서 아예 몰랐을 때 이렇게 정의해봤다RTTI는 실행시간에 일어나는 타입 결정자다. G쌤은 이 말에 대해서 틀렸다고 한다RTTI(Run-Time Type Information)는 "타입 결정자"라고 부르기보다는 "타입 식별자"나 "타입 정보 제공자"에 더 가깝습니다. "타입 결정자"라는 표현은 변수나 객체의 타입을 선언하거나 초기화할 때 사용되는 개념과 혼동될 수 있습니다. 예를 들어, 프로그램 코드에서 변수를 선언할 때 사용하는 타입(int, float 등)은 그 변수의 타입을 "결정"합니다.반면, RTTI는 프로그램이 실행 중일 때 객체의 타입 정보를 조회하거나, 객체 간.. 이전 1 2 3 다음