<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[青青的专栏--C/C++ OOA/D  Design Pattern]]></title><description><![CDATA[Everyday is everything!]]></description><link>https://blog.youkuaiyun.com/metasearch</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; metasearch]]></copyright><item><title><![CDATA[DLL中导出类的成熟方法]]></title><link>https://blog.youkuaiyun.com/metasearch/article/details/92679542</link><guid>https://blog.youkuaiyun.com/metasearch/article/details/92679542</guid><author>metasearch</author><pubDate>Mon, 17 Jun 2019 19:00:05 +0800</pubDate><description><![CDATA[最近研究在DLL中导出类，探寻最佳的DLL导出类的方法和技术。把整个过程记录一下，防止遗忘。

基础知识

动态链接库

动态链接库（英语：Dynamic-link library，缩写为DLL）是微软公司在微软视窗操作系统中实现共享函数库概念的一种实现方式。这些库函数的扩展名是.DLL、.OCX（包含ActiveX控制的库）或者.DRV（旧式的系统驱动程序)。

所谓动态链接，就是把一些经常会共...]]></description><category></category></item><item><title><![CDATA[前端资源汇总]]></title><link>https://blog.youkuaiyun.com/metasearch/article/details/84648619</link><guid>https://blog.youkuaiyun.com/metasearch/article/details/84648619</guid><author>metasearch</author><pubDate>Fri, 30 Nov 2018 13:58:28 +0800</pubDate><description><![CDATA[github上最全的资源教程-前端涉及的所有知识体系：https://blog.youkuaiyun.com/qq_34348873/article/details/52572008

GitHub上收集的最全的前端资源汇总（包括前端学习、求职、开发资源）：https://www.imooc.com/article/12645

github上的学习材料一：前端涉及的所有知识体系：https://blog.c...]]></description><category></category></item><item><title><![CDATA[微信小程序最新部署说明]]></title><link>https://blog.youkuaiyun.com/metasearch/article/details/84646834</link><guid>https://blog.youkuaiyun.com/metasearch/article/details/84646834</guid><author>metasearch</author><pubDate>Fri, 30 Nov 2018 13:38:09 +0800</pubDate><description><![CDATA[折腾了半天，终于把wafer2登录成功了。现在帖子都是老的，登录不上，现在给你们普及最新的。



server中的config.js需要更改三个地方：



  1. 获取appid

   2. 获取secretkey

   3. 将自动代理设置为false

https://github.com/tencentyun/wafer2-quickstart/issues/1...]]></description><category></category></item><item><title><![CDATA[大数据知识体系]]></title><link>https://blog.youkuaiyun.com/metasearch/article/details/78271982</link><guid>https://blog.youkuaiyun.com/metasearch/article/details/78271982</guid><author>metasearch</author><pubDate>Wed, 18 Oct 2017 13:49:27 +0800</pubDate><description><![CDATA[在企业里面从事大数据相关的工作到底需要掌握哪些知识呢？我认为需要从两个角度来看：一个是技术；一个是业务。技术上主要涉及到概率和数理统计，计算机系统、算法和编程等；而业务的角度呢则是因公司业务的不同而异。对于从事大数据的工程人员来说，需要学会使用数据挖掘方法在计算机系统和编程工具的帮助下解决实际的问题，这样才能够在海量数据中挖掘出业务增长的助推剂，才能在激烈的市场竞争中为企业创造更多的价值。

]]></description><category></category></item><item><title><![CDATA[laucher添加widget过程]]></title><link>https://blog.youkuaiyun.com/metasearch/article/details/78247608</link><guid>https://blog.youkuaiyun.com/metasearch/article/details/78247608</guid><author>metasearch</author><pubDate>Mon, 16 Oct 2017 11:07:53 +0800</pubDate><description><![CDATA[最近打算研究下android的widget相关问题，并把一些心得在此稍作记录，哈哈，等研究完成了，如果有必要的话，也会把改动的源码贴出来，以飨读者。今天先来看看launcher2中添加widget的流程。

    添加widget首先需要在laucher的空白处长按，所以首先定位在laucher的 public boolean onLongClick(View v) 中，看到：


]]></description><category></category></item><item><title><![CDATA[Launcher3分析之拖动图标的流程]]></title><link>https://blog.youkuaiyun.com/metasearch/article/details/78176250</link><guid>https://blog.youkuaiyun.com/metasearch/article/details/78176250</guid><author>metasearch</author><pubDate>Sun, 08 Oct 2017 18:00:34 +0800</pubDate><description><![CDATA[Launcher3分析之拖动图标的流程——按下



