分类: 编程技术

Linux fork 炸弹解析,Linux Fork Bomb

Linux fork 炸弹解析,Linux Fork Bomb

:(){ :|: & };: 是一个bash函数,以 Fork Bomb 闻名,是一个拒绝服务攻击的 Linux 系统。如果你好奇地去执行了这个命令,那么赶快重启系统吧~!

代码重构的实战经验和那些坑

代码重构的实战经验和那些坑

第二年夏天,公司拿到了真实收入,我的职位变成了开发主管,公司又招了些新人,正待蓬勃发展,一切都很美好。然后我们做了一个巨大的决策失误:决定重写软件——从头开始。

你不可不知的9种Lisp语言思想

你不可不知的9种Lisp语言思想

Lisp语言诞生的时候就包含了9种新思想。其中一些我们今天已经习以为常,另一些则刚刚在其他高级语言中出现,至今还有2种是 Lisp 独有的。按照被大众接受的程度,这9种思想依次如下排列。

亚马逊工程师论各种编程语言的优缺点

亚马逊工程师论各种编程语言的优缺点

这是我写的旋风式的编程语言简介 ,我会讲C、C++、Lisp、Java、Perl (我们在亚马逊用到的所有语言)、Ruby (我就是喜欢) 和 Python,把 Python 加进来是因为 —— 好吧,你看了就知道了,现在我可不说。

程序员的好日子来自于有保障的测试

程序员的好日子来自于有保障的测试

我曾经是一个不测试主义者,因为我看不到测试的价值。然后,我试了一段时间,变得对它深信不疑。我收集了一些经验,当然还远远不够。这篇文章总结了一些我知道的以及我认为我知道的内容。

一些快速提高Android开发的脚本与技巧(终端篇)

一些快速提高Android开发的脚本与技巧(终端篇)

正所谓“工欲善其事必先利其器”,一个好的工具或者技巧能让提升工作效率,起到事半功倍的效果。在这里斗胆列出一些窃以为一些可能快速提高Android日常开发的脚本,希望可以为大家提供一些好的工具,有帮助的思路。

理解Android编译命令

理解Android编译命令

关于Android Build系统,这个话题很早就打算整理下,迟迟没有下笔,决定跟大家分享下。先看下面几条指令,相信编译过Android源码的人都再熟悉不过的。

详解Java中的注解

详解Java中的注解

在Java中,注解(Annotation)引入始于Java5,用来描述Java代码的元信息,通常情况下注解不会直接影响代码的执行,尽管有些注解可以用来做到影响代码执行。

7款应用最广泛的Linux桌面环境盘点

7款应用最广泛的Linux桌面环境盘点

多样性应该是 Linux 最好的特性之一,用户可以不断尝试各种喜欢和新鲜玩法与花样,并从中找出最适合自己的应用。无论你是 Linux 新人还是老鸟,层出不穷的应用和桌面环境可能都会让我们应接不暇,特别是尝试不同的 Linux 桌面环境,可以说是一项非常耗时和累人的任务。

使用Cookie前缀让Cookie更安全

使用Cookie前缀让Cookie更安全

就像 SameSite-cookies 我已经关注 Cookie 前缀很长时间了。通过测试我发现在最新版的 Chrome-dev 浏览器中 Cookie 前缀已经得到了支持。那么现在是时候写一短篇博客来介绍什么是 Cookie 前缀以及 Cookie 前缀是如何保护用户的。

关于WEB前端开发的思考与感悟

关于WEB前端开发的思考与感悟

最近几年对于web前端的传闻很多,比如人才稀缺,简单易学,待遇丰厚,整体势头发展良好等等。遇到过一个不太熟搞后台开发的同事跑来问我学习前端需要掌握哪些内容,也听说过一个搞IOS开发准备自学前端半个月然后要去找前端工作,也曾看到过有人对前端市场人才的稀缺这样吹捧过:

最快最简单的排序算法:桶排序

最快最简单的排序算法:桶排序

在我们生活的这个世界中到处都是被排序过的。站队的时候会按照身高排序,考试的名次需要按照分数排序,网上购物的时候会按照价格排序,电子邮箱中的邮件按照时间排序……总之很多东西都需要排序,可以说排序是无处不在。现在我们举个具体的例子来介绍一下排序算法。

