值得考虑的 9 个开源 ERP 系统 (linux.cn)
有一些使用灵活、功能丰富而物有所值的开源 ERP 系统,这里有 9 个值得你看看。


拥有一定数量员工的企业就需要大量的协调工作,包括制定价格、计划生产、会计和财务、管理支出、管理存货等等。把一套截然不同的工具拼接到一起去处理这些工作,是一种粗制滥造和无价值的做法。
那种方法没有任何弹性。并且那样在各种各样的自组织系统之间高效移动数据是非常困难的。同样,它也很难维护。
因此,大多数成长型企业都转而使用一个 企业资源计划 (ERP)系统。
在这个行业中的大咖有 Oracle、SAP、以及 Microsoft Dynamics。它们都提供了一个综合的系统,但同时也很昂贵。如果你的企业支付不起如此昂贵的大系统,或者你仅需要一个简单的系统,怎么办呢?你可以使用开源的产品来作为替代。
一个 ERP 系统中有什么东西
显然,你希望有一个满足你需要的系统。基于那些需要,更多的功能并不意味着就更好。但
by @技术头条 2018-06-28 12:09 查看详情
IPython学习之魔法命令 (www.biaodianfu.com)
IPython提供了许多魔法命令,使得在IPython环境中的操作更加得心应手。魔法命令都以%或者%%开头,以%开头的成为行命令,%%开头的称为单元命令。行命令只对命令所在的行有效,而单元命令则必须出现在单元的第一行,对整个单元的代码进行处理。
by @技术头条 2018-06-28 12:09 查看详情
学习用 Thonny 写代码: 一个面向初学者的Python IDE (linux.cn)
学习编程很难。即使当你最终怎么正确使用你的冒号和括号,但仍然有很大的可能你的程序不会如果所想的工作。 通常,这意味着你忽略了某些东西或者误解了语言结构,你需要在代码中找到你的期望与现实存在分歧的地方。

程序员通常使用被叫做调试器debugger的工具来处理这种情况,它允许一步一步地运行他们的程序。不幸的是,大多数调试器都针对专业用途进行了优化,并假设用户已经很好地了解了语言结构的语义(例如:函数调用)。

Thonny 是一个适合初学者的 Python IDE,由爱沙尼亚的 Tartu 大学 开发,它采用了不同的方法,因为它的调试器是专为学习和教学编程而设计的。

虽然 Thonny 适用于像小白一样的初学者,但这篇文章面向那些至少具有 Python 或其他命令式语言经验的读者。
by @技术头条 2018-06-28 12:07 查看详情
如何在 Linux 和 Windows 之间共享文件? (linux.cn)
用一些来自 Linux 社区的工具,在 Linux 和 Windows 之间共享文件是超容易的。让我们看看可以做这件事的两种不同方法。

现代很多人都在混合网络上工作,Linux 和 Windows 系统都扮演着重要的结束。在两者之间共享文件有时是非常关键的,并且使用正确的工具非常容易。只需很少的功夫,你就可以将文件从 Windows 复制到 Linux 或从 Linux 到 Windows。在这篇文章中,我们将讨论配置 Linux 和 Windows 系统所需的东西,以允许你轻松地将文件从一个操作系统转移到另一个。
by @技术头条 2018-06-28 12:07 查看详情
CSS CSS3实现3D开门动画效果 (www.zhangxinxu.com)
本文展示了2个自己写的酷酷的3D开门动画效果,然后顺便介绍了3D动画实现的一些相关技巧。本文有demo,有视频效果展示,还有必要的源代码讲解,希望本文的内容能够对您的学习有所帮助。
by @技术头条 2018-06-28 12:06 查看详情
truncate table 无论drop storage还是reuse storage不影响数据恢复 (www.xifenfei.com)
今天有朋友咨询,truncate table有drop storage和reuse storage方式,是否影响后续的数据恢复(在没有其他覆盖的情况下),我做了一个简单的测试证明,这些都不影响truncate table的数据库恢复。
by @技术头条 2018-06-28 12:06 查看详情
分布式事务- 二阶段协议 (ifeve.com)
在单个数据库实例时候,我们可以在一个数据源的事务(本地事务)内做多步数据库操作,在事务内的多个操作要么全部执行生效,要么全部不生效。在多数据实例节点时候,我们对多个实例的数据源进行操作时候就没办法把多个操作放到一个大的事务内来保证原子性了,因为多个实例操作的是不同的数据源,而数据库自带的事务是针对单个数据源来说的。
by @技术头条 2018-06-28 12:06 查看详情
JavaScript 中有用的 Array 和 Object 方法 (www.css88.com)
我收听了一个很棒的语法FM播客,它总结了有用的JavaScript 数组和对象方法。这些方法可以帮助开发人员编写干净而且可读性高的代码。许多这样的方法可以减少像Lodash这样的实用程序库的依赖。

