首页 文章 精选 留言 我的

精选列表

搜索[人员工作量视图],共10000篇文章
优秀的个人博客,低调大师

新加坡面向51CTO招聘.NET开发人员

一. 背景 2014年6月30日离开微软新加坡,第二天随即加入现在的公司,之后一直忙碌着公司的新项目,权限系统、以及旧项目的维护与重构,整体来说一起都比较顺利,每天都忙碌、痛苦并快乐着。 由于前面几个系统的顺利开发完成并上线,所以忙里偷闲,恰巧最近公司突然来了一个在我看来非常大且持久的项目,面对挑战,我希望能把它顺利的接下来并做大做好,遂希望招聘几名志同道合的.NET程序猿。 二. 招聘信息 具体招聘条件: Bachelor degree in business, software engineering, or computer science. Experience creating ASP.NET views in MVC/Razor utilizing CSS and jQuery/JavaScript. C# .NET development in Framework 4 or newer. Experience with WCF web services or Web API. Familiarity with Microsoft Unit Testing tools, including MS Test and MS Fakes. Experience with source-control management systems, particularly Microsoft TFS. Demonstrated ability to make informed decisions quickly and leverage communication abilities to implement them. Any experience or knowledge on MVVM Framework (Angular.js or Knockout.js) will be a big Plus. 工作地点为新加坡。 三. 项目相关信息 自从加入公司后,做完了两个比较大一点的项目,其中也完善了一些基本的架构设计及框架,所以这次的新项目希望能复用之前的一些设计成果。 架构设计图: 01_Client:存放UI相关的项目,比如Winform, WPF,ASP.NET, Silverlight,ASP.NET MVC或者相关的Web Model及View Model项目。 02_Hosting:存放与Service相关的项目,可以是Direct Service,Remoting Service,Web Service,WCF Service或者Web API Service 。 03_Domain:业务逻辑相关的所有实体以及操作(根据OO的思想设计类以及类之间的关系)。 04_Infrastructure:非业务方面的功能框架 (Data,Common,DataContract,AOP, IOC,Logging,Encryption,Email)。 05_Database:数据库项目(包含所有数据库脚本,方便开发,部署以及维护)。 06_Tests:所有测试项目(数据访问测试,框架测试,业务逻辑测试,服务测试以及View Model测试)。 07_ReferenceLibs:项目相关的外部引用。 08_Tools:一些简单的工具,方便开发,测试以及部署。 组件及部署图: 执行序列图 调用Service之前需要调用Service Adapter,然后根据项目配置来决定调用WCF Service,Web API Service 还是直接DLL引用: 四. 对项目的期望 为了项目的可维护性及扩展性,希望项目能具有以下特性: Organized:如果系统组织比较好,可以起到事半功倍的效果。 Encapsulated:对功能,结构,数据进行有效的封装,会使系统维护变得更加容易。 Reusable:对常用功能以及组件进行有效的封装,可以使系统变得结构清晰且方便维护。 Extensible:在设计系统的时候,如果很好的遵守OO的设计理念(OO的五大原则SOLID),即使系统做得很大,也会像火箭一样直冲云霄! Replaceable:在很多时候我们需要考虑到系统,组件或者功能的可替换性,因为需求是会变的。 Testable:做到系统的可测性,会大大帮助开发以及维护,对团队开发以及分工协作起着非常重要的作用。 Loose Coupling:隔离耦合是架构设计必须要考虑的一个因素,如果系统不能做到高内聚、低耦合,那么在维护,升级,新功能开发方面就会是一场噩梦! High Performance:高性能是系统设计必须重视的要点,用户不可能忍受简单页面加载超过十秒,也不可能接受页面操作频繁卡死的情形,所以在架构设计的时候必须从数据库,逻辑,服务以及UI进行合理的优化。 Scalability:如果能做到前面的几点,那么我有理由相信你的系统一定具备Scalability。 Enjoy Your Life:最后一点也是最重要的一点,不要忙碌于重复的码农工作,喝杯咖啡,享受代码,早点回家,陪老婆、陪小孩,环球旅游,享受生活! 五. 面试题目 之前在网上看到一个比较有意思的面试题,做完之后才发现可以通过这道题考察很多方面的知识点,遂将其做了一些简单的改编,用以面试或者基础考察。 其实面试题目比较简单,主要考察最基本的算法、面向对象及项目经验: Solution Implementation: Meeting Track Management Suppose you are planning a big programming Meeting and have received many proposals which have passed the initial screen process but you're having trouble fitting them into the time constraints of the day -- there are so many possibilities! So you write a program to do it for you. The Meeting has multiple tracks each of which has a morning and afternoon session. Each session contains multiple talks. Morning sessions begin at 9am and must finish by 12 noon, for lunch. Afternoon sessions begin at 1pm and must finish in time for the networking event. The networking event can start no earlier than 4:00 and no later than 5:00. No talk title has numbers in it. All talk lengths are either in minutes (not hours) or lightning (5 minutes). Presenters will be very punctual; there needs to be no gap between sessions. Note that depending on how you choose to complete this problem, your solution may give a different ordering or combination of talks into tracks. This is acceptable; you don’t need to exactly duplicate the sample output given here. Test input: Writing Fast Tests Against Enterprise Rails 60min Overdoing it in Python 45min Lua for the Masses 30min Ruby Errors from Mismatched Gem Versions 45min Common Ruby Errors 45min Rails for Python Developers lightning Communicating Over Distance 60min Accounting-Driven Development 45min Woah 30min Sit Down and Write 30min Pair Programming vs Noise 45min Rails Magic 60min Ruby on Rails: Why We Should Move On 60min Clojure Ate Scala (on my project) 45min Programming in the Boondocks of Seattle 30min Ruby vs. Clojure for Back-End Development 30min Ruby on Rails Legacy App Maintenance 60min A World Without HackerNews 30min User Interface CSS in Rails Apps 30min Test output: Track 1: 09:00AM Writing Fast Tests Against Enterprise Rails 60min 10:00AM Overdoing it in Python 45min 10:45AM Lua for the Masses 30min 11:15AM Ruby Errors from Mismatched Gem Versions 45min 12:00PM Lunch 01:00PM Ruby on Rails: Why We Should Move On 60min 02:00PM Common Ruby Errors 45min 02:45PM Pair Programming vs Noise 45min 03:30PM Programming in the Boondocks of Seattle 30min 04:00PM Ruby vs. Clojure for Back-End Development 30min 04:30PM User Interface CSS in Rails Apps 30min 05:00PM Networking Event Track 2: 09:00AM Communicating Over Distance 60min 10:00AM Rails Magic 60min 11:00AM Woah 30min 11:30AM Sit Down and Write 30min 12:00PM Lunch 01:00PM Accounting-Driven Development 45min 01:45PM Clojure Ate Scala (on my project) 45min 02:30PM A World Without HackerNews 30min 03:00PM Ruby on Rails Legacy App Maintenance 60min 04:00PM Rails for Python Developers lightning 05:00PM Networking Event Requirements: UseOOP,Algorithmsandyour experienceto implement your solution with the following applications: 1. WPF with MVVM 2. ASP.NET MVC 3. ASP.NET MVC with MVVM (AngularJS, KnockoutJs or Backbone.js) 六. 待遇 关于待遇,大家可以参考我之前写的一篇关于新加坡IT薪酬。 七. 欢迎有兴趣的朋友与我联系 最后,欢迎有兴趣的朋友与我联系,发送简历及面试解决方案到我的邮箱(sggeekcoder(at)gmail(dot)com或者KnightsWarrior(at)msn(dot)com),尽力做到查阅必回。 本文转自KnightsWarrior51CTO博客,原文链接:http://blog.51cto.com/knightswarrior/1642322,如需转载请自行联系原作者

