编程语言

.Net转Java自学之路—基础巩固篇二十一(模块化思想)

02-15
Java 9 出现的 模块化思想/技术 优点:文件体积缩小,权限体系更精准 module-info.java 模块描述信息文件 module 本模块名称{ exports(导出)  对外暴露的包路径; requires  需要依赖的其他模块名称; } 新建: 右击项目>>Configure>>Create module-info.java>>小写英文模块名称 设置依赖信息 1.再新建的模块文件中写入 requires 模块名称: 2.右击项目>>Build

python-web-django前后端交互

02-15
1.前端请求数据URL由谁来写 在开发中,URL主要是由后台来写好给前端. 若后台在查询数据,需要借助查询条件才能查询到前端需要的数据时,这时后台会要求前端提供相关的查询参数(即URL请求的参数). 2.接口文档主要由谁来写 接口文档主要由后台设计和修改. 后台直接跟数据打交道,最清楚数据库里有什么数据,能返回什么数据. 前端只是数据的被动接受者,只是接口文档的使用者. 使用过程中,发现返回的数据部队,则跟后台商量,由后台修改. 切记:前端不能随意更改接口文档,除非取得后台同意. 3.前端与后台

MFC调用libyara遇到的问题

02-15
测试结果 如果调用yara非要变成共享DLL的形式,加那么多的DLL,不如直接调用EXE文件.反而依赖vcruntime运行库的DLL少了很多... 调用libyara 调用libraya和C++调用动态链接库的基础没什么区别. 官方说明 https://yara.readthedocs.io/en/v3.4.0/capi.html 解决方法 项目->属性->配置属性->VC++ 目录-> 在"包含目录"里添加头文件yara.h所在的目录 项目->属性-&

SpringBoot学习17:springboot热部署配置

02-15
spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用. devtools的原理 深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个r

java-常见编码坏习惯

02-15
代码质量实战Any fool can write code that a computer can understand. Good programmerswrite code that humans can understand. -- Martin FowlerThe only valid measurement of Code Quality: WTFs/minute参考资料:1.<代码大全>2.<重构:改善既有代码的设计>3.<代码整洁之道>3.<Effe

Filtered request failed with root cause java io OptionalD

02-15
1.错误描述 严重: Servlet.service() for servlet [springmvc] in context with path [/cmp] threw exception [Filtered request failed.] with root cause java.io.OptionalDataException at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1588) at java.io

org apache subversion javahl ClientException Item is not wr

02-15
1.错误描述 org.apache.subversion.javahl.ClientException: Item is not writable svn: Commit failed (details follow): svn: Access denied org.apache.subversion.javahl.ClientException: Item is not writable svn: Commit failed (details follow): svn: Access deni

【Python】重置Django Migrate

02-15
# 方式一 # find . -path "*/migrations/*.py" -not -name "__init__.py" -delete find . -path "*/migrations/*.pyc" -delete # python manage.py makemigrations python manage.py migrate # 方式二 # 查看migrations python manage.py showmigratio

有关字符串的算法(KMP,Manacher,BM)陆续补充

02-15
KMP算法: 引言: KMP算法是一种改进的字符串匹配算法 字符串匹配:即寻找str_target在str_source中出现的位置 没有改进的字符串匹配:用暴力法进行搜索,枚举出所有的情况然后一一比较.缺点:耗费了很多时间,时间复杂度非常高.所以需要改进. 这里举一个暴力匹配的例子: 在"zabcae"中寻找"abcab" : KMP算法优势: 可以看到,每次出现不匹配时,i都会回溯到上一次的位置.而由于前几次比较的结果,可以避免i的回溯,并且找到一个比较好的j的

springmvc和strtus2的区别

02-15
1.拦截机制 Struts2a.Struts2框架是类级别的拦截,每次请求就会创建一个Action,和Spring整合时Struts2的ActionBean注入作用域是原型模式prototype(否则会出现线程并发问题),然后通过setter,getter吧request数据注入到属性.(请求先经过strtus.xml文件,匹配和url对应的action类也就是进行类级别的拦截.再根据url在action中寻找与url匹配的方法.)b.Struts2中,一个Action对应一个request,r

利用Python实现FGO自动战斗脚本,再也不用爆肝啦~

02-15
Fate/Grand Order(非的肝不过欧的)作为索尼为了拯救自己不倒闭而开发的面向月厨的骗氪养成抽卡爆肝游戏,居然没有像隔壁<阴阳师>的自动战斗系统(看看别人现在都自带脚本了).毕竟是懒得肝,就不妨写一个脚本来肝算了,省时省力. 开始 一个战斗脚本,其实可以算是AI的初步了.虽然只是暴力算出造成最大伤害的方案orz. 我们在这里不考虑释放 技能 . 宝具 和 暴击星 这三样非常重要的东西...只单纯考虑 克制. 抵抗 和不同种类卡打出的伤害,目标就就是算出伤害最高的组合. 指令卡战斗界面

