国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

極客愛情: 情人節禮物大作戰

XGBCCC / 2504人閱讀

摘要:故而總結如下編成的代碼浪漫的環境親手制作的禮物注意請將下面的程序員的情人節禮物換成語言。言歸正傳程序員的情人節禮物入門之材料構思情人節禮物之設備展示想著在這個移動盛行的時代,再用電腦就不太合適了。

  

是時候應該反擊了

當我看到@鄢得諼草 的那幾篇黑我黑到體無完膚的#極客愛情# @Phodal 故事的時候,我發現我竟無言以對。或許,作為一名程序員,我們或多或少都有這樣的共性。

技術宅不解風情

和不會聊天的人談戀愛

難道就這么坐以待斃嗎?當然,決不。在即將來到的情人節之際,正好是一個適合反擊的時候。(如果你還沒有女朋友,那么你也許需要出門左轉: 程序員如何邂逅真愛之偽攻略篇)。

對于向往浪漫的女孩來說,親手制作的禮物總是更能抓住女孩的少女心。不過,代碼除外,除非你的另一半也是一個程序員,能輕輕松松理解深意:

while(propose.times < 99) {
    huahua.listen(phodal.ask("will")("you")("marry")("me"));
    huahua.reply.propose ();
}
huahua.propose("Yes");
var ever = phodal.love(huahua) && huahua.love(phodal);
for(ever){;;;};

————至于像花花這樣雖然學中文出身但是長期在我身邊耳濡目染的孩子,大致能理解如此簡單的表達吧。

而對于我這樣一名極客來說,不是出自自己的親手制作,總顯得有那么幾分的沒有成就感。

到目前為止,我需要營造一個浪漫的環境,準備一份恰當好處的禮物。故而總結如下:

編成的代碼

浪漫的環境

親手制作的禮物

注意: 請將下面的《程序員的情人節禮物》換成xx語言。

《程序員的情人節禮物》是怎樣煉成的

網頁Demo: http://valentine.phodal.com/

我想起她曾經滿懷著羨慕的給我看知乎上的一個答案:“一個程序員給他女友寫了一個程序,整個太陽系都是他和他女友的照片,太陽系的中心是他心中女友最美的照片,周圍是他的照片圍繞著她轉,背景音樂是男主唱的《愛轉角》。點開屏幕上他們名字的縮寫,還有男主對他女友說的一段話。”她用她那雙雖然小但炯炯有神咄咄逼人的眼睛盯著我,一副我不給她也做一個她就要宰了我的模樣。 “嗯,這個不難啊,不過我是不會給你做的。” 你覺得我會讓你有嘚瑟的資本嗎~

(會)

所以,我想要做成的效果類似與一個能滾動展示圖片的App,上面是我們相遇相知的歷程,或許還需要加上音樂、照片,等等。除了下面準備的材料之外,我還需要有:

那些我想說的話

她美麗動人的畫

在使用類似于下面的照片時,請提前做好心理準備。

我仿佛看到她怒發沖冠的模樣,哈哈哈。 言歸正傳:

《程序員的情人節禮物》入門之材料構思 情人節禮物之設備展示

想著在這個移動盛行的時代,再用電腦就不太合適了。要是做移動應用的話,那么手機或許可以和硬件結合地更加和諧。

找到了自己所有的移動設備,如圖所示:

作為一個諾基亞的粉絲,從那一刻起,我不喜歡Microsoft。

Nokia N72

Nokia E66

Nokia Lumia 920

Nokia Lumia 1020(ps:拿在手上拍照)

Kindle

想想,還是放棄了做移動App的想法——沒有Andorid手機,沒有iPhone,沒有Win 8 + VS(ps:公司的電腦不能裝盜版軟件...)。

好在我們有Web。

情人節禮物之硬件設備

翻箱倒柜之下找到了下面的材料:

排除了一些老舊的設備:

51單片機: 用這東西我真的可以按時交付軟件么?

STM32: Mac OS下支持得不是很好。

PcDuino: 不合適,我對它的印象是有點不穩定。

最后挑出了Raspberry Pi + Arduino,這對永恒的組合。

Raspberry Pi當服務器

Arduino控制硬件。

情人節禮物之被控設備

想了想我們需要營造一個浪漫的環境,于是找到了這個星空投影儀,還有其他(ps:暫時還是需要保持一些神秘性的)。

應該是夠用的,當然還需要有其他模塊:

紅外模塊(ps:用處保密ing。)

繼電器(ps:用于控制星空投影儀。)

《程序員的情人節禮物》之美