拖动图标是Launcher的特色，非常形象地解释了如何改变桌面的布局，让小白用户也可以轻松上手，这背后所做的工作也是把复杂的东西简单化，简单到按下-移动-松开。

今天说一说这个按下的过程是如何产生的。这里说的按是长按，长按就要找到他的长按监听器。在Workspace中addInScreen方法最后，给图标设置的监听器是Launch]]></description><category></category></item><item><title><![CDATA[Launcher3的启动流程（二）]]></title><link>https://blog.youkuaiyun.com/metasearch/article/details/78176189</link><guid>https://blog.youkuaiyun.com/metasearch/article/details/78176189</guid><author>metasearch</author><pubDate>Sun, 08 Oct 2017 17:48:09 +0800</pubDate><description><![CDATA[在启动流程的上一篇之中，Launcher的onCreate方法做了一些准备工作。下面就要LoaderTask上场了。



Activity.onCreate在接近结尾的地方调用了mModel的startLoader方法，他把LoaderTask对象放到了工作线程中。

为什么放到另外一个线程？因为加载的过程有时候会很漫长，在UI线程可能会造成ANR（如果你对Handler和Handl]]></description><category></category></item><item><title><![CDATA[LauncherRootView和DragLayer的布局过程]]></title><link>https://blog.youkuaiyun.com/metasearch/article/details/78176127</link><guid>https://blog.youkuaiyun.com/metasearch/article/details/78176127</guid><author>metasearch</author><pubDate>Sun, 08 Oct 2017 17:37:46 +0800</pubDate><description><![CDATA[话说讲解Launcher3的布局过程真是要耗费一番功夫了，因为他的过程很难理解， 一般来说我们普通应用的布局过程其实都是按照系统自带的ViewGroup来的，如果自定义了一些布局方法，开发者在考虑xml标记的布局文件的时候，还要考虑运行时的一些动态变化。

在接着往下读之前，你最好先去了解一下View的绘制流程。

在主布局launcher.xml中， 最外层是LauncherRootVi]]></description><category></category></item><item><title><![CDATA[Launcher3的启动流程（一）]]></title><link>https://blog.youkuaiyun.com/metasearch/article/details/78176109</link><guid>https://blog.youkuaiyun.com/metasearch/article/details/78176109</guid><author>metasearch</author><pubDate>Sun, 08 Oct 2017 17:35:52 +0800</pubDate><description><![CDATA[Launcher3作为一个用户经常使用，常驻内容的应用，运行时维护着许多信息，而这些信息都需要在开机的时候加载完，今天就来分析下Launcher3是怎样一步一步启动的。

如果你手里还没有源码，请点击这里，编译并让他在你的手机上运行。然后打开Eclipse，一步步跟着走。

