PHP 7.0.0 发布了!

03 Dec 2015

The PHP development team announces the immediate availability of PHP 7.0.0. This release marks the start of the new major PHP 7 series. PHP 7.0.0 comes with a new version of the Zend Engine, numerous improvements and new features such as
  • Improved performance: PHP 7 is up to twice as fast as PHP 5.6
  • Significantly reduced memory usage
  • Abstract Syntax Tree
  • Consistent 64-bit support
  • Improved Exception hierarchy
  • Many fatal errors converted to Exceptions
  • Secure random number generator
  • Removed old and unsupported SAPIs and extensions
  • The null coalescing operator (??)
  • Return and Scalar Type Declarations
  • Anonymous Classes
  • Zero cost asserts
For source downloads of PHP 7.0.0 please visit our downloads page, Windows binaries can be found onwindows.php.net/download/. The list of changes is recorded in the ChangeLog. The migration guide is available in the PHP Manual. Please consult it for the detailed list of new features and backward incompatible changes. The inconvenience of the release lateness in several time zones is caused by the need to ensure the compatibility with the latest OpenSSL 1.0.2e release. Thanks for the patience! It is not just a next major PHP version being released today. The release being introduced is an outcome of the almost two years development journey. It is a very special accomplishment of the core team. And, it is a result of incredible efforts of many active community members. Indeed, it is not just a final release being brought out today, it is the rise of a new PHP generation with an enormous potential. Congratulations everyone to this spectacular day for the PHP world! Grateful thanks to all the contributors and supporters!
]]>

创业剧本

< ![CDATA[

作者:Sam Altman · 插图:Gregory Koberger

我们花了很多时间在为创业团队提供建议。尽管一对一的建议会一直很重要,但是我们认为对广泛建议进行提炼,并提供给 YC 和 YC 旗下公司会有助于 YC 的成长。所以我们觉得我们需要把这些都公开给大家。
本剧本适合且只适合刚来到创业世界的人阅读。本剧本大部分内容对于已阅读过我们的合伙人所写的东西的人来说已不新鲜 — 本剧本的目的就是将内容做成合集。关于如何规模化一家创业公司的说明或许会有第二部分 — 但本剧本已基本覆盖了创业起步的部分。
作为一家创业公司,你的目标就是做一些用户喜欢的东西。如果你要做的话,接下来你还需要考虑如何得到更多用户。但是这第一部分是非常关键的 — 思考下今天非常成功的公司吧。他们都开始于一个非常受用户欢迎且用户自愿为其宣传的产品。如果你在这个部分失败了,你就永远失败了。如果你欺骗你自己,认为你的用户喜欢你的产品但实际上他们不喜欢,你仍然会失败。
创业公司坟墓里充斥着这类自认为他们可以跳过此步的人。
打造一个受一小群用户热爱的产品会比打造一个受很多用户喜欢(请注意”喜欢”与”热爱”的区别)的产品更好。尽管”一小群热爱”和”一大群喜欢”看起来的积极感觉一样多,但比起后者需要将用户从”喜欢”转化为”热爱”,前者获取更多用户会很简单。
如果要用一个词汇来警告一个准备创业的人:(你的产品)弱爆了!我们从 YC 创业者中收集到的最一致的一条反馈是,创业是他们无法想象的难,因为他们没有一个针对此工作和启动强度的框架。加入一家正在火箭飞船轨道上高速发展的创业公司是更为明智的选择。
在另一方面,实际上创建一个创业公司并不会对你的职业生涯产生很多威胁 — 如果你非常善于技术的话,失败了还会找到工作。大部分人非常不善于评估风险。我个人认为更为危险的是你有一个自己非常热衷的想法和产品,但你仍然待在一个安全,舒适,不过瘾的工作岗位上。
为了创业成功,你需要有:一个好想法(包括一个好市场),一个好团队,一个好产品,和强大的执行。

继续阅读“创业剧本”

程序员的奋斗史——项目管理

2015-09-21_55ff908e122ed 对项目管理者来说,如何提高团队的凝聚力和战斗力很重要。疏于管理、不团结的团队就像是一盘散沙,毫无战斗力可言。所以管理者一方面要监督项目的进度,另一方面要在项目的凝聚力、和谐程度多下功夫。 如何让你手下的人都服你,如何让手下的人都一心一意地为你做事,这是一门艺术,需要长时间管理经验的积累。我认为应该以理服人,以德服人,而不是采取非常强硬、死板的管理方式。项目管理归根到底是对自己的管理和为人处事。平时要多注重自我形象、言行举止,以自我作表率,你是什么样,你手下的人就是什么样。一个人会不会做人,会不会处事,对自己以后的发展起了很大的作用。 如何让手下的人做事高效,这就需要管理好时间。高效的做事归根到底是时间的管理,而对于时间的管理有可推广到对自我的管理。 项目管理是门艺术,需要走的路还很长。]]>