因為我是以編程養活自己,以寫代碼滿足自己的極客一枚,我需要程序來控制我們的硬件設備。

框架選擇

關于后臺,先想到的兩個語言是JavaScriptPython,Raspberry Pi的最大優勢語言就是Python了,出現JavaScript的原因是我們可以統一前后臺。雖然Raspberry Pi安裝Nodejs也是挺簡單的,然而還是覺得用Python吧。

對比了一下Python的框架,選擇了輕量級的flask

至于后臺,之前喜歡的方案是用jQuery + BackBone + Mustache來構建移動CMS(ps: Github見https://github.com/phodal/moqi.mobi),在這之前的一個時期覺得他們會導致代碼多了一個大小級。接著,寫了自己的JS框架——Lettuce,總覺得有點過。不過,剛好夠用,作為~6kb大小的框架,包含:

Router

Promise

Event

Template

Effect

(小廣告:如果你有興趣的話可以試試https://github.com/phodal/lettuce,也可以加入我們.....)

也要有PySerial來控制串口。

最后我們的方案就是Flask + Lettuce + PySerial

思路

過程大致如下:

網頁會在展示文字 + 圖片的時候自動跳轉

網頁在需要硬件執行設備的時候,會post一個指令。

Raspberry Pi在接到指令的時候,由串口發送給Arduino

Arduino再進行具體的操作。

《程序員的情人節禮物》CookBook

上面的xx語言都是瞎扯,你真正需要認真關心的是這本書。

此處省略一百字:

沒有這個,那就不浪漫了。

既然不浪漫,也沒辦法發朋友圈了。

既然沒有辦法發朋友圈,就不能愉快地做朋友了。

(ps:大多時候,一個女孩子可能并不在意你送的禮物是什么,她要的是一份心意,以及一份可以曬的心情)

《程序員的情人節禮物》實戰 Server端

為了方便起見,只好盡可能地簡化代碼,因為簡單我也可以列出所有的代碼:

import json
import time

from flask import Flask, request
from flask_restful import Resource, Api
import serial
ser = serial.Serial("/dev/ttyACM0", 9600)

app = Flask(__name__, static_url_path="")
app.secret_key = "why would I tell you my secret key?"
api = Api(app)
tasks = {}


@app.route("/")
def root():
    return app.send_static_file("index.html")


class Task(Resource):
    @staticmethod
    def post(task_id):
        tasks[task_id] = request.data
        ser.write(request.data)
        time.sleep(6)
        return tasks[task_id], 201, {"Access-Control-Allow-Origin": "*"}

api.add_resource(Task, "/")

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5000, debug=True)

在某些地方上有區別的應該就是

ser = serial.Serial("/dev/ttyACM0", 9600)

對于不同的平臺來說,/dev/ttyACM0可能是不一樣的。我所做的就是將收到的信息直接發給Arduino。

Arduino端

代碼也比較簡單有木有:

#include 

int starPort = 12;
IRsend irsend;
int fullStar = 1;
int irRemote = 2;

void setup() {
  Serial.begin(9600);
  pinMode(starPort, OUTPUT);
}

int serialData;
void loop() {
  String inString = "";
  while (Serial.available()> 0)
  {
    int inChar = Serial.read();
    if (isDigit(inChar)) {
      inString += (char)inChar;
    }
    serialData=inString.toInt();
    Serial.print(serialData);
  }
  if(serialData == fullStar){
    digitalWrite(starPort, HIGH);
  } else
  if( serialData == irRemote){
    irsend.sendNEC(0xFF906F,32); 
    delay(1000);
  }
}

不斷地從串口接收數據,如果為1就點亮所有的star,如果而2就發送紅外。當然,你也可以拿Raspberry Pi做這些事。

前臺

詳細代碼可以見: https://github.com/phodal/valentine/blob/master/static/js/app.js,這里簡單說一下基本的邏輯。

一個簡單的頁面代碼如下所示:

var L = new lettuce();

var data = {
    rise: "一起看日出",
    down: "一起看日落",
    yours: "有一天,你出現了",
    together: "然后",
    rose: "IOU"
};

var rise = function () {
    var html = "

{%=o.rise%}

"; var result = L.Template.tmpl(html, data); document.getElementById("results").innerHTML = result; }; rise();

一個post請求,給請求發送給Arduino:

var L = new lettuce(),
    irRemote = "2",
    fullStar = "1";

lettuce.post("/serial", fullStar);  

一個Event,用于展示最后的心形:

L.Event.on("showLove", showLove);
L.Event.trigger("showLove");

Promise與SetTimeout一起來實現頁面跳轉:

function show(func, n){
    var p = new L.Promise();
    var code = function () {
        if (func !== undefined) {
            func();
            L.FX.fadeIn(document.getElementById("results"), {
                duration: 3000, complete: function () {
                }
            });
        }
        p.done(null, n);
    };
    setTimeout(code, n);
    return p;
}

show(undefined, 3000).then(
    function() {
        return show(rise, 0)
    }
).then(
    function() {
        return show(down, 3000)
    }
)
硬件連接圖

硬件連接圖如下所示:

需要注意的有:

用絕緣膠帶把硬件上的各種Led燈遮住

確保能啟動。

注意用電安全,如果你想用于控制強電,最好找一些有質量保證的設備。

其他

網頁版Demo: http://valentine.phodal.com/ (ps:由于針對的是1920x1080的設備,所以圖片在電腦上的效果可能不是很好,可以試試手機設備觀看。)

Github: https://github.com/phodal/valentine(ps: 覺得好的就給個star,不要光fork。)

在線視頻:http://www.tudou.com/programs/view/ymr5BpHkHYc/

遇到問題: https://github.com/phodal/valentine/issues

微博關注我: http://www.weibo.com/phodal/

訪問不了Github請到原文留言。

后記

分享到你的極客圈,@你家的極客,讓我們看看極客的另外一面。

(ps:分享之前考慮一下: 如果你的那位看到之時,會不會也要求你做一個?)

你不在乎她是否給你禮物了,但是她在乎。

我的心愿(或許也是你的)

  

待我代碼編成,娶你為妻可好

(完)

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/45342.html

相關文章

  • 錨點定位

    摘要:錨點定位雷佳音編輯雷佳音,年月日出生于遼寧省鞍山市,中國內地男演員,年畢業于上海戲劇學院表演系。年月借話劇個人獲得有話劇界奧斯卡之稱的第屆佐臨獎最具潛力新人獎。年月日,雷佳音現身電影超時空同居開機儀式舉行。 錨點定位雷佳音 編輯雷佳音,1983年8月29日出生于遼寧省鞍山市,中國內地男演員,2006年畢業于上海戲劇學院表演系。2010年,因飾演電視劇《杜拉拉升職記》里的約翰常而...

    ivydom 評論0 收藏0
  • 準備人節禮物比寫代碼難?來看看IT直男給女友們的禮物

    摘要:今天是情人節,據說直男在每個這樣彌漫著戀愛氣息的日子里都能把禮物送成辣眼睛現場,為了反駁這個觀點,小編特意走訪了網易云的架構師工程師產品經理程序猿哥哥們。 今天是情人節,據說IT直男在每個這樣彌漫著戀愛氣息的日子里都能把禮物送成辣眼睛現場,為了反(zheng)駁(shi)這個觀點,小編特意走訪了網易云的架構師、工程師、產品經理、程序猿哥哥們。 劉超,網易云計算首席架構師,江湖人稱超哥,...

    Flink_China 評論0 收藏0
  • 爆款游戲《貪吃蛇大作》的 Python 實現

    摘要:感覺游戲審核新政實施后,國內手游市場略冷清,是不是各家的新游戲都在排隊等審核。不過現在微信已經悍然屏蔽了它的分享這個游戲就是現在免費榜排名第一的貪吃蛇大作戰。不過這實在是一個挺好實現的游戲,于是一時技癢,拿做了一個實現。 感覺游戲審核新政實施后,國內手游市場略冷清,是不是各家的新游戲都在排隊等審核。媒體們除了之前競相追捧《Pokemon Go》熱鬧了一把,似乎也聽不到什么聲音了。直到最...

    chaos_G 評論0 收藏0
  • 使用TypeScript和Canvas編寫移動端貪吃蛇大作游戲

    摘要:基本介紹一款移動端貪吃蛇大作戰游戲。主要的游戲邏輯有貪吃蛇移動碰撞檢測貪吃蛇碰撞碰撞墻壁和吃食物。貪吃蛇的身體如何跟隨頭部移動需要分為兩種情況,在單位時間內貪吃蛇移動一單位長度和貪吃蛇移動多單位長度。 基本介紹 一款移動端貪吃蛇大作戰游戲。(只支持移動端) 這是一個臨近 deadline 的課設項目,為了方便地使用TS,我直接使用angular-cli生成了TypeScript的項...

    AlphaWallet 評論0 收藏0

發表評論

0條評論

XGBCCC

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<