本文中的所有方法都是可链式调用的,这意味着它们可以相互结合使用,而且它们也不会发生数据突变,这在使用React时尤其重要。 使用所有这些数组和对象的方法,你将发现再也不需要再进行 for 或 while 循环来达到目的了。
by @技术头条 2018-06-28 12:06 查看详情
Guava 源码分析之Cache的实现原理 (ifeve.com)
Google 出的 Guava 是 Java 核心增强的库,应用非常广泛。

我平时用的也挺频繁,这次就借助日常使用的 Cache 组件来看看 Google 大牛们是如何设计的。

本次主要讨论缓存。缓存在日常开发中举足轻重,如果你的应用对某类数据有着较高的读取频次,并且改动较小时那就非常适合利用缓存来提高性能。

缓存之所以可以提高性能是因为它的读取效率很高,就像是 CPU 的 L1、L2、L3 缓存一样,级别越高相应的读取速度也会越快。

但也不是什么好处都占,读取速度快了但是它的内存更小资源更宝贵,所以我们应当缓存真正需要的数据。其实也就是典型的空间换时间。下面谈谈 Java 中所用到的缓存。
by @技术头条 2018-06-28 12:05 查看详情
Java 使用 happen-before 规则实现共享变量的同步操作 (ifeve.com)
熟悉 Java 并发编程的都知道,JMM(Java 内存模型) 中的 happen-before(简称 hb)规则,该规则定义了 Java 多线程操作的有序性和可见性,防止了编译器重排序对程序结果的影响。按照官方的说法:

当一个变量被多个线程读取并且至少被一个线程写入时,如果读操作和写操作没有 HB 关系,则会产生数据竞争问题。 要想保证操作 B 的线程看到操作 A 的结果(无论 A 和 B 是否在一个线程),那么在 A 和 B 之间必须满足 HB 原则,如果没有,将有可能导致重排序。 当缺少 HB 关系时,就可能出现重排序问题。
by @技术头条 2018-06-28 12:05 查看详情
如何在 Linux 中使用 history 命令 (linux.cn)
用强大的 history 命令使你的命令行提示符更有效率。

随着我在终端中花费越来越多的时间,我感觉就像在不断地寻找新的命令,以使我的日常任务更加高效。GNU 的 history 命令是一个真正改变我日常工作的命令。

GNU history 命令保存了从该终端会话运行的所有其他命令的列表,然后允许你重放或者重用这些命令,而不用重新输入它们。如果你是一个老玩家,你知道 history 的力量,但对于我们这些半吊子或新手系统管理员来说, history 是一个立竿见影的生产力增益。
by @技术头条 2018-06-27 11:01 查看详情
如何使用树莓派制作一个数字针孔摄像头 (linux.cn)
学习如何使用一个树莓派 Zero、高清网络摄像头和一个空的粉盒来搭建一个简单的相机。


