借条可以署名 “优雅的借条”
如何优雅地打张更具法律效力的借条《借条》的正规写法,没有什么优雅或高端的之说。一般认为,借条的书写应当规范、严谨,关键的要素比如贷款人、借款人、借款金额、还款期限、有无利息、借款日期等,必须齐全、真实、准确、无涂改、双方当事人无异议。对借款人、贷款人的名字要与其身份证上的姓名相符,要避免使用张叔叔、李伯伯、王老弟、赵大哥等昵称或代号,防止以后发生误会或争议。
如何优雅地关闭一个socket先判断winsocket的状态
如果是 关闭 则忽略
如果是打开,则使用关闭动作去关闭它即可
1. 关闭Socket时究竟做了什么
关闭socket分为主动关闭(Active closure)和被动关闭(Passive closure)两种情况。前者是指有本地主机主动发起的关闭;而后者则是指本地主机检测到远程主机发起关闭之后,作出回应,从而关闭整个连接。
其状态图如下图所示:
起初每个socket都是CLOSED状态,当客户端初使化一个连接,他发送一个SYN包到服务器,客户端进入SYN_SENT状态。
服务器接收到SYN包,反馈一个SYN-ACK包,客户端接收后返馈一个ACK包客户端变成ESTABLISHED状态,如果长时间没收到SYN-ACK包,客户端超时进入CLOSED状态。
当服务器绑定并监听某一端口时,socket的状态是LISTEN,当客户企图建立连接时,服务器收到一个SYN包,并反馈SYN-ACK包。服务器状态变成SYN_RCVD,当客户端发送一个ACK包时,服务器socket变成ESTABLISHED状态。
当一个程序在ESTABLISHED状态时有两种图径关闭它, 第一是主动关闭,第二是被动关闭。如果你要主动关闭的话,发送一个FIN包。当你的程序closesocket或者shutdown(标记),你的程序发送一个FIN包到peer,你的socket变成FIN_WAIT_1状态。peer反馈一个ACK包,你的socket进入FIN_WAIT_2状态。如果peer也在关闭连接,那么它将发送一个FIN包到你的电脑,你反馈一个ACK包,并转成TIME_WAIT状态。
TIME_WAIT状态又号2MSL等待状态。MSL意思是最大段生命周期(Maximum Segment Lifetime)表明一个包存在于网络上到被丢弃之间的时间。每个IP包有一个TTL(time_to_live),当它减到0时则包被丢弃。每个路由器使TTL减一并且传送该包。当一个程序进入TIME_WAIT状态时,他有2个MSL的时间,这个充许TCP重发最后的ACK,万一最后的ACK丢失了,使得FIN被重新传输。在2MSL等待状态完成后,socket进入CLOSED状态。
被动关闭:当程序收到一个FIN包从peer,并反馈一个ACK包,于是程序的socket转入CLOSE_WAIT状态。因为peer已经关闭了,所以不能发任何消息了。但程序还可以。要关闭连接,程序自已发送给自已FIN,使程序的TCP socket状态变成LAST_ACK状态,当程序从peer收到ACK包时,程序进入CLOSED状态。
2. Winsock2 API中的相关函数
先当然是查MSDN,看到winsocks2 API中的相关函数有:closesocket,shutdown,WSASendDisconnect. 我大致说一下,具体详细的资料还请自行查MSDN.
int closesocket( SOCKET s)的作用是关闭指定的socket,并且回收其所有的资源。
int shutdown( SOCKET s, int how)则是禁止在指定的socket s上禁止进行由how指定的操作,但并不对资源进行回收,shutdown之后而closesocket之前s还不能再次connect或者WSAConnect.
int WSASendDisconnect( SOCKET s, LPWSABUF lpOutboundDisconnectData)则和shutdown基本类似,稍有不同的就是WSASendDisconnect函数多了一个lpOutboundDisconnectData参数,可以允许发送“断开数据”(disconnect data).但MSDN上写了“The native implementation of TCP/IP on Windows does not support disconnect data.”,所以一般我们就用shutdown函数就行了。
3. Socket的优雅关闭
在MSDN中对shutdown函数中的Remarks部分有下面一段话,指出了如何进行一次优雅的slcket关闭:
To assure that all data is sent and received on a connected socket before it is closed, an application should use shutdown to close connection before calling closesocket. For example, to initiate a graceful disconnect:
Call WSAAsyncSelect to register for FD_CLOSE notification.
Call shutdown with how=SD_SEND.
When FD_CLOSE received, call recv until zero returned, or SOCKET_ERROR.
Call closesocket.
closesocket的行为也是随setsockopt()中参数的不同而有不同的表现,这里影响它的行为的主要就是那个linger结构。
SO_DONTLINGER 若为真,则SO_LINGER选项被禁止。
SO_LINGER 延迟关闭连接 struct linger
上面这两个选项影响close行为
选项 间隔 关闭方式 等待关闭与否
SO_DONTLINGER 不关心 优雅 否
SO_LINGER 零 强制 否
SO_LINGER 非零 优雅 是
若设置了SO_LINGER(亦即linger结构中的l_onoff域设为非零),并设置了零超时间隔,则closesocket()不被阻塞立即执行,不论是否有排队数据未发送或未被确认。这种关闭方式称为“强制”或“失效”关闭,因为套接口的虚电路立即被复位,且丢失了未发送的数据。在远端的recv()调用将以WSAECONNRESET出错。
若设置了SO_LINGER并确定了非零的超时间隔,则closesocket()调用阻塞进程,直到所剩数据发送完毕或超时。这种关闭称为“优雅的”关闭。请注意如果套接口置为非阻塞且SO_LINGER设为非零超时,则closesocket()调用将以WSAEWOULDBLOCK错误返回。
若在一个流类套接口上设置了SO_DONTLINGER(也就是说将linger结构的l_onoff域设为零),则closesocket()调用立即返回。但是,如果可能,排队的数据将在套接口关闭前发送。请注意,在这种情况下WINDOWS套接口实现将在一段不确定的时间内保留套接口以及其他资源,这对于想用所以套接口的应用程序来说有一定影响。
所以一般来说,不应该把linger设置为SO_LINGER 并且设置timeout为0,这样的话,当本地主机调用closesocket时将会造成一个“强制”或“失效”的非优雅关闭。可以根据实际情况设置为另外两种情况。
如何优雅地关闭一个Socket轻轻地 *** 去不要太用力 慢慢的取出来不要太心急(绝对不污)
污者不留名,留名不污者
如何优雅地写一个 Mesos Frameworkgo语言Go语言是谷歌2009年发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。北京时间2010年1月10日,Go语言摘得了TIOBE公布的2009年年度大奖。
Marathon:
这个是mesosphere公司开源的基于Mesos的通用框架,主要是用来执行长期任务,比如web服务、db服务等。见到一个比方,觉得很贴切“marathon好比集群的init.d,需要确保其上的服务始终运行着”。当然marathon也执行运行其他框架比如hadoop。
他的主要优势在于: 提供了完整的REST API 以及多语言的CLI实现如python、java、ruby等。同时也提供了webUI。并且貌似国内有企业已经在用该框架了。我当前所在的公司就是选择的基于Marathon做的自己的SaaS服务。
Marathon有几个比较主要的概念:
约束条件:Marathon支持通过“约束条件”来限制AP
如何优雅地有效用完一本笔记本有钱的话。。买一个3w的准系统。。。然后用两年。。然后低价卖出去。。就是这样的。。。这样的话最好。。。
如何优雅地使用 Vim装逼不可取,还不如多看点书,推荐kindle去看书提升自我。
kindle特别适合看小说 看英文版本的书籍,体验超级给力 ,对眼睛的伤害可以说很低,看久了也不疲劳, 待机也不错 手感也很棒,个人推荐KPW3,日版才600多,问日版国内能不能用,回答是肯定的。亚马逊资源也是很丰富的,但是kindle对PDF的书籍支持的很不好。
kindle原系统支持azw、pdf、mobi、prc、txt格式。其中mobi、azw和prc格式支持最为优秀。 PDF如果是扫描版的,因为不是为6寸量身定做的,所以,显示会不太清晰,或者由于本身扫描效果就不太好,所以会不太清晰。如果是字太小,原系统可以考虑局部放大,多看系统下可以用智能切边功能。 txt格式支持不是太好,有可能会出现乱码或者翻页有问题。把txt格式编码另存为UTF-8的编码的效果会好点(在电脑中打开一个txt文件,点击文件→另存为→编码选择UTF-8→保存),但是建议最好是转换成mobi。
如何优雅地使用 Windows软件正版,桌面干净,花钱提配置,掌握基本的电脑使用及设置(摆脱卫士和管家)技巧即可。
语言无关类
操作系统
鸟哥的Linux私房菜 (简体)
Linux 系统高级编程
The Linux Command Line (中英文版)
Linux 设备驱动 (第三版)
深入分析Linux内核源码
UNIX TOOLBOX
Docker中文指南
Docker —— 从入门到实践
FreeRADIUS新手入门
Mac 开发配置手册
FreeBSD 使用手册
Linux 命令行(中文版)
智能系统一步步搭建物联网系统
web服务器Nginx开发从入门到精通 (淘宝团队出品)
版本控制Git教程 (本文由 @廖雪峰 创作,如果觉得本教程对您有帮助,可以去 iTunes 购买)
git – 简易指南
猴子都能懂的GIT入门
Git 参考手册
Pro Git
Git Magic
GotGitHub
Git Community Book 中文版
Mercurial 使用教程
HgInit (中文版)
沉浸式学 Git
Git-Cheat-Sheet (感谢 @flyhigher139 翻译了中文版)
GitHub秘籍
NoSQLNoSQL数据库笔谈 (PDF)
Redis 设计与实现
Redis 命令参考
带有详细注释的 Redis 3.0 代码
带有详细注释的 Redis 2.6 代码
The Little MongoDB Book
The Little Redis Book
Neo4j 简体中文手册 v1.8
Neo4j .rb 中文资源
MySQLMySQL索引背后的数据结构及算法原理
项目相关持续集成(第二版) (译言网)
让开发自动化系列专栏
追求代码质量
selenium 中文文档
Joel谈软件
约耳谈软体(Joel on Software)
Web关于浏览器和网络的 20 项须知
前端知识体系
浏览器开发工具的秘密
Chrome 开发者工具中文手册
Chrome扩展开发文档
Grunt中文文档
移动Web前端知识库
正则表达式30分钟入门教程
前端开发体系建设日记
移动前端开发收藏夹
JSON风格指南
HTTP 接口设计指北
前端资源分享(一)
前端资源分享(二)
前端代码规范 及 最佳实践
w3school教程整理
大数据大数据/数据挖掘/推荐系统/机器学习相关资源
编程艺术程序员编程艺术
每个程序员都应该了解的内存知识(译)【第一部分】
取悦的工序:如何理解游戏 (豆瓣阅读,免费书籍)
其他OpenWrt智能、自动、透明翻墙路由器教程
语言相关类 AWKawk程序设计语言
C/C++C++ 并发编程指南 (@傅海平ICT)
Linux C编程一站式学习 (宋劲杉, 北京亚嵌教育研究中心)
CGDB中文手册
100个gdb小技巧
100个gcc小技巧
ZMQ 指南
How to Think Like a Computer Scientist (中英文版)
跟我一起写Makefile(PDF)
GNU make中文手册
GNU make 指南
Google C++ 风格指南
C/C++ Primer (by @andycai)
简单易懂的C魔法
Cmake 实践 (PDF版)
C++ FAQ LITE(中文版)
C++ Primer 5th Answers
CSS/HTML学习CSS布局
通用 CSS 笔记、建议与指导
CSS参考手册
Emmet 文档
前端代码规范 (腾讯alloyteam团队)
DartDart 语言导览
FortranFortran77和90/95编程入门
Java实时 Java 系列
Apache Shiro 用户指南
使用 Eclipse 和 Java SE 6 创建独立 Web Services 应用程序
第 1 部分: Web Services 服务端应用程序
第 2 部分: Web 服务客户端应用程序
JavaServer Faces 1.2 入门
第 1 部分: 构建基本应用程序
第 2 部分: JSF 生命周期、转换、检验和阶段监听器
用 Eclipse Europa 进行 Web 开发
第 1 部分: Eclipse Java EE
第 2 部分: PHP 开发工具
第 3 部分: Ruby Development Toolkit 和 RadRails
使用 JavaServer Faces 构建 Apache Geronimo 应用程序
第 1 部分: 使用 Eclipse 和 Apache MyFaces Core 构建基本的应用程序
第 2 部分: 在 JavaServer Faces 中使用 Tomahawk
第 3 部分: 使用 ajax4jsf 添加 Ajax 功能
第 4 部分: 使用 Apache Trinidad 组件扩展 JSF
第 5 部分: 将 JSF 应用程序与 Spring 集成
Apache Geronimo 和 Spring 框架
第 1 部分: 开发方法学
第 2 部分: 构建第一个应用程序
第 3 部分: 集成 DAO 与 ORM
第 4 部分: 混合使用 Spring AOP 和 Spring Web Flow
第 5 部分: Spring MVC
第 6 部分: Spring MVC:使用 Web 视图技术
终极 mashup —— Web 服务和语义 Web
第 1 部分: 使用与组合 Web 服务
第 2 部分: 管理 Mashup 数据缓存
第 3 部分: 理解 RDF 和 RDFs
第 4 部分: 创建本体
第 5 部分: 切换 Web 服务
Jersey 2.x 用户指南
MyBatis中文文档
JavaScriptGoogle JavaScript 代码风格指南
Airbnb JavaScript 规范
JavaScript 标准参考教程(alpha)
Javascript编程指南 (源码)
javascript 的 12 个怪癖
JavaScript 秘密花园
JavaScript核心概念及实践 (PDF) (此书已由人民邮电出版社出版发行,但作者依然免费提供PDF版本,希望开发者们去购买,支持作者)
《JavaScript 模式》翻译,此书中文版有售,但是纸质书翻译的还没有这个版本翻译的好
命名函数表达式探秘 (注:原文由为之漫笔翻译,原始地址无法打开,所以此处地址为我博客上的备份)
学用 JavaScript 设计模式 (开源中国)
深入理解JavaScript系列
ECMAScript 6 入门 (作者:阮一峰)
jQuery
jQuery 解构
简单易懂的JQuery魔法
How to write jQuery plugin
Node.js
Node入门
七天学会NodeJS
Nodejs Wiki Book (繁体中文)
express.js 中文文档
koa 中文文档
使用 Express + MongoDB 搭建多人博客
Express框架
nodejs文档
Node.js 包教不包会
Learn You The Node.js For Much Win! (中文版)
Node debug 三法三例
underscore.js
Underscore.js中文文档
backbone.js
backbone.js入门教程 (PDF)
Backbone.js入门教程第二版
Developing Backbone.js Applications(中文版)
AngularJS
AngularJS最佳实践和风格指南
AngularJS中译本
AngularJS入门教程
构建自己的AngularJS
在Windows环境下用Yeoman构建AngularJS项目
zepto 简明中文手册
Sea.js
Hello Sea.js
CoffeeScript
CoffeeScript Cookbook
The Little Book on CoffeeScript中文版
ExtJS
Ext4.1.0 中文文档
Chrome扩展及应用开发
JavaScript入门教程
PHPPHP调试技术手册(PDF)
XDebug 2中文手册(译) (CHM)
PHP之道
PHP 最佳实践
PHP安全最佳实践
深入理解PHP内核
PHP扩展开发及内核应用
CodeIgniter 用户指南
Laravel4 中文文档
Laravel 入门
Symfony2中文文档 (未译完)
Phalcon中文文档(翻译进行中)
YiiBook几本Yii框架的在线教程
简单易懂的PHP魔法
swoole文档及入门教程
iOSiOS开发60分钟入门
iOS7人机界面指南
Google Objective-C Style Guide 中文版
iPhone 6 屏幕揭秘
Apple Watch开发初探
马上着手开发 iOS 应用程序
网易斯坦福大学公开课:iOS 7应用开发字幕文件
AndroidAndroid Design(中文版)
Google Android官方培训课程中文版
Android学习之路
Python小白的Python教程
简明Python教程
零基础学Python
Python 2.7 官方教程中文版
Python 3.3 官方教程中文版
深入 Python 3
PEP8 Python代码风格规范
Google Python 风格指南 中文版
Python入门教程 (PDF)
Python的神奇方法指南
笨办法学 Python (PDF版下载)
Django 文档中文版
Django 最佳实践
The Django Book 中文版
web.py 0.3 新手指南
Web.py Cookbook 简体中文版
Dive Into Python 中文版
Bottle 文档中文版 (需翻墙)
Flask 文档中文版
Jinja2 文档中文版
Werkzeug 文档中文版
Flask之旅
Introduction to Tornado 中文翻译
Python自然语言处理中文版 (感谢陈涛同学的翻译,也谢谢 @shwley 联系了作者)
Python 绘图库 matplotlib 官方指南中文翻译
Scrapy 0.25 文档
ThinkPython
RubyRuby 风格指南
Rails 风格指南
笨方法学 Ruby
Ruby on Rails 指南
Ruby on Rails 实战圣经
Ruby on Rails Tutorial 原书第 2 版 (本书网页版免费提供,电子版以 PDF、EPub 和 Mobi 格式提供购买,仅售 9.9 美元)
编写Ruby的C拓展
Ruby 源码解读
ShellShell脚本编程30分钟入门
GoGo编程基础
Go入门指南
学习Go语言 (PDF)
Go Web 编程 (此书已经出版,希望开发者们去购买,支持作者的创作)
Go实战开发 (当我收录此项目时,作者已经写完第三章,如果读完前面章节觉得有帮助,可以给作者捐赠,以鼓励作者的继续创作)
Network programming with Go 中文翻译版本
Groovy实战 Groovy 系列
LaTeX一份其实很短的 LaTeX 入门文档
一份不太简短的 LATEX 2ε 介绍 (PDF版)
LISPANSI Common Lisp 中文翻译版
LuaLua编程入门
HaskellReal World Haskell 中文版
RR语言忍者秘笈
ScalaScala课堂 (Twitter的Scala中文教程)
Effective Scala(Twitter的Scala最佳实践的中文翻译)
Scala指南
SwiftThe Swift Programming Language 中文版
PerlModern Perl 中文版
Perl 程序员应该知道的事
Prolog笨办法学Prolog
Vim中文文档
Vimscript笨方法学Vimscript 中译本
Vim中文文档
读书笔记及其它 读书笔记编译原理(紫龙书)中文第2版习题答案
把《编程珠玑》读薄
Effective C++读书笔记
Golang 学习笔记、Python 学习笔记、C 学习笔记 (PDF)
Jsoup 学习笔记
学习笔记: Vim、Python、memcached
图灵开放书翻译计划–C++、Python、Java等
蒂姆·奥莱利随笔 (由译言网翻译,电子版免费)
Octave 入门 (PDF版)
SICP 解题集
精彩博客集合
正则表达式简明参考