##Brew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Brew require Xcode Developer Tools. They will be proposed to download. You should agree with it
##Caskroom
| sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 | |
| echo "deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list | |
| sudo apt-get install -y mongodb-org | |
| sudo apt-get update -y |
##Brew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Brew require Xcode Developer Tools. They will be proposed to download. You should agree with it
##Caskroom
()[https://credit365.ua/ru/how-to-get]
curl 'http://circeo.nebo15.com/DFI_MK/presales/web/product/bulkcalculation/presalesConfigurationProcess/paydayLoanOffer' -H'Accept: application/vnd.kolkida.loanfactory.presales.FetchBulkCalculationQuery+json'{
"result": "{\"commercialOfferConfigurationKey\":\"543a432e-4d99-4168-8021-b0377de57cf2\",\"rules\":[{\"MoneyRange\":{\"min\":\"1000.00 MKD\",\"max\":\"10000.00 MKD\",\"step\":\"1000.00 MKD\",\"property\":{\"componentKey\":\"loanAmount\",\"parameterName\":\"amount\"}}},{\"PeriodRange\":{\"min\":\"P30D\",\"max\":\"P180D\",\"step\":\"P5D\",\"property\":{\"componentKey\":\"paydaySchedule\",\"parameterName\":\"length\"}}}],\"resultProperties\":[{\"name\":\"mergeSchedules_firstInstallment\",\"type\":\"Money\"},{\"name\":\"APR_result\",\"type\":\"InterestRate\"}],\"labels\":{\"loanAmount_amount\":[{\"locale\":\"en-US-x-lvariant-lf\",\"message\":\"Loan Amount\"}],\"mergeSchedules_firstInstallment\":[{\"locale\":\"en-US-x-lvariant-lf\",\"message\":\"Amount to pay\"}],\"p| const Express = require('express'); | |
| const ejs = require('ejs'); | |
| const path = require('path'); | |
| const app = new Express(); | |
| app.set('PORT', process.env.PORT || 3000); | |
| app.set('view engine', 'ejs'); | |
| app.set('views', path.join(__dirname, './views')); |
| (function() { | |
| 'use strict'; | |
| console.log('App is running'); | |
| var midiAccess = null; | |
| navigator.requestMIDIAccess().then(onMidiAccessSuccess, onMidiAccessFailure); | |
| function onMidiAccessSuccess(access) { | |
| midiAccess = access; |
| // WEBSOCKETS | |
| var socketUrl = 'ws://' + location.hostname + ':3001'; | |
| var client = new BinaryClient(socketUrl); | |
| var MIDIStream = null; | |
| client.on('open', function () { | |
| MIDIStream = client.createStream(); | |
| MIDIStream.on('data', handleReceiveAudioData); | |
| MIDIStream.on('end', handleEndAudioStream); | |
| }); | |
| function handleReceiveAudioData(data) { |
| function handleMidiMessage(e) { | |
| console.log(e); | |
| if (!MIDIStream || e.data[0] !== 0x90) return; | |
| MIDIStream.write(e.data); | |
| } |
| const binaryServer = require('binaryjs').BinaryServer; | |
| const socket = new binaryServer({ | |
| port: 3001, | |
| }); | |
| socket.on('connection', (client) => { | |
| client.on('stream', (stream, meta) => { | |
| stream.on('data', (data) => { | |
| console.log(data); |
| const socket = new binaryServer({ | |
| port: 3001, | |
| }); | |
| function playTone(tone, stream) { | |
| if (tone > 61 || tone < 1) { | |
| console.log('undefined tone', tone); | |
| return; | |
| } | |
| const filePath = path.resolve(__dirname, 'wav', `${tone}.wav`); |