优秀的个人博客,低调大师

运维人员使用wireshark抓包详细图文教程

wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。 为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。 wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容,总结,如果是处理HTTP,HTTPS 还是用Fiddler,其他协议比如TCP,UDP 就用wireshark. Wireshark(网络嗅探抓包工具) v1.4.9 中文版(包含中文手册+主界面的操作菜单)评分: 2.7 类别: 远程监控 大小:22M 语言: 中文 查看详细信息 >> wireshark 开始抓包 开始界面 wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。 点击Caputre->Interfaces.. 出现下面对话框,选择正确的网卡。然后点击"Start"按钮, 开始抓包 Wireshark 窗口介绍 WireShark 主要分为这几个界面 1. Display Filter(显示过滤器), 用于过滤 2. Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表 3. Packet Details Pane(封包详细信息), 显示封包中的字段 4. Dissector Pane(16进制数据) 5. Miscellanous(地址栏,杂项) 第2页 Wireshark 显示过滤 使用过滤是非常重要的, 初学者使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。搞得晕头转向。 过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。 过滤器有两种, 一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录 一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。 在Capture -> Capture Filters 中设置 保存过滤 在Filter栏上,填好Filter的表达式后,点击Save按钮, 取个名字。比如"Filter 102", Filter栏上就多了个"Filter 102" 的按钮。 过滤表达式的规则 表达式规则 1. 协议过滤 比如TCP,只显示TCP协议。 2. IP 过滤 比如 ip.src ==192.168.1.102 显示源地址为192.168.1.102, ip.dst==192.168.1.102, 目标地址为192.168.1.102 3. 端口过滤 tcp.port ==80, 端口为80的 tcp.srcport == 80, 只显示TCP协议的愿端口为80的。 4. Http模式过滤 http.request.method=="GET", 只显示HTTP GET方法的。 5. 逻辑运算符为 AND/ OR 常用的过滤表达式 过滤表达式 用途 http 只查看HTTP协议的记录 ip.src ==192.168.1.102 or ip.dst==192.168.1.102 源地址或者目标地址是192.168.1.102 封包列表(Packet List Pane) 封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。 你可以看到不同的协议用了不同的颜色显示。 你也可以修改这些显示颜色的规则, View ->Coloring Rules. 封包详细信息 (Packet Details Pane) 这个面板是我们最重要的,用来查看协议中的每一个字段。 各行信息分别为 Frame:物理层的数据帧概况 EthernetII:数据链路层以太网帧头部信息 Internet Protocol Version 4:互联网层IP包头部信息 Transmission Control Protocol:传输层T的数据段头部信息,此处是TCP Hypertext Transfer Protocol:应用层的信息,此处是HTTP协议 第3页 wireshark与对应的OSI七层模型 TCP包的具体内容 从下图可以看到wireshark捕获到的TCP包中的每个字段。 第4页 实例分析TCP三次握手过程 看到这, 基本上对wireshak有了初步了解, 现在我们看一个TCP三次握手的实例 三次握手过程为 这图我都看过很多遍了, 这次我们用wireshark实际分析下三次握手的过程。 打开wireshark, 打开浏览器输入http://www.cr173.com 在wireshark中输入http过滤, 然后选中GET /tankxiao HTTP/1.1的那条记录,右键然后点击"Follow TCP Stream", 这样做的目的是为了得到与浏览器打开网站相关的数据包,将得到如下图 图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的, 这说明HTTP的确是使用TCP建立连接的。 第一次握手数据包 客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图 第二次握手的数据包 服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图 第三次握手的数据包 客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下图: 就这样通过了TCP三次握手,建立了连接

