본문 바로가기

일상+자잘한 일

(26)
[RabbitMQ] 설치부터 튜토리얼까지 for Linux 우선 APT를 사용하여 설치하는 방법과 dpkg를 직접 설치하는 방법이 있다. 공식 문서에서는 패키지 종속성(dependency)를 수동으로 설치해야 해서 dpkg 방법을 권장하지 않는다. 공식 문서는 apt 방법을 권장한다. 1. apt 설치 방법으로 바로가기2. dpkg 설치 방법으로 바로가기3. 예제로 바로 가기apt 설치 방법 https://cloudsmith.io/~rabbitmq/repos/ 이 링크에 최신 rabbitmq 버전을 올려두고 있지만 트래픽 제한으로 다운이 되지 않는 경우가 많기 때문에 아래와 같은 방법으로 따라오길 권장하고 있다. 우선 아래 코드들을 모두 빠짐없이 모두 기입해야한다.이 과정 중에서 빼먹어도 되는 부분은 없다고 공식문서에서 명시하고 있다.아래 코드는 cloudsmi..
[Unsolved.ac/백엔드-2] 2번째 개발일지 개발 내용 3줄 요약1. APIs 호출 방법 정리2. Croller 공부 및 DB 연동3. RabbitMQ 공부 및 테스트 개발 소감OS에서 배운 지식이 백엔드 개발에서 필요하게 될 줄은 몰랐다. 프로세스간 통신을 위해서 message queue를 사용하게 되었는데, cs 지식이 도움이 됨을 느끼는 나날이다. 우선 rabbitMQ와 selenium을 처음 써봤는데 생각보다 다루기 쉽게 잘 만들어져있어서 좋았다.ISSUEBeautifulsoup의 동적 사이트 크롤링 불가문제 정보 크롤링시 오류 발생(문제 난이도가 없는 경우, 페이지가 없는 경우)배운 내용RabbitMQ 사용 방법 및 message queue 비교BS, Selenium과 같은 크롤러 사용법APIs 호출 방법 정리APIs 사용과 관련해서 문제..
[RabbitMQ] 설치부터 튜토리얼까지 for Linux,Window,Mac 바보같이 pip install pika만 하고 rabbitMQ 자체를 설치하지 않았다...ㅎㅎ 윈도우 기준으로 choco를 설치하고 난 뒤에 아래 코드를 powershell에서 입력하면된다.(choco 설치 방법 및 초코 설명 링크)(혹은 이 링크로 직접설치도 가능하다 나는 choco가 편했다)choco install rabbitmq 맥은 choco 대신 brew를 사용하면 되고 리눅스의 경우 아래 포스트를 참고하면 되겠다.  설치 이후 래빗 튜토리얼을 따라 가며 필요한 기능을 습득하였고 코드로 간단히 설명하겠다.혹 코드를 직접 작성하며 공부할 분들은 아래 링크로 가면 되겠다.https://www.rabbitmq.com/tutorials RabbitMQ Tutorials | RabbitMQwww.rabb..
[Choco] Windows용 chocolatey 설치 RabbitMQ를 설치하려다 윈도우용 패키지 매니저가 있다는 것과 필요하다는 것을 알게 됐다. Chocolatey는 MacOS의 Brew (HomeBrew)와 같은 역할을 한다. 설치법은 간단하다. 만약 관리자모드가 아니거나 아래 세팅과 다르다면 설치 이후에도 실행되지 않으니C:\ProgramData\Chocolatey 를 지우고 다시 설치하자 1. Windows Powershell을 관리자모드로 실행한다. 2. 아래 코드를 입력하여 Bypass나 Allsignd가 나오는지 확인한다.Get-ExecutionPolicy 3. 만약  Restricted가 나온다면 아래 코드 중 맘에 드는 한 가지를 입력하자.Set-ExecutionPolicy AllSignedSet-ExecutionPolicy Bypass ..
[Unsolved.ac/백엔드-1] 1번째 개발일지 개발 내용 3줄 요약1. 비공식 APIs와 solved.ac APIs 엔드포인트 확인2. Spring 프로젝트 기초 공사 및 DB 연동3. DB 설계 개발 소감생각보다 진도를 나가지 못했다. 코드 작성은 하지 못하고 이것저것 확인만 하다 하루가 흘러버렸다.테이블을 결국 리팩터링 하는 순간은 오겠지만, 최대한 갈아엎는 순간을 피하기 위해 필요한 절차였다고 믿어야겠다. 과거 인턴시절 흘려들었던 api호출을 확인하는 부분이 이렇게 쓰일 줄 몰랐다!리버스 엔지니어링(역공학)은 처음 해보는 일이었는데, 새로운 방법을 고려한 좋은 시도였다. ISSUEMySQL8 버전을 쓰면서 다른 버전 세팅을 사용하여 에러 발생(ex: com.mysql.cj.jdbc.Driver 과 com.mysql.jdbc.Driver)(ex:..
[Unsolved.ac/8] 정리 및 계획 오랫동안 미뤄왔던 일을 다시 시작하려고 한다. 기존의 문제는 무엇이며, 개선 방안과 진행 사항을 정리하고자 한다.기존 시스템의 문제점API 호출 횟수의 제한 (대략 15분 /220회로 기억한다.)호출 횟수 제한으로 호출 간격 등을 조절해서 사용해야한다.Database 읽기/쓰기 횟수 제한 (무료버전 하루 2만번? 5만번? 정도로 기억한다.)호출 횟수 제한을 극복하기 위해 db에 데이터를 저장하고 읽어오는 방법을 사용했다.적당한 시간간격을 두고 api를 호출하여 db를 갱신하였다.flutter, firebase 기반 웹 프로그램이다.간단한 동작 이외 api정보를 가공하여 db에 정보를 계속 관리하도록 하는 문제가 있었다.개선 방안리눅스 서버 개설 및 cron 기능 활용하기횟수의 제한을 극복하기 위해 크론 ..
2024 상반기 회고록 + 취준 이야기 보호되어 있는 글입니다.
[pypy/python] 같은 코드상에서 pypy가 python보다 메모리를 많이 먹는 이유 백준에서 문제를 풀다가 recursion error가 발생했고 메모리 제한을 풀다 문제를 발견하였다. sys.setrcursionlimit(10**5) 위와 같은 코드로 recursion limit을 풀어주고 다시 제출하였더니 pypy에서는 메모리 초과를 받고 python에서는 통과했다. 내가 알고 있던 지식으로는 pypy가 JIT(just in time) 방식을 사용하기 때문에 필요한 부분을 즉석해서 컴파일하고 캐싱하며 인터프리터의 속도적 단점을 개선한 모델로 알고 있었는데 python에서만 합격을 받아 놀랬다. 이유를 찾아보니 PyPy는 Generational Garbage Collector를 사용하는 반면 CPython은 Reference Counting과 간단한 세대별 가비지 컬렉션을 사용 PyP..