http://0.0.0.0:8000/의 웹페이지가 일시적으로 다운되었거나 새 웹 주소로 완전히 이동했을 수 있습니다. ERR_ADDRESS_INVALID
·
2024-여름
로컬 환경에서 http://0.0.0.0:8000/ 또는  localhost:8000/ 으로 접근하는 것은 가능하나 Colab같은 가상 환경에서는 이가 불가능하다. 가상 환경에서 제공하는 ip의 주소로 접근하자.
youtube API 재생목록을 통한 영상 데이터 수집
·
2024-여름
youtube에서 제공하는 API로는 최대 50개의 재생목록의 영상 데이터만 수집할 수 있다. 이게 최대다. 난 그보다 많은 재생목록에서 정보를 가져오고자 했고 pageToken을 활용한 방법을 사용할 수 있었다. while True: response = youtube.playlists().list( channelId=channel_id, part='snippet', maxResults=50, pageToken=next_page_token ).execute() playlists.extend(response['items']) next_page_token = response.get('nextPageToken') if ..
WARNING:googleapiclient.http:Encountered 403 Forbidden with reason "quotaExceeded"
·
2024-여름
너무 많은 요청을 보내면 할당량이 초과된 것... https://developers.google.com/youtube/v3/docs/errors?hl=ko YouTube Data API - Errors  |  Google for Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. YouTube Data API - Errors 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이 문서에서는 YouTube Data API 작업에developers.google.com
[python] 유튜브 영상 링크만 가지고 제목 가져오기
·
2024-여름
import requestsfrom bs4 import BeautifulSoupr = requests.get("이곳에 원하는 유튜브 링크를 넣어줍니다")soup = BeautifulSoup(r.text)link = soup.find_all(name="title")[0]title = str(link)title = title.replace("","")title = title.replace("","")print(title) 제목이 뿅 나옵니다.
[python] 기본 배열 통계 메소드
·
2024-여름
mean산술 평균을 구한다. 배열 크기가 0이라면 NaN 출력import numpy as nparr = np.random.randn(5,4)arr.mean()0.11825487384930233  sum배열 전체 혹은 특정 축에 대한 원소의 합을 계산한다.import numpy as nparr = np.random.randn(5,4)arr.sum()2.9517094065403464  std, var표준편차와 분산을 구한다. 자유도를 줄 수 있으며 분모의 기본 값은 n이다.import numpy as nparr = np.random.randn(5,4)arr.var()1.3489491476509452import numpy as nparr = np.random.randn(5,4)arr.std()0.7766119..
[python] random 모듈
·
2024-여름
파이썬에서 랜덤을 표현하기 위한 함수에는 뭐가 있을까? randint주어진 최소/최대 범위 안에서 임의의 난수를 추출하려면 randint를 사용한다.import numpy as npa = np.random.randint(0,5)a2  rand균등 분포에서 표본을 추출한다.import numpy as nparr = np.random.rand(5,5)arrarray([[2.34051083e-01, 5.57773443e-01, 8.46181813e-01, 6.64954959e-01, 6.33586601e-01], [6.78664190e-02, 3.94113444e-01, 4.02703066e-03, 7.17660102e-01, 4.98200373e-01], [8...
[소프트웨어공학] SOLID 원칙에 대하여
·
공부/소프트웨어공학
SOLID 원칙이란 로버트 마틴이 말한 다섯 가지 설계 원칙이다. 지난 글에 이어서 썼던 cohesion(응집도), coupling(결합도)도 기본적인 설계원칙이다.보통 설계원칙을 말하라고 하면 cohesion, coupling을 말하는 경우일 수도, SOLID를 말하는 경우일 수도 있다. cohesion과 coupling을 바탕으로 SOLID가 탄생했다는 것과 SOLID는 5가지라는 것을 알아두자.    1️⃣ SRP(Single Responsibility Priciple) : 단일 책임 원칙Cohesion과 관련되어있다. Cohesion이 높을 수록 좋은 시스템이라 할 수 있다. 기존 Cohesion에서는 하나의 모듈이 하나의 기능을 할 때 functional cohesion이라 하였다. 그 범위를 ..
[소프트웨어공학] Coupling(결합도)란?
·
공부/소프트웨어공학
Coupling이란 서로 다른 모듈이 다른 모듈에게 의존하는 정도를 따지는 것이다. 낮아야 좋다! 한 모듈이 변경 되었을 때 다른 모듈도 전부 변경해야 한다면 매우 불편할 것이다... 1️⃣ Data Coupling Data Coupling에는 두 조건이 있다. 1. 두 모듈은 호출할 때 인자로 소통한다. 2. 인자는 구조체가 아닌 기본 데이터로 형성된다. 2️⃣ Stamp Coupling 구조체로 정보를 전달한다. 결합도를 낮추려면 구조체가 아닌 필요한 정보만 전달하면 된다. 3️⃣ Control Coupling 모듈끼리 전달하며 사용하는 데이터가 실제 데이터가 아닌 제어 요소로만 사용되는 형태다. 간단하게 예를 들어, if문을 조절하는 flag 변수를 서로 주고 받는 상황이다. if문 안에 있는 두 ..
[소프트웨어공학] Cohesion(응집도)란?
·
공부/소프트웨어공학
모듈 안에 있는 기능들이 하는 일이 얼마나 연관되었는가를 보는 정도다. Cohesion은 특징에 따라 7단계로 나눌 수 있는데 간단히 알아보자. 1️⃣ Functional Cohesion 모듈 내 기능이 하나의 기능을 하는 상태다. 모듈의 일부 코드를 삭제하면 모듈 자체가 작동하지 않는다. *Black box 코드가 어떤 방식으로 짜여졌는지 몰라도 모듈을 그대로 사용할 수 있다. 2️⃣ Sequential Cohesion 한 모듈 안에 여러 기능이 있고 각 기능은 데이터로 연관되어 있다. 기능은 순서대로 진행된다. 3️⃣ Communicational Cohesion 각 기능은 다른 일을 수행하지만 동일한 input data를 사용한다. 4️⃣ Procedural Cohesion 다른 업무를 수행하는 기능..
[소프트웨어공학] Lean Startup이란
·
공부/소프트웨어공학
많은 startup의 가장 큰 문제는 고객이 원하지 않는 제품을 만드는 것이다. 고객이 원치 않는 제품을 만들면 당연히 고객은 제품을 구매하지 않을 것이고 사업은 성공할 수 없다. 사업에 성공하기 위해서는? 고객이 원하는 제품을 만들면 된다. 제품을 만드는 과정에서 끊임없이 생산품을 만들고 고객의 피드백을 수용하며 계속 방향을 전환하고 결국 고객이 원하는 제품을 만들어내는 방식을 Lean Startup이라 한다. 실제로 dropbox는 만들어진 제품 없이 자신들의 사업 계획을 소개하는 것만으로 사업을 시작했다. 기능적으로 동작하는 제품을 만들라는 게 아니다. 고객의 반응을 보고 사업을 진행해라. 아이디어의 핵심만 구현하여 고객의 피드백만 받을만큼 최소한의 기능만을 하는 제품을 MVP(Minimum Via..
[안드로이드스튜디오] Run 'app'에서 무언가 알 수 없는 이유로 멈췄다?
·
공부/기타
Run 'app'을 눌러도 말을 듣지 않고... 실행도 되지 않고... 새로운 에뮬레이터를 띄워도 똑같이 바보가 된 것 같다면? 에뮬레이터에 전에 있던 데이터가 있어서 바보가 됐을 가능성이 크다. 데이터를 싸그리 지우고 다시 하면 정상 작동.
[운영체제] PID, PPID 확인하기 (ps -eal)
·
공부/운영체제
✅ PID 프로세스 번호를 PID라 한다. 커널이 프로세스를 실행할 때 고유한 프로세스 번호라는 것을 할당한다. 프로세스는 이 번호를 통해 식별되며 0 또는 양의 정수만 PID가 될 수 있다. ✅ PPID 부모 프로세스 번호를 PPID라 한다. 최상위 프로세스를 제외한 모든 프로세스는 반드시 다른 프로세스에 의해 생성되며 생성된 프로세스가 자식 프로세스, 생성한 프로세스가 부모 프로세스가 된다. 이 부모 프로세스의 번호가 PPID다. 리눅스 환경에서 PID와 PPID를 받아오는 프로그램을 작성했다. ps -eal 을 통해 값을 얻을 수 있다. 빨간 네모에 들어간 부분이 내가 원하는 프로세스의 PID와 PPID이다. 프로그램 실행으로 얻은 PID 값과 ps로 얻은 PID 값이 달라 헷갈렸는데 생각해보니 이..
[소프트웨어공학] 테스팅 환경 (E2E, Integration, Unit)
·
공부/소프트웨어공학
배포하는 프로그램 등을 테스트하는 방법 3가지다. ✅ Unit Testing 각 컴포넌트가 정상 동작하는지를 테스트한다. class, function 등이 유닛이 될 수 있다. ✅ Integration Testing 일반적으로 컴포넌트와 컴포넌트를 통합하여 실시하는 테스트를 의미, 시스템이 외부 환경과 통합이 문제 없는지를 테스트하는 의존성 테스트를 의미하기도 한다. ✅ E2E Testing End-to-End Testing. 끝판왕 테스트다. 최종 사용자의 관점에서 하는 테스팅이다.
[소프트웨어공학] scrum이란...!
·
공부/소프트웨어공학
애자일 방법론에는 종류가 많다. Kanban, Feature-driven development 등등. 애자일하게 일하기 위한 방법들이다. 이중 scrum에 대해 알아보자. scrum팀에는 세가지 역할이 있다. 1️⃣ Product Owner 고객이 원하는 바를 파악하고 이를 제품에 반영한다. 제품의 vision을 설정하고 고객이 가장 가치 있는 제품을 빠르게 전달받을 수 있도록 우선 순위를 매기고 수정한다. 고객의 피드백과 needs를 제품에 반영한다. Product Backlog를 전반적으로 관리한다. 2️⃣ Scrum Master scurm에 대해 사람들이 이해하고 수행하는가를 책임진다. 팀이 scrum 규칙, 이론, 실천을 잘 따르고 있는가를 보장해야 한다. servant-leader 3️⃣ Tea..
[데이터베이스] SQL 에러 상태: 실패 -테스트 실패: Listener refused the connection with the following error:ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
·
공부/데이터베이스
상태: 실패 -테스트 실패: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor... 새로운 데이터베이스를 만드려는데 이런 에러가 나온다. 정상 접속되지 않는다...! 작업 관리자->서비스를 확인해봐도 oracle은 실행 중이었고 다운받은 파일에 문제가 있지도 않았다. 다른 원인을 찾아봐도 문제가 없었다... ✅ 원인은 포트 번호가 잘못된 것... 기본 포트 1521로 하면 위 에러가 나오고 1522로 하니 정상 작동