优秀的个人博客,低调大师

CentOS企业运维人员最常用150个命令汇总

命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更复杂的还有info,但不常用。 help 查看Linux内置命令的帮助,比如cd命令。 文件和目录操作命令(18个) ls 全拼list,功能是列出目录的内容及其内容属性信息。 cd 全拼change directory,功能是从当前工作目录切换到指定的工作目录。 cp 全拼copy,其功能为复制文件或目录。 find 查找的意思,用于查找目录及目录下的文件。 mkdir 全拼make directories,其功能是创建目录。 mv 全拼move,其功能是移动或重命名文件。 pwd 全拼print working directory,其功能是显示当前工作目录的绝对路径。 rename 用于重命名文件。 rm 全拼remove,其功能是删除一个或多个文件或目录。 rmdir 全拼remove empty directories,功能是删除空目录。 touch 创建新的空文件,改变已有文件的时间戳属性。 tree 功能是以树形结构显示目录下的内容。 basename 显示文件名或目录名。 dirname 显示文件或目录路径。 chattr 改变文件的扩展属性。 lsattr 查看文件扩展属性。 file 显示文件的类型。 md5sum 计算和校验文件的MD5值。 查看文件及内容处理命令(21个) cat 全拼concatenate,功能是用于连接多个文件并且打印到屏幕输出或重定向到指定文件中。 tac tac是cat的反向拼写,因此命令的功能为反向显示文件内容。 more 分页显示文件内容。 less 分页显示文件内容,more命令的相反用法。 head 显示文件内容的头部。 tail 显示文件内容的尾部。 cut 将文件的每一行按指定分隔符分割并输出。 split 分割文件为不同的小片段。 paste 按行合并文件内容。 sort 对文件的文本内容排序。 uniq 去除重复行。oldboy wc 统计文件的行数、单词数或字节数。 iconv 转换文件的编码格式。 dos2unix 将DOS格式文件转换成UNIX格式。 diff 全拼difference,比较文件的差异,常用于文本文件。 vimdiff 命令行可视化文件比较工具,常用于文本文件。 rev 反向输出文件内容。 grep/egrep 过滤字符串,三剑客老三。 join 按两个文件的相同字段合并。 tr 替换或删除字符。 vi/vim 命令行文本编辑器。 文件压缩及解压缩命令(4个) tar 打包压缩。oldboy unzip 解压文件。 gzip gzip压缩工具。 zip 压缩工具。 信息显示命令(11个) uname 显示操作系统相关信息的命令。 hostname 显示或者设置当前系统的主机名。 dmesg 显示开机信息,用于诊断系统故障。 uptime 显示系统运行时间及负载。 stat 显示文件或文件系统的状态。 du 计算磁盘空间使用情况。 df 报告文件系统磁盘空间的使用情况。 top 实时显示系统资源使用情况。 free 查看系统内存。 date 显示与设置系统时间。 cal 查看日历等时间信息。 搜索文件命令(4个) which 查找二进制命令,按环境变量PATH路径查找。 find 从磁盘遍历查找文件或目录。 whereis 查找二进制命令,按环境变量PATH路径查找。 locate 从数据库(/var/lib/mlocate/mlocate.db)查找命令,使用updatedb更新库。 用户管理命令(10个) useradd 添加用户。 usermod 修改系统已经存在的用户属性。 userdel 删除用户。 groupadd 添加用户组。 passwd 修改用户密码。 chage 修改用户密码有效期限。 id 查看用户的uid,gid及归属的用户组。 su 切换用户身份。 visudo 编辑/etc/sudoers文件的专属命令。 sudo 以另外一个用户身份(默认root用户)执行事先在sudoers文件允许的命令。 基础网络操作命令(11个) telnet 使用TELNET协议远程登录。 ssh 使用SSH加密协议远程登录。 scp 全拼secure copy,用于不同主机之间复制文件。 wget 命令行下载文件。 ping 测试主机之间网络的连通性。 route 显示和设置linux系统的路由表。 ifconfig 查看、配置、启用或禁用网络接口的命令。 ifup 启动网卡。 ifdown 关闭网卡。 netstat 查看网络状态。 ss 查看网络状态。 深入网络操作命令(9个) nmap 网络扫描命令。 lsof 全名list open files,也就是列举系统中已经被打开的文件。 mail 发送和接收邮件。 mutt 邮件管理命令。 nslookup 交互式查询互联网DNS服务器的命令。 dig 查找DNS解析过程。 host 查询DNS的命令。 traceroute 追踪数据传输路由状况。 tcpdump 命令行的抓包工具。 有关磁盘与文件系统的命令(16个) mount 挂载文件系统。 umount 卸载文件系统。 fsck 检查并修复Linux文件系统。 dd 转换或复制文件。 dumpe2fs 导出ext2/ext3/ext4文件系统信息。 dump ext2/3/4文件系统备份工具。 fdisk 磁盘分区命令,适用于2TB以下磁盘分区。 parted 磁盘分区命令,没有磁盘大小限制,常用于2TB以下磁盘分区。 mkfs 格式化创建Linux文件系统。 partprobe 更新内核的硬盘分区表信息。 e2fsck 检查ext2/ext3/ext4类型文件系统。 mkswap 创建Linux交换分区。 swapon 启用交换分区。 swapoff 关闭交换分区。 sync 将内存缓冲区内的数据写入磁盘。 resize2fs 调整ext2/ext3/ext4文件系统大小。 系统权限及用户授权相关命令(4个) chmod 改变文件或目录权限。 chown 改变文件或目录的属主和属组。 chgrp 更改文件用户组。 umask 显示或设置权限掩码。 查看系统用户登陆信息的命令(7个) whoami 显示当前有效的用户名称,相当于执行id -un命令。 who 显示目前登录系统的用户信息。 w 显示已经登陆系统的用户列表,并显示用户正在执行的指令。 last 显示登入系统的用户。 lastlog 显示系统中所有用户最近一次登录信息。 users 显示当前登录系统的所有用户的用户列表。 finger 查找并显示用户信息。 内置命令及其它(19个) echo 打印变量,或直接输出指定的字符串 printf 将结果格式化输出到标准输出。 rpm 管理rpm包的命令。 yum 自动化简单化地管理rpm包的命令。 watch 周期性的执行给定的命令,并将命令的输出以全屏方式显示。 alias 设置系统别名。 unalias 取消系统别名。 date 查看或设置系统时间。 clear 清除屏幕,简称清屏。 history 查看命令执行的历史纪录。 eject 弹出光驱。 time 计算命令执行时间。 nc 功能强大的网络工具。 xargs 将标准输入转换成命令行参数。 exec 调用并执行指令的命令。 export 设置或者显示环境变量。 unset 删除变量或函数。 type 用于判断另外一个命令是否是内置命令。 bc 命令行科学计算器 系统管理与性能监视命令(9个) chkconfig 管理Linux系统开机启动项。 vmstat 虚拟内存统计。 mpstat 显示各个可用CPU的状态统计。 iostat 统计系统IO。 sar 全面地获取系统的CPU、运行队列、磁盘I/O、分页(交换区)、内存、CPU中断和网络等性能数据。 ipcs 用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息。 ipcrm 用来删除一个或更多的消息队列、信号量集或者共享内存标识。 strace 用于诊断、调试Linux用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等。 ltrace 命令会跟踪进程的库函数调用,它会显现出哪个库函数被调用。 关机/重启/注销和查看系统信息的命令(6个) shutdown 关机。 halt 关机。 poweroff 关闭电源。 logout 退出当前登录的Shell。 exit 退出当前登录的Shell。 Ctrl+d 退出当前登录的Shell的快捷键。 进程管理相关命令(15个) bg 将一个在后台暂停的命令,变成继续执行(在后台执行)。 fg 将后台中的命令调至前台继续运行。 jobs 查看当前有多少在后台运行的命令。 kill 终止进程。 killall 通过进程名终止进程。 pkill 通过进程名终止进程。 crontab 定时任务命令。 ps 显示进程的快照。 pstree 树形显示进程。 nice/renice 调整程序运行的优先级。 nohup 忽略挂起信号运行指定的命令。 pgrep 查找匹配条件的进程。 runlevel 查看系统当前运行级别。 init 切换运行级别。 service 启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。

