2016-10-26 ruki
xmake的工程描述文件xmake.lua虽然基于lua语法,但是为了使得更加方便简洁得编写项目构建逻辑,xmake对其进行了一层封装,使得编写xmake.lua不会像些makefile那样繁琐 基本上写个简单的工程构建描述,只需三行就能搞定,例如: lua target("test") set_kind("binary") add_files("src/*.c") 然后只需要执行编译并且运行它: bash $ xmake run test 这对于想要临时写些测试代码来讲,极大地提升了开发效率。。 作用域与工程描述语法 xmake的描述语法是按作用域划分的,主要分为: 外部作用域 内部作用域 继续阅读 »
2017-01-12 ruki
之前在给xmake做构建的效率优化的时候,需要对lua脚本的api调用性能进行分析,分析出最耗时一些lua调用api, 找出性能瓶颈,来针对性地进行优化,那么问题来了,如果对lua脚本像c程序那样进行profile呢? 我们现在看下最后实现完的最终效果: 4.681, 98.84%, 1, anonymous : actions/build/main.lua: 36 3.314, 69.98%, 1, anonymous : actions/build/main.lua: 66 3.314, 69.98%, 继续阅读 »
2017-03-04 ruki
New features Add --links, --linkdirs and --includedirs configure arguments Add app2ipa plugin Add dictionary syntax style for xmake.lua Provide smart scanning and building mode without xmake.lua Add set_xmakever api for xmake.lua Add add_frameworks api for objc and swift Support multi-languages extension and add golan 继续阅读 »
2016-06-28 Alex Sun
一、引言 最早接触爬虫,是发现了一个叫做『豆瓣妹子』的网站,写了一个简单的程序可以批量下载图片。后来陆陆续续抓取过豆瓣电影,Google+,facejoking等网站。毕设的选题也是抓取新浪微博,然后分析博文的传播情况。最近一直对知乎的数据感兴趣,于是开发了Node模块zhihu-api,用于简化数据的抓取。 通常来说,所谓的爬虫,无非是通过程序来发送HTTP请求。因此理论上来说,所有浏览器能访问到的内容,都是可以通过爬虫来进行抓取的。 一般而言,我们所感兴趣的信息,只是页面中的某一部分数据,例如:某个标签的文本、链接地址、图片地址等。有些网站会提供开放的API(往往也会有很多限制),这时只需要直接请求该API,就可以拿到比较 继续阅读 »
2017-08-26 Piasy
NDK
本文的前身是一篇笔记,比较零碎,发布出来是为了让后续的文章可以有一个基本的参考,本文会持续更新。 NDK 的高性能最常见的场景:多媒体,游戏。此外,利用 NDK 还能练习 C/C++,一举两得。 基本概念 shared library, .so static library, .a JNI: Java Native Interface Application Binary Interface, ABI:我们将符号修饰标准、变量内存布局、函数调用方式等跟可执行代码二进制兼容性相关的内容称为程序的 ABI(摘自《程序员的自我修养》); Application Programming Interface, API:API 是源码层面 继续阅读 »
2015-09-08 Li Shuai
Memcached作为高性能的分布式内存对象缓存系统,在web服务里应用较广,和高性能的异步非阻塞服务器Tornado搭配起来可以大幅提高服务端的性能。 应用Memcached缓存热点请求结果 我们给客户端提供api,通过json来返回http请求的结果,一般Web服务都是如此。由于用的是Tornado,所以逻辑上大概长这样: 一个请求对应一个RequestHandler对象,RequestHandler类通过定义get/post方法来处理http请求,结果会通过write方法写到一个write_buffer里,最终有flush方法负责将write_buffer里的结果返回给客户端。 缓存的话,我们一般是这样: 从Torn 继续阅读 »
2014-09-27 jude
阅读 gulp API,有一点要注意的就是: gulp默认以最大并发执行任务,怎样保证某些任务按顺序(即 task A 在 task B 完成之后)执行呢? 继续阅读 »
2020-09-10 Robin Wen
文/Robin 最近,知名 EOS 区块链浏览器 EOSPark 在官网做了如下通知: 我们计划于 2020 年 09 月 16 日关闭 EOSPark.com 站点及相关附属服务。若您的产品对 EOSPark 有依赖,请尽快完成迁移,不便之处尽请谅解。如有疑问请联系 eos@blockabc.com。 并且还给出了如下提示: EOSPark 部分数据由 dfuse API 提供支持,我们推荐使用您同样由 dfuse 团队搭建的 eosq 高精度区块浏览器。 至此,国内最专业的 EOS 数据服务提供商谢幕了。 想想也觉得挺惋惜的,当初 EOS 主网上线,大家是多么地期待 EOS 的创新能给区块链世界带来多大的变化。可 继续阅读 »
2014-06-05 summer
简介 随着mysql被oracle收购之后,很多企业和机构都纷纷选择逃离mysql。而mysql之父在原mysql的基础上开源了一个新的数据库Mariadb。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。 继续阅读 »
2014-11-21 码农明明桑
在几个月之前,我已经写过一篇使用gradle构建android项目的博客了http://blog.isming.me/2014/05/20/android4gradle/,那篇文章已经介绍了如何使用gradle进行项目构建,以及为谷歌会推荐使用gradle。当时android的gradle插件是0.11.0,现在插件的版本已经是0.14.3了,对于一些老的方法和api,有一些已经被移除,无法使用。因此有必要再写一篇博客介绍这些被移除的部分和替代方案。同时由于个人学识原因,当时没有介绍的一些技巧,其他功能,也会在本文中进行介绍。 more 和上一篇文章相比不兼容的地方 没有看过我另一篇文章的,建议去看一下。 以下这些属性改名 继续阅读 »