-
MFC设置软件详细信息
右键查看默认生成的`exe`详细信息时,里面是没有任何信息的,那么启动后我们在资源管理器里面看到的信息就是`xxxx.exe`。怎么设置这个信息呢,其实非常简单,我们在`VS`里面添加资源,选择最后的`Version`里面就可以编辑生成的`exe`的信息了。
MFC -
Java B编码解析
最近在做一个下载软件,研究了一下Torrent文件的解析,这个主要使用的就是B编码,下面就是解析代码:```javapackagecom.acgist.snail.system.bencode;importjava.io.ByteArrayInputStream;importjava.util.ArrayList;importjava.util.LinkedHashMap;importjava.util.List;importjava.util.Map;importjava.util.stream.Collectors;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importcom.acgist.snail.system.config.SystemConfig;importcom.acgist.snail.system.exception.ArgumentException;importcom.acgist.snail.system.exception.PacketSizeException;importcom.acgist.snail.utils...
Java B编码 种子解析 -
logback启动日志不能关闭
使用logback设置了`debug=false`,但是依旧在控制台有一段logback本身的日志信息输出:```15:03:22,532|-INFOinch.qos.logback.classic.LoggerContext[Snail]-CouldNOTfindresource[logback-test.xml]15:03:22,533|-INFOinch.qos.logback.classic.LoggerContext[Snail]-CouldNOTfindresource[logback.groovy]15:03:22,534|-INFOinch.qos.logback.classic.LoggerContext[Snail]-Foundresource[logback.xml]at[file:/E:/GITEE/snail/target/classes/logback.xml]15:03:22,610|-INFOinch.qos.logback.classic.joran.action.ConfigurationAction-debugattributenotset15:03:22,612|-IN...
logback -
JavaFX隐藏托盘后不能再次显示
用JavaFX写了个桌面应用,发现隐藏到托盘后不能最大化了,后来发现少了这句:```javaPlatform.setImplicitExit(false);```如果少了这个,那么缩小到托盘后默认是退出了JavaFX平台了,所以要设置这个。
Java JavaFX -
Java读取Torrent文件信息
Torrent文件其实是特殊编码格式的文件,代码包含读取文件信息:名称、大小、发布者、Tracker等。代码地址:[https://gitee.com/acgist/snail](https://gitee.com/acgist/snail)测试代码:[https://gitee.com/acgist/snail/blob/master/snail/src/test/java/com/acgist/snail/pojo/bean/TorrentTest.java](https://gitee.com/acgist/snail/blob/master/snail/src/test/java/com/acgist/snail/pojo/bean/TorrentTest.java)
Java Torrent 种子文件 -
JavaFX TreeView异常
```3月01,201911:42:26上午javafx.scene.CssStyleHelpercalculateValue警告:Couldnotresolve'-fx-text-background-color'whileresolvinglookupsfor'-fx-text-fill'fromrule'*.check-box'instylesheetjar:file:///C:/Users/28954/.m2/repository/org/openjfx/javafx-controls/11.0.2/javafx-controls-11.0.2-win.jar!/com/sun/javafx/scene/control/skin/modena/modena.bss3月01,201911:42:26上午javafx.scene.CssStyleHelpercalculateValue警告:Couldnotresolve'-fx-text-background-color'whileresolvinglookupsfor'-fx-text-fill'fromrule'*.check-box'instyle...
JavaFX -
Spring Boot AWT异常
```java.awt.HeadlessException:nullatjava.desktop/java.awt.TrayIcon.(TrayIcon.java:142)atjava.desktop/java.awt.TrayIcon.(TrayIcon.java:169)atjava.desktop/java.awt.TrayIcon.(TrayIcon.java:198)atacgist.killer/com.acgist.killer.window.menu.TrayMenu.enableTray(TrayMenu.java:137)atacgist.killer/com.acgist.killer.window.menu.TrayMenu.(TrayMenu.java:49)atacgist.killer/com.acgist.killer.window.menu.TrayMenu.getInstance(TrayMenu.java:41)atacgist.killer/com.acgist.killer.window.main.MainWindow.enableTray(MainWindow.ja...
Spring Boot AWT -
京东联盟签名算法
京东联盟(`union.jd.com`)的开放平台(`union.jd.com/openplatform`)的API是不需要授权的,所以可以不用获取`Accesstoken`直接使用。平台提供的SDK不支持Java11,所以只能自己反编译得到签名算法:```javaprivateStringsign(Mapdata){StringBuilderbuilder=newStringBuilder(secretkey);for(Map.Entryentry:data.entrySet()){Stringname=(String)entry.getKey();Stringvalue=(String)entry.getValue();if(StringUtils.isNotEmpty(name)&&StringUtils.isNotEmpty(value)){builder.append(name).append(value);}}builder.append(secretkey);returnDigestUtils.md5Hex(builder.toString()).toUpperCase();}`...
京东联盟 签名算法 -
Hadoop 50070端口打不开
昨天重装了Win10系统,然后发现虚拟机的备份直接拷出来是没有效果的,然后重装了我的Hadoop集群后,发现50070端口不能访问。后来发现原来需要初始化数据节点:```hadoopnamenode-formathadoopdatanode-format```执行之后重启就OK了。
Hadoop -
Sprak streaming问题总结
如果是缺少class:```18/12/1116:24:29ERRORExecutor:Exceptionintask0.0instage0.0(TID0)java.lang.ClassNotFoundException:org.apache.spark.streaming.kafka010.KafkaRDDPartitionatjava.net.URLClassLoader.findClass(URLClassLoader.java:381)atjava.lang.ClassLoader.loadClass(ClassLoader.java:424)atjava.lang.ClassLoader.loadClass(ClassLoader.java:357)atjava.lang.Class.forName0(NativeMethod)atjava.lang.Class.forName(Class.java:348)```设置`conf.setJars`,注意这里需要将jar放入到集群能够访问的地方,例如:`hdfs`:```conf.setJars(newString[]{"hdfs://master:9...
Spark Streaming kafka -
Sprak集群无法访问driver问题
在学习Spark中,遇到一个问题:```SparkExecutorCommand:"/home/jdk-11.0.1/bin/java""-cp""/home/spark-2.4.0-bin-hadoop2.7/conf/:/home/spark-2.4.0-bin-hadoop2.7/jars/*:/home/hadoop-2.7.7/etc/hadoop/""-Xmx1024M""-Dspark.driver.port=55368""org.apache.spark.executor.CoarseGrainedExecutorBackend""--driver-url""spark://CoarseGrainedScheduler@windows10.microdone.cn:55368""--executor-id""8""--hostname""192.168.1.224""--cores""2""--app-id""app-20181211160614-0006""--worker-url""spark://Worker@192.168.1.224:45243"===================...
Spark -
Spring Boot Redis Session问题
使用`redis`来共享`session`,其中容易出现一个问题就是:如果两个不同的项目选择了同一个`redis`数据库,如果`session`里面保存了不同的Java对象,反序列化就会出现`ClassNotFoundException`这个异常。解决办法有两种:1.使用不同的`session`数据库。2.使用不同的`cookie`名称。不过第一种,能解决`ClassNotFoundException`问题,但是由于`session`名称是一样的,那么就导致两个项目只能登陆一个,而不能同时登陆。
Spring Boot Redis Session -
Spring Boot使用redis
添加依赖:```xmlorg.springframework.bootspring-boot-starter-data-redis```redis配置:```spring.redis.host=127.0.0.1spring.redis.port=6379spring.redis.database=0```如果我们不添加`redis`配置,默认提供的是一个`RedisTemplate`工具,我们可以自己实现一个配置:```javapackagecom.api.core.config;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importorg.springframework.data.redis.connection.RedisConnectionFactory;importorg.springframework.data.redi...
Spring Boot Spring Cloud redis -
Srping Boot使用redis缓存
引入依赖:```xmlorg.springframework.bootspring-boot-starter-data-redis```redis配置:```spring.redis.host=127.0.0.1spring.redis.port=6379spring.redis.database=0```然后配置缓存`CacheManager`:```javapackagecom.api.core.config;importjava.time.Duration;importjava.util.HashMap;importjava.util.HashSet;importjava.util.Map;importjava.util.Set;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.cache.CacheManager;importorg.springframework.cache.interceptor.KeyGenerator;importorg.springframework.cache.int...
Spring Boot Spring Cloud redis -
Spring Cloud监控页面打不开
之前没有使用`rabbit`来收集熔断器的信息时,没有问题,后来整合以后,发现了一个问题就是`zipkin`和`hystrix`页面一直打不开,看了一下控制台发现资源文件一直处于加载中。仔细一看请求返回的类型居然是:`text/event-stream`。然后访问了一下映射端点`/actuator/mappings`,发现映射的`controller`为`TurbineController`。下面是源码:```java@RestControllerpublicclassTurbineController{privatestaticfinalLoglog=LogFactory.getLog(TurbineController.class);privatefinalFluxflux;publicTurbineController(PublishSubject>hystrixSubject){Observable>stream=StreamAggregator.aggregateGroupedStreams(hystrixSubject.groupBy(data->InstanceKey.crea...
Spring Cloud Turbine -
CSRF CORS学习
##CORS说到跨域,我想很多程序员都遇到过。跨域简单来说就是在一个页面上发起一个请求,这个请求的域名、端口或者协议不同时就会出现跨域问题。常见的加载静态资源的标签浏览器默认允许跨域(HTTP协议页面不能加载HTTPS的资源):script、link、iframe、img。ajax请求会严格的审核跨域信息。##CSRF跨站攻击,这个东西,说简单一点就是网站A直接跳转到网站B,对于用户浏览器来说,跳转过去时会携带用户在网站B上面的cookie、session等信息,这样可以达到用户在B网站操作的效果。比如:添加购物车、支付等。这个解决办法:1.验证请求发起页面。2.对于请求添加一个token验证。如果以前网站,设置了运行跨域请求,同时运行携带验证信息,那么可能就会出现,如果用户浏览器存在网站B的登陆信息,网站A,可以不用跳转到网站B,直接使用ajax就可以实现用户在网站B上面进行操作。还有一个叫做XSS攻击,这个就是跨站脚本,常见比如BBS,用户提交帖子里面含有一段JS代码,其他用户浏览时就会执行这个JS代码。解决办法过滤掉这些代码即可。
CSRF CORS XSS -
Spring Cloud发送POST请求时提示403
引入了`spring-boot-starter-security`依赖后,配置了通过所有请求,GET请求正常,但是POST请求被拦截,提示`403`。这时需要添加`.csrf().disable()`这段代码,来禁用`csrf`拦截:```java@Overrideprotectedvoidconfigure(HttpSecuritysecurity)throwsException{security.csrf().disable()//解决POST请求403错误.authorizeRequests()//.requestMatchers(EndpointRequest.toAnyEndpoint()).denyAll()//.requestMatchers(EndpointRequest.toAnyEndpoint()).access("hasIpAddress('0:0::/112')orhasIpAddress('192.168.1.0/24')")//.antMatchers("/actuator/**").denyAll()//.antMatchers("/actuator/**").access("...
Spring Cloud Security -
Spring Cloud日志异常
启动异常:```Exceptioninthread"main"java.lang.IllegalArgumentException:LoggerFactoryisnotaLogbackLoggerContextbutLogbackisontheclasspath.EitherremoveLogbackorthecompetingimplementation(classorg.apache.logging.slf4j.Log4jLoggerFactoryloadedfromfile:/C:/Users/Administrator/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.10.0/log4j-slf4j-impl-2.10.0.jar).IfyouareusingWebLogicyouwillneedtoadd'org.slf4j'toprefer-application-packagesinWEB-INF/weblogic.xml:org.apache.logging.slf4j.Log4jLoggerFactoryatorg.spr...
Spring Cloud -
hystrix配合turbine使用消息队列收集信息
使用的是SpringCloud2.0。使用`turbine`聚合`hystrix`监控信息,默认使用`turbine`通过`hystrix.stream`获取`hystrix`的信息,依赖:```xmlorg.springframework.cloudspring-cloud-starter-netflix-turbineorg.springframework.cloudspring-cloud-starter-netflix-hystrix```如果使用`stream`来聚合,需要加入`stream`和`stream`的`binder`(`spring-cloud-stream-binder-rabbit`):```xmlorg.springframework.cloudspring-cloud-starter-netflix-turbine-streamorg.springframework.cloudspring-cloud-starter-netflix-hystrixorg.springframework.cloudspring-cloud-netflix-hystrix-stream```prop...
Spring Cloud hystrix turbine -
Spring Cloud 2.0 zipkin无效
使用SpringCloud2.0,配置了zipkin后发现并没有发送数据到zipkinserver。原来需要配置数据发送的方法:```spring.zipkin.sender.type=web```项目参考:[https://gitee.com/acgist/api](https://gitee.com/acgist/api)
zipkin Spring Cloud