聚合文章列表
26 浏览

selenium +phantomjs 爬取网易云音乐的评论信息

1.前言网易云音乐的网页端与服务端通讯做了加密,本人才疏学浅破解不了,于是考虑用selenium+phantomjs的方式爬取,selenium用pipinstallselenium安装phantomjs官网下载安装包即可,Python版本为3.6,用了mysql数据库,环境为win7不过理论上linuxmac也可以跑2.爬取思路点开一首歌的页面,这首歌的评论也会出现在页面下方,当然通常情况下一页是加载不完的,所以得通过模拟点击下一页的方式一页一页的捞评论,因为只是爬取数据顺便学习下,只爬取了用户id,用户昵称,建立了一个useridnicknamemusic构成的mysql表,同时将爬取并且通过selenium解析出来的页面信息缓存到本地,以后也许会有用的上的地方3.几个关键点在爬取过程中有几个点需要注意1.selenium+phantomjs解析页面时,如果页面上用到了iframe,需要switch_to.frame()的方式切换到对应的iframe,否则可能会导致查找不到需要的element2

JavaScript 1900-01-01 发布
18 浏览

来自codepen的七款最强前端代码效果体验

众所周知,Codepen是在线前端特效代码分享网站之一,在这篇文章里,姥爷我收集了一套最强前端的代码效果,希望大家喜欢哈~星战角色这个前端效果使用了前端代码生成了一套不同的星战角色,大家只需要通过缩放窗口即可看到不同角色CSS生成的立体小车这个demo使用纯CSS实现了一量可以动态操作各个配置的汽车效果,超强悍颜色融合器帮助你动态看到不同颜色融合后的效果,你只需要在左边选择一个颜色,右侧选择一个颜色即可看到最后融合的效果超可爱的css狮子动效使用three.js生成的超酷3d效果的狮子,你可以挪动鼠标看到不同效果,并且点击鼠标,看看电风扇吹狮子的动画效果,超cute!3D森林飞行使用three.js效果实现的一个3D效果,你可以使用鼠标控制飞机飞行高度贪食蛇使用css和javascript实现的贪食蛇效果4D效果图超棒的4d效果,包含了超酷的光影效果以

CSS 2018-01-02 发布
20 浏览

jQuery UI和jQuery Mobile的未来

jQueryUI和jQueryMobile在过去几年都经历了什么,好像销声匿迹了一样。新的项目负责人AlexSchmitz在博客上发表声明,简述了这两个项目面临的窘境以及后续的计划。jQueryUI和jQueryMobile过去几年的日子并不好过,因为各种原因,这两个项目面临资源和资金短缺的问题,项目贡献者也在逐步减少。这些问题几乎让项目的开发止步不前,为了改变这种现状,我们决定在开发团队内做出一些改变。多年来,ScottGonzalez一直在领导jQueryUI项目的开发,并为项目做出了卓越的贡献。尽管他决定不再领导该项目,但仍然会通过各种方式来帮助项目发展。为了优化资源配置,我们决定把这两个团队合并成一个,并由AlexSchmitz来领导。Alex是jQueryUI项目的长期贡献者,同时也是jQueryMobile项目负责人。合并后的团队可以更好地开发项目,因为原本两个项目有着紧密的联系——jQueryMobile依赖了jQueryUI。当然,这并不是说两个项目会变成一个,它们仍然会保持自己的代码库。不过,我们

jQuery 2018-01-02 发布
AD 友情赞助
7 浏览

基于 HTML5 WebGL 的 3D 场景中的灯光效果

构建3D的场景除了创建模型,对模型设置颜色和贴图外,还需要有灯光的效果才能更逼真的反映真实世界的场景。这个例子我觉得既美观又代表性很强,所以拿出来给大家分享一下。本例地址:http://www.hightopo.com/guide/guide/core/lighting/examples/example_flowing.html例子动图:上面场景中主要的知识点包括:3D灯光以及3D模型的流动。场景搭建整个场景中包括2D场景(也就是鹰眼部分)以及3D场景:dm=newht.DataModel();g3d=newht.graph3d.Graph3dView(dm);g3d.setGridVisible(true);//指定是否显示网格g3d.setGridColor('#74AADA');//指定网格线颜色g3d.getView().className='main';//设置类名document.body.appendChild(g3d.getView());//将3d组件添加进body体中win