1初识算法

02-15
用计算机解决一个现实中的问题步骤: 1. 问题分析 2. 数学模型建立 3. 算法设计与选择 4.算法表示 5.算法分析 6.算法实现 7.程序调试 8.结果整理文档编制 1. 问题分析 准确.完整地理解和描述问题是解决问题的第一步.要做到这一点,必须注意以下一些问题:在未经加工的原始表达中,所用的术语是否都明白其准确定义?题目提供了哪些信息?这些信息有什么用?题目要求得到什么结果?题目中作了哪些假定?是否有潜在的信息?判定求解结果所需要的中间结果有哪些?等等.必须认真审查表达问题的有关描述,深

Thrift操作(Python服务端和Nodejs客户端)

02-14
目录 前言 python服务端 nodejs客户端 win10运行thrift 测试 前言 操作系统win10 时间2019年02月 Thrift版本:Thrift version 0.11.0 Python版本: Python 3.5.2 Nodejs版本: node v8.9.3 参考网址1 python服务端 安装thrift python install thrift server.py # -*- coding: utf-8 -*- import json # 调用python安装的t

线程的sleep()方法和yield()方法区别

02-14
1.sleep()方法给其他线程运行机会时不考虑线程的优先级,因此会给低优先级的线程以运行的机会 2.yield()方法只会给相同优先级或更高优先级的线程以运行的机会 3.线程执行sleep()方法后转入阻塞(blocked)状态,而执行yield()方法后转入就绪(ready)状态 4.sleep()方法声明会抛出InterruptedException,而yield()方法没有声明任何异常 5.sleep()方法比yield()方法具有更好的移植性(跟操作系统CPU调度相关) 原文地址:ht

FFT算法理解

02-14
1. DFT运算及性质 DFT计算量很大,且随N的增多急剧增加,计算量和成正比,要降低计算复杂度,就需要将DFT分解成小点数的DFT处理.在DFT分解处理中,出现了"按时间抽取的FFT"."按频率抽取的FFT",其中"按频率抽取的FFT"使用比较多,特别是基于"分裂机"的"频率抽取FFT"相对于常规的"按频率抽取"的基2 FFT要更省计算量. 1. 按时间抽取的基2 FFT算法 所谓的按

python多线程使用场景

02-14
python多线程使用场景 如果程序时cpu密集型的,使用python的多线程是无法提升效率的,如果程序时IO密集型的,使用python多线程可以提高程序的整体效率 CPU密集型(CPU-bound) CPU密集型也叫计算密集型,指的是系统的硬盘.内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/内存), I/O在很短的时间就可以完成,而CPU还有许多运算要处理,CPU Loading很高. IO密集型(I/O bound) I

学完Python好找工作吗?为什么有人学完找不到工作?

02-14
学完Python好找工作吗?很多人学了Python还是找不到工作,为什么?自己在学习Python,怕以后不好找工作,想问问前辈们,现在Python的工作好找吗?也看到很多人找不到Python工作,是为什么呢?创一个小群,供大家学习交流聊天如果有对学python方面有什么疑惑问题的,或者有什么想说的想聊的大家可以一起交流学习一起进步呀.也希望大家对学python能够持之以恒python爱好群,如果你想要学好python最好加入一个组织,这样大家学习的话就比较方便,还能够共同交流和分享资料,给你推荐

微服务架构之spring cloud turbine

02-14
在前面介绍了spring cloud hystrix及其hystrix dashboard,但都是对单个项目的监控,对于一个为项目而言,必定有很多微服务,一个一个去看非常的不方便,如果有一个能集中熔断器监控的地方就完美了,spring cloud turbine 就实现了这样的功能,这篇文章就来介绍spring cloud turbine. (一) 版本说明 a) Spring boot 2.0.6.RELEASE b) Spring cloud Finchley.SR2 c) Java ver

『互联网架构』软件架构-spring源码之spring结构概述

02-14
spring从07年接触到目前2018年也差不多10年了,一个java的框架为什么能火这么多年.很多人对spring的使用轻车熟路,但是从未解读过spring的源码,老铁跟我一起看看源码,了解下内部的构造,只有源码读过的人才能获得上乘武功,软件开发不只是搬砖的老铁.内功熟悉原理,外功是灵活使用.内功好比电力,外功好比电机.内功的电力越强,电机的马力越大才能发挥巨大作用,相反如果电力弱,马力在强也是不行的.spring从单一的jar包,发展到现在十多个jar包,spring mvc 到spring

&lt;每日一题&gt;题目26:选择排序(冒泡排序改进版)

02-14
''' 选择排序:选择最小的,以此类推 ''' import random import cProfile def select_Sort(nums): for i in range(len(nums)-1): for j in range(i+1,len(nums)): if nums[i] > nums[j]: # max = nums[i] # nums[i] = nums[j] # nums[j] = max #python有更好的写法 nums[i],nums[j] = nums[j]