[PCMC의 기록] (84) 썸네일형 리스트형 Team formation / 코딩테스트 문제 난이도 : Medium 특징 : Priority Queue 요구사항 입출력 예시 Hackerrank invitation으로 온 문제라서.. 문제에대한 링크를 걸 수가 없다. Sample Input 1 1. 첫 번째 줄에는 배열의 크기 값 2. 두 번째 줄 이후는 배열의 각 요소이다. 3. 마지막에서 2번째 줄은 만들어야하는 팀원의 수 4. 마지막 줄은 Manager가 팀원을 뽑기 위해서 배열에서 선택하는 그룹의 크기를 의미한다. 단순히 구현으로만 생각하면 생성하는 그룹마다, python의 max 내장 함수로 처리하면 되겠지만 어느정도 입력이 커지면 Timeout이 나버린다. 개인적으로 2가지 성능에 큰 영향을 미치는 부분은 1. Manager가 선택한 그룹에서 최댓값을 찾는 코드 2. 선택한 두 가지 그.. Regular Expression / Regex / 정규표현식 정규표현식을 단계적으로 학습하기 매우 좋은 사이트 https://regexone.com/lesson/introduction_abcs RegexOne - Learn Regular Expressions - Lesson 1: An Introduction, and the ABCs Regular expressions are extremely useful in extracting information from text such as code, log files, spreadsheets, or even documents. And while there is a lot of theory behind formal languages, the following lessons and examples will explore th.. DHCP, DNS 본 포스팅은 개념에 대한 복습을 위해 작성되었습니다. 잘못된 내용은 댓글이나 이메일로 알려주시면 감사하겠습니다. DHCP 동적 호스트 설정 프로토콜이다. 한 네트워크 안에서 필요한 IP를 할당/분배 해주는 프로토콜로, 현재는 DHCP라고 하지만 이전 에는 같은 기능으로 RARP / BOOTP 라는 이름으로 사용됐다. 물론, 기능도 DHCP로 오면서 추가되고 많이 다른 모습이지만, 그 맥락은 같이 하고 있다. 어플리케이션 계층의 프로토콜인 만큼 DHCP는 매우 직관적으로 동작한다. IP들을 관리하는 DHCP 서버가 존재하고, IP가 필요하다면 이 서버에 붙어서 IP를 얻어가는 일련의 과정을 거치면 된다. 좀 더 자세하게 확인 해보자. Main Success Secnario DHCP Discover Clie.. TCP Retransmission 본 포스팅은 개념에 대한 복습을 위해 작성되었습니다. 잘못된 내용은 댓글이나 이메일로 알려주시면 감사하겠습니다. TCP Retransmission 사실상 TCP 이야기가 나오면 항상 메인 토픽으로 다뤄지는 이야기가 있다. 바로 재전송 (Retransmission)에 관한 내용이다. TCP는 송신에 대한 응답이 오지않는 경우 일정시간을 대기 후에 다시 재전송을 한다. TCP Protocol 자체가 전송에 관한 Protocol이고 그 특성으로 Reliability를 갖고 있는 만큼 재전송에 대한 이야깃거리가 상당히 많다. 몇 가지 상황을 가정하고 TCP가 그 상황 위에서 어떻게 동작하는지 보자. 송신자는 패킷을 송신하고 나면 별도로 정의된 Timer를 시작한다. 그리고 Timer의 시간이 만료되면 다시 패킷.. TCP Protocol 본 포스팅은 개념에 대한 복습을 위해 작성되었습니다. 잘못된 내용은 댓글이나 이메일로 알려주시면 감사하겠습니다. 3-Way-Handshake 내가 보낸 데이터가 온전히 상대방에게 도착했는지 알 수 있는 최선의 방법은 상대방이 받았다고 알려주는 것이다. TCP는 이러한 기능을 구현하기 위해서 Sequence Number를 사용하여 어디까지 데이터를 받았으며, 어디까지 보냈는지 확인할 수 있다. 물론, 이 Sequence Number를 이용한 통신은 어디까지나 최초에 3-Way-Hanshake로 세션을 맺은 호스트 간에만 유효하다. 아주 흔한 케이스는 Client - Server 통신에서 볼 수 있다. Client에 해당하는 Host A는 Server에게 SYN이라고 하는 패킷을 보내서 TCP 세션을 맺기를.. 더 우아한 크롤러를 위해 / 분산 크롤러 / 크롤러 아키텍쳐 본 게시물은 다양한 외부 소스들을 종합해서 정리하고 기록하기 위한 글입니다. 일부분 필자의 의견이 섞여있으므로 정확한 내용을 알고싶으시다면 하단의 출처를 참고해주세요. 크롤러? 뭐 더 공부할게 있나.. 내가 크롤러에 관심을 갖게 된 후, 주변에서의 크롤링 기술에 대한 인식이 영 긍정적이지만은 않다는 것을 안 것은 불과 몇 주전 이었다. 대기업들한테 가서 크롤링 이야기하면 그래요, "크롤러? 그거 쉬운걸 뭐 굳이.." - 기업초청 세미나에서 A 빅데이터 회사 대표이사 상당한 규모의 정보 수집, 분석 능력이 있는 한 회사의 대표이사가 이야기했을 정도면 얼마나 답답했을까! 모든 기술에는 기반이 필요한 법이고, 그 기반은 결국 누군가가 다져놓지 않으면 기술은 성립되지 않는다. 뭐, 이 기술이 중요하고 어떤 기술.. Selenium 크롤링을 해보며 느낀 점 Selenium의 장점 실제 브라우저를 실행 시켜서 돌아가기 때문에, 웹페이지에 구현된 정적인 페이지뿐만 아니라, 동적인 페이지까지 긁어낼 수 있다. 그래서 느리다. 디버깅 시, 브라우저에서 눈으로 확인하기 때문에 크롤링 과정을 확인할 수 있다. 유용한 메소드들이 많다. Selenium의 단점 느리다. 너무 느리다. 진짜로 느리다. 만약 자신의 컴퓨터 성능이 그리 좋지 못하다면, Selenium 크롤링 테스트를 하면서 화딱지가 날지도 모른다. 실제 브라우저를 가동하다보니 그만큼 리소스를 잡아먹고, 에디터 리소스와 이것저것 생각하다보면 자연스럽게 import requests 라며 코드를 바꾸고 있을지도 모른다. 앞으로 크롤링은 이렇게 Only Selenium은 확실히 아니다. 분명히 아니다. request.. 필기앱 추천 / Notion Notion 드디어 시험이 끝났다. 이제 포스팅 좀 하고.. 자격증 공부도 좀 하고.. 학교 프로젝트도 하고.. 개인 프로젝트도 하고.. 기말고사 준비하고...? 개인적으로 메모 혹은 필기앱을 좋아하는 편인데, (태블릿은 돈이 없어서 못사고 있다.) 그래서 이것저것 많이 깔아보고 쓰는 편이다. 나름 여러가지 프로그램을 써봤는데, 요즘 딱 꽂힌 프로그램이 있어서 소개도 할 겸, Credit도 얻을 겸 포스팅을 하려고 한다. 물론 나도 설치한지 일주일도 채 안돼서 모든 기능을 알지는 못한다. 일단 기본적으로 마크다운 느낌의 레이아웃이며, 입력 방식 마크다운을 지원한다. 아.. 나는 마크다운 쓰는 법 몰라.. 몰라도 된다. 대부분의 텍스트 기능을 GUI로도 구현해뒀기 때문에 마치 한글 / 워드에 타이핑하듯 쓸.. 이전 1 2 3 4 5 6 ··· 11 다음