法制转折中的邓小平 ——从“开会治国”到“依法治国”

< ![CDATA[ 289E5E013A8A2D1C873D5E4E1EB33923 邓小平1978年在全国政协第五届委员会第一次会议上发表讲话。 今年是邓小平诞辰110周年,央视正在热播《历史转折中的邓小平》,展现邓小平在1976~1984年间所做的一系列重大改革举措。 作为第二代领导集体的核心,邓小平在这个重大历史转折时期,也促成了历史的重大转向,让这个拥有近10亿人口的国家得以从“文革”造成的满目疮痍中回归正常。 知名法学家李步云以1978为分割点,将中国分为两段:建国到1978年为“社会主义的人治”时期;1978年后“开始了依法治国的历史性进程”。 而让我国摆脱通过开会、决议方式进行的“人治”,逐步走上“依法治国”正轨的,正是“历史转折中的邓小平”。 继续阅读“法制转折中的邓小平 ——从“开会治国”到“依法治国””

贺卫方:复转军人进法院(转)

< ![CDATA[

说明:听说这一篇文章已经很长时间了,不知道什么原因,种种原因最近成了贺卫方教授的粉丝,顺便的一个学物理学教育的、计算机的程序员最近开始对法律产生了兴趣。所以,之后会多转载一些有关司法的文章或论点。
两年前,我应邀给某省法官培训班讲课,内容是中国与西方司法制度和司法观念的零星比较。讲课过程中,我表达了对我们国家在选任法官方面一种惯例的不理解:为什么长期以来总是理所当然地把每年从军队复员转业的许多人员安置到法院中?为什么不要求医院安置他们?
问题提得似乎有些突兀,也许听课的法官们压根儿就没有把它当成问题,也许在他们看来拿法院跟医院相类比本身便很不伦:这怎么能比呢!医生是人命关天的职业,没有受过专门的训练就给人把脉看病开处方,岂不是江湖骗子?更不消说拿着手术刀的外科医生,什么都不懂,乱割一气,真正是拿人命当儿戏!——我从听众的表情读出了这样的质疑。 继续阅读“贺卫方:复转军人进法院(转)”

国无常强,无常弱。奉法者强,则国强;奉法者弱,则国弱。

人民日报:依法治网要警惕“歪嘴和尚” “两高”的司法解释,既是“授权”,也是“限权”,目的是告别依靠个人意志、行政命令的管控,将“依法治网”进一步纳入“依法治国”的框架 发帖少年先抓后放,公安局长竟是有案在身——几天来,甘肃“张家川事件”正在出现戏剧性续集。尽管当地政府表示公安局长的被停职与“少年发帖案”并无关联,然而,这前后几天的抓抓放放,无疑在消解政府公信力,而公安局长被举报、停职,也验证了一个说法,“打铁先要自身硬”。一个自身都犯法的执法者,很难让人相信,不会在其他事件上继续冒犯法律的尊严。 在许多人看来,“张家川事件”之所以成为舆论焦点,除了对被拘未成年人的同情,更多地还与“两高”刚刚出台的打击网络不法行为的司法解释有关。作为这一解释施行后新近发生的一起相关案件,其处理结果如何,社会关注度较高。遗憾的是,张家川遭遇的这“第一只螃蟹”,把少数执法人员自己的嘴扎出了血。 被拘留少年杨某事后表示,今后在网络发言“要经过大脑思考,不能太情绪化”,这让人欣慰。毕竟,没有犯罪不等于没有违法,没有违法也不等于没有错误。这也是孩子应该记取的教训。而对于当地执法者来说,在汹汹抓人、匆匆放人之后,又有哪些教训值得记取? 民间有个说法,“经是好经,可惜让歪嘴和尚给念歪了。”“两高”司法解释明确了网络诽谤、寻衅滋事等不法行为的适用条件,对一些法律模糊地带做了清晰界定,具有很强的现实针对性。它既是“授权”,也是“限权”,目的是告别依靠个人意志、行政命令的管控,将“依法治网”进一步纳入“依法治国”的框架。但少数地方的少数执法者未能准确把握这一解释的精神实质,滥用法律赋予的权力,甚至将其作为拒绝舆论监督的手段。这样的做法无疑是十分错误的。 没有政府的法治化,不可能有国家和社会的法治化。古人说得好,“奉法者强则国强,奉法者弱则国弱。”对于执法者而言,要求别人守法,自己先要守法;要求别人做到的,自己先要做到。试想一下,如果执法者心无敬畏、目无法律,人们的法治信仰如何建立?如果执法者刻意曲解法律、甚至以法律名义践踏法律,执法者的权威公信又从何谈起?这也是为什么几名上海法官集体嫖娼事件会让全社会如此震惊痛斥,更是为什么党的十八大强调“法治思维和法治方式”,为什么习近平总书记告诫“执法者必须忠实于法律”。 在不少公共事件中,我们看到一些地方先是自信满满,后是灰头土脸;先是无所忌惮,后是紧急灭火,对党和政府的公信力造成伤害。究其原因,不外乎在“土皇帝思维”的左右下,要么无视法律、要么曲解法律。在这个意义上,依法行政是执法者自身守法、公正审慎的必然要求,这是提升执政能力的重要一步,也才是真正对党和政府的公信力负责。 《 人民日报 》( 2013年09月25日 05 版)]]>

钱钢:谁要给“司法独立”判死刑?

< ![CDATA[中国大陆正陷入有关“司法独立”的话语错乱。在中共18届4中全会精神的宣传中,出现了多篇批判“司法独立”的文章。最近的一次在 1月7日,百余网站同时以《张春贤:我们的法治不能走西方“司法独立”的路子》(原标题为:《全面推进依法治疆》)为题,转发了这位政治局委员、新疆自治区书记在人民日报的专论。此文一出,网络哗然。改革开放30多年来,“司法独立”一直是正面口号,现在要推翻此说,重回老路吗? 继续阅读“钱钢:谁要给“司法独立”判死刑?”

SQLBulkCopy using C#.NET

SQLBulkCopy using C#.NET Lets create a table to hold the data: CREATE TABLE [dbo].[tbl_BulkCopy] ( [ID] [int] IDENTITY(1,1) NOT NULL, [Column1] [varchar](100) NOT NULL, [Column2] [varchar](100) NOT NULL ); Now lets work on the C#.Net code behind file. We need to add a reference to the following namespace: using System.Data.SqlClient; using System.Configuration; System.Configuration namespace reference is required if you are trying to read config key value. Creating a sample method loadData() to implement the SqlBulkCopy functionality. void loadData() { string strConnString =   ConfigurationManager.ConnectionStrings[“DBConn”].ToString(); DataTable oDataTable = new DataTable(); oDataTable.Columns.Add(new DataColumn(“Column1”, typeof(string)); oDataTable.Columns.Add(new DataColumn(“Column2”, typeof(string)); for(int i=0;i<50000;i++) { DataRow oDataRow = oDataTable.NewRow(); oDataRow[“Column1”] = “column1_”+i.ToString(); oDataRow[“Column2”] = “column2_”+i.ToString(); oDataTable.Rows.Add(oDataRow); } using(SqlBulkCopy oSqlBulkCopy=new SqlBulkCopy(strConnString)) { oSqlBulkCopy.BatchSize=10000; oSqlBulkCopy.BulkCopyTimeout = 10000; oSqlBulkCopy.ColumnMappings.Add(“column1″,”column1”); oSqlBulkCopy.ColumnMappings.Add(“column2″,”column2″); oSqlBulkCopy.DestinationTableName=”tbl_BulkCopy”; oSqlBulkCopy.WriteToServer(oDataTable); } } loadData() method can be called on any Button click method to save the data.]]>