回忆起我们的点点滴滴,我们也有美好回忆。程序员应该如何表白呢 ?很大一部分是不够自信,怕穷,怕拒绝,其实更多的你可能需要的是一份勇气,爱,要大声说出来!恰逢官方正文,在此总结一下我们的点点滴滴,平凡而又伟大。
目录
我们是如何相恋
我和女朋友以前是高中补习在一起的同学,以前很不熟悉,只是课间休息在走廊里偶尔能见到,属于一个班,那是个当地私立学校,管理比较严,平时只能好好学习。上大学我们不在一个地方,她在黄山,我在北京这边,大三的时候在 QQ 空间经常评论一些她的回复,日久生情。当然那种语言属于经常看头条的励志短语,情话之类的,有挑逗的意味。终于,18 年 6 月 1 日,她决定来北京和我奔现啦,这也算网恋吧。当时我还在学习 java 培训课程,已经培训到尾声啦,刚好 6 月 1 号放假几天,给她定了 7 天的宾馆。培训课程一天就两个小时左右,一天中不做作业就去找她,然后大学当天有课的话也会去上课,顺路在小摊或者饭店给她买点水果,饭和小吃。一天下来还是很忙碌的,三个地点(培训班、学校、宾馆)来回跑。就这样充实的度过了 7 天。她来北京我都是接她,送她。我们约定好,每天都要微信聊天,不能不回复,经常没话题的时候就早安,晚安!刚奔现那会,她脾气还很不稳定,经常跟我生气,我还不知道如何哄女孩子,只能厚着脸皮死缠烂打,她很多时候都被我感动了,这也算解决问题的一种方式吧。
大四那会,她去杭州西子宾馆实习去啦,旅游管理专业,我是电子商务专业,我培训已经搞完了,还没来得及找工作,一边做毕设,一边兼职的那种状态,寒假暑假就得 17 个小时的火车从北京到杭州。
你以为我当时的心情?
实际上我的心情:
异地恋太痛苦啦,节假日都得买礼物,车费,住宿费等对一个大学生来说还是一笔不小的开销。就这样,我们坚持下来啦,她大学毕业后就跑来北京找我啦,就这样我们就一直在一起奋斗啦,虽然在北京租房搬迁了几次,但是一次比一次好,第一次我自己只租了很小的一个房间,后来又租了一个比较大的房子,但是不卫生,有蟑螂,再到后来就搞了一个 50 平方的一居室。两个人住着很舒服,不用和别人合租,不用排队上厕所,不用等别人收拾厨房等。
程序员应该如何和女朋友相处
1.每天看一个笑话,然后讲给女朋友听,逗她哈哈大笑,欢乐开怀;
2.不要整天呆在电脑前,上网、游戏、看新闻、编程,应该停下来,碰女朋友闹闹磕,聊聊天,女人是需要陪的,尤其结婚前;
3.不要给她讲太多因为所以,这不是编程世界里 If Then,有时候天马行空的交谈更能够拉近彼此的距离;
4.不要除了你的技术世界,你的 IT 世界,你啥都不知道,可以关注一下时下流行什么服装,流行什么音乐,真的,外面的世界很精彩,这样你可以跟女友有更多的共同话题;
5.别太计较女朋友有时候发发脾气,任性,吃醋;
6.跟女朋友有观点上的冲突,或者处理事情的方式上不一致的时候,别太较真,顺着就是了,都是一家人,咋男人得有胸怀和气量;
7.别整天盘算着,怎么买房,买车,省钱啊,省钱,其实你给她买一件衣服,一个礼物,一束玫瑰花来得实惠,更能够获得她芳心和喜悦,人搞定了,她帮你,攒钱,买房买车;
8.懂得制造点浪漫,实在不知道,就百度搜一下吧,然后具体操刀演练;
9.衣服要穿干净点,周整点,让人看上去是一个清清爽爽,干干净净的小伙子;
在公司里,也许老板更看重你是否干活,技术功底是否扎实,是否能解决问题,但小姑娘可是看外表,看形象的,其实,我们不也是看姑娘的长相,打扮是否漂亮吗?
10.有时候,多倾听女朋友倾诉,远比自己讲,效果要强很多;
咱们作为程序员本来话就不多,但不时应声附和,恰到好处的点评,真是事半功倍啊。
如果你觉得我说的有道理,请关注这个文绉绉的程序员:孙叫兽
我是如何在情人节用代码表白的
效果图:(这个是动态的,我就不做 gif 或者录视频啦)
项目结构:
HTML:
<!DOCTYPE html> <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>我爱你</title><link type="text/css" rel="stylesheet" href="renxi/default.css"><script type="text/javascript" src="renxi/jquery.min.js"></script><script type="text/javascript" src="renxi/jscex.min.js"></script><script type="text/javascript" src="renxi/jscex-parser.js"></script><script type="text/javascript" src="renxi/jscex-jit.js"></script><script type="text/javascript" src="renxi/jscex-builderbase.min.js"></script><script type="text/javascript" src="renxi/jscex-async.min.js"></script><script type="text/javascript" src="renxi/jscex-async-powerpack.min.js"></script><script type="text/javascript" src="renxi/functions.js" charset="utf-8"></script><script type="text/javascript" src="renxi/love.js" charset="utf-8"></script><style type="text/css"><!--.STYLE1 { color: #666666}--></style></head><body><audio autoplay="autopaly"> <source src="renxi.mp3" type="audio/mp3" /></audio><div id="main"> <div id="error">本页面采用HTML5编辑,目前您的浏览器无法显示,请换成谷歌(<a href="http://www.google.cn/chrome/intl/zh-CN/landing_chrome.html?hl=zh-CN&brand=CHMI">Chrome</a>)或者火狐(<a href="http://firefox.com.cn/download/">Firefox</a>)浏览器,或者其他游览器的最新版本。</div> <div id="wrap"> <div id="text"> <div id="code"> <font color="yellow"> <span class="say">亲爱的梅梅,我爱你</span><br> <span class="say"> </span><br> <span class="say"> 我知道我不会甜言蜜语,</span><br> <span class="say"> </span><br> <span class="say"> 但是我会用行动证明一切</span><br> <span class="say"> </span><br> <span class="say">你说我啰嗦,</span><br> <span class="say"> 有些东西因为越在乎所以越怕失去</span><br> <span class="say"> </span><br> <span class="say">因为我太爱你了,所以我害怕失去你</span><br> <span class="say"> </span><br> <span class="say">因为我太爱你了,所以我对你总啰嗦</span><br> <span class="say"> </span><br> <span class="say">希望可以执子之手,与子偕老</span><br> <span class="say"> </span><br> <span class="say">如果上天让我许三个愿望,</span><br> <span class="say">第一个是今生今世和你在一起, </span><br> <span class="say"> </span><br> <span class="say"> 第二个是再生再世和你在一起,</span><br> <span class="say"> </span><br> <span class="say">第三个是永生永世和你不分离 </span><br> <span class="say"><span class="space"></span> -- 爱你的老公</span> </font> <br /> <br /> </p> </div> </div> <div id="clock-box"> <span class="STYLE1"></span><font color="yellow">亲爱的梅梅,我爱你</font> <span class="STYLE1">已经是……</span> <div id="clock"></div> </div> <canvas id="canvas" width="1100" height="680"></canvas> </div></div><script> </script><script> (function () { var canvas = $('#canvas'); if (!canvas[0].getContext) { $("#error").show(); return false; } var width = canvas.width(); var height = canvas.height(); canvas.attr("width", width); canvas.attr("height", height); var opts = { seed: { x: width / 2 - 20, color: "rgb(190, 26, 37)", scale: 2 }, branch: [ [535, 680, 570, 250, 500, 200, 30, 100, [ [540, 500, 455, 417, 340, 400, 13, 100, [ [450, 435, 434, 430, 394, 395, 2, 40] ]], [550, 445, 600, 356, 680, 345, 12, 100, [ [578, 400, 648, 409, 661, 426, 3, 80] ]], [539, 281, 537, 248, 534, 217, 3, 40], [546, 397, 413, 247, 328, 244, 9, 80, [ [427, 286, 383, 253, 371, 205, 2, 40], [498, 345, 435, 315, 395, 330, 4, 60] ]], [546, 357, 608, 252, 678, 221, 6, 100, [ [590, 293, 646, 277, 648, 271, 2, 80] ]] ]] ], bloom: { num: 700, width: 1080, height: 650, }, footer: { width: 1200, height: 5, speed: 10, } } var tree = new Tree(canvas[0], width, height, opts); var seed = tree.seed; var foot = tree.footer; var hold = 1; canvas.click(function (e) { var offset = canvas.offset(), x, y; x = e.pageX - offset.left; y = e.pageY - offset.top; if (seed.hover(x, y)) { hold = 0; canvas.unbind("click"); canvas.unbind("mousemove"); canvas.removeClass('hand'); } }).mousemove(function (e) { var offset = canvas.offset(), x, y; x = e.pageX - offset.left; y = e.pageY - offset.top; canvas.toggleClass('hand', seed.hover(x, y)); }); var seedAnimate = eval(Jscex.compile("async", function () { seed.draw(); while (hold) { $await(Jscex.Async.sleep(10)); } while (seed.canScale()) { seed.scale(0.95); $await(Jscex.Async.sleep(10)); } while (seed.canMove()) { seed.move(0, 2); foot.draw(); $await(Jscex.Async.sleep(10)); } })); var growAnimate = eval(Jscex.compile("async", function () { do { tree.grow(); $await(Jscex.Async.sleep(10)); } while (tree.canGrow()); })); var flowAnimate = eval(Jscex.compile("async", function () { do { tree.flower(2); $await(Jscex.Async.sleep(10)); } while (tree.canFlower()); })); var moveAnimate = eval(Jscex.compile("async", function () { tree.snapshot("p1", 240, 0, 610, 680); while (tree.move("p1", 500, 0)) { foot.draw(); $await(Jscex.Async.sleep(10)); } foot.draw(); tree.snapshot("p2", 500, 0, 610, 680); // 会有闪烁不得意这样做, (>﹏<) canvas.parent().css("background", "url(" + tree.toDataURL('image/png') + ")"); canvas.css("background", "#ffe"); $await(Jscex.Async.sleep(300)); canvas.css("background", "none"); })); var jumpAnimate = eval(Jscex.compile("async", function () { var ctx = tree.ctx; while (true) { tree.ctx.clearRect(0, 0, width, height); tree.jump(); foot.draw(); $await(Jscex.Async.sleep(25)); } })); var textAnimate = eval(Jscex.compile("async", function () { var together = new Date(); together.setFullYear(2018, 6,1); //时间年月日 together.setHours(16); //小时 together.setMinutes(53); //分钟 together.setSeconds(0); //秒前一位 together.setMilliseconds(2); //秒第二位 $("#code").show().typewriter(); $("#clock-box").fadeIn(500); while (true) { timeElapse(together); $await(Jscex.Async.sleep(1000)); } })); var runAsync = eval(Jscex.compile("async", function () { $await(seedAnimate()); $await(growAnimate()); $await(flowAnimate()); $await(moveAnimate()); textAnimate().start(); $await(jumpAnimate()); })); runAsync().start(); })(); </script> </body></html>
复制代码
完整代码下载地址
最后,祝愿大家都能找到自己的另一半,不管你对象是程序员还是非程序员,能臭味相投,一起面对生活的风风雨雨,你耕田来,我织布那样,遇见更好的自己,勇于迈出那一步,不管自己处于啥阶段,在合适的时间遇到合适的人挺难的,爱她,就给她穿上婚纱!