<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[magicxin031的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/magicxin031</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; magicxin031]]></copyright><item><title><![CDATA[更多博文会发布于个人博客]]></title><link>https://blog.csdn.net/magicxin031/article/details/52817249</link><guid>https://blog.csdn.net/magicxin031/article/details/52817249</guid><author>magicxin031</author><pubDate>Fri, 14 Oct 2016 16:53:25 +0800</pubDate><description><![CDATA[更多博文可以访问我的博客：http://shinxi.com/]]></description><category></category></item><item><title><![CDATA[Why We need Front End Test]]></title><link>https://blog.csdn.net/magicxin031/article/details/52817210</link><guid>https://blog.csdn.net/magicxin031/article/details/52817210</guid><author>magicxin031</author><pubDate>Fri, 14 Oct 2016 16:50:10 +0800</pubDate><description><![CDATA[First of all, let’s begin this question.



Why do we need test?
Let’s take a look at Kent Beck’s speech 
Ease at Work at Agile Singapore 2013 Confluence.
In his speech, he addressed these ques]]></description><category></category></item><item><title><![CDATA[Testing React Components]]></title><link>https://blog.csdn.net/magicxin031/article/details/52817143</link><guid>https://blog.csdn.net/magicxin031/article/details/52817143</guid><author>magicxin031</author><pubDate>Fri, 14 Oct 2016 16:42:50 +0800</pubDate><description><![CDATA[Why we need test



Please see 
this article

Test Goals

