002649:全局异常处理实现

一、背景   1、共有的操作应该抽离到框架级别,如exception处理,日志打印      2、这样可以屏蔽因不同人的使用习惯而导致的try_catch混乱,同时也可以简化代码的结构,使可读性提高。   3、现在的后台框架中无聊异常与否对前端的返回结构都是相同的(一般都是actionResult(是否成功,异常码,异常信息,返回对象),这也给异常处理抽离框架级别提供了前提。 二、问题分析   1、首先,这要求所有异常的返回的结果结构都是一致的。       a、一般,待处理的异常大致分两种:
分类: 其他 发布时间: 01-16 23:01 阅读次数: 0

Python 函数装饰器和闭包

参考博客: https://www.cnblogs.com/Lin-Yi/p/7306235.html 函数装饰器用于在源码中标记函数, 以某种方式增强函数的行为。 装饰器会在加载模块时直接运行。 装饰器是可调用的对象, 其参数是被装饰的函数。 但装饰器通常会把函数替换位另一个函数 实现一个简单的装饰器: def decorate(func): def inner(): print("我是装饰器")      func() return inner @d
分类: 其他 发布时间: 01-16 23:01 阅读次数: 0

2个鸡蛋100层楼

目录 2个鸡蛋100层楼 问题 分析 动态规划 观察 代码 2个鸡蛋100层楼 问题 有2个鸡蛋和100层楼,鸡蛋从\(\ge x\)层落下会破,从\(\lt x\)层落下不破,问题:最坏情况下,确定\(x\)需要的最少实验次数。 分析 \(x\)可能的取值为\(1,2,3,...,99,100, \gt 100\); 若只有一个鸡蛋,显然\(x=100\)。 现在有2个鸡蛋,考虑第一个鸡蛋在第一次实验中应该从哪层楼落下。 直观的想法是二分从50层落下。 但是若鸡蛋破了,接下来只剩余一个鸡蛋去
分类: 其他 发布时间: 01-16 23:01 阅读次数: 0

学习 React 前你需要知道些什么

如果你正在看这篇文章,你很可能已经知道 React 是啥了。React 的学习曲线陡峭是众所周知的,很多人在开始学习 React 时都一头雾水,笔者自然也不例外。究其原因,是因为我们在学习 React 的时候,要学的并不仅仅只是 React 这个库本身。Rea
分类: 编程语言 发布时间: 01-16 23:01 阅读次数: 0

读书太少,想的太多

毕业工作五月,年度总结大会上突然被叫上去分享心得体会,说的太差,所以,借此好久没更新博客机会,总结记录下。 入职从事 OpenStack 工作,很新鲜,也很好奇,同样也很努力,开始先从事云平台的测试工作了解业务,随后开始做云部署这块,云部署是个细腻的工作,方方面面都要去想,去考虑,回想几个周末都在家搞部署搞得心态爆炸,工作后的最大感触就是一句特别土鳖的话,事上无难事,只怕有心人。 很喜欢昨天同事的年度总结,你感到迷茫就是因为读书太少,而想的太多,听完感觉顿时明亮了起来,嗯。。。读书使人明智,所
分类: 其他 发布时间: 01-16 23:01 阅读次数: 0

pre和next功能类推

省略。。。
分类: 其他 发布时间: 01-16 23:01 阅读次数: 0

搜索-油田合并

1 //理解dfs的实现,主要是回溯时的退出表现 2 #include<cstdio> 3 #include<iostream> 4 #include<cstring> 5 6 using namespace std; 7 8 const int maxn=102; 9 int n,m; 10 int visited[maxn][maxn]; 11 char map[maxn][maxn]; 12 int cnt; 13 14 void dfs(int i,int j)
分类: 其他 发布时间: 01-16 23:01 阅读次数: 0

[manjaro]换源到中国并按照速度排序

sudo pacman-mirrors -i -c China -m rank 勾选第一行的源。
分类: 其他 发布时间: 01-16 23:01 阅读次数: 0

python3 break/continue/pass/exit()的作用

break ------'退出当前循坏' continue ------'跳出当前循环,开启下一次循环' pass ------'不执行任何操作,只起到占位作用' exit() ------'退出整个程序运行'
分类: 其他 发布时间: 01-16 23:01 阅读次数: 0

tensorflow之reshape

reshape可以对shape进行重新分配 示例: a_array=tf.constant([[[1,2,3], [4,5,6]], [[1,1,1], [1,1,1]]]) print(a_array) print(tf.reshape(a_array,[2,6])) 输出:
分类: 其他 发布时间: 01-16 23:01 阅读次数: 0

tensorflow之dropout

转自: https://blog.csdn.net/yangfengling1023/article/details/82911306 tf.nn.dropout()是tensorflow里面为了防止或减轻过拟合而使用的函数,它一般用在全连接层 Dropout就是在不同的训练过程中随机扔掉一部分神经元。也就是让某个神经元的激活值以一定的概率p,让其停止工作,这次训练过程中不更新权值,也不参加神经网络的计算。但是它的权重得保留下来(只是暂时不更新而已),因为下次样本输入时它可能又得工作了 tf.
分类: 其他 发布时间: 01-16 23:01 阅读次数: 0

tensorflow之tfrecord

转自下面的 https://blog.csdn.net/happyhorizion/article/details/77894055 https://blog.csdn.net/sinat_29957455/article/details/83316173 tfrecord数据文件是一种将图像数据和标签统一存储的二进制文件,能更好的利用内存,在tensorflow中快速的复制,移动,读取,存储等。 把样本写入tfrecord示例 tfrecords_filename = './train.t
分类: 其他 发布时间: 01-16 23:00 阅读次数: 0

理解saltstack 里cmd.run 配合onlyif和unless使用

自己琢磨的好几天就是光看资料,还是没琢磨明白,建议大家一定要亲自动手在机器上测试下。我们以saltstack管理tomcat启动与重启为例子:master主机上目录结构如下[root@sylsalt]#pwd/srv/salt[root@sylsalt]#tree.├──app│├──files││└──server.xml│└──tomcat.sls└──prod├──services└──st
分类: 企业开发 发布时间: 01-16 23:00 阅读次数: 0

Centos7安装vlc

安装epel 卸载原先安装的epel yum remove epel-release.noarch 如下图: 安装最新版: sudo yum localinstall --nogpgcheck https://mirrors.tuna.tsinghua.edu.cn/epel//7/x86_64/Packages/e/epel-release-7-11.noarch.rpm 如下: 安装nux-dextop sudo yum localinstall --nogpgcheck http://l
分类: 其他 发布时间: 01-16 23:00 阅读次数: 0

python之os.path.join

os.path.join()函数用于路径拼接文件路径。 os.path.join()函数中可以传入多个路径: dataset_dir_path = "D:/dataset/kaggle/cat_or_dog/train" print("1:",os.path.join('aaaa','/bbbb','ccccc.txt')) print("2:",os.path.join('/aaaa','/bbbb','/ccccc.txt')) print("3:",os.path.join('aaaa
分类: 其他 发布时间: 01-16 23:00 阅读次数: 0

python之os.listdir

返回指定路径下的文件和文件夹列表 path = "C:/Users/shenwei/Desktop" for filename in os.listdir(path): print(filename) 输出: 有一个很奇怪的事情: 如果这么写,直接报错: path = "C:\Users\shenwei\Desktop" for filename in os.listdir(path): print(filename) 错误如下: 换成两个\\又正确了 path = "C
分类: 其他 发布时间: 01-16 23:00 阅读次数: 0

python之random.shuffle

random.shuffle 可以打乱一个list的顺序 例如: alist = [1,2,3,4,5,6,7,8,9] np.random.shuffle(alist) print(alist) 输出:
分类: 其他 发布时间: 01-16 22:59 阅读次数: 0

tensorflow之读取jpg图像长和宽

有时需要读取jpg图像的长和宽,tensorflow提供了很好的支持 直接上示例 decode_jpeg_data = tf.placeholder(dtype=tf.string) decode_jpeg = tf.image.decode_jpeg(decode_jpeg_data, channels=3) image_data = tf.gfile.FastGFile("C:/Users/shenwei/Desktop/timg.jpg", 'rb').read() print(le
分类: 其他 发布时间: 01-16 22:59 阅读次数: 0

tensorflow之读取jpg图像保存为tfrecord再读取

有了jpg读取的经验和tfrecord写入的经验之后,开始尝试把jpg图像写入到tfrecord,另外还想尝试从tfrecord文件读出jpg图像 上示例把jpg的图片的二进制以及长和宽的信息保存进tfrecord decode_jpeg_data = tf.placeholder(dtype=tf.string) decode_jpeg = tf.image.decode_jpeg(decode_jpeg_data, channels=3) tfrecords_filename = '.
分类: 其他 发布时间: 01-16 22:59 阅读次数: 0

JAVA中多线程

我们可以先来看一幅图,多线程就算围绕这幅图展开的。 1. 进程与线程的概念 进程:操作系统中一个程序的执行周期。 线程:一个线程同时执行多个任务。通常来讲,每一个任务就称为一个线程。 进程与线程比较 与进程相比,线程更加“轻量级”,创建、撤销一个线程比启动、撤销一个进程开销要小的多。一个进程中的所有线程共享此进程的所有资源。 没有进程就没有线程,进程一旦终止,其内的线程也将不复存在。 进程是操作系统资源调度的基本单位,进程可以独享资源,线程需要依托进程提供的资源,无法独立申请操作系统资源,是操
分类: 其他 发布时间: 01-16 22:58 阅读次数: 0