当前位置: 首页 >  最新文章 >  2018-03-31 最新文章

  • 一步步实现 Redis 搜索引擎
    本文只是一个采用 Redis 优化查询搜索的一个简单 Demo,和现有的开源搜索引擎相比,它更轻量,学习成本也相应低些。其次,它的一些思想与开源搜索引擎是类似的,如果再加上词语解析,也可以实现类似全文检索的功能
  • Linux 中高效编写 Bash 脚本的 10 个技巧
    Shell 脚本编程 是你在 Linux 下学习或练习编程的最简单的方式。尤其对 系统管理员要处理着自动化任务,且要开发新的简单的实用程序或工具等(这里只是仅举几例)更是必备技能。
  • 大数据搜索选开源还是商业软件?ElasticSearch 对比 Splunk
    本文就架构,功能,产品线,概念等方面就ElasticSearch和Splunk做了一下全方位的对比,希望能够大家在制定大数据搜索方案的时候有所帮助。
  • 不再迷惑,无值和 NULL 值
    在关系型数据库的世界中,无值和NULL值的区别是什么?一直被这个问题困扰着,甚至在写TSQL脚本时,心有戚戚焉,害怕因为自己的一知半解,挖了坑,贻害后来人,于是,本着上下求索,不达通幽不罢休的决心(开个玩笑),遂有此文。
  • 15位身份证补全为18位身份证算法
    身份证号码补全虽然简单,但是前提需要了解我国公民的身份证构成原理才能正确验证,今天将这个学习过程分享给大家,希望对大家有所帮助,学习是个永无止境的过程,只有不断学习才能有进步!
  • 字符串的长度,是字符数量,还是字节数量?
    大多数的字符串函数,例如charindex,substring,stuff等函数,其位置都是针对字符数量的,这使得Len函数深入人心,但是,一个Unicode字符,占用的字节数量是2Bytes,而一个普通的ASCII字符占用的字节数量是1Byte,当需要计算字符串占用的字节数量时,要如何计算字符串的长度?
  • 使用 Nmon 监控 Linux 的系统性能
    Nmon(得名于 Nigel 的监控器)是IBM的员工 Nigel Griffiths 为 AIX 和 Linux 系统开发的一款计算机性能系统监控工具。Nmon 可以把操作系统的统计数据展示在屏幕上或者存储到一份数据文件里,来帮助了解计算机资源的使用情况、调整方向和系统瓶颈。
  • 理解 Linux 的平均负载和性能监控
    本文解释 Linux 系统中最关键的管理任务之一,关于系统 / CPU 的负载和平均负载的性能监控。
  • 实现前后端分离的心得
    对目前的web来说,前后端分离已经变得越来越流行了,越来越多的企业/网站都开始往这个方向靠拢。那么,为什么要选择前后端分离呢?前后端分离对实际开发有什么好处呢?
  • 七大查找算法
    查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算。本文简单概括性的介绍了常见的七种查找算法,说是七种,其实二分查找、插值查找以及斐波那契查找都可以归为一类——插值查找。
  • 浅析 Linux 的共享内存与 tmpfs 文件系统
    POSIX共享内存与SYS V共享内存在内核都是通过tmpfs实现,但对应两个不同的tmpfs实例,相互独立。
  • 数据结构中各种树
    数据结构中有很多树的结构,其中包括二叉树、二叉搜索树、2-3树、红黑树等等。本文中对数据结构中常见的几种树的概念和用途进行了汇总,不求严格精准,但求简单易懂。
  • 带着问题学习分布式系统之数据分片
    何为数据分片(segment,fragment, shard, partition)?就是按照一定的规则,将数据集划分成相互独立、正交的数据子集,然后将数据子集分布到不同的节点上。注意,这里提到,数据分片需要按照一定的规则,不同的分布式应用有不同的规则,但都遵循同样的原则:按照最主要、最频繁使用的访问方式来分片。
  • 性能优化知多少
    最近一段时间,系统新版本要发布,在beta客户测试期间,暴露了很多问题,除了一些业务和异常问题外,其他都集中在性能上。有幸接触到这些性能调优的机会,当然要学习总结了。
  • LevelDB 实现分析
    LevelDB 是由 Google 开发的 key-value 非关系型数据库存储系统,是基于 LSM(Log-Structured-Merge Tree) 的典型实现,LSM 的原理是:当读写数据库时,首先纪录读写操作到 Op log 文件中,然后再操作内存数据库,当达到 checkpoint 时,则写入磁盘,同时删除相应的 Op log 文件,后续重新生成新的内存文件和 Op log 文件。
  • 如何最有效的编写SQL
    解决数据库级(SQL)工作上的问题,应该采用的是SET方法(整体的)而不是过程式的方法。下面来看看作者为什么这么说。
  • 如何做到“恰好一次”地传递数十亿条消息
    在分布式领域中存在着三种类型的消息投递语义,分别是:最多一次(at-most-once)、至少一次(at-least-once)和恰好一次(exactly-once)。本文作者介绍了一个利用Kafka和RocksDB来构建的“恰好一次”消息去重系统的实现原理。
  • 为什么要招老程序员?这 5 个理由或许说服你
    Josh Marinacci 是一名经历很丰富的老程序员了,他从经验、判断力、知识面的广度和深度等几个方面,阐述了为什么需要雇佣老程序员。
  • 如何理解并正确使用 MySQL 索引
    索引是存储引擎用于快速查找记录的一种数据结构,通过合理的使用数据库索引可以大大提高系统的访问性能,接下来主要介绍在MySql数据库中索引类型,以及如何创建出更加合理且高效的索引技巧。
  • DB 分库分表的基本思想和切分策略
    Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。