
☆技术杂文(Technical Essay)
文章平均质量分 89
SugaryoTT
钱难挣!屎难吃!
展开
-
ARP防护
首先对于ARP的认识是在我对自己的电脑进行局域网兼容的时候开始的,虽然经历了一些坎坷,不过最终还是对ARP的防护有了自己的理解和认识,除了下面的方法,还有通过APR –S以及NETSH “X X”ADD NEIGHBORS IDX 等方法进行添加,虽然治标不治本但是也是提供了一条解决问题的途径,如果大家有其他的方法,欢迎交流。@echo off:::::::::读取本机Mac地址if exis原创 2015-10-04 20:37:34 · 1280 阅读 · 15 评论 -
【Algorithm】藏在Ranking中的ELo
写在前面的ELO什么是ELO算法算法模型算法原理验证总结写在前面的 今天偶尔在BlueHole的HOT FIX&UPDATES的说明中看到了下面的一段话:Next Tuesday, August 1st, we will reset our leaderboard once again. Now that we are getting closer to launch, we wil原创 2017-07-31 21:06:05 · 1635 阅读 · 6 评论 -
【译U3D】官方坦克3D游戏制作2-创建坦克+让坦克“飞”
写在前面的 在上一节讲到了场景搭建,这一节就来讲一下坦克的创建和怎么让坦克动起来。 SLIDE 1/12 1.在项目中的Models文件夹中,找到叫做Tank的模型,然后把他拽到Hierarchy面板中。 2.在Inspector面板的顶部,将Tank的Layer设置为Players。 3.当Change Layer对话框出现的时候,选择No,this object only。SLIDE翻译 2017-08-02 10:11:50 · 1646 阅读 · 6 评论 -
【译U3D】官方坦克3D游戏制作1-物体与场景搭建
写在前面的经过断断续续的制作,也算是把官方教程的东西试着做了出来,在完成的同时也做了几个属于自己的U3D处女座,但是质量太烂了,就不拿出来现眼了,下面就把官方的制作文档翻译给喜欢创造但是英语还有待提高的小伙伴们!点击这里下载官方PDF,建议小伙伴不要安装语言汉化包。密码: 4iys我们将要完成的任务我们的教程都包含什么?接下来就开始干吧!少年!项目创建SLIDE 1/7 1.安装U3D的5翻译 2017-06-05 17:37:30 · 1637 阅读 · 16 评论 -
【MVC】过滤器应用-代码
写在前面的 经过这一版积分系统的重构,也对MVC中过滤器有了一些实际应用的经验,下面我就来结合我们的小项目中的一些具体事例,对MVC过滤器进行一下小小的研究。什么是过滤器?简单的来讲,就是MVC为了帮我们简化身份验证、异常和页面跳转的一套解决方案。拥有了过滤器的Action或者全局过滤器的项目会在上述的这些操作的效率会大大的提升。过滤器的分类全局过滤器 :顾名原创 2017-07-23 22:59:34 · 631 阅读 · 19 评论 -
【译U3D】官方坦克3D游戏制作3-摄像机
写在前面的 这一节我们来说一下在U3D的世界中,摄像机(Carmera)是怎么工作的,以及它的一些原理。SLIDE 1/33 1.在Hierarchy视图中,打开Create菜单,选择Create Empty,来创建一个空的GameObject 2.把这个空的GameObject重命名为CameraRig 注:在官方提供的素材中已经将Camera的相关的属性和参数放在了相应的文件夹中,如翻译 2017-08-06 09:51:23 · 847 阅读 · 9 评论 -
【MVC】传值大全参考
写在前面的传参方式Controller与View之间ViewBagViewDataJSAjaxURLAction与Action之间Controller内部总结写在前面的 传值的问题在MVC中也算是一个比较丰富的机制,我们可以借助各种方式和工具组件在Controller和View中来回传递参数。常用的有这么几种方式,Controller<—->View;Action<—->Act原创 2017-08-15 11:38:56 · 657 阅读 · 16 评论 -
未能加载文件或程序集“MySql.Data, Version=6.8.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d”或它的某一个依赖项
写在前面的系统及组件问题MVC本身发布问题总结写在前面的 一般在BS文件系统的发布中我们会碰到几个比较麻烦的问题,其中比较突出的就是服务器与本地发布的环境问题。有时候会因为一个小小的DLL文件,让整个系统都无法运行起来,下面就来说一下解决这个问题的方法,以MYSQL.DATA为例。 通过度娘或者谷歌索索的解决类似问题的方法,但是在这里都不是很奏效,下面我就把这些问题归为几类,分别来阐述原创 2017-09-07 16:26:12 · 3618 阅读 · 12 评论 -
【Front-End】1分钟教你封装手机APP
写在前面的步骤Hbuilder建项修改Manifestjson发布总结写在前面的 随着项目的进度接近尾声,客户的需求也基本确定了(只有和客户打过交道才知道,软件工程的思想想要在客户这里推行是极其艰难的,所以只有不断地更换工程开发模型,才可以切合客户的需要,最重要的是符合项目管理的需求),那么最后需要做的就是封装已经发布好的网站到手机APP中。步骤目前来讲,在度娘所给的结果中,用Hbu原创 2017-09-26 09:52:24 · 2954 阅读 · 17 评论 -
【.NET】.NET MVC4 微信扫一扫功能实现-附全部代码
写在前面的 首先在调用微信的JS-SDK接口的时候需要仔细阅读一下官方的注意事项,否则可能事倍功半。这里先大概概述一下主要的流程,首先,使用微信扫一扫需要一个已经通过认证的公众号;其次,需要知道公众号的APPID以及APPSecrect,以便获取Access_Token和Ticket;再有就是需要了解.NET内部的SHA1的加密类;最后引用官方的JS,就可以了。VIEW代码需要注意的是,公众号原创 2017-11-17 10:59:42 · 5265 阅读 · 13 评论 -
【VUE】IView.js下拉框数据双向绑定
写在前面的 在Iview.js的众多组件中,drop selection也是使用比较频繁的组件之一,下面就用最为简单的方法来实现下拉框中数据的动态绑定。Select Option 组件静态数据绑定首先,我们先了解一下官方API文档中的例子效果图 代码示例:<template> <Select v-model="model1" style="width:200px">原创 2017-12-10 13:49:52 · 11550 阅读 · 14 评论 -
【VUE】.NET实现Tree组件双向绑定数据(1)
写在前面的 由于这个Tree 组件在使用render函数的情况下会变得相对简单一些,但是在后台处理数据的时候依然会碰到相当大的麻烦,索性,我们在后台把树结构拼好,一次性返回给前端页面,这样来的更实际一些。 可能因为IView.js的用户还比较少,网上基本上没有对Tree组件的一些应用,所以自己就写了一套,由于我在使用的过程中,树结构只有三级,所有并没有使用递归,还算是比较简单吧。原创 2017-12-18 11:52:36 · 1498 阅读 · 11 评论 -
【.NET】两个数据加密算法-DESEncrypt+MD5
DESncrypt不携带秘钥秘钥固定携带秘钥加密解密MD5加密参数为Stream参数为stringDESncrypt不携带秘钥(秘钥固定)+携带秘钥加密/// <summary>/// 加密/// </summary>/// <param name="Text"></param>/// <returns></returns>public static string Encry原创 2017-12-18 15:48:39 · 1163 阅读 · 7 评论 -
【VUE】.NET实现Tree组件双向绑定数据(2)
写在前面的 在之前的文章中我们已经做好了前期的准备工作,接下来我们需要做的有两步,第一步是将用户组资源表中的数据读取出来,按照资源页面的级别,拼装树,这个过程我们只涉及到查询;第二步就是根据页面上用户对树资源的勾选和取消勾选,来实现数据库表的添加和删除。树的拼接首先我们先来做简单的第一步,我们的基本思路是这样:1.首先将用户组资源表中的数据与资源表中的数据作对比,同时将页面资源的等级分开,即分原创 2017-12-19 10:28:11 · 1059 阅读 · 8 评论 -
【VUE】.NET实现Tree组件双向绑定数据(3)-资源分配
写在前面的功能描述代码前端后台总结写在前面的 经过之前树的拼装,基本上已经可以了解到Iview.js中树组件的格式显示,接下来就是有关于树组件中,expand、checked属性,在实际中的一些使用技巧。功能描述首先看一下我们之前拼装好的树形菜单: 我们的目的就是为了将用户修改之后的树结构返回给后台进行处理并保存。代码前端HTML<Button class="search原创 2018-01-04 16:34:58 · 1151 阅读 · 10 评论 -
【VUE】迫不得已咱们改一下样式!然后再挂个JS吧!
写在前面的 世事难料,刚刚接触VUE,自己的脑海中还是总带着“页面JS解决一切”的想法。虽然知道外挂JS并不符合整个VUE的思想,但是还是得这么做了。 因为项目原因,我们必须使用Iview.js,因为其本身对页面表格的功能封装的比较完善,所以想要自己再按照需求自定义一些样式或者功能,就比较麻烦了。对于样式而言,修改起来比较容易,我们只需要找到项目文件目录下node_modules–原创 2018-01-06 15:05:50 · 1028 阅读 · 18 评论 -
【MVC】未能加载类型"********.MvcApplication"
错误截图可能的错误原因及其解决方案1.多开VS导致可能的内存加载错误解决方案:关掉所有的VS,整理一下内存,重开项目即可。2.Global.asax文件与WEB项目本身命名空间存在冲突解决方案:将二者namespace名称改为一致。原创 2017-07-05 19:58:38 · 7879 阅读 · 16 评论 -
【MVC】发布问题0x80070021与0x8007000d,解决方案
写在前面的在对MVC项目的发布中,自己遇到了一些问题,自己收集答案整理了一下解决方案。由于mvc本身的路由机制,在项目发布的时候不同于普通的web项目,不用指定默认项目,所以给发布带来了很多便利,iis的基本配置就不多讲了,直接贴解决方案。错误原因及解决方案错误代码0x80070021解决方案:如果出现这个错误,是因为IIS采用了更安全的web.config管理机制,我们可以在web.conf原创 2017-07-13 19:40:17 · 5693 阅读 · 14 评论 -
【科普】DENUVO加密技术
背景这几天在浏览一些游戏方面的技术资料的时候,无意间看到一些比较火热的消息,有关于游戏破解与加密的。由于是新年期间,一些大的厂商要放出新作,这就涉及到“钱”的问题了,我相信,在我们国人的眼中,花钱买游戏是一件比较荒唐的事情,所以才成就了国内庞大的盗版市场。说到盗版,就不得不说破解了,所谓的破解呢,就是你一分钱不花,就可以玩到一些品质比较优秀的作品,也正是破解,让这些“辛辛苦苦”(辛苦不辛苦只有开发人原创 2016-01-24 16:46:06 · 12918 阅读 · 31 评论 -
【TSQL】排序的简单应用
介绍RANK函数排序DENSE_RANK函数排序NTILE函数进行分组ROW_NUMBER函数排序总结介绍在TSQL的应用中对于排序的用法有时会减少一些其他不必要的工作这里就总结三个最基本的用法。RANK()函数排序通过RANK可以将我们通常意义上的“班级排分”进行简化,排序过程直接交给数据库去做。代码: SELECT * '使用RANK函数进行排名' , RANK原创 2016-03-06 14:10:52 · 1205 阅读 · 14 评论 -
【VS】使用IrisSkin2.dll一键加载窗体皮肤
介绍用法加载方法代码编写总结下载地址介绍这几天在搞窗体的UI设计,找了一些UI设计的技术资料,其中一个最实用的也是最方便的就是IrisSkin2.DLL。在刚刚接触这个DLL的时候第一个感觉就是这和游戏引擎有点像啊,支持“一键”改变所有窗体的皮肤,比起自己慢慢的一个一个加载和修改窗体外观,效率有了很大的提升,简直不能再棒!下面我就来介绍一下这款“引擎”在C#和VB.NET中用法吧。用法原创 2016-03-13 19:56:16 · 4179 阅读 · 27 评论 -
【C#】MDI窗体中,将子窗体置于父窗体控件之上的方法
问题这几天在优化程序的时候发现了一个问题,就是在MDI窗体中的子窗体被激活显示出来之后,总是被主窗体中的控件遮挡(各种控件)。解决的方法也试了很多但是都不是很满意,由于C#的WINFROM窗体没有SETPARENT的方法,所以很多东西都需要自己去编写,下面就贴一个至少让我感觉非常不错的方法吧。解决办法user32.dll首先来介绍一下什么是“User32.dll”欢原创 2016-05-08 16:03:32 · 5815 阅读 · 21 评论 -
常用DOS命令总结
时间紧迫~找了一些关于CMD中一些常用命令的总结,顺便回顾一下一些系统调试的方法。一,ping (搞服务器的人肯定不会陌生)它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据原创 2016-06-12 22:33:26 · 1096 阅读 · 16 评论 -
【VS】VS2015添加自定义模版
写在前面的在之前的开发过程中,我们有时候需要记录代码段的编辑和修改信息,以及该代码段或者模块的基本信息。这时我们就需要我们重复的在开头添加有关于该模块、代码段的“标头”,添加的方法问问度娘就可以查到。但是,由于VS2015的添加项目的界面和以往有很大不同,所以在添加“自定义模板”的时候会出现一些小插曲,在下面的文章中我会通过实例列举出来。同时,汇总一下网络上的方法,再通过我自己的实践做出一个小的对原创 2016-07-13 20:38:45 · 16663 阅读 · 15 评论 -
【SQL】关于低版本SQL附加高版本数据库(ERROR:948)的解决方法
写在前面的最近在使用数据库的时候出现了一些小问题,具体来说就是SQL Server 2008附加SQL Server 2014数据库的时候出现了错误:948,在网上查找了一些方法最终搞定了这个问题,下面就贴出具体的解决方案。Tips:微软官方已经明确承认,高版本的数据库文件(MDF、LDF)是不能附加到低版本的SQL Server上的,所以网上那些开一个服务就可以的做法根本行不通。解决方法生原创 2016-07-26 15:49:01 · 21594 阅读 · 22 评论 -
【Denuvo】最强加密沦陷?
写在前面的今天最大的新闻莫过于《古墓丽影:崛起》被毛子的一个组织破解了。回想8个月之前,被各种游戏公司奶的飞起的DENUVO ANTI-TAMPER,最终还是禁不起全世界破解组织的考验,最终还是栽到了反调试上。要知道,仅仅几个月之前,我们国内的某知名破解网站还曾经试图放弃过破解DENUVO,并且各大媒体争相报道未来”盗版”可能成为历史,但谁知就是这仅仅的几个月时间,这堵反调试的高墙轰然倒塌,不禁让原创 2016-08-17 17:32:43 · 1541 阅读 · 14 评论 -
【OA】EXCEL常用VBA总结
对EXCEL一些定义的理解纠正工作簿&工作表原创 2016-12-04 22:27:25 · 2119 阅读 · 12 评论 -
【LINUX】对于安装时磁盘分区的解释
写在前面的磁盘挂载分区基础安装步骤部分总结写在前面的 由于Windows和Linux系统在资源管理上的区别(前者直接通过访问盘符来进行文件资源管理,而后者则是通过区分挂载到目录上来实现对分区资源的管理和访问,也就是为啥我们会经常提到“根”),所以学习LINUX的时候会有一些费劲特别是习惯了可视化操作界面的人一下子回到DOS时代就有些措不及然,虽然界面不友好,但是也架不住LINUX本身强大的原创 2016-12-31 15:04:49 · 4702 阅读 · 10 评论 -
【DENUVO】一代天子一代臣,这代好像有点“颓”?
好吧,如果你已经了解过DENUVO,那就不在这里过多的说明了,没有的话还是请看看我之前狂奶的一篇文章。自从上次实力奶了一波DENUVO之后,就感觉DENUVO有点扛不住了,先是几个月之前《THE RAISE OF TOMB RAIDER》被破解,然后就是最近的《RESIDENT EVIL 7》仅仅发售5天就惨遭破解。不得不说,在反编译原创 2017-02-08 20:28:34 · 1611 阅读 · 15 评论 -
【Docker】Docker使用原则
写在前面的由于自己DOCKER的一些小DEMO还没有测试完毕,就把DOCKER的使用教程的文章先缓一缓。在使用DOCKER的过程中出现了一些小问题,参阅了DOCKER的官方手册和网上其他大神的一些说法之后,在这里总结一下DOCKER在使用过程中需要注意的一些原则概念简单的来讲,DOCKER就是对生产环境的一次封装,让生产环境可以持续集成。让开发-测试-生产这一整个过程的实现不再对环境产生过多的原创 2017-03-11 20:21:42 · 1206 阅读 · 15 评论 -
【EF】EF映射中的延迟加载
写在前面的ListCodeIQuerableCode关于延迟加载总结写在前面的 在使用Lambda或者LINQ表达式的时候经常会把返回的List<>或者一个Iquery<>对象在不恰当的时候进行内存加载,在不知道原理的情况下可能有时候我们会得到想要查询的表结构,有时候又会获取失败,那么这个到底是为什么? 这是以为EF中存在一个延迟加载的问题,这个问题存在于List<>与Ique原创 2017-05-06 18:01:11 · 1070 阅读 · 22 评论 -
【C++】重拾C++之数据类型与表达式
写在前面的 自从看了Ubisoft的一些职位信息之后,觉得自己的水平和他们的要求简直是天壤之别,所以觉得该是时候烤烤自己了,拿起N久没有看过的C++,不说了,直接上。数据类型字符集基本数据类型 BOOLCHARINT (int; signed; unsigned; short; long; unsigned short; unsign原创 2017-05-21 21:47:01 · 604 阅读 · 16 评论 -
【JAVA】数据结构和CPU的那点儿事儿
写在前面的CPU写在前面的 &nbsp;有时候,实现同样的功能(例如检索),方法不一样,可能最后相同的结果所花费的时间却不一样。这里先排除可能是由于不同的算法导致的结果在时间或者空间复杂度上造成的差异所导致的情况。我们单就数据结构和内存本身而言,不同的数据结构,或者简单明了一点,方法体中声明不同的数据类型,或者同一个数据类型不同的写法,都可能导致最终执行时间的不同。...原创 2018-07-04 15:07:17 · 2321 阅读 · 2 评论