优秀的个人博客,低调大师

.NET Framework 开发人员指南——如何:提高性能

MSDN仍然是最全面的知识库。 今天编写一个.NET CF 下的程序,为了尽可能的提高程序的性能,又搜索了到下面这篇文档,其实,微软告诉了我们很多有效的技巧。 温故而知新啊! 如何:提高性能 以下编程做法可以节省内存和改善设备应用程序的性能。 使用 Windows 窗体和图形节省内存 对提供BeginUpdate和EndUpdate方法的控件使用这两种方法,提供这两种方法的控件包括ComboBox、ListBox、ListView、ToolStripComboBox和TreeView。 重新定位控件时,使用SuspendLayout和ResumeLayout方法。 在后台加载其他窗体,使用数据来填充控件,然后再使用Show方法。 将事件处理代码限制为仅执行重要任务,以便挂起过程可以继续。 使用脱屏位图。有关示例,请参见如何:绘制后台图像。 重写控件上的OnKeyDown、OnKeyPress和OnKeyUp方法,而不是添加按键事件处理程序。 使用数据和字符串节省内存 在for循环中使用整数变量(Int32或Int64),而不使用对象变量。 避免使用枚举的ToString方法,因为它会搜索元数据表,从而影响性能。 避免OutOfMemoryException错误。如果没有足够的内存分配给内部使用或分配给新对象实例,公共语言运行库可能会引发此异常。要避免此异常,应避免编写占用 64K 或更多内存的大方法。 移除 System.SR.dll,它包含异常对话框的错误信息字符串。部署应用程序时可以不使用此文件,从而节省内存。如果存在System.SR.dll,则 .NET Compact Framework 将动态加载 System.SR.dll 中包含的错误字符串。 如果设备中不存在此 .dll 文件,则所有异常都包含消息“无法加载资源程序集”。不过,在开发期间将 System.SR.dll 引用添加到 Microsoft Visual Studio 2005 项目中总是有用的,因为这样您将看到有意义的异常。 字符串是不可变的,因此,每次修改该字符串时都会创建新的String对象。构造需经常修改的字符串时,请考虑使用StringBuilder。 如果您知道用于DateTime序列化的确切格式,请为DateTime使用ParseExact方法。否则,DateTime分析器将按顺序尝试应用多个特定于区域性的格式。 限制打开SqlCeCommand对象的数量,并在完成后释放它们。 与本机代码进行交互时节省内存 在平台调用操作中,使用可直接复制到本机结构中的类型,这样的类型在托管和非托管内存中有一种通用表示形式,如Int32或IntPtr。对于大于 32 位的可直接复制到本机结构中的值类型来说,通过引用传递比通过值传递更快。有关可直接复制到本机结构中的类型的更多信息,请参见.NET Compact Framework 中可直接复制到本机结构中的类型。 为函数签名中的参数使用InAttribute和OutAttribute属性可以减少不必要的封送处理。 使用Marshal类中的方法手动在IntPtr和托管对象之间转换,如PtrToStructure、PtrToStringBSTR、GetObjectForNativeVariant和GetObjectForIUnknown。 使用Prelink和PrelinkAll方法来引发支持本机到托管调用的存根 (stub) 的 JIT 编译。 如果期望您的本机 COM 对象通常情况下返回 S_FALSE,或其他非 S_OK HRESULT 值,则应将PreserveSig字段设置为true,并使托管签名与本机签名匹配。这就避免了运行库将 HRESULT 值转换为 COM 调用上的异常时必需的try/catch块的系统开销。 尽量使用一个平台调用多做工作,尽量少用多个调用。 在集合中节省内存 如果集合基于数组,请使用索引器。 一旦有机会,就指定集合的大小,因为动态调整大小可以大大增加额外的存储。 使用泛型集合以避免值类型的装箱和取消装箱产生的系统开销。定义您自己的优化集合可实现最佳性能。 在 XML 中节省内存 使用XmlTextReader和XmlTextWriter代替XmlDocument(因为它占用的内存较多)。 指定XmlReaderSettings和XmlWriterSettings的设置以改善性能。如果IgnoreWhitespace和IgnoreComments两个属性值适用,它们可以显著改善性能。 使用 UTF-8、ASCII 和 UTF-16 字符编码,它们比 ANSI 和 Windows 代码页编码更快。 避免使用用于分析的架构,因为这种架构需要更多的验证工作。 当从 XML 源填充DataSet窗体时,应将列映射为属性并使用类型化DataSet。 填充DataSet时,应避免填充以下各项: 架构推理。 嵌套表。 多个DateTime列。为了获得更好的性能,请使用Ticks属性值。 使用 XML 反序列化时,遵循以下准则可改善性能: 使元素和属性名尽量保持简短,因为每个字符都必须经过验证。 基于属性数据的 XML 比基于元素数据的 XML 要快。 如果适用,使用System.Xml.XmlNodeReader.Skip方法。 如果性能很重要,应考虑二进制序列化。 为 XML 序列化的每一种类型分别使用一个XmlSerializer实例,以减少用于搜索元数据的时间。 由于序列化大量 XML 可能会耗尽内存,应考虑通过使用BinaryReader和BinaryWriter生成自定义二进制序列化机制。 使用 Web 服务时节省内存 读取和编写DataSet时,应使用 DiffGram。有关更多信息,请参见DiffGram。 以 XML 格式将远程DataSet及其架构保存到设备。 初始屏幕期间创建一个简单的 Web 服务方法调用,因为第一个调用比后面的调用要慢。 小心处理网络和数据错误。 某些情况下,可以手动将DataSet序列化为 XML 字符串,然后执行一个 Web 服务调用,这样可以提高性能。 在高级编程中节省内存 异步处理大操作。 避免虚拟调用。.NET Compact Framework 运行库虚拟调用比静态调用或实例调用大约慢 30%。由于资源受约束,.NET Compact Framework 不使用 vtable,因此必须通过转换类和接口层次结构来调用方法,但这是一种代价很高的操作。.NET Compact Framework 维护已解析的虚拟调用的缓存,因此在大多数情况下,无须重新解释调用。 尽可能使用字段而不使用属性。 定义值类型时,重写GetHashCode和Equals方法。如果未重写它们,则运行库会在基ValueType类中使用这些方法的普通版本。 谨慎使用映射。出于调研目的将映射与非实例化类一起使用会影响应用程序中的实例化对象的性能。 确保 RESX 文件中的托管资源具有完全限定名,并且这些资源准确无误。它们必须具有正确的版本和 PublicKeyToken 字段。为未正确指定的类型查找最合适的替代类型会影响性能。 请注意,在某些情况下,直接从文件读取应用程序数据就足够了,这比使用ResourceManager效率更高。ResourceManager可以在定位您的二进制资源之前在文件系统中探测多个位置来查找最匹配的附属程序集。为作业使用适当的工具。 http://msdn2.microsoft.com/zh-cn/library/1766918e(VS.80).aspx 本文转自斯克迪亚博客园博客,原文链接:http://www.cnblogs.com/sgsoft/archive/2007/07/05/807685.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

