我接触nodejs 纯属是误打误撞,之前在做一个房地产项目的时候,客户提出了一个需求,我大概整理一些“我们需要员工只能在公司登陆房管系统并进行操作,回家是不允许进行登录的”,其实对于房产中介来说源数据很珍贵也很稀缺,各个中介都在想尽办法去找一些会搞爬虫的,想赚钱的程序猿去各个竞品官网去爬一些数据,记得很疯狂的我也搞过,数据是按条卖的这类专供数据的人还有一个响亮名称叫...一时半会想不起来了,算了我可能也是老了记忆力也不好了,哈哈,言归正传,针对客户的需求我们提供的解决方案其实也很实用,封装一个浏览器的壳子打包成EXE文件,然后在壳子里面调用一个web 接口,内核浏览器拿到电脑的网卡地址也是MAC地址,当用户打开EXE文件的时候,拿到MAC地址调用服务端的验证MAC地址接口进行验证,这就是我给出的解决方案。 毕竟之前在做中国银行和电信的资产系统的时候由于Extjs 4.0 对浏览器是有要求的,也是为了赶项目我就用.NET写了一个小东西,主要是打一个Goole内核浏览器进去,这样只要客户安装打开就可以解决浏览器的兼容问题,其实我也是偷懒了但也算解决问题,在处理这个问题上我又想起来同样的解决方案。

首先用.NET 封装一个浏览器内核进去,然后打包成可执行的EXE便于用户使用,但问题来了我在打包浏览器的时候发现 这个浏览器内核没有更新,导致前端写的样式在这内核浏览器下兼容性还是有问题,这下直接断了我玩.NET的路,抽了几根烟想了想,我把希望寄托给了QT((是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。2008年,Qt Company科技被诺基亚公司收购,Qt也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C++代码模块,并对Android支持做出了调整,至此实现了全面支持iOS、Android、WP,它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西。))  于是下载了QT,进行学习进行开发问题来了要学C++,时间紧我感觉自己还是有点吃力,这可怎么办,挠头,喝蛋白粉吃方便面,吃面包加巧乐兹。哈哈哈哈。。

吃饱后我找了一个以前公司的同事咨询了下,于是我想了一个方案,我觉得学习nodejs也是挺有意思了,毕竟比QT要轻一点,再加上CNPM资源库还是很丰富的,于是我们就开始搞定下面这个方案,花了三天搞定。有时觉得技术源于生活但又高于生活,在一个需求点上其实按照现在的技术成熟度你能想一千的解决方案,我的图实在是画的不咋的,我又偷懒了对不起大家的眼睛呀,大家的眼睛就这样被我这张草图给强奸了,哈哈哈,我争取以后不偷懒了好好画图,主要是我饿了。。。。。

前几年NODEJS现在被各大公司用于网络层中间件,但这几年它已经成为快速开发桌面化应用程序的首选,到处都能看见它的身影

NODEJS的误打误撞的更多相关文章

  1. webpack打包nodejs项目(前端代码)

    PS.若本文没有帮到你可以看看我的进阶版点此前往 适用情况 首先说明,此情况不具备普遍性.若你的情况与笔者类似那么希望这篇文章能够帮到你. 我的项目情况是这样的:用node.js做后台,ejs做模板引 ...

  2. NodeJs之OS

    OS Node.js提供了一些基本的底层操作系统的模块OS. API var os = require('os'); console.log('[arch] 操作系统CPU架构'+os.arch()) ...

  3. NodeJs之Path

    Path模块 NodeJs提供的Path模块,使得我们可以对文件路径进行简单的操作. API var path = require('path'); var path_str = '\\Users\\ ...

  4. NodeJs之调试

    关于调试 当我们只专注于前端的时候,我们习惯性F12,这会给我们带来安全与舒心的感觉. 但是当我们使用NodeJs来开发后台的时候,我想噩梦来了. 但是也别泰国担心,NodeJs的调试是很不方便!这是 ...

  5. NodeJs在Linux下使用的各种问题

    环境:ubuntu16.04 ubuntu中安装NodeJs 通过apt-get命令安装后发现只能使用nodejs,而没有node命令 如果想避免这种情况请看下面连接的这种安装方式: 拓展见:Linu ...

  6. NodeJs之child_process

    一.child_process child_process是NodeJs的重要模块.帮助我们创建多进程任务,更好的利用了计算机的多核性能. 当然也支持线程间的通信. 二.child_process的几 ...

  7. nodejs进阶(6)—连接MySQL数据库

    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...

  8. 图片访问实时处理的实现(nodejs和php)

    我在访问时光网.网易云音乐等网站时,发现将它们页面中的一些图片URL修改一下就可以得到不同尺寸的图片,于是思考了其实现方案,我的思路是:URL Rewrite + 实时处理 + 缓存,对用户请求的UR ...

  9. nodejs进阶(4)—读取图片到页面

    我们先实现从指定路径读取图片然后输出到页面的功能. 先准备一张图片imgs/dog.jpg. file.js里面继续添加readImg方法,在这里注意读写的时候都需要声明'binary'.(file. ...

  10. nodejs进阶(3)—路由处理

    1. url.parse(url)解析 该方法将一个URL字符串转换成对象并返回. url.parse(urlStr, [parseQueryString], [slashesDenoteHost]) ...

随机推荐

  1. accept 类型列表

    *.3gpp audio/3gpp, video/3gpp 3GPP Audio/Video *.ac3 audio/ac3 AC3 Audio *.asf allpication/vnd.ms-as ...

  2. win10格式化U盘提示没有权限执行此操作

    解决办法参考:http://www.tpbz008.cn/post/766.html 1.gpedit.msc 2.展开计算机配置,管理模板.展开系统.选中可移动存储访问 3.所有可移动存储类:拒绝所 ...

  3. 增加网络位置CMD脚本

    创建.bat脚本 net use Z: \\192.168.X.X\Share /user:用户名 /persistent:YES 密码 persistent:YES是保存密码.下次开机也生效.

  4. kmp失效函数(测试博客的编辑器)

    1 int *find_next(char *p) 2 { 3 int k = -1; //right shift i-k 4 int i = 0; 5 int m = strlen(p); 6 in ...

  5. 《Vue.js 3.x高效前端开发(视频教学版)》简介

    #好书推荐##好书奇遇季#<Vue.js 3.x高效前端开发(视频教学版)>,京东当当天猫都有发售.本书配套示例源码.PPT课件.思维导图.数据集.开发环境与答疑服务. 本书通过对Vue. ...

  6. VC 运行时库的引用区别 /MD、/MDd 和 /MT、/MTd和DllMain函数

    /MT和/MTd表示采用多线程CRT库的静态lib版本.该选项会在编译时将运行时库以静态lib的形式完全嵌入.该选项生成的可执行文件运行时不需要运行时库dll的参加,会获得轻微的性能提升,但最终生成的 ...

  7. 4. Popup 弹出窗口

    1 <!DOCTYPE html> 2 <html lang="zh"> 3 <head> 4 <meta charset="U ...

  8. SHR常用f7[更新ing]

    <field id="unit" name="unit" label="单位" dataType="F7" uip ...

  9. java使用array是copyof创建新长度数组

    Arrays.copyof() int[] copied = Arrays.copyOf(arr, 10); //10 the the length of the new array System.o ...

  10. 【Python】Python多进程练习

    1,进程启动 通过Process方法启动,通过下面的代码执行结果,可以发现,开启的进程与WHILE循环语句会同时进行. 为什么呢?因为都是启动了进程在运行程序. from time import sl ...