C语言函数调用约定

沈凡宸 2018-04-17 18:48:30

一、概述

本文主要讲解C语言函数调用约定。

或许多数童鞋有点不明白这个东西有什么作用和影响,在不清楚调用规则的情况下,我们依旧可以写出可用的甚至很好的代码。

可以说,C调用约定是一个非常关键和有用的机制,理解函数调用不仅可以使你写出更优质的代码,也可以拓宽你对编程语言的视野,更可以让你了解一些“不让播”的东西~当然,这里我

易项优选Android启动优化——一触即发做到秒开体验

张庚 2017-11-08 11:37:14

二话不说,先上图:

图一:未优化前APP启动的样子:

图二:优化后APP启动的样子:

对比这两幅图可以看到什么:

在图一中,APP的启动经历如下过程:点击桌面APP icon——>经历黑屏页面——>跳转到Splash页面; 在图二中,APP的启

Dagger2-从放弃到再次入门

穆秋实 2017-11-08 11:18:46

背景

说放弃有些夸张,其实之前简单了解过Dagger2框架,但是并没有深入研究。这次准备从依赖注入概念入手,通过写一个简单的Demo,掌握Dagger2最基本的使用,同时阅读最基础的生成源码,分析其注入过程

简介

Dagger,匕首,Jake Wharton大神三把刀中最著名的一把,是一个Android依赖注入框架,目前已经交由谷歌维护,开发到2.0+版本。其最大的作用,是用于模块间解耦,

页面卡顿优化总结

李军 2017-11-07 17:58:07

本文主要记录跳转可滑动项目详情页卡顿情况思考与解决过程,包括如下方面:

存在什么问题,优化之后预期达到什么样的目标 什么原因导致的这个问题 试错方案 最终解决方案 最终结果 总结 拓展 一、存在什么问题,优化之后预期达到什么样的目标

在项目列表页跳转项目详情页存在很大的卡顿问题,抓取堆栈信息,大概卡顿时间如图:

![图片

Redis 简介

崔志华 2017-11-03 13:52:18

简介 名字来源:REmote DIctionary Server 非关系数据库 可以存储key和5种不同类型的值Value 可以将存储在内存中的数据持久化到硬盘 可以使用复制特性来扩展读性能 可以使用客户端分片来扩展写性能(线性提升) 客户端分片:基于hash或者包含键的Id将数据存储到多台机器,也可以从多台机器里面获取数据,这种办法在处理某些问题时可以获得线性级别的性能提

易项优选 Android 7.0适配总结

张庚 2017-11-02 18:49:19

本文主要记录对易项优选APP进行Android 7.0 适配过程,其中包含如下内容:

易项优选APP 在Android 7.0上碰到的问题

适配7.0的步骤

第一步,声明provider 第二步,编写resource xml file 第三步,使用FileProvider API

这个特性将会影响到的使用场景以及解决方案

自动安装文件 调用系统拍照 调用系统裁剪 适配过程中遇到的问题 一、易项优选APP 在Android 7

MIXVM环境搭建

纪浩 2017-10-27 10:17:05

《计算机程序设计艺术》作为算法学科的开山之作,几乎所有程序员都听说过这本书的大名,但真正使用这本书来学习算法的人却寥寥无几,主要的原因有两个,一是书籍开头用接近100页的篇幅讲解书中用到的数学知识,这对于数学不好的同学来说,阅读体验及其不友好;二是作者为了

在线修改表结构

李伟 2017-10-26 11:41:25

1、问题

在MySQL中,使用ALTER TABLE语法会给整张表加锁,会导致两个问题:

改表过程中所有写操作(DML)会被阻塞 容易产生主从延迟 2、解决方案

percona提供了一个工具集,其中pt_online_schema_change能不影响业务的同时修改表结构(DDL),详情参考:https://www.percona.com/doc/percona-toolkit/2.2/pt-online-schema-change.html pt_online_schema_change的原理是:

首先按照原表结构复制一个

《网易一千零一夜》 读书笔记

彭小华 2017-10-25 18:21:22

首先介绍下这本书,网易杭州研究院出的,主要讲他们的项目经理是如何参与和推动项目。之前读的《卓有成效的管理者》、《领导梯队》等都是大而全的讲解管理原则,适用于各行各业,偏理论修内功。这本书主要是从实际项目出发,教了大量的招式,深度上也有一些,完全按照那些方法论来做,也能有板有眼像那么回事。项目经理本质是个管理岗,项目和人都不可能是通

从零开始发布一个 npm 包

张夫尧 2017-10-25 12:28:28

一、npm init

首先进入到项目目录,执行 npm init,效果如图:

一般来说,一路回车即可,如果对应的有 git 仓库,它也会自动填充。几个东西值得一说:

name 项目名,也就是以后发布的时候的 npm 包名。发布前随时可以改,所以也不用太担心重复。 entry point 入口文件,也就是别人 npm i

Vue 2.0 解读之 用 render 实现 replace: false

张夫尧 2017-10-25 12:27:31

背景

vue2.0 中去掉了 replace: false 这个参数,原因是 vue2.0 采用了 virtual dom,而其设计的数据结构需要唯一的根节点。

但是,根据实际需求就会发现,我们不可能永远让一个组件在内部控制其对外布局的样式,更多的情况应该是在外控制其对外布局的样式。从这个角度考虑,replace: false 参数对我们是有用的。

所幸,vue2.0 中提供了 render 这个方法,这个方法使得开发

抓包工具burpsuite

李伟 2017-10-25 12:17:32

1、burpsuite介绍

burpsuite是安全领域的一个很重要的辅助工具,它提供了一套工具集可以轻松地

查看请求 截获请求 发送请求 重复请求 篡改请求

很适合客户端同学抓包和排错。另外,个人觉得它比charles更加好用。

2、基础使用 2.1 下载安装burpsuite

https://portswigger.net/burp/download.html

2.2 burpsuite配置代理端口

![burpsuite配置代理端口](http://file.ethe