HTML5 2018-01-02 发布
12 浏览

中小型研发团队架构实践:小工具合集

一、ORM工具1.1、Dapper.NET简介Dapper.NET是个开源的轻型ORM。它扩展了IDbConnection接口的功能,所以只要某类实现IDbConnection接口,那么该类对象就能调用到Dapper.NET中的方法。提供的Dapper.dll,支持.NETFramework4.0版本及其上版本。1.2、为什么选择使用Dapper.NET语法十分简单,易学易用。无须依赖于具体的数据库工具,它能和所有.NETado提供商一起工作,如:MSSQLServer、Oracle、MySQL、PostgreSQL、SQLite、SqlCe、Firebird等。运行速度十分快,接近于IDataReader,因为它的映射工作原理是通过Emit反射IDataReader的序列队列,来快速地产生对象。如下两表显示的数据(数据由官网提供)体现了它的性能优势。PerformanceofSELECTmappingover500iterations-POCOserialization:

.Net 2018-01-02 发布
14 浏览

使用C#来面向GPU编程

一直以来,我们都在使用NVIDIA的CUDA平台编写通用程序来发挥NVIDIAGPU的计算性能优势。尽管CUDA支持不同的编程语言,但是编写高性能的代码通常需要使用C或者C++。许多开发者为了编写面向GPU的代码,不得不放弃使用他们更喜欢的编程语言。直到最近,C#开发者终于可以摆脱这种困境了。Altimesh推出的新编译工具——Hybridizer,通过为C#开发者提供一种新的编译方法来解决这个问题。它将开发者的源代码编译成面向GPU的可以运行在CUDA平台上的二进制代码。Hybridizer分为两个版本,旨在满足不同的需求和预算。HybridizerEssentials作为VisualStudio的一个扩展,对所有用户免费。它能够生成运行在CUDA平台上的二进制代码。HybridizerSoftwareSuite(HSE)是授权软件,提供面向CUDA以及其它平台(包括AVX、AVX2和AX512)的编译功能。该软件套件可以生成二进制代码,但是也可以选择生成CUDA源代码,使用户能够审核正在编译的内容。配

.Net 2018-01-02 发布
AD 友情赞助
10 浏览

2018第一发:记一次【Advanced Installer】打包之旅

2018第一发:记一次【AdvancedInstaller】打包之旅一、前言2017年最后几天,你们都高高兴兴的跨年,博主还在加班制作.net安装包。因为年前要出来第一版的安装包,所以博主是加班加点啊。本来想用VS自带的制作工具,不过用过的人都知道,真是非常好(tong)用(ku),各种包需要单独下载不说,界面也不美观,所以决定弃用之。同事推荐用AdvancedInstaller,不过同事也是很久不用了,记不起来具体用法。所以博主是边摸索边前进,所以不免跳进坑里,为了避免后来人跳进同样的坑里,作文以记之。好了,不说废话,正文开始!二、画流程图俗话说的好,“磨刀不误砍柴工”!首先强调一点,我们要先弄清楚我们每一步要做什么,这样接下来在制作安装包时才能条理清晰,有条不紊,不容易犯错。比如我们要判断客户机器上是否安装.netframework3.5及以上版本,是否安装IIS,是否安装SQLServer2005及以上版本数据库等等。我这个项目的流程图如下:Tips1:开始之前最好先画流程图三、开始制作有了流程图,只

.Net 2018-01-02 发布
15 浏览

[UWP]了解IValueConverter

1.前言IValueConverter是用于数据绑定的强大的武器,它用于Value在BindingSource和BindingTarget之间的转换。本文将介绍IValueConverter的用法及一些常用的实现。2.为什么要使用IValueConverter假设有如下的类TestResult:publicclassTestResult{publicboolPassed{get;set;}}UI需要通过Passed这个属性决定显示结果的文字颜色为红色或绿色,一般初学者最常见的做法是修改TestResult类,添加一个和Passed相关的属性:publicclassTestResult{publicboolPassed{get;set;}publicBrushTestResultBrush{get{if(Passed)returnnewSolidColorBrush(Colors.Red);elsereturnnewSolidColorBrush(Colors.Green);}}}然

.Net 2018-01-02 发布
11 浏览

Handler运行机制

