最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何使用微博自動記錄俯臥撐個數(shù)

 更新時間:2016年02月02日 11:08:08   作者:黃博文  
這篇文章主要介紹了如何使用微博自動記錄俯臥撐個數(shù) 的相關(guān)資料,需要的朋友可以參考下

根據(jù)SMART原則我制定了2016年的目標。每個月都有一個小目標,每個目標都是specific(具體)、Measurable(可度量)、Attainable(可實現(xiàn))、Relevant(相關(guān)性)、Time-bound(時限)的。1月份的目標是跑步200公里,其中包含4個半程馬拉松。1月底驗收的時候發(fā)現(xiàn)這個目標輕松達成,整個1月份我總共跑了220公里+,其中跑了4個半程馬拉松。而且第二次的馬拉松打破我的個人記錄,成績?yōu)?小時43分30秒,把我的個人最好成績提高了2分鐘。

2月份我的目標的是做4000個俯臥撐+撰寫4篇技術(shù)博客。跑步的時候我可以使用跑步軟件(咕咚或者悅跑圈)來記錄我的跑步里程,而記錄俯臥撐雖然有一些現(xiàn)成的軟件(比如Push-Ups),但是我感覺太重量級,想要一種輕量的方式來記錄。后來我想到了一種方式,只需在命令行終端輸入一條簡單的命令,比如pushups 30,那么我的微博會自動多出來一條博文,記錄我本次做了多少俯臥撐,本月已經(jīng)完成了多少俯臥撐,距離目標還剩下多少俯臥撐。這樣子每做完一組,我只需敲一行命令就可以輕松記錄下來,并且還有廣大網(wǎng)友進行監(jiān)督。

這個主意很好,可是怎么實現(xiàn)那?其實整個過程并不復(fù)雜,我周末花了兩個小時就完成了。新浪微博提供了一個微博開放平臺,在微博開放平臺上其開放了一系列API,其中發(fā)送微博就屬于其中一個。我們只需把我們要發(fā)送的內(nèi)容組裝好,編寫程序調(diào)用其發(fā)送微博的API即可。

發(fā)送微博的API文檔在這里。通過文檔可以看出其實只要發(fā)送一個http請求,包含相應(yīng)的內(nèi)容就好。其中有兩個字段比較重要,一個是access token,一個是status。access token是認證令牌,確定是哪個應(yīng)用向哪個微博發(fā)送內(nèi)容,status是需要推送的微博正文。

獲取access_token的過程比較復(fù)雜,需要你了解OAuth2.0認證流程,詳情請看授權(quán)機制說明。簡單來說就是用你的微博賬號登陸微博開放平臺,注冊一個應(yīng)用,然后得到一個應(yīng)用Id,然后用該應(yīng)用Id調(diào)用相應(yīng)的API來授權(quán)訪問你的個人微博,最后得到一個access token。

如果調(diào)用這個API那?因為之前曾經(jīng)寫過一個插件向微博推送我的博客信息,所以只需把相關(guān)代碼拿出來重用即可。相關(guān)代碼采用Ruby寫的。代碼如下:

WeiboPoster

require 'faraday'
require 'yaml'
require 'json'
class WeiboPoster
def initialize
@weibo_config = YAML.load_file(File.expand_path(File.dirname(__FILE__) + '/weibo-config.yml'))
@pushups = YAML.load_file(File.expand_path(File.dirname(__FILE__) + '/pushups.yml'))
end
def post_weibo(number)
@number = number
conn = Faraday.new(:url => "https://api.weibo.com")
result = conn.post '/2/statuses/update.json',
:access_token => @weibo_config['access_token'],
:status => generate_post
responseJSON = JSON.parse result.body
if responseJSON['error_code']
puts 'post error:' + responseJSON['error']
else
puts "post to weibo successfully"
end
end
private
def generate_post
total = get_history
total = total + @number.to_i
number_rest = 4000 - total
save_to_history total
post_template = @weibo_config['post_template'].force_encoding("utf-8")
post_template % {:number_done => @number, :total => total,:number_rest => number_rest}
end
def get_history
@pushups['total']
end
def save_to_history(total)
@pushups['total'] = total
File.open('pushups.yml','w') do |h|
h.write @pushups.to_yaml
end
end
end
poster = WeiboPoster.new
poster.post_weibo ARGV[0]

整個邏輯就是先從一個配置文件中讀出當(dāng)前完成的俯臥撐個數(shù),再配合通過命令行參數(shù)傳入的當(dāng)前組做的個數(shù),結(jié)合微博模板生成微博內(nèi)容,再調(diào)用API發(fā)送HTTP請求。

accecs token和微博模板存放在weibo-config.yml文件中。

weibo-config.yml

# Sina Weibo Post
access_token: YOUR_ACCESS_TOKEN

