1. 2016总结

    2016 过去的这一年,算是一个转折点吧,学生时代的终结,开始工作了。毕业后的几个月,也会经常想起上学时的很多美好,日常用语也多了句“我在学校的时候...”,我想所有刚离校的同学有共感,毕竟伴随了16年的读书模式要转换了,虽然在学校时也会出去做外包,去实习,但当全职工作后还是很回念学生时代。 说是16年的年度总结,其实多半是下半年的一些变化。以前我觉得总结什么的,都是给别人看的,形式主义。但工作的半年我转变了自己的看法,我尝试在工作的每周、每月梳理下,在每个时间段内,自己学到的新东西以及欠缺的东西,这样就有一种看着自己不断成长的感觉。不然你可能只是觉得自己好像增长了,好像有些问题被人诟病,但有不明确的知道哪些点增长了,哪些还在拖后腿。 既然是贴着程序猿的标签,那年度总结就分为生活和技术两部分吧: 生活 虽然学的是自动化专业,但是转战互联网其实从大二就开始了,虽然家里人都希望去稳定的国企,但他们也尊重我的选择,所以毕业后之久投身IT行业有惊无险。前半年的毕业找工作期也是经历了很多波折,换了好几个offer,最后又因为一些原因被自己信任的同学弄得临时换单位,这里到不是怪他们,毕竟也是我选择去相信。虽然一波三折,但也让我学到了很多,看到了很多东西,吃一堑长一智。 get 自己理发技能,从6月份开始远离理发店,到目前已经半年时间自行理发了,...

  2. 基于nodejs的问卷调查系统

    花了4天时间撸了一个问卷调查系统,算是入门nodejs后端开发。 github传送门:https://github.com/flute/survey 技术 后端:nodejs+express+mysql 前端:material design install npm install 配置数据库 conf/db.js ,导入sql文件 mysql.sql node app.js 功能 登陆验证 问题类型包括 单选、多选及问答三类 查看问卷列表、删除 填写提交问卷 问卷结果列表及结果详情 注: 在系统实现过程中,数据表的设计及数据操作有些麻烦,感兴趣的往下看: 为了问卷结果的可读性及统计方便,数据表设计时将 问卷、问题、选项 分为三个表,在插入、读取问卷时,...

  3. Echarts3 中国地图下钻至县级

    Echarts3 地图下钻至县级 看了会D3.js,鉴于学习曲线较高,且要实现的效果不复杂,遂使用Echarts完成——中国地图下钻至县级。 HTML <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>echarts3中国地图下钻至县级</title> <link rel="stylesheet" type="text/css" href="static/css/main.css"> <!-- Echarts3 --> <...

  4. background滤镜效果及高斯模糊

    background滤镜效果 场景及实现:父级div嵌套子div,父div有背景图片,子div中有文字,需要实现背景图加黑色半透明遮罩,不影响子div中文字的显示效果。 CSS的filter滤镜效果的Brightness属性可以实现遮罩效果,但是类似于opacity属性,这种效果会影响子div的显示效果: 解决方法: <div id="section1"> <div id="content"> </div> </div> #section1 { background: url('../images/bg-img.jpg') center center no-repeat; background-size: cover; position: relative; } #content { position: absolute; } #section1::before { content: ''; display: block;...

    css
  5. Div+contenteditable 模拟 textarea 及存在的问题

    在网页端实现聊天功能时,大多会采用textarea来实现,但是当需要在textarea中显示表情/图片时,就不好实现了。这时候普遍的方法是给div添加contenteditable属性,来模拟textarea,而在div中显示图片及表情就可以轻松实现了。 The contenteditable global attribute is an enumerated attribute indicating if the element should be editable by the user. If so, the browser modifies its widget to allow editing. The attribute must take one of the following values: true or the empty string,...

    html JavaScript
  6. jQuery 监听隐藏表单

    设置了一个隐藏表单,其值由Ajax异步修改。前端需要实时监听该值,并由此进行相关操作。 <input type="hidden" value="" id="datas" name="datas"> 正常的表单可以使用 .change() 事件监听其 value 的改变,而隐藏表单其 value 改变时不会触发 change() 事件! 解决方法: 当为隐藏表单赋值后,使用 trigger() 手动触发 change() 事件: function setValue(ajaxData){ $('#datas').val(ajaxData).trigger('change'); } $('#datas').change(){ console.log('changed'); }...

    JavaScript jQuery
  7. React Native 初始化项目慢的解决办法

    初始化React Native:react-native init ProjectName 由于墙的原因,即便开ss也会经常卡着不动。再次感谢方教授! 先看下NMP官网对 node-gyp 的介绍 node-gyp Node.js native addon build tool node-gyp is a cross-platform command-line tool written in Node.js for compiling native addon modules for Node.js. It >bundles the gyp project used by the Chromium team and takes away the...

    React Native npm
  8. Nodejs 爬虫使用 eventproxy 控制并发

    use superagent 抓取 cheerio 解析 eventproxy 控制并发 target url:https://cnodejs.org/ cd nodejs mkdir test && cd test touch node.js 抓取其首页数据,共40篇文章。 首先爬取首页篇文章的URL,将得到的40篇文章的URL存入数组articleUrlArr 然后爬取每篇文章的详细内容。 var eventproxy = require('eventproxy'); var superagent = require('superagent'); var cheerio = require('cheerio'); var articleUrlArr = [], baseUrl = 'https://cnodejs.org/'; superagent.get(baseUrl)...

    nodejs 爬虫
  9. HTTPS:为 Ghost 设置 SSL 连接

    HTTPS:超文本传输安全协议(Hypertext Transfer Protocol Secure)是一种网络安全传输协议。在计算机网络上,HTTPS经由超文本传输协议进行通信,但利用SSL/TLS来对数据包进行加密。HTTPS开发的主要目的,是提供对网络服务器的身份认证,保护交换数据的隐私与完整性。 HTTPS连接经常被用于万维网上的交易支付和企业信息系统中敏感信息的传输。 HTTPS 与 HTTP 的差异 与HTTP的URL由http:// 起始且默认使用端口 80 不同,HTTPS的URL由https:// 起始且默认使用端口443。 HTTP是不安全的,且攻击者通过监听和中间人攻击等手段,可以获取网站帐户和敏感信息等。HTTPS被设计为可防止前述攻击,并(在没有使用旧版本的SSL时)被认为是安全的。 Ghost设置SSL 首先申请SSL证书,可选择startSSL(免费一年)或自行购买。 具体申请过程较为繁琐,自行search,得到crt证书及key 环境:centos、nginx、nodejs、ghost ssh后执行: mkdir /etc/nginx/ssl...

    HTTPS Ghost
  10. Ghost 实现文章归档

    Ghost系统目前暂不支持文章归档,遂手动实现。 方法:通过调用Ghost API实现 启用ghost测试功能 进入ghost后台,在实验功能->启用测试功能能中开启测试功能,这样就可以使用Ghost API获取数据。 新建自定义页面 首先创建一个静态页面:在ghost后台新建页面,发布为 独立页面 ,标题为archives,网址可以设置为域名/archives 接着创建一个自定义页面模板:该模板是第一步创建的静态页面的模板,创建一个page-url.hbs模板,如果第一步设置的页面网址为域名/archives,那么模板即为page-archives.hbs。将该模板上传至主题根目录下即可,此时访问域名/archives,即会调用自定义的page-archives.hbs这个模板。(由于新建的模板没有任何内容,所以页面会显示为空,可以赋值page.hbs中的内容测试查看) 调用Ghost API实现文章归档 所需工具: jQuery、momentjs 文档: Ghost API文档:http://api.ghost.org/v0.1/...

    Ghost