Handler运行机制是Android消息处理机制的上层接口.依靠Looper,MessageQueue,Message支撑/协作.在主线程中不能放置耗时任务,否则会引起ANR.所以一般耗时任务会放在子线程当中.由于Android开发规范,在子线程中不能进行UI操作.不可避免地涉及进行线程之间通信问题.所以有人说,Handler运行机制就是用来处理UI线程与子线程之间的通信的.这仅仅是Handler运行机制的一个应用场景.比如还可以实现子线程向子线程发送消息,可以参考下这篇文章.四个重要角色MessageMessage是消息的载体,比较重要的两个字段是obj与what字段,obj就是需要传递消息的内容,what标志消息的类型,方便在接收的时候处理.MessageQueue存储Meesage的单链表,向外提供读取next方法,与enqueueMessage入队操作.Looper维护MessageQueue,开始工作时,不

消息系统 2018-01-01 发布
AD 友情赞助
15 浏览

为什么很多程序员工作时都戴耳机?原因意外!

观点一:非诚勿扰,想静静1、啥也没听,只是戴着耳机而已。只是想告诉别人不要打扰我,选择性屏蔽一些讨厌的人说的话,不回答他。2、在听笑话或者有声小说。特别不想工作的时候我会很认真的听,如果进入工作状态了,自己也就不知道在听什么了,然后等到没事的时候我会再翻过去听一遍。3、在听歌。大概率的情况我是在听歌。有时候办公室有人聊天我会开很大声音,特别是调bug的时候,这样就可以隔离外界的声音,让自己的思路清晰一点。特别是有些人说话的声音很刺耳,带上耳机我就听不到了。观点二:工作内容需要大量持续的时间来完成带耳机有两种情况1、第一种情况就是本身喜欢听歌,就是听听音乐,做开发大部分时候,都是自己在写,是持续的工作,所以听个音乐挺好的。2、第二种情况就是公司太吵。开发工作,有很多逻辑内容,需要静心思考,有时候一个逻辑要想很久,不能被打断,打断会很痛苦,参考写作文的时候的感受。然而,同个办公室总有些需要大量说话的职位,会干扰到程序员。甚至公司会有些闲人,唧唧哇哇,说些八卦什么的,有时候挺吸引人,但是眼看deadline越来越近,必须

程序员 2018-01-01 发布
19 浏览

前端项目重构的些许收获

webpack切片打包entry:{index:'./index.jsx',1:'./1/router/index.jsx',2:'./2/router/index.jsx',3:'./3/router/index.jsx',vendor:['react','react-router-dom','antd','prop-types','react-router-redux','react-redux','redux','lodash','react-dom',],},路由根路由只需指向每个模块的路由文件即可{/*xxx路由start*/}{/*xxx路由start*/}{/*xxx路由start*/}

JavaScript 2018-01-02 发布
18 浏览

一个没毕业就工作的程序员2017总结以及对2018的展望

2017年可以说是我步入工作最精彩的一年,换了2家公司,也算是暂时找到了一个自己呆着比较舒服的地方,有很多人说程序员不要老跳槽,但是在现在这样的大环境下,仅仅通过面试了解还有网上调查已经不能知道你要去的公司的真正面目。所以当我在一家公司待了一个小段时间之后都会面临这样的问题,当时面试和你说得好好的,入职之后工作之后都不会实现,比如入职之前说好不加班965的,入职之后给你强制996甚至更多,还有的给你各种画大饼,有的甚至大饼都懒得给你画。这样看不到未来的公司留下只会浪费自己的时间所以我选择了离开。天下熙熙皆为利来,天下攘攘皆为利往。在这一年中技术方面的成长其实也算丰富。Android技术中级开发80%吧,目前正在往底层探索,步向高级开发工程师的范畴,工程师这个名字实在是太喜欢了。前端开发也算还好,毕竟是做Android的,走的不是很深,能干活,知道怎么回事,能写东西,也不想走的很深。对于Python这种胶水语言越发的感兴趣,自学了爬虫还有后台架设,后台也就在门口晃晃,没有项目代手还是不好实践的,自己写的小东西也就那样数据库这门技术真

程序员 1900-01-01 发布
AD 友情赞助
21 浏览

以程序员的角度玩微信跳一跳