在启动Launcher这个Activity之前，先看下桌面的LauncherApplication吧，任何一个组件(]]></description><category></category></item><item><title><![CDATA[Creating custom and compound views in Android - Tutorial]]></title><link>https://blog.youkuaiyun.com/metasearch/article/details/78172498</link><guid>https://blog.youkuaiyun.com/metasearch/article/details/78172498</guid><author>metasearch</author><pubDate>Sat, 07 Oct 2017 23:29:10 +0800</pubDate><description><![CDATA[Table of Contents1. Custom Views2. Compound Views3. Creating custom views4. Life cycle of a Andoid view5. Define additional attributes for your custom Views6. Exercise: Create a compound view7. Canvas]]></description><category></category></item><item><title><![CDATA[android的消息处理机制（图+源码分析）——Looper,Handler,Message]]></title><link>https://blog.youkuaiyun.com/metasearch/article/details/72550942</link><guid>https://blog.youkuaiyun.com/metasearch/article/details/72550942</guid><author>metasearch</author><pubDate>Fri, 19 May 2017 17:57:23 +0800</pubDate><description><![CDATA[http://www.cnblogs.com/codingmyworld/archive/2011/09/14/2174255.html


作为一个大三的预备程序员，我学习android的一大乐趣是可以通过源码学习google大牛们的设计思想。android源码中包含了大量的设计模式，除此以外，android sdk还精心为我们设计了各种helper类，对于和我一样渴望水平得到进阶的人来说]]></description><category></category></item><item><title><![CDATA[AppOps 命令大全]]></title><link>https://blog.youkuaiyun.com/metasearch/article/details/71487308</link><guid>https://blog.youkuaiyun.com/metasearch/article/details/71487308</guid><author>metasearch</author><pubDate>Tue, 09 May 2017 18:55:37 +0800</pubDate><description><![CDATA[AppOps应对Android应用流氓权限行为及肆无忌惮的后台服务


AppOps是Android 自4.3加入的应用权限授权管理框架，虽然到了后来6.0引入了另外一套方案Android Runtime Permission，但是 AppOps并没有被废弃掉，它依然存在于系统框架内，只不过没有图形管理入口而已，但是依然保留并增加了API，而且AppOps命令行管理工具依然可用。我们所用到的]]></description><category></category></item><item><title><![CDATA[UIViewController生命周期]]></title><link>https://blog.youkuaiyun.com/metasearch/article/details/53730691</link><guid>https://blog.youkuaiyun.com/metasearch/article/details/53730691</guid><author>metasearch</author><pubDate>Sun, 18 Dec 2016 22:17:06 +0800</pubDate><description><![CDATA[iOS的SDK中提供很多原生ViewController，大大提高了我们的开发效率，下面是我的一些经验。

一、结构

按结构可以对iOS的所有ViewController分成两类：
1、主要用于展示内容的ViewController，这种ViewController主要用于为用户展示内容，并与用户交互，如UITableViewController，UIViewController。
]]></description><category></category></item><item><title><![CDATA[ios自学经验]]></title><link>https://blog.youkuaiyun.com/metasearch/article/details/53638594</link><guid>https://blog.youkuaiyun.com/metasearch/article/details/53638594</guid><author>metasearch</author><pubDate>Wed, 14 Dec 2016 14:09:09 +0800</pubDate><description><![CDATA[不知不觉作为 iOS 开发也有两年多的时间了，记得当初看到 OC 的语法时，愣是被吓了回去，隔了好久才重新耐下心去啃一啃。啃了一阵，觉得大概有了点概念，看到 Cocoa 那么多的 Class，又懵了，怎么才能调用系统的相机？怎么保存信息？怎么做一个像 Twitter 个人页那样的页面？总之就是不知道该从哪切入。

现在回想起来，其实路一直都在，而且有很多条，当初如果有人能够指出一条还不错的道，]]></description><category></category></item><item><title><![CDATA[局部变量申请栈空间时的入栈顺序]]></title><link>https://blog.youkuaiyun.com/metasearch/article/details/52901785</link><guid>https://blog.youkuaiyun.com/metasearch/article/details/52901785</guid><author>metasearch</author><pubDate>Sun, 23 Oct 2016 15:01:27 +0800</pubDate><description><![CDATA[运行环境：ubuntu 14.04(32bit)
编译环境：gcc
Source Code:

{stack_test.c}

#include 
#include 

