学习笔记

在chrome浏览器中调用IE浏览器并访问(openIE.reg自定义协议)

在谷歌浏览器中有4种方法调用IE浏览器。如下: c++ socket通过浏览器在ie中打开指定url ; vb生成exe,url访问exe启动ie并打开指定url ; 通过socket实现通过http调用IE浏览器并打开指定url ; chrome自定义协议。 今天我们就来说一下使用chrome自定义协议打开ie浏览器并访问指定页面。 当然,有很多网友都写过,我这里就借花献佛了。 使用方式: 添加一个注册表; 在chrome里面用a标签编写一个跳转链接; 优化用户体验。 ...

SparkStreaming整合Flume的pull方式之启动报错解决方案

 Flume配置文件:simple-agent.sources = netcat-source simple-agent.sinks = spark-sink simple-agent.channels = memory-channel #Describe/configure the source simple-agent.sources.netcat-source.type = netcat simple-agent.sources.netcat-source.bind = centos simple-agent.sources.netcat-source.port= 44444 # Describe the sink simple-agent.sinks.spark-sink.type=org.apache.spark.streaming.flume.sink.SparkSink simple-agent.sinks.spark-sink.hostname= centos simple-agent.sinks.spark-sink.port= 41414 simple-agent.channels.memory-channel.type = memory simple-agent.channels.memory-channel.capacity = 1000 simple-agent.channels.memory-channel.transactionCapacity = 100 simple-agent.sources.netcat-source.channels = memory-channel simple-agent.sinks.spark-sink.channel = memory-channel...

后端开发实践系列之四——简单可用的CQRS编码实践

本文只讲了一件事情:软件模型中存在读模型和写模型之分,CQRS便为此而生。 20多年前,Bertrand Meyer在他的《Object-Oriented Software Construction》一书中提出了CQS(Command Query Seperation,命令查询分离)的概念,指出: Every method should either be a command that performs an action, or a query that returns data to the caller, but never both. (一个方法要么作为一个“命令”执行一个操作,要么作为一次“查询”向调用方返回数据,但两者不能共存。) ...

通俗易懂spring之singleton和prototype

 关于spring bean作用域,基于不同的容器,会有所不同,如BeanFactory和ApplicationContext容器就有所不同,在本篇文章,主要讲解基于ApplicationContext容器的bean作用域。关于bean的作用域,在spring中,主要包括singleton,prototype,session,request,global,本篇文章主要讲解常用的两种,即:singleton和prototype....

Curl的移植编译以及注意事项

最近需要用curl来发送http请求,遇到了不少问题,查了不少资料,都是零零散散的,现在总结下。 1、移植编译 1 ./configure --prefix=$(PWD)/build --host=arm-XXX-linux;make ;make install 这步基本都没有问题,生成的动态链接库libcurl.a,可以直接给应用程序去使用。 2、API使用 1)全局初始化 curl_global_init(CURL_GLOBAL_ALL); ...

QR 码详解(上)

关于二维码,我查了下资料,现在基本都在用日本的 QR 码,PDF417以及汉信码日常基本看不到。原因在于各方面来说,的确是 QR 码最为优秀。所以我准备写一篇介绍 QR 码的文章,如果是写书,可能不方便写得这么详尽,但如果是网上的文章,就可以自由发挥了。写完这篇文章,再抽取部分内容正规化,并整合其它内容形成书的第四章。为方便未来上课讲解方便,以及快速画图,我还做了一个《QR助手程序》,帮助绘制 QR 码中的各部分图形,最后演化成一个二维码绘制程序。本来并未打算要自己写二维码绘制程序的,网上有很多现成的开发包。但一方面为了让自己更熟悉二维码,另一方面,用实现一个简单的二维码绘制程序让学生参考,可以有效降低学生的学习门槛。 ...

Linux被中断的系统调用

