10

c++报错:Segmentation fault (core dumped)

c++报错:Segmentation fault (core dumped)

同一种报错提示,不代表实质的相同的错误。

我的错误原因是在定义map类型数据时使用了指针,当插入数据时,就出现上面报错。

我的错误的大致写法如下:

因为源码繁杂,上面是我按错误原理写的源码。

错误的原因就是,当对象的下级对象,不能使用指针操作。

但是不能保证使用其它方法,是否对象下的对象可以使用指针。

 

09

c++ std::string 用法

c++ std::string 用法

string类的字符操作:

注:对于string中对象字符的处理,有很多已有的函数在CCtype头文件中,可以很方便的应用 Continue reading

09

C++ 报错:error: default argument given for parameter 2 of [-fpermissive]

C++ 报错:

c++可以在类的声明中,也可以在函数定义中声明缺省参数,但不能既在类声明中又在函数定义中同时声明缺省参数。因此,将定义或声明中的任意一个缺省参数删除即可。

 

十二 31

用Express构建的几种流行的Node.js框架

用Express构建的几种流行的Node.js框架

在Express上构建了几种流行的Node.js框架:

  • Feathers:数分钟即可构建原型,数天即可投入生产。
  • ItemsAPI:在后端搜索基于Express和Elasticsearch构建的Web和移动应用程序。
  • KeystoneJS:具有自动生成的React.js管理界面的网站和API应用程序框架/ CMS。
  • Poet:具有即时分页,标签和类别视图的轻量级Markdown Blog引擎。
  • Kraken:安全且可扩展的层,通过提供结构和约定来扩展Express。
  • LoopBack:高度可扩展的开源Node.js框架,用于快速创建动态的端到端REST API。
  • MEAN:独树一帜的全栈JavaScript框架,可简化和加速Web应用程序的开发。
  • Sails:Node.js的MVC框架,用于构建实用的,可用于生产的应用程序。
  • Hydra-Express:Hydra-Express是一个轻量级的库,它有助于使用ExpressJS构建Node.js微服务。
  • Blueprint:用于构建API和后端服务的SOLID框架
  • Locomotive:Passport.js的制造商为Node.js提供的强大MVC Web框架
  • graphql-yoga:功能全面,简单轻巧的GraphQL服务器
  • Express Gateway:以Express为基础的功能齐全且可扩展的API网关
  • Dinoloop:由TypeScript支持的Rest API应用程序框架,具有依赖项注入
  • Kites:基于模板的Web应用程序框架
  • FoalTS:用于构建企业级Node.js应用程序(TypeScript)的下一代框架。
  • NestJs:一个渐进式的Node.js框架,用于在TypeScript和JavaScript(ES6,ES7,ES8)之上构建高效,可伸缩的企业级服务器端应用程序
  • Expressive Tea:一个小型框架,可使用即开即用的Typescript和Express构建可调制,干净,快速和描述性的服务器端应用程序。

 

十二 30

linux下configure脚本配置参数

Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后再安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了。Configure脚本配置工具就是基础之一,它是autoconf的工具的基本应用。

Continue reading

十二 30

Makefile.am和makefile.in生成Makefile

linux软件构建方法linux软件构建顺序程序构建方法

很多时候,我们在网上下载的linux开源软件都会遇到一个问题,就是源码里面没有直接的makefile,但是它有Makefile.ammakefile.in或者它有Makefile.amconfigure.in(或configure.ac)

具体操作步骤如下:

1. 执行aclocal,产生aclocal.m4文件

aclocal是一个perl 脚本程序,它的定义是:

aclocal根据configure.in文件的内容,自动生成aclocal.m4文件。而aclocal.m4文件中,包含了生成configure文件所必须的宏。 Continue reading

十二 28

Headless Chromium

无头Chromium允许在无头/服务器环境中运行Chromium。预期的用例包括使用Chromium和Blink提供的所有现代Web平台功能,加载网页,提取元数据(例如DOM)以及从页面内容生成位图。

有两种使用无头铬的方法:

通过DevTools远程调试协议使用

  1. 使用--headless命令行标志启动普通的Chrome二进制文件(目前仅适用于Linux):

当前,您还需要使用--disable-gpu以避免因缺少Mesa库而导致错误。

  1. http://localhost:9222在另一个浏览器中导航至以打开DevTools界面,或使用Selenium之类的工具来驱动无头浏览器。

Continue reading

十二 28

无头浏览器Chrome 入门

Chrome 59附带了无头Chrome。这是在无头环境中运行Chrome浏览器的一种方式。本质上,没有Chrome即可运行Chrome!它将Chromium和Blink渲染引擎提供的所有现代Web平台功能引入命令行。

为什么这样有用?

无头浏览器是自动化测试和不需要可见UI外壳的服务器环境的绝佳工具。例如,您可能想对真实的网页运行一些测试,为其创建PDF,或者仅检查浏览器如何呈现URL。

启动无头(CLI)

无头模式入门的最简单方法是从命令行打开Chrome二进制文件。如果您已安装Chrome 59+,请使用以下--headless标志启动Chrome :

十二 28

无头浏览器 PhantomJS

无头浏览器(Headless browser)指没有用户图形界面的(GUI)的浏览器,目前广泛运用于web爬虫和自动化测试中。随着反爬虫和反反爬虫对抗技术的升级,越来越多的爬虫开始使用无头浏览器伪装成正常用户绕过反爬虫策略。

我们如何区分这些无头浏览器和正常浏览器?从Server Side分析用户行为进行检测是一劳永逸的方法,但成本和难度都很大。

不过通过无头浏览器的一些特性。我们也可以从从Client Side找出一些不同来。下面以醉受欢迎的PhantomJS(2.x版本)为例,介绍一些识别的方法,对于其他的无头浏览器,如Slimer JS这些方法也可以参考

Continue reading