int main(int argc, char *argv[]) 
{

  char buffer_one[8], buffer_two[8];
  int value = 5;

  strcpy(buffer_one,]]></description><category></category></item><item><title><![CDATA[OllyDBG完美教程(超强入门级)]]></title><link>https://blog.youkuaiyun.com/metasearch/article/details/52877862</link><guid>https://blog.youkuaiyun.com/metasearch/article/details/52877862</guid><author>metasearch</author><pubDate>Thu, 20 Oct 2016 22:35:14 +0800</pubDate><description><![CDATA[OllyDBG完美教程(超强入门级)  

2013-05-12 22:10:43|  分类： 工具|举报|字号 订阅


    























  下载LOFTER我的照片书  |







一、OllyDBG 的安装与配置
OllyDBG 1.10 版的发布版本是个 ZIP 压缩包]]></description><category></category></item><item><title><![CDATA[Android listview与adapter用法]]></title><link>https://blog.youkuaiyun.com/metasearch/article/details/52782597</link><guid>https://blog.youkuaiyun.com/metasearch/article/details/52782597</guid><author>metasearch</author><pubDate>Mon, 10 Oct 2016 22:34:30 +0800</pubDate><description><![CDATA[一个ListView通常有两个职责。

（1）将数据填充到布局。

（2）处理用户的选择点击等操作。

第一点很好理解，ListView就是实现这个功能的。第二点也不难做到，在后面的学习中读者会发现，这非常简单。

一个ListView的创建需要3个元素。

（1）ListView中的每一列的View。

（2）填入View的数据或者图片等。

（3）连接数据与List]]></description><category></category></item><item><title><![CDATA[如何使用指向类的成员函数的指针（详解！）]]></title><link>https://blog.youkuaiyun.com/metasearch/article/details/52700356</link><guid>https://blog.youkuaiyun.com/metasearch/article/details/52700356</guid><author>metasearch</author><pubDate>Thu, 29 Sep 2016 11:13:56 +0800</pubDate><description><![CDATA[我们首先复习一下"指向函数的指针"如何使用?





[cpp] view
 plain copy


 print?



void print()  
{  
}  
void (*pfun)(); //声明一个指向函数的指针,函数的参数是 void,函数的返回值是 void  
pfun = print;   //赋值一个指向函数的指针  
(*pfu]]></description><category></category></item><item><title><![CDATA[Android Fragment 真正的完全解析（上）]]></title><link>https://blog.youkuaiyun.com/metasearch/article/details/52489562</link><guid>https://blog.youkuaiyun.com/metasearch/article/details/52489562</guid><author>metasearch</author><pubDate>Fri, 09 Sep 2016 17:55:46 +0800</pubDate><description><![CDATA[转载请标明出处：http://blog.youkuaiyun.com/lmj623565791/article/details/37970961

自从Fragment出现，曾经有段时间，感觉大家谈什么都能跟Fragment谈上关系，做什么都要问下Fragment能实现不~~~哈哈，是不是有点过~~~

本篇博客力求为大家说明Fragment如何产生，什么是Fragment，Fragment生命周期，]]></description><category></category></item><item><title><![CDATA[Android中关于Fragment的那些事、那些坑]]></title><link>https://blog.youkuaiyun.com/metasearch/article/details/52489539</link><guid>https://blog.youkuaiyun.com/metasearch/article/details/52489539</guid><author>metasearch</author><pubDate>Fri, 09 Sep 2016 17:53:11 +0800</pubDate><description><![CDATA[引言

在Android3.0开始，Android引入了Fragment。当初最主要的目的是为了给大屏幕手持设备提供更加灵活和动态的UI设计。随着应用功能越来越多，界面越来越复杂，我们会利用Fragment对Activity的界面进行模块化编程。比如一个Activity界面内有多个请求，每个请求得到的结果展示不同的UI片段，那么我们就可以将Activity利用Fragment来完成UI模块化。]]></description><category></category></item></channel></rss>