• Apollo GraphQL 在 webapp 中应用的思考

    Posted by : lon.y@qq.com on 2018年5月24日

    熟悉 Apollo GraphQL 的同学可直接跳过这一章,从 实践 一章看起。 GraphQL 作为 FaceBook 2015年推出的 API 定义/查询 语言,在历经了两年的发展之后,社区已相对发达和完善。对于 GraphQL 的一些基础概念,本文不再一一赘述,目前社区相关的文章已经很多,有兴趣的同学可以去 google,或者直接看GraphQL 官方教程 Apollo GraphQL Server 官方文档。 而 Apollo GraphQL 作为

    阅读全文...

  • 老树发新芽—使用 mobx 加速你的 AngularJS 应用

    Posted by : lon.y@qq.com on 2018年5月24日

    1月底的时候,Angular 官方博客发布了一则消息: AngularJS is planning one more significant release, version 1.7, and on July 1, 2018 it will enter a 3 year Long Term Support period. 即在 7月1日 AngularJS 发布 1.7.0 版本之后,AngularJS 将进入一个为期 3 年的 LTS 时期。也就是说 2

    阅读全文...

  • Redux 源码剖析及应用

    Posted by : lon.y@qq.com on 2018年5月24日

    使用redux+react已有一段时间,刚开始使用并未深入了解其源码,最近静下心细读源码,感触颇深~ 本文主要包含Redux设计思想、源码解析、Redux应用实例应用三个方面。 背景: React 组件 componentDidMount 的时候初始化 Model,并监听 Model 的 change 事件,当 Model 发生改变时调用 React 组件的 setState 方法重新 render 整个组件,最后在组件 componentWillUnmo

    阅读全文...

  • css3D 的魅力

    Posted by : lon.y@qq.com on 2018年5月24日

    前言: 最近玩了玩用css来构建3D效果,写了几个demo,所以博客总结一下。  在阅读这篇博客之前,请先自行了解一下css 3D的属性,例如:transform-style,transform-origin,transform, perspective。 demo1 高度可变的立方体,先来看看最终效果,自己弄得有点丑,如果设计师调下色,添加点元素应该会好看的多 1.  我们先用css实现一个长方体,一个长方体有6个边,我们写6个div,并用一个div包裹

    阅读全文...

  • Vertical-Align,你应该知道的一切

    Posted by : lon.y@qq.com on 2018年5月24日

    好,我们聊聊vertical-align。这个属性主要目的用于将相邻的文本与元素对齐。而实际上,verticle-algin可以在不同上下文中灵活地对齐元素,以及进行细粒度的控制,不必知道元素的大小。元素仍然在文档流中,因而其他元素可以根据它们大小的变化进行相应的调整。一个有用的例子就是居中图标与旁边的文本。 Vertical-Align是个怪物 可是,vertical-align有时候也很难搞,经常导致困惑。好像有什么神秘的规则在起作用。比如,我们改变了

    阅读全文...

  • Python 项目可以有多大

    Posted by : lon.y@qq.com on 2018年5月23日

    总是看到有人说,动态一时爽,重构火葬场。然而这世界上有的是著名的开源项目, 也有像 Github、Instagram 这样流量巨大的知名网站是基于动态语言开发的,经过了这么多年重构,也未听说哪个作者进了火葬场的,不明白这些人是真的不知道还是装作看不见呢?不过他们说动态语言大到一定程度就无法维护,虽然这话也同样不值一驳,不过也提醒了我,我也很好奇用动态语言开发的项目规模能大到什么程度。 从我知道的信息看,用动态语言开发的最大规模的项目可能要算是 OpenSt

    阅读全文...

  • 详解 Linux 文档属性、拥有者、群组、权限、差异

    Posted by : lon.y@qq.com on 2018年5月23日

    写在前面 我们都知道Linux是一个支持多用户、多任务的系统,这也是它最优秀的特性,即可能同时有很多人都在系统上进行工作,所以千万不要强制关机,同时,为了保护每个人的隐私和工作环境,针对某一个文档(文件、目录),Linux系统定义了三种身份,分别是拥有者(owner)、群组(group)、其他人(others),每一种身份又对应三种权限,分别是可读(readable)、可写(writable)、可执行(excutable)。 文档属性 使用命令ls -al

    阅读全文...

  • 使用交互式 shell 来增强你的 Python

    Posted by : lon.y@qq.com on 2018年5月22日

    Python 编程语言已经成为 IT 中使用的最流行的语言之一。成功的一个原因是它可以用来解决各种问题。从网站开发到数据科学、机器学习到任务自动化,Python 生态系统有丰富的框架和库。本文将介绍 Fedora 软件包集合中提供的一些有用的 Python shell 来简化开发。 Python Shell Python Shell 让你以交互模式使用解释器。这在测试代码或尝试新库时非常有用。在 Fedora 中,你可以通过在终端会话中输入 python3

    阅读全文...

  • 5 个用 Python 编写非阻塞 web 爬虫的方法

    Posted by : lon.y@qq.com on 2018年5月21日

    大家在读爬虫系列的帖子时常常问我怎样写出不阻塞的爬虫,这很难,但可行。通过实现一些小策略可以让你的网页爬虫活得更久。那么今天我就将和大家讨论这方面的话题。 用户代理 你需要关心的第一件事是设置用户代理。 用户代理是用户访问的工具,并告知服务器用户正在使用哪个网络浏览器访问网站。 如果未设置用户代理,许多网站不会让你查看内容。 如果你正在使用rquests库,可以执行如下操作: headers = { 'user-agent': 'Mozilla/5.0 (

    阅读全文...

  • 分布式之消息队列复习精讲

    Posted by : lon.y@qq.com on 2018年5月21日

    引言 为什么写这篇文章? 博主有两位朋友分别是小A和小B: 小A,工作于传统软件行业(某社保局的软件外包公司),每天工作内容就是和产品聊聊需求,改改业务逻辑。再不然就是和运营聊聊天,写几个SQL,生成下报表。又或者接到客服的通知,某某功能故障了,改改数据,然后下班部署上线。每天过的都是这种生活,技术零成长。 小B,工作于某国企,虽然能接触到一些中间件技术。然而,他只会订阅/发布消息。通俗点说,就是调调API。对为什么使用这些中间件啊?如何保证高可用啊?没有

    阅读全文...