我的速记
文章已阅读次
内容来源于我的个人速记
1 | 大部分的鱼是靠腮呼吸的,通过水的吐息,呼吸,也有鱼是靠肺呼吸 例如非洲的肺鱼,它们能在陆地上存活一段时间。鱼儿离不开水,是因为离不开水中的氧气。 水中氧的浓度与气压,盐度和温度有关。 |
---|---|
2 | 不光含羞草,蜘蛛也是靠膨压作用行动的,蜘蛛的腿里不是肌肉,而是一种液体,通过灵活地调节液体的压强,蜘蛛的8只腿进退自如。 |
3 | .cs_note_div { margin: 1em 0em 1em 0em; border: 1px solid #5489B0; box-shadow: 1px 1px gray; font-size: 15px !important; padding: 5px; text-indent: 2em; -moz-transition: -moz-transform 1s; /* Firefox 4 / -webkit-transition: -webkit-transform 1s; / Safari and Chrome / -o-transition: -o-transform 1s; / Opera */ /transition: transform 1s;/ transition: background-color 0.5s 0s ease-in-out; } .cs_note_div:hover { background-color: black; color: red; } |
4 | [cp]#37亿元特大坚果走私案告破#【关于开心果的几件事儿】 1.开心果从何而来 人类消费开心果的历史相当悠久。目前的考古证据显示,人类食用开心果的历史甚至可以追溯到公元前6750年。在青铜时代(公元前3300-公元前1200年),中亚一带(今天的乌兹别克斯坦)的居民就已经开始栽种开心果了。 但是开心果的扩展一直很慢,直到公元1400年左右的时候,才出现了开心果的英文单词。至于说,开心果引入澳洲和美国这些世界坚果主产区都已经是19世纪末20世纪初的事情了。 2.绿色果仁有毒吗 说到开心果的种子,不仅香脆可口,风味独特,连模样都有几分个性。这种子是绿色的。 曾经有朋友向我求助,“我去超市买的开心果仁都是绿色的!这还能吃吗?” 当然是能吃的,因为含叶绿素的缘故,开心果的子叶天生就是绿色的。其实,我们吃的金橘,还有部分种类的豌豆子叶都是绿色的,完全不用担心。 至于变绿有毒这种担心大概是从土豆 变绿来的,附带说一句,土豆中可能存在的龙葵素并不是绿色的。只是在光照条件下,马铃薯块茎会同时产生龙葵素和叶绿素,所有有了变绿土豆有毒的说法。 要注意的是,就算没有光照,在温度较高的条件下,土豆还是会积累龙葵素的,这样的土豆仍然是不能吃。所以,食物变绿就有毒并不是一个可以推而广之的评判标准。 3.小心黄曲霉素 开心果潜藏的危险在于可能含有黄曲霉素。因为同花生一样,开心果的果仁很容易感染黄曲霉和寄生曲霉,这两种霉菌都是生产黄曲霉素的高手,而胡青曲霉素又是可以引发癌症的罪魁祸首。 所以,正规渠道生产的开心果在生产中和上市之前都会严格检测其中的黄曲霉素含量。从这个角度来讲,我们还是放弃那些来路不明的廉价开心果吧。 毕竟吃开心果就是图个开心,要是吃出毒素,就不是件简单的烦心事儿了。 要开心,还是要买靠谱的开心果哦。[/cp] |
5 | 在上传html源代码时报错:从客户端(TextBox1=”“). 由于在.net中,Request时出现有HTML或Javascript等字符串时,系统会认为是危险性值。立马报错。 解决方案一: 在.aspx文件头中加入这句: <%@ Page validateRequest=”false” %> 解决方案二: 修改web.config文件: |
6 | 在上传html源代码时报错:从客户端(TextBox1=”“). 由于在.net中,Request时出现有HTML或Javascript等字符串时,系统会认为是危险性值。立马报错。 解决方案一: 在.aspx文件头中加入这句: <%@ Page validateRequest=”false” %> 解决方案二: 修改web.config文件: |
7 | .cs_note_div { margin: 1em 0em 1em 0em; border: 1px solid #5489B0; box-shadow: 1px 1px gray; font-size: 15px !important; padding: 5px; text-indent: 2em; -moz-transition: -moz-transform 1s; /* Firefox 4 / -webkit-transition: -webkit-transform 1s; / Safari and Chrome / -o-transition: -o-transform 1s; / Opera */ /transition: transform 1s;/ transition: background-color 0.5s 0s ease-in-out,box-shadow 0.2s 0s ease-in-out; /transition多个属性用逗号隔开/ } .cs_note_div:hover { background-color: black; color: #DE9355; box-shadow:5px 5px 5px black; } |
8 | 关于开心果的几件事儿 1.开心果从何而来 人类消费开心果的历史相当悠久。目前的考古证据显示,人类食用开心果的历史甚至可以追溯到公元前6750年。在青铜时代(公元前3300-公元前1200年),中亚一带(今天的乌兹别克斯坦)的居民就已经开始栽种开心果了。 但是开心果的扩展一直很慢,直到公元1400年左右的时候,才出现了开心果的英文单词。至于说,开心果引入澳洲和美国这些世界坚果主产区都已经是19世纪末20世纪初的事情了。 2.绿色果仁有毒吗 说到开心果的种子,不仅香脆可口,风味独特,连模样都有几分个性。这种子是绿色的。 曾经有朋友向我求助,“我去超市买的开心果仁都是绿色的!这还能吃吗?” 当然是能吃的,因为含叶绿素的缘故,开心果的子叶天生就是绿色的。其实,我们吃的金橘,还有部分种类的豌豆子叶都是绿色的,完全不用担心。 至于变绿有毒这种担心大概是从土豆变绿来的,附带说一句,土豆中可能存在的龙葵素并不是绿色的。只是在光照条件下,马铃薯块茎会同时产生龙葵素和叶绿素,所有有了变绿土豆有毒的说法。 要注意的是,就算没有光照,在温度较高的条件下,土豆还是会积累龙葵素的,这样的土豆仍然是不能吃。所以,食物变绿就有毒并不是一个可以推而广之的评判标准。 3.小心黄曲霉素 开心果潜藏的危险在于可能含有黄曲霉素。因为同花生一样,开心果的果仁很容易感染黄曲霉和寄生曲霉,这两种霉菌都是生产黄曲霉素的高手,而胡青曲霉素又是可以引发癌症的罪魁祸首。 所以,正规渠道生产的开心果在生产中和上市之前都会严格检测其中的黄曲霉素含量。从这个角度来讲,我们还是放弃那些来路不明的廉价开心果吧。 毕竟吃开心果就是图个开心,要是吃出毒素,就不是件简单的烦心事儿了。 要开心,还是要买靠谱的开心果哦。 |
9 | 关于开心果的几件事儿 1.开心果从何而来 人类消费开心果的历史相当悠久。目前的考古证据显示,人类食用开心果的历史甚至可以追溯到公元前6750年。在青铜时代(公元前3300-公元前1200年),中亚一带(今天的乌兹别克斯坦)的居民就已经开始栽种开心果了。 但是开心果的扩展一直很慢,直到公元1400年左右的时候,才出现了开心果的英文单词。至于说,开心果引入澳洲和美国这些世界坚果主产区都已经是19世纪末20世纪初的事情了。 2.绿色果仁有毒吗 说到开心果的种子,不仅香脆可口,风味独特,连模样都有几分个性。这种子是绿色的。 曾经有朋友向我求助,“我去超市买的开心果仁都是绿色的!这还能吃吗?” 当然是能吃的,因为含叶绿素的缘故,开心果的子叶天生就是绿色的。其实,我们吃的金橘,还有部分种类的豌豆子叶都是绿色的,完全不用担心。 至于变绿有毒这种担心大概是从土豆变绿来的,附带说一句,土豆中可能存在的龙葵素并不是绿色的。只是在光照条件下,马铃薯块茎会同时产生龙葵素和叶绿素,所有有了变绿土豆有毒的说法。 要注意的是,就算没有光照,在温度较高的条件下,土豆还是会积累龙葵素的,这样的土豆仍然是不能吃。所以,食物变绿就有毒并不是一个可以推而广之的评判标准。 3.小心黄曲霉素 开心果潜藏的危险在于可能含有黄曲霉素。因为同花生一样,开心果的果仁很容易感染黄曲霉和寄生曲霉,这两种霉菌都是生产黄曲霉素的高手,而胡青曲霉素又是可以引发癌症的罪魁祸首。 所以,正规渠道生产的开心果在生产中和上市之前都会严格检测其中的黄曲霉素含量。从这个角度来讲,我们还是放弃那些来路不明的廉价开心果吧。 毕竟吃开心果就是图个开心,要是吃出毒素,就不是件简单的烦心事儿了。 要开心,还是要买靠谱的开心果哦。 |
10 | winmerge是一款文件内容差异比对软件,这里以sql为例: 左上角文件 新建 将需要比对的文件内容复制到左右两个比对框中 这里点击第二栏的扳手可勾选比对机制,如忽略所有空白和制表符,可以拍出此带来的红色差异标识。 |
11 | [玫瑰果油] 玫瑰果油是南美洲的一种野生玫瑰果实,经由特殊新科技方法提炼、萃取浓缩而成的,不含任何化学成份、防腐剂的纯天然植物油。其主要成份由多种不饱和脂肪酸、维他命C、果酸、软硬脂酸、亚麻酸及阳光过滤因子组成。它是南智利人数世纪的美肤法宝,从美少男美少女到稳重帅哥成熟美女,想要让肌肤达到更完美的状态,就一定要知道玫瑰果油。 |
12 | [玫瑰星云(NGC 2237)]是一个的巨大电离氢区,位于麒麟座一个庞大分子云的末端。这个分子云集团包括NGC 2237、NGC 2238、NGC 2239、NGC 2244、NGC 2246五个NGC天体。疏散星团NGC 2244与玫瑰星云关系相当密切,NGC 2244内的恒星是由玫瑰星云的物质所形成的。该星团与星云距离地球大约5200光年,直径大约为130光年。星云的质量估计约有10,000倍太阳质量。 |
13 | (手机和电脑在同一个局域网) 如何在手机预览电脑上开发调试阶段还未上线的网站,打开https://cli.im/mob [草料二维码],将localhost网址生成二维码,手机扫描即可查看。 |
14 | 夏天来到,又到了蚊子猖狂的时候了。 你知道吗?蚊子是这个世界上最致命的动物,因为携带疟疾、登革热等病毒,每年可杀死数十万人口,包括很多孕妇和幼儿。 最近一段关于蚊子的科普短片,让我们对这种生物有了更深入的认识。 经过解剖可以发现,蚊子的嘴其实是由6根刺针构成的,而且各司其职:2根锯齿状的用于割开皮肤、2根刺针负责固定、寻找血管、还有根刺针会释放化学物质,防止血液凝固、同时让我们觉得痒痒的。 |
15 | 鸟纲,信天翁科各种类的通称。体长约70—140厘米,为大型海鸟。嘴前端钩曲。鼻孔呈管状,左右分开。翅较长,尾较短。腿短,位于身体后部。后趾缺少或退化,前三趾具全蹼。集群营巢于海岛上。主食鱼类及头足类。全世界有14种,南北半球均有分布。其中短尾信天翁[D.albatrus]体长约95厘米,嘴肉红色,先端白色。体羽主要为白色,颈部淡黄色。初级飞羽和尾端褐色。繁殖于中国南部海域,冬季见于中国山东、台湾等沿海。为稀有种类。[1] |
16 | 狼鳗(Anarrhichthys ocellatus),英文名wolf eel,虽然身躯修长,但它并非真正的鳗鱼,而是属于鲈形目狼鳚科的另一个物种,和狼鳚属(Anarhichas)是亲戚。 相比狼鳚,狼鳗的长相更加丑陋,体型也更大,成年雄性可达2m,它们奉行一夫一妻配偶制,雌雄狼鳗一般成对居住在同一处礁石洞穴中,共同看护鱼卵。和狼鳚一样,狼鳗以底栖无脊椎动物为食,为了粉碎海胆和贝类的外壳,狼鳗拥有极其强大的咬合力与令人望而生畏的牙齿,大个体雄性狼鳗能轻而易举的咬断人手。 通常来说狼鳗对人类这样的大型动物并没有很高的攻击性,只要不主动挑衅或是威胁到它们的妻儿,雄性狼鳗还是很平易近人的。 |
17 | 骡子分为马骡和驴骡:公驴和母马的后代被称为马骡,而公马和母驴的后代被称为驴骡。 驴骡和马骡存在较大的差异。马骡在体型、体力、耐力等方面都更有优势,对人类更加有利,所以在人为干预下,大多数骡子都是马骡。 此外由于骡子是马和驴杂交生的,马与驴的染色体相差一对,在完成受精作用后,受精卵的染色体个数是单数的,生殖细胞无法进行正常的分裂,无法产生正确的配子,故骡子一般没有生育能力。 |
18 | 袁隆平曾说过,人就像一颗种子,我们拼命在土地间播撒,收获的其实是一个更健康的自己。 |
19 | 中国在 20 世纪 80 年代特别是 2000 年之后,经济进入了高速发展时期。其原因是 1).稳定的国内环境 2).进行了改革开放 3).引进最新技术和自主创新 |
20 | 百度图片的正确打开方式–> 优美大图gif 1920 |
21 | 才不足则多谋, 识不足则多虑; 威不足则多怒, 信不足则多言; 勇不足则多劳, 明不足则多察; 理不足则多辩, 情不足则多疑; |
22 | 前段时间看到有篇日志是说高斯画正十七边形的,由于原文章只有图片没有介绍,致使很多人很难看明白,在此献上画正十七边形的步骤,与您共赏! 尺规作法 步骤一: 给一圆O,作两垂直的直径OA、OB, 作C点使OC=1/4OB, 作D点使∠OCD=1/4∠OCA, 作AO延长线上E点使得∠DCE=45度。 步骤二: 作AE中点M,并以M为圆心作一圆过A点,此圆交OB于F点, 再以D为圆心,作一圆过F点,此圆交直线OA于G4和G6两点。 步骤三: 过G4作OA垂直线交圆O于P4, 过G6作OA垂直线交圆O于P6, 则以圆O为基准圆,A为正十七边形之第一顶点P4为第四顶点,P6为第六顶点。 以1/2弧P4P6为半径,即可在此圆上截出正十七边形的所有顶点。 正十七边形的证明方法 正十七边形的尺规作图存在之证明: 设正17边形中心角为a,则17a=360度,即16a=360度-a 故sin16a=-sina,而 sin16a=2sin8acos8a=22sin4acos4acos8a=2 4 sinacosacos2acos4acos8a 因sina不等于0,两边除之有: 16cosacos2acos4acos8a=-1 又由2cosacos2a=cosa+cos3a等,有 2(cosa+cos2a+…+cos8a)=-1 注意到 cos15a=cos2a,cos12a=cos5a,令 x=cosa+cos2a+cos4a+cos8a y=cos3a+cos5a+cos6a+cos7a 有: x+y=-1/2 又xy=(cosa+cos2a+cos4a+cos8a)(cos3a+cos5a+cos6a+cos7a) =1/2(cos2a+cos4a+cos4a+cos6a+…+cosa+cos15a) 经计算知xy=-1 又有 x=(-1+根号17)/4,y=(-1-根号17)/4 其次再设:x1=cosa+cos4a,x2=cos2a+cos8a y1=cos3a+cos5a,y2=cos6a+cos7a 故有x1+x2=(-1+根号17)/4 y1+y2=(-1-根号17)/4 最后,由cosa+cos4a=x1,cosacos4a=(y1)/2 可求cosa之表达式,它是数的加减乘除平方根的组合, 故正17边形可用尺规作出 正十七边形的来历: 德国哥廷根大学有个19岁青年非常具有数学天赋, 他每天例行作三道导师给他的数学题目。 有天他像往常一样拿到三题数学题目, 前两道他用了两个多小时就顺利完成, 第三道题目写在一张小纸条上, 要求他用一个圆规跟一把没有刻度的尺, 画出一个正十七边形。 他感到非常吃力,从来没有遇过这麽令他头痛的题目, 他绞尽脑汁却毫无进展,自己学过的数学知识似乎对这到题目没有一点帮助。 不过困难激起了他的斗志, 他一边思索一边尝试着各种超乎常理的推演。 当窗口曙光渐渐照进屋内, 青年舒了一口气, 他终于完成了这到题目。 见到导师时青年有点内疚和自责, 他对导师说:您给我的三道题目, 我竟然通宵作了一整晚,我辜负了您的栽培… 导师接过青年的作业一看, 当场惊呆了,他用颤抖的声音对青年说: 这真的是你作的吗? 他要青年拿出圆规和尺作一次给他瞧瞧, 当青年完成时,导师激动的对他说: 你知道你解开了两千多年的数学悬案! 阿基米德没有解决,牛顿也没有解决, 你竟然用了一晚把它解开了!! 你真是一个天才!! 给我们的启示: 当天那纸条是导师不小心交给青年的, 当青年回忆这一幕时,总是说: 如果我知道那是一道两千多年的历史数学难题, 我可能永远没有信心把它解开。 这位青年就是数学王子高斯。 有些事情,在不清楚有多难时, 我们往往能够做得更好! 真正的困难不是困难本身, 而是我们对困难的畏惧。 原文: http://blog.163.com/weimingege0117@126/blog/static/1138322522010325104112997 |
23 | SSO单点登录流程: 1.当用户第一次登陆时,先通过SSO单点登录系统进行登录操作. 2.根据用户信息查询用户数据验证登录是否有效 3.如果用户名和密码都正确,则生成ticket.并将User对象转化为JSON数据 4.将ticket和UserJSON数据写入redis缓存中 5.当用户登陆成功后,在cookie保存ticket信息. 6.当用户再次访问前台系统时,首先根据ticket信息,查询redis缓存服务器.获取用户数据. 7.当用户访问购物车时,首先前台会校验,根据ticket查询用户信息,如果用户没有登陆则转向单点登录系统. 8.当用户访问订单系统时,首先前台会校验,根据ticket查询用户信息,如果没有该用户信息,则转向单点登录系统. |
24 | 从sqlerver中随机抽取一条记录的sql语法 select top 1 *from TableName where flag=0 order by NEWID() 关键字:NEWID() |
25 | MVC和三层架构的区别(转:https://www.cnblogs.com/059212315/p/6897464.html) 三层架构中,DAL(数据访问层)、BLL(业务逻辑层)、WEB层各司其职,意在职责分离。 MVC是 Model-View-Controller,严格说这三个加起来以后才是三层架构中的WEB层,也就是说,MVC把三层架构中的WEB层再度进行了分化,分成了控制器、视图、实体三个部分,控制器完成页面逻辑,通过实体来与界面层完成通话;而C层直接与三层中的BLL进行对话。 所以, .net的三层结构中,并没有action这个概念。 asp.net mvc 是微软新发布的一种网站开发架构。为了解决传统asp.net开发中不能分离Model,View和Controller而设计的。 普通的网站为了解决可移植,可维护,可扩展等问题,会把网站设计成三个独立的模块,Model负责数据库部分,View负责网页的界面,而Controller负责界面与数据的交互及业务逻辑,这样设计的网站如果想设计或者重新开发某一个模块对其他的模块是没有影响的。但是asp.net的页面后台代码与每个页面代码都是一一对应的,业务逻辑在某些情况下不可避免的被写到了与View关联的后台代码中。这样就不能保证View与Controller的分离,也就很难实现网站的重写和升级。 而在MVC中页面代码并不是与后台代码一一对应,而是分别被存放成Controller和View两个部分,彻底的解决了,View和Controller不能独立的问题。从而改善网站的重写和升级过程。 但是MVC也有其缺点,由于在页面代码中不再可以使用服务器控件,因此给某些asp.net服务器端控件的使用带来了麻烦,而且MVC也页面的设计工作带来了很多障碍。 ASP.NET MVC 是微软在2009年4月份发布的一种新的网站开发架构,http://msdn.microsoft.com/en-us/library/dd394709.a spx,它是把传统意义上的MVC开发思想融合到了ASP.NET的开发当中。 那么我也来讲讲我对这两者的理解吧。 首先对这个题目,本身是存在问题的,”XX结构”与”XX模式”的区别?请问中国社会制度与美国人生活方式有什么区别? 这两者本身讲的是不同方向与角度的问题,在实际应用中他们的确存在一些相似的特点,在很多书籍中也没有深入讲解,以致于造成困惑,为了更好的理解他们,姑且来说说区别吧。 首先N层结构是一种软件抽象的层次结构,是对复杂软件的一种纵向切分,每一层次中完成同一类型的操作,以便将各种代码以其完成的使命作为依据来分割,以将低软件的复杂度,提高其可维护性。一般来说,层次之间是向下依赖的,下层代码未确定其接口(契约)前,上层代码是无法开发的,下层代码接口(契约)的变化将使上层的代码一起变化。三层结构是N层结构的一种,是人产在长时间使用中得出来的一种应用场合广泛的N层结构,被当作一种典型的软件层次结构而广为流传甚至写入教科书。 MVC模式是一种复合设计模式,一种在特定场合用于解决某种实际问题来得出的可以反复实践的解决方案。巧合的是他也有三个事物组成,于是乎人们就有了一种想当然的对应关系:展示层-View;业务逻辑层-Control;持久层-Model。首先MVC中的三个事物之间并不存在明显的层次结构,没有明显的向下依赖关系,相反的,View和Model往往是比较独立的,而Control是连接两者的桥梁,他们更像是横向的切分。这样一来就出现一个结果,MVC中每个块都是可以独立测试的,而三层结构中,上层模块的运行测试势必要提供下层代码或者提供相同接口的桩。相对来说,MVC复杂得多,但是结构更清晰,耦合性更低。 另外,MVC中每一块内部特别是Model内部经常被设计为多层的。在我认为的一个良好的MVC模式构建的结构中,Control是核心,小且较为稳定的,可以作为一个核心框架来提供,有扩展点,但基本上可以简单配置不需要任何代码就可以运行。而View则可能是一套或多种可选择的视图引擎,决定了软件展示给用于的界面,使用时的主要工作量在于扩展点以及根据需要而数量不同的视图模板。Model则是业务提供者,决定了软件提供的功能,其内部可能是一些普通的类或者是实现了某些接口的类,在这一块当中可能根据业务的不同而色彩缤纷,对于复杂的软件可能会分成很多层,如业务逻辑层、业务提供层、系统提供层、数据提供层、数据访问层等。 我经常用于比喻MVC的例子是小时候玩的那种卡带式游戏机,Control是主机,一般来说我买一个主机就行了,只要他不坏,他就能一直让我玩这一类的游戏。View则是电视机和游戏手柄,电视机可以独立工作,他不管输入的是电视信号、影碟机信号还是游戏机信号,他只管显示,而且他决定了我们看到的效果是怎么样的,如果我想要个尺寸更大的或者彩色的显示效果,我只需要买个相应的电视机就行了,手柄也是可以换的,要遥杆还是带震动的。Model则是游戏卡带,他绝定了我玩的是什么游戏,是魂斗罗还是超级玛莉,而且游戏机主机和电视机生产厂家永远也不知道在上面有可能会运行什么样的游戏。卡带中可能会有游戏代码和存储单元,都根据游戏的需要而设计。 有朋友提到游戏主机提供的卡带插槽的接口,在设计中,有时也由Control提供一组接口,以用于Model或View的实现,这样就形成了依赖。一般来说这样设计也没有太大的问题,只是会提高模块间的耦合度,也会带来一些侵入性。为了更完美,可以不用接口来提供契约,可以用配置信息(或称元数据信息)+反射来提供契约,那么这个类接口就可以退化到只要符合CLS就可以了,也就是普通的类,就像现在的计算机接口广泛采用USB,无论是U盘、打印机、扫描仪或者是加密狗,他们都是普通的USB设备而已。 提到USB有一个题外话,模块的可插拔性设计甚至是热插拔设计,系统可以在不停止运行的情况下动态的挂载或移除模块,动态挂载模块需要系统能够自动发现新模块并根据自描述的信息进行自动配置,移除可能情况更复杂一点,需要”安全删除硬件”类似的功能。 在设计广泛重用的框架时会考虑多种情况以达到更大的适应性,一般项目中应用MVC模式可以较为随意。 |
26 | 一、单工 1、数据只在一个方向上传输,不能实现双方通信。 2、栗子:电视、广播。 二、半双工 1、允许数据在两个方向上传输,但是同一时间数据只能在一个方向上传输,其实际上是切换的单工。 2、栗子:对讲机。 三、全双工 1、允许数据在两个方向上同时传输。 2、栗子:手机通话。 ———————————————— 版权声明:本文为CSDN博主「Ruo_Xiao」的原创文章,遵循CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/itworld123/article/details/83795099 |
27 | –Redis 常见使用场景 最近一段时间在研究 Redis,Redis 是一个强大的基于 k-v 的非关系行数据库,下面列举下 Redis 常用的使用场景。 1 缓存数据库 Redis 是基于内存的,键值型数据库,具有读写性能高,数据格式灵活,支持持久化 (persistence) 等特点。非常适合作为缓存数据库使用。可以将业务中的热数据储存在 Redis 中, Redis 具有丰富的数据类型,常用的有 String, Hash,List, Set, SortedSet(有序集合)。 2 消息队列 消息队列,比如 email 或者验证码的发送队列, Redis 的 List 类型能够很轻松的实现一个消息队列,使用 lpush 和 rpop/brpop(阻塞版rpop) 即可实现一个消息队列。 3 计数 &计时 可实现计数和计时的功能。计数,比如每天最多只能获取10次验证码, 可以使用 Redis 的 inch 命令, inch会对数据进行加一操作而且该命令具有原子性。 计时,比如验证码一分钟内有效。可以使用 Redis 的 setex 命令设置验证码只保存一分钟,一分钟后失效。 4 排行榜 排行榜, 使用 Redis 的 SortedSet (有序集合) 可实现类似微信小游戏排行榜功能,SortedSet 类型每个成员具有两个属性,一个是 name 一个是 score, 使用 zadd key score member 向 SortedSet 添加成员。使用 zrevrange key start stop 来获取指定排名区间的成员(zrevrange 按 score 从大到小排列,zrange相反)。 5 发布订阅模式 发布订阅模式有点像我们生活中使用的收音机, 适用于邮件订阅场景。可以使用 Redis 的发布订阅模式实现邮件订阅的功能。如果有100个人订阅了你的博客,你发了文章那么100个订阅者会收到你的通知邮件。通过 Redis 的 subscribe channel 实现订阅关注博客功能, 被关注者发发布博客的时候,通过 Redis 的 publish channel message 实现对订阅者进行消息推送。 6 锁机制 锁机制, 当使用多线程或者分布式系统的时候,有可能发生资源争夺,可以使用 Redis 的 setnx 实现锁机制。 setnx == set if not exsist。用法为 setnx key value 。如果该key存在则设置不成功返回0, 如果该 key 不存在则设置成功返回1。 能够设置成功则获得锁,设置不成功则获取不到锁。当然还要考虑获得锁的进程挂掉/网络连接失败 导致的死锁等情况。 |
28 | 百度富文本编辑框 UEditor |
29 | REST四个基本原则: 1.使用HTTP动词:GET POST PUT DELETE; 2.无状态连接,服务器端不应保存过多上下文状态,即每个请求都是独立的; 3.为每个资源设置URI; 4.通过XML JSON进行数据传递; 实现上述原则的架构即可称为RESTFul架构。 1.互联网环境下,任何应用的架构和API可以被快速理解; 2.分布式环境下,任何请求都可以被发送到任意服务器; 3.异构环境下,任何资源的访问和使用方式都统一; |
30 | 能用foreach遍历访问的对象需要实现____接口或声明____方法的类型 一、答案 能用foreach遍历访问的对象需要实现IEnumerable接口或声明GetEnumerator方法的类型 注:不一定要实现IEnumerable接口,但一定要实现GetEnumrator方法。 二、.Net 1.0实现 public class MyList |
31 | textarea 禁止拖拽样式 讲其 style样式中,resize 属性设置为 none即可(textarea控件在chrome下默认是可以拖拽的) |
32 | js中获取母版页中的控件ID 1)母版控件设置runat=server 2)js中 获取控件ID的方式由 document.getElementById(母版id) 改为 document.getElementById(<%=母版id.ClientID%>) |
33 | 设置网页滚动条的样式 /全局滚动条样式/ ::-webkit-scrollbar { width:0px !important; height:0px !important; } ::-webkit-scrollbar-track { /background: rgba(43,70,109,1);/ border-radius: 5px; } ::-webkit-scrollbar-track-piece { /内层轨道,滚动条中间部分(位置4)/ border-radius: 2px 2px 0px 0px; } ::-webkit-scrollbar-thumb { background: #6E8EBA; background: #cccccc; border-radius: 6px; } ::-webkit-scrollbar-thumb:hover { background:rgba(81,118,170,0.5); } ::-webkit-scrollbar-corner { background: #f6f6f6; } body { scrollbar-arrow-color: #66A9BC; /滚动条滑块按钮的颜色/ scrollbar-face-color: #E7EAED; /滚动条整体颜色/ scrollbar-highlight-color: white; /滚动条阴影/ scrollbar-shadow-color: white; /滚动条轨道颜色/ scrollbar-track-color: white; } |
34 | 设置字体渐变闪烁的效果 .wordflower { margin: 10px auto; width: 500px; height: 100px; line-height: 100px; text-align: center; color: white; color: hsla(0, 0%, 100%, .65); font-weight: 800; font-size: 37px; background: -webkit-linear-gradient(left,white 25%, pink 50%, white 75%, white 100%); -webkit-text-fill-color: transparent;/必须/ -webkit-background-clip: text; -webkit-background-size: 200% 100%; /-webkit-animation: masked-animation 4s infinite linear;/ -webkit-animation: masked-animation 3s 1 linear; text-shadow: none !important; /-webkit-text-stroke: 1px #fff;设置镂空效果/ } @-webkit-keyframes masked-animation { 0% { background-position: 0 0 } to { background-position: -100% 0; } } |
35 | css3中颜色的几种表示法: 1.英文:eg:red,orange,pink; 2.hsla(颜色(色轮值),饱和度,亮度) 又称色轮模式; 2.rgb(n,n,n); 3.rgba(n,n,n,m),m为0到1之间的数,表示透明度; 透明度问题: opacity可 设置透明度【0,1】 transparent 绝对透明 相当于透明度设置为1 |
36 | textarea 的用法 |
37 | textarea 的用法 |
38 | 网页中内容无法撑起完整宽度的时候,只需将父节点 table 或div, 其样式设置 为 width:100% [padding:0,margin:0] 即可。 |
39 | #photo + div > div > article > div { font-size: 11pt; padding: 2px; text-indent: 10px;/首行缩进10px/ letter-spacing:1px;/文字列间距/ line-height: 30px;/文字行间距/ } |
40 | 在使用bootstrap的栅格系统时,假如我们分成的三列后发现彼此之间的距离太宽或太窄,而且在使用 offset做了左右偏移后三列的间距还是无法达到我们想要的距离。 可以在三列下的最外层添加一个div,通过调节这个div的百分宽比例(此时并不会影响主三列的比例),使得显示内容的宽度发生变化,这样子留白的距离就能达到一个合适的度。 |
41 | 以下印记墙实例。 1) div id=divleft class=col-xs-0 col-sm-4 col-md-3 col-lg-2 2) div id=divcenter class=col-xs-12 col-sm-8 col-md-5 col-lg-7 div style=width:95% /关键点/ /div /div 3) div id=divright class=col-xs-12 col-sm-0 col-md-4 col-lg-3 |
42 | 给html元素添加后缀小尾巴(《) [ lang|=scana]:after { content: “\00BB”;/这就是你要的小尾巴/ font-size: 11px !important; } |
43 | ASP.NET常用的ORM框架 petapoco massive subsonic dapper 性能不错,接近原生ADO.NET 这个是大家推荐的,stackoverflow用的就是这个框架 |
44 | sqlserver 同表2字段 合并成1列的方法 1) convert(varchar,a)+convert(varchar,b) 2)CONCAT(a,[拼接字符串],b) 这是一个SQL Server 2012后引进的新函数,中间的拼接字符串根据需要可要可不要。作用就如同它名字的意思。它对NULL值得处理是空字符串。当然它能做的不仅是对字符的支持。它支持N个列输入,列的类型支持更加完善。不过其实它的原理不过是把传入的数据用CONVERT函数转换成NVARCHAR类型。 3)STUFF(strs,start,length,instr) 表示对字符串str,在strt的位置至length位置被instr字符串替换 |
45 | 使用以下Jquery 方法可以将txt文档显示出来,可用于源代码展示在网页上。 $(function(){ $.Load(“abc.txt”) }) |
46 | 1、原理:从数组的第一个位置开始两两比较array[index]和array[index+1],如果array[index]大于array[index+1]则交换array[index]和array[index+1]的位置,止到数组结束; 从数组的第一个位置开始,重复上面的动作,止到数组长度减一个位置结束; 从数组的第一个位置开始,重复上面的动作,止到数组长度减二个位置结束; …………………………….. 2、时间复杂度:O(N2),进行了(n-1)(n-2)….=n(n-1)/2次比较和约比较次数一半的交换次数(均况下),那么根据大O表示法时间复杂度为O(N^2) 3、代码示例: using System; namespace MySort { //先建立一个类,以后把所有排序方法都放到这个类里, public class SumSort { //冒泡排序方法,从小到大排,虽然很多冒泡排序都是从大到小, //可是我就想这么排,你能怎么着我。 public void PopSort(int[] list) { int i, j, temp; //先定义一下要用的变量 for (i = 0; i < list.Length - 1; i++) { for (j = i + 1; j < list.Length; j++) { if (list[i] > list[j]) //如果第二个小于第一个数 { //交换两个数的位置,在这里你也可以单独写一个交换方法,在此调用就行了 temp = list[i]; //把大的数放在一个临时存储位置 list[i] = list[j]; //然后把小的数赋给前一个,保证每趟排序前面的最小 list[j] = temp; //然后把临时位置的那个大数赋给后一个 } } } } } public class test { //这里给一组测试数据,打印输出看看排序方法的效果如何 static void Main() { int[] arr = { 1, 4, 2, 43, 5, 61, 89, 34, 67, 32, 40 }; //把数据排序类实例化一下,然后调用方法。 //什么?还要实例,可我不想实例化怎么办? //那也没有关系,把PopSort方法前加一个static,直接调用SumSort.PopSort(arr)就好了 SumSort mysort = new SumSort(); //来来来,大家按高矮排个队,矮的排前面高的排后面 mysort.PopSort(arr); //真听话,看看大家都排第几位了 for (int i = 0; i < arr.Length; i++) { Console.Write(“第{0}位是{1}\n”, i + 1, arr[i]); } Console.WriteLine(); } } } |
47 | 冒泡排序 算法里排序速度最慢的 原理:从头开始,每一个元素和它的下一个元素比较,如果它大,就将它与比较的元素交换,否则不动。 这意味着,大的元素总是在向后慢慢移动直到遇到比它更大的元素。所以每一轮交换完成都能将最大值 冒到最后。 原出处:https://www.cnblogs.com/wangjiahong/p/3570465.html 冒泡算法C namespace 数组排序 { class Program { static void Main(string[] args) { int temp = 0; int[] arr = {23, 44, 66, 76, 98, 11, 3, 9, 7}; for (int i = 0; i < arr.Length - 1; i++) { #region将大的数字移到数组的arr.Length-1-i for (int j = 0; j < arr.Length - 1 - i; j++) { if (arr[j] > arr[j + 1]) { temp = arr[j + 1]; arr[j + 1] = arr[j]; arr[j] = temp; } } } Console.WriteLine(“排序后的数组:”); foreach (int item in arr) { Console.Write(item+””); } Console.WriteLine(); Console.ReadKey(); } } } |
48 | 新装的win10系统,如果无法用win+G 打开xbox屏幕录屏功能,需按以下步骤操作: 1)点击电脑屏幕windows图标,点击设置 2)点击菜单左侧 游戏栏,打”开”使用游戏栏录制游戏剪辑、屏幕截图和广播 勾选使用控制器上的这个按钮打开游戏栏 |
49 | md5加盐(hash) 加密算法 using System; using System.Text; using System.Security.Cryptography; namespace Common.Security { /// |
50 | SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。 |
51 | md5加盐 如果只是对密码进行md5加密,当用户密码比较简单,像123456这种,黑客就可能碰测登录成功。 这时候可以通过加盐md5对密码加密。 盐被称作“Salt值”,这个值是由系统随机生成的,并且只有系统知道。即便两个用户使用了同一个密码,由于系统为它们生成的salt值不同,散列值也是不同的。 |
52 | json序列化和反序列化的方式 1.使用JavaScriptSerializer类 2.使用DataContractJsonSerializer类 3.使用JSON.NET类库 |
53 | DI(依赖注入)的优点 1).解耦,没有强依赖 2).不需要了解具体的服务类 3).不需要管理服务类的生命周期 |
54 | XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 标签没有被预定义。您需要自行定义标签。 XML 被设计为具有自我描述性。 XML 是 W3C 的推荐标准 XML 不是 HTML 的替代。 XML 和 HTML 为不同的目的而设计: XML 被设计为传输和存储数据,其焦点是数据的内容。 HTML 被设计用来显示数据,其焦点是数据的外观。 HTML 旨在显示信息,而 XML 旨在传输信息。 XML 是不作为的。 也许这有点难以理解,但是 XML 不会做任何事情。XML 被设计用来结构化、存储以及传输信息。 XML 仅仅是纯文本,我们需要编写软件或者程序,才能传送、接收和显示出这个文档。 XML 没什么特别的。它仅仅是纯文本而已。有能力处理纯文本的软件都可以处理 XML。 不过,能够读懂 XML 的应用程序可以有针对性地处理 XML 的标签。标签的功能性意义依赖于应用程序的特性。通过 XML 您可以发明自己的标签,是由文档的创作者发明。 因为 XML 没有预定义的标签。 在 HTML 中使用的标签是预定义的。HTML 文档只使用在 HTML 标准中定义过的标签 XML 允许创作者定义自己的标签和自己的文档结构。 |
55 | vs上使用npm 导入bootstrap方法 项目右键 添加新项 –右边输入npm ,点击中间的npm配置文件,便可以生成此文件在 devDependencies 中输入配置 “bootstrap”: “4.3.1”–这一步有智能提示ctrl+s保存, 同样如果删掉配置,保存,就卸载掉booststrap了 |
56 | libman的使用方法 项目 右键 添加 客户端库 提供程序选择 unpkg,库:bootstrap@4.4.1,这里有智能提示,最后根据实际需要选择特定文件或所有文件,完成后文件添加成功同时生成了一个libman.json数据配置文件 |
57 | 合并vs中css(最好是同层级)并压缩输出 有时候需要将导入的css和自己写的css合并打包在一块儿并压缩输出 右键添加新建项,bundleconfig.json,进行合并目标位置css(inputFiles),然后输出(o minify 为是否压缩选项(需要用到Nuget安装 buildbundlerminifier 可以用来压缩css) bundleconfig.json [ { “outputFileName”: “wwwroot/selfcss/bootstrap.css”, “inputFiles”: [ “wwwroot/lib/bootstrap/dist/css/bootstrap.css” ], “minify”: { “enabled”: true } }, { “outputFileName”: “wwwroot/selfcss/all.min.css”, “inputFiles”: [ “wwwroot/lib/bootstrap/dist/css/bootstrap.css”, “wwwroot/css/site.css” ] } ] |
58 | asp.net core _Layout.cshtml |
59 | 未来的方向与人生价值取向,努力去奋斗,时间要有安排,这对结婚后双方的人生安排也是很重要的。 |
60 | asp.net core 的配置信息 a.命令行参数 b.appsettings.json/appsettings.{Environment}.json c.Secret Manager d.环境变量 a,b,c,d 原则上存在一个配置即可。如果都有存在相同的, 优先取a。 b,c有相同的,取c |
61 | 快捷键 ctor+2个tab 可快速创建类名方法,然后 注入参数 后 Alt+Enter 可构建注入方法 ctrl+2个R,可以快速修改方法和类文件夹名 |
62 | 左边菜单固定且有单独的scrollbar /左边菜单外壳定位/ #index .el-aside { position: fixed; } /左边菜单内壳定位/ #index #divleft{ position: absolute ; overflow: hidden; overflow-y: scroll; padding-bottom:2em; } /内容区/ #index #maincontent { margin-left:185px !important;/左边菜单的宽度/ } |
63 | wqwe |
64 | 123 |
65 | asdfasdfaf |
66 | 狮鬃水母直径只有2米,但它的触手可达30多米,差不多相当于10层楼的高度,是海洋中最大的生物之一 |
67 | |
68 | 更改光标样式图标 * { cursor:url(../image/mouse.ico),auto !important; } 以上图片最好选择更常规光标大小的ico(32x32)的图标 |
69 | 设置图片毛玻璃效果 .backimg { width: 100%; max-height: 200px; /以下为关键语句/ -webkit-filter: blur(2px); /* Chrome, Opera */ -moz-filter: blur(2px); -ms-filter: blur(2px); filter: blur(2px); } |
70 | 设置代码源码展示 pre的样式 pre { white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word; font-size: 15px; background-color: white; text-indent: 2em; line-height: 30px; letter-spacing: 3px; background-color: #d1eafe; border:1px dashed white; } |
71 | .net core 界面复用使用 View Component(跟1)类似,但它包含一个迷你的controller可写逻辑) 因: 1)Partial View 无法添加业务逻辑 2)Controllerl里面可写逻辑无法做到到处复用 3)Child Action 开销太大,它需要走完整个controller生命周期。 |
72 | * { -webkit-cursor:url(../image/mouse.ico) 0 -15px,auto !important; cursor: url(../image/mouse.ico),auto !important; } 设置光标图标锚点的位置,在ie下无效,其它浏览器下有效。 |
73 | 设置bootstrap 栅格栏偏移 <div class=”col-xs-11 col-sm-11 col-md-11 col-xs-offset-1 col-sm-offset-1 col-md-offset-1 > 以上 col-xs-offset-1 col-sm-offset-1 col-md-offset-1 即表示往右偏移一栏。 |
74 | 设置bootstrap 栅格栏偏移 div class=col-xs-11 col-sm-11 col-md-11 col-xs-offset-1 col-sm-offset-1 col-md-offset-1 以上 col-xs-offset-1 col-sm-offset-1 col-md-offset-1 即表示往右偏移一栏。 |
75 | 在WebApi的RESETful风格里面,API服务的增删改查,分别对应着http的post/delete/put/get请求。 |
76 | Cookie的使用 Cookie用于在用户浏览器上存储小块的信息,保存用户的相关信息,比如用户访问某网站时用户的ID,用户的偏好等,用户下次访问就可以通过检索获得以前的信息。所以Cookie也可以在页面间传递值。Cookie通过HTTP头在浏览器和服务器之间来回传递的。Cookie只能包含字符串的值,如果想在Cookie存储整数值,那么需要先转换为字符串的形式。 与Session一样,其是什对每一个用户而言的,但是有个本质的区别,即Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用。 优点:1.使用简单,是保持用户状态的一种非常常用的方法。比如在购物网站中用户跨多个页面表单时可以用它来保持用户状态。 缺点:1.常常被人认为用来收集用户隐私而遭到批评。 2.安全性不高,容易伪造。 使用方法:1.在源页面的代码中创建你需要传递的名称和值构造Cookie对象: HttpCookie objCookie = new HttpCookie(“myCookie”,”Hello,Cookie!”); Response.Cookies.Add(cookie); 2.在目的页面的代码使用Cookie对象取出传递的值:Result = Request.Cookies[ “myCookie” ].Value; 例子:(1)a.aspx private void Button1_Click(object sender, System.EventArgs e) { HttpCookie objCookie = new HttpCookie(“myCookie”,”Hello,Cookie!”); Response.Cookies.Add(objCookie); } (2)b.aspx string myName1Value; myName1Value = Request.Cookies[ “myCookie” ].Value; |
77 | SqlServer 事务 事务是单个的工作单元。如果某一事务成功,则在该事务中进行的所有数据修改均会提交,成为数据库中的永久组成部分。如果事务遇到错误且必须取消或回滚,则所有数据修改均被清除。 SQL Server 以下列事务模式运行。自动提交事务 每条单独的语句都是一个事务。显式事务 每个事务均以 BEGIN TRANSACTION 语句显式开始,以 COMMIT 或 ROLLBACK 语句显式结束。隐式事务 在前一个事务完成时新事务隐式启动,但每个事务仍以 COMMIT 或 ROLLBACK 语句显式完成。批处理级事务只能应用于多个活动结果集 (MARS),在 MARS 会话中启动的 Transact-SQL 显式或隐式事务变为批处理级事务。 |
78 | md5加密的另外一种写法【改变了字符串转变为十六进制的写法】 StringBuilder sb = new StringBuilder(); using (MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider()) { //将字符转为字节数组,计算哈希值 byte[] data = md5.ComputeHash(Encoding.UTF8.GetBytes(str)); //遍历哈希数据的每个字节 //并将每个字符串格式化为十六进制字符串。 int length = data.Length; for (int i = 0; i < length; i++) { sb.Append(data[i].ToString(“x2”)); } return sb.ToString(); } |