懵圈丰
码龄12年
关注
提问 私信
  • 博客:228,141
    问答:756
    228,897
    总访问量
  • 98
    原创
  • 1,823,061
    排名
  • 26
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2012-06-24
博客简介:

Guyf的专栏

博客描述:
有问题可以留言讨论
查看详细资料
个人成就
  • 获得92次点赞
  • 内容获得8次评论
  • 获得148次收藏
创作历程
  • 7篇
    2016年
  • 81篇
    2015年
  • 18篇
    2014年
成就勋章
TA的专栏
  • 直播
    8篇
  • 数据库
    9篇
  • uml
    1篇
  • 系统分析与设计
    2篇
  • 网络
    7篇
  • 资源
    1篇
  • 算法
    1篇
  • android
    3篇
  • 机器学习
    4篇
  • 图像处理
    1篇
  • 计算机视觉
    1篇
  • python
    11篇
  • 异步架构
    6篇
  • 设计模式
    11篇
  • c++
    44篇
  • NAT
    1篇
  • udp
    1篇
  • 线程池
    6篇
  • 并发
    2篇
  • 测试
    1篇
  • 测试用例
    1篇
  • 主线程
    1篇
  • 架构
    5篇
  • 智能指针
    1篇
  • 对象池
  • x
  • 线程安全
    1篇
  • ns2
    1篇
  • nodejs
    5篇
  • node
    3篇
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

186人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

nodejs 设计思想杂记四 异步控制流模式