独立开发者:详解3天完成的手游研发过程

独立开发者:详解3天完成的手游研发过程

首先,这款游戏是 3 天做出来的,如果你不擅长的话,可能很难理解。需要先说明的是,这个博客不是教大家如何编程、如何使用 Unity,也不是教大家如何使用 Photoshop 或者 Illustrator 的。

给Python初学者的一些技巧

给Python初学者的一些技巧

以下是我近些年收集的一些Python实用技巧和工具,希望能对你有所帮助。

iOS并发(concurrency)概念浅析

iOS并发(concurrency)概念浅析

在进行iOS开发过程中,我们常会遇到网络请求、复杂计算、数据存取等比较耗时的操作,如果处理不合理,将对APP的流畅度产生较 大影响。除了优化APP架构,并发(concurrency)是一个常用且较好的解决方法,但并发涉及串行、并发、并行、同步、异步、多线程、GCD、 NSOperation和NSOperationQueue等诸多容易混淆的概念,为求概念清晰明了,还请茗茶静坐,听我徐徐道来。

浅谈 Java 中 MongoDB NoSQL数据库使用指南

浅谈 Java 中 MongoDB NoSQL数据库使用指南

MongoDB是当今非常流行的一款NoSQL数据库,本文介绍如何使用MongoDB的Java驱动来操作MongoDB。

加快Android编译速度的一些技巧

加快Android编译速度的一些技巧

之前加快Android编译的工具相对较少,其中最具有代表性的开源项目当属FaceBook的Buck和 mmin18的LayoutCast,除此之外还有JRebel 和 Jimulabs。不过前两天google宣布推出Instant Run加快Android 编译速度,相信对其他的工具来说都是一次冲击,这也是写这篇文章的动机。

你确实应该学习并使用的 10 个 C# 特性

你确实应该学习并使用的 10 个 C# 特性

如果使用得当的话,yield 会变得非常强大。它使得你延迟生成序列中的对象,比如当系统不需要枚举整个集合的时候,可以按需停止

Twitter是如何做到每秒处理3000张图片的?

Twitter是如何做到每秒处理3000张图片的?

如今,Twitter每秒可以创建并保存3000张(20GB)的图片。2015年,Twitter甚至从对媒体存储策略的优化中节省出了600万美元。

如何选择 HTML5 游戏引擎

如何选择 HTML5 游戏引擎

原生手游市场已是红海,腾讯、网易等寡头独霸天下,H5游戏市场或将成为下一个风口。据笔者所知,很多H5游戏开发团队由于选择引擎不慎导致项目甚至团队夭折。如何选择适合团队和项目的引擎,笔者通过学习和项目实践,总结微薄经验,供大家参考,非技术人员也可以将本篇内容作为引擎选择的重要关注点。

编写高质量的代码——从命名入手

编写高质量的代码——从命名入手

不知道大家有没有这种感觉,查看一些开源项目,如Spring、Apache Common等源码是一件赏心悦目的事情?

知道这20个正则表达式,能让你少写1,000行代码

知道这20个正则表达式,能让你少写1,000行代码

正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑。熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升。下面是技匠整理的,在前端开发中经常使用到的20个正则表达式。

《神秘的程序员们》漫画44:一封邮件引发的血案

《神秘的程序员们》漫画44:一封邮件引发的血案

《神秘的程序员们》漫画44:一封邮件引发的血案

不做代码审查会怎样?

不做代码审查会怎样?

在真正的实施过程中,很多情况下并不像想象的那般美好,经常出现例如有些同学由于跟不上其他人讲解的速度(毕竟不是自己写的)或是没有相关的上下文(例如刚加入项目的新成员),或是由于提交没有被很好的切分和组织,导致整个过程都处于游离状态(就像下图中的我……毫无摆拍痕迹),而代码审查的效果也打了折扣,渐渐的变成了一个流程,一个过场, 一个习惯。

面试中的排序算法总结

面试中的排序算法总结

查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序的代码一定要信手拈来才行。还有插入排序、冒泡排序、堆排序、基数排序、桶排序等。