【代友发布】赶集网招聘开发人员

岗位描述: 负责产品的设计、开发和优化; 任职要求: 1.计算机相关专业大学本科以上学历,具有扎实的计算机基础理论知识 2.具备强烈的进取心、求知欲及团队合作精神,有较强的沟通及协调能力 3.熟悉MVC体系结构,对架构的设计有一定了解 4.精通PHP语言,熟练掌握Perl或C/C++或Java或.NET开发 5.熟悉CGI标准和HTTP等互联网协议 6.熟悉Unix/Linux操作系统和开发环境,能够熟练配置Apache服务器 7.三年以上业界工作经验,有完整PHP项目开发经验,具有大型互联网应用开发经验者优先 8.熟悉HTML、DHTML、JavaScript脚本语言 9.熟练掌握C/C++/Perl/Java/C#语言者优先 10.熟悉SQL语言,对mysql/MS SQL/Oracle其中一种数据库管理系统熟练掌握,对mysql数据库精通者优先 公司介绍: 为加快发展和研发新型的互联网应用,赶集网(www.ganji.com),作为中国第一大分类信息互联网服务提供商和google战略合作伙伴,我们资金实力雄厚,发展空间广泛。我们正在招贤纳士,诚邀优秀的人才加盟。在这里,你能找到你的定位,你能发挥你的才能,你更能够获得与你价值对等的收益! 简历发至:luojian(at)staff.ganji.com 友情提示:简历请详细写项目经验,你在项目中扮演什么角色,完成哪部分,能用数字佐证你的贡献和实力就最好了。 本文转自马宁博客园博客,原文链接:http://www.cnblogs.com/aawolf/archive/2008/07/16/1244513.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

