본문 바로가기

코딩7

[react - flask] 리액트 - 플라스크 파일 및 데이터 주고받기 리액트와 플라스크 서버가 파일 및 데이터를 주고받는 방법을 알아보자. 우선 필자는 리액트에서 post 요청으로 플라스크에 파일을 보내고, 플라스크에서 파일을 처리한 결과를 다시 리액트로 보내야 하는 상황이었다. 딱히 별도의 노드 등의 서버는 사용하지 않았다. 코드는 다음과 같다. React const uploadFile = async(e)=>{ const formData = new FormData(); formData.append("file" ,file); formData.append("fileName" , fileName); try{ const res = await axios.post( "http://192.249.28.86:5000/react_to_flask", //send file to flask .. 2021. 8. 13.
[python Flask] 아주아주 쉽게 서버 만들기 다음과 같은 경우에 flask를 이용하는 것을 고려해보면 좋다. 서버를 처음 배우는 사람 서버가 처리해 줄 일이 매우 단순해서 서버를 무겁게 만들고 싶지 않은 사람 파이썬에서 메인 작업을 하고 다른 곳으로 데이터를 전송해야 하는 사람 필자는 두번째, 세번째의 경우에 해당되어서 flask를 처음 접하게 되었고, 프로젝트 종료 후 flask에 대해서 더 알아보다 보니 서버를 처음 배우는 사람들에게도 입문하기가 좋겠다는 생각이 들었다. flask는 파이썬으로 작성된 마이크로 웹 프레임워크 - 라고 소개되어있다. 프레임워크는 대부분 이미 짜여진 틀을 채워나가야 하다보니 개발할 때 자유도가 낮다는 단점이 있다. 파이썬으로 웹개발을 할 때 가장 유명한 프레임워크는 django인데 이는 무겁고 기능이 많아서 가벼운 .. 2021. 8. 8.
[easyscore] 웹에서 악보 그리기 easyscore은 매우 쉽고 간단하게 악보를 그릴 수 있는 모듈이다. 사용법은 easyscore tutorial에 잘 설명되어 있다. 다만 이 모듈에는 치명적인 문제점이 있는데, 생성자에서 mode가 STRICT로 설정된다는 것이다. 그 결과 strict mode를 풀어주지 않으면 음표를 더도 덜도 말고 딱 4개만 그릴 수 있다. 도대체 왜 이렇게 만든 것인지는 모르겠으나 악보에 음표가 딱 4개만 있는 것은 말이 안되는 일이니까 우리는 이 mode를 변경해야 한다. 기존에 easyscore tutorial에 소개된 사용법은 다음과 같다. var vf = new Vex.Flow.Factory({renderer: {elementId: 'boo'}}); var score = vf.EasyScore(); va.. 2021. 8. 6.
[vexflow] 웹에서 악보그리기 웹에서 간단하게 악보를 그려주는 javascript 오픈소스 라이브러리다. [github] https://github.com/0xfe/vexflow GitHub - 0xfe/vexflow: A JavaScript library for rendering music notation and guitar tablature. A JavaScript library for rendering music notation and guitar tablature. - GitHub - 0xfe/vexflow: A JavaScript library for rendering music notation and guitar tablature. github.com [documentation] https://www.vexflow.com/.. 2021. 8. 6.
[madmom] 피아노 음원을 MIDI note로 변환하기 (python) 시간이 별로 없는 프로젝트였기 때문에 1차적 목표를 피아노 소리를 MIDI note로 따내는 것으로 설정했다. 음원은 아이폰/아이패드의 Garage Band 앱으로 피아노를 연주해서 m4a파일을 얻었다. 비트와 음의 길이를 모두 무시하고 음만 먼저 따내는 일에는 madmom.features.notes 안에있는 함수들만을 이용하면 충분했다. madmom.features.notes — madmom 0.17.dev0 documentation Track the notes with an HMM based on a model of attack, decay, sustain, release (ADSR) envelopes. Create a CNNPianoNoteProcessor and pass a file through.. 2021. 8. 6.
[madmom] pip 안 쓰고 수동으로 최신버전 설치하기 (python) 필자는 pycharm을 이용하기 때문에 pycharm을 기준으로 설명하겠다. 매우 쉽다. 1. 원하는 폴더에 venv를 만들고 터미널을 연다. 이때 컴퓨터에 python 버전이 2개 이상 설치되어 있지는 않은지 잘 살펴본다. 필자는 이 프로젝트를 할 당시 python 3.8과 3.9가 모두 설치되어 있어서 한동안 혼란을 겪다가 3.8을 지우고 평화를 되찾았다. 2. document의 installation 페이지에 들어가서 prerequisites을 설치한다. [document > installation]https://madmom.readthedocs.io/en/latest/installation.html 웬만하면 저 순서대로 설치하길 바란다. 필자의 경우 pyaudio와 pyfftw가 설치되지 않고 에.. 2021. 8. 6.