largest-bitcoin-exchange-suspends-withdrawals.si

Предыстория

Сразу скажу – все написанное ниже является моим личным мнением и не претендует на что-то большее.

Я довольно долго пытался разобраться как работают все эти новомодные валюты, которых сейчас стало очень много. Надо сказать, что это совсем не простая задача – найти информацию о криптовалютах на понятном языке. В основном, предлагаются довольно сложные тексты, в которых много формул и терминов. Ни с первого, ни со второго раза в теории я не разобрался, пришлось пробовать на практике.

Выбор валюты

Одним из самых важных вопросов для работы с криптовалютами является выбор самой валюты, с которой нужно работать. Важно, чтобы эта валюта сравнительно легко добывывалась и без проблем конвертировалась в самую популярную валюту – в Bitcoin. Я выбрал FeatherCoin, потому что на момент выбора это была не самая популярная валюта, но ее можно было свободно конвертировать в биткоины на популярной бирже btc-e.

website-header-background

Практика

Методом тыка у меня получилось запустить один из самых простых(но пробовать я начинал не с него) майнеров – https://github.com/pooler/cpuminer . Таким же методом был найден пул для майнинга – ftc.d2.cc. Если коротко, то майнер – это программа, которая нагружает Ваш процессор для решения сложных математических задач. За решение этих задач Вам и начисляются виртуальные деньги. Самостоятельно решать такие задачи очень трудоемко, поэтому придумали общества(пулы), которые дробят большие задачи на мелкие и распределяют их между участниками.

Заработок

Заработок реально смешной. На среднем сервере получалось выжимать около 2 FTC(FeatherCoin) в сутки, это около 8 центов по курсу BTC>USD($) в день написания статьи. То есть, таким образом нельзя отбить затраты даже на электричество.

Куда потратить

Когда я только начинал читать про криптовалюты, то мне казалось, что весь мир давно принимает их к оплате, и их можно без проблем потратить. На деле оказалось совсем наоборот. На многих сервисах поддержка биткоинов заявлена как экспериментальная, и работает дико странно и с перебоями. За биткоины нельзя даже хостинг купить без проблем. Возможно, какие-то узкоспециализированные штуки и можно оплатить криптовалютами, но популяные для обычных юзеров интернета сервисы нельзя.

Вывод

Битконы уникальны и интересны в первую очередь как технология, но область применения пока не ясна. Обычному пользователю проще и быстрее заплатить за услугу пластиковой картой, а у продвинутого юзера не особо большой выбор, куда их потратить. Разве что попробовать зарабатывать на скачках курса обмена.

Задача

На днях пришлось работать с Foursquare API и я сразу могу сказать что это не очень понятный и приятный процесс. Информация на странице для разработчиков странно структурирована, да еще и неполная. Моей задачей было получить последние 9 фотографий заведения и вывести их красиво на сайте. Решено было реализовать это на JavaScript дабы не нагружать сервер лишней работой.

Поиск решения

API того же Instagramm позволяет это сделать очень просто, и документация у них более полная. В случае Foursquare пришлось перечитать половину документации и тем на stackoverflow. Опытным путем выяснилось, что для начала нужно добавить свое “приложение” в кабинет Foursquare. Сделать это можно тут – https://foursquare.com/oauth. Далее нужно получить client_id и client_secret в настройках добавленного приложения:
foursquare
После чего формируем ссылку для запроса на получение фотографий места. Для этого сначала нужно узнать его идентификатор. Чтобы это сделать нужно найти место на сайте Foursqure и посмотреть на его URL. Например, у стадиона Camp Nou, что в Барселоне, ссылка https://ru.foursquare.com/v/camp-nou/507fe73fd63e93639fd2a84f, где 507fe73fd63e93639fd2a84f это его уникальный идентификатор. После этого можем проверить правильно ли подобрали свои данные перейдя по ссылке https://api.foursquare.com/v2/venues/VENUE_ID/photos?client_id=ID&client_secret=SECRET&v=20131016 вставив 507fe73fd63e93639fd2a84f на место VENUE_ID, а так же свои client_secret и client_id. Если все сделано правильно то в браузере появится ответ API в формате JSON. Далее начинается самое интересное…

Решение

В ответе у каждой фотографии есть такие параметры как prefix и suffix которые выглядят как начало и конец ссылки на фотографию(например https://irs3.4sqi.net/img/general/ и /11281014_KBEHG6IiXcRkqpPKsa129FFi7T1gW9O-obOKDKBQgyM.jpg). Но если перейти по ссылке https://irs3.4sqi.net/img/general/11281014_KBEHG6IiXcRkqpPKsa129FFi7T1gW9O-obOKDKBQgyM.jpg то получаем 500 ошибку без пояснений. В документации я ничего не нашел, что помогло бы мне решить эту проблему. Зато коллективный мозг на stackoverflow частично подсказал решение. Между prefix и suffix нужно добавить желаемый размер изображения и тогда мы получим фотографию! Причем Foursquare отдает любые размеры, еще и кропает фотографии! А если нужно получить оригинал изображения, то вместо размера надо указать “original”.

Примеры:

Исходная фотография
Тумба 150х150

GistBox – удобное веб-приложение для организации своих гистов(кусочков исходников) с гитхаба

FireBase logoНедавно наткнулся на FireBase – это абсолютно новый способ хранить данные и отдавать их пользователю. Если коротко, то FireBase это облачная база данных для real-time приложений. То есть, Ваши данные хранятся где-то в облаке, которое готово почти к любым нагрузкам. Ваши данные моментально обновляются на всех клиентах, которые в данный момет подключены к FireBase. Совершенно отпадает необходимость строить сложную систему с использованием веб-сокетов для обмена данными между сервером и клиентами в реальном времени. Вы просто подключаете JS файл на страницу и настраиваете события на изменения данных. Все – дальше FireBase будет самостоятельно следить за данными и отдавать их пользователям. Причем происходит это почти мгновенно! А еще с FireBase можно создавать веб-приложения которые вообще не используют сервер. Причем для небольших проектов использование FireBase совершенно бесплатно!

Возможности бесплатного аккаунта:
• 5 GB Data Transfer
• 50 Max Connections
• 100 MB Data Storage

Этого вполне хватит для простого сервиса. Тем более, нет смысла хранить большое количество данных в FireBase. В облаке стоить хранить только те данные, которые обновляются в реальном времени прямо сейчас. Например – текстовая трансляция текущего футбольного матча должна храниться в FireBase, а завершенные матчи можно переносить в другую БД, например RethinkDB.

Так же у FireBase есть библиотеки для популярных языков программирования – Python, JS, Java и даже REST API для всех остальных. Есть даже расширения для встраивания фуникцонала в iOS и Android приложения.

Я уже успел использовать FireBase в одном из проектов для уведомления менеджеров и администраторов интернет-магазина о различных событиях, например о поступлении нового заказа или нового комментария используя HTML5 Notifications API. И я готов даже поделиться рабочим кодом:
Для начала необходимо скачать и подключить на страницу jQuery.notifications Plugin
https://github.com/monkeymonk/jquery.notifications.js
После этого подключаем FireBase
<script type='text/javascript' src='https://cdn.firebase.com/v0/firebase.js'></script>
А далее используем такой код:

И все! Теперь при обновлении данных все клиенты, которые разрешили посылать уведомления будут оповещены сообщениями о новых событиях.

nitrous.io – бесплатная среда для разработки Django/RoR/NodeJS/Go приложений с бесплатным сервером для тестирования и web-IDE для моментального старта!