IT人员表示‘我说了算’

对于微软的容器产品,用户的态度如何呢?根据市场调查,到目前为止,微软企业用户更倾向于在内部环境中或者自管理的云基础架构中使用Windows Server 2016中的容器功能,而不是单独的Azure容器服务——尽管Azure容器目前已经可用,而Windows Server容器离上市还有几个月的时间。 Bala Subra是一家大型出版公司的.NET架构师,他对Windows Server容器已经进行了概念验证测试,他表示“我们需要一个适用于多种平台的解决方案,不只是Linux系统。” 虽然该公司已经使用了Linux容器,但是尚未用于生产环境,Subra表示自己有耐心等到Windows Server 2016正式上市,届时将开始部署Windows容器。 这在很大程度上是因为微软用户需要一个由微软进行开发并提供支持的本地产品,鉴于微软的用户量,这种需求并不罕见。另外也有一些组织想提前尝试在内部的裸金属上运行Windows Server容器,而不是直接交付给公共云中的虚拟机。 Urban Science是一家专门从事汽车行业的数据分析公司,该公司的配置管理员Marc Priolo说:“为了让成本优势转移到容器技术,我们必须考虑重组我们的服务器基础设施。当你部署容器时,会消除很多虚拟操作系统的开销。” 虽然VM可以持续运行十几个容器,但是裸机服务器可以运行成千上百个容器。而且裸机是网络级规模企业的最爱,451 Research的分析师Jay Lyman表示。 Azure容器服务目前可用,但仍不完整在云环境中,Azure Container Service(ACS)是建立在Hyper-V容器上,并且在4月19日开始向用户提供大量集群管理和编配等选项。 但这里的选择是一把双刃剑,它同时也意味着用户仍然需要自己集成持续整合、交付工具以及日志记录和监控。Azure容器没有本地Docker注册中心,使用了Docker版注册表,Azure Compute产品经理Boris Scholl表示。 “我们绝对会自己运行Docker,并且会充分利用嵌入到Windows Server 2016中的各种功能,”DevOps分析师Chris Riley表示他正在考虑使用容器。Riley同时也是TechTarget网站的投稿者以及Azure网站客户,他说“在处理现有的应用程序上,ACS存在一定的复杂性——对于我们来说,部署Windows Server 2016中的容器会更简单一些。” Window容器还需合作伙伴趁着Docker热潮,微软已经提供了多款具体应用工具,但是在容器方面的合作伙伴队伍还需壮大。 例如,ContainerX的公司领导人曾在VMware工作,最近他表示支持Windows Server 2016容器、基础设施分享以及多组合功能,并希望这些功能与Windows容器包分开打包。 WinDocks公司提供了基于SQL Server的容器虚拟化平台,还有DH2i都是微软Windows Server容器的强劲竞争对手。 手机费用支付公司Ding正在对WinDocks的产品进行评估,计划用在其软件开发管道,对容器中运行的SQL Server实例副本进行代码测试。 “创建测试及开发SQL Server是个相当漫长的过程。根据VM大小,可能需要花10分钟到两个小时。”Ding的数据库管理员Andrew Pruski说。 他说,通过测试WinDocks产品,SQL Server复制只花了90秒。本文转自d1net(转载)

优秀的个人博客,低调大师

Pear Admin Layui 3.6.5.Release 正式发布,增强 Tab 视图,移动端支持

项目名称:PearAdminLayui 当前版本:3.6.5.Release 官网地址:www.pearadmin.com 预览地址:layui.pearadmin.com 更新内容: [新增]新增Tab框架右击操作菜单 [新增]新增Menu数据请求方式自定义,支持GET/POST [新增]新增Admin.logout方法,提供自定义注销实现,返回值true/false [新增]新增Admin.setAvatar方法,提供主页用户信息初始化src头像str用户名 [新增]新增Common.isModile()方法,提供客户端判断,true移动端false电脑端 [修复]修复表格页面,搜索模块边距偏移 [修复]修复权限管理批量删除失败 [修复]修复"成功","失败"输入框的边框样式失效 [修复]修复手机版本适配问题 [修复]修复popup.js的warning错误 [优化]删除多余Json文件Document.json/Route.json 界面预览

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册