前些日子微信推出了一款小游戏「跳一跳」,游戏中玩家需要扮演一个「黑色」小人,在不同颜色、形状的跳板方块间进行跳跃。操作也很容易,按压屏幕越久,小人会跳得越远。显然这游戏对我这样的手残党非常不友好若干次徘徊在十位数后,决定好好研究这个游戏,用程序员的思路去解决它。外挂无非两种:内存修改、物理辅助。这里研究后者,也就是识别出跳跃距离后,换算成时间后模拟真实触碰操作。这种方式最保险,而且不容易被后台察觉XD观察棋子,不难发现棋子的颜色始终是没有变化的,因此可以根据颜色识别出棋子中最宽的部分,取中心即可棋盘部分比较难识别,忽略掉背景色后会有阴影等因素的干扰,还有前后两个棋子紧挨的特殊情况。考虑从上到下做行扫描,提取出所有连续的颜色块,排除掉中心点与棋子过于靠近的情况,这样就避免识别到棋子头部,取最上面且长度大于棋子宽度的切片,就得到目标点横坐标。对于纵坐标可以只考虑棋盘右侧,这样就不需要和阴影打交道。棋盘只有圆盘、方块两种类型,边缘的锯齿状如下容易发现规律,方块的中心线位于边缘峰值处,圆盘的中心线在峰

程序员 2018-01-01 发布
15 浏览

提升团队的微服务落地能力

【编者的话】微服务体系的发展并不是一蹴而就的,经过了2014年前后的低潮期,微服务概念顶层的泡沫逐渐褪去,那些真正能够在企业落地的实践在一轮又一轮的大浪淘沙后被甄别、沉淀。这篇文章希望讨论一些在团队中实行微服务架构时值得考虑的『增值项目』,它们中的一些看起来已经是理所应当的,而另一些似乎和微服务并没有必然的关联,但许多经验能够证明这些项目都是保障微服务系统长期运作并最大化发挥其ScaleOut能力值得投入的高附加值实践。持续交付对于微服务的成功实施,团队持续交付能力是至关重要的衡量指标。在由上百个服务组成的复杂系统中,如果所有服务都按照人为指定发布周期进行整体交付,很容易出现由于细小的失误导致大面积线上故障。持续交付实践要求每个独立服务都具有完备的交付流水线,在流水线的末端随时能提供当时最新的可工作、可交付的产品。持续交付通常会配合自动化的测试和部署手段,从而减少功能代码提交到上线的端到端时间。这就使得每个独立服务能按照各自不同的节奏进行发布,并且将自己的发布状态可视化出来。采用尽可能精简且稳定的分支策略也是使得持续交付流程能够顺利

软件架构 2018-01-01 发布
16 浏览

GET or OUT!2018年这六个“爆款”IT技能将成为加薪跳槽利器