The test suite should be fast, to encourage us to write more tests and save us time;We should be able to test our React components ef]]></description><category></category></item><item><title><![CDATA[将博客搬至CSDN]]></title><link>https://blog.csdn.net/magicxin031/article/details/84801976</link><guid>https://blog.csdn.net/magicxin031/article/details/84801976</guid><author>magicxin031</author><pubDate>Tue, 10 May 2016 16:52:15 +0800</pubDate><description><![CDATA[
将博客搬至CSDN
]]></description><category></category></item><item><title><![CDATA[ITEye博客已搬至CSDN]]></title><link>https://blog.csdn.net/magicxin031/article/details/51442555</link><guid>https://blog.csdn.net/magicxin031/article/details/51442555</guid><author>magicxin031</author><pubDate>Thu, 28 Apr 2016 11:22:50 +0800</pubDate><description><![CDATA[将博客搬至CSDN]]></description><category></category></item><item><title><![CDATA[代码的坏味道(2)—重构改善代码的既有设计]]></title><link>https://blog.csdn.net/magicxin031/article/details/51442551</link><guid>https://blog.csdn.net/magicxin031/article/details/51442551</guid><author>magicxin031</author><pubDate>Thu, 28 Apr 2016 11:22:33 +0800</pubDate><description><![CDATA[代码的坏味道就像病人的病状一样，知道了病状，就可以对症下药。文中的重构手法在书中都可以找到。
Duplicated Code
1、同一个类的两个函数含有相同的表达式。重构手法：Extract Method
2、两个互为兄弟的子类内含相同的表达式。重构手法：Extract Method+Pull Up Method或Extract Method+Form Template Method/Sub]]></description><category></category></item><item><title><![CDATA[代码的坏味道(1)—重构改善代码的既有设计]]></title><link>https://blog.csdn.net/magicxin031/article/details/51442548</link><guid>https://blog.csdn.net/magicxin031/article/details/51442548</guid><author>magicxin031</author><pubDate>Thu, 28 Apr 2016 11:22:26 +0800</pubDate><description><![CDATA[很长很长的函数，很多很多的不知所云的变量，相信大家肯定碰到过这样的代码，这种代码真的很dirty，维护起来绝对让人心烦意乱。重构改善代码的既有设计这本书确实是一本不错的书，对程序员的代码修养的提升是有帮助的。
要写一手好的代码，其实就像练功一样，要时刻练习。虽然这是本重构的书，但是重构的好处就在于，重构时了解到了这种代码不该这么写而该那样写，那么在自己下次写代码的时候就知道了该怎么写，在改错误的]]></description><category></category></item><item><title><![CDATA[高效访问数据库—SQL语言技术]]></title><link>https://blog.csdn.net/magicxin031/article/details/51442546</link><guid>https://blog.csdn.net/magicxin031/article/details/51442546</guid><author>magicxin031</author><pubDate>Thu, 28 Apr 2016 11:22:16 +0800</pubDate><description><![CDATA[在我们编程的时候，涉及到数据库的操作，就效率而言，其实对我们一般的程序员来说，最重要的莫过于对数据库的访问了，如果你能保证尽量少的Connection，而在一次Connection中做尽量多的事情
，就达到了效率的第一层了，第二层的话你就要尽量使用一句sql语句做更多的事情
，再往上的话就得了解数据库的物理存储机制，其实我觉得对于一般的程序员而不是数据库管理员的话，了解第一第二层就行了，而实际]]></description><category></category></item><item><title><![CDATA[关系数据库的几种设计范式]]></title><link>https://blog.csdn.net/magicxin031/article/details/51442540</link><guid>https://blog.csdn.net/magicxin031/article/details/51442540</guid><author>magicxin031</author><pubDate>Thu, 28 Apr 2016 11:22:07 +0800</pubDate><description><![CDATA[第一范式（1NF）　　在任何一个关系数据库中，第一范式（1NF）是对关系模式的基本要求，不满足第一范式（1NF）的数据库就不是关系数据库。　　所谓第一范式（1NF）是指数据库表的每一列都是不可分割的基本数据项，同一列中不能有多个值，即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性，就可能需要定义一个新的实体，新的实体由重复的属性构成，新实体与原实体之间为一对多关系。在第一]]></description><category></category></item><item><title><![CDATA[数据库事务的四个基本要素]]></title><link>https://blog.csdn.net/magicxin031/article/details/51442535</link><guid>https://blog.csdn.net/magicxin031/article/details/51442535</guid><author>magicxin031</author><pubDate>Thu, 28 Apr 2016 11:21:59 +0800</pubDate><description><![CDATA[ACID，指数据库事务正确执行的四个基本要素的缩写.包含:原子性(Atomicity）、一致性（Consistency）、隔离性（Isolation）、持久性（Durability）。一个支持事务（Transaction）的数据库系统，必需要具有这四种特性，否则在事务过程（Transaction processing）当中无法保证数据的正确性,交易过程极可能达不到交易方的要求.原子性　　（At]]></description><category></category></item><item><title><![CDATA[Javascript前台简单验证插件2]]></title><link>https://blog.csdn.net/magicxin031/article/details/51442533</link><guid>https://blog.csdn.net/magicxin031/article/details/51442533</guid><author>magicxin031</author><pubDate>Thu, 28 Apr 2016 11:21:50 +0800</pubDate><description><![CDATA[前面的easyFormValidateWithJquery.js是基于 Jquery的，是我在工作中的第一个验证插件，使用起来比较灵活的。但是不足之处也显而易见，除了细节方面的诸多不足，最大的不足就是在于是干扰表单式的，所以一定要对表单的元素属性进行修改，这就在可重用性、维护性等方面造成了不便，这毕竟是把双刃剑，灵活的同时污染了表单。其实在工作中很快我就写了第二个验证插件，这次是无干扰式的，而]]></description><category></category></item><item><title><![CDATA[Javascript前台简单验证插件]]></title><link>https://blog.csdn.net/magicxin031/article/details/51442531</link><guid>https://blog.csdn.net/magicxin031/article/details/51442531</guid><author>magicxin031</author><pubDate>Thu, 28 Apr 2016 11:21:39 +0800</pubDate><description><![CDATA[其实基于Js的验证插件机很多很多，使用起来也非常方便。为了学习Js的目的，在工作中我也自己写了个小验证插件，非常简单。我觉得验证框架的大体流程是这样的，（1）收集需要验证的元素(干扰式：直接写在页面表单中，无干扰式：使用Json配置需要验证的元素并在验证框架中分析Json提取需要验证的元素)（2）选择验证方式(离开输入框即验证、表单提交验证等)（3）使用验证方法验证(使用正则表达式]]></description><category></category></item><item><title><![CDATA[sql server 2000数据库普通行列转换]]></title><link>https://blog.csdn.net/magicxin031/article/details/51442528</link><guid>https://blog.csdn.net/magicxin031/article/details/51442528</guid><author>magicxin031</author><pubDate>Thu, 28 Apr 2016 11:21:30 +0800</pubDate><description><![CDATA[标题：普通行列转换(version 2.0)作者：爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开)时间：2008-03-09地点：广东深圳说明：普通行列转换(version 1.0)仅针对sql server 2000提供静态和动态写法，version 2.0增加sql server 2005的有关写法。问题：假设有张学生成绩表(tb)如下:姓名 课程 分数张三 语文 74张三 数]]></description><category></category></item><item><title><![CDATA[基础类、二维数组的定义格式、File类]]></title><link>https://blog.csdn.net/magicxin031/article/details/51442525</link><guid>https://blog.csdn.net/magicxin031/article/details/51442525</guid><author>magicxin031</author><pubDate>Thu, 28 Apr 2016 11:21:19 +0800</pubDate><description><![CDATA[1、基础类：String(java.lang)是final类，Math(java.lang)是final类，基础类型的包装类都是final类String：其中一个构造方法：String(char[] value)一些有用的方法：static String valueOf(int i) 返回参数的字符串类型，参数有8大基本类型，byte,short自动能转换成int,所以其实只有6大，参]]></description><category></category></item><item><title><![CDATA[线程-synchronized(this)的含义和wait和sleep的区别]]></title><link>https://blog.csdn.net/magicxin031/article/details/51442523</link><guid>https://blog.csdn.net/magicxin031/article/details/51442523</guid><author>magicxin031</author><pubDate>Thu, 28 Apr 2016 11:21:11 +0800</pubDate><description><![CDATA[1、synchronized(this)的含义，是锁定当前对象，还是锁定一段代码，举个例子看看能另外一个线程能否访问这个类对private属性。 事实证明，synchronized修饰的method1的话，如果该类中method2没有加synchronized修饰符，则如果在执行 method1的过程中，主线程可以执行了method2，也就是说，如果method2改变该类属性的话，在method1]]></description><category></category></item><item><title><![CDATA[struts标签]]></title><link>https://blog.csdn.net/magicxin031/article/details/51442520</link><guid>https://blog.csdn.net/magicxin031/article/details/51442520</guid><author>magicxin031</author><pubDate>Thu, 28 Apr 2016 11:20:59 +0800</pubDate><description><![CDATA[Struts标签视图端的技术，是用在JSP中的。使用标签的好处是界面清晰，是界面都是标签，对界面开发人员有好处，只要界面开发人员弄懂标签这门技术就可以了。可重用性、封装性比较好，一个标签就可以办到，而不用重复的在不同的页面中写代码了bean:write等struts标签是在服务器端即tomcat中执行的,而input等html语句是在客户端解析的，由IE执行的logic:empty与logi]]></description><category></category></item><item><title><![CDATA[详细总结抽象类和接口的区别]]></title><link>https://blog.csdn.net/magicxin031/article/details/51442517</link><guid>https://blog.csdn.net/magicxin031/article/details/51442517</guid><author>magicxin031</author><pubDate>Thu, 28 Apr 2016 11:20:51 +0800</pubDate><description><![CDATA[抽象类：（1）包含抽象方法（C++叫纯虚函数）的类叫做抽象类，一个类包含一个或多个抽象方法（仅有声明但没有方法体），该类必须被限定为抽象的。否则编译器会报错。（接口中的属性隐式地是static和final的，接口中的方法默认为public的，这些方法被继承的过程中，一定要申明为public的，否则访问权限降低，java编译器不允许）。（2）为抽象类创建对象是不安全的。如果从一个抽象类继承，并想创]]></description><category></category></item><item><title><![CDATA[TCP与UDP]]></title><link>https://blog.csdn.net/magicxin031/article/details/51442514</link><guid>https://blog.csdn.net/magicxin031/article/details/51442514</guid><author>magicxin031</author><pubDate>Thu, 28 Apr 2016 11:20:42 +0800</pubDate><description><![CDATA[1、Socket编程客户端的主要步骤1) 客户端提供主机地址和端口号使用socket端口建立连接，得到DataOutputStream和DataInputStream。2) 创建Socket(stocket=ip+端口),new Socket(Server ip,Server port)试图连接,如成功才有对象3) 调用socket.getInputStream,socket.getOutp]]></description><category></category></item><item><title><![CDATA[java.io小结]]></title><link>https://blog.csdn.net/magicxin031/article/details/51442511</link><guid>https://blog.csdn.net/magicxin031/article/details/51442511</guid><author>magicxin031</author><pubDate>Thu, 28 Apr 2016 11:20:33 +0800</pubDate><description><![CDATA[java io(对于其中的close方法，PrintStream和PrintWriter是不需要捕获的)Reader下面有：BufferedReader、CharArrayReader、FilterReader、InputStreamReader、PipedReader、StringReaderWriter与Reader相反InputStream下面：常用的：FileInputStream,]]></description><category></category></item><item><title><![CDATA[JVM和JRE的详细解释]]></title><link>https://blog.csdn.net/magicxin031/article/details/51442508</link><guid>https://blog.csdn.net/magicxin031/article/details/51442508</guid><author>magicxin031</author><pubDate>Thu, 28 Apr 2016 11:20:23 +0800</pubDate><description><![CDATA[凡是接触过 Java 的人都知道 JRE 的概念，即 Java 运行时环境（ Java Runtime Environment ），因为它是运行 Java 程序必不可少的（除非程序用 GCJ 等编译，但我怀疑这样处理后还能不能称之为“ Java 程序”了）。Java 喊出的带有标志性的口号“ Write Once ， Run Anywhere （一次编写，到处运行）”（记得某老师给俺们上课讲到]]></description><category></category></item></channel></rss>