parallelvar tasks = [...];var completed = 0;tasks.forEach(function(task) {task(function() {if(++completed === tasks.length) {finish();}});async的使用 async.series(tasks, [callback])func
原创
发布博客 2016.07.07 ·
904 阅读 ·
2 点赞 ·
1 评论 ·
0 收藏

nodejs 设计思想杂记 三 observer模式

观察者模式:一个对象,当其状态改变时能够通知一系列的观察者。EventEmitter看图说话使用方法:var EventEmitter = require('events').EventEmitter;var eeInstance = new EventEmitter();提供有几个接口:on(event, listener): 对event与linst
原创
发布博客 2016.07.06 ·
1665 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

nodejs 单例模式实现

function Logger(name) {if(!(this instanceof Logger)) {return new Logger(name);}this.name = name;};
原创
发布博客 2016.07.06 ·
3747 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

nodejs设计思想杂技二 callback 模式

回调。。。。与return回调函数如何替代return的功能?同步的函数function add(a, b) {return a + b;}异步的函数function add(a, b, callback) {callback(a + b);}同步的函数执行后return异步的函数执行完将结果放入callback中同步
原创
发布博客 2016.07.05 ·
684 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

nodejs 设计思想杂记一 reactor模式

开始正题,reactor 模式nodejs关于异步的本质,以及隐藏在此模式背后的故事。如单进程单线程的架构、非阻塞IO。最后看下整个nodejs平台。IO很慢,相比于CPU的处理速度来说,在非密集型计算的应用场景下,IO是一个拖慢速度的瓶颈。当然,现在正火的深度学习可以一次跑上几个月。。。。这种计算密集型的应用场景下除外。一个传统的阻塞型io的例子,线程池中每个线程处理
原创
发布博客 2016.07.05 ·
3117 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

ns2 的安装

ns2 配置
原创
发布博客 2016.05.04 ·
829 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

share_ptr的线程安全读写方式

class T { public: int get() { return t; } void set(int num) { t = num; } T():t(1) {}private: int t; };std::mutex g_mut;std::shared_ptr g_ptr;void func(const std::shared_ptr& pt) { std::coutge
原创
发布博客 2016.04.13 ·
1798 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

aop之应用 时间记录器及日志

struct TimeElapsedAspect{ void Before(int i) { m_lastTime = m_t.elapsed(); } void After(int i) { std::cout << "time elapsed: " << m_t.elapsed() - m_lastTime << "ms" <<std::endl; }private:
原创
发布博客 2015.12.11 ·
783 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

c++ 面向切面变成 aop 通用模板

#ifndef AOP_h#define AOP_h#define HAS_MEMBER(member)\templatestruct has_member_##member\{\private:\ template static auto Check(int) -> decltype(std::declval().member(std::declval()...), std::tr
原创
发布博客 2015.12.11 ·
2041 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

c++11 计时器

#pragma once#includeusing namespace std;using namespace std::chrono;class Timer{public: Timer() : m_begin(high_resolution_clock::now()) {} void reset() { m_begin = high_resolution_clock::now(
原创
发布博客 2015.12.11 ·
2889 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

对象池 c++11

#ifndef COBJECTPOOL_H#define COBJECTPOOL_H#include #include #include #include const int maxObjectNum = 10;templateclass ObjectPool { template using Consturctor = std::function(Args...)>;pub
原创
发布博客 2015.12.10 ·
1218 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

使用函数包装器的 通用泛化的命令类

//#ifndef COMMCOMMAND_H#define COMMCOMMAND_H#include#includetemplate class CommCommand{private: std::function m_f;public: //接受可调用对象的函数包装器 template::value>::type> void Wrap(F &&f, Args &
原创
发布博客 2015.12.10 ·
982 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

std::forward 完美转发

templateinline auto FuncWrapper(Function &&f, Args &&...args){ return f(std::forward(args)...);}void hello(){ std::cout << "hello" << std::endl;}void hello1(std::string x){ std::cout << x
原创
发布博客 2015.12.10 ·
718 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

c++ final关键字

final关键字来限制类不能被继承,或者虚函数不能被重写。class A final {virtual void hehe() final;};如此,class A不能被其他类集成,hehe()函数也不能被重写
原创
发布博客 2015.12.08 ·
2858 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

c++ weak_ptr

weak_ptr是用来监视shared_ptr的,不会使引用计数增加。 std::shared_ptr t(new int(10)); std::weak_ptrwk(t); if(wk.expired()) std::cout<<"t is expired"<<std::endl; else std::cout
原创
发布博客 2015.12.08 ·
503 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

c++ tuple的基本操作

//create tuple std::tuple tp = std::make_tuple(2,2); int a,b; //get the value of tp std::tie(a,b) = tp; std::cout<<a+b<<std::endl; a = 0; //only get one value of tp std::tie(a,std::ignore) = t
原创
发布博客 2015.12.07 ·
1959 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

c++ lambda表达式捕获变量参数

[]不捕获任何变量[&]捕获外部作用域中所有变量,并作为引用在函数体重使用[=]捕获外部作用域中所有变量,并作为副本在函数体重使用[=,&foo]捕获外部作用域中所有变量,并作为副本在函数体重使用,对于foo按引用捕获[foo]当作副本捕获foo,不引入其他变量[this]捕获当前类中的this指针,让lambda表达式拥有和当前类成员函数同样的访问权限。如果已经使用了&或者=
原创
发布博客 2015.12.07 ·
6551 阅读 ·
3 点赞 ·
0 评论 ·
7 收藏

c++ std::bind 基本用法

#include void hello(int a){std::cout<<a<<std::endl;}void call_when(int x,const std::function &f){if(x == 0) f(x);} auto pt = std::bind(hello,std::placeholders::_1); call_when(0,pt);
原创
发布博客 2015.12.07 ·
777 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

c++ std::function作为参数传入函数

#include void hello(int a){std::cout<<a<<std::endl;}void call_when(int x,const std::function &f){if(x == 0) f(x);} call_when(0,hello);需要头文件functional,在std::function作为参数使用时,必须加con
原创
发布博客 2015.12.07 ·
9214 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

c++ 可调用对象

可调用对象分为如下几种:1 函数指针2 具有Operator()成员函数的类对象3 可被转换为函数指针的类对象4 类成员函数指针函数指针即函数的名字,直接调用即可具有operator成员函数的类对象,如下例所示:class foo{public: void operator()(void) {}};调用时:foo f;f();类的函数指
原创
发布博客 2015.12.07 ·
585 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏
加载更多