ns3*, test.py*처럼 *이 붙은 파일이 있다. -F After each file name, put one of: + A slash (/) if the file is a directory or a symbolic link to a directory. + An asterisk (*) if the file is executable; + An at-sign (@) if the file is a symbolic link to a file; + A vertical bar (|) if the file is a fifo. *은 실행 가능한 파일이라는 뜻이다.
이번에 배워볼 알고리즘은 벨만 포드 알고리즘(Bellman-Ford Algorithm)이다. 이 알고리즘 또한 이전에 배운 다익스트라 알고리즘처럼 그래프에서 한 정점에서 다른 모든 정점으로 가는 최단 경로를 구할 수 있는 알고리즘이다. 벨만 포드 알고리즘은 다익스트라 알고리즘보다 시간이 더 걸리지만 음의 간선이 존재해도 최단 경로를 찾을 수 있는 알고리즘이다. 벨만 포드 알고리즘은 다이나믹 프로그래밍이라고 할 수 있다. 그 이유는 매번 저장해놓은 최소 비용을 이용해서 새로운 최소 비용으로 갱신하기 때문이다. 벨만 포드 알고리즘이 다익스트라 알고리즘보다 시간이 오래 걸리는 이유는 다익스트라는 최소 비용을 가지는 간선만 우선적으로 뽑으면서 경우의 수를 줄여가며 비용을 갱신하였다. 하지만 벨만 포드 알고리즘..
부스트캠프 AI Tech 3기 추천시스템 최종 프로젝트를 진행하며 개발했습니다. 이 글은 Chrome Extension을 만드는 방법에 대해서 소개하고, 주의해야 할 사항을 설명하는 포스팅입니다. Intro Chrome Extension을 개발하며 겪었던 보안 이슈에 대해서는 타 포스팅에 적었는데, 개발하는 전반적인 방법이나 공부한 것들에 대해서 정리하고 주의사항도 간단하게 적기 위해서 포스팅을 쓴다. BoilerPlate Github 에 있는 BoilerPlate를 사용해서 개발했다. 이 BoilerPlate의 Readme를 참고하면 사용법이 나와있는데, git clone을 받은 후 npm start로 빌드할 수 있고 코드를 수정하고, save하면 바로 또 빌드가 된다. 처음에 개발하기에 너무 막막해서..
이 문제때문에 무려 이틀을 헤맸다..ㅠㅠ 상황 설명 Github.com에서 사용자가 Repository에 Like를 눌렀을 때, chrome extension의 background.tsx파일에서 우리쪽 서버의 API(GET)를 콜 해주려고 했다. 그런데 이 API를 콜하면 정상적으로 실행이 되지 않았다. Postman으로 API를 실행하면 정상 동작 했고, 호출하는 URL도 로그를 찍어봤을 때 정상적이었기 때문에 크롬 단에서 차단을 하고 있다는 의심을 하기 시작했다. 해결 방안 모색하기 Chrome의 Network탭에서 확인을 했을 때 ERR_CERT_INVALID 로 나와서 처음에는 https인증문제를 의심했다. 또한 CORS문제를 의심했었는데, 처음에는 크롬 Network탭에서의 에러 메세지가 Unc..
리액트를 그때 그때 배워서 쓰다 보니 이런 에러를 자주 마주하곤 한다. '{ username: any; repoid: any; }' 형식은 'IntrinsicAttributes & { children?: ReactNode; }' 형식에 할당할 수 없습니다. 'IntrinsicAttributes & { children?: ReactNode; }' 형식에 'username' 속성이 없습니다.ts(2322) 이 문제는 뷰를 만드는 쪽에서 파라미터를 제대로 안써줘서 발생할 가능성이 높다. 나 같은 경우에는 뷰를 만들 때 파라미터들 사이에 콤마를 써줘서 이 에러가 발생하기도 했었다. 밑의 코드를 보고 혹시 빼먹은 파라미터가 없는지 타입은 명시해줬는지 콤마를 쓰지 말아야 하는 곳에서 콤마를 쓰진 않았는지 엔터를 안..
보호되어 있는 글입니다.
pickle 모듈 사용하기! 저장하기 : pickle.dump import pickle name = 'james' age = 17 address = '서울시 서초구 반포동' scores = {'korean': 90, 'english': 95, 'mathematics': 85, 'science': 82} with open('james.p', 'wb') as file: # james.p 파일을 바이너리 쓰기 모드(wb)로 열기 pickle.dump(name, file) pickle.dump(age, file) pickle.dump(address, file) pickle.dump(scores, file) 파일에서 읽어오기 : pickle.load import pickle with open('james.p', ..
일단 가상환경 위 혹은 도커 위에서 설치해야 한다. 공식 문서에서는 root user에서 설치하지 말라고 한다. anaconda로 설치하기 현재 자신의 pytorch 버전이 1.10 이상이고, CUDA버전이 10.2 이상이라면 anaconda를 통해서 설치하는것을 추천한다. conda install pyg -c pyg 그 이하의 버전이라면 pip wheel을 통해서 설치해야 한다. (조금 복잡함) pytorch와 CUDA버전을 올리고 싶을 수 있다. 이때 주의해야 할 사항들은 다음과 같다. 1. gpu의 CUDA버전과 torch의 CUDA 버전이 같은지 확인한다. nvidia-smi에서 나온 CUDA버전과 $ print(torch.version.cuda) 에서 나온 버전이 같은 것이 좋다. 아니면 예상치..