post_template: 剛才做了%{number_done}個俯臥撐,2月份總共完成了%{total}個俯臥撐,距離4000個俯臥撐目標還差%{number_rest}個

然后我在Rakefile中配置了一個任務(wù),用于調(diào)用WeiboPoster類。

Rakefile

require "rubygems"
require "bundler/setup"
require "stringex"
desc "post pushups to weibo"
task :pushups, :number do |t, args|
args.with_defaults(:number => 50)
number = args.number
system "ruby post_weibo.rb " + number
end

最后再用一個shell腳本封裝一下,支持shell調(diào)用。

pushups

#!/bin/sh
rake pushups[$1]

OK這樣就齊活了。做完一組俯臥撐之后,只需在命令行輸入pushups 35,然后就可以看到我的微博多了一篇推文。

最終效果如下。

相關(guān)文章

  • linux shell命令行參數(shù)用法詳解

    linux shell命令行參數(shù)用法詳解

    本文介紹了linux shell命令行參數(shù)的具體用法,用戶登錄到Linux系統(tǒng)時,可以看到一個shell提示符,標識了命令行的開始。用戶可以在提示符后面輸入任何命令及參數(shù)。
    2014-04-04
  • 使用shell腳本采集系統(tǒng)cpu、內(nèi)存、磁盤、網(wǎng)絡(luò)等信息

    使用shell腳本采集系統(tǒng)cpu、內(nèi)存、磁盤、網(wǎng)絡(luò)等信息

    這篇文章主要介紹了使用shell腳本采集系統(tǒng)cpu、內(nèi)存、磁盤、網(wǎng)絡(luò)等信息,需要的朋友可以參考下
    2014-05-05
  • Linux中Vi和Vim編輯器用法詳解

    Linux中Vi和Vim編輯器用法詳解

    本文詳細講解了Linux中Vi和Vim編輯器的用法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Shell中比較大小簡潔總結(jié)

    Shell中比較大小簡潔總結(jié)

    這篇文章主要介紹了Shell中比較大小簡潔總結(jié),本文總結(jié)了在shell中比較變量大小的一些方法,需要的朋友可以參考下
    2014-12-12
  • linux編寫.sh腳本并賦權(quán)限問題

    linux編寫.sh腳本并賦權(quán)限問題

    這篇文章主要介紹了linux編寫.sh腳本并賦權(quán)限問題,文中給大家提到了Linux為sh腳本文件添加執(zhí)行權(quán)限的方法,需要的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-06-06
  • linux下通過命令行獲取gmail的新郵件

    linux下通過命令行獲取gmail的新郵件

    在這篇文章中,我將為你展示 Linux 命令行的另一個漂亮干練的使用案例:訪問 Google 的 Gmail 服務(wù),有需要的小伙伴可以參考下。
    2015-05-05
  • 淺談Vim中的Tab與空格縮進

    淺談Vim中的Tab與空格縮進

    下面小編就為大家?guī)硪黄獪\談Vim中的Tab與空格縮進。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 每天一個linux命令 head命令

    每天一個linux命令 head命令

    這篇文章主要為大家詳細介紹了一個linux命令:head命令,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Git代碼提交流程及git命令匯總(基礎(chǔ)篇)

    Git代碼提交流程及git命令匯總(基礎(chǔ)篇)

    git 現(xiàn)在的火爆程度非同一般,它被廣泛地用在大型開源項目,團隊開發(fā),以及獨立開發(fā)者,甚至學(xué)生之中。這篇文章給大家介紹一些Git代碼提交流程和Git基礎(chǔ)命令的使用,需要的朋友參考下吧
    2017-12-12
  • Shell腳本統(tǒng)計當(dāng)前目錄下目錄和文件的數(shù)量

    Shell腳本統(tǒng)計當(dāng)前目錄下目錄和文件的數(shù)量

    這篇文章主要介紹了Shell腳本統(tǒng)計當(dāng)前目錄下目錄和文件的數(shù)量,Linux下如何統(tǒng)計當(dāng)前目錄下文件有多少個,目錄又有多少個呢,使用本文腳本即可實現(xiàn),需要的朋友可以參考下
    2014-12-12

最新評論

黔西| 东丰县| 温州市| 五常市| 桂林市| 车致| 深水埗区| 南汇区| 新沂市| 武安市| 乌拉特前旗| 望奎县| 宁晋县| 澄江县| 阳江市| 牡丹江市| 唐海县| 容城县| 稻城县| 卢湾区| 石家庄市| 英吉沙县| 天门市| 顺平县| 红安县| 湾仔区| 东山县| 峨边| 茶陵县| 伊宁县| 古田县| 彭山县| 九龙城区| 曲阜市| 通海县| 顺义区| 休宁县| 罗定市| 宜良县| 苏尼特右旗| 郴州市|