这是一个最好的时代,也是一个最糟糕的时代,这句话对于IT人来说尤其适用,如果你没有找到正确的技能路径并持续学习,很快就会被风起云涌的科技潮流和时代抛弃,结局比下岗工人更糟。近日,科技招聘网站Indeed对过去两年的职位搜索流量进行分析后,对2018年的IT行业需求趋势进行了预测,并给出了2018年最火爆的IT技能预测:一、ReactReact是一个用来开发UI用户界面的javaScript程序库,由Facebook、Instagram等企业和独立开发者们维护。2017年RactProject是GitHub上贡献者人数第二多的“爆款”项目。React的发展势头也很猛,是2017年Indeed上求职者们搜索关键词增长最快的IT技能,尤其是对于前端开发者来说,React已经是不可或缺的核心技能。二、Azure和AWS点评:微软的Azure和亚马逊的AWS都是流行的公有云平台,提供从PaaS、SaaS、IaaS以及数据库、存储和物联网、人工智能等大量丰富服务和应用,随着越来越多的企业开始向云计算迁移,Azure(广泛适用Pytho

Angular 2018-01-01 发布
23 浏览

web前端vue:子组件向父组件传递数据

在这里先祝大家2018元旦快乐,2017没完成的事,我们2018不忘初心继续前行。上次我们说到了vue的组件之间父组件向子组件传递数据(用了props)这次我们反过来,来说说子组件向父组件传递数据(没看到上一篇的同学可以先去看看),其实用起来都大同小异很相似,我们还是直接看例子如下:b.vue子组件exportdefault{data(){OSSauthorizationobj:[]//oss配置},methods:{uploadFunOK(file){letinput=document.getElementById('uploadBtn')letfilePathName=this.OSSauth

JavaScript 1900-01-01 发布
21 浏览

koa session 的思考

koasession的思考session是什么?自己google.cookie是什么?自己google.cookie和session的关系是?自己google.如何识别是那个用户登录的?用户登录系统,系统生成cookie,浏览器获取到http的响应,则会在客户端保存cookie的值.用户的每次请求都会带着cookie的信息到服务器,服务器获取到这个cookie的值,则会得到session里面的信息(不同的语音会有不同的解析方法,原理是一样的),从而知道了是哪一个用户.cookie和session是关联的,那么cookie丢了后是不是就不安全了?这里不做讨论.可以google.session的存储文件的保存数据库保存session文件存储一般情况session的信息保存在操作系统的文件中,不同语言保存的形式不一,结构有差异.-优点:使用简单适合小型的网站读取速度快-缺点:不安全(相对)时间长了后session文件会很多不适合大型的网站使用.session数据库保存现在的服务器一般都要做负载均衡,

JavaScript 2017-12-12 发布
14 浏览

《Node.js设计模式》使用流进行编码

本系列文章为《Node.jsDesignPatternsSecondEdition》的原文翻译和读书笔记,在GitHub连载更新,同步翻译版链接。欢迎关注我的专栏,之后的博文将在专栏同步:Encounter的掘金专栏知乎专栏Encounter的编程思考segmentfault专栏前端小站CodingwithStreamsStreams是Node.js最重要的组件和模式之一。社区中有一句格言“Streamallthethings(Steam就是所有的)”,仅此一点就足以描述流在Node.js中的地位。DominicTarr作为Node.js社区的最大贡献者,它将流定义为Node.js最好,也是最难以理解的概念。使Node.js的Streams如此吸引人还有其它原因;此外,Streams不仅与性能或效率等技术特性有关,更重要的是它们的优雅性以及它们与Node.js的设计理念完美契合的方式。在本章中,将会学到以下内容:Streams对于Node.js的

JavaScript 2018-01-01 发布
18 浏览

javascript + sql编写SQL客户端工具tabris

祝大家2018新年快乐,前不久发现了一个创意的脚本JtSQL(java编写)开源地址为:https://github.com/noear/JtSQLJtSQL特点:*.结合了JS、SQL、模板理念;*.保持了JS和SQL的语法高亮(利于DBA审核);*.方便统一管理、部署、运行*.像存储过程一样,提供当前上下文及变量支持;*.像SQL客户端工具一样,即时编写即时运行;*.像定制统计程序一样,提供过程和逻辑控制能力;*.服务端运行(别误会成客户端运行啊...)确实在工作中总会遇到这样的问题经常去拉sql,有时候一句sql执行搞不定就得分多次sql,写sql写的心累。把JavaScript和sql结合起来确实很赞。能解决一直困扰的问题以这个为创意点我也搞了一个工具我命名为tabris脚本工具开源地址为:https://github.com/yuzd/ClearScript.Manager(ps:大家有建议尽管提)特色:1包含JtSQL的所有特性2利用微软的ClearScriptV8engine详细

JavaScript 2018-01-01 发布
7 浏览

如何针对 iPhone X 设计网站?

本文译自webkit.org的DesigningWebsitesforiPhoneX。这是一篇来自苹果关于iPhoneX适配的官方指南,希望可以帮助各位前端开发者做好iPhoneX的适配。下面关于安全边距的内容于2017年10月20日有更新,跟进iOS11.2beta的一些变化。在全面屏的iPhoneX上,不需要而外的代码,Safari可以非常完美的展示现有的网站。整个网站的内容都会自动地展示在一个“安全区域”内,并不会被四周的圆角或者“小刘海”遮挡住。Safari使用页面的背景色(一般就是或者元素的background-color)来填充周围空出的区域,与页面的其他部分保持协调。这种方式可以解决网站大部分的问题。如果本身就是一个固定背景色上堆叠一些文字或者图片的网站,默认的填充区域看起来会很协调。不过还有一些网站——尤其是那些有横向贯穿的导航条的网站,像下面这样的就需要做一点额外的工作,使得在这种新的显示下继续利用全面屏的优势,且不显得突兀。i

HTML 2018-01-01 发布
AD 友情赞助