慢系统调用,指的是可能永远无法返回,从而使进程永远阻塞的系统调用,比如无客户连接时的accept、无输入时的read都属于慢速系统调用。 在Linux中,当阻塞于某个慢系统调用的进程捕获一个信号,则该系统调用就会被中断,转而执行信号处理函数,这就是被中断的系统调用。 然而,当信号处理函数返回时,有可能发生以下的情况: 如果信号处理函数是用signal注册的,系统调用会自动重启,函数不会返回 如果信号处理函数是用sigaction注册的 默认情况下,系统调用不会自动重启,函数将返回失败,同时errno被置为EINTR ...

Java 并发编程(三):如何保证共享变量的可见性?

上一篇,我们谈了谈如何通过同步来保证共享变量的原子性(一个操作或者多个操作要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行),本篇我们来谈一谈如何保证共享变量的可见性(多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值)。 我们使用同步的目的不仅是,不希望某个线程在使用对象状态时,另外一个线程在修改状态,这样容易造成混乱;我们还希望某个线程修改了对象状态后,其他线程能够看到修改后的状态——这就涉及到了一个新的名词:内存(可省略)可见性。 要了解可见性,我们得先来了解一下 Java 内存模型。 ...

ShutdownHook - Java 优雅停机解决方案

想象一下,如果你现在刚好在 word 上写需求文档,电脑突然重启。等待开机完成,你可能会发现写了一个小时文档没有保存,就这么没了。。。 一个正在运行 Java 应用如果突然将其停止,影响不止数据丢失,还会造成其他影响。比如: 请求丢失:内存队列中等待执行请求丢失 数据丢失:处于内存缓存中数据未持久化到磁盘 文件损坏:正在写的文件没有没有更新完成,导致文件损坏 业务中断:处理一半的业务被强行中断,如支付成功了,却没有更新到数据库中 服务未下线:上游服务依然往停止节点发送请求 所以在关闭服务之前,我们需要先做好善后工作,比如保存数据,清理资源,下线服务,然后才退出应用。这种有计划平滑的关闭应用相对直接停止应用,就显得非常『优雅』。 ...

Spring Boot (十一): Spring Boot 定时任务

在实际的项目开发工作中,我们经常会遇到需要做一些定时任务的工作,那么,在 Spring Boot 中是如何实现的呢? 1. 添加依赖 在 pom.xml 文件中只需引入 spring-boot-starter 的依赖即可: 代码清单:spring-boot-scheduler/pom.xml *** org.springframework.boot spring-boot-starter ...

[ASP.NET Core 3框架揭秘] 跨平台开发体验: Mac OS

 除了微软自家的Windows平台, .NET Core针对Mac OS以及各种Linux Distribution(RHEL、Ubuntu、Debian、Fedora、CentOS和SUSE等)都提供了很好的支持。我们先来体验一下使用Mac来开发.NET Core应用,在这之前我们照例先得在Mac OS上构建我们的开发环境。...

爬虫那点事,干就玩了之seleunim

目录 selenium 环境准备 代码环境 开始爬虫 操作js 截图 切换窗口 在当前窗口切换访问地址 管理cookie # 加入战队 微信公众号 # 加入战队 微信公众号 做技术我们最重要的是【做】。但是今天我们来讲片【玩】。这句话可能不太好理解。直接开门见山吧。对于外行朋友一谈到IT他们对我们的定位就是黑客。其实我们和黑客一点关系都没有。今天的技术是【爬虫】 。 为什么说爬虫和黑客有点关联呢。因为爬虫可以将人为行为进行机器化。就是实现编写好代码让机器代替我们人类重复的操作意见事情。 对于爬虫了我们这里不做基础的讲解了。在平时的开发中我们偶尔会用到爬虫。比如说我们系统需要添加天气情况。但是我们有没有气象站给我提供数据。这时候我们最显示的做法就是调用网络上免费的天气接口API 。 这个时候我们Java就会通过爬虫模拟除一个浏览器请求去访问这个天气接口的API。 然后在通过爬虫获取这个API返回的数据。从而进行解析。 ...
青岛软件培训

可能你正在寻找一家靠谱的IT培训机构,学习一些专业的软件开发技术,找一份得体的工作。恰巧我们就是一家踏踏实实做教育的IT人才培养机构,我们咨询电话是 0532-85025005,如果你确实对IT感兴趣,我们不妨交流一下。

申请免费试听课程