CS

· CS
사이드 프로젝트 회의를 진행하면서 TDD(Test Driven Development) 대한 이야기가 나왔고 TDD에 대해 아직 정확하게 사용해보지 못해봤고 들어만 봤기 때문에 어디까지 테스트를 진행하고 어떤 부분에 테스트를 도입해야 되는지 감이 잡히지 않아 여러 사이트와 영상을 들으면서 제가 느낀 부분에 대해 정리를 해놓은 글입니다. 많은 피드백 바랍니다. TDD란 TDD를 위키에 정의된 내용은 아래와 같이 정의가 되었습니다. 테스트 주도 개발(Test-driven development TDD)은 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나이다. 개발자는 먼저 요구사항을 검증하는 자동화된 테스트 케이스를 작성한다. 그런 후에, 그 테스트 케이스를 통과하기 위한 최소한의 코드를 생성..
· CS
넷플릭스, 티빙, 디즈니 플러스등 다양한 OTT 플랫폼 서비스 시장에 나오고 있다. 기존에 영상 매체를 사용하지 않던 몇몇 플랫폼 서비스들도 틱톡, 유튜브 쇼츠 등의 유행으로 짧은 영상 형태로 컨텐츠를 제공하는 것이 트렌드가 되면서 시장이 커지기 시작했고 더불어 스트리밍과 관련된 기술들이 많이 발전하게 되었다. 그런 스트리밍 기술들을 직접적으로 사용하기 전에 스트리밍 기술의 기반이라고 할 수 있는 스트리밍 프로토콜들을 알아보고 각각의 장단점을 살펴보고자 한다. 스트리밍 프로토콜의 작동 방식 스트리밍 프로토콜을 설명하기에 앞서서 프로토콜을 간단하게 설명하자면 컴퓨터끼리 송수신할 때 어떤 규칙으로 통신할 지 정의한 것이다. 예를들어 우리가 한국에 살면 한국어를 암묵적으로 쓰는 것처럼 스트리밍 프로토콜의 동작..
· CS
네트워크에 대해 공부하던 중 우리가 브라우저를 통해 웹사이트를 접속할때에 대략적인 부분을 알고 있지만 세세한 부분은 모르는 부분이 있다. 이번 기회를 통해 세세한 부분까지 다시 정리하고자 한다. 출처: https://github.com/JaeYeopHan/Interview_Question_for_Beginner/tree/master/Network 브라우저 우리가 위처럼처럼 네이버를 검색하게 되면 브라우저는 일단 해당 URL의 구조를 분석합니다. 분석한 의미에 따라 Http request 메시지를 만든다. 브라우저는 os를 통해 url을 IP로 변경하게 되는데 과정은 아래와 같다. 자신의 로컬 hosts 파일과 브라우저 캐시에 해당 URL이 존재하는지 확인. 존재하지 않는다면 해당 url을 DNS를 통해 ..
· CS
OAuth란 유저가 비밀번호나 아이디를 입력하지 않고 다른 웹사이트의 정보로 다른 웹사이트나 어플리케이션의 접근 권한을 부여할 수 있는 즉 웹사이트의 제한된 접근 권한 위임을 다른 웹사이트를 통해 할 수 있도록 만든 프로토콜이다. OAuth2 동작과정 client는 resourceServer에 oauth 사용 요청함 resource서버는 clientID와 client secret 정보를 줍니다. 이를 바탕으로 클라이언트에 client OAuth를 붙이고 나면 사용자가 이를 클릭할 수 있음 resource owner가 클라이언트 접속하면 어떤 정보가 필요하고 승인할지 되묻는다. 승인 버튼을 누르면 owner는 해당 정보를 제공하는 것을 허락할 것인지 묻는다. 승인이 완료되면 server는 클라이언트에게 c..
알고리즘 문제를 풀면서 두선을 교차해서 교차여부를 확인하는 문제가 나왔지만 풀다가 시간초과로 인해 풀지 못했지만 다음에 기회가 생기면 풀 수 있도록 하기위해 블로그에 기록해서 남겨야할 필요성을 느꼈다. CCW "평면에 놓여진 세 점의 방향관계를 구하는 알고리즘" 세 점이 주어져 있는 경우에, 이 점세개가 시계방향, 아님 반대 시계방향, 평행하는지 구하는 알고리즘으로 CCW 알고리즘은 시계반대방향일 때 양수, 시계방향일 때 음수, 평행일 때 0을 반환한다. 각각의 점을 P1(x1, y1) , P2(x2, y2), P3(x3, y3) 이라고 좌표를 두고, A,B,C 순서로 방향관계를 구한다면, CCW 함수의 return값은 (x2 - x1)*(y3 - y1) - (x3 - x1)*(y2 - y1) 이 된다 ..
· CS
OOP 프로그램이 대형화 되고 대량 생산이 필요하게 되면서 등장한 방법으로, 큰 프로그램을 작은 단위로 분리해서 객체들 단위로 파악함으로써 각각의 프로그램은 메시지를 주고받고 데이터를 처리 할 수 있게된다. 장점 프로그램을 작은 기능이나 목적에 따라 나뉘었기 때문에 프로그램이 유연하고 변경이 용이함 프로그램을 학습하는데 더욱 편리하고 개발과 보수하기가 더 편리해졌다. 코드가 간결해 지므로 직관적으로 코드를 분석할 수 있다는 장점이 있다. 단점 처리 시간이 절차 지향 프로그래밍 보다는 오래 걸린다. 프로그램 설계할 때의 전문성과 많은 시간을 요구함. OOP 5대원칙 S(SRP : Single Responsibility Principle, 단일 책임 원칙): 한개의 클래스는 하나의 책임만 가져야함, 클래스를..
ri5
'CS' 카테고리의 글 목록 (2 Page)