在 2015 年底的时候,树莓派基金会发布了一个让大家很惊艳的非常小的 树莓派 Zero。更夸张的是,他们随 MagPi 杂志一起 免费赠送。我看到这个消息后立即冲出去到处找报刊亭,直到我在这一地区的某处找到最后两份。实际上我还没有想好如何去使用它们,但是我知道,因为它们非常小,所以,它们可以做很多全尺寸树莓派没法做的一些项目。
by @技术头条 2018-06-26 15:50 查看详情
系列 - 树莓派外接蓝牙音箱(四) (www.barretlee.com)
花了好几个小时来回折腾,完成了这个实验性的小玩具,生活中我肯定不会用它,因为它过于简陋。这里我还给自己加了一道拓展题,如何识别多次按钮点击,然后根据点击的次数执行不同任务,结果写出来的程序,当按钮按下时,系统总是奔溃,就没有继续了,感兴趣的读者可以尝试下
by @技术头条 2018-06-26 15:50 查看详情
系列 - 认识树莓派 GPIO(三) (www.barretlee.com)
树莓派除了有 USB、网口、HDMI 等常见的接口外,还提供了 GPIO(General Purpose Input/Output)接口,通过这个接口,我们可以很方便的控制电子元器件。本文不去分析 I2C、UART、SPI 这些略复杂的通讯协议,只去看 GPIO 在引脚上的输入和输出,以及高低点位的变化。
by @技术头条 2018-06-26 15:49 查看详情
系列 - 树莓派装机(二) (www.barretlee.com)
本节将给大家介绍,如何从树莓派上进入到自己熟悉的远程开发模式。
by @技术头条 2018-06-26 15:49 查看详情
系列 - 入坑树莓派(一) (www.barretlee.com)
树莓派,是一款基于 Linux 的单板机,配上一些可交互的硬件设备(扩展屏、鼠标、键盘等),也就成了一款配置略低的电脑。
by @技术头条 2018-06-26 15:48 查看详情
png的故事:隔行扫描算法 (www.alloyteam.com)
之前讲解过如何解析一张png图片,然而对于扫描算法里只是说明了逐行扫描的方式。其实png还支持一种隔行扫描技术,即Adam7隔行扫描算法。

使用隔行扫描有什么好处呢?如果大家有去仔细观察的话,会发现网络上有一些png图在加载时可以做到先显示出比较模糊的图片,然后逐渐越来越清晰,最后显示出完整的图片。
by @技术头条 2017-12-24 20:04 查看详情
使用 Go 一年的体验 (linux.cn)
我们公司 Mobile Jazz 从一个内部试验性项目开始使用 Go。如公司名暗示的那样,我们是开发移动应用的。

在发布一个应用给公众后,我们很快意识到我们缺失一个工具来检查用户实际发生的情况以及他们是如何与应用交互的 - 如果有任何问题或者 bug 的报告,这将会相当方便。

现在有几款工具声称能在这个方面帮助开发者,但是没有一个能完全满足要求,因此我们决定自己构建一个。我们开始创建一组基础的脚本,如今它很快进化成了完整的工具,称为 Bugfender!

由于这最初是一个实验,我们决定使用一种新的趋势技术。对学习以及持续教育的热爱是 Mobile Jazz 的核心价值的之一,因此我们决定使用 Go 构建。这是一个由 Google 开发的相对较新的编程语言。它是编程世界的的新玩家,已经有许多受尊敬的开发者对它赞不绝口。
by @技术头条 2017-12-24 20:00 查看详情
Hugo 对比 Jekyll :两大领先的静态页面生成器之间的比较 (linux.cn)
如果你正在建一个新的网站,静态页面生成器或许是个正确的选择。

除非你是像艾米莉·狄金森那样深居简出的人,否则,当做了点事情后,你就会想要与这个世界分享。分享你的作品意味着需要一个网站。当然,你可以只是享受数字时代的便利,使用任何不同的社交网站来将你的作品呈现在观众面前。还有很多选择,不仅仅是传统的社交网站,例如 Artstation、Flickr、Soundcloud、Wattpad,不管你的媒介是什么,总有一款属于你的网站。

实际上,你应该使用这些网站,毕竟,人们都在这些网站上。然而,没有一个地方是真正属于你的。没有一个网站是你能保证不管社交趋势如何,人们都能在该网站上找到你的作品的。
by @技术头条 2017-12-24 19:59 查看详情
【死磕Java并发】—–J.U.C之ConcurrentHashMap红黑树转换分析 (cmsblogs.com)
先看红黑树的基本概念:红黑树是一课特殊的平衡二叉树,主要用它存储有序的数据,提供高效的数据检索,时间复杂度为O(lgn)。红黑树每个节点都有一个标识位表示颜色,红色或黑色,具备五种特性:

每个节点非红即黑
根节点为黑色
每个叶子节点为黑色。叶子节点为NIL节点,即空节点
如果一个节点为红色,那么它的子节点一定是黑色
从一个节点到该节点的子孙节点的所有路径包含相同个数的黑色节点

请牢记这五个特性,它在维护红黑树时选的格外重要
by @技术头条 2017-12-24 19:58 查看详情