摸鱼日志


  • 首页

  • 标签

  • 归档

属性访问 PropertyDescriptor

发表于 2018-12-03
引出反射访问一个类的属性,往往有如下代码: 123Field aField = aClass.getDeclaredField("fieldA");aField.setAccessible(true);aField.set(aObj, aValue); 这段代码在Fortify漏洞扫描中会被标记为中危漏洞,因为setAccessible往往意味着越权。 所以对于一个属性,应该用它的getter/s ...
阅读全文 »

SpringMVC 参数解析 ArgumentResolver

发表于 2018-11-08
引出写控制层的时候,我们发现对于一类方法,经常要将一些参数从Session解析,然后固定装入某个pojo中。比如不论创建什么记录,都要将当前用户作为创建人写入相应DO的字段,而这些字段名往往都是一样的。这样势必会有重复编码,那有没有可以偷懒的办法呢? 参数解析器springmvc提供了HandlerMethodArgumentResolver接口作为定义参数解析策略的入口: 12345678910 ...
阅读全文 »

SpringBoot 配置内置Tomcat 解决 RFC 7230 与 RFC 3986 请求字符限制问题

发表于 2018-09-18
问题引出:容器模块引用公司统一要求的父pom以后,springboot版本升级为1.5.14,其内置tomcat变更为8.5.31,启动不报错,发送特殊字符(中括号)Get请求报错: 1java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are ...
阅读全文 »

数据结构MOOC笔记-序章

发表于 2018-03-22
最近在查漏补缺看看计算机学科最重要的课程之一,课程讲得很好。 课程地址算法时间复杂度 大$O$记号:算法的最差情况时间复杂度 大$Ω$记号:最好情况 大$Θ$记号:当算法最差情况与最好情况属同一复杂度时,则可用该记号。$Θ(n) = Ω(n) = O(n)$ 常见时间复杂度: 名称 记号 分类 常数复杂度 $O(1)$ 高效解 对数复杂度 $O(log_{c}(n)) ...
阅读全文 »

Learn You a Haskell for Great Good 读书笔记 14

发表于 2017-10-16
More MonadWriter我们想在程序运行的时候打log怎么办? 用(a, String)去记录结果,那如何把一连串的log连起来而不是只保留一步的log呢? 用Monad, 然后用++把String连起来: 12applyLog :: (a, String) -> (a -> (b, String)) -> (b, String)applyLog (x, log) f = ...
阅读全文 »

Learn You a Haskell for Great Good 读书笔记 13

发表于 2017-10-12
MonadsFunctor —-> Applicative —-> Monad 直接上公式: 1(>>=) :: (Monad m) => m a -> (a -> m b) -> m b 这个函数叫bind。 它接受一个Monad 和 一个将参数包成Monad的函数,返回Monad,其中的值经过变换。 举个Maybe的例子 Maybe as Mo ...
阅读全文 »

Learn You a Haskell for Great Good 读书笔记 12

发表于 2017-09-30
MonoidsNew Type 将一个已有类型装入一个新的类型之前我们学过一个ZipList,它可以把一个List的运算按序号应用到另一个List的值上,从而避免List 作为Applicative 的<*>运算直接产生笛卡儿积的情况。 12data ZipList a = ZipList [a]data ZipList a = ZipList {getZipList :: ...
阅读全文 »

Learn You a Haskell for Great Good 读书笔记 11

发表于 2017-09-27
11 函子以及Applicative函子函子是那些可以被map的类型,比如List, Maybe, Tree等。它们共有一个函数 1fmap :: (a -> b) -> f a -> f b IO 函子1234instance Functor IO where fmap f action = do result <- action return (f result) ...
阅读全文 »

Learn You a Haskell for Great Good 读书笔记 10

发表于 2017-09-25
10. 用函数解决几个问题 Solve RPN 12345678910solveRPN :: String -> DoublesolveRPN = head . foldl f [] . words where f (x:y:ys) "*" = (y * x):ys f (x:y:ys) "+" = (y + x):ys f (x:y:ys) "-" ...
阅读全文 »

Learn You a Haskell for Great Good 读书笔记 9

发表于 2017-09-20
9. More IOIO操作可以直接读取流,也就是说 getLine不只是从termimal拿键盘输入,也可以直接将文件作为流输入,如 1capslocker < haiku.txt getContents迟加载,只有用到他了他才去读, 他会一直读取, 直到碰到EOF或其他停止记号。 interact1interact :: (String -> String) -> IO () ...
阅读全文 »
12
<a id='upName' href='mailto:200714916@qq.com'>Nachtflug</a>

Nachtflug

12 日志
9 标签
友情(qian)链接
  • Hill's Notes
© 2018 Nachtflug
由 Hexo 强力驱动
主题 - NexT.Muse