일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 해킹
- 과학기술전문사관
- 사이버위협
- CTF
- 디지털자구행위
- Los
- clarivate
- ACDC
- cna
- blindSQL
- 가장인간적인미래
- 밀리테크챌린지
- 해킹백
- hackingback
- 윤송이
- 인공지능윤리
- 웹취약점
- 윤리적해커
- LordOfSQLInjection
- CVE
- webofscience
- Selenium
- 보복해킹
- Today
- Total
목록Dev (11)
프리미의 공간
0. 준비물 인터넷이 없는 서버 (ubuntu 20.04, python 3.8.10) 인터넷이 있는 로컬 (ubuntu 22.04, python 3.10.12) 1. 로컬에서 파이썬 버전 맞추기 pyenv global 3.8.10 # 모든 쉘 세션에 대해 적용 python3 --version # 3.8.10 pyenv global system # 원래 파이썬 버전으로 돌아감 pyenv local 3.8.10 # 현재 디렉토리 이하에만 적용 python3 --version cat .python-version # 3.8.10 rm .python-version # 파일 삭제하면 원래대로 돌아감 2. 필요한 패키지 다운로드 pip --version # python 3.8 인지 확인 pip install --up..
Introduction WSL과 Virtual Machine 모두 윈도우 운영체제에서 리눅스 시스템이 필요할 때 로컬에서 사용할 수 있도록 해준다. 둘은 비슷하면서도 차이점이 있는데, 차이점에 대해 실욕적인 측면에서 알아보려고 한다. WSL, Windows Subsystem for Linux Microsoft에서 공개한 WSL은 윈도우 운영체제에서 리눅스 명령어나 소프트웨어를 실행할 수 있는 환경을 제공한다. 가상머신과 달리 host machine의 리소스에 직접 접근하기에 추가적인 오버헤드가 없다. 예전 WSL 1에서는 리눅스의 system call를 윈도우 API로 치환하는 방식으로 구현하였으나, 이대로는 안되겠다 싶었는지 Microsoft가 WSL 2를 공개하며 리눅스 커널 그 자체를 구현하였다. ..
해당 폴더에 dockerfile이 있는 경우 빌드 sudo docker build -t knucse_notice_bot . 해당 이름의 컨테이너 실행 sudo docker run knucse_notice_bot 해당 컨테이너를 실행하고 종료 시 컨테이너 삭제 sudo docker run --rm -it ubuntu:16.04 /bin/bash exited된 컨테이너 모두 삭제 docker rm $(docker ps -a -f status=exited -q) -p 옵션으로 8888포트와 8080포트를 바인딩 docker run --rm -it -p 8888:8080 kertflight -d는 detach 모드, 백그라운드로 실행함 docker run -d redis 이미지 리스트 출력 docker imag..
2021년 2학기동안 정보화본부의 IR센터에서 근로장학생으로 근무했는데, python의 selenium으로 웹 크롤링하는 역할을 맡아 프로그래밍을 수행했다. 여기서 배운 여러가지 경험 팁들이 있어 글로 남긴다. 크게 3가지를 꼽았는데, 특정 기술보다는 접근 방식에 대한 이야기를 주로 담았다. 1. jupyter notebook으로 개발 후 python script로 패포 우리가 selenium으로 접근해야 할 대상은 chrome, firefox와 같은 웹 브라우저이다. selenium의 특징은 웹 브라우저와 상호작용하며 직접 사람이 액션을 취하듯이 자동화할 수 있는 것이 장점이라고 생각한다. 하지만 파이썬 스크립트를 CLI 환경에서 실행하고 종료되면 브라우저에 추가적인 액션을 취할 수 없다. jupyte..
binary_search() 함수 안에 내용이 있는지 없는지만 bool형으로 알려줌 실행전에 정렬되어 있어야 함 vector v{3,2,1,4,6}; sort(v.begin(), v.end()); binary_search(v.begin(), v.end(), 3); // true int comp(int a, int b) {return a-b;} binary_search(v.begin(), v.end(), 5, comp); // false equal_range() 함수 이진 탐색을 이용하며, 해당 값이 어디부터 어디까지 있는지 알려줌 마찬가지로 정렬되어 있어야 함 vector v{6,3,2,10,10,10,-10,-10,7,3,20}; pair bounds; sort(v.begin(), v.end()); /..
sort 함수 쓰는 법 #include #include #include bool comp(int a, int b) { return a b 해야지 오름차순 되더라 햇갈리게 왜 그렇게했지;;; 그리고 vector안에 pair있어도 알아서 정렬해줌 // header 생략 vector v; /* v = { {3, 4}, {1, 1}, {1, -1}, {2, 2}, {3, 3}} */ sort(v.begin(), v.end()); /* 1 -1 1 1 2 2 3 3 3 4 */ v[i].first 기준으로 정렬한 후에,..
vector v{1,2,3,4